diff --git a/www/js/zui3/zen-editor/index.esm.js b/www/js/zui3/zen-editor/index.esm.js index 4ef650f2f1..3761589056 100644 --- a/www/js/zui3/zen-editor/index.esm.js +++ b/www/js/zui3/zen-editor/index.esm.js @@ -1 +1 @@ -export{M as MonacoEditor,Z as ZenEditor}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; \ No newline at end of file +export{M as MonacoEditor,Z as ZenEditor}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-3ed11fa8.js b/www/js/zui3/zen-editor/p-13db32d1.js similarity index 97% rename from www/js/zui3/zen-editor/p-3ed11fa8.js rename to www/js/zui3/zen-editor/p-13db32d1.js index 767654bba1..0543feea51 100644 --- a/www/js/zui3/zen-editor/p-3ed11fa8.js +++ b/www/js/zui3/zen-editor/p-13db32d1.js @@ -1,4 +1,4 @@ -import{m as e}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{m as e}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) diff --git a/www/js/zui3/zen-editor/p-43aeda09.js b/www/js/zui3/zen-editor/p-32ead016.js similarity index 99% rename from www/js/zui3/zen-editor/p-43aeda09.js rename to www/js/zui3/zen-editor/p-32ead016.js index 8261657b25..cbcd83a177 100644 --- a/www/js/zui3/zen-editor/p-43aeda09.js +++ b/www/js/zui3/zen-editor/p-32ead016.js @@ -1,4 +1,4 @@ -import{m as e}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{m as e}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) diff --git a/www/js/zui3/zen-editor/p-13f3e58d.js b/www/js/zui3/zen-editor/p-38bd6d84.js similarity index 90% rename from www/js/zui3/zen-editor/p-13f3e58d.js rename to www/js/zui3/zen-editor/p-38bd6d84.js index c48a74ca11..696c71139a 100644 --- a/www/js/zui3/zen-editor/p-13f3e58d.js +++ b/www/js/zui3/zen-editor/p-38bd6d84.js @@ -1,4 +1,4 @@ -import{r as t,f as i,h as e,F as s,g as n,c as o,H as r}from"./p-1f29e0e0.js";const h={en:{"menu.source":"Source Code Mode","menu.align.left":"Align Left","menu.align.center":"Center","menu.align.right":"Align Right","menu.align.justify":"Justify","menu.font.family":"Font Family","menu.font.family.sansserif":"Sans-serif","menu.font.family.serif":"Serif","menu.font.family.cursive":"Cursive","menu.font.family.monospace":"Monospace","menu.font.size":"Font Size","menu.font.size.format.px":"{0}px","menu.font.weight.bold":"Bold","menu.font.italic":"Italic","menu.font.decoration.underline":"Underline","menu.font.decoration.strike":"Strike","menu.font.highlight":"Highlight","menu.font.color":"Text Color","menu.font.color.crimson":"Crimson","menu.font.color.deeppink":"Deep Pink","menu.font.color.darkorange":"Dark Orange","menu.font.color.darkviolet":"Dark Violet","menu.font.color.forestgreen":"Forest Green","menu.font.color.royalblue":"Royal Blue","menu.font.color.saddlebrown":"Saddle Brown","menu.font.color.dimgray":"Dim Gray","menu.font.color.none":"Clear Color","menu.link":"Link","menu.link.remove":"Unlink","menu.line.spacing":"Line Spacing","menu.line.spacing.format":"{0}x","menu.heading":"Heading","menu.heading.1":"Heading 1","menu.heading.2":"Heading 2","menu.heading.3":"Heading 3","menu.heading.4":"Heading 4","menu.paragraph":"Paragraph","menu.code":"Code","menu.code.block":"Code Block","menu.list.bullet":"Bullet List","menu.list.ordered":"Ordered List","menu.list.task":"Task List","menu.image":"Image","menu.quote":"Blockquote","menu.hr":"Horizontal Rule","menu.table":"Table","menu.table.cell.merge":"Merge Table Cells","menu.table.row.insert.before":"Insert Table Row Before","menu.table.row.insert.after":"Insert Table Row After","menu.table.column.insert.before":"Insert Table Column Before","menu.table.column.insert.after":"Insert Table Column After","menu.table.row.remove":"Delete Table Row","menu.table.column.remove":"Delete Table Column","menu.table.remove":"Delete Table","menu.format.clear":"Clear Format","menu.undo":"Undo","menu.redo":"Redo","menu.fullscreen":"Toggle Fullscreen","error.fullscreen.enter":"Unable to enter fullscreen: {0} ({1})","error.fullscreen.exit":"Unable to exit fullscreen: {0} ({1})"},zh:{"menu.source":"源码模式","menu.align.left":"左对齐","menu.align.center":"居中","menu.align.right":"右对齐","menu.align.justify":"两端对齐","menu.font.family":"字体","menu.font.family.sansserif":"无衬线体","menu.font.family.serif":"衬线体","menu.font.family.cursive":"手写体","menu.font.family.monospace":"等宽体","menu.font.size":"字号","menu.font.size.format.px":"{0}px","menu.font.weight.bold":"加粗","menu.font.italic":"斜体","menu.font.decoration.underline":"下划线","menu.font.decoration.strike":"删除线","menu.font.highlight":"高亮","menu.font.color":"字体颜色","menu.font.color.crimson":"深红","menu.font.color.deeppink":"深粉","menu.font.color.darkorange":"深橙","menu.font.color.darkviolet":"深紫","menu.font.color.forestgreen":"森绿","menu.font.color.royalblue":"皇蓝","menu.font.color.saddlebrown":"鞍棕","menu.font.color.dimgray":"暗灰","menu.font.color.none":"无","menu.link":"链接","menu.link.remove":"移除链接","menu.line.spacing":"行间距","menu.line.spacing.format":"{0} 倍","menu.heading":"标题","menu.heading.1":"标题 1","menu.heading.2":"标题 2","menu.heading.3":"标题 3","menu.heading.4":"标题 4","menu.paragraph":"段落","menu.code":"代码","menu.code.block":"代码块","menu.list.bullet":"无序列表","menu.list.ordered":"有序列表","menu.list.task":"任务列表","menu.image":"图片","menu.quote":"引用","menu.hr":"分割线","menu.table":"表格","menu.table.cell.merge":"合并单元格","menu.table.row.insert.before":"在上方插入表格行","menu.table.row.insert.after":"在下方插入表格行","menu.table.column.insert.before":"在左侧插入表格列","menu.table.column.insert.after":"在右侧插入表格列","menu.table.row.remove":"删除表格行","menu.table.column.remove":"删除表格列","menu.table.remove":"删除表格","menu.format.clear":"清除格式","menu.undo":"撤销","menu.redo":"重做","menu.fullscreen":"全屏","error.fullscreen.enter":"无法进入全屏: {0} ({1})","error.fullscreen.exit":"无法退出全屏: {0} ({1})"}},c=new class{constructor(){this.locale=this.guessLocale(),this.localeData=new Map(Object.entries(h[this.locale]))}guessLocale(){const t=document.documentElement.lang.split("-")[0].toLowerCase();return t in h?t:"en"}setLocale(t){"string"==typeof t?(this.locale=t,this.localeData=new Map(Object.entries(h[this.locale]))):(this.locale="custom",this.localeData=new Map(Object.entries(t)))}getLocale(){return this.locale}format(t,...i){var e;return(null===(e=this.localeData.get(t))||void 0===e?void 0:e.replace(/{(\d+)}/g,((t,e)=>void 0!==i[e]?i[e]:t)))||t}getString(t){return this.localeData.get(t)||t}},a=class{constructor(i){t(this,i),i.$hostElement$["s-ei"]?this.internals=i.$hostElement$["s-ei"]:(this.internals=i.$hostElement$.attachInternals(),i.$hostElement$["s-ei"]=this.internals),this.updateInputValue=()=>{const t=this.editor.getHTML().replace(/

<\/p>$/,"");this.value=t,this.internals.setFormValue(t)},this.toggleFullscreen=()=>{Boolean(document.fullscreenElement)?document.exitFullscreen().then((()=>{})).catch((t=>{alert(c.format("error.fullscreen.exit",t.message,t.name))})):this.element.requestFullscreen().then((()=>{})).catch((t=>{alert(c.format("error.fullscreen.enter",t.message,t.name))}))},this.handleEditorDidLoad=t=>{this.editor=t.detail,this.updateInputValue()},this.name="",this.uploadUrl="",this.placeholder="",this.fullscreenable=!1,this.resizable=!1,this.exposeEditor=!1,this.size="sm",this.hideMenubar=void 0,this.menubarMode="full",this.bubbleMenu=!1,this.locale=void 0,this.css=void 0,this.collaborative=!1,this.hocuspocus="",this.docName="",this.username="",this.userColor="#ffcc00",this.value=void 0,this.editor=null,this.isFullscreen=!1,this.rendered=!1}setHTML(t,i=!0){if(i){const i=`${t}`,e=(new window.DOMParser).parseFromString(i,"text/html").body;e.querySelectorAll("br").forEach((t=>{t.remove()})),t=e.innerHTML}return this.editor.chain().setContent(t).run(),this.updateInputValue(),Promise.resolve()}getHTML(){return Promise.resolve(this.editor.getHTML())}getText(){return Promise.resolve(this.editor.getText())}focusEditor(){return Promise.resolve(this.editor.commands.focus())}blurEditor(){return Promise.resolve(this.editor.commands.blur())}onCSSChange(){Boolean(this.css)&&(Boolean(this.styles)||(this.styles=new CSSStyleSheet),this.styles.replaceSync(this.css),i(this))}componentWillLoad(){Boolean(this.css)&&(this.styles=new CSSStyleSheet,this.styles.replaceSync(this.css))}componentDidRender(){this.rendered||(this.rendered=!0)}componentDidLoad(){Boolean(this.styles)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles]),this.element.addEventListener("fullscreenchange",(()=>{this.isFullscreen=Boolean(document.fullscreenElement)}))}render(){var t,i;return"full"===this.size&&(this.resizable=!1),e(s,null,Boolean(this.editor)?null:e("div",{class:`editor-skeleton ${this.size}`}),this.rendered&&e("zen-editor-core",{name:this.name,uploadUrl:this.uploadUrl,placeholder:this.placeholder,resizable:this.resizable,exposeEditor:this.exposeEditor,size:this.size,hideMenubar:this.hideMenubar,menubarMode:this.menubarMode,bubbleMenu:this.bubbleMenu,locale:this.locale,collaborative:this.collaborative,hocuspocus:this.hocuspocus,docName:this.docName,username:this.username,userColor:this.userColor,updateInputValue:this.updateInputValue,toggleFullscreen:this.toggleFullscreen,fullscreenable:this.fullscreenable,isFullscreen:this.isFullscreen,onEditorDidLoad:this.handleEditorDidLoad,styles:this.styles,initialContent:null===(t=this.element.querySelector('[slot="content"]'))||void 0===t?void 0:t.innerHTML,extraMenubarItems:null===(i=this.element.querySelector('[slot="menubar-items"]'))||void 0===i?void 0:i.innerHTML,value:this.value,style:{display:Boolean(this.editor)?"block":"none"}}))}static get formAssociated(){return!0}get element(){return n(this)}static get watchers(){return{css:["onCSSChange"]}}};function l(t,i=0){return t[t.length-(1+i)]}function u(t,i,e=((t,i)=>t===i)){if(t===i)return!0;if(!t||!i)return!1;if(t.length!==i.length)return!1;for(let s=0,n=t.length;s0))return s;o=s-1}}return-(n+1)}(t.length)}function f(t,i,e){if((t|=0)>=i.length)throw new TypeError("invalid index");const s=i[Math.floor(i.length*Math.random())],n=[],o=[],r=[];for(const t of i){const i=e(t,s);i<0?n.push(t):i>0?o.push(t):r.push(t)}return t!!t))}function v(t){let i=0;for(let e=0;e0}function k(t,i=(t=>t)){const e=new Set;return t.filter((t=>{const s=i(t);return!e.has(s)&&(e.add(s),!0)}))}function x(t,i){return t.length>0?t[0]:i}function C(t,i){let e="number"==typeof i?t:0;"number"==typeof i?e=t:(e=0,i=t);const s=[];if(e<=i)for(let t=e;ti;t--)s.push(t);return s}function S(t,i,e){const s=t.slice(0,i),n=t.slice(i);return s.concat(e,n)}function D(t,i){const e=t.indexOf(i);e>-1&&(t.splice(e,1),t.unshift(i))}function E(t,i){const e=t.indexOf(i);e>-1&&(t.splice(e,1),t.push(i))}function A(t,i){for(const e of i)t.push(e)}function M(t){return Array.isArray(t)?t:[t]}function L(t,i,e,s){const n=F(t,i);let o=t.splice(n,e);return void 0===o&&(o=[]),function(t,i,e){const s=F(t,i),n=t.length,o=e.length;t.length=n+o;for(let i=n-1;i>=s;i--)t[i+o]=t[i];for(let i=0;ii(t(e),t(s))}a.style=".editor-skeleton{background-color:#f3f3f3;border:1px solid #e6e6e6;border-radius:0.25em;animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}.editor-skeleton.sm{height:9em}.editor-skeleton.lg{height:16em}.editor-skeleton.full{height:100%}",function(t){t.isLessThan=function(t){return t<0},t.isLessThanOrEqual=function(t){return t<=0},t.isGreaterThan=function(t){return t>0},t.isNeitherLessOrGreaterThan=function(t){return 0===t},t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0}(T||(T={}));const O=(t,i)=>t-i,I=(t,i)=>O(t?1:0,i?1:0);function _(t){return(i,e)=>-t(i,e)}class N{constructor(t){this.items=t,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(t){let i=this.firstIdx;for(;i=0&&t(this.items[i]);)i--;const e=i===this.lastIdx?null:this.items.slice(i+1,this.lastIdx+1);return this.lastIdx=i,e}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const t=this.items[this.firstIdx];return this.firstIdx++,t}takeCount(t){const i=this.items.slice(this.firstIdx,this.firstIdx+t);return this.firstIdx+=t,i}}class B{constructor(t){this.iterate=t}toArray(){const t=[];return this.iterate((i=>(t.push(i),!0))),t}filter(t){return new B((i=>this.iterate((e=>!t(e)||i(e)))))}map(t){return new B((i=>this.iterate((e=>i(t(e))))))}findLast(t){let i;return this.iterate((e=>(t(e)&&(i=e),!0))),i}findLastMaxBy(t){let i,e=!0;return this.iterate((s=>((e||T.isGreaterThan(t(s,i)))&&(e=!1,i=s),!0))),i}}function P(t){return"string"==typeof t}function $(t){return!("object"!=typeof t||null===t||Array.isArray(t)||t instanceof RegExp||t instanceof Date)}function W(t){const i=Object.getPrototypeOf(Uint8Array);return"object"==typeof t&&t instanceof i}function j(t){return"number"==typeof t&&!isNaN(t)}function z(t){return!!t&&"function"==typeof t[Symbol.iterator]}function H(t){return!0===t||!1===t}function V(t){return void 0===t}function U(t){return!q(t)}function q(t){return V(t)||null===t}function K(t,i){if(!t)throw new Error(i?`Unexpected type, expected '${i}'`:"Unexpected type")}function G(t){if(q(t))throw new Error("Assertion Failed: argument is undefined or null");return t}function Z(t){return"function"==typeof t}function Q(t,i){if(P(i)){if(typeof t!==i)throw new Error(`argument does not match constraint: typeof ${i}`)}else if(Z(i)){try{if(t instanceof i)return}catch(t){}if(!q(t)&&t.constructor===i)return;if(1===i.length&&!0===i.call(void 0,t))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function J(t){if(!t||"object"!=typeof t)return t;if(t instanceof RegExp)return t;const i=Array.isArray(t)?[]:{};return Object.entries(t).forEach((([t,e])=>{i[t]=e&&"object"==typeof e?J(e):e})),i}B.empty=new B((()=>{}));const Y=Object.prototype.hasOwnProperty;function X(t,i){return tt(t,i,new Set)}function tt(t,i,e){if(q(t))return t;const s=i(t);if(void 0!==s)return s;if(Array.isArray(t)){const s=[];for(const n of t)s.push(tt(n,i,e));return s}if($(t)){if(e.has(t))throw new Error("Cannot clone recursive data-structure");e.add(t);const s={};for(const n in t)Y.call(t,n)&&(s[n]=tt(t[n],i,e));return e.delete(t),s}return t}function it(t,i,e=!0){return $(t)?($(i)&&Object.keys(i).forEach((s=>{s in t?e&&($(t[s])&&$(i[s])?it(t[s],i[s],e):t[s]=i[s]):t[s]=i[s]})),t):i}function et(t,i){if(t===i)return!0;if(null==t||null==i)return!1;if(typeof t!=typeof i)return!1;if("object"!=typeof t)return!1;if(Array.isArray(t)!==Array.isArray(i))return!1;let e,s;if(Array.isArray(t)){if(t.length!==i.length)return!1;for(e=0;e=0;function ot(t,i){let e;return e=0===i.length?t:t.replace(/\{(\d+)\}/g,((t,e)=>{const s=i[e[0]];let n=t;return"string"==typeof s?n=s:"number"!=typeof s&&"boolean"!=typeof s&&null!=s||(n=String(s)),n})),nt&&(e="["+e.replace(/[aouei]/g,"$&$&")+"]"),e}function rt(t,i,...e){return ot(i,e)}function ht(t,i,...e){const s=ot(i,e);return{value:s,original:s}}var ct;const at="en";let lt,ut,dt=!1,ft=!1,pt=!1,gt=!1,mt=!1,wt=!1,vt=!1,bt=at;const yt=globalThis;let kt;void 0!==yt.vscode&&void 0!==yt.vscode.process?kt=yt.vscode.process:"undefined"!=typeof process&&(kt=process);const xt="string"==typeof(null===(ct=null==kt?void 0:kt.versions)||void 0===ct?void 0:ct.electron);if("object"!=typeof navigator||xt&&"renderer"===(null==kt?void 0:kt.type))if("object"==typeof kt){dt="win32"===kt.platform,ft="darwin"===kt.platform,pt="linux"===kt.platform,lt=at,bt=at;const t=kt.env.VSCODE_NLS_CONFIG;if(t)try{const i=JSON.parse(t);lt=i.locale,bt=i.availableLanguages["*"]||at}catch(t){}gt=!0}else console.error("Unable to resolve platform.");else ut=navigator.userAgent,dt=ut.indexOf("Windows")>=0,ft=ut.indexOf("Macintosh")>=0,wt=(ut.indexOf("Macintosh")>=0||ut.indexOf("iPad")>=0||ut.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,pt=ut.indexOf("Linux")>=0,vt=(null==ut?void 0:ut.indexOf("Mobi"))>=0,mt=!0,rt(0,"_"),lt=at,bt=lt;const Ct=dt,St=ft,Dt=pt,Et=gt,At=mt,Mt=mt&&"function"==typeof yt.importScripts?yt.origin:void 0,Lt=wt,Ft=vt,Tt=ut,Rt=bt,Ot="function"==typeof yt.postMessage&&!yt.importScripts,It=(()=>{if(Ot){const t=[];yt.addEventListener("message",(i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let e=0,s=t.length;e{const s=++i;t.push({id:s,callback:e}),yt.postMessage({vscodeScheduleAsyncWork:s},"*")}}return t=>setTimeout(t)})(),_t=ft||wt?2:dt?1:3;let Nt=!0,Bt=!1;function Pt(){if(!Bt){Bt=!0;const t=new Uint8Array(2);t[0]=1,t[1]=2;const i=new Uint16Array(t.buffer);Nt=513===i[0]}return Nt}const $t=!!(Tt&&Tt.indexOf("Chrome")>=0),Wt=!!(Tt&&Tt.indexOf("Firefox")>=0),jt=!!(!$t&&Tt&&Tt.indexOf("Safari")>=0),zt=!!(Tt&&Tt.indexOf("Edg/")>=0);Tt&&Tt.indexOf("Android");const Ht={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var Vt;!function(t){function i(t){return t&&"object"==typeof t&&"function"==typeof t[Symbol.iterator]}t.is=i;const e=Object.freeze([]);function*s(t){yield t}t.empty=function(){return e},t.single=s,t.wrap=function(t){return i(t)?t:s(t)},t.from=function(t){return t||e},t.reverse=function*(t){for(let i=t.length-1;i>=0;i--)yield t[i]},t.isEmpty=function(t){return!t||!0===t[Symbol.iterator]().next().done},t.first=function(t){return t[Symbol.iterator]().next().value},t.some=function(t,i){for(const e of t)if(i(e))return!0;return!1},t.find=function(t,i){for(const e of t)if(i(e))return e},t.filter=function*(t,i){for(const e of t)i(e)&&(yield e)},t.map=function*(t,i){let e=0;for(const s of t)yield i(s,e++)},t.concat=function*(...t){for(const i of t)yield*i},t.reduce=function(t,i,e){let s=e;for(const e of t)s=i(s,e);return s},t.slice=function*(t,i,e=t.length){for(i<0&&(i+=t.length),e<0?e+=t.length:e>t.length&&(e=t.length);in}]}}(Vt||(Vt={}));class Ut{constructor(t){this.element=t,this.next=Ut.Undefined,this.prev=Ut.Undefined}}Ut.Undefined=new Ut(void 0);class qt{constructor(){this._first=Ut.Undefined,this._last=Ut.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Ut.Undefined}clear(){let t=this._first;for(;t!==Ut.Undefined;){const i=t.next;t.prev=Ut.Undefined,t.next=Ut.Undefined,t=i}this._first=Ut.Undefined,this._last=Ut.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,i){const e=new Ut(t);if(this._first===Ut.Undefined)this._first=e,this._last=e;else if(i){const t=this._last;this._last=e,e.prev=t,t.next=e}else{const t=this._first;this._first=e,e.next=t,t.prev=e}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(e))}}shift(){if(this._first!==Ut.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==Ut.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==Ut.Undefined&&t.next!==Ut.Undefined){const i=t.prev;i.next=t.next,t.next.prev=i}else t.prev===Ut.Undefined&&t.next===Ut.Undefined?(this._first=Ut.Undefined,this._last=Ut.Undefined):t.next===Ut.Undefined?(this._last=this._last.prev,this._last.next=Ut.Undefined):t.prev===Ut.Undefined&&(this._first=this._first.next,this._first.prev=Ut.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==Ut.Undefined;)yield t.element,t=t.next}}const Kt="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",Gt=function(t=""){let i="(-?\\d*\\.\\d\\w*)|([^";for(const e of Kt)t.indexOf(e)>=0||(i+="\\"+e);return i+="\\s]+)",new RegExp(i,"g")}();function Zt(t){let i=Gt;if(t&&t instanceof RegExp)if(t.global)i=t;else{let e="g";t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),i=new RegExp(t.source,e)}return i.lastIndex=0,i}const Qt=new qt;function Jt(t,i,e,s,n){if(i=Zt(i),n||(n=Vt.first(Qt)),e.length>n.maxLen){let o=t-n.maxLen/2;return o<0?o=0:s+=o,Jt(t,i,e=e.substring(o,t+n.maxLen/2),s,n)}const o=Date.now(),r=t-1-s;let h=-1,c=null;for(let t=1;!(Date.now()-o>=n.timeBudget);t++){const s=r-n.windowSize*t;i.lastIndex=Math.max(0,s);const o=Yt(i,e,r,h);if(!o&&c)break;if(c=o,s<=0)break;h=s}if(c){const t={word:c[0],startColumn:s+1+c.index,endColumn:s+1+c.index+c[0].length};return i.lastIndex=0,t}return null}function Yt(t,i,e,s){let n;for(;n=t.exec(i);){const i=n.index||0;if(i<=e&&t.lastIndex>=e)return n;if(s>0&&i>s)return null}return null}Qt.unshift({maxLen:1e3,windowSize:15,timeBudget:150});class Xt{constructor(t){this._values=t}hasChanged(t){return this._values[t]}}class ti{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class ii{constructor(t,i,e,s){this.id=t,this.name=i,this.defaultValue=e,this.schema=s}applyUpdate(t,i){return si(t,i)}compute(t,i,e){return e}}class ei{constructor(t,i){this.newValue=t,this.didChange=i}}function si(t,i){if("object"!=typeof t||"object"!=typeof i||!t||!i)return new ei(i,t!==i);if(Array.isArray(t)||Array.isArray(i)){const e=Array.isArray(t)&&Array.isArray(i)&&u(t,i);return new ei(i,!e)}let e=!1;for(const s in i)if(i.hasOwnProperty(s)){const n=si(t[s],i[s]);n.didChange&&(t[s]=n.newValue,e=!0)}return new ei(t,e)}class ni{constructor(t){this.schema=void 0,this.id=t,this.name="_never_",this.defaultValue=void 0}applyUpdate(t,i){return si(t,i)}validate(t){return this.defaultValue}}class oi{constructor(t,i,e,s){this.id=t,this.name=i,this.defaultValue=e,this.schema=s}applyUpdate(t,i){return si(t,i)}validate(t){return void 0===t?this.defaultValue:t}compute(t,i,e){return e}}function ri(t,i){return void 0===t?i:"false"!==t&&Boolean(t)}class hi extends oi{constructor(t,i,e,s){void 0!==s&&(s.type="boolean",s.default=e),super(t,i,e,s)}validate(t){return ri(t,this.defaultValue)}}function ci(t,i,e,s){if(void 0===t)return i;let n=parseInt(t,10);return isNaN(n)?i:(n=Math.max(e,n),n=Math.min(s,n),0|n)}class ai extends oi{static clampedInt(t,i,e,s){return ci(t,i,e,s)}constructor(t,i,e,s,n,o){void 0!==o&&(o.type="integer",o.default=e,o.minimum=s,o.maximum=n),super(t,i,e,o),this.minimum=s,this.maximum=n}validate(t){return ai.clampedInt(t,this.defaultValue,this.minimum,this.maximum)}}function li(t,i,e,s){if(void 0===t)return i;const n=ui.float(t,i);return ui.clamp(n,e,s)}class ui extends oi{static clamp(t,i,e){return te?e:t}static float(t,i){if("number"==typeof t)return t;if(void 0===t)return i;const e=parseFloat(t);return isNaN(e)?i:e}constructor(t,i,e,s,n){void 0!==n&&(n.type="number",n.default=e),super(t,i,e,n),this.validationFn=s}validate(t){return this.validationFn(ui.float(t,this.defaultValue))}}class di extends oi{static string(t,i){return"string"!=typeof t?i:t}constructor(t,i,e,s){void 0!==s&&(s.type="string",s.default=e),super(t,i,e,s)}validate(t){return di.string(t,this.defaultValue)}}function fi(t,i,e,s){return"string"!=typeof t?i:s&&t in s?s[t]:-1===e.indexOf(t)?i:t}class pi extends oi{constructor(t,i,e,s,n){void 0!==n&&(n.type="string",n.enum=s,n.default=e),super(t,i,e,n),this._allowedValues=s}validate(t){return fi(t,this.defaultValue,this._allowedValues)}}class gi extends ii{constructor(t,i,e,s,n,o,r){void 0!==r&&(r.type="string",r.enum=n,r.default=s),super(t,i,e,r),this._allowedValues=n,this._convert=o}validate(t){return"string"!=typeof t||-1===this._allowedValues.indexOf(t)?this.defaultValue:this._convert(t)}}var mi,wi;!function(t){t[t.Line=1]="Line",t[t.Block=2]="Block",t[t.Underline=3]="Underline",t[t.LineThin=4]="LineThin",t[t.BlockOutline=5]="BlockOutline",t[t.UnderlineThin=6]="UnderlineThin"}(mi||(mi={}));class vi extends ii{constructor(){super(51,"fontLigatures",vi.OFF,{anyOf:[{type:"boolean",description:rt(0,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:rt(0,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:rt(0,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(t){return void 0===t?this.defaultValue:"string"==typeof t?"false"===t?vi.OFF:"true"===t?vi.ON:t:Boolean(t)?vi.ON:vi.OFF}}vi.OFF='"liga" off, "calt" off',vi.ON='"liga" on, "calt" on';class bi extends ii{constructor(){super(54,"fontVariations",bi.OFF,{anyOf:[{type:"boolean",description:rt(0,"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:rt(0,"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:rt(0,"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(t){return void 0===t?this.defaultValue:"string"==typeof t?"false"===t?bi.OFF:"true"===t?bi.TRANSLATE:t:Boolean(t)?bi.TRANSLATE:bi.OFF}compute(t,i,e){return t.fontInfo.fontVariationSettings}}bi.OFF="normal",bi.TRANSLATE="translate";class yi extends ii{constructor(){super(53,"fontWeight",Oi.fontWeight,{anyOf:[{type:"number",minimum:yi.MINIMUM_VALUE,maximum:yi.MAXIMUM_VALUE,errorMessage:rt(0,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:yi.SUGGESTION_VALUES}],default:Oi.fontWeight,description:rt(0,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(t){return"normal"===t||"bold"===t?t:String(ai.clampedInt(t,Oi.fontWeight,yi.MINIMUM_VALUE,yi.MAXIMUM_VALUE))}}yi.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],yi.MINIMUM_VALUE=1,yi.MAXIMUM_VALUE=1e3;class ki extends ni{constructor(){super(143)}compute(t,i,e){return ki.computeLayout(i,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(t){const i=t.height/t.lineHeight,e=Math.floor(t.paddingTop/t.lineHeight);let s=Math.floor(t.paddingBottom/t.lineHeight);t.scrollBeyondLastLine&&(s=Math.max(s,i-1));const n=(e+t.viewLineCount+s)/(t.pixelRatio*t.height);return{typicalViewportLineCount:i,extraLinesBeforeFirstLine:e,extraLinesBeyondLastLine:s,desiredRatio:n,minimapLineCount:Math.floor(t.viewLineCount/n)}}static _computeMinimapLayout(t,i){const e=t.outerWidth,s=t.outerHeight,n=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(n*s),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:s};const o=i.stableMinimapLayoutInput,r=o&&t.outerHeight===o.outerHeight&&t.lineHeight===o.lineHeight&&t.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&t.pixelRatio===o.pixelRatio&&t.scrollBeyondLastLine===o.scrollBeyondLastLine&&t.paddingTop===o.paddingTop&&t.paddingBottom===o.paddingBottom&&t.minimap.enabled===o.minimap.enabled&&t.minimap.side===o.minimap.side&&t.minimap.size===o.minimap.size&&t.minimap.showSlider===o.minimap.showSlider&&t.minimap.renderCharacters===o.minimap.renderCharacters&&t.minimap.maxColumn===o.minimap.maxColumn&&t.minimap.scale===o.minimap.scale&&t.verticalScrollbarWidth===o.verticalScrollbarWidth&&t.isViewportWrapping===o.isViewportWrapping,h=t.lineHeight,c=t.typicalHalfwidthCharacterWidth,a=t.scrollBeyondLastLine,l=t.minimap.renderCharacters;let u=n>=2?Math.round(2*t.minimap.scale):t.minimap.scale;const d=t.minimap.maxColumn,f=t.minimap.size,p=t.minimap.side,g=t.verticalScrollbarWidth,m=t.viewLineCount,w=t.remainingWidth,v=t.isViewportWrapping,b=l?2:3;let y=Math.floor(n*s);const k=y/n;let x=!1,C=!1,S=b*u,D=u/n,E=1;if("fill"===f||"fit"===f){const{typicalViewportLineCount:e,extraLinesBeforeFirstLine:o,extraLinesBeyondLastLine:c,desiredRatio:l,minimapLineCount:d}=ki.computeContainedMinimapLineCount({viewLineCount:m,scrollBeyondLastLine:a,paddingTop:t.paddingTop,paddingBottom:t.paddingBottom,height:s,lineHeight:h,pixelRatio:n});if(m/d>1)x=!0,C=!0,u=1,S=1,D=u/n;else{let s=!1,a=u+1;if("fit"===f){const t=Math.ceil((o+m+c)*S);v&&r&&w<=i.stableFitRemainingWidth?(s=!0,a=i.stableFitMaxMinimapScale):s=t>y}if("fill"===f||s){x=!0;const s=u;S=Math.min(h*n,Math.max(1,Math.floor(1/l))),v&&r&&w<=i.stableFitRemainingWidth&&(a=i.stableFitMaxMinimapScale),u=Math.min(a,Math.max(1,Math.floor(S/b))),u>s&&(E=Math.min(2,u/s)),D=u/n/E,y=Math.ceil(Math.max(e,o+m+c)*S),v?(i.stableMinimapLayoutInput=t,i.stableFitRemainingWidth=w,i.stableFitMaxMinimapScale=u):(i.stableMinimapLayoutInput=null,i.stableFitRemainingWidth=0)}}}const A=Math.floor(d*D),M=Math.min(A,Math.max(0,Math.floor((w-g-2)*D/(c+D)))+8);let L=Math.floor(n*M);const F=L/n;return L=Math.floor(L*E),{renderMinimap:l?1:2,minimapLeft:"left"===p?0:e-M-g,minimapWidth:M,minimapHeightIsEditorHeight:x,minimapIsSampling:C,minimapScale:u,minimapLineHeight:S,minimapCanvasInnerWidth:L,minimapCanvasInnerHeight:y,minimapCanvasOuterWidth:F,minimapCanvasOuterHeight:k}}static computeLayout(t,i){const e=0|i.outerWidth,s=0|i.outerHeight,n=0|i.lineHeight,o=0|i.lineNumbersDigitCount,r=i.typicalHalfwidthCharacterWidth,h=i.maxDigitWidth,c=i.pixelRatio,a=i.viewLineCount,l=t.get(135),u="inherit"===l?t.get(134):l,d="inherit"===u?t.get(130):u,f=t.get(133),p=i.isDominatedByLongLines,g=t.get(57),m=0!==t.get(67).renderType,w=t.get(68),v=t.get(104),b=t.get(83),y=t.get(72),k=t.get(102),x=k.verticalScrollbarSize,C=k.verticalHasArrows,S=k.arrowSize,D=k.horizontalScrollbarSize,E=t.get(43),A="never"!==t.get(109);let M=t.get(65);E&&A&&(M+=16);let L=0;if(m){const t=Math.max(o,w);L=Math.round(t*h)}let F=0;g&&(F=n*i.glyphMarginDecorationLaneCount);let T=0,R=T+F,O=R+L,I=O+M;const _=e-F-L-M;let N=!1,B=!1,P=-1;"inherit"===u&&p?(N=!0,B=!0):"on"===d||"bounded"===d?B=!0:"wordWrapColumn"===d&&(P=f);const $=ki._computeMinimapLayout({outerWidth:e,outerHeight:s,lineHeight:n,typicalHalfwidthCharacterWidth:r,pixelRatio:c,scrollBeyondLastLine:v,paddingTop:b.top,paddingBottom:b.bottom,minimap:y,verticalScrollbarWidth:x,viewLineCount:a,remainingWidth:_,isViewportWrapping:B},i.memory||new ti);0!==$.renderMinimap&&0===$.minimapLeft&&(T+=$.minimapWidth,R+=$.minimapWidth,O+=$.minimapWidth,I+=$.minimapWidth);const W=_-$.minimapWidth,j=Math.max(1,Math.floor((W-x-2)/r)),z=C?S:0;return B&&(P=Math.max(1,j),"bounded"===d&&(P=Math.min(P,f))),{width:e,height:s,glyphMarginLeft:T,glyphMarginWidth:F,glyphMarginDecorationLaneCount:i.glyphMarginDecorationLaneCount,lineNumbersLeft:R,lineNumbersWidth:L,decorationsLeft:O,decorationsWidth:M,contentLeft:I,contentWidth:W,minimap:$,viewportColumn:j,isWordWrapMinified:N,isViewportWrapping:B,wrappingColumn:P,verticalScrollbarWidth:x,horizontalScrollbarHeight:D,overviewRuler:{top:z,width:x,height:s-2*z,right:0}}}}function xi(t){const i=t.get(97);return"editable"===i?t.get(90):"on"!==i}function Ci(t,i){if("string"!=typeof t)return i;switch(t){case"hidden":return 2;case"visible":return 3;default:return 1}}!function(t){t.Off="off",t.OnCode="onCode",t.On="on"}(wi||(wi={}));const Si="inUntrustedWorkspace",Di="editor.unicodeHighlight.allowedCharacters",Ei="editor.unicodeHighlight.invisibleCharacters",Ai="editor.unicodeHighlight.nonBasicASCII",Mi="editor.unicodeHighlight.ambiguousCharacters",Li="editor.unicodeHighlight.includeComments",Fi="editor.unicodeHighlight.includeStrings",Ti="editor.unicodeHighlight.allowedLocales";function Ri(t,i,e){const s=e.indexOf(t);return-1===s?i:e[s]}const Oi={fontFamily:St?"Menlo, Monaco, 'Courier New', monospace":Dt?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:St?12:14,lineHeight:0,letterSpacing:0},Ii=[];function _i(t){return Ii[t.id]=t,t}const Ni={acceptSuggestionOnCommitCharacter:_i(new hi(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:rt(0,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:_i(new pi(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",rt(0,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:rt(0,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:_i(new class extends ii{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[rt(0,"Use platform APIs to detect when a Screen Reader is attached."),rt(0,"Optimize for usage with a Screen Reader."),rt(0,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:rt(0,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(t){switch(t){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(t,i,e){return 0===e?t.accessibilitySupport:e}}),accessibilityPageSize:_i(new ai(3,"accessibilityPageSize",10,1,1073741824,{description:rt(0,"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:_i(new di(4,"ariaLabel",rt(0,"Editor content"))),ariaRequired:_i(new hi(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:_i(new hi(8,"screenReaderAnnounceInlineSuggestion",!0,{description:rt(0,"Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:_i(new pi(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",rt(0,"Use language configurations to determine when to autoclose brackets."),rt(0,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:rt(0,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:_i(new pi(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",rt(0,"Use language configurations to determine when to autoclose comments."),rt(0,"Autoclose comments only when the cursor is to the left of whitespace."),""],description:rt(0,"Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:_i(new pi(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",rt(0,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:rt(0,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:_i(new pi(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",rt(0,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:rt(0,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:_i(new pi(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",rt(0,"Use language configurations to determine when to autoclose quotes."),rt(0,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:rt(0,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:_i(new gi(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],(function(t){switch(t){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}),{enumDescriptions:[rt(0,"The editor will not insert indentation automatically."),rt(0,"The editor will keep the current line's indentation."),rt(0,"The editor will keep the current line's indentation and honor language defined brackets."),rt(0,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),rt(0,"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:rt(0,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:_i(new hi(13,"automaticLayout",!1)),autoSurround:_i(new pi(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[rt(0,"Use language configurations to determine when to automatically surround selections."),rt(0,"Surround with quotes but not brackets."),rt(0,"Surround with brackets but not quotes."),""],description:rt(0,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:_i(new class extends ii{constructor(){const t={enabled:Ht.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:Ht.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",t,{"editor.bracketPairColorization.enabled":{type:"boolean",default:t.enabled,markdownDescription:rt(0,"Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:t.independentColorPoolPerBracketType,description:rt(0,"Controls whether each bracket type has its own independent color pool.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:ri(i.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}),bracketPairGuides:_i(new class extends ii{constructor(){const t={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",t,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[rt(0,"Enables bracket pair guides."),rt(0,"Enables bracket pair guides only for the active bracket pair."),rt(0,"Disables bracket pair guides.")],default:t.bracketPairs,description:rt(0,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[rt(0,"Enables horizontal guides as addition to vertical bracket pair guides."),rt(0,"Enables horizontal guides only for the active bracket pair."),rt(0,"Disables horizontal bracket pair guides.")],default:t.bracketPairsHorizontal,description:rt(0,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:t.highlightActiveBracketPair,description:rt(0,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:t.indentation,description:rt(0,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[rt(0,"Highlights the active indent guide."),rt(0,"Highlights the active indent guide even if bracket guides are highlighted."),rt(0,"Do not highlight the active indent guide.")],default:t.highlightActiveIndentation,description:rt(0,"Controls whether the editor should highlight the active indent guide.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{bracketPairs:Ri(i.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:Ri(i.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:ri(i.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:ri(i.indentation,this.defaultValue.indentation),highlightActiveIndentation:Ri(i.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}),stickyTabStops:_i(new hi(115,"stickyTabStops",!1,{description:rt(0,"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:_i(new hi(17,"codeLens",!0,{description:rt(0,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:_i(new di(18,"codeLensFontFamily","",{description:rt(0,"Controls the font family for CodeLens.")})),codeLensFontSize:_i(new ai(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:rt(0,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:_i(new hi(20,"colorDecorators",!0,{description:rt(0,"Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:_i(new pi(146,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[rt(0,"Make the color picker appear both on click and hover of the color decorator"),rt(0,"Make the color picker appear on hover of the color decorator"),rt(0,"Make the color picker appear on click of the color decorator")],description:rt(0,"Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:_i(new ai(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:rt(0,"Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:_i(new hi(22,"columnSelection",!1,{description:rt(0,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:_i(new class extends ii{constructor(){const t={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",t,{"editor.comments.insertSpace":{type:"boolean",default:t.insertSpace,description:rt(0,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:t.ignoreEmptyLines,description:rt(0,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{insertSpace:ri(i.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:ri(i.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}),contextmenu:_i(new hi(24,"contextmenu",!0)),copyWithSyntaxHighlighting:_i(new hi(25,"copyWithSyntaxHighlighting",!0,{description:rt(0,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:_i(new gi(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],(function(t){switch(t){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}),{description:rt(0,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:_i(new pi(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[rt(0,"Smooth caret animation is disabled."),rt(0,"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),rt(0,"Smooth caret animation is always enabled.")],description:rt(0,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:_i(new gi(28,"cursorStyle",mi.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],(function(t){switch(t){case"line":return mi.Line;case"block":return mi.Block;case"underline":return mi.Underline;case"line-thin":return mi.LineThin;case"block-outline":return mi.BlockOutline;case"underline-thin":return mi.UnderlineThin}}),{description:rt(0,"Controls the cursor style.")})),cursorSurroundingLines:_i(new ai(29,"cursorSurroundingLines",0,0,1073741824,{description:rt(0,"Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:_i(new pi(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[rt(0,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),rt(0,"`cursorSurroundingLines` is enforced always.")],markdownDescription:rt(0,"Controls when `#cursorSurroundingLines#` should be enforced.")})),cursorWidth:_i(new ai(31,"cursorWidth",0,0,1073741824,{markdownDescription:rt(0,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:_i(new hi(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:_i(new hi(33,"disableMonospaceOptimizations",!1)),domReadOnly:_i(new hi(34,"domReadOnly",!1)),dragAndDrop:_i(new hi(35,"dragAndDrop",!0,{description:rt(0,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:_i(new class extends hi{constructor(){super(37,"emptySelectionClipboard",!0,{description:rt(0,"Controls whether copying without a selection copies the current line.")})}compute(t,i,e){return e&&t.emptySelectionClipboard}}),dropIntoEditor:_i(new class extends ii{constructor(){const t={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",t,{"editor.dropIntoEditor.enabled":{type:"boolean",default:t.enabled,markdownDescription:rt(0,"Controls whether you can drag and drop a file into a text editor by holding down `Shift`-key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:rt(0,"Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[rt(0,"Show the drop selector widget after a file is dropped into the editor."),rt(0,"Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),showDropSelector:fi(i.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}),stickyScroll:_i(new class extends ii{constructor(){const t={enabled:!1,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(114,"stickyScroll",t,{"editor.stickyScroll.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Shows the nested current scopes during the scroll at the top of the editor.")},"editor.stickyScroll.maxLineCount":{type:"number",default:t.maxLineCount,minimum:1,maximum:10,description:rt(0,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:t.defaultModel,description:rt(0,"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:t.scrollWithEditor,description:rt(0,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),maxLineCount:ai.clampedInt(i.maxLineCount,this.defaultValue.maxLineCount,1,10),defaultModel:fi(i.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:ri(i.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}),experimentalWhitespaceRendering:_i(new pi(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[rt(0,"Use a new rendering method with svgs."),rt(0,"Use a new rendering method with font characters."),rt(0,"Use the stable rendering method.")],description:rt(0,"Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:_i(new di(39,"extraEditorClassName","")),fastScrollSensitivity:_i(new ui(40,"fastScrollSensitivity",5,(t=>t<=0?5:t),{markdownDescription:rt(0,"Scrolling speed multiplier when pressing `Alt`.")})),find:_i(new class extends ii{constructor(){const t={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",t,{"editor.find.cursorMoveOnType":{type:"boolean",default:t.cursorMoveOnType,description:rt(0,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:t.seedSearchStringFromSelection,enumDescriptions:[rt(0,"Never seed search string from the editor selection."),rt(0,"Always seed search string from the editor selection, including word at cursor position."),rt(0,"Only seed search string from the editor selection.")],description:rt(0,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:t.autoFindInSelection,enumDescriptions:[rt(0,"Never turn on Find in Selection automatically (default)."),rt(0,"Always turn on Find in Selection automatically."),rt(0,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:rt(0,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:t.globalFindClipboard,description:rt(0,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:St},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:t.addExtraSpaceOnTop,description:rt(0,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:t.loop,description:rt(0,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{cursorMoveOnType:ri(i.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:"boolean"==typeof t.seedSearchStringFromSelection?t.seedSearchStringFromSelection?"always":"never":fi(i.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof t.autoFindInSelection?t.autoFindInSelection?"always":"never":fi(i.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:ri(i.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:ri(i.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:ri(i.loop,this.defaultValue.loop)}}}),fixedOverflowWidgets:_i(new hi(42,"fixedOverflowWidgets",!1)),folding:_i(new hi(43,"folding",!0,{description:rt(0,"Controls whether the editor has code folding enabled.")})),foldingStrategy:_i(new pi(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[rt(0,"Use a language-specific folding strategy if available, else the indentation-based one."),rt(0,"Use the indentation-based folding strategy.")],description:rt(0,"Controls the strategy for computing folding ranges.")})),foldingHighlight:_i(new hi(45,"foldingHighlight",!0,{description:rt(0,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:_i(new hi(46,"foldingImportsByDefault",!1,{description:rt(0,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:_i(new ai(47,"foldingMaximumRegions",5e3,10,65e3,{description:rt(0,"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:_i(new hi(48,"unfoldOnClickAfterEndOfLine",!1,{description:rt(0,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:_i(new di(49,"fontFamily",Oi.fontFamily,{description:rt(0,"Controls the font family.")})),fontInfo:_i(new class extends ni{constructor(){super(50)}compute(t,i,e){return t.fontInfo}}),fontLigatures2:_i(new vi),fontSize:_i(new class extends oi{constructor(){super(52,"fontSize",Oi.fontSize,{type:"number",minimum:6,maximum:100,default:Oi.fontSize,description:rt(0,"Controls the font size in pixels.")})}validate(t){const i=ui.float(t,this.defaultValue);return 0===i?Oi.fontSize:ui.clamp(i,6,100)}compute(t,i,e){return t.fontInfo.fontSize}}),fontWeight:_i(new yi),fontVariations:_i(new bi),formatOnPaste:_i(new hi(55,"formatOnPaste",!1,{description:rt(0,"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:_i(new hi(56,"formatOnType",!1,{description:rt(0,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:_i(new hi(57,"glyphMargin",!0,{description:rt(0,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:_i(new class extends ii{constructor(){const t={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},i={type:"string",enum:["peek","gotoAndPeek","goto"],default:t.multiple,enumDescriptions:[rt(0,"Show Peek view of the results (default)"),rt(0,"Go to the primary result and show a Peek view"),rt(0,"Go to the primary result and enable Peek-less navigation to others")]},e=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(58,"gotoLocation",t,{"editor.gotoLocation.multiple":{deprecationMessage:rt(0,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:rt(0,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleTypeDefinitions":{description:rt(0,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleDeclarations":{description:rt(0,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleImplementations":{description:rt(0,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleReferences":{description:rt(0,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),...i},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:t.alternativeDefinitionCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:t.alternativeTypeDefinitionCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:t.alternativeDeclarationCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:t.alternativeImplementationCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:t.alternativeReferenceCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(t){var i,e,s,n,o;if(!t||"object"!=typeof t)return this.defaultValue;const r=t;return{multiple:fi(r.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:null!==(i=r.multipleDefinitions)&&void 0!==i?i:fi(r.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:null!==(e=r.multipleTypeDefinitions)&&void 0!==e?e:fi(r.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:null!==(s=r.multipleDeclarations)&&void 0!==s?s:fi(r.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:null!==(n=r.multipleImplementations)&&void 0!==n?n:fi(r.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:null!==(o=r.multipleReferences)&&void 0!==o?o:fi(r.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:di.string(r.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:di.string(r.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:di.string(r.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:di.string(r.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:di.string(r.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}),hideCursorInOverviewRuler:_i(new hi(59,"hideCursorInOverviewRuler",!1,{description:rt(0,"Controls whether the cursor should be hidden in the overview ruler.")})),hover:_i(new class extends ii{constructor(){const t={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",t,{"editor.hover.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:t.delay,minimum:0,maximum:1e4,description:rt(0,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:t.sticky,description:rt(0,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:t.hidingDelay,description:rt(0,"Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:t.above,description:rt(0,"Prefer showing hovers above the line, if there's space.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),delay:ai.clampedInt(i.delay,this.defaultValue.delay,0,1e4),sticky:ri(i.sticky,this.defaultValue.sticky),hidingDelay:ai.clampedInt(i.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:ri(i.above,this.defaultValue.above)}}}),inDiffEditor:_i(new hi(61,"inDiffEditor",!1)),letterSpacing:_i(new ui(63,"letterSpacing",Oi.letterSpacing,(t=>ui.clamp(t,-5,20)),{description:rt(0,"Controls the letter spacing in pixels.")})),lightbulb:_i(new class extends ii{constructor(){const t={enabled:!0,experimental:{showAiIcon:wi.Off}};super(64,"lightbulb",t,{"editor.lightbulb.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Enables the Code Action lightbulb in the editor.")},"editor.lightbulb.experimental.showAiIcon":{type:"string",enum:[wi.Off,wi.OnCode,wi.On],default:t.experimental.showAiIcon,enumDescriptions:[rt(0,"Don not show the AI icon."),rt(0,"Show an AI icon when the code action menu contains an AI action, but only on code."),rt(0,"Show an AI icon when the code action menu contains an AI action, on code and empty lines.")],description:rt(0,"Show an AI icon along with the lightbulb when the code action menu contains an AI action.")}})}validate(t){var i,e;if(!t||"object"!=typeof t)return this.defaultValue;const s=t;return{enabled:ri(s.enabled,this.defaultValue.enabled),experimental:{showAiIcon:fi(null===(i=s.experimental)||void 0===i?void 0:i.showAiIcon,null===(e=this.defaultValue.experimental)||void 0===e?void 0:e.showAiIcon,[wi.Off,wi.OnCode,wi.On])}}}}),lineDecorationsWidth:_i(new class extends ii{constructor(){super(65,"lineDecorationsWidth",10)}validate(t){return"string"==typeof t&&/^\d+(\.\d+)?ch$/.test(t)?-parseFloat(t.substring(0,t.length-2)):ai.clampedInt(t,this.defaultValue,0,1e3)}compute(t,i,e){return e<0?ai.clampedInt(-e*t.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):e}}),lineHeight:_i(new class extends ui{constructor(){super(66,"lineHeight",Oi.lineHeight,(t=>ui.clamp(t,0,150)),{markdownDescription:rt(0,"Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")})}compute(t,i,e){return t.fontInfo.lineHeight}}),lineNumbers:_i(new class extends ii{constructor(){super(67,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[rt(0,"Line numbers are not rendered."),rt(0,"Line numbers are rendered as absolute number."),rt(0,"Line numbers are rendered as distance in lines to cursor position."),rt(0,"Line numbers are rendered every 10 lines.")],default:"on",description:rt(0,"Controls the display of line numbers.")})}validate(t){let i=this.defaultValue.renderType,e=this.defaultValue.renderFn;return void 0!==t&&("function"==typeof t?(i=4,e=t):i="interval"===t?3:"relative"===t?2:"on"===t?1:0),{renderType:i,renderFn:e}}}),lineNumbersMinChars:_i(new ai(68,"lineNumbersMinChars",5,1,300)),linkedEditing:_i(new hi(69,"linkedEditing",!1,{description:rt(0,"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:_i(new hi(70,"links",!0,{description:rt(0,"Controls whether the editor should detect links and make them clickable.")})),matchBrackets:_i(new pi(71,"matchBrackets","always",["always","near","never"],{description:rt(0,"Highlight matching brackets.")})),minimap:_i(new class extends ii{constructor(){const t={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1};super(72,"minimap",t,{"editor.minimap.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:t.autohide,description:rt(0,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[rt(0,"The minimap has the same size as the editor contents (and might scroll)."),rt(0,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),rt(0,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:t.size,description:rt(0,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:t.side,description:rt(0,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:t.showSlider,description:rt(0,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:t.scale,minimum:1,maximum:3,enum:[1,2,3],description:rt(0,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:t.renderCharacters,description:rt(0,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:t.maxColumn,description:rt(0,"Limit the width of the minimap to render at most a certain number of columns.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),autohide:ri(i.autohide,this.defaultValue.autohide),size:fi(i.size,this.defaultValue.size,["proportional","fill","fit"]),side:fi(i.side,this.defaultValue.side,["right","left"]),showSlider:fi(i.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:ri(i.renderCharacters,this.defaultValue.renderCharacters),scale:ai.clampedInt(i.scale,1,1,3),maxColumn:ai.clampedInt(i.maxColumn,this.defaultValue.maxColumn,1,1e4)}}}),mouseStyle:_i(new pi(73,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:_i(new ui(74,"mouseWheelScrollSensitivity",1,(t=>0===t?1:t),{markdownDescription:rt(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:_i(new hi(75,"mouseWheelZoom",!1,{markdownDescription:rt(0,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:_i(new hi(76,"multiCursorMergeOverlapping",!0,{description:rt(0,"Merge multiple cursors when they are overlapping.")})),multiCursorModifier:_i(new gi(77,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],(function(t){return"ctrlCmd"===t?St?"metaKey":"ctrlKey":"altKey"}),{markdownEnumDescriptions:[rt(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),rt(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:rt(0,"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:_i(new pi(78,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[rt(0,"Each cursor pastes a single line of the text."),rt(0,"Each cursor pastes the full text.")],markdownDescription:rt(0,"Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:_i(new ai(79,"multiCursorLimit",1e4,1,1e5,{markdownDescription:rt(0,"Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:_i(new pi(80,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[rt(0,"Does not highlight occurrences."),rt(0,"Highlights occurrences only in the current file."),rt(0,"Experimental: Highlights occurrences across all valid open files.")],markdownDescription:rt(0,"Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:_i(new hi(81,"overviewRulerBorder",!0,{description:rt(0,"Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:_i(new ai(82,"overviewRulerLanes",3,0,3)),padding:_i(new class extends ii{constructor(){super(83,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:rt(0,"Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:rt(0,"Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{top:ai.clampedInt(i.top,0,0,1e3),bottom:ai.clampedInt(i.bottom,0,0,1e3)}}}),pasteAs:_i(new class extends ii{constructor(){const t={enabled:!0,showPasteSelector:"afterPaste"};super(84,"pasteAs",t,{"editor.pasteAs.enabled":{type:"boolean",default:t.enabled,markdownDescription:rt(0,"Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:rt(0,"Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[rt(0,"Show the paste selector widget after content is pasted into the editor."),rt(0,"Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),showPasteSelector:fi(i.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}),parameterHints:_i(new class extends ii{constructor(){const t={enabled:!0,cycle:!0};super(85,"parameterHints",t,{"editor.parameterHints.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:t.cycle,description:rt(0,"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),cycle:ri(i.cycle,this.defaultValue.cycle)}}}),peekWidgetDefaultFocus:_i(new pi(86,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[rt(0,"Focus the tree when opening peek"),rt(0,"Focus the editor when opening peek")],description:rt(0,"Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:_i(new hi(87,"definitionLinkOpensInPeek",!1,{description:rt(0,"Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:_i(new class extends ii{constructor(){const t={other:"on",comments:"off",strings:"off"},i=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[rt(0,"Quick suggestions show inside the suggest widget"),rt(0,"Quick suggestions show as ghost text"),rt(0,"Quick suggestions are disabled")]}];super(88,"quickSuggestions",t,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:i,default:t.strings,description:rt(0,"Enable quick suggestions inside strings.")},comments:{anyOf:i,default:t.comments,description:rt(0,"Enable quick suggestions inside comments.")},other:{anyOf:i,default:t.other,description:rt(0,"Enable quick suggestions outside of strings and comments.")}},default:t,markdownDescription:rt(0,"Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the '{0}'-setting which controls if suggestions are triggered by special characters.","#editor.suggestOnTriggerCharacters#")}),this.defaultValue=t}validate(t){if("boolean"==typeof t){const i=t?"on":"off";return{comments:i,strings:i,other:i}}if(!t||"object"!=typeof t)return this.defaultValue;const{other:i,comments:e,strings:s}=t,n=["on","inline","off"];let o,r,h;return o="boolean"==typeof i?i?"on":"off":fi(i,this.defaultValue.other,n),r="boolean"==typeof e?e?"on":"off":fi(e,this.defaultValue.comments,n),h="boolean"==typeof s?s?"on":"off":fi(s,this.defaultValue.strings,n),{other:o,comments:r,strings:h}}}),quickSuggestionsDelay:_i(new ai(89,"quickSuggestionsDelay",10,0,1073741824,{description:rt(0,"Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:_i(new hi(90,"readOnly",!1)),readOnlyMessage:_i(new class extends ii{constructor(){super(91,"readOnlyMessage",void 0)}validate(t){return t&&"object"==typeof t?t:this.defaultValue}}),renameOnType:_i(new hi(92,"renameOnType",!1,{description:rt(0,"Controls whether the editor auto renames on type."),markdownDeprecationMessage:rt(0,"Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:_i(new hi(93,"renderControlCharacters",!0,{description:rt(0,"Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:_i(new pi(94,"renderFinalNewline",Dt?"dimmed":"on",["off","on","dimmed"],{description:rt(0,"Render last line number when the file ends with a newline.")})),renderLineHighlight:_i(new pi(95,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",rt(0,"Highlights both the gutter and the current line.")],description:rt(0,"Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:_i(new hi(96,"renderLineHighlightOnlyWhenFocus",!1,{description:rt(0,"Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:_i(new pi(97,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:_i(new pi(98,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",rt(0,"Render whitespace characters except for single spaces between words."),rt(0,"Render whitespace characters only on selected text."),rt(0,"Render only trailing whitespace characters."),""],description:rt(0,"Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:_i(new ai(99,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:_i(new hi(100,"roundedSelection",!0,{description:rt(0,"Controls whether selections should have rounded corners.")})),rulers:_i(new class extends ii{constructor(){const t=[],i={type:"number",description:rt(0,"Number of monospace characters at which this editor ruler will render.")};super(101,"rulers",t,{type:"array",items:{anyOf:[i,{type:["object"],properties:{column:i,color:{type:"string",description:rt(0,"Color of this editor ruler."),format:"color-hex"}}}]},default:t,description:rt(0,"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(t){if(Array.isArray(t)){const i=[];for(const e of t)if("number"==typeof e)i.push({column:ai.clampedInt(e,0,0,1e4),color:null});else if(e&&"object"==typeof e){const t=e;i.push({column:ai.clampedInt(t.column,0,0,1e4),color:t.color})}return i.sort(((t,i)=>t.column-i.column)),i}return this.defaultValue}}),scrollbar:_i(new class extends ii{constructor(){const t={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(102,"scrollbar",t,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[rt(0,"The vertical scrollbar will be visible only when necessary."),rt(0,"The vertical scrollbar will always be visible."),rt(0,"The vertical scrollbar will always be hidden.")],default:"auto",description:rt(0,"Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[rt(0,"The horizontal scrollbar will be visible only when necessary."),rt(0,"The horizontal scrollbar will always be visible."),rt(0,"The horizontal scrollbar will always be hidden.")],default:"auto",description:rt(0,"Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:t.verticalScrollbarSize,description:rt(0,"The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:t.horizontalScrollbarSize,description:rt(0,"The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:t.scrollByPage,description:rt(0,"Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:t.ignoreHorizontalScrollbarInContentHeight,description:rt(0,"When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t,e=ai.clampedInt(i.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),s=ai.clampedInt(i.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:ai.clampedInt(i.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:Ci(i.vertical,this.defaultValue.vertical),horizontal:Ci(i.horizontal,this.defaultValue.horizontal),useShadows:ri(i.useShadows,this.defaultValue.useShadows),verticalHasArrows:ri(i.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:ri(i.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:ri(i.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:ri(i.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:e,horizontalSliderSize:ai.clampedInt(i.horizontalSliderSize,e,0,1e3),verticalScrollbarSize:s,verticalSliderSize:ai.clampedInt(i.verticalSliderSize,s,0,1e3),scrollByPage:ri(i.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:ri(i.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}),scrollBeyondLastColumn:_i(new ai(103,"scrollBeyondLastColumn",4,0,1073741824,{description:rt(0,"Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:_i(new hi(104,"scrollBeyondLastLine",!0,{description:rt(0,"Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:_i(new hi(105,"scrollPredominantAxis",!0,{description:rt(0,"Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:_i(new hi(106,"selectionClipboard",!0,{description:rt(0,"Controls whether the Linux primary clipboard should be supported."),included:Dt})),selectionHighlight:_i(new hi(107,"selectionHighlight",!0,{description:rt(0,"Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:_i(new hi(108,"selectOnLineNumbers",!0)),showFoldingControls:_i(new pi(109,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[rt(0,"Always show the folding controls."),rt(0,"Never show the folding controls and reduce the gutter size."),rt(0,"Only show the folding controls when the mouse is over the gutter.")],description:rt(0,"Controls when the folding controls on the gutter are shown.")})),showUnused:_i(new hi(110,"showUnused",!0,{description:rt(0,"Controls fading out of unused code.")})),showDeprecated:_i(new hi(138,"showDeprecated",!0,{description:rt(0,"Controls strikethrough deprecated variables.")})),inlayHints:_i(new class extends ii{constructor(){const t={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(139,"inlayHints",t,{"editor.inlayHints.enabled":{type:"string",default:t.enabled,description:rt(0,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[rt(0,"Inlay hints are enabled"),rt(0,"Inlay hints are showing by default and hide when holding {0}",St?"Ctrl+Option":"Ctrl+Alt"),rt(0,"Inlay hints are hidden by default and show when holding {0}",St?"Ctrl+Option":"Ctrl+Alt"),rt(0,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:t.fontSize,markdownDescription:rt(0,"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:t.fontFamily,markdownDescription:rt(0,"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:t.padding,description:rt(0,"Enables the padding around the inlay hints in the editor.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return"boolean"==typeof i.enabled&&(i.enabled=i.enabled?"on":"off"),{enabled:fi(i.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:ai.clampedInt(i.fontSize,this.defaultValue.fontSize,0,100),fontFamily:di.string(i.fontFamily,this.defaultValue.fontFamily),padding:ri(i.padding,this.defaultValue.padding)}}}),snippetSuggestions:_i(new pi(111,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[rt(0,"Show snippet suggestions on top of other suggestions."),rt(0,"Show snippet suggestions below other suggestions."),rt(0,"Show snippets suggestions with other suggestions."),rt(0,"Do not show snippet suggestions.")],description:rt(0,"Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:_i(new class extends ii{constructor(){super(112,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:rt(0,"Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:rt(0,"Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(t){return t&&"object"==typeof t?{selectLeadingAndTrailingWhitespace:ri(t.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:ri(t.selectSubwords,this.defaultValue.selectSubwords)}:this.defaultValue}}),smoothScrolling:_i(new hi(113,"smoothScrolling",!1,{description:rt(0,"Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:_i(new ai(116,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:_i(new class extends ii{constructor(){const t={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(117,"suggest",t,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[rt(0,"Insert suggestion without overwriting text right of the cursor."),rt(0,"Insert suggestion and overwrite text right of the cursor.")],default:t.insertMode,description:rt(0,"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:t.filterGraceful,description:rt(0,"Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:t.localityBonus,description:rt(0,"Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:t.shareSuggestSelections,markdownDescription:rt(0,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[rt(0,"Always select a suggestion when automatically triggering IntelliSense."),rt(0,"Never select a suggestion when automatically triggering IntelliSense."),rt(0,"Select a suggestion only when triggering IntelliSense from a trigger character."),rt(0,"Select a suggestion only when triggering IntelliSense as you type.")],default:t.selectionMode,markdownDescription:rt(0,"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions (`#editor.quickSuggestions#` and `#editor.suggestOnTriggerCharacters#`) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:t.snippetsPreventQuickSuggestions,description:rt(0,"Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:t.showIcons,description:rt(0,"Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:t.showStatusBar,description:rt(0,"Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:t.preview,description:rt(0,"Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:t.showInlineDetails,description:rt(0,"Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:rt(0,"This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:rt(0,"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{insertMode:fi(i.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:ri(i.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:ri(i.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:ri(i.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:ri(i.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:fi(i.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:ri(i.showIcons,this.defaultValue.showIcons),showStatusBar:ri(i.showStatusBar,this.defaultValue.showStatusBar),preview:ri(i.preview,this.defaultValue.preview),previewMode:fi(i.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:ri(i.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:ri(i.showMethods,this.defaultValue.showMethods),showFunctions:ri(i.showFunctions,this.defaultValue.showFunctions),showConstructors:ri(i.showConstructors,this.defaultValue.showConstructors),showDeprecated:ri(i.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:ri(i.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:ri(i.showFields,this.defaultValue.showFields),showVariables:ri(i.showVariables,this.defaultValue.showVariables),showClasses:ri(i.showClasses,this.defaultValue.showClasses),showStructs:ri(i.showStructs,this.defaultValue.showStructs),showInterfaces:ri(i.showInterfaces,this.defaultValue.showInterfaces),showModules:ri(i.showModules,this.defaultValue.showModules),showProperties:ri(i.showProperties,this.defaultValue.showProperties),showEvents:ri(i.showEvents,this.defaultValue.showEvents),showOperators:ri(i.showOperators,this.defaultValue.showOperators),showUnits:ri(i.showUnits,this.defaultValue.showUnits),showValues:ri(i.showValues,this.defaultValue.showValues),showConstants:ri(i.showConstants,this.defaultValue.showConstants),showEnums:ri(i.showEnums,this.defaultValue.showEnums),showEnumMembers:ri(i.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:ri(i.showKeywords,this.defaultValue.showKeywords),showWords:ri(i.showWords,this.defaultValue.showWords),showColors:ri(i.showColors,this.defaultValue.showColors),showFiles:ri(i.showFiles,this.defaultValue.showFiles),showReferences:ri(i.showReferences,this.defaultValue.showReferences),showFolders:ri(i.showFolders,this.defaultValue.showFolders),showTypeParameters:ri(i.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:ri(i.showSnippets,this.defaultValue.showSnippets),showUsers:ri(i.showUsers,this.defaultValue.showUsers),showIssues:ri(i.showIssues,this.defaultValue.showIssues)}}}),inlineSuggest:_i(new class extends ii{constructor(){const t={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1};super(62,"inlineSuggest",t,{"editor.inlineSuggest.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:t.showToolbar,enum:["always","onHover","never"],enumDescriptions:[rt(0,"Show the inline suggestion toolbar whenever an inline suggestion is shown."),rt(0,"Show the inline suggestion toolbar when hovering over an inline suggestion."),rt(0,"Never show the inline suggestion toolbar.")],description:rt(0,"Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:t.suppressSuggestions,description:rt(0,"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),mode:fi(i.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:fi(i.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:ri(i.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:ri(i.keepOnBlur,this.defaultValue.keepOnBlur)}}}),inlineCompletionsAccessibilityVerbose:_i(new hi(147,"inlineCompletionsAccessibilityVerbose",!1,{description:rt(0,"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:_i(new ai(118,"suggestFontSize",0,0,1e3,{markdownDescription:rt(0,"Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:_i(new ai(119,"suggestLineHeight",0,0,1e3,{markdownDescription:rt(0,"Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:_i(new hi(120,"suggestOnTriggerCharacters",!0,{description:rt(0,"Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:_i(new pi(121,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[rt(0,"Always select the first suggestion."),rt(0,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),rt(0,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:rt(0,"Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:_i(new pi(122,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[rt(0,"Tab complete will insert the best matching suggestion when pressing tab."),rt(0,"Disable tab completions."),rt(0,"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:rt(0,"Enables tab completions.")})),tabIndex:_i(new ai(123,"tabIndex",0,-1,1073741824)),unicodeHighlight:_i(new class extends ii{constructor(){const t={nonBasicASCII:Si,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Si,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(124,"unicodeHighlight",t,{[Ai]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Si],default:t.nonBasicASCII,description:rt(0,"Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[Ei]:{restricted:!0,type:"boolean",default:t.invisibleCharacters,description:rt(0,"Controls whether characters that just reserve space or have no width at all are highlighted.")},[Mi]:{restricted:!0,type:"boolean",default:t.ambiguousCharacters,description:rt(0,"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[Li]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Si],default:t.includeComments,description:rt(0,"Controls whether characters in comments should also be subject to Unicode highlighting.")},[Fi]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Si],default:t.includeStrings,description:rt(0,"Controls whether characters in strings should also be subject to Unicode highlighting.")},[Di]:{restricted:!0,type:"object",default:t.allowedCharacters,description:rt(0,"Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[Ti]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:t.allowedLocales,description:rt(0,"Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(t,i){let e=!1;i.allowedCharacters&&t&&(et(t.allowedCharacters,i.allowedCharacters)||(t={...t,allowedCharacters:i.allowedCharacters},e=!0)),i.allowedLocales&&t&&(et(t.allowedLocales,i.allowedLocales)||(t={...t,allowedLocales:i.allowedLocales},e=!0));const s=super.applyUpdate(t,i);return e?new ei(s.newValue,!0):s}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{nonBasicASCII:Ri(i.nonBasicASCII,Si,[!0,!1,Si]),invisibleCharacters:ri(i.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:ri(i.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:Ri(i.includeComments,Si,[!0,!1,Si]),includeStrings:Ri(i.includeStrings,Si,[!0,!1,Si]),allowedCharacters:this.validateBooleanMap(t.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(t.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(t,i){if("object"!=typeof t||!t)return i;const e={};for(const[i,s]of Object.entries(t))!0===s&&(e[i]=!0);return e}}),unusualLineTerminators:_i(new pi(125,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[rt(0,"Unusual line terminators are automatically removed."),rt(0,"Unusual line terminators are ignored."),rt(0,"Unusual line terminators prompt to be removed.")],description:rt(0,"Remove unusual line terminators that might cause problems.")})),useShadowDOM:_i(new hi(126,"useShadowDOM",!0)),useTabStops:_i(new hi(127,"useTabStops",!0,{description:rt(0,"Inserting and deleting whitespace follows tab stops.")})),wordBreak:_i(new pi(128,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[rt(0,"Use the default line break rule."),rt(0,"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:rt(0,"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSeparators:_i(new di(129,"wordSeparators",Kt,{description:rt(0,"Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:_i(new pi(130,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[rt(0,"Lines will never wrap."),rt(0,"Lines will wrap at the viewport width."),rt(0,"Lines will wrap at `#editor.wordWrapColumn#`."),rt(0,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:rt(0,"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:_i(new di(131,"wordWrapBreakAfterCharacters"," \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:_i(new di(132,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:_i(new ai(133,"wordWrapColumn",80,1,1073741824,{markdownDescription:rt(0,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:_i(new pi(134,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:_i(new pi(135,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:_i(new class extends ni{constructor(){super(140)}compute(t,i,e){const s=["monaco-editor"];return i.get(39)&&s.push(i.get(39)),t.extraEditorClassName&&s.push(t.extraEditorClassName),"default"===i.get(73)?s.push("mouse-default"):"copy"===i.get(73)&&s.push("mouse-copy"),i.get(110)&&s.push("showUnused"),i.get(138)&&s.push("showDeprecated"),s.join(" ")}}),defaultColorDecorators:_i(new hi(145,"defaultColorDecorators",!1,{markdownDescription:rt(0,"Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:_i(new class extends ni{constructor(){super(141)}compute(t,i,e){return t.pixelRatio}}),tabFocusMode:_i(new hi(142,"tabFocusMode",!1,{markdownDescription:rt(0,"Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:_i(new ki),wrappingInfo:_i(new class extends ni{constructor(){super(144)}compute(t,i,e){const s=i.get(143);return{isDominatedByLongLines:t.isDominatedByLongLines,isWordWrapMinified:s.isWordWrapMinified,isViewportWrapping:s.isViewportWrapping,wrappingColumn:s.wrappingColumn}}}),wrappingIndent:_i(new class extends ii{constructor(){super(136,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[rt(0,"No indentation. Wrapped lines begin at column 1."),rt(0,"Wrapped lines get the same indentation as the parent."),rt(0,"Wrapped lines get +1 indentation toward the parent."),rt(0,"Wrapped lines get +2 indentation toward the parent.")],description:rt(0,"Controls the indentation of wrapped lines."),default:"same"}})}validate(t){switch(t){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(t,i,e){return 2===i.get(2)?0:e}}),wrappingStrategy:_i(new class extends ii{constructor(){super(137,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[rt(0,"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),rt(0,"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:rt(0,"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(t){return fi(t,"simple",["simple","advanced"])}compute(t,i,e){return 2===i.get(2)?"advanced":e}})},Bi=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout((()=>{if(t.stack){if(Ki.isErrorNoTelemetry(t))throw new Ki(t.message+"\n\n"+t.stack);throw new Error(t.message+"\n\n"+t.stack)}throw t}),0)}}emit(t){this.listeners.forEach((i=>{i(t)}))}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}};function Pi(t){zi(t)||Bi.onUnexpectedError(t)}function $i(t){zi(t)||Bi.onUnexpectedExternalError(t)}function Wi(t){if(t instanceof Error){const{name:i,message:e}=t;return{$isError:!0,name:i,message:e,stack:t.stacktrace||t.stack,noTelemetry:Ki.isErrorNoTelemetry(t)}}return t}const ji="Canceled";function zi(t){return t instanceof Hi||t instanceof Error&&t.name===ji&&t.message===ji}class Hi extends Error{constructor(){super(ji),this.name=this.message}}function Vi(t){return t?new Error(`Illegal argument: ${t}`):new Error("Illegal argument")}function Ui(t){return t?new Error(`Illegal state: ${t}`):new Error("Illegal state")}class qi extends Error{constructor(t){super("NotSupported"),t&&(this.message=t)}}class Ki extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof Ki)return t;const i=new Ki;return i.message=t.message,i.stack=t.stack,i}static isErrorNoTelemetry(t){return"CodeExpectedError"===t.name}}class Gi extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,Gi.prototype)}}function Zi(t,i){const e=this;let s,n=!1;return function(){if(n)return s;if(n=!0,i)try{s=t.apply(e,arguments)}finally{i()}else s=t.apply(e,arguments);return s}}function Qi(t){return"function"==typeof t.dispose&&0===t.dispose.length}function Ji(t){if(Vt.is(t)){const i=[];for(const e of t)if(e)try{e.dispose()}catch(t){i.push(t)}if(1===i.length)throw i[0];if(i.length>1)throw new AggregateError(i,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}if(t)return t.dispose(),t}function Yi(...t){return Xi((()=>Ji(t)))}function Xi(t){return{dispose:Zi((()=>{t()}))}}class te{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{Ji(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?te.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}deleteAndLeak(t){t&&this._toDispose.has(t)&&this._toDispose.delete(t)}}te.DISABLE_DISPOSED_WARNING=!1;class ie{constructor(){this._store=new te}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}ie.None=Object.freeze({dispose(){}});class ee{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(t){var i;this._isDisposed||t===this._value||(null===(i=this._value)||void 0===i||i.dispose(),this._value=t)}clear(){this.value=void 0}dispose(){var t;this._isDisposed=!0,null===(t=this._value)||void 0===t||t.dispose(),this._value=void 0}}class se{constructor(t){this._disposable=t,this._counter=1}acquire(){return this._counter++,this}release(){return 0==--this._counter&&this._disposable.dispose(),this}}class ne{constructor(t){this.object=t}dispose(){}}class oe{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{Ji(this._store.values())}finally{this._store.clear()}}get(t){return this._store.get(t)}set(t,i,e=!1){var s;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),e||null===(s=this._store.get(t))||void 0===s||s.dispose(),this._store.set(t,i)}deleteAndDispose(t){var i;null===(i=this._store.get(t))||void 0===i||i.dispose(),this._store.delete(t)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}const re=globalThis.performance&&"function"==typeof globalThis.performance.now;class he{static create(t){return new he(t)}constructor(t){this._now=re&&!1===t?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}var ce;!function(t){function i(t){return(i,e=null,s)=>{let n,o=!1;return n=t((t=>{if(!o)return n?n.dispose():o=!0,i.call(e,t)}),null,s),o&&n.dispose(),n}}function e(t,i,e){return n(((e,s=null,n)=>t((t=>e.call(s,i(t))),null,n)),e)}function s(t,i,e){return n(((e,s=null,n)=>t((t=>i(t)&&e.call(s,t)),null,n)),e)}function n(t,i){let e;const s=new fe({onWillAddFirstListener(){e=t(s.fire,s)},onDidRemoveLastListener(){null==e||e.dispose()}});return null==i||i.add(s),s.event}function o(t,i,e=100,s=!1,n=!1,o,r){let h,c,a,l,u=0;const d=new fe({leakWarningThreshold:o,onWillAddFirstListener(){h=t((t=>{u++,c=i(c,t),s&&!a&&(d.fire(c),c=void 0),l=()=>{const t=c;c=void 0,a=void 0,(!s||u>1)&&d.fire(t),u=0},"number"==typeof e?(clearTimeout(a),a=setTimeout(l,e)):void 0===a&&(a=0,queueMicrotask(l))}))},onWillRemoveListener(){n&&u>0&&(null==l||l())},onDidRemoveLastListener(){l=void 0,h.dispose()}});return null==r||r.add(d),d.event}t.None=()=>ie.None,t.defer=function(t,i){return o(t,(()=>{}),0,void 0,!0,void 0,i)},t.once=i,t.map=e,t.forEach=function(t,i,e){return n(((e,s=null,n)=>t((t=>{i(t),e.call(s,t)}),null,n)),e)},t.filter=s,t.signal=function(t){return t},t.any=function(...t){return(i,e=null,s)=>{return n=Yi(...t.map((t=>t((t=>i.call(e,t)))))),(o=s)instanceof Array?o.push(n):o&&o.add(n),n;var n,o}},t.reduce=function(t,i,s,n){let o=s;return e(t,(t=>(o=i(o,t),o)),n)},t.debounce=o,t.accumulate=function(i,e=0,s){return t.debounce(i,((t,i)=>t?(t.push(i),t):[i]),e,void 0,!0,void 0,s)},t.latch=function(t,i=((t,i)=>t===i),e){let n,o=!0;return s(t,(t=>{const e=o||!i(t,n);return o=!1,n=t,e}),e)},t.split=function(i,e,s){return[t.filter(i,e,s),t.filter(i,(t=>!e(t)),s)]},t.buffer=function(t,i=!1,e=[],s){let n=e.slice(),o=t((t=>{n?n.push(t):h.fire(t)}));s&&s.add(o);const r=()=>{null==n||n.forEach((t=>h.fire(t))),n=null},h=new fe({onWillAddFirstListener(){o||(o=t((t=>h.fire(t))),s&&s.add(o))},onDidAddFirstListener(){n&&(i?setTimeout(r):r())},onDidRemoveLastListener(){o&&o.dispose(),o=null}});return s&&s.add(h),h.event},t.chain=function(t,i){return(e,s,n)=>{const o=i(new h);return t((function(t){const i=o.evaluate(t);i!==r&&e.call(s,i)}),void 0,n)}};const r=Symbol("HaltChainable");class h{constructor(){this.steps=[]}map(t){return this.steps.push(t),this}forEach(t){return this.steps.push((i=>(t(i),i))),this}filter(t){return this.steps.push((i=>t(i)?i:r)),this}reduce(t,i){let e=i;return this.steps.push((i=>(e=t(e,i),e))),this}latch(t=((t,i)=>t===i)){let i,e=!0;return this.steps.push((s=>{const n=e||!t(s,i);return e=!1,i=s,n?s:r})),this}evaluate(t){for(const i of this.steps)if((t=i(t))===r)break;return t}}t.fromNodeEventEmitter=function(t,i,e=(t=>t)){const s=(...t)=>n.fire(e(...t)),n=new fe({onWillAddFirstListener:()=>t.on(i,s),onDidRemoveLastListener:()=>t.removeListener(i,s)});return n.event},t.fromDOMEventEmitter=function(t,i,e=(t=>t)){const s=(...t)=>n.fire(e(...t)),n=new fe({onWillAddFirstListener:()=>t.addEventListener(i,s),onDidRemoveLastListener:()=>t.removeEventListener(i,s)});return n.event},t.toPromise=function(t){return new Promise((e=>i(t)(e)))},t.fromPromise=function(t){const i=new fe;return t.then((t=>{i.fire(t)}),(()=>{i.fire(void 0)})).finally((()=>{i.dispose()})),i.event},t.runAndSubscribe=function(t,i,e){return i(e),t((t=>i(t)))},t.runAndSubscribeWithStore=function(t,i){let e=null;function s(t){null==e||e.dispose(),e=new te,i(t,e)}s(void 0);const n=t((t=>s(t)));return Xi((()=>{n.dispose(),null==e||e.dispose()}))};class c{constructor(t,i){this._observable=t,this._counter=0,this._hasChanged=!1,this.emitter=new fe({onWillAddFirstListener:()=>{t.addObserver(this)},onDidRemoveLastListener:()=>{t.removeObserver(this)}}),i&&i.add(this.emitter)}beginUpdate(t){this._counter++}handlePossibleChange(t){}handleChange(t,i){this._hasChanged=!0}endUpdate(t){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}t.fromObservable=function(t,i){return new c(t,i).emitter.event},t.fromObservableLight=function(t){return(i,e,s)=>{let n=0,o=!1;const r={beginUpdate(){n++},endUpdate(){n--,0===n&&(t.reportChanges(),o&&(o=!1,i.call(e)))},handlePossibleChange(){},handleChange(){o=!0}};t.addObserver(r),t.reportChanges();const h={dispose(){t.removeObserver(r)}};return s instanceof te?s.add(h):Array.isArray(s)&&s.push(h),h}}}(ce||(ce={}));class ae{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${ae._idPool++}`,ae.all.add(this)}start(t){this._stopWatch=new he,this.listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}}ae.all=new Set,ae._idPool=0;class le{constructor(t,i=Math.random().toString(18).slice(2,5)){this.threshold=t,this.name=i,this._warnCountdown=0}dispose(){var t;null===(t=this._stacks)||void 0===t||t.clear()}check(t,i){const e=this.threshold;if(e<=0||i{const i=this._stacks.get(t.value)||0;this._stacks.set(t.value,i-1)}}}class ue{static create(){var t;return new ue(null!==(t=(new Error).stack)&&void 0!==t?t:"")}constructor(t){this.value=t}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class de{constructor(t){this.value=t}}class fe{constructor(t){var i,e,s,n,o;this._size=0,this._options=t,this._leakageMon=(null===(i=this._options)||void 0===i?void 0:i.leakWarningThreshold)?new le(null!==(s=null===(e=this._options)||void 0===e?void 0:e.leakWarningThreshold)&&void 0!==s?s:-1):void 0,this._perfMon=(null===(n=this._options)||void 0===n?void 0:n._profName)?new ae(this._options._profName):void 0,this._deliveryQueue=null===(o=this._options)||void 0===o?void 0:o.deliveryQueue}dispose(){var t,i,e,s;this._disposed||(this._disposed=!0,(null===(t=this._deliveryQueue)||void 0===t?void 0:t.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),null===(e=null===(i=this._options)||void 0===i?void 0:i.onDidRemoveLastListener)||void 0===e||e.call(i),null===(s=this._leakageMon)||void 0===s||s.dispose())}get event(){var t;return null!==(t=this._event)&&void 0!==t||(this._event=(t,i,e)=>{var s,n,o,r,h;if(this._leakageMon&&this._size>3*this._leakageMon.threshold)return console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`),ie.None;if(this._disposed)return ie.None;i&&(t=t.bind(i));const c=new de(t);let a;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(c.stack=ue.create(),a=this._leakageMon.check(c.stack,this._size+1)),this._listeners?this._listeners instanceof de?(null!==(h=this._deliveryQueue)&&void 0!==h||(this._deliveryQueue=new pe),this._listeners=[this._listeners,c]):this._listeners.push(c):(null===(n=null===(s=this._options)||void 0===s?void 0:s.onWillAddFirstListener)||void 0===n||n.call(s,this),this._listeners=c,null===(r=null===(o=this._options)||void 0===o?void 0:o.onDidAddFirstListener)||void 0===r||r.call(o,this)),this._size++;const l=Xi((()=>{null==a||a(),this._removeListener(c)}));return e instanceof te?e.add(l):Array.isArray(e)&&e.push(l),l}),this._event}_removeListener(t){var i,e,s,n;if(null===(e=null===(i=this._options)||void 0===i?void 0:i.onWillRemoveListener)||void 0===e||e.call(i,this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,null===(n=null===(s=this._options)||void 0===s?void 0:s.onDidRemoveLastListener)||void 0===n||n.call(s,this),void(this._size=0);const o=this._listeners,r=o.indexOf(t);if(-1===r)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--,o[r]=void 0;const h=this._deliveryQueue.current===this;if(2*this._size<=o.length){let t=0;for(let i=0;i0}}class pe{constructor(){this.i=-1,this.end=0}enqueue(t,i,e){this.i=0,this.end=e,this.current=t,this.value=i}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class ge extends fe{constructor(t){super(t),this._isPaused=0,this._eventQueue=new qt,this._mergeFn=null==t?void 0:t.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){if(this._eventQueue.size>0){const t=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(t))}}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(t){this._size&&(0!==this._isPaused?this._eventQueue.push(t):super.fire(t))}}class me extends ge{constructor(t){var i;super(t),this._delay=null!==(i=t.delay)&&void 0!==i?i:100}fire(t){this._handle||(this.pause(),this._handle=setTimeout((()=>{this._handle=void 0,this.resume()}),this._delay)),super.fire(t)}}class we extends fe{constructor(t){super(t),this._queuedEvents=[],this._mergeFn=null==t?void 0:t.merge}fire(t){this.hasListeners()&&(this._queuedEvents.push(t),1===this._queuedEvents.length&&queueMicrotask((()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach((t=>super.fire(t))),this._queuedEvents=[]})))}}class ve{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new fe({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(t){const i={event:t,listener:null};return this.events.push(i),this.hasListeners&&this.hook(i),Xi(Zi((()=>{this.hasListeners&&this.unhook(i);const t=this.events.indexOf(i);this.events.splice(t,1)})))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach((t=>this.hook(t)))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach((t=>this.unhook(t)))}hook(t){t.listener=t.event((t=>this.emitter.fire(t)))}unhook(t){t.listener&&t.listener.dispose(),t.listener=null}dispose(){this.emitter.dispose()}}class be{constructor(){this.buffers=[]}wrapEvent(t){return(i,e,s)=>t((t=>{const s=this.buffers[this.buffers.length-1];s?s.push((()=>i.call(e,t))):i.call(e,t)}),void 0,s)}bufferEvents(t){const i=[];this.buffers.push(i);const e=t();return this.buffers.pop(),i.forEach((t=>t())),e}}class ye{constructor(){this.listening=!1,this.inputEvent=ce.None,this.inputEventListener=ie.None,this.emitter=new fe({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(t){this.inputEvent=t,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=t(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const ke=Object.freeze((function(t,i){const e=setTimeout(t.bind(i),0);return{dispose(){clearTimeout(e)}}}));var xe;!function(t){t.isCancellationToken=function(i){return i===t.None||i===t.Cancelled||i instanceof Ce||!(!i||"object"!=typeof i)&&"boolean"==typeof i.isCancellationRequested&&"function"==typeof i.onCancellationRequested},t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ce.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:ke})}(xe||(xe={}));class Ce{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?ke:(this._emitter||(this._emitter=new fe),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Se{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Ce),this._token}cancel(){this._token?this._token instanceof Ce&&this._token.cancel():this._token=xe.Cancelled}dispose(t=!1){var i;t&&this.cancel(),null===(i=this._parentListener)||void 0===i||i.dispose(),this._token?this._token instanceof Ce&&this._token.dispose():this._token=xe.None}}class De{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,i){this._keyCodeToStr[t]=i,this._strToKeyCode[i.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const Ee=new De,Ae=new De,Me=new De,Le=new Array(230),Fe=[],Te=Object.create(null),Re=Object.create(null),Oe=[],Ie=[];for(let t=0;t<=193;t++)Oe[t]=-1;for(let t=0;t<=132;t++)Ie[t]=-1;var _e;function Ne(t,i){return(t|(65535&i)<<16>>>0)>>>0}let Be;!function(){const t="",i=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",t,t],[1,1,"Hyper",0,t,0,t,t,t],[1,2,"Super",0,t,0,t,t,t],[1,3,"Fn",0,t,0,t,t,t],[1,4,"FnLock",0,t,0,t,t,t],[1,5,"Suspend",0,t,0,t,t,t],[1,6,"Resume",0,t,0,t,t,t],[1,7,"Turbo",0,t,0,t,t,t],[1,8,"Sleep",0,t,0,"VK_SLEEP",t,t],[1,9,"WakeUp",0,t,0,t,t,t],[0,10,"KeyA",31,"A",65,"VK_A",t,t],[0,11,"KeyB",32,"B",66,"VK_B",t,t],[0,12,"KeyC",33,"C",67,"VK_C",t,t],[0,13,"KeyD",34,"D",68,"VK_D",t,t],[0,14,"KeyE",35,"E",69,"VK_E",t,t],[0,15,"KeyF",36,"F",70,"VK_F",t,t],[0,16,"KeyG",37,"G",71,"VK_G",t,t],[0,17,"KeyH",38,"H",72,"VK_H",t,t],[0,18,"KeyI",39,"I",73,"VK_I",t,t],[0,19,"KeyJ",40,"J",74,"VK_J",t,t],[0,20,"KeyK",41,"K",75,"VK_K",t,t],[0,21,"KeyL",42,"L",76,"VK_L",t,t],[0,22,"KeyM",43,"M",77,"VK_M",t,t],[0,23,"KeyN",44,"N",78,"VK_N",t,t],[0,24,"KeyO",45,"O",79,"VK_O",t,t],[0,25,"KeyP",46,"P",80,"VK_P",t,t],[0,26,"KeyQ",47,"Q",81,"VK_Q",t,t],[0,27,"KeyR",48,"R",82,"VK_R",t,t],[0,28,"KeyS",49,"S",83,"VK_S",t,t],[0,29,"KeyT",50,"T",84,"VK_T",t,t],[0,30,"KeyU",51,"U",85,"VK_U",t,t],[0,31,"KeyV",52,"V",86,"VK_V",t,t],[0,32,"KeyW",53,"W",87,"VK_W",t,t],[0,33,"KeyX",54,"X",88,"VK_X",t,t],[0,34,"KeyY",55,"Y",89,"VK_Y",t,t],[0,35,"KeyZ",56,"Z",90,"VK_Z",t,t],[0,36,"Digit1",22,"1",49,"VK_1",t,t],[0,37,"Digit2",23,"2",50,"VK_2",t,t],[0,38,"Digit3",24,"3",51,"VK_3",t,t],[0,39,"Digit4",25,"4",52,"VK_4",t,t],[0,40,"Digit5",26,"5",53,"VK_5",t,t],[0,41,"Digit6",27,"6",54,"VK_6",t,t],[0,42,"Digit7",28,"7",55,"VK_7",t,t],[0,43,"Digit8",29,"8",56,"VK_8",t,t],[0,44,"Digit9",30,"9",57,"VK_9",t,t],[0,45,"Digit0",21,"0",48,"VK_0",t,t],[1,46,"Enter",3,"Enter",13,"VK_RETURN",t,t],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",t,t],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",t,t],[1,49,"Tab",2,"Tab",9,"VK_TAB",t,t],[1,50,"Space",10,"Space",32,"VK_SPACE",t,t],[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,t,0,t,t,t],[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",t,t],[1,64,"F1",59,"F1",112,"VK_F1",t,t],[1,65,"F2",60,"F2",113,"VK_F2",t,t],[1,66,"F3",61,"F3",114,"VK_F3",t,t],[1,67,"F4",62,"F4",115,"VK_F4",t,t],[1,68,"F5",63,"F5",116,"VK_F5",t,t],[1,69,"F6",64,"F6",117,"VK_F6",t,t],[1,70,"F7",65,"F7",118,"VK_F7",t,t],[1,71,"F8",66,"F8",119,"VK_F8",t,t],[1,72,"F9",67,"F9",120,"VK_F9",t,t],[1,73,"F10",68,"F10",121,"VK_F10",t,t],[1,74,"F11",69,"F11",122,"VK_F11",t,t],[1,75,"F12",70,"F12",123,"VK_F12",t,t],[1,76,"PrintScreen",0,t,0,t,t,t],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",t,t],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",t,t],[1,79,"Insert",19,"Insert",45,"VK_INSERT",t,t],[1,80,"Home",14,"Home",36,"VK_HOME",t,t],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",t,t],[1,82,"Delete",20,"Delete",46,"VK_DELETE",t,t],[1,83,"End",13,"End",35,"VK_END",t,t],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",t,t],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",t],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",t],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",t],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",t],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",t,t],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",t,t],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",t,t],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",t,t],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",t,t],[1,94,"NumpadEnter",3,t,0,t,t,t],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",t,t],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",t,t],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",t,t],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",t,t],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",t,t],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",t,t],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",t,t],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",t,t],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",t,t],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",t,t],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",t,t],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",t,t],[1,107,"ContextMenu",58,"ContextMenu",93,t,t,t],[1,108,"Power",0,t,0,t,t,t],[1,109,"NumpadEqual",0,t,0,t,t,t],[1,110,"F13",71,"F13",124,"VK_F13",t,t],[1,111,"F14",72,"F14",125,"VK_F14",t,t],[1,112,"F15",73,"F15",126,"VK_F15",t,t],[1,113,"F16",74,"F16",127,"VK_F16",t,t],[1,114,"F17",75,"F17",128,"VK_F17",t,t],[1,115,"F18",76,"F18",129,"VK_F18",t,t],[1,116,"F19",77,"F19",130,"VK_F19",t,t],[1,117,"F20",78,"F20",131,"VK_F20",t,t],[1,118,"F21",79,"F21",132,"VK_F21",t,t],[1,119,"F22",80,"F22",133,"VK_F22",t,t],[1,120,"F23",81,"F23",134,"VK_F23",t,t],[1,121,"F24",82,"F24",135,"VK_F24",t,t],[1,122,"Open",0,t,0,t,t,t],[1,123,"Help",0,t,0,t,t,t],[1,124,"Select",0,t,0,t,t,t],[1,125,"Again",0,t,0,t,t,t],[1,126,"Undo",0,t,0,t,t,t],[1,127,"Cut",0,t,0,t,t,t],[1,128,"Copy",0,t,0,t,t,t],[1,129,"Paste",0,t,0,t,t,t],[1,130,"Find",0,t,0,t,t,t],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",t,t],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",t,t],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",t,t],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",t,t],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",t,t],[1,136,"KanaMode",0,t,0,t,t,t],[0,137,"IntlYen",0,t,0,t,t,t],[1,138,"Convert",0,t,0,t,t,t],[1,139,"NonConvert",0,t,0,t,t,t],[1,140,"Lang1",0,t,0,t,t,t],[1,141,"Lang2",0,t,0,t,t,t],[1,142,"Lang3",0,t,0,t,t,t],[1,143,"Lang4",0,t,0,t,t,t],[1,144,"Lang5",0,t,0,t,t,t],[1,145,"Abort",0,t,0,t,t,t],[1,146,"Props",0,t,0,t,t,t],[1,147,"NumpadParenLeft",0,t,0,t,t,t],[1,148,"NumpadParenRight",0,t,0,t,t,t],[1,149,"NumpadBackspace",0,t,0,t,t,t],[1,150,"NumpadMemoryStore",0,t,0,t,t,t],[1,151,"NumpadMemoryRecall",0,t,0,t,t,t],[1,152,"NumpadMemoryClear",0,t,0,t,t,t],[1,153,"NumpadMemoryAdd",0,t,0,t,t,t],[1,154,"NumpadMemorySubtract",0,t,0,t,t,t],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",t,t],[1,156,"NumpadClearEntry",0,t,0,t,t,t],[1,0,t,5,"Ctrl",17,"VK_CONTROL",t,t],[1,0,t,4,"Shift",16,"VK_SHIFT",t,t],[1,0,t,6,"Alt",18,"VK_MENU",t,t],[1,0,t,57,"Meta",91,"VK_COMMAND",t,t],[1,157,"ControlLeft",5,t,0,"VK_LCONTROL",t,t],[1,158,"ShiftLeft",4,t,0,"VK_LSHIFT",t,t],[1,159,"AltLeft",6,t,0,"VK_LMENU",t,t],[1,160,"MetaLeft",57,t,0,"VK_LWIN",t,t],[1,161,"ControlRight",5,t,0,"VK_RCONTROL",t,t],[1,162,"ShiftRight",4,t,0,"VK_RSHIFT",t,t],[1,163,"AltRight",6,t,0,"VK_RMENU",t,t],[1,164,"MetaRight",57,t,0,"VK_RWIN",t,t],[1,165,"BrightnessUp",0,t,0,t,t,t],[1,166,"BrightnessDown",0,t,0,t,t,t],[1,167,"MediaPlay",0,t,0,t,t,t],[1,168,"MediaRecord",0,t,0,t,t,t],[1,169,"MediaFastForward",0,t,0,t,t,t],[1,170,"MediaRewind",0,t,0,t,t,t],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",t,t],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",t,t],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",t,t],[1,174,"Eject",0,t,0,t,t,t],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",t,t],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",t,t],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",t,t],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",t,t],[1,179,"LaunchApp1",0,t,0,"VK_MEDIA_LAUNCH_APP1",t,t],[1,180,"SelectTask",0,t,0,t,t,t],[1,181,"LaunchScreenSaver",0,t,0,t,t,t],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",t,t],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",t,t],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",t,t],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",t,t],[1,186,"BrowserStop",0,t,0,"VK_BROWSER_STOP",t,t],[1,187,"BrowserRefresh",0,t,0,"VK_BROWSER_REFRESH",t,t],[1,188,"BrowserFavorites",0,t,0,"VK_BROWSER_FAVORITES",t,t],[1,189,"ZoomToggle",0,t,0,t,t,t],[1,190,"MailReply",0,t,0,t,t,t],[1,191,"MailForward",0,t,0,t,t,t],[1,192,"MailSend",0,t,0,t,t,t],[1,0,t,114,"KeyInComposition",229,t,t,t],[1,0,t,116,"ABNT_C2",194,"VK_ABNT_C2",t,t],[1,0,t,96,"OEM_8",223,"VK_OEM_8",t,t],[1,0,t,0,t,0,"VK_KANA",t,t],[1,0,t,0,t,0,"VK_HANGUL",t,t],[1,0,t,0,t,0,"VK_JUNJA",t,t],[1,0,t,0,t,0,"VK_FINAL",t,t],[1,0,t,0,t,0,"VK_HANJA",t,t],[1,0,t,0,t,0,"VK_KANJI",t,t],[1,0,t,0,t,0,"VK_CONVERT",t,t],[1,0,t,0,t,0,"VK_NONCONVERT",t,t],[1,0,t,0,t,0,"VK_ACCEPT",t,t],[1,0,t,0,t,0,"VK_MODECHANGE",t,t],[1,0,t,0,t,0,"VK_SELECT",t,t],[1,0,t,0,t,0,"VK_PRINT",t,t],[1,0,t,0,t,0,"VK_EXECUTE",t,t],[1,0,t,0,t,0,"VK_SNAPSHOT",t,t],[1,0,t,0,t,0,"VK_HELP",t,t],[1,0,t,0,t,0,"VK_APPS",t,t],[1,0,t,0,t,0,"VK_PROCESSKEY",t,t],[1,0,t,0,t,0,"VK_PACKET",t,t],[1,0,t,0,t,0,"VK_DBE_SBCSCHAR",t,t],[1,0,t,0,t,0,"VK_DBE_DBCSCHAR",t,t],[1,0,t,0,t,0,"VK_ATTN",t,t],[1,0,t,0,t,0,"VK_CRSEL",t,t],[1,0,t,0,t,0,"VK_EXSEL",t,t],[1,0,t,0,t,0,"VK_EREOF",t,t],[1,0,t,0,t,0,"VK_PLAY",t,t],[1,0,t,0,t,0,"VK_ZOOM",t,t],[1,0,t,0,t,0,"VK_NONAME",t,t],[1,0,t,0,t,0,"VK_PA1",t,t],[1,0,t,0,t,0,"VK_OEM_CLEAR",t,t]],e=[],s=[];for(const t of i){const[i,n,o,r,h,c,a,l,u]=t;if(s[n]||(s[n]=!0,Fe[n]=o,Te[o]=n,Re[o.toLowerCase()]=n,i&&(Oe[n]=r,0!==r&&3!==r&&5!==r&&4!==r&&6!==r&&57!==r&&(Ie[r]=n))),!e[r]){if(e[r]=!0,!h)throw new Error(`String representation missing for key code ${r} around scan code ${o}`);Ee.define(r,h),Ae.define(r,l||h),Me.define(r,u||l||h)}c&&(Le[c]=r)}Ie[3]=46}(),function(t){t.toString=function(t){return Ee.keyCodeToStr(t)},t.fromString=function(t){return Ee.strToKeyCode(t)},t.toUserSettingsUS=function(t){return Ae.keyCodeToStr(t)},t.toUserSettingsGeneral=function(t){return Me.keyCodeToStr(t)},t.fromUserSettings=function(t){return Ae.strToKeyCode(t)||Me.strToKeyCode(t)},t.toElectronAccelerator=function(t){if(t>=98&&t<=113)return null;switch(t){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Ee.keyCodeToStr(t)}}(_e||(_e={}));const Pe=globalThis.vscode;if(void 0!==Pe&&void 0!==Pe.process){const t=Pe.process;Be={get platform(){return t.platform},get arch(){return t.arch},get env(){return t.env},cwd:()=>t.cwd()}}else Be="undefined"!=typeof process?{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 Ct?"win32":St?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const $e=Be.cwd,We=Be.env,je=Be.platform,ze=46,He=47,Ve=92,Ue=58;class qe extends Error{constructor(t,i,e){let s;"string"==typeof i&&0===i.indexOf("not ")?(s="must not be",i=i.replace(/^not /,"")):s="must be";const n=-1!==t.indexOf(".")?"property":"argument";let o=`The "${t}" ${n} ${s} of type ${i}`;o+=". Received type "+typeof e,super(o),this.code="ERR_INVALID_ARG_TYPE"}}function Ke(t,i){if("string"!=typeof t)throw new qe(i,"string",t)}const Ge="win32"===je;function Ze(t){return t===He||t===Ve}function Qe(t){return t===He}function Je(t){return t>=65&&t<=90||t>=97&&t<=122}function Ye(t,i,e,s){let n="",o=0,r=-1,h=0,c=0;for(let a=0;a<=t.length;++a){if(a2){const t=n.lastIndexOf(e);-1===t?(n="",o=0):(n=n.slice(0,t),o=n.length-1-n.lastIndexOf(e)),r=a,h=0;continue}if(0!==n.length){n="",o=0,r=a,h=0;continue}}i&&(n+=n.length>0?`${e}..`:"..",o=2)}else n.length>0?n+=`${e}${t.slice(r+1,a)}`:n=t.slice(r+1,a),o=a-r-1;r=a,h=0}else c===ze&&-1!==h?++h:h=-1}return n}function Xe(t,i){!function(t){if(null===t||"object"!=typeof t)throw new qe("pathObject","Object",t)}(i);const e=i.dir||i.root,s=i.base||`${i.name||""}${i.ext||""}`;return e?e===i.root?`${e}${s}`:`${e}${t}${s}`:s}const ts={resolve(...t){let i="",e="",s=!1;for(let n=t.length-1;n>=-1;n--){let o;if(n>=0){if(o=t[n],Ke(o,"path"),0===o.length)continue}else 0===i.length?o=$e():(o=We[`=${i}`]||$e(),(void 0===o||o.slice(0,2).toLowerCase()!==i.toLowerCase()&&o.charCodeAt(2)===Ve)&&(o=`${i}\\`));const r=o.length;let h=0,c="",a=!1;const l=o.charCodeAt(0);if(1===r)Ze(l)&&(h=1,a=!0);else if(Ze(l))if(a=!0,Ze(o.charCodeAt(1))){let t=2,i=t;for(;t2&&Ze(o.charCodeAt(2))&&(a=!0,h=3));if(c.length>0)if(i.length>0){if(c.toLowerCase()!==i.toLowerCase())continue}else i=c;if(s){if(i.length>0)break}else if(e=`${o.slice(h)}\\${e}`,s=a,a&&i.length>0)break}return e=Ye(e,!s,"\\",Ze),s?`${i}\\${e}`:`${i}${e}`||"."},normalize(t){Ke(t,"path");const i=t.length;if(0===i)return".";let e,s=0,n=!1;const o=t.charCodeAt(0);if(1===i)return Qe(o)?"\\":t;if(Ze(o))if(n=!0,Ze(t.charCodeAt(1))){let n=2,o=n;for(;n2&&Ze(t.charCodeAt(2))&&(n=!0,s=3));let r=s0&&Ze(t.charCodeAt(i-1))&&(r+="\\"),void 0===e?n?`\\${r}`:r:n?`${e}\\${r}`:`${e}${r}`},isAbsolute(t){Ke(t,"path");const i=t.length;if(0===i)return!1;const e=t.charCodeAt(0);return Ze(e)||i>2&&Je(e)&&t.charCodeAt(1)===Ue&&Ze(t.charCodeAt(2))},join(...t){if(0===t.length)return".";let i,e;for(let s=0;s0&&(void 0===i?i=e=n:i+=`\\${n}`)}if(void 0===i)return".";let s=!0,n=0;if("string"==typeof e&&Ze(e.charCodeAt(0))){++n;const t=e.length;t>1&&Ze(e.charCodeAt(1))&&(++n,t>2&&(Ze(e.charCodeAt(2))?++n:s=!1))}if(s){for(;n=2&&(i=`\\${i.slice(n)}`)}return ts.normalize(i)},relative(t,i){if(Ke(t,"from"),Ke(i,"to"),t===i)return"";const e=ts.resolve(t),s=ts.resolve(i);if(e===s)return"";if((t=e.toLowerCase())===(i=s.toLowerCase()))return"";let n=0;for(;nn&&t.charCodeAt(o-1)===Ve;)o--;const r=o-n;let h=0;for(;hh&&i.charCodeAt(c-1)===Ve;)c--;const a=c-h,l=rl){if(i.charCodeAt(h+d)===Ve)return s.slice(h+d+1);if(2===d)return s.slice(h+d)}r>l&&(t.charCodeAt(n+d)===Ve?u=d:2===d&&(u=3)),-1===u&&(u=0)}let f="";for(d=n+u+1;d<=o;++d)d!==o&&t.charCodeAt(d)!==Ve||(f+=0===f.length?"..":"\\..");return h+=u,f.length>0?`${f}${s.slice(h,c)}`:(s.charCodeAt(h)===Ve&&++h,s.slice(h,c))},toNamespacedPath(t){if("string"!=typeof t||0===t.length)return t;const i=ts.resolve(t);if(i.length<=2)return t;if(i.charCodeAt(0)===Ve){if(i.charCodeAt(1)===Ve){const t=i.charCodeAt(2);if(63!==t&&t!==ze)return`\\\\?\\UNC\\${i.slice(2)}`}}else if(Je(i.charCodeAt(0))&&i.charCodeAt(1)===Ue&&i.charCodeAt(2)===Ve)return`\\\\?\\${i}`;return t},dirname(t){Ke(t,"path");const i=t.length;if(0===i)return".";let e=-1,s=0;const n=t.charCodeAt(0);if(1===i)return Ze(n)?t:".";if(Ze(n)){if(e=s=1,Ze(t.charCodeAt(1))){let n=2,o=n;for(;n2&&Ze(t.charCodeAt(2))?3:2,s=e);let o=-1,r=!0;for(let e=i-1;e>=s;--e)if(Ze(t.charCodeAt(e))){if(!r){o=e;break}}else r=!1;if(-1===o){if(-1===e)return".";o=e}return t.slice(0,o)},basename(t,i){void 0!==i&&Ke(i,"ext"),Ke(t,"path");let e,s=0,n=-1,o=!0;if(t.length>=2&&Je(t.charCodeAt(0))&&t.charCodeAt(1)===Ue&&(s=2),void 0!==i&&i.length>0&&i.length<=t.length){if(i===t)return"";let r=i.length-1,h=-1;for(e=t.length-1;e>=s;--e){const c=t.charCodeAt(e);if(Ze(c)){if(!o){s=e+1;break}}else-1===h&&(o=!1,h=e+1),r>=0&&(c===i.charCodeAt(r)?-1==--r&&(n=e):(r=-1,n=h))}return s===n?n=h:-1===n&&(n=t.length),t.slice(s,n)}for(e=t.length-1;e>=s;--e)if(Ze(t.charCodeAt(e))){if(!o){s=e+1;break}}else-1===n&&(o=!1,n=e+1);return-1===n?"":t.slice(s,n)},extname(t){Ke(t,"path");let i=0,e=-1,s=0,n=-1,o=!0,r=0;t.length>=2&&t.charCodeAt(1)===Ue&&Je(t.charCodeAt(0))&&(i=s=2);for(let h=t.length-1;h>=i;--h){const i=t.charCodeAt(h);if(Ze(i)){if(!o){s=h+1;break}}else-1===n&&(o=!1,n=h+1),i===ze?-1===e?e=h:1!==r&&(r=1):-1!==e&&(r=-1)}return-1===e||-1===n||0===r||1===r&&e===n-1&&e===s+1?"":t.slice(e,n)},format:Xe.bind(null,"\\"),parse(t){Ke(t,"path");const i={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return i;const e=t.length;let s=0,n=t.charCodeAt(0);if(1===e)return Ze(n)?(i.root=i.dir=t,i):(i.base=i.name=t,i);if(Ze(n)){if(s=1,Ze(t.charCodeAt(1))){let i=2,n=i;for(;i0&&(i.root=t.slice(0,s));let o=-1,r=s,h=-1,c=!0,a=t.length-1,l=0;for(;a>=s;--a)if(n=t.charCodeAt(a),Ze(n)){if(!c){r=a+1;break}}else-1===h&&(c=!1,h=a+1),n===ze?-1===o?o=a:1!==l&&(l=1):-1!==o&&(l=-1);return-1!==h&&(-1===o||0===l||1===l&&o===h-1&&o===r+1?i.base=i.name=t.slice(r,h):(i.name=t.slice(r,o),i.base=t.slice(r,h),i.ext=t.slice(o,h))),i.dir=r>0&&r!==s?t.slice(0,r-1):i.root,i},sep:"\\",delimiter:";",win32:null,posix:null},is=(()=>{if(Ge){const t=/\\/g;return()=>{const i=$e().replace(t,"/");return i.slice(i.indexOf("/"))}}return()=>$e()})(),es={resolve(...t){let i="",e=!1;for(let s=t.length-1;s>=-1&&!e;s--){const n=s>=0?t[s]:is();Ke(n,"path"),0!==n.length&&(i=`${n}/${i}`,e=n.charCodeAt(0)===He)}return i=Ye(i,!e,"/",Qe),e?`/${i}`:i.length>0?i:"."},normalize(t){if(Ke(t,"path"),0===t.length)return".";const i=t.charCodeAt(0)===He,e=t.charCodeAt(t.length-1)===He;return 0===(t=Ye(t,!i,"/",Qe)).length?i?"/":e?"./":".":(e&&(t+="/"),i?`/${t}`:t)},isAbsolute:t=>(Ke(t,"path"),t.length>0&&t.charCodeAt(0)===He),join(...t){if(0===t.length)return".";let i;for(let e=0;e0&&(void 0===i?i=s:i+=`/${s}`)}return void 0===i?".":es.normalize(i)},relative(t,i){if(Ke(t,"from"),Ke(i,"to"),t===i)return"";if((t=es.resolve(t))===(i=es.resolve(i)))return"";const e=t.length,s=e-1,n=i.length-1,o=so){if(i.charCodeAt(1+h)===He)return i.slice(1+h+1);if(0===h)return i.slice(1+h)}else s>o&&(t.charCodeAt(1+h)===He?r=h:0===h&&(r=0));let c="";for(h=1+r+1;h<=e;++h)h!==e&&t.charCodeAt(h)!==He||(c+=0===c.length?"..":"/..");return`${c}${i.slice(1+r)}`},toNamespacedPath:t=>t,dirname(t){if(Ke(t,"path"),0===t.length)return".";const i=t.charCodeAt(0)===He;let e=-1,s=!0;for(let i=t.length-1;i>=1;--i)if(t.charCodeAt(i)===He){if(!s){e=i;break}}else s=!1;return-1===e?i?"/":".":i&&1===e?"//":t.slice(0,e)},basename(t,i){void 0!==i&&Ke(i,"ext"),Ke(t,"path");let e,s=0,n=-1,o=!0;if(void 0!==i&&i.length>0&&i.length<=t.length){if(i===t)return"";let r=i.length-1,h=-1;for(e=t.length-1;e>=0;--e){const c=t.charCodeAt(e);if(c===He){if(!o){s=e+1;break}}else-1===h&&(o=!1,h=e+1),r>=0&&(c===i.charCodeAt(r)?-1==--r&&(n=e):(r=-1,n=h))}return s===n?n=h:-1===n&&(n=t.length),t.slice(s,n)}for(e=t.length-1;e>=0;--e)if(t.charCodeAt(e)===He){if(!o){s=e+1;break}}else-1===n&&(o=!1,n=e+1);return-1===n?"":t.slice(s,n)},extname(t){Ke(t,"path");let i=-1,e=0,s=-1,n=!0,o=0;for(let r=t.length-1;r>=0;--r){const h=t.charCodeAt(r);if(h!==He)-1===s&&(n=!1,s=r+1),h===ze?-1===i?i=r:1!==o&&(o=1):-1!==i&&(o=-1);else if(!n){e=r+1;break}}return-1===i||-1===s||0===o||1===o&&i===s-1&&i===e+1?"":t.slice(i,s)},format:Xe.bind(null,"/"),parse(t){Ke(t,"path");const i={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return i;const e=t.charCodeAt(0)===He;let s;e?(i.root="/",s=1):s=0;let n=-1,o=0,r=-1,h=!0,c=t.length-1,a=0;for(;c>=s;--c){const i=t.charCodeAt(c);if(i!==He)-1===r&&(h=!1,r=c+1),i===ze?-1===n?n=c:1!==a&&(a=1):-1!==n&&(a=-1);else if(!h){o=c+1;break}}if(-1!==r){const s=0===o&&e?1:o;-1===n||0===a||1===a&&n===r-1&&n===o+1?i.base=i.name=t.slice(s,r):(i.name=t.slice(s,n),i.base=t.slice(s,r),i.ext=t.slice(n,r))}return o>0?i.dir=t.slice(0,o-1):e&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null};es.win32=ts.win32=ts,es.posix=ts.posix=es;const ss=Ge?ts.normalize:es.normalize,ns=Ge?ts.resolve:es.resolve,os=Ge?ts.relative:es.relative,rs=Ge?ts.dirname:es.dirname,hs=Ge?ts.basename:es.basename,cs=Ge?ts.extname:es.extname,as=Ge?ts.sep:es.sep,ls=/^\w[\w\d+.-]*$/,us=/^\//,ds=/^\/\//,fs="",ps="/",gs=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class ms{static isUri(t){return t instanceof ms||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString}constructor(t,i,e,s,n,o=!1){"object"==typeof t?(this.scheme=t.scheme||fs,this.authority=t.authority||fs,this.path=t.path||fs,this.query=t.query||fs,this.fragment=t.fragment||fs):(this.scheme=function(t,i){return t||i?t:"file"}(t,o),this.authority=i||fs,this.path=function(t,i){switch(t){case"https":case"http":case"file":i?i[0]!==ps&&(i=ps+i):i=ps}return i}(this.scheme,e||fs),this.query=s||fs,this.fragment=n||fs,function(t,i){if(!t.scheme&&i)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${t.authority}", path: "${t.path}", query: "${t.query}", fragment: "${t.fragment}"}`);if(t.scheme&&!ls.test(t.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(t.path)if(t.authority){if(!us.test(t.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(ds.test(t.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,o))}get fsPath(){return xs(this,!1)}with(t){if(!t)return this;let{scheme:i,authority:e,path:s,query:n,fragment:o}=t;return void 0===i?i=this.scheme:null===i&&(i=fs),void 0===e?e=this.authority:null===e&&(e=fs),void 0===s?s=this.path:null===s&&(s=fs),void 0===n?n=this.query:null===n&&(n=fs),void 0===o?o=this.fragment:null===o&&(o=fs),i===this.scheme&&e===this.authority&&s===this.path&&n===this.query&&o===this.fragment?this:new vs(i,e,s,n,o)}static parse(t,i=!1){const e=gs.exec(t);return e?new vs(e[2]||fs,Es(e[4]||fs),Es(e[5]||fs),Es(e[7]||fs),Es(e[9]||fs),i):new vs(fs,fs,fs,fs,fs)}static file(t){let i=fs;if(Ct&&(t=t.replace(/\\/g,ps)),t[0]===ps&&t[1]===ps){const e=t.indexOf(ps,2);-1===e?(i=t.substring(2),t=ps):(i=t.substring(2,e),t=t.substring(e)||ps)}return new vs("file",i,t,fs,fs)}static from(t,i){return new vs(t.scheme,t.authority,t.path,t.query,t.fragment,i)}static joinPath(t,...i){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let e;return e=Ct&&"file"===t.scheme?ms.file(ts.join(xs(t,!0),...i)).path:es.join(t.path,...i),t.with({path:e})}toString(t=!1){return Cs(this,t)}toJSON(){return this}static revive(t){var i,e;if(t){if(t instanceof ms)return t;{const s=new vs(t);return s._formatted=null!==(i=t.external)&&void 0!==i?i:null,s._fsPath=t._sep===ws&&null!==(e=t.fsPath)&&void 0!==e?e:null,s}}return t}}const ws=Ct?1:void 0;class vs extends ms{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=xs(this,!1)),this._fsPath}toString(t=!1){return t?Cs(this,!0):(this._formatted||(this._formatted=Cs(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=ws),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const bs={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 ys(t,i,e){let s,n=-1;for(let o=0;o=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||i&&47===r||e&&91===r||e&&93===r||e&&58===r)-1!==n&&(s+=encodeURIComponent(t.substring(n,o)),n=-1),void 0!==s&&(s+=t.charAt(o));else{void 0===s&&(s=t.substr(0,o));const i=bs[r];void 0!==i?(-1!==n&&(s+=encodeURIComponent(t.substring(n,o)),n=-1),s+=i):-1===n&&(n=o)}}return-1!==n&&(s+=encodeURIComponent(t.substring(n))),void 0!==s?s:t}function ks(t){let i;for(let e=0;e1&&"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)?i?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,Ct&&(e=e.replace(/\//g,"\\")),e}function Cs(t,i){const e=i?ks:ys;let s="",{scheme:n,authority:o,path:r,query:h,fragment:c}=t;if(n&&(s+=n,s+=":"),(o||"file"===n)&&(s+=ps,s+=ps),o){let t=o.indexOf("@");if(-1!==t){const i=o.substr(0,t);o=o.substr(t+1),t=i.lastIndexOf(":"),-1===t?s+=e(i,!1,!1):(s+=e(i.substr(0,t),!1,!1),s+=":",s+=e(i.substr(t+1),!1,!0)),s+="@"}o=o.toLowerCase(),t=o.lastIndexOf(":"),-1===t?s+=e(o,!1,!0):(s+=e(o.substr(0,t),!1,!0),s+=o.substr(t))}if(r){if(r.length>=3&&47===r.charCodeAt(0)&&58===r.charCodeAt(2)){const t=r.charCodeAt(1);t>=65&&t<=90&&(r=`/${String.fromCharCode(t+32)}:${r.substr(3)}`)}else if(r.length>=2&&58===r.charCodeAt(1)){const t=r.charCodeAt(0);t>=65&&t<=90&&(r=`${String.fromCharCode(t+32)}:${r.substr(2)}`)}s+=e(r,!0,!1)}return h&&(s+="?",s+=e(h,!1,!1)),c&&(s+="#",s+=i?c:ys(c,!1,!1)),s}function Ss(t){try{return decodeURIComponent(t)}catch(i){return t.length>3?t.substr(0,3)+Ss(t.substr(3)):t}}const Ds=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Es(t){return t.match(Ds)?t.replace(Ds,(t=>Ss(t))):t}class As{constructor(t,i){this.lineNumber=t,this.column=i}with(t=this.lineNumber,i=this.column){return t===this.lineNumber&&i===this.column?this:new As(t,i)}delta(t=0,i=0){return this.with(this.lineNumber+t,this.column+i)}equals(t){return As.equals(this,t)}static equals(t,i){return!t&&!i||!!t&&!!i&&t.lineNumber===i.lineNumber&&t.column===i.column}isBefore(t){return As.isBefore(this,t)}static isBefore(t,i){return t.lineNumbere||t===e&&i>s?(this.startLineNumber=e,this.startColumn=s,this.endLineNumber=t,this.endColumn=i):(this.startLineNumber=t,this.startColumn=i,this.endLineNumber=e,this.endColumn=s)}isEmpty(){return Ms.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return Ms.containsPosition(this,t)}static containsPosition(t,i){return!(i.lineNumbert.endLineNumber||i.lineNumber===t.startLineNumber&&i.columnt.endColumn)}static strictContainsPosition(t,i){return!(i.lineNumbert.endLineNumber||i.lineNumber===t.startLineNumber&&i.column<=t.startColumn||i.lineNumber===t.endLineNumber&&i.column>=t.endColumn)}containsRange(t){return Ms.containsRange(this,t)}static containsRange(t,i){return!(i.startLineNumbert.endLineNumber||i.endLineNumber>t.endLineNumber||i.startLineNumber===t.startLineNumber&&i.startColumnt.endColumn)}strictContainsRange(t){return Ms.strictContainsRange(this,t)}static strictContainsRange(t,i){return!(i.startLineNumbert.endLineNumber||i.endLineNumber>t.endLineNumber||i.startLineNumber===t.startLineNumber&&i.startColumn<=t.startColumn||i.endLineNumber===t.endLineNumber&&i.endColumn>=t.endColumn)}plusRange(t){return Ms.plusRange(this,t)}static plusRange(t,i){let e,s,n,o;return i.startLineNumbert.endLineNumber?(n=i.endLineNumber,o=i.endColumn):i.endLineNumber===t.endLineNumber?(n=i.endLineNumber,o=Math.max(i.endColumn,t.endColumn)):(n=t.endLineNumber,o=t.endColumn),new Ms(e,s,n,o)}intersectRanges(t){return Ms.intersectRanges(this,t)}static intersectRanges(t,i){let e=t.startLineNumber,s=t.startColumn,n=t.endLineNumber,o=t.endColumn;const r=i.startLineNumber,h=i.startColumn,c=i.endLineNumber,a=i.endColumn;return ec?(n=c,o=a):n===c&&(o=Math.min(o,a)),e>n||e===n&&s>o?null:new Ms(e,s,n,o)}equalsRange(t){return Ms.equalsRange(this,t)}static equalsRange(t,i){return!t&&!i||!!t&&!!i&&t.startLineNumber===i.startLineNumber&&t.startColumn===i.startColumn&&t.endLineNumber===i.endLineNumber&&t.endColumn===i.endColumn}getEndPosition(){return Ms.getEndPosition(this)}static getEndPosition(t){return new As(t.endLineNumber,t.endColumn)}getStartPosition(){return Ms.getStartPosition(this)}static getStartPosition(t){return new As(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,i){return new Ms(this.startLineNumber,this.startColumn,t,i)}setStartPosition(t,i){return new Ms(t,i,this.endLineNumber,this.endColumn)}collapseToStart(){return Ms.collapseToStart(this)}static collapseToStart(t){return new Ms(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}collapseToEnd(){return Ms.collapseToEnd(this)}static collapseToEnd(t){return new Ms(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn)}delta(t){return new Ms(this.startLineNumber+t,this.startColumn,this.endLineNumber+t,this.endColumn)}static fromPositions(t,i=t){return new Ms(t.lineNumber,t.column,i.lineNumber,i.column)}static lift(t){return t?new Ms(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&"number"==typeof t.startLineNumber&&"number"==typeof t.startColumn&&"number"==typeof t.endLineNumber&&"number"==typeof t.endColumn}static areIntersectingOrTouching(t,i){return!(t.endLineNumbert.startLineNumber}toJSON(){return this}}class Ls extends Ms{constructor(t,i,e,s){super(t,i,e,s),this.selectionStartLineNumber=t,this.selectionStartColumn=i,this.positionLineNumber=e,this.positionColumn=s}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return Ls.selectionsEqual(this,t)}static selectionsEqual(t,i){return t.selectionStartLineNumber===i.selectionStartLineNumber&&t.selectionStartColumn===i.selectionStartColumn&&t.positionLineNumber===i.positionLineNumber&&t.positionColumn===i.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,i){return 0===this.getDirection()?new Ls(this.startLineNumber,this.startColumn,t,i):new Ls(t,i,this.startLineNumber,this.startColumn)}getPosition(){return new As(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new As(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,i){return 0===this.getDirection()?new Ls(t,i,this.endLineNumber,this.endColumn):new Ls(this.endLineNumber,this.endColumn,t,i)}static fromPositions(t,i=t){return new Ls(t.lineNumber,t.column,i.lineNumber,i.column)}static fromRange(t,i){return 0===i?new Ls(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new Ls(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new Ls(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,i){if(t&&!i||!t&&i)return!1;if(!t&&!i)return!0;if(t.length!==i.length)return!1;for(let e=0,s=t.length;e{t&&t.dispose()}))}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const Zs=new class{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(t){this._onDidChange.fire({changedLanguages:t,changedColorMap:!1})}register(t,i){return this._tokenizationSupports.set(t,i),this.handleChange([t]),Xi((()=>{this._tokenizationSupports.get(t)===i&&(this._tokenizationSupports.delete(t),this.handleChange([t]))}))}get(t){return this._tokenizationSupports.get(t)||null}registerFactory(t,i){var e;null===(e=this._factories.get(t))||void 0===e||e.dispose();const s=new Is(this,t,i);return this._factories.set(t,s),Xi((()=>{const i=this._factories.get(t);i&&i===s&&(this._factories.delete(t),i.dispose())}))}async getOrCreate(t){const i=this.get(t);if(i)return i;const e=this._factories.get(t);return!e||e.isResolved?null:(await e.resolve(),this.get(t))}isResolved(t){if(this.get(t))return!0;const i=this._factories.get(t);return!(i&&!i.isResolved)}setColorMap(t){this._colorMap=t,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}};var Qs,Js,Ys,Xs,tn,en,sn,nn,on,rn,hn,cn,an,ln,un,dn,fn,pn,gn,mn,wn,vn,bn,yn,kn,xn,Cn,Sn,Dn,En,An,Mn,Ln,Fn,Tn,Rn,On,In,_n,Nn;!function(t){t[t.Unknown=0]="Unknown",t[t.Disabled=1]="Disabled",t[t.Enabled=2]="Enabled"}(Qs||(Qs={})),function(t){t[t.Invoke=1]="Invoke",t[t.Auto=2]="Auto"}(Js||(Js={})),function(t){t[t.None=0]="None",t[t.KeepWhitespace=1]="KeepWhitespace",t[t.InsertAsSnippet=4]="InsertAsSnippet"}(Ys||(Ys={})),function(t){t[t.Method=0]="Method",t[t.Function=1]="Function",t[t.Constructor=2]="Constructor",t[t.Field=3]="Field",t[t.Variable=4]="Variable",t[t.Class=5]="Class",t[t.Struct=6]="Struct",t[t.Interface=7]="Interface",t[t.Module=8]="Module",t[t.Property=9]="Property",t[t.Event=10]="Event",t[t.Operator=11]="Operator",t[t.Unit=12]="Unit",t[t.Value=13]="Value",t[t.Constant=14]="Constant",t[t.Enum=15]="Enum",t[t.EnumMember=16]="EnumMember",t[t.Keyword=17]="Keyword",t[t.Text=18]="Text",t[t.Color=19]="Color",t[t.File=20]="File",t[t.Reference=21]="Reference",t[t.Customcolor=22]="Customcolor",t[t.Folder=23]="Folder",t[t.TypeParameter=24]="TypeParameter",t[t.User=25]="User",t[t.Issue=26]="Issue",t[t.Snippet=27]="Snippet"}(Xs||(Xs={})),function(t){t[t.Deprecated=1]="Deprecated"}(tn||(tn={})),function(t){t[t.Invoke=0]="Invoke",t[t.TriggerCharacter=1]="TriggerCharacter",t[t.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(en||(en={})),function(t){t[t.EXACT=0]="EXACT",t[t.ABOVE=1]="ABOVE",t[t.BELOW=2]="BELOW"}(sn||(sn={})),function(t){t[t.NotSet=0]="NotSet",t[t.ContentFlush=1]="ContentFlush",t[t.RecoverFromMarkers=2]="RecoverFromMarkers",t[t.Explicit=3]="Explicit",t[t.Paste=4]="Paste",t[t.Undo=5]="Undo",t[t.Redo=6]="Redo"}(nn||(nn={})),function(t){t[t.LF=1]="LF",t[t.CRLF=2]="CRLF"}(on||(on={})),function(t){t[t.Text=0]="Text",t[t.Read=1]="Read",t[t.Write=2]="Write"}(rn||(rn={})),function(t){t[t.None=0]="None",t[t.Keep=1]="Keep",t[t.Brackets=2]="Brackets",t[t.Advanced=3]="Advanced",t[t.Full=4]="Full"}(hn||(hn={})),function(t){t[t.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",t[t.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",t[t.accessibilitySupport=2]="accessibilitySupport",t[t.accessibilityPageSize=3]="accessibilityPageSize",t[t.ariaLabel=4]="ariaLabel",t[t.ariaRequired=5]="ariaRequired",t[t.autoClosingBrackets=6]="autoClosingBrackets",t[t.autoClosingComments=7]="autoClosingComments",t[t.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",t[t.autoClosingDelete=9]="autoClosingDelete",t[t.autoClosingOvertype=10]="autoClosingOvertype",t[t.autoClosingQuotes=11]="autoClosingQuotes",t[t.autoIndent=12]="autoIndent",t[t.automaticLayout=13]="automaticLayout",t[t.autoSurround=14]="autoSurround",t[t.bracketPairColorization=15]="bracketPairColorization",t[t.guides=16]="guides",t[t.codeLens=17]="codeLens",t[t.codeLensFontFamily=18]="codeLensFontFamily",t[t.codeLensFontSize=19]="codeLensFontSize",t[t.colorDecorators=20]="colorDecorators",t[t.colorDecoratorsLimit=21]="colorDecoratorsLimit",t[t.columnSelection=22]="columnSelection",t[t.comments=23]="comments",t[t.contextmenu=24]="contextmenu",t[t.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",t[t.cursorBlinking=26]="cursorBlinking",t[t.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",t[t.cursorStyle=28]="cursorStyle",t[t.cursorSurroundingLines=29]="cursorSurroundingLines",t[t.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",t[t.cursorWidth=31]="cursorWidth",t[t.disableLayerHinting=32]="disableLayerHinting",t[t.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",t[t.domReadOnly=34]="domReadOnly",t[t.dragAndDrop=35]="dragAndDrop",t[t.dropIntoEditor=36]="dropIntoEditor",t[t.emptySelectionClipboard=37]="emptySelectionClipboard",t[t.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",t[t.extraEditorClassName=39]="extraEditorClassName",t[t.fastScrollSensitivity=40]="fastScrollSensitivity",t[t.find=41]="find",t[t.fixedOverflowWidgets=42]="fixedOverflowWidgets",t[t.folding=43]="folding",t[t.foldingStrategy=44]="foldingStrategy",t[t.foldingHighlight=45]="foldingHighlight",t[t.foldingImportsByDefault=46]="foldingImportsByDefault",t[t.foldingMaximumRegions=47]="foldingMaximumRegions",t[t.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",t[t.fontFamily=49]="fontFamily",t[t.fontInfo=50]="fontInfo",t[t.fontLigatures=51]="fontLigatures",t[t.fontSize=52]="fontSize",t[t.fontWeight=53]="fontWeight",t[t.fontVariations=54]="fontVariations",t[t.formatOnPaste=55]="formatOnPaste",t[t.formatOnType=56]="formatOnType",t[t.glyphMargin=57]="glyphMargin",t[t.gotoLocation=58]="gotoLocation",t[t.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",t[t.hover=60]="hover",t[t.inDiffEditor=61]="inDiffEditor",t[t.inlineSuggest=62]="inlineSuggest",t[t.letterSpacing=63]="letterSpacing",t[t.lightbulb=64]="lightbulb",t[t.lineDecorationsWidth=65]="lineDecorationsWidth",t[t.lineHeight=66]="lineHeight",t[t.lineNumbers=67]="lineNumbers",t[t.lineNumbersMinChars=68]="lineNumbersMinChars",t[t.linkedEditing=69]="linkedEditing",t[t.links=70]="links",t[t.matchBrackets=71]="matchBrackets",t[t.minimap=72]="minimap",t[t.mouseStyle=73]="mouseStyle",t[t.mouseWheelScrollSensitivity=74]="mouseWheelScrollSensitivity",t[t.mouseWheelZoom=75]="mouseWheelZoom",t[t.multiCursorMergeOverlapping=76]="multiCursorMergeOverlapping",t[t.multiCursorModifier=77]="multiCursorModifier",t[t.multiCursorPaste=78]="multiCursorPaste",t[t.multiCursorLimit=79]="multiCursorLimit",t[t.occurrencesHighlight=80]="occurrencesHighlight",t[t.overviewRulerBorder=81]="overviewRulerBorder",t[t.overviewRulerLanes=82]="overviewRulerLanes",t[t.padding=83]="padding",t[t.pasteAs=84]="pasteAs",t[t.parameterHints=85]="parameterHints",t[t.peekWidgetDefaultFocus=86]="peekWidgetDefaultFocus",t[t.definitionLinkOpensInPeek=87]="definitionLinkOpensInPeek",t[t.quickSuggestions=88]="quickSuggestions",t[t.quickSuggestionsDelay=89]="quickSuggestionsDelay",t[t.readOnly=90]="readOnly",t[t.readOnlyMessage=91]="readOnlyMessage",t[t.renameOnType=92]="renameOnType",t[t.renderControlCharacters=93]="renderControlCharacters",t[t.renderFinalNewline=94]="renderFinalNewline",t[t.renderLineHighlight=95]="renderLineHighlight",t[t.renderLineHighlightOnlyWhenFocus=96]="renderLineHighlightOnlyWhenFocus",t[t.renderValidationDecorations=97]="renderValidationDecorations",t[t.renderWhitespace=98]="renderWhitespace",t[t.revealHorizontalRightPadding=99]="revealHorizontalRightPadding",t[t.roundedSelection=100]="roundedSelection",t[t.rulers=101]="rulers",t[t.scrollbar=102]="scrollbar",t[t.scrollBeyondLastColumn=103]="scrollBeyondLastColumn",t[t.scrollBeyondLastLine=104]="scrollBeyondLastLine",t[t.scrollPredominantAxis=105]="scrollPredominantAxis",t[t.selectionClipboard=106]="selectionClipboard",t[t.selectionHighlight=107]="selectionHighlight",t[t.selectOnLineNumbers=108]="selectOnLineNumbers",t[t.showFoldingControls=109]="showFoldingControls",t[t.showUnused=110]="showUnused",t[t.snippetSuggestions=111]="snippetSuggestions",t[t.smartSelect=112]="smartSelect",t[t.smoothScrolling=113]="smoothScrolling",t[t.stickyScroll=114]="stickyScroll",t[t.stickyTabStops=115]="stickyTabStops",t[t.stopRenderingLineAfter=116]="stopRenderingLineAfter",t[t.suggest=117]="suggest",t[t.suggestFontSize=118]="suggestFontSize",t[t.suggestLineHeight=119]="suggestLineHeight",t[t.suggestOnTriggerCharacters=120]="suggestOnTriggerCharacters",t[t.suggestSelection=121]="suggestSelection",t[t.tabCompletion=122]="tabCompletion",t[t.tabIndex=123]="tabIndex",t[t.unicodeHighlighting=124]="unicodeHighlighting",t[t.unusualLineTerminators=125]="unusualLineTerminators",t[t.useShadowDOM=126]="useShadowDOM",t[t.useTabStops=127]="useTabStops",t[t.wordBreak=128]="wordBreak",t[t.wordSeparators=129]="wordSeparators",t[t.wordWrap=130]="wordWrap",t[t.wordWrapBreakAfterCharacters=131]="wordWrapBreakAfterCharacters",t[t.wordWrapBreakBeforeCharacters=132]="wordWrapBreakBeforeCharacters",t[t.wordWrapColumn=133]="wordWrapColumn",t[t.wordWrapOverride1=134]="wordWrapOverride1",t[t.wordWrapOverride2=135]="wordWrapOverride2",t[t.wrappingIndent=136]="wrappingIndent",t[t.wrappingStrategy=137]="wrappingStrategy",t[t.showDeprecated=138]="showDeprecated",t[t.inlayHints=139]="inlayHints",t[t.editorClassName=140]="editorClassName",t[t.pixelRatio=141]="pixelRatio",t[t.tabFocusMode=142]="tabFocusMode",t[t.layoutInfo=143]="layoutInfo",t[t.wrappingInfo=144]="wrappingInfo",t[t.defaultColorDecorators=145]="defaultColorDecorators",t[t.colorDecoratorsActivatedOn=146]="colorDecoratorsActivatedOn",t[t.inlineCompletionsAccessibilityVerbose=147]="inlineCompletionsAccessibilityVerbose"}(cn||(cn={})),function(t){t[t.TextDefined=0]="TextDefined",t[t.LF=1]="LF",t[t.CRLF=2]="CRLF"}(an||(an={})),function(t){t[t.LF=0]="LF",t[t.CRLF=1]="CRLF"}(ln||(ln={})),function(t){t[t.Left=1]="Left",t[t.Right=2]="Right"}(un||(un={})),function(t){t[t.None=0]="None",t[t.Indent=1]="Indent",t[t.IndentOutdent=2]="IndentOutdent",t[t.Outdent=3]="Outdent"}(dn||(dn={})),function(t){t[t.Both=0]="Both",t[t.Right=1]="Right",t[t.Left=2]="Left",t[t.None=3]="None"}(fn||(fn={})),function(t){t[t.Type=1]="Type",t[t.Parameter=2]="Parameter"}(pn||(pn={})),function(t){t[t.Automatic=0]="Automatic",t[t.Explicit=1]="Explicit"}(gn||(gn={})),function(t){t[t.DependsOnKbLayout=-1]="DependsOnKbLayout",t[t.Unknown=0]="Unknown",t[t.Backspace=1]="Backspace",t[t.Tab=2]="Tab",t[t.Enter=3]="Enter",t[t.Shift=4]="Shift",t[t.Ctrl=5]="Ctrl",t[t.Alt=6]="Alt",t[t.PauseBreak=7]="PauseBreak",t[t.CapsLock=8]="CapsLock",t[t.Escape=9]="Escape",t[t.Space=10]="Space",t[t.PageUp=11]="PageUp",t[t.PageDown=12]="PageDown",t[t.End=13]="End",t[t.Home=14]="Home",t[t.LeftArrow=15]="LeftArrow",t[t.UpArrow=16]="UpArrow",t[t.RightArrow=17]="RightArrow",t[t.DownArrow=18]="DownArrow",t[t.Insert=19]="Insert",t[t.Delete=20]="Delete",t[t.Digit0=21]="Digit0",t[t.Digit1=22]="Digit1",t[t.Digit2=23]="Digit2",t[t.Digit3=24]="Digit3",t[t.Digit4=25]="Digit4",t[t.Digit5=26]="Digit5",t[t.Digit6=27]="Digit6",t[t.Digit7=28]="Digit7",t[t.Digit8=29]="Digit8",t[t.Digit9=30]="Digit9",t[t.KeyA=31]="KeyA",t[t.KeyB=32]="KeyB",t[t.KeyC=33]="KeyC",t[t.KeyD=34]="KeyD",t[t.KeyE=35]="KeyE",t[t.KeyF=36]="KeyF",t[t.KeyG=37]="KeyG",t[t.KeyH=38]="KeyH",t[t.KeyI=39]="KeyI",t[t.KeyJ=40]="KeyJ",t[t.KeyK=41]="KeyK",t[t.KeyL=42]="KeyL",t[t.KeyM=43]="KeyM",t[t.KeyN=44]="KeyN",t[t.KeyO=45]="KeyO",t[t.KeyP=46]="KeyP",t[t.KeyQ=47]="KeyQ",t[t.KeyR=48]="KeyR",t[t.KeyS=49]="KeyS",t[t.KeyT=50]="KeyT",t[t.KeyU=51]="KeyU",t[t.KeyV=52]="KeyV",t[t.KeyW=53]="KeyW",t[t.KeyX=54]="KeyX",t[t.KeyY=55]="KeyY",t[t.KeyZ=56]="KeyZ",t[t.Meta=57]="Meta",t[t.ContextMenu=58]="ContextMenu",t[t.F1=59]="F1",t[t.F2=60]="F2",t[t.F3=61]="F3",t[t.F4=62]="F4",t[t.F5=63]="F5",t[t.F6=64]="F6",t[t.F7=65]="F7",t[t.F8=66]="F8",t[t.F9=67]="F9",t[t.F10=68]="F10",t[t.F11=69]="F11",t[t.F12=70]="F12",t[t.F13=71]="F13",t[t.F14=72]="F14",t[t.F15=73]="F15",t[t.F16=74]="F16",t[t.F17=75]="F17",t[t.F18=76]="F18",t[t.F19=77]="F19",t[t.F20=78]="F20",t[t.F21=79]="F21",t[t.F22=80]="F22",t[t.F23=81]="F23",t[t.F24=82]="F24",t[t.NumLock=83]="NumLock",t[t.ScrollLock=84]="ScrollLock",t[t.Semicolon=85]="Semicolon",t[t.Equal=86]="Equal",t[t.Comma=87]="Comma",t[t.Minus=88]="Minus",t[t.Period=89]="Period",t[t.Slash=90]="Slash",t[t.Backquote=91]="Backquote",t[t.BracketLeft=92]="BracketLeft",t[t.Backslash=93]="Backslash",t[t.BracketRight=94]="BracketRight",t[t.Quote=95]="Quote",t[t.OEM_8=96]="OEM_8",t[t.IntlBackslash=97]="IntlBackslash",t[t.Numpad0=98]="Numpad0",t[t.Numpad1=99]="Numpad1",t[t.Numpad2=100]="Numpad2",t[t.Numpad3=101]="Numpad3",t[t.Numpad4=102]="Numpad4",t[t.Numpad5=103]="Numpad5",t[t.Numpad6=104]="Numpad6",t[t.Numpad7=105]="Numpad7",t[t.Numpad8=106]="Numpad8",t[t.Numpad9=107]="Numpad9",t[t.NumpadMultiply=108]="NumpadMultiply",t[t.NumpadAdd=109]="NumpadAdd",t[t.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",t[t.NumpadSubtract=111]="NumpadSubtract",t[t.NumpadDecimal=112]="NumpadDecimal",t[t.NumpadDivide=113]="NumpadDivide",t[t.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",t[t.ABNT_C1=115]="ABNT_C1",t[t.ABNT_C2=116]="ABNT_C2",t[t.AudioVolumeMute=117]="AudioVolumeMute",t[t.AudioVolumeUp=118]="AudioVolumeUp",t[t.AudioVolumeDown=119]="AudioVolumeDown",t[t.BrowserSearch=120]="BrowserSearch",t[t.BrowserHome=121]="BrowserHome",t[t.BrowserBack=122]="BrowserBack",t[t.BrowserForward=123]="BrowserForward",t[t.MediaTrackNext=124]="MediaTrackNext",t[t.MediaTrackPrevious=125]="MediaTrackPrevious",t[t.MediaStop=126]="MediaStop",t[t.MediaPlayPause=127]="MediaPlayPause",t[t.LaunchMediaPlayer=128]="LaunchMediaPlayer",t[t.LaunchMail=129]="LaunchMail",t[t.LaunchApp2=130]="LaunchApp2",t[t.Clear=131]="Clear",t[t.MAX_VALUE=132]="MAX_VALUE"}(mn||(mn={})),function(t){t[t.Hint=1]="Hint",t[t.Info=2]="Info",t[t.Warning=4]="Warning",t[t.Error=8]="Error"}(wn||(wn={})),function(t){t[t.Unnecessary=1]="Unnecessary",t[t.Deprecated=2]="Deprecated"}(vn||(vn={})),function(t){t[t.Inline=1]="Inline",t[t.Gutter=2]="Gutter"}(bn||(bn={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.TEXTAREA=1]="TEXTAREA",t[t.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",t[t.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",t[t.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",t[t.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",t[t.CONTENT_TEXT=6]="CONTENT_TEXT",t[t.CONTENT_EMPTY=7]="CONTENT_EMPTY",t[t.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",t[t.CONTENT_WIDGET=9]="CONTENT_WIDGET",t[t.OVERVIEW_RULER=10]="OVERVIEW_RULER",t[t.SCROLLBAR=11]="SCROLLBAR",t[t.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",t[t.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(yn||(yn={})),function(t){t[t.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",t[t.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",t[t.TOP_CENTER=2]="TOP_CENTER"}(kn||(kn={})),function(t){t[t.Left=1]="Left",t[t.Center=2]="Center",t[t.Right=4]="Right",t[t.Full=7]="Full"}(xn||(xn={})),function(t){t[t.Left=0]="Left",t[t.Right=1]="Right",t[t.None=2]="None",t[t.LeftOfInjectedText=3]="LeftOfInjectedText",t[t.RightOfInjectedText=4]="RightOfInjectedText"}(Cn||(Cn={})),function(t){t[t.Off=0]="Off",t[t.On=1]="On",t[t.Relative=2]="Relative",t[t.Interval=3]="Interval",t[t.Custom=4]="Custom"}(Sn||(Sn={})),function(t){t[t.None=0]="None",t[t.Text=1]="Text",t[t.Blocks=2]="Blocks"}(Dn||(Dn={})),function(t){t[t.Smooth=0]="Smooth",t[t.Immediate=1]="Immediate"}(En||(En={})),function(t){t[t.Auto=1]="Auto",t[t.Hidden=2]="Hidden",t[t.Visible=3]="Visible"}(An||(An={})),function(t){t[t.LTR=0]="LTR",t[t.RTL=1]="RTL"}(Mn||(Mn={})),function(t){t.Off="off",t.OnCode="onCode",t.On="on"}(Ln||(Ln={})),function(t){t[t.Invoke=1]="Invoke",t[t.TriggerCharacter=2]="TriggerCharacter",t[t.ContentChange=3]="ContentChange"}(Fn||(Fn={})),function(t){t[t.File=0]="File",t[t.Module=1]="Module",t[t.Namespace=2]="Namespace",t[t.Package=3]="Package",t[t.Class=4]="Class",t[t.Method=5]="Method",t[t.Property=6]="Property",t[t.Field=7]="Field",t[t.Constructor=8]="Constructor",t[t.Enum=9]="Enum",t[t.Interface=10]="Interface",t[t.Function=11]="Function",t[t.Variable=12]="Variable",t[t.Constant=13]="Constant",t[t.String=14]="String",t[t.Number=15]="Number",t[t.Boolean=16]="Boolean",t[t.Array=17]="Array",t[t.Object=18]="Object",t[t.Key=19]="Key",t[t.Null=20]="Null",t[t.EnumMember=21]="EnumMember",t[t.Struct=22]="Struct",t[t.Event=23]="Event",t[t.Operator=24]="Operator",t[t.TypeParameter=25]="TypeParameter"}(Tn||(Tn={})),function(t){t[t.Deprecated=1]="Deprecated"}(Rn||(Rn={})),function(t){t[t.Hidden=0]="Hidden",t[t.Blink=1]="Blink",t[t.Smooth=2]="Smooth",t[t.Phase=3]="Phase",t[t.Expand=4]="Expand",t[t.Solid=5]="Solid"}(On||(On={})),function(t){t[t.Line=1]="Line",t[t.Block=2]="Block",t[t.Underline=3]="Underline",t[t.LineThin=4]="LineThin",t[t.BlockOutline=5]="BlockOutline",t[t.UnderlineThin=6]="UnderlineThin"}(In||(In={})),function(t){t[t.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",t[t.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",t[t.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",t[t.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(_n||(_n={})),function(t){t[t.None=0]="None",t[t.Same=1]="Same",t[t.Indent=2]="Indent",t[t.DeepIndent=3]="DeepIndent"}(Nn||(Nn={}));class Bn{static chord(t,i){return Ne(t,i)}}function Pn(){return{editor:void 0,languages:void 0,CancellationTokenSource:Se,Emitter:fe,KeyCode:mn,KeyMod:Bn,Position:As,Range:Ms,Selection:Ls,SelectionDirection:Mn,MarkerSeverity:wn,MarkerTag:vn,Uri:ms,Token:_s}}Bn.CtrlCmd=2048,Bn.Shift=1024,Bn.Alt=512,Bn.WinCtrl=256;const $n=window,Wn=$n;class jn{get cachedValues(){return this._map}constructor(t){this.fn=t,this._map=new Map}get(t){if(this._map.has(t))return this._map.get(t);const i=this.fn(t);return this._map.set(t,i),i}}class zn{constructor(t){this.executor=t,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(t){this._error=t}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var Hn;function Vn(t){return!t||"string"!=typeof t||0===t.trim().length}const Un=/{(\d+)}/g;function qn(t,...i){return 0===i.length?t:t.replace(Un,(function(t,e){const s=parseInt(e,10);return isNaN(s)||s<0||s>=i.length?t:i[s]}))}function Kn(t){return t.replace(/[<>&]/g,(function(t){switch(t){case"<":return"<";case">":return">";case"&":return"&";default:return t}}))}function Gn(t){return t.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Zn(t,i=" "){return Jn(Qn(t,i),i)}function Qn(t,i){if(!t||!i)return t;const e=i.length;if(0===e||0===t.length)return t;let s=0;for(;t.indexOf(i,s)===s;)s+=e;return t.substring(s)}function Jn(t,i){if(!t||!i)return t;const e=i.length,s=t.length;if(0===e||0===s)return t;let n=s,o=-1;for(;o=t.lastIndexOf(i,n-1),-1!==o&&o+e===n;){if(0===o)return"";n=o}return t.substring(0,n)}function Yn(t,i,e={}){if(!t)throw new Error("Cannot create regex from empty string");i||(t=Gn(t)),e.wholeWord&&(/\B/.test(t.charAt(0))||(t="\\b"+t),/\B/.test(t.charAt(t.length-1))||(t+="\\b"));let s="";return e.global&&(s+="g"),e.matchCase||(s+="i"),e.multiline&&(s+="m"),e.unicode&&(s+="u"),new RegExp(t,s)}function Xn(t){return t.split(/\r\n|\r|\n/)}function to(t){for(let i=0,e=t.length;i=0;e--){const i=t.charCodeAt(e);if(32!==i&&9!==i)return e}return-1}function so(t,i){return ti?1:0}function no(t,i,e=0,s=t.length,n=0,o=i.length){for(;eo)return 1}const r=s-e,h=o-n;return rh?1:0}function oo(t,i){return ro(t,i,0,t.length,0,i.length)}function ro(t,i,e=0,s=t.length,n=0,o=i.length){for(;e=128||h>=128)return no(t.toLowerCase(),i.toLowerCase(),e,s,n,o);co(r)&&(r-=32),co(h)&&(h-=32);const c=r-h;if(0!==c)return c}const r=s-e,h=o-n;return rh?1:0}function ho(t){return t>=48&&t<=57}function co(t){return t>=97&&t<=122}function ao(t){return t>=65&&t<=90}function lo(t,i){return t.length===i.length&&0===ro(t,i)}function uo(t,i){return!(i.length>t.length)&&0===ro(t,i,0,i.length)}function fo(t,i){const e=Math.min(t.length,i.length);let s;for(s=0;s1){const s=t.charCodeAt(i-2);if(go(s))return wo(s,e)}return e}(this._str,this._offset);return this._offset-=t>=65536?2:1,t}nextCodePoint(){const t=vo(this._str,this._len,this._offset);return this._offset+=t>=65536?2:1,t}eol(){return this._offset>=this._len}}class yo{get offset(){return this._iterator.offset}constructor(t,i=0){this._iterator=new bo(t,i)}nextGraphemeLength(){const t=_o.getInstance(),i=this._iterator,e=i.offset;let s=t.getGraphemeBreakType(i.nextCodePoint());for(;!i.eol();){const e=i.offset,n=t.getGraphemeBreakType(i.nextCodePoint());if(Io(s,n)){i.setOffset(e);break}s=n}return i.offset-e}prevGraphemeLength(){const t=_o.getInstance(),i=this._iterator,e=i.offset;let s=t.getGraphemeBreakType(i.prevCodePoint());for(;i.offset>0;){const e=i.offset,n=t.getGraphemeBreakType(i.prevCodePoint());if(Io(n,s)){i.setOffset(e);break}s=n}return e-i.offset}eol(){return this._iterator.eol()}}function ko(t,i){return new yo(t,i).nextGraphemeLength()}function xo(t,i){return new yo(t,i).prevGraphemeLength()}let Co;function So(t){return Co||(Co=/(?:[\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])/),Co.test(t)}const Do=/^[\t\n\r\x20-\x7E]*$/;function Eo(t){return Do.test(t)}const Ao=/[\u2028\u2029]/;function Mo(t){return Ao.test(t)}function Lo(t){return t>=11904&&t<=55215||t>=63744&&t<=64255||t>=65281&&t<=65374}function Fo(t){return t>=127462&&t<=127487||8986===t||8987===t||9200===t||9203===t||t>=9728&&t<=10175||11088===t||11093===t||t>=127744&&t<=128591||t>=128640&&t<=128764||t>=128992&&t<=129008||t>=129280&&t<=129535||t>=129648&&t<=129782}const To=String.fromCharCode(65279);function Ro(t){return!!(t&&t.length>0&&65279===t.charCodeAt(0))}function Oo(t){return t%=52,String.fromCharCode(t<26?97+t:65+t-26)}function Io(t,i){return 0===t?5!==i&&7!==i:!(2===t&&3===i||4!==t&&2!==t&&3!==t&&4!==i&&2!==i&&3!==i&&(8===t&&(8===i||9===i||11===i||12===i)||!(11!==t&&9!==t||9!==i&&10!==i)||(12===t||10===t)&&10===i||5===i||13===i||7===i||1===t||13===t&&14===i||6===t&&6===i))}class _o{static getInstance(){return _o._INSTANCE||(_o._INSTANCE=new _o),_o._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(t){if(t<32)return 10===t?3:13===t?2:4;if(t<127)return 0;const i=this._data,e=i.length/3;let s=1;for(;s<=e;)if(ti[3*s+1]))return i[3*s+2];s=2*s+1}return 0}}function No(t){return 127995<=t&&t<=127999}_o._INSTANCE=null;class Bo{static getInstance(t){return Hn.cache.get(Array.from(t))}static getLocales(){return Hn._locales.value}constructor(t){this.confusableDictionary=t}isAmbiguous(t){return this.confusableDictionary.has(t)}getPrimaryConfusable(t){return this.confusableDictionary.get(t)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}Hn=Bo,Bo.ambiguousCharacterData=new zn((()=>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]}'))),Bo.cache=new class{constructor(t){this.fn=t,this.lastCache=void 0,this.lastArgKey=void 0}get(t){const i=JSON.stringify(t);return this.lastArgKey!==i&&(this.lastArgKey=i,this.lastCache=this.fn(t)),this.lastCache}}((t=>{function i(t){const i=new Map;for(let e=0;e!t.startsWith("_")&&t in s));0===o.length&&(o=["_default"]);for(const t of o)n=e(n,i(s[t]));const r=function(t,i){const e=new Map(t);for(const[t,s]of i)e.set(t,s);return e}(i(s._common),n);return new Hn(r)})),Bo._locales=new zn((()=>Object.keys(Hn.ambiguousCharacterData.value).filter((t=>!t.startsWith("_")))));class Po{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 getData(){return this._data||(this._data=new Set(Po.getRawData())),this._data}static isInvisibleCharacter(t){return Po.getData().has(t)}static get codePoints(){return Po.getData()}}Po._data=void 0;class $o{constructor(){this._zoomFactor=1}getZoomFactor(){return this._zoomFactor}}$o.INSTANCE=new $o;class Wo extends ie{constructor(){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(!0),this._mediaQueryList=null,this._handleChange(!1)}_handleChange(t){var i;null===(i=this._mediaQueryList)||void 0===i||i.removeEventListener("change",this._listener),this._mediaQueryList=Wn.matchMedia(`(resolution: ${Wn.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class jo extends ie{get value(){return this._value}constructor(){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio();const t=this._register(new Wo);this._register(t.onDidChange((()=>{this._value=this._getPixelRatio(),this._onDidChange.fire(this._value)})))}_getPixelRatio(){const t=document.createElement("canvas").getContext("2d");return(Wn.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}}function zo(t,i){"string"==typeof t&&(t=Wn.matchMedia(t)),t.addEventListener("change",i)}const Ho=new class{constructor(){this._pixelRatioMonitor=null}_getOrCreatePixelRatioMonitor(){return this._pixelRatioMonitor||(this._pixelRatioMonitor=new jo),this._pixelRatioMonitor}get value(){return this._getOrCreatePixelRatioMonitor().value}get onDidChange(){return this._getOrCreatePixelRatioMonitor().onDidChange}},Vo=navigator.userAgent,Uo=Vo.indexOf("Firefox")>=0,qo=Vo.indexOf("AppleWebKit")>=0,Ko=Vo.indexOf("Chrome")>=0,Go=!Ko&&Vo.indexOf("Safari")>=0,Zo=!Ko&&!Go&&qo;Vo.indexOf("Electron/");const Qo=Vo.indexOf("Android")>=0;let Jo=!1;if(Wn.matchMedia){const t=Wn.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),i=Wn.matchMedia("(display-mode: fullscreen)");Jo=t.matches,zo(t,(({matches:t})=>{Jo&&i.matches||(Jo=t)}))}class Yo{constructor(t){this.domNode=t,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(t){const i=Xo(t);this._maxWidth!==i&&(this._maxWidth=i,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){const i=Xo(t);this._width!==i&&(this._width=i,this.domNode.style.width=this._width)}setHeight(t){const i=Xo(t);this._height!==i&&(this._height=i,this.domNode.style.height=this._height)}setTop(t){const i=Xo(t);this._top!==i&&(this._top=i,this.domNode.style.top=this._top)}setLeft(t){const i=Xo(t);this._left!==i&&(this._left=i,this.domNode.style.left=this._left)}setBottom(t){const i=Xo(t);this._bottom!==i&&(this._bottom=i,this.domNode.style.bottom=this._bottom)}setRight(t){const i=Xo(t);this._right!==i&&(this._right=i,this.domNode.style.right=this._right)}setPaddingLeft(t){const i=Xo(t);this._paddingLeft!==i&&(this._paddingLeft=i,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){const i=Xo(t);this._fontSize!==i&&(this._fontSize=i,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){const i=Xo(t);this._lineHeight!==i&&(this._lineHeight=i,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){const i=Xo(t);this._letterSpacing!==i&&(this._letterSpacing=i,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,i){this.domNode.classList.toggle(t,i),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,i){this.domNode.setAttribute(t,i)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}}function Xo(t){return"number"==typeof t?`${t}px`:t}function tr(t){return new Yo(t)}function ir(t,i){t instanceof Yo?(t.setFontFamily(i.getMassagedFontFamily()),t.setFontWeight(i.fontWeight),t.setFontSize(i.fontSize),t.setFontFeatureSettings(i.fontFeatureSettings),t.setFontVariationSettings(i.fontVariationSettings),t.setLineHeight(i.lineHeight),t.setLetterSpacing(i.letterSpacing)):(t.style.fontFamily=i.getMassagedFontFamily(),t.style.fontWeight=i.fontWeight,t.style.fontSize=i.fontSize+"px",t.style.fontFeatureSettings=i.fontFeatureSettings,t.style.fontVariationSettings=i.fontVariationSettings,t.style.lineHeight=i.lineHeight+"px",t.style.letterSpacing=i.letterSpacing+"px")}class er{constructor(t,i){this.chr=t,this.type=i,this.width=0}fulfill(t){this.width=t}}class sr{constructor(t,i){this._bareFontInfo=t,this._requests=i,this._container=null,this._testElements=null}read(){this._createDomElements(),Wn.document.body.appendChild(this._container),this._readFromDomElements(),Wn.document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const t=document.createElement("div");t.style.position="absolute",t.style.top="-50000px",t.style.width="50000px";const i=document.createElement("div");ir(i,this._bareFontInfo),t.appendChild(i);const e=document.createElement("div");ir(e,this._bareFontInfo),e.style.fontWeight="bold",t.appendChild(e);const s=document.createElement("div");ir(s,this._bareFontInfo),s.style.fontStyle="italic",t.appendChild(s);const n=[];for(const t of this._requests){let o;0===t.type&&(o=i),2===t.type&&(o=e),1===t.type&&(o=s),o.appendChild(document.createElement("br"));const r=document.createElement("span");sr._render(r,t),o.appendChild(r),n.push(r)}this._container=t,this._testElements=n}static _render(t,i){if(" "===i.chr){let i=" ";for(let t=0;t<8;t++)i+=i;t.innerText=i}else{let e=i.chr;for(let t=0;t<8;t++)e+=e;t.textContent=e}}_readFromDomElements(){for(let t=0,i=this._requests.length;tthis._values[t]))}}const ar=new class extends ie{constructor(){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._cache=new cr,this._evictUntrustedReadingsTimeout=-1}dispose(){-1!==this._evictUntrustedReadingsTimeout&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache=new cr,this._onDidChange.fire()}_writeToCache(t,i){this._cache.put(t,i),i.isTrusted||-1!==this._evictUntrustedReadingsTimeout||(this._evictUntrustedReadingsTimeout=$n.setTimeout((()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()}),5e3))}_evictUntrustedReadings(){const t=this._cache.getValues();let i=!1;for(const e of t)e.isTrusted||(i=!0,this._cache.remove(e));i&&this._onDidChange.fire()}readFontInfo(t){if(!this._cache.has(t)){let i=this._actualReadFontInfo(t);(i.typicalHalfwidthCharacterWidth<=2||i.typicalFullwidthCharacterWidth<=2||i.spaceWidth<=2||i.maxDigitWidth<=2)&&(i=new hr({pixelRatio:Ho.value,fontFamily:i.fontFamily,fontWeight:i.fontWeight,fontSize:i.fontSize,fontFeatureSettings:i.fontFeatureSettings,fontVariationSettings:i.fontVariationSettings,lineHeight:i.lineHeight,letterSpacing:i.letterSpacing,isMonospace:i.isMonospace,typicalHalfwidthCharacterWidth:Math.max(i.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(i.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:i.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(i.spaceWidth,5),middotWidth:Math.max(i.middotWidth,5),wsmiddotWidth:Math.max(i.wsmiddotWidth,5),maxDigitWidth:Math.max(i.maxDigitWidth,5)},!1)),this._writeToCache(t,i)}return this._cache.get(t)}_createRequest(t,i,e,s){const n=new er(t,i);return e.push(n),null==s||s.push(n),n}_actualReadFontInfo(t){const i=[],e=[],s=this._createRequest("n",0,i,e),n=this._createRequest("m",0,i,null),o=this._createRequest(" ",0,i,e),r=this._createRequest("0",0,i,e),h=this._createRequest("1",0,i,e),c=this._createRequest("2",0,i,e),a=this._createRequest("3",0,i,e),l=this._createRequest("4",0,i,e),u=this._createRequest("5",0,i,e),d=this._createRequest("6",0,i,e),f=this._createRequest("7",0,i,e),p=this._createRequest("8",0,i,e),g=this._createRequest("9",0,i,e),m=this._createRequest("→",0,i,e),w=this._createRequest("→",0,i,null),v=this._createRequest("·",0,i,e),b=this._createRequest(String.fromCharCode(11825),0,i,null),y="|/-_ilm%";for(let t=0,s=8;t.001){x=!1;break}}let S=!0;return x&&w.width!==C&&(S=!1),w.width>m.width&&(S=!1),new hr({pixelRatio:Ho.value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:x,typicalHalfwidthCharacterWidth:s.width,typicalFullwidthCharacterWidth:n.width,canUseHalfwidthRightwardsArrow:S,spaceWidth:o.width,middotWidth:v.width,wsmiddotWidth:b.width,maxDigitWidth:k},!0)}};var lr;!function(t){t.serviceIds=new Map,t.DI_TARGET="$di$target",t.DI_DEPENDENCIES="$di$dependencies",t.getServiceDependencies=function(i){return i[t.DI_DEPENDENCIES]||[]}}(lr||(lr={}));const ur=dr("instantiationService");function dr(t){if(lr.serviceIds.has(t))return lr.serviceIds.get(t);const i=function(t,e,s){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(t,i,e){i[lr.DI_TARGET]===i?i[lr.DI_DEPENDENCIES].push({id:t,index:e}):(i[lr.DI_DEPENDENCIES]=[{id:t,index:e}],i[lr.DI_TARGET]=i)}(i,t,s)};return i.toString=()=>t,lr.serviceIds.set(t,i),i}const fr=dr("codeEditorService"),pr=dr("modelService"),gr=dr("textModelService");class mr extends ie{constructor(t,i="",e="",s=!0,n){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=t,this._label=i,this._cssClass=e,this._enabled=s,this._actionCallback=n}get id(){return this._id}get label(){return this._label}set label(t){this._setLabel(t)}_setLabel(t){this._label!==t&&(this._label=t,this._onDidChange.fire({label:t}))}get tooltip(){return this._tooltip||""}set tooltip(t){this._setTooltip(t)}_setTooltip(t){this._tooltip!==t&&(this._tooltip=t,this._onDidChange.fire({tooltip:t}))}get class(){return this._cssClass}set class(t){this._setClass(t)}_setClass(t){this._cssClass!==t&&(this._cssClass=t,this._onDidChange.fire({class:t}))}get enabled(){return this._enabled}set enabled(t){this._setEnabled(t)}_setEnabled(t){this._enabled!==t&&(this._enabled=t,this._onDidChange.fire({enabled:t}))}get checked(){return this._checked}set checked(t){this._setChecked(t)}_setChecked(t){this._checked!==t&&(this._checked=t,this._onDidChange.fire({checked:t}))}async run(t,i){this._actionCallback&&await this._actionCallback(t)}}class wr extends ie{constructor(){super(...arguments),this._onWillRun=this._register(new fe),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new fe),this.onDidRun=this._onDidRun.event}async run(t,i){if(!t.enabled)return;let e;this._onWillRun.fire({action:t});try{await this.runAction(t,i)}catch(t){e=t}this._onDidRun.fire({action:t,error:e})}async runAction(t,i){await t.run(i)}}class vr{constructor(){this.id=vr.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...t){let i=[];for(const e of t)e.length&&(i=i.length?[...i,new vr,...e]:e);return i}async run(){}}vr.ID="vs.actions.separator";class br{get actions(){return this._actions}constructor(t,i,e,s){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=t,this.label=i,this.class=s,this._actions=e}async run(){}}class yr extends mr{constructor(){super(yr.ID,rt(0,"(empty)"),void 0,!1)}}function kr(t){var i,e;return{id:t.id,label:t.label,class:t.class,enabled:null===(i=t.enabled)||void 0===i||i,checked:null!==(e=t.checked)&&void 0!==e&&e,run:async(...i)=>t.run(...i),tooltip:t.label}}var xr,Cr;yr.ID="vs.actions.empty",function(t){t.isThemeColor=function(t){return t&&"object"==typeof t&&"string"==typeof t.id}}(xr||(xr={})),function(t){t.iconNameSegment="[A-Za-z0-9]+",t.iconNameExpression="[A-Za-z0-9-]+",t.iconModifierExpression="~[A-Za-z]+",t.iconNameCharacter="[A-Za-z0-9~-]";const i=new RegExp(`^(${t.iconNameExpression})(${t.iconModifierExpression})?$`);function e(t){const s=i.exec(t.id);if(!s)return e(Os.error);const[,n,o]=s,r=["codicon","codicon-"+n];return o&&r.push("codicon-modifier-"+o.substring(1)),r}t.asClassNameArray=e,t.asClassName=function(t){return e(t).join(" ")},t.asCSSSelector=function(t){return"."+e(t).join(".")},t.isThemeIcon=function(t){return t&&"object"==typeof t&&"string"==typeof t.id&&(void 0===t.color||xr.isThemeColor(t.color))};const s=new RegExp(`^\\$\\((${t.iconNameExpression}(?:${t.iconModifierExpression})?)\\)$`);t.fromString=function(t){const i=s.exec(t);if(!i)return;const[,e]=i;return{id:e}},t.fromId=function(t){return{id:t}},t.modify=function(t,i){let e=t.id;const s=e.lastIndexOf("~");return-1!==s&&(e=e.substring(0,s)),i&&(e=`${e}~${i}`),{id:e}},t.getModifier=function(t){const i=t.id.lastIndexOf("~");if(-1!==i)return t.id.substring(i+1)},t.isEqual=function(t,i){var e,s;return t.id===i.id&&(null===(e=t.color)||void 0===e?void 0:e.id)===(null===(s=i.color)||void 0===s?void 0:s.id)}}(Cr||(Cr={}));const Sr=dr("commandService"),Dr=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new fe,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(t,i){if(!t)throw new Error("invalid command");if("string"==typeof t){if(!i)throw new Error("invalid command");return this.registerCommand({id:t,handler:i})}if(t.metadata&&Array.isArray(t.metadata.args)){const i=[];for(const e of t.metadata.args)i.push(e.constraint);const e=t.handler;t.handler=function(t,...s){return function(t,i){const e=Math.min(t.length,i.length);for(let s=0;s{n();const t=this._commands.get(e);(null==t?void 0:t.isEmpty())&&this._commands.delete(e)}));return this._onDidRegisterCommand.fire(e),o}registerCommandAlias(t,i){return Dr.registerCommand(t,((t,...e)=>t.get(Sr).executeCommand(i,...e)))}getCommand(t){const i=this._commands.get(t);if(i&&!i.isEmpty())return Vt.first(i)}getCommands(){const t=new Map;for(const i of this._commands.keys()){const e=this.getCommand(i);e&&t.set(i,e)}return t}};function Er(...t){switch(t.length){case 1:return rt(0,"Did you mean {0}?",t[0]);case 2:return rt(0,"Did you mean {0} or {1}?",t[0],t[1]);case 3:return rt(0,"Did you mean {0}, {1} or {2}?",t[0],t[1],t[2]);default:return}}Dr.registerCommand("noop",(()=>{}));const Ar=rt(0,"Did you forget to open or close the quote?"),Mr=rt(0,"Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class Lr{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(t){switch(t.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return t.isTripleEq?"===":"==";case 4:return t.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return t.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 Ui(`unhandled token type: ${JSON.stringify(t)}; have you forgotten to add a case?`)}}reset(t){return this._input=t,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 t=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:t})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const t=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:t})}else this._match(126)?this._addToken(9):this._error(Er("==","=~"));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(Er("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(Er("||"));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(t){return!this._isAtEnd()&&this._input.charCodeAt(this._current)===t&&(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(t){this._tokens.push({type:t,offset:this._start})}_error(t){const i=this._start,e=this._input.substring(this._start,this._current),s={type:19,offset:this._start,lexeme:e};this._errors.push({offset:i,lexeme:e,additionalInfo:t}),this._tokens.push(s)}_string(){this.stringRe.lastIndex=this._start;const t=this.stringRe.exec(this._input);if(t){this._current=this._start+t[0].length;const i=this._input.substring(this._start,this._current),e=Lr._keywords.get(i);e?this._addToken(e):this._tokens.push({type:17,lexeme:i,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(Ar):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let t=this._current,i=!1,e=!1;for(;;){if(t>=this._input.length)return this._current=t,void this._error(Mr);const s=this._input.charCodeAt(t);if(i)i=!1;else{if(47===s&&!e){t++;break}91===s?e=!0:92===s?i=!0:93===s&&(e=!1)}t++}for(;t=this._input.length}}Lr._regexFlags=new Set(["i","g","s","m","y","u"].map((t=>t.charCodeAt(0)))),Lr._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);const Fr=new Map;Fr.set("false",!1),Fr.set("true",!0),Fr.set("isMac",St),Fr.set("isLinux",Dt),Fr.set("isWindows",Ct),Fr.set("isWeb",At),Fr.set("isMacNative",St&&!At),Fr.set("isEdge",zt),Fr.set("isFirefox",Wt),Fr.set("isChrome",$t),Fr.set("isSafari",jt);const Tr=Object.prototype.hasOwnProperty,Rr={regexParsingWithErrorRecovery:!0},Or=rt(0,"Empty context key expression"),Ir=rt(0,"Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),_r=rt(0,"'in' after 'not'."),Nr=rt(0,"closing parenthesis ')'"),Br=rt(0,"Unexpected token"),Pr=rt(0,"Did you forget to put && or || before the token?"),$r=rt(0,"Unexpected end of expression"),Wr=rt(0,"Did you forget to put a context key?");class jr{constructor(t=Rr){this._config=t,this._scanner=new Lr,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(t){if(""!==t){this._tokens=this._scanner.reset(t).scan(),this._current=0,this._parsingErrors=[];try{const t=this._expr();if(!this._isAtEnd()){const t=this._peek(),i=17===t.type?Pr:void 0;throw this._parsingErrors.push({message:Br,offset:t.offset,lexeme:Lr.getLexeme(t),additionalInfo:i}),jr._parseError}return t}catch(t){if(t!==jr._parseError)throw t;return}}else this._parsingErrors.push({message:Or,offset:0,lexeme:"",additionalInfo:Ir})}_expr(){return this._or()}_or(){const t=[this._and()];for(;this._matchOne(16);){const i=this._and();t.push(i)}return 1===t.length?t[0]:zr.or(...t)}_and(){const t=[this._term()];for(;this._matchOne(15);){const i=this._term();t.push(i)}return 1===t.length?t[0]:zr.and(...t)}_term(){if(this._matchOne(2)){const t=this._peek();switch(t.type){case 11:return this._advance(),Vr.INSTANCE;case 12:return this._advance(),Ur.INSTANCE;case 0:{this._advance();const t=this._expr();return this._consume(1,Nr),null==t?void 0:t.negate()}case 17:return this._advance(),Jr.create(t.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",t)}}return this._primary()}_primary(){const t=this._peek();switch(t.type){case 11:return this._advance(),zr.true();case 12:return this._advance(),zr.false();case 0:{this._advance();const t=this._expr();return this._consume(1,Nr),t}case 17:{const i=t.lexeme;if(this._advance(),this._matchOne(9)){const t=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==t.type)throw this._errExpectedButGot("REGEX",t);const e=t.lexeme,s=e.lastIndexOf("/"),n=s===e.length-1?void 0:this._removeFlagsGY(e.substring(s+1));let o;try{o=new RegExp(e.substring(1,s),n)}catch(i){throw this._errExpectedButGot("REGEX",t)}return sh.create(i,o)}switch(t.type){case 10:case 19:{const e=[t.lexeme];this._advance();let s=this._peek(),n=0;for(let i=0;i=0){const o=e.slice(i+1,n),r="i"===e[n+1]?"i":"";try{s=new RegExp(o,r)}catch(i){throw this._errExpectedButGot("REGEX",t)}}}if(null===s)throw this._errExpectedButGot("REGEX",t);return sh.create(i,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,_r);const t=this._value();return zr.notIn(i,t)}switch(this._peek().type){case 3:{this._advance();const t=this._value();if(18===this._previous().type)return zr.equals(i,t);switch(t){case"true":return zr.has(i);case"false":return zr.not(i);default:return zr.equals(i,t)}}case 4:{this._advance();const t=this._value();if(18===this._previous().type)return zr.notEquals(i,t);switch(t){case"true":return zr.not(i);case"false":return zr.has(i);default:return zr.notEquals(i,t)}}case 5:return this._advance(),ih.create(i,this._value());case 6:return this._advance(),eh.create(i,this._value());case 7:return this._advance(),Xr.create(i,this._value());case 8:return this._advance(),th.create(i,this._value());case 13:return this._advance(),zr.in(i,this._value());default:return zr.has(i)}}case 20:throw this._parsingErrors.push({message:$r,offset:t.offset,lexeme:"",additionalInfo:Wr}),jr._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const t=this._peek();switch(t.type){case 17:case 18:return this._advance(),t.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(t){return t.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(t){return!!this._check(t)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(t,i){if(this._check(t))return this._advance();throw this._errExpectedButGot(i,this._peek())}_errExpectedButGot(t,i,e){const s=rt(0,"Expected: {0}\nReceived: '{1}'.",t,Lr.getLexeme(i)),n=i.offset,o=Lr.getLexeme(i);return this._parsingErrors.push({message:s,offset:n,lexeme:o,additionalInfo:e}),jr._parseError}_check(t){return this._peek().type===t}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}}jr._parseError=new Error;class zr{static false(){return Vr.INSTANCE}static true(){return Ur.INSTANCE}static has(t){return qr.create(t)}static equals(t,i){return Kr.create(t,i)}static notEquals(t,i){return Qr.create(t,i)}static regex(t,i){return sh.create(t,i)}static in(t,i){return Gr.create(t,i)}static notIn(t,i){return Zr.create(t,i)}static not(t){return Jr.create(t)}static and(...t){return rh.create(t,null,!0)}static or(...t){return hh.create(t,null,!0)}static deserialize(t){if(null!=t)return this._parser.parse(t)}}function Hr(t,i){return t.cmp(i)}zr._parser=new jr({regexParsingWithErrorRecovery:!1});class Vr{constructor(){this.type=0}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!1}serialize(){return"false"}keys(){return[]}negate(){return Ur.INSTANCE}}Vr.INSTANCE=new Vr;class Ur{constructor(){this.type=1}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!0}serialize(){return"true"}keys(){return[]}negate(){return Vr.INSTANCE}}Ur.INSTANCE=new Ur;class qr{static create(t,i=null){const e=Fr.get(t);return"boolean"==typeof e?e?Ur.INSTANCE:Vr.INSTANCE:new qr(t,i)}constructor(t,i){this.key=t,this.negated=i,this.type=2}cmp(t){return t.type!==this.type?this.type-t.type:lh(this.key,t.key)}equals(t){return t.type===this.type&&this.key===t.key}substituteConstants(){const t=Fr.get(this.key);return"boolean"==typeof t?t?Ur.INSTANCE:Vr.INSTANCE:this}evaluate(t){return!!t.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=Jr.create(this.key,this)),this.negated}}class Kr{static create(t,i,e=null){if("boolean"==typeof i)return i?qr.create(t,e):Jr.create(t,e);const s=Fr.get(t);return"boolean"==typeof s?i===(s?"true":"false")?Ur.INSTANCE:Vr.INSTANCE:new Kr(t,i,e)}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=4}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){const t=Fr.get(this.key);return"boolean"==typeof t?this.value===(t?"true":"false")?Ur.INSTANCE:Vr.INSTANCE:this}evaluate(t){return t.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Qr.create(this.key,this.value,this)),this.negated}}class Gr{static create(t,i){return new Gr(t,i)}constructor(t,i){this.key=t,this.valueKey=i,this.type=10,this.negated=null}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.valueKey,t.key,t.valueKey)}equals(t){return t.type===this.type&&this.key===t.key&&this.valueKey===t.valueKey}substituteConstants(){return this}evaluate(t){const i=t.getValue(this.valueKey),e=t.getValue(this.key);return Array.isArray(i)?i.includes(e):"string"==typeof e&&"object"==typeof i&&null!==i&&Tr.call(i,e)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=Zr.create(this.key,this.valueKey)),this.negated}}class Zr{static create(t,i){return new Zr(t,i)}constructor(t,i){this.key=t,this.valueKey=i,this.type=11,this._negated=Gr.create(t,i)}cmp(t){return t.type!==this.type?this.type-t.type:this._negated.cmp(t._negated)}equals(t){return t.type===this.type&&this._negated.equals(t._negated)}substituteConstants(){return this}evaluate(t){return!this._negated.evaluate(t)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class Qr{static create(t,i,e=null){if("boolean"==typeof i)return i?Jr.create(t,e):qr.create(t,e);const s=Fr.get(t);return"boolean"==typeof s?i===(s?"true":"false")?Vr.INSTANCE:Ur.INSTANCE:new Qr(t,i,e)}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=5}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){const t=Fr.get(this.key);return"boolean"==typeof t?this.value===(t?"true":"false")?Vr.INSTANCE:Ur.INSTANCE:this}evaluate(t){return t.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Kr.create(this.key,this.value,this)),this.negated}}class Jr{static create(t,i=null){const e=Fr.get(t);return"boolean"==typeof e?e?Vr.INSTANCE:Ur.INSTANCE:new Jr(t,i)}constructor(t,i){this.key=t,this.negated=i,this.type=3}cmp(t){return t.type!==this.type?this.type-t.type:lh(this.key,t.key)}equals(t){return t.type===this.type&&this.key===t.key}substituteConstants(){const t=Fr.get(this.key);return"boolean"==typeof t?t?Vr.INSTANCE:Ur.INSTANCE:this}evaluate(t){return!t.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=qr.create(this.key,this)),this.negated}}function Yr(t,i){if("string"==typeof t){const i=parseFloat(t);isNaN(i)||(t=i)}return"string"==typeof t||"number"==typeof t?i(t):Vr.INSTANCE}class Xr{static create(t,i,e=null){return Yr(i,(i=>new Xr(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=12}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=eh.create(this.key,this.value,this)),this.negated}}class th{static create(t,i,e=null){return Yr(i,(i=>new th(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=13}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=ih.create(this.key,this.value,this)),this.negated}}class ih{static create(t,i,e=null){return Yr(i,(i=>new ih(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=14}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))new eh(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=15}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Xr.create(this.key,this.value,this)),this.negated}}class sh{static create(t,i){return new sh(t,i)}constructor(t,i){this.key=t,this.regexp=i,this.type=7,this.negated=null}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.keyt.key)return 1;const i=this.regexp?this.regexp.source:"",e=t.regexp?t.regexp.source:"";return ie?1:0}equals(t){return t.type===this.type&&(this.key===t.key&&(this.regexp?this.regexp.source:"")===(t.regexp?t.regexp.source:""))}substituteConstants(){return this}evaluate(t){const i=t.getValue(this.key);return!!this.regexp&&this.regexp.test(i)}serialize(){return`${this.key} =~ ${this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/"}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=nh.create(this)),this.negated}}class nh{static create(t){return new nh(t)}constructor(t){this._actual=t,this.type=8}cmp(t){return t.type!==this.type?this.type-t.type:this._actual.cmp(t._actual)}equals(t){return t.type===this.type&&this._actual.equals(t._actual)}substituteConstants(){return this}evaluate(t){return!this._actual.evaluate(t)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function oh(t){let i=null;for(let e=0,s=t.length;et.expr.length)return 1;for(let i=0,e=this.expr.length;i1;){const t=s[s.length-1];if(9!==t.type)break;s.pop();const i=s.pop(),n=0===s.length,o=hh.create(t.expr.map((t=>rh.create([t,i],null,e))),null,n);o&&(s.push(o),s.sort(Hr))}if(1===s.length)return s[0];if(e){for(let t=0;tt.serialize())).join(" && ")}keys(){const t=[];for(const i of this.expr)t.push(...i.keys());return t}negate(){if(!this.negated){const t=[];for(const i of this.expr)t.push(i.negate());this.negated=hh.create(t,this,!0)}return this.negated}}class hh{static create(t,i,e){return hh._normalizeArr(t,i,e)}constructor(t,i){this.expr=t,this.negated=i,this.type=9}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.expr.lengtht.expr.length)return 1;for(let i=0,e=this.expr.length;it.serialize())).join(" || ")}keys(){const t=[];for(const i of this.expr)t.push(...i.keys());return t}negate(){if(!this.negated){const t=[];for(const i of this.expr)t.push(i.negate());for(;t.length>1;){const i=t.shift(),e=t.shift(),s=[];for(const t of ph(i))for(const i of ph(e))s.push(rh.create([t,i],null,!1));t.unshift(hh.create(s,null,!1))}this.negated=hh.create(t,this,!0)}return this.negated}}class ch extends qr{static all(){return ch._info.values()}constructor(t,i,e){super(t,null),this._defaultValue=i,"object"==typeof e?ch._info.push({...e,key:t}):!0!==e&&ch._info.push({key:t,description:e,type:null!=i?typeof i:void 0})}bindTo(t){return t.createKey(this.key,this._defaultValue)}getValue(t){return t.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(t){return Kr.create(this.key,t)}}ch._info=[];const ah=dr("contextKeyService");function lh(t,i){return ti?1:0}function uh(t,i,e,s){return te?1:is?1:0}function dh(t,i){if(0===t.type||1===i.type)return!0;if(9===t.type)return 9===i.type&&fh(t.expr,i.expr);if(9===i.type){for(const e of i.expr)if(dh(t,e))return!0;return!1}if(6===t.type){if(6===i.type)return fh(i.expr,t.expr);for(const e of t.expr)if(dh(e,i))return!0;return!1}return t.equals(i)}function fh(t,i){let e=0,s=0;for(;e>>0,s=(4294901760&t)>>>16;return new vh(0!==s?[mh(e,i),mh(s,i)]:[mh(e,i)])}{const e=[];for(let s=0;s{r(),this._cachedMergedKeybindings=null}))}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(Mh)),this._cachedMergedKeybindings.slice(0)}}const Ah=new Eh;function Mh(t,i){if(t.weight1!==i.weight1)return t.weight1-i.weight1;if(t.command&&i.command){if(t.commandi.command)return 1}return t.weight2-i.weight2}Dh.add("platform.keybindingsRegistry",Ah);var Lh,Fh=function(t,i){return function(e,s){i(e,s,t)}};function Th(t){return void 0!==t.command}class Rh{constructor(t){if(Rh._instances.has(t))throw new TypeError(`MenuId with identifier '${t}' already exists. Use MenuId.for(ident) or a unique identifier`);Rh._instances.set(t,this),this.id=t}}Rh._instances=new Map,Rh.CommandPalette=new Rh("CommandPalette"),Rh.DebugBreakpointsContext=new Rh("DebugBreakpointsContext"),Rh.DebugCallStackContext=new Rh("DebugCallStackContext"),Rh.DebugConsoleContext=new Rh("DebugConsoleContext"),Rh.DebugVariablesContext=new Rh("DebugVariablesContext"),Rh.DebugWatchContext=new Rh("DebugWatchContext"),Rh.DebugToolBar=new Rh("DebugToolBar"),Rh.DebugToolBarStop=new Rh("DebugToolBarStop"),Rh.EditorContext=new Rh("EditorContext"),Rh.SimpleEditorContext=new Rh("SimpleEditorContext"),Rh.EditorContent=new Rh("EditorContent"),Rh.EditorLineNumberContext=new Rh("EditorLineNumberContext"),Rh.EditorContextCopy=new Rh("EditorContextCopy"),Rh.EditorContextPeek=new Rh("EditorContextPeek"),Rh.EditorContextShare=new Rh("EditorContextShare"),Rh.EditorTitle=new Rh("EditorTitle"),Rh.EditorTitleRun=new Rh("EditorTitleRun"),Rh.EditorTitleContext=new Rh("EditorTitleContext"),Rh.EditorTitleContextShare=new Rh("EditorTitleContextShare"),Rh.EmptyEditorGroup=new Rh("EmptyEditorGroup"),Rh.EmptyEditorGroupContext=new Rh("EmptyEditorGroupContext"),Rh.EditorTabsBarContext=new Rh("EditorTabsBarContext"),Rh.EditorTabsBarShowTabsSubmenu=new Rh("EditorTabsBarShowTabsSubmenu"),Rh.EditorActionsPositionSubmenu=new Rh("EditorActionsPositionSubmenu"),Rh.ExplorerContext=new Rh("ExplorerContext"),Rh.ExplorerContextShare=new Rh("ExplorerContextShare"),Rh.ExtensionContext=new Rh("ExtensionContext"),Rh.GlobalActivity=new Rh("GlobalActivity"),Rh.CommandCenter=new Rh("CommandCenter"),Rh.CommandCenterCenter=new Rh("CommandCenterCenter"),Rh.LayoutControlMenuSubmenu=new Rh("LayoutControlMenuSubmenu"),Rh.LayoutControlMenu=new Rh("LayoutControlMenu"),Rh.MenubarMainMenu=new Rh("MenubarMainMenu"),Rh.MenubarAppearanceMenu=new Rh("MenubarAppearanceMenu"),Rh.MenubarDebugMenu=new Rh("MenubarDebugMenu"),Rh.MenubarEditMenu=new Rh("MenubarEditMenu"),Rh.MenubarCopy=new Rh("MenubarCopy"),Rh.MenubarFileMenu=new Rh("MenubarFileMenu"),Rh.MenubarGoMenu=new Rh("MenubarGoMenu"),Rh.MenubarHelpMenu=new Rh("MenubarHelpMenu"),Rh.MenubarLayoutMenu=new Rh("MenubarLayoutMenu"),Rh.MenubarNewBreakpointMenu=new Rh("MenubarNewBreakpointMenu"),Rh.PanelAlignmentMenu=new Rh("PanelAlignmentMenu"),Rh.PanelPositionMenu=new Rh("PanelPositionMenu"),Rh.ActivityBarPositionMenu=new Rh("ActivityBarPositionMenu"),Rh.MenubarPreferencesMenu=new Rh("MenubarPreferencesMenu"),Rh.MenubarRecentMenu=new Rh("MenubarRecentMenu"),Rh.MenubarSelectionMenu=new Rh("MenubarSelectionMenu"),Rh.MenubarShare=new Rh("MenubarShare"),Rh.MenubarSwitchEditorMenu=new Rh("MenubarSwitchEditorMenu"),Rh.MenubarSwitchGroupMenu=new Rh("MenubarSwitchGroupMenu"),Rh.MenubarTerminalMenu=new Rh("MenubarTerminalMenu"),Rh.MenubarViewMenu=new Rh("MenubarViewMenu"),Rh.MenubarHomeMenu=new Rh("MenubarHomeMenu"),Rh.OpenEditorsContext=new Rh("OpenEditorsContext"),Rh.OpenEditorsContextShare=new Rh("OpenEditorsContextShare"),Rh.ProblemsPanelContext=new Rh("ProblemsPanelContext"),Rh.SCMInputBox=new Rh("SCMInputBox"),Rh.SCMHistoryItem=new Rh("SCMHistoryItem"),Rh.SCMChangeContext=new Rh("SCMChangeContext"),Rh.SCMResourceContext=new Rh("SCMResourceContext"),Rh.SCMResourceContextShare=new Rh("SCMResourceContextShare"),Rh.SCMResourceFolderContext=new Rh("SCMResourceFolderContext"),Rh.SCMResourceGroupContext=new Rh("SCMResourceGroupContext"),Rh.SCMSourceControl=new Rh("SCMSourceControl"),Rh.SCMTitle=new Rh("SCMTitle"),Rh.SearchContext=new Rh("SearchContext"),Rh.SearchActionMenu=new Rh("SearchActionContext"),Rh.StatusBarWindowIndicatorMenu=new Rh("StatusBarWindowIndicatorMenu"),Rh.StatusBarRemoteIndicatorMenu=new Rh("StatusBarRemoteIndicatorMenu"),Rh.StickyScrollContext=new Rh("StickyScrollContext"),Rh.TestItem=new Rh("TestItem"),Rh.TestItemGutter=new Rh("TestItemGutter"),Rh.TestMessageContext=new Rh("TestMessageContext"),Rh.TestMessageContent=new Rh("TestMessageContent"),Rh.TestPeekElement=new Rh("TestPeekElement"),Rh.TestPeekTitle=new Rh("TestPeekTitle"),Rh.TouchBarContext=new Rh("TouchBarContext"),Rh.TitleBarContext=new Rh("TitleBarContext"),Rh.TitleBarTitleContext=new Rh("TitleBarTitleContext"),Rh.TunnelContext=new Rh("TunnelContext"),Rh.TunnelPrivacy=new Rh("TunnelPrivacy"),Rh.TunnelProtocol=new Rh("TunnelProtocol"),Rh.TunnelPortInline=new Rh("TunnelInline"),Rh.TunnelTitle=new Rh("TunnelTitle"),Rh.TunnelLocalAddressInline=new Rh("TunnelLocalAddressInline"),Rh.TunnelOriginInline=new Rh("TunnelOriginInline"),Rh.ViewItemContext=new Rh("ViewItemContext"),Rh.ViewContainerTitle=new Rh("ViewContainerTitle"),Rh.ViewContainerTitleContext=new Rh("ViewContainerTitleContext"),Rh.ViewTitle=new Rh("ViewTitle"),Rh.ViewTitleContext=new Rh("ViewTitleContext"),Rh.CommentEditorActions=new Rh("CommentEditorActions"),Rh.CommentThreadTitle=new Rh("CommentThreadTitle"),Rh.CommentThreadActions=new Rh("CommentThreadActions"),Rh.CommentThreadAdditionalActions=new Rh("CommentThreadAdditionalActions"),Rh.CommentThreadTitleContext=new Rh("CommentThreadTitleContext"),Rh.CommentThreadCommentContext=new Rh("CommentThreadCommentContext"),Rh.CommentTitle=new Rh("CommentTitle"),Rh.CommentActions=new Rh("CommentActions"),Rh.InteractiveToolbar=new Rh("InteractiveToolbar"),Rh.InteractiveCellTitle=new Rh("InteractiveCellTitle"),Rh.InteractiveCellDelete=new Rh("InteractiveCellDelete"),Rh.InteractiveCellExecute=new Rh("InteractiveCellExecute"),Rh.InteractiveInputExecute=new Rh("InteractiveInputExecute"),Rh.NotebookToolbar=new Rh("NotebookToolbar"),Rh.NotebookStickyScrollContext=new Rh("NotebookStickyScrollContext"),Rh.NotebookCellTitle=new Rh("NotebookCellTitle"),Rh.NotebookCellDelete=new Rh("NotebookCellDelete"),Rh.NotebookCellInsert=new Rh("NotebookCellInsert"),Rh.NotebookCellBetween=new Rh("NotebookCellBetween"),Rh.NotebookCellListTop=new Rh("NotebookCellTop"),Rh.NotebookCellExecute=new Rh("NotebookCellExecute"),Rh.NotebookCellExecutePrimary=new Rh("NotebookCellExecutePrimary"),Rh.NotebookDiffCellInputTitle=new Rh("NotebookDiffCellInputTitle"),Rh.NotebookDiffCellMetadataTitle=new Rh("NotebookDiffCellMetadataTitle"),Rh.NotebookDiffCellOutputsTitle=new Rh("NotebookDiffCellOutputsTitle"),Rh.NotebookOutputToolbar=new Rh("NotebookOutputToolbar"),Rh.NotebookEditorLayoutConfigure=new Rh("NotebookEditorLayoutConfigure"),Rh.NotebookKernelSource=new Rh("NotebookKernelSource"),Rh.BulkEditTitle=new Rh("BulkEditTitle"),Rh.BulkEditContext=new Rh("BulkEditContext"),Rh.TimelineItemContext=new Rh("TimelineItemContext"),Rh.TimelineTitle=new Rh("TimelineTitle"),Rh.TimelineTitleContext=new Rh("TimelineTitleContext"),Rh.TimelineFilterSubMenu=new Rh("TimelineFilterSubMenu"),Rh.AccountsContext=new Rh("AccountsContext"),Rh.SidebarTitle=new Rh("SidebarTitle"),Rh.PanelTitle=new Rh("PanelTitle"),Rh.AuxiliaryBarTitle=new Rh("AuxiliaryBarTitle"),Rh.TerminalInstanceContext=new Rh("TerminalInstanceContext"),Rh.TerminalEditorInstanceContext=new Rh("TerminalEditorInstanceContext"),Rh.TerminalNewDropdownContext=new Rh("TerminalNewDropdownContext"),Rh.TerminalTabContext=new Rh("TerminalTabContext"),Rh.TerminalTabEmptyAreaContext=new Rh("TerminalTabEmptyAreaContext"),Rh.TerminalStickyScrollContext=new Rh("TerminalStickyScrollContext"),Rh.WebviewContext=new Rh("WebviewContext"),Rh.InlineCompletionsActions=new Rh("InlineCompletionsActions"),Rh.NewFile=new Rh("NewFile"),Rh.MergeInput1Toolbar=new Rh("MergeToolbar1Toolbar"),Rh.MergeInput2Toolbar=new Rh("MergeToolbar2Toolbar"),Rh.MergeBaseToolbar=new Rh("MergeBaseToolbar"),Rh.MergeInputResultToolbar=new Rh("MergeToolbarResultToolbar"),Rh.InlineSuggestionToolbar=new Rh("InlineSuggestionToolbar"),Rh.ChatContext=new Rh("ChatContext"),Rh.ChatCodeBlock=new Rh("ChatCodeblock"),Rh.ChatMessageTitle=new Rh("ChatMessageTitle"),Rh.ChatExecute=new Rh("ChatExecute"),Rh.ChatInputSide=new Rh("ChatInputSide"),Rh.AccessibleView=new Rh("AccessibleView"),Rh.MultiDiffEditorFileToolbar=new Rh("MultiDiffEditorFileToolbar");const Oh=dr("menuService");class Ih{static for(t){let i=this._all.get(t);return i||(i=new Ih(t),this._all.set(t,i)),i}static merge(t){const i=new Set;for(const e of t)e instanceof Ih&&i.add(e.id);return i}constructor(t){this.id=t,this.has=i=>i===t}}Ih._all=new Map;const _h=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new we({merge:Ih.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(t){return this._commands.set(t.id,t),this._onDidChangeMenu.fire(Ih.for(Rh.CommandPalette)),Xi((()=>{this._commands.delete(t.id)&&this._onDidChangeMenu.fire(Ih.for(Rh.CommandPalette))}))}getCommand(t){return this._commands.get(t)}getCommands(){const t=new Map;return this._commands.forEach(((i,e)=>t.set(e,i))),t}appendMenuItem(t,i){let e=this._menuItems.get(t);e||(e=new qt,this._menuItems.set(t,e));const s=e.push(i);return this._onDidChangeMenu.fire(Ih.for(t)),Xi((()=>{s(),this._onDidChangeMenu.fire(Ih.for(t))}))}appendMenuItems(t){const i=new te;for(const{id:e,item:s}of t)i.add(this.appendMenuItem(e,s));return i}getMenuItems(t){let i;return i=this._menuItems.has(t)?[...this._menuItems.get(t)]:[],t===Rh.CommandPalette&&this._appendImplicitItems(i),i}_appendImplicitItems(t){const i=new Set;for(const e of t)Th(e)&&(i.add(e.command.id),e.alt&&i.add(e.alt.id));this._commands.forEach(((e,s)=>{i.has(s)||t.push({command:e})}))}};class Nh extends br{constructor(t,i,e){super(`submenuitem.${t.submenu.id}`,"string"==typeof t.title?t.title:t.title.value,e,"submenu"),this.item=t,this.hideActions=i}}let Bh=Lh=class{static label(t,i){return(null==i?void 0:i.renderShortTitle)&&t.shortTitle?"string"==typeof t.shortTitle?t.shortTitle:t.shortTitle.value:"string"==typeof t.title?t.title:t.title.value}constructor(t,i,e,s,n,o){var r,h;let c;if(this.hideActions=s,this._commandService=o,this.id=t.id,this.label=Lh.label(t,e),this.tooltip=null!==(h="string"==typeof t.tooltip?t.tooltip:null===(r=t.tooltip)||void 0===r?void 0:r.value)&&void 0!==h?h:"",this.enabled=!t.precondition||n.contextMatchesRules(t.precondition),this.checked=void 0,t.toggled){const i=t.toggled.condition?t.toggled:{condition:t.toggled};this.checked=n.contextMatchesRules(i.condition),this.checked&&i.tooltip&&(this.tooltip="string"==typeof i.tooltip?i.tooltip:i.tooltip.value),this.checked&&Cr.isThemeIcon(i.icon)&&(c=i.icon),this.checked&&i.title&&(this.label="string"==typeof i.title?i.title:i.title.value)}c||(c=Cr.isThemeIcon(t.icon)?t.icon:void 0),this.item=t,this.alt=i?new Lh(i,void 0,e,s,n,o):void 0,this._options=e,this.class=c&&Cr.asClassName(c)}run(...t){var i,e;let s=[];return(null===(i=this._options)||void 0===i?void 0:i.arg)&&(s=[...s,this._options.arg]),(null===(e=this._options)||void 0===e?void 0:e.shouldForwardArgs)&&(s=[...s,...t]),this._commandService.executeCommand(this.id,...s)}};Bh=Lh=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Fh(4,ah),Fh(5,Sr)],Bh);class Ph{constructor(t){this.desc=t}}function $h(t){const i=new te,e=new t,{f1:s,menu:n,keybinding:o,...r}=e.desc;if(i.add(Dr.registerCommand({id:r.id,handler:(t,...i)=>e.run(t,...i),metadata:r.metadata})),Array.isArray(n))for(const t of n)i.add(_h.appendMenuItem(t.id,{command:{...r,precondition:null===t.precondition?void 0:r.precondition},...t}));else n&&i.add(_h.appendMenuItem(n.id,{command:{...r,precondition:null===n.precondition?void 0:r.precondition},...n}));if(s&&(i.add(_h.appendMenuItem(Rh.CommandPalette,{command:r,when:r.precondition})),i.add(_h.addCommand(r))),Array.isArray(o))for(const t of o)i.add(Ah.registerKeybindingRule({...t,id:r.id,when:r.precondition?zr.and(r.precondition,t.when):t.when}));else o&&i.add(Ah.registerKeybindingRule({...o,id:r.id,when:r.precondition?zr.and(r.precondition,o.when):o.when}));return i}const Wh=dr("telemetryService"),jh=dr("logService");var zh;!function(t){t[t.Off=0]="Off",t[t.Trace=1]="Trace",t[t.Debug=2]="Debug",t[t.Info=3]="Info",t[t.Warning=4]="Warning",t[t.Error=5]="Error"}(zh||(zh={}));const Hh=zh.Info;class Vh extends ie{constructor(){super(...arguments),this.level=Hh,this._onDidChangeLogLevel=this._register(new fe),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(t){this.level!==t&&(this.level=t,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(t){return this.level!==zh.Off&&this.level<=t}}class Uh extends Vh{constructor(t=Hh,i=!0){super(),this.useColors=i,this.setLevel(t)}trace(t,...i){this.checkLogLevel(zh.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",t,...i):console.log(t,...i))}debug(t,...i){this.checkLogLevel(zh.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",t,...i):console.log(t,...i))}info(t,...i){this.checkLogLevel(zh.Info)&&(this.useColors?console.log("%c INFO","color: #33f",t,...i):console.log(t,...i))}warn(t,...i){this.checkLogLevel(zh.Warning)&&(this.useColors?console.log("%c WARN","color: #993",t,...i):console.log(t,...i))}error(t,...i){this.checkLogLevel(zh.Error)&&(this.useColors?console.log("%c ERR","color: #f33",t,...i):console.error(t,...i))}dispose(){}}class qh extends Vh{constructor(t){super(),this.loggers=t,t.length&&this.setLevel(t[0].getLevel())}setLevel(t){for(const i of this.loggers)i.setLevel(t);super.setLevel(t)}trace(t,...i){for(const e of this.loggers)e.trace(t,...i)}debug(t,...i){for(const e of this.loggers)e.debug(t,...i)}info(t,...i){for(const e of this.loggers)e.info(t,...i)}warn(t,...i){for(const e of this.loggers)e.warn(t,...i)}error(t,...i){for(const e of this.loggers)e.error(t,...i)}dispose(){for(const t of this.loggers)t.dispose()}}new ch("logLevel",function(){switch(zh.Info){case zh.Trace:return"trace";case zh.Debug:return"debug";case zh.Info:return"info";case zh.Warning:return"warn";case zh.Error:return"error";case zh.Off:return"off"}}()),Et||document.queryCommandSupported&&document.queryCommandSupported("copy")||navigator&&navigator.clipboard&&navigator,Et||navigator&&navigator.clipboard&&navigator,Et||Jo||navigator,"ontouchstart"in $n||navigator;const Kh=$n.PointerEvent&&("ontouchstart"in $n||navigator.maxTouchPoints>0||navigator.maxTouchPoints>0),Gh=St?256:2048,Zh=St?2048:256;class Qh{constructor(t){this._standardKeyboardEventBrand=!0;const i=t;this.browserEvent=i,this.target=i.target,this.ctrlKey=i.ctrlKey,this.shiftKey=i.shiftKey,this.altKey=i.altKey,this.metaKey=i.metaKey,this.altGraphKey=i.getModifierState("AltGraph"),this.keyCode=function(t){if(t.charCode){const i=String.fromCharCode(t.charCode).toUpperCase();return _e.fromString(i)}const i=t.keyCode;if(3===i)return 7;if(Uo)switch(i){case 59:return 85;case 60:if(Dt)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(St)return 57}else if(qo){if(St&&93===i)return 57;if(!St&&92===i)return 57}return Le[i]||0}(i),this.code=i.code,this.ctrlKey=this.ctrlKey||5===this.keyCode,this.altKey=this.altKey||6===this.keyCode,this.shiftKey=this.shiftKey||4===this.keyCode,this.metaKey=this.metaKey||57===this.keyCode,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(t){return this._asKeybinding===t}_computeKeybinding(){let t=0;5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(t=this.keyCode);let i=0;return this.ctrlKey&&(i|=Gh),this.altKey&&(i|=512),this.shiftKey&&(i|=1024),this.metaKey&&(i|=Zh),i|=t,i}_computeKeyCodeChord(){let t=0;return 5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(t=this.keyCode),new wh(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,t)}}const Jh=new WeakMap;function Yh(t){if(!t.parent||t.parent===t)return null;try{const i=t.location,e=t.parent.location;if("null"!==i.origin&&"null"!==e.origin&&i.origin!==e.origin)return null}catch(t){return null}return t.parent}class Xh{static getSameOriginWindowChain(t){let i=Jh.get(t);if(!i){i=[],Jh.set(t,i);let e,s=t;do{e=Yh(s),i.push(e?{window:new WeakRef(s),iframeElement:s.frameElement||null}:{window:new WeakRef(s),iframeElement:null}),s=e}while(s)}return i.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(t,i){var e,s;if(!i||t===i)return{top:0,left:0};let n=0,o=0;const r=this.getSameOriginWindowChain(t);for(const t of r){const r=t.window.deref();if(n+=null!==(e=null==r?void 0:r.scrollY)&&void 0!==e?e:0,o+=null!==(s=null==r?void 0:r.scrollX)&&void 0!==s?s:0,r===i)break;if(!t.iframeElement)break;const h=t.iframeElement.getBoundingClientRect();n+=h.top,o+=h.left}return{top:n,left:o}}}class tc{constructor(t,i){this.timestamp=Date.now(),this.browserEvent=i,this.leftButton=0===i.button,this.middleButton=1===i.button,this.rightButton=2===i.button,this.buttons=i.buttons,this.target=i.target,this.detail=i.detail||1,"dblclick"===i.type&&(this.detail=2),this.ctrlKey=i.ctrlKey,this.shiftKey=i.shiftKey,this.altKey=i.altKey,this.metaKey=i.metaKey,"number"==typeof i.pageX?(this.posx=i.pageX,this.posy=i.pageY):(this.posx=i.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=i.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);const e=Xh.getPositionOfChildWindowRelativeToAncestorWindow(t,i.view);this.posx-=e.left,this.posy-=e.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}class ic{constructor(t,i=0,e=0){if(this.browserEvent=t||null,this.target=t?t.target||t.targetNode||t.srcElement:null,this.deltaY=e,this.deltaX=i,t){const i=t,e=t;void 0!==i.wheelDeltaY?this.deltaY=i.wheelDeltaY/120:void 0!==e.VERTICAL_AXIS&&e.axis===e.VERTICAL_AXIS?this.deltaY=-e.detail/3:"wheel"===t.type&&(this.deltaY=t.deltaMode===t.DOM_DELTA_LINE?Uo&&!St?-t.deltaY/3:-t.deltaY:-t.deltaY/40),void 0!==i.wheelDeltaX?this.deltaX=Go&&Ct?-i.wheelDeltaX/120:i.wheelDeltaX/120:void 0!==e.HORIZONTAL_AXIS&&e.axis===e.HORIZONTAL_AXIS?this.deltaX=-t.detail/3:"wheel"===t.type&&(this.deltaX=t.deltaMode===t.DOM_DELTA_LINE?Uo&&!St?-t.deltaX/3:-t.deltaX:-t.deltaX/40),0===this.deltaY&&0===this.deltaX&&t.wheelDelta&&(this.deltaY=t.wheelDelta/120)}}preventDefault(){var t;null===(t=this.browserEvent)||void 0===t||t.preventDefault()}stopPropagation(){var t;null===(t=this.browserEvent)||void 0===t||t.stopPropagation()}}const ec=Symbol("MicrotaskDelay");function sc(t){return!!t&&"function"==typeof t.then}function nc(t){const i=new Se,e=t(i.token),s=new Promise(((t,s)=>{const n=i.token.onCancellationRequested((()=>{n.dispose(),i.dispose(),s(new Hi)}));Promise.resolve(e).then((e=>{n.dispose(),i.dispose(),t(e)}),(t=>{n.dispose(),i.dispose(),s(t)}))}));return new class{cancel(){i.cancel()}then(t,i){return s.then(t,i)}catch(t){return this.then(void 0,t)}finally(t){return s.finally(t)}}}function oc(t,i,e){return new Promise(((s,n)=>{const o=i.onCancellationRequested((()=>{o.dispose(),s(e)}));t.then(s,n).finally((()=>o.dispose()))}))}class rc{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(t){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=t,!this.queuedPromise){const t=()=>{if(this.queuedPromise=null,this.isDisposed)return;const t=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,t};this.queuedPromise=new Promise((i=>{this.activePromise.then(t,t).then(i)}))}return new Promise(((t,i)=>{this.queuedPromise.then(t,i)}))}return this.activePromise=t(),new Promise(((t,i)=>{this.activePromise.then((i=>{this.activePromise=null,t(i)}),(t=>{this.activePromise=null,i(t)}))}))}dispose(){this.isDisposed=!0}}class hc{constructor(t){this.defaultDelay=t,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(t,i=this.defaultDelay){this.task=t,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(((t,i)=>{this.doResolve=t,this.doReject=i})).then((()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const t=this.task;return this.task=null,t()}})));const e=()=>{var t;this.deferred=null,null===(t=this.doResolve)||void 0===t||t.call(this,null)};return this.deferred=i===ec?(t=>{let i=!0;return queueMicrotask((()=>{i&&(i=!1,t())})),{isTriggered:()=>i,dispose:()=>{i=!1}}})(e):((t,i)=>{let e=!0;const s=setTimeout((()=>{e=!1,i()}),t);return{isTriggered:()=>e,dispose:()=>{clearTimeout(s),e=!1}}})(i,e),this.completionPromise}isTriggered(){var t;return!!(null===(t=this.deferred)||void 0===t?void 0:t.isTriggered())}cancel(){var t;this.cancelTimeout(),this.completionPromise&&(null===(t=this.doReject)||void 0===t||t.call(this,new Hi),this.completionPromise=null)}cancelTimeout(){var t;null===(t=this.deferred)||void 0===t||t.dispose(),this.deferred=null}dispose(){this.cancel()}}class cc{constructor(t){this.delayer=new hc(t),this.throttler=new rc}trigger(t,i){return this.delayer.trigger((()=>this.throttler.queue(t)),i)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function ac(t,i){return i?new Promise(((e,s)=>{const n=setTimeout((()=>{o.dispose(),e()}),t),o=i.onCancellationRequested((()=>{clearTimeout(n),o.dispose(),s(new Hi)}))})):nc((i=>ac(t,i)))}function lc(t,i=0,e){const s=setTimeout((()=>{t(),e&&n.dispose()}),i),n=Xi((()=>{clearTimeout(s),null==e||e.deleteAndLeak(n)}));return null==e||e.add(n),n}function uc(t,i=(t=>!!t),e=null){let s=0;const n=t.length,o=()=>{if(s>=n)return Promise.resolve(e);const r=t[s++];return Promise.resolve(r()).then((t=>i(t)?Promise.resolve(t):o()))};return o()}class dc{constructor(t,i){this._token=-1,"function"==typeof t&&"number"==typeof i&&this.setIfNotSet(t,i)}dispose(){this.cancel()}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,i){this.cancel(),this._token=setTimeout((()=>{this._token=-1,t()}),i)}setIfNotSet(t,i){-1===this._token&&(this._token=setTimeout((()=>{this._token=-1,t()}),i))}}class fc{constructor(){this.disposable=void 0}cancel(){var t;null===(t=this.disposable)||void 0===t||t.dispose(),this.disposable=void 0}cancelAndSet(t,i,e=globalThis){this.cancel();const s=e.setInterval((()=>{t()}),i);this.disposable=Xi((()=>{e.clearInterval(s),this.disposable=void 0}))}dispose(){this.cancel()}}class pc{constructor(t,i){this.timeoutToken=-1,this.runner=t,this.timeout=i,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(t=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,t)}get delay(){return this.timeout}set delay(t){this.timeout=t}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var t;null===(t=this.runner)||void 0===t||t.call(this)}}let gc,mc;mc="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(t,i)=>{It((()=>{if(e)return;const t=Date.now()+15;i(Object.freeze({didTimeout:!0,timeRemaining:()=>Math.max(0,t-Date.now())}))}));let e=!1;return{dispose(){e||(e=!0)}}}:(t,i,e)=>{const s=t.requestIdleCallback(i,"number"==typeof e?{timeout:e}:void 0);let n=!1;return{dispose(){n||(n=!0,t.cancelIdleCallback(s))}}},gc=t=>mc(globalThis,t);class wc{constructor(t,i){this._didRun=!1,this._executor=()=>{try{this._value=i()}catch(t){this._error=t}finally{this._didRun=!0}},this._handle=mc(t,(()=>this._executor()))}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class vc extends wc{constructor(t){super(globalThis,t)}}class bc{get isRejected(){var t;return 1===(null===(t=this.outcome)||void 0===t?void 0:t.outcome)}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise(((t,i)=>{this.completeCallback=t,this.errorCallback=i}))}complete(t){return new Promise((i=>{this.completeCallback(t),this.outcome={outcome:0,value:t},i()}))}error(t){return new Promise((i=>{this.errorCallback(t),this.outcome={outcome:1,value:t},i()}))}cancel(){return this.error(new Hi)}}var yc;!function(t){t.settled=async function(t){let i;const e=await Promise.all(t.map((t=>t.then((t=>t),(t=>{i||(i=t)})))));if(void 0!==i)throw i;return e},t.withAsyncBody=function(t){return new Promise((async(i,e)=>{try{await t(i,e)}catch(t){e(t)}}))}}(yc||(yc={}));class kc{static fromArray(t){return new kc((i=>{i.emitMany(t)}))}static fromPromise(t){return new kc((async i=>{i.emitMany(await t)}))}static fromPromises(t){return new kc((async i=>{await Promise.all(t.map((async t=>i.emitOne(await t))))}))}static merge(t){return new kc((async i=>{await Promise.all(t.map((async t=>{for await(const e of t)i.emitOne(e)})))}))}constructor(t){this._state=0,this._results=[],this._error=null,this._onStateChanged=new fe,queueMicrotask((async()=>{const i={emitOne:t=>this.emitOne(t),emitMany:t=>this.emitMany(t),reject:t=>this.reject(t)};try{await Promise.resolve(t(i)),this.resolve()}catch(t){this.reject(t)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}}))}[Symbol.asyncIterator](){let t=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(t{for await(const s of t)e.emitOne(i(s))}))}map(t){return kc.map(this,t)}static filter(t,i){return new kc((async e=>{for await(const s of t)i(s)&&e.emitOne(s)}))}filter(t){return kc.filter(this,t)}static coalesce(t){return kc.filter(t,(t=>!!t))}coalesce(){return kc.coalesce(this)}static async toPromise(t){const i=[];for await(const e of t)i.push(e);return i}toPromise(){return kc.toPromise(this)}emitOne(t){0===this._state&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){0===this._state&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(t){0===this._state&&(this._state=2,this._error=t,this._onStateChanged.fire())}}kc.EMPTY=kc.fromArray([]);class xc extends kc{constructor(t,i){super(i),this._source=t}cancel(){this._source.cancel()}} +import{r as t,f as i,h as e,F as s,g as n,c as o,H as r}from"./p-1f29e0e0.js";const h={en:{"menu.source":"Source Code Mode","menu.align.left":"Align Left","menu.align.center":"Center","menu.align.right":"Align Right","menu.align.justify":"Justify","menu.font.family":"Font Family","menu.font.family.sansserif":"Sans-serif","menu.font.family.serif":"Serif","menu.font.family.cursive":"Cursive","menu.font.family.monospace":"Monospace","menu.font.size":"Font Size","menu.font.size.format.px":"{0}px","menu.font.weight.bold":"Bold","menu.font.italic":"Italic","menu.font.decoration.underline":"Underline","menu.font.decoration.strike":"Strike","menu.font.highlight":"Highlight","menu.font.color":"Text Color","menu.font.color.crimson":"Crimson","menu.font.color.deeppink":"Deep Pink","menu.font.color.darkorange":"Dark Orange","menu.font.color.darkviolet":"Dark Violet","menu.font.color.forestgreen":"Forest Green","menu.font.color.royalblue":"Royal Blue","menu.font.color.saddlebrown":"Saddle Brown","menu.font.color.dimgray":"Dim Gray","menu.font.color.none":"Clear Color","menu.link":"Link","menu.link.remove":"Unlink","menu.line.spacing":"Line Spacing","menu.line.spacing.format":"{0}x","menu.heading":"Heading","menu.heading.1":"Heading 1","menu.heading.2":"Heading 2","menu.heading.3":"Heading 3","menu.heading.4":"Heading 4","menu.paragraph":"Paragraph","menu.code":"Code","menu.code.block":"Code Block","menu.list.bullet":"Bullet List","menu.list.ordered":"Ordered List","menu.list.task":"Task List","menu.image":"Image","menu.quote":"Blockquote","menu.hr":"Horizontal Rule","menu.table":"Table","menu.table.cell.merge":"Merge Table Cells","menu.table.row.insert.before":"Insert Table Row Before","menu.table.row.insert.after":"Insert Table Row After","menu.table.column.insert.before":"Insert Table Column Before","menu.table.column.insert.after":"Insert Table Column After","menu.table.row.remove":"Delete Table Row","menu.table.column.remove":"Delete Table Column","menu.table.remove":"Delete Table","menu.format.clear":"Clear Format","menu.undo":"Undo","menu.redo":"Redo","menu.fullscreen":"Toggle Fullscreen","error.fullscreen.enter":"Unable to enter fullscreen: {0} ({1})","error.fullscreen.exit":"Unable to exit fullscreen: {0} ({1})"},zh:{"menu.source":"源码模式","menu.align.left":"左对齐","menu.align.center":"居中","menu.align.right":"右对齐","menu.align.justify":"两端对齐","menu.font.family":"字体","menu.font.family.sansserif":"无衬线体","menu.font.family.serif":"衬线体","menu.font.family.cursive":"手写体","menu.font.family.monospace":"等宽体","menu.font.size":"字号","menu.font.size.format.px":"{0}px","menu.font.weight.bold":"加粗","menu.font.italic":"斜体","menu.font.decoration.underline":"下划线","menu.font.decoration.strike":"删除线","menu.font.highlight":"高亮","menu.font.color":"字体颜色","menu.font.color.crimson":"深红","menu.font.color.deeppink":"深粉","menu.font.color.darkorange":"深橙","menu.font.color.darkviolet":"深紫","menu.font.color.forestgreen":"森绿","menu.font.color.royalblue":"皇蓝","menu.font.color.saddlebrown":"鞍棕","menu.font.color.dimgray":"暗灰","menu.font.color.none":"无","menu.link":"链接","menu.link.remove":"移除链接","menu.line.spacing":"行间距","menu.line.spacing.format":"{0} 倍","menu.heading":"标题","menu.heading.1":"标题 1","menu.heading.2":"标题 2","menu.heading.3":"标题 3","menu.heading.4":"标题 4","menu.paragraph":"段落","menu.code":"代码","menu.code.block":"代码块","menu.list.bullet":"无序列表","menu.list.ordered":"有序列表","menu.list.task":"任务列表","menu.image":"图片","menu.quote":"引用","menu.hr":"分割线","menu.table":"表格","menu.table.cell.merge":"合并单元格","menu.table.row.insert.before":"在上方插入表格行","menu.table.row.insert.after":"在下方插入表格行","menu.table.column.insert.before":"在左侧插入表格列","menu.table.column.insert.after":"在右侧插入表格列","menu.table.row.remove":"删除表格行","menu.table.column.remove":"删除表格列","menu.table.remove":"删除表格","menu.format.clear":"清除格式","menu.undo":"撤销","menu.redo":"重做","menu.fullscreen":"全屏","error.fullscreen.enter":"无法进入全屏: {0} ({1})","error.fullscreen.exit":"无法退出全屏: {0} ({1})"}},c=new class{constructor(){this.locale=this.guessLocale(),this.localeData=new Map(Object.entries(h[this.locale]))}guessLocale(){const t=document.documentElement.lang.split("-")[0].toLowerCase();return t in h?t:"en"}setLocale(t){"string"==typeof t?(this.locale=t,this.localeData=new Map(Object.entries(h[this.locale]))):(this.locale="custom",this.localeData=new Map(Object.entries(t)))}getLocale(){return this.locale}format(t,...i){var e;return(null===(e=this.localeData.get(t))||void 0===e?void 0:e.replace(/{(\d+)}/g,((t,e)=>void 0!==i[e]?i[e]:t)))||t}getString(t){return this.localeData.get(t)||t}},a=class{constructor(i){t(this,i),i.$hostElement$["s-ei"]?this.internals=i.$hostElement$["s-ei"]:(this.internals=i.$hostElement$.attachInternals(),i.$hostElement$["s-ei"]=this.internals),this.updateInputValue=()=>{const t=this.editor.getHTML().replace(/

<\/p>$/,"");this.value=t,this.internals.setFormValue(t)},this.toggleFullscreen=()=>{Boolean(document.fullscreenElement)?document.exitFullscreen().then((()=>{})).catch((t=>{alert(c.format("error.fullscreen.exit",t.message,t.name))})):this.element.requestFullscreen().then((()=>{})).catch((t=>{alert(c.format("error.fullscreen.enter",t.message,t.name))}))},this.handleEditorDidLoad=t=>{this.editor=t.detail,this.updateInputValue()},this.name="",this.uploadUrl="",this.placeholder="",this.fullscreenable=!1,this.resizable=!1,this.exposeEditor=!1,this.size="sm",this.hideMenubar=void 0,this.menubarMode="full",this.bubbleMenu=!1,this.locale=void 0,this.css=void 0,this.collaborative=!1,this.hocuspocus="",this.docName="",this.username="",this.userColor="#ffcc00",this.value=void 0,this.editor=null,this.isFullscreen=!1,this.rendered=!1}setHTML(t,i=!0){if(i){const i=`${t}`,e=(new window.DOMParser).parseFromString(i,"text/html").body;e.querySelectorAll("br").forEach((t=>{t.remove()})),t=e.innerHTML}return this.editor.chain().setContent(t).run(),this.updateInputValue(),Promise.resolve()}getHTML(){return Promise.resolve(this.editor.getHTML())}getText(){return Promise.resolve(this.editor.getText())}focusEditor(){return Promise.resolve(this.editor.commands.focus())}blurEditor(){return Promise.resolve(this.editor.commands.blur())}onCSSChange(){Boolean(this.css)&&(Boolean(this.styles)||(this.styles=new CSSStyleSheet),this.styles.replaceSync(this.css),i(this))}componentWillLoad(){Boolean(this.css)&&(this.styles=new CSSStyleSheet,this.styles.replaceSync(this.css))}componentDidRender(){this.rendered||(this.rendered=!0)}componentDidLoad(){Boolean(this.styles)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles]),this.element.addEventListener("fullscreenchange",(()=>{this.isFullscreen=Boolean(document.fullscreenElement)}))}render(){var t,i;return"full"===this.size&&(this.resizable=!1),e(s,null,Boolean(this.editor)?null:e("div",{class:`editor-skeleton ${this.size}`}),this.rendered&&e("zen-editor-core",{name:this.name,uploadUrl:this.uploadUrl,placeholder:this.placeholder,resizable:this.resizable,exposeEditor:this.exposeEditor,size:this.size,hideMenubar:this.hideMenubar,menubarMode:this.menubarMode,bubbleMenu:this.bubbleMenu,locale:this.locale,collaborative:this.collaborative,hocuspocus:this.hocuspocus,docName:this.docName,username:this.username,userColor:this.userColor,updateInputValue:this.updateInputValue,toggleFullscreen:this.toggleFullscreen,fullscreenable:this.fullscreenable,isFullscreen:this.isFullscreen,onEditorDidLoad:this.handleEditorDidLoad,styles:this.styles,initialContent:null===(t=this.element.querySelector('[slot="content"]'))||void 0===t?void 0:t.innerHTML,extraMenubarItems:null===(i=this.element.querySelector('[slot="menubar-items"]'))||void 0===i?void 0:i.innerHTML,value:this.value,style:{display:Boolean(this.editor)?"block":"none",height:"100%"}}))}static get formAssociated(){return!0}get element(){return n(this)}static get watchers(){return{css:["onCSSChange"]}}};function l(t,i=0){return t[t.length-(1+i)]}function u(t,i,e=((t,i)=>t===i)){if(t===i)return!0;if(!t||!i)return!1;if(t.length!==i.length)return!1;for(let s=0,n=t.length;s0))return s;o=s-1}}return-(n+1)}(t.length)}function f(t,i,e){if((t|=0)>=i.length)throw new TypeError("invalid index");const s=i[Math.floor(i.length*Math.random())],n=[],o=[],r=[];for(const t of i){const i=e(t,s);i<0?n.push(t):i>0?o.push(t):r.push(t)}return t!!t))}function v(t){let i=0;for(let e=0;e0}function k(t,i=(t=>t)){const e=new Set;return t.filter((t=>{const s=i(t);return!e.has(s)&&(e.add(s),!0)}))}function x(t,i){return t.length>0?t[0]:i}function C(t,i){let e="number"==typeof i?t:0;"number"==typeof i?e=t:(e=0,i=t);const s=[];if(e<=i)for(let t=e;ti;t--)s.push(t);return s}function S(t,i,e){const s=t.slice(0,i),n=t.slice(i);return s.concat(e,n)}function D(t,i){const e=t.indexOf(i);e>-1&&(t.splice(e,1),t.unshift(i))}function E(t,i){const e=t.indexOf(i);e>-1&&(t.splice(e,1),t.push(i))}function A(t,i){for(const e of i)t.push(e)}function M(t){return Array.isArray(t)?t:[t]}function L(t,i,e,s){const n=F(t,i);let o=t.splice(n,e);return void 0===o&&(o=[]),function(t,i,e){const s=F(t,i),n=t.length,o=e.length;t.length=n+o;for(let i=n-1;i>=s;i--)t[i+o]=t[i];for(let i=0;ii(t(e),t(s))}a.style=".editor-skeleton{background-color:#f3f3f3;border:1px solid #e6e6e6;border-radius:0.25em;animation:pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}.editor-skeleton.sm{height:9em}.editor-skeleton.lg{height:16em}.editor-skeleton.full{height:100%}",function(t){t.isLessThan=function(t){return t<0},t.isLessThanOrEqual=function(t){return t<=0},t.isGreaterThan=function(t){return t>0},t.isNeitherLessOrGreaterThan=function(t){return 0===t},t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0}(T||(T={}));const O=(t,i)=>t-i,I=(t,i)=>O(t?1:0,i?1:0);function _(t){return(i,e)=>-t(i,e)}class N{constructor(t){this.items=t,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(t){let i=this.firstIdx;for(;i=0&&t(this.items[i]);)i--;const e=i===this.lastIdx?null:this.items.slice(i+1,this.lastIdx+1);return this.lastIdx=i,e}peek(){if(0!==this.length)return this.items[this.firstIdx]}dequeue(){const t=this.items[this.firstIdx];return this.firstIdx++,t}takeCount(t){const i=this.items.slice(this.firstIdx,this.firstIdx+t);return this.firstIdx+=t,i}}class B{constructor(t){this.iterate=t}toArray(){const t=[];return this.iterate((i=>(t.push(i),!0))),t}filter(t){return new B((i=>this.iterate((e=>!t(e)||i(e)))))}map(t){return new B((i=>this.iterate((e=>i(t(e))))))}findLast(t){let i;return this.iterate((e=>(t(e)&&(i=e),!0))),i}findLastMaxBy(t){let i,e=!0;return this.iterate((s=>((e||T.isGreaterThan(t(s,i)))&&(e=!1,i=s),!0))),i}}function P(t){return"string"==typeof t}function $(t){return!("object"!=typeof t||null===t||Array.isArray(t)||t instanceof RegExp||t instanceof Date)}function W(t){const i=Object.getPrototypeOf(Uint8Array);return"object"==typeof t&&t instanceof i}function j(t){return"number"==typeof t&&!isNaN(t)}function z(t){return!!t&&"function"==typeof t[Symbol.iterator]}function H(t){return!0===t||!1===t}function V(t){return void 0===t}function U(t){return!q(t)}function q(t){return V(t)||null===t}function K(t,i){if(!t)throw new Error(i?`Unexpected type, expected '${i}'`:"Unexpected type")}function G(t){if(q(t))throw new Error("Assertion Failed: argument is undefined or null");return t}function Z(t){return"function"==typeof t}function Q(t,i){if(P(i)){if(typeof t!==i)throw new Error(`argument does not match constraint: typeof ${i}`)}else if(Z(i)){try{if(t instanceof i)return}catch(t){}if(!q(t)&&t.constructor===i)return;if(1===i.length&&!0===i.call(void 0,t))return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function J(t){if(!t||"object"!=typeof t)return t;if(t instanceof RegExp)return t;const i=Array.isArray(t)?[]:{};return Object.entries(t).forEach((([t,e])=>{i[t]=e&&"object"==typeof e?J(e):e})),i}B.empty=new B((()=>{}));const Y=Object.prototype.hasOwnProperty;function X(t,i){return tt(t,i,new Set)}function tt(t,i,e){if(q(t))return t;const s=i(t);if(void 0!==s)return s;if(Array.isArray(t)){const s=[];for(const n of t)s.push(tt(n,i,e));return s}if($(t)){if(e.has(t))throw new Error("Cannot clone recursive data-structure");e.add(t);const s={};for(const n in t)Y.call(t,n)&&(s[n]=tt(t[n],i,e));return e.delete(t),s}return t}function it(t,i,e=!0){return $(t)?($(i)&&Object.keys(i).forEach((s=>{s in t?e&&($(t[s])&&$(i[s])?it(t[s],i[s],e):t[s]=i[s]):t[s]=i[s]})),t):i}function et(t,i){if(t===i)return!0;if(null==t||null==i)return!1;if(typeof t!=typeof i)return!1;if("object"!=typeof t)return!1;if(Array.isArray(t)!==Array.isArray(i))return!1;let e,s;if(Array.isArray(t)){if(t.length!==i.length)return!1;for(e=0;e=0;function ot(t,i){let e;return e=0===i.length?t:t.replace(/\{(\d+)\}/g,((t,e)=>{const s=i[e[0]];let n=t;return"string"==typeof s?n=s:"number"!=typeof s&&"boolean"!=typeof s&&null!=s||(n=String(s)),n})),nt&&(e="["+e.replace(/[aouei]/g,"$&$&")+"]"),e}function rt(t,i,...e){return ot(i,e)}function ht(t,i,...e){const s=ot(i,e);return{value:s,original:s}}var ct;const at="en";let lt,ut,dt=!1,ft=!1,pt=!1,gt=!1,mt=!1,wt=!1,vt=!1,bt=at;const yt=globalThis;let kt;void 0!==yt.vscode&&void 0!==yt.vscode.process?kt=yt.vscode.process:"undefined"!=typeof process&&(kt=process);const xt="string"==typeof(null===(ct=null==kt?void 0:kt.versions)||void 0===ct?void 0:ct.electron);if("object"!=typeof navigator||xt&&"renderer"===(null==kt?void 0:kt.type))if("object"==typeof kt){dt="win32"===kt.platform,ft="darwin"===kt.platform,pt="linux"===kt.platform,lt=at,bt=at;const t=kt.env.VSCODE_NLS_CONFIG;if(t)try{const i=JSON.parse(t);lt=i.locale,bt=i.availableLanguages["*"]||at}catch(t){}gt=!0}else console.error("Unable to resolve platform.");else ut=navigator.userAgent,dt=ut.indexOf("Windows")>=0,ft=ut.indexOf("Macintosh")>=0,wt=(ut.indexOf("Macintosh")>=0||ut.indexOf("iPad")>=0||ut.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,pt=ut.indexOf("Linux")>=0,vt=(null==ut?void 0:ut.indexOf("Mobi"))>=0,mt=!0,rt(0,"_"),lt=at,bt=lt;const Ct=dt,St=ft,Dt=pt,Et=gt,At=mt,Mt=mt&&"function"==typeof yt.importScripts?yt.origin:void 0,Lt=wt,Ft=vt,Tt=ut,Rt=bt,Ot="function"==typeof yt.postMessage&&!yt.importScripts,It=(()=>{if(Ot){const t=[];yt.addEventListener("message",(i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let e=0,s=t.length;e{const s=++i;t.push({id:s,callback:e}),yt.postMessage({vscodeScheduleAsyncWork:s},"*")}}return t=>setTimeout(t)})(),_t=ft||wt?2:dt?1:3;let Nt=!0,Bt=!1;function Pt(){if(!Bt){Bt=!0;const t=new Uint8Array(2);t[0]=1,t[1]=2;const i=new Uint16Array(t.buffer);Nt=513===i[0]}return Nt}const $t=!!(Tt&&Tt.indexOf("Chrome")>=0),Wt=!!(Tt&&Tt.indexOf("Firefox")>=0),jt=!!(!$t&&Tt&&Tt.indexOf("Safari")>=0),zt=!!(Tt&&Tt.indexOf("Edg/")>=0);Tt&&Tt.indexOf("Android");const Ht={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var Vt;!function(t){function i(t){return t&&"object"==typeof t&&"function"==typeof t[Symbol.iterator]}t.is=i;const e=Object.freeze([]);function*s(t){yield t}t.empty=function(){return e},t.single=s,t.wrap=function(t){return i(t)?t:s(t)},t.from=function(t){return t||e},t.reverse=function*(t){for(let i=t.length-1;i>=0;i--)yield t[i]},t.isEmpty=function(t){return!t||!0===t[Symbol.iterator]().next().done},t.first=function(t){return t[Symbol.iterator]().next().value},t.some=function(t,i){for(const e of t)if(i(e))return!0;return!1},t.find=function(t,i){for(const e of t)if(i(e))return e},t.filter=function*(t,i){for(const e of t)i(e)&&(yield e)},t.map=function*(t,i){let e=0;for(const s of t)yield i(s,e++)},t.concat=function*(...t){for(const i of t)yield*i},t.reduce=function(t,i,e){let s=e;for(const e of t)s=i(s,e);return s},t.slice=function*(t,i,e=t.length){for(i<0&&(i+=t.length),e<0?e+=t.length:e>t.length&&(e=t.length);in}]}}(Vt||(Vt={}));class Ut{constructor(t){this.element=t,this.next=Ut.Undefined,this.prev=Ut.Undefined}}Ut.Undefined=new Ut(void 0);class qt{constructor(){this._first=Ut.Undefined,this._last=Ut.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Ut.Undefined}clear(){let t=this._first;for(;t!==Ut.Undefined;){const i=t.next;t.prev=Ut.Undefined,t.next=Ut.Undefined,t=i}this._first=Ut.Undefined,this._last=Ut.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,i){const e=new Ut(t);if(this._first===Ut.Undefined)this._first=e,this._last=e;else if(i){const t=this._last;this._last=e,e.prev=t,t.next=e}else{const t=this._first;this._first=e,e.next=t,t.prev=e}this._size+=1;let s=!1;return()=>{s||(s=!0,this._remove(e))}}shift(){if(this._first!==Ut.Undefined){const t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==Ut.Undefined){const t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==Ut.Undefined&&t.next!==Ut.Undefined){const i=t.prev;i.next=t.next,t.next.prev=i}else t.prev===Ut.Undefined&&t.next===Ut.Undefined?(this._first=Ut.Undefined,this._last=Ut.Undefined):t.next===Ut.Undefined?(this._last=this._last.prev,this._last.next=Ut.Undefined):t.prev===Ut.Undefined&&(this._first=this._first.next,this._first.prev=Ut.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==Ut.Undefined;)yield t.element,t=t.next}}const Kt="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",Gt=function(t=""){let i="(-?\\d*\\.\\d\\w*)|([^";for(const e of Kt)t.indexOf(e)>=0||(i+="\\"+e);return i+="\\s]+)",new RegExp(i,"g")}();function Zt(t){let i=Gt;if(t&&t instanceof RegExp)if(t.global)i=t;else{let e="g";t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),i=new RegExp(t.source,e)}return i.lastIndex=0,i}const Qt=new qt;function Jt(t,i,e,s,n){if(i=Zt(i),n||(n=Vt.first(Qt)),e.length>n.maxLen){let o=t-n.maxLen/2;return o<0?o=0:s+=o,Jt(t,i,e=e.substring(o,t+n.maxLen/2),s,n)}const o=Date.now(),r=t-1-s;let h=-1,c=null;for(let t=1;!(Date.now()-o>=n.timeBudget);t++){const s=r-n.windowSize*t;i.lastIndex=Math.max(0,s);const o=Yt(i,e,r,h);if(!o&&c)break;if(c=o,s<=0)break;h=s}if(c){const t={word:c[0],startColumn:s+1+c.index,endColumn:s+1+c.index+c[0].length};return i.lastIndex=0,t}return null}function Yt(t,i,e,s){let n;for(;n=t.exec(i);){const i=n.index||0;if(i<=e&&t.lastIndex>=e)return n;if(s>0&&i>s)return null}return null}Qt.unshift({maxLen:1e3,windowSize:15,timeBudget:150});class Xt{constructor(t){this._values=t}hasChanged(t){return this._values[t]}}class ti{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class ii{constructor(t,i,e,s){this.id=t,this.name=i,this.defaultValue=e,this.schema=s}applyUpdate(t,i){return si(t,i)}compute(t,i,e){return e}}class ei{constructor(t,i){this.newValue=t,this.didChange=i}}function si(t,i){if("object"!=typeof t||"object"!=typeof i||!t||!i)return new ei(i,t!==i);if(Array.isArray(t)||Array.isArray(i)){const e=Array.isArray(t)&&Array.isArray(i)&&u(t,i);return new ei(i,!e)}let e=!1;for(const s in i)if(i.hasOwnProperty(s)){const n=si(t[s],i[s]);n.didChange&&(t[s]=n.newValue,e=!0)}return new ei(t,e)}class ni{constructor(t){this.schema=void 0,this.id=t,this.name="_never_",this.defaultValue=void 0}applyUpdate(t,i){return si(t,i)}validate(t){return this.defaultValue}}class oi{constructor(t,i,e,s){this.id=t,this.name=i,this.defaultValue=e,this.schema=s}applyUpdate(t,i){return si(t,i)}validate(t){return void 0===t?this.defaultValue:t}compute(t,i,e){return e}}function ri(t,i){return void 0===t?i:"false"!==t&&Boolean(t)}class hi extends oi{constructor(t,i,e,s){void 0!==s&&(s.type="boolean",s.default=e),super(t,i,e,s)}validate(t){return ri(t,this.defaultValue)}}function ci(t,i,e,s){if(void 0===t)return i;let n=parseInt(t,10);return isNaN(n)?i:(n=Math.max(e,n),n=Math.min(s,n),0|n)}class ai extends oi{static clampedInt(t,i,e,s){return ci(t,i,e,s)}constructor(t,i,e,s,n,o){void 0!==o&&(o.type="integer",o.default=e,o.minimum=s,o.maximum=n),super(t,i,e,o),this.minimum=s,this.maximum=n}validate(t){return ai.clampedInt(t,this.defaultValue,this.minimum,this.maximum)}}function li(t,i,e,s){if(void 0===t)return i;const n=ui.float(t,i);return ui.clamp(n,e,s)}class ui extends oi{static clamp(t,i,e){return te?e:t}static float(t,i){if("number"==typeof t)return t;if(void 0===t)return i;const e=parseFloat(t);return isNaN(e)?i:e}constructor(t,i,e,s,n){void 0!==n&&(n.type="number",n.default=e),super(t,i,e,n),this.validationFn=s}validate(t){return this.validationFn(ui.float(t,this.defaultValue))}}class di extends oi{static string(t,i){return"string"!=typeof t?i:t}constructor(t,i,e,s){void 0!==s&&(s.type="string",s.default=e),super(t,i,e,s)}validate(t){return di.string(t,this.defaultValue)}}function fi(t,i,e,s){return"string"!=typeof t?i:s&&t in s?s[t]:-1===e.indexOf(t)?i:t}class pi extends oi{constructor(t,i,e,s,n){void 0!==n&&(n.type="string",n.enum=s,n.default=e),super(t,i,e,n),this._allowedValues=s}validate(t){return fi(t,this.defaultValue,this._allowedValues)}}class gi extends ii{constructor(t,i,e,s,n,o,r){void 0!==r&&(r.type="string",r.enum=n,r.default=s),super(t,i,e,r),this._allowedValues=n,this._convert=o}validate(t){return"string"!=typeof t||-1===this._allowedValues.indexOf(t)?this.defaultValue:this._convert(t)}}var mi,wi;!function(t){t[t.Line=1]="Line",t[t.Block=2]="Block",t[t.Underline=3]="Underline",t[t.LineThin=4]="LineThin",t[t.BlockOutline=5]="BlockOutline",t[t.UnderlineThin=6]="UnderlineThin"}(mi||(mi={}));class vi extends ii{constructor(){super(51,"fontLigatures",vi.OFF,{anyOf:[{type:"boolean",description:rt(0,"Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:rt(0,"Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:rt(0,"Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(t){return void 0===t?this.defaultValue:"string"==typeof t?"false"===t?vi.OFF:"true"===t?vi.ON:t:Boolean(t)?vi.ON:vi.OFF}}vi.OFF='"liga" off, "calt" off',vi.ON='"liga" on, "calt" on';class bi extends ii{constructor(){super(54,"fontVariations",bi.OFF,{anyOf:[{type:"boolean",description:rt(0,"Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:rt(0,"Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:rt(0,"Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(t){return void 0===t?this.defaultValue:"string"==typeof t?"false"===t?bi.OFF:"true"===t?bi.TRANSLATE:t:Boolean(t)?bi.TRANSLATE:bi.OFF}compute(t,i,e){return t.fontInfo.fontVariationSettings}}bi.OFF="normal",bi.TRANSLATE="translate";class yi extends ii{constructor(){super(53,"fontWeight",Oi.fontWeight,{anyOf:[{type:"number",minimum:yi.MINIMUM_VALUE,maximum:yi.MAXIMUM_VALUE,errorMessage:rt(0,'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:yi.SUGGESTION_VALUES}],default:Oi.fontWeight,description:rt(0,'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(t){return"normal"===t||"bold"===t?t:String(ai.clampedInt(t,Oi.fontWeight,yi.MINIMUM_VALUE,yi.MAXIMUM_VALUE))}}yi.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],yi.MINIMUM_VALUE=1,yi.MAXIMUM_VALUE=1e3;class ki extends ni{constructor(){super(143)}compute(t,i,e){return ki.computeLayout(i,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(t){const i=t.height/t.lineHeight,e=Math.floor(t.paddingTop/t.lineHeight);let s=Math.floor(t.paddingBottom/t.lineHeight);t.scrollBeyondLastLine&&(s=Math.max(s,i-1));const n=(e+t.viewLineCount+s)/(t.pixelRatio*t.height);return{typicalViewportLineCount:i,extraLinesBeforeFirstLine:e,extraLinesBeyondLastLine:s,desiredRatio:n,minimapLineCount:Math.floor(t.viewLineCount/n)}}static _computeMinimapLayout(t,i){const e=t.outerWidth,s=t.outerHeight,n=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(n*s),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:s};const o=i.stableMinimapLayoutInput,r=o&&t.outerHeight===o.outerHeight&&t.lineHeight===o.lineHeight&&t.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&t.pixelRatio===o.pixelRatio&&t.scrollBeyondLastLine===o.scrollBeyondLastLine&&t.paddingTop===o.paddingTop&&t.paddingBottom===o.paddingBottom&&t.minimap.enabled===o.minimap.enabled&&t.minimap.side===o.minimap.side&&t.minimap.size===o.minimap.size&&t.minimap.showSlider===o.minimap.showSlider&&t.minimap.renderCharacters===o.minimap.renderCharacters&&t.minimap.maxColumn===o.minimap.maxColumn&&t.minimap.scale===o.minimap.scale&&t.verticalScrollbarWidth===o.verticalScrollbarWidth&&t.isViewportWrapping===o.isViewportWrapping,h=t.lineHeight,c=t.typicalHalfwidthCharacterWidth,a=t.scrollBeyondLastLine,l=t.minimap.renderCharacters;let u=n>=2?Math.round(2*t.minimap.scale):t.minimap.scale;const d=t.minimap.maxColumn,f=t.minimap.size,p=t.minimap.side,g=t.verticalScrollbarWidth,m=t.viewLineCount,w=t.remainingWidth,v=t.isViewportWrapping,b=l?2:3;let y=Math.floor(n*s);const k=y/n;let x=!1,C=!1,S=b*u,D=u/n,E=1;if("fill"===f||"fit"===f){const{typicalViewportLineCount:e,extraLinesBeforeFirstLine:o,extraLinesBeyondLastLine:c,desiredRatio:l,minimapLineCount:d}=ki.computeContainedMinimapLineCount({viewLineCount:m,scrollBeyondLastLine:a,paddingTop:t.paddingTop,paddingBottom:t.paddingBottom,height:s,lineHeight:h,pixelRatio:n});if(m/d>1)x=!0,C=!0,u=1,S=1,D=u/n;else{let s=!1,a=u+1;if("fit"===f){const t=Math.ceil((o+m+c)*S);v&&r&&w<=i.stableFitRemainingWidth?(s=!0,a=i.stableFitMaxMinimapScale):s=t>y}if("fill"===f||s){x=!0;const s=u;S=Math.min(h*n,Math.max(1,Math.floor(1/l))),v&&r&&w<=i.stableFitRemainingWidth&&(a=i.stableFitMaxMinimapScale),u=Math.min(a,Math.max(1,Math.floor(S/b))),u>s&&(E=Math.min(2,u/s)),D=u/n/E,y=Math.ceil(Math.max(e,o+m+c)*S),v?(i.stableMinimapLayoutInput=t,i.stableFitRemainingWidth=w,i.stableFitMaxMinimapScale=u):(i.stableMinimapLayoutInput=null,i.stableFitRemainingWidth=0)}}}const A=Math.floor(d*D),M=Math.min(A,Math.max(0,Math.floor((w-g-2)*D/(c+D)))+8);let L=Math.floor(n*M);const F=L/n;return L=Math.floor(L*E),{renderMinimap:l?1:2,minimapLeft:"left"===p?0:e-M-g,minimapWidth:M,minimapHeightIsEditorHeight:x,minimapIsSampling:C,minimapScale:u,minimapLineHeight:S,minimapCanvasInnerWidth:L,minimapCanvasInnerHeight:y,minimapCanvasOuterWidth:F,minimapCanvasOuterHeight:k}}static computeLayout(t,i){const e=0|i.outerWidth,s=0|i.outerHeight,n=0|i.lineHeight,o=0|i.lineNumbersDigitCount,r=i.typicalHalfwidthCharacterWidth,h=i.maxDigitWidth,c=i.pixelRatio,a=i.viewLineCount,l=t.get(135),u="inherit"===l?t.get(134):l,d="inherit"===u?t.get(130):u,f=t.get(133),p=i.isDominatedByLongLines,g=t.get(57),m=0!==t.get(67).renderType,w=t.get(68),v=t.get(104),b=t.get(83),y=t.get(72),k=t.get(102),x=k.verticalScrollbarSize,C=k.verticalHasArrows,S=k.arrowSize,D=k.horizontalScrollbarSize,E=t.get(43),A="never"!==t.get(109);let M=t.get(65);E&&A&&(M+=16);let L=0;if(m){const t=Math.max(o,w);L=Math.round(t*h)}let F=0;g&&(F=n*i.glyphMarginDecorationLaneCount);let T=0,R=T+F,O=R+L,I=O+M;const _=e-F-L-M;let N=!1,B=!1,P=-1;"inherit"===u&&p?(N=!0,B=!0):"on"===d||"bounded"===d?B=!0:"wordWrapColumn"===d&&(P=f);const $=ki._computeMinimapLayout({outerWidth:e,outerHeight:s,lineHeight:n,typicalHalfwidthCharacterWidth:r,pixelRatio:c,scrollBeyondLastLine:v,paddingTop:b.top,paddingBottom:b.bottom,minimap:y,verticalScrollbarWidth:x,viewLineCount:a,remainingWidth:_,isViewportWrapping:B},i.memory||new ti);0!==$.renderMinimap&&0===$.minimapLeft&&(T+=$.minimapWidth,R+=$.minimapWidth,O+=$.minimapWidth,I+=$.minimapWidth);const W=_-$.minimapWidth,j=Math.max(1,Math.floor((W-x-2)/r)),z=C?S:0;return B&&(P=Math.max(1,j),"bounded"===d&&(P=Math.min(P,f))),{width:e,height:s,glyphMarginLeft:T,glyphMarginWidth:F,glyphMarginDecorationLaneCount:i.glyphMarginDecorationLaneCount,lineNumbersLeft:R,lineNumbersWidth:L,decorationsLeft:O,decorationsWidth:M,contentLeft:I,contentWidth:W,minimap:$,viewportColumn:j,isWordWrapMinified:N,isViewportWrapping:B,wrappingColumn:P,verticalScrollbarWidth:x,horizontalScrollbarHeight:D,overviewRuler:{top:z,width:x,height:s-2*z,right:0}}}}function xi(t){const i=t.get(97);return"editable"===i?t.get(90):"on"!==i}function Ci(t,i){if("string"!=typeof t)return i;switch(t){case"hidden":return 2;case"visible":return 3;default:return 1}}!function(t){t.Off="off",t.OnCode="onCode",t.On="on"}(wi||(wi={}));const Si="inUntrustedWorkspace",Di="editor.unicodeHighlight.allowedCharacters",Ei="editor.unicodeHighlight.invisibleCharacters",Ai="editor.unicodeHighlight.nonBasicASCII",Mi="editor.unicodeHighlight.ambiguousCharacters",Li="editor.unicodeHighlight.includeComments",Fi="editor.unicodeHighlight.includeStrings",Ti="editor.unicodeHighlight.allowedLocales";function Ri(t,i,e){const s=e.indexOf(t);return-1===s?i:e[s]}const Oi={fontFamily:St?"Menlo, Monaco, 'Courier New', monospace":Dt?"'Droid Sans Mono', 'monospace', monospace":"Consolas, 'Courier New', monospace",fontWeight:"normal",fontSize:St?12:14,lineHeight:0,letterSpacing:0},Ii=[];function _i(t){return Ii[t.id]=t,t}const Ni={acceptSuggestionOnCommitCharacter:_i(new hi(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:rt(0,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:_i(new pi(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",rt(0,"Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:rt(0,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:_i(new class extends ii{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[rt(0,"Use platform APIs to detect when a Screen Reader is attached."),rt(0,"Optimize for usage with a Screen Reader."),rt(0,"Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:rt(0,"Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(t){switch(t){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(t,i,e){return 0===e?t.accessibilitySupport:e}}),accessibilityPageSize:_i(new ai(3,"accessibilityPageSize",10,1,1073741824,{description:rt(0,"Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:_i(new di(4,"ariaLabel",rt(0,"Editor content"))),ariaRequired:_i(new hi(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:_i(new hi(8,"screenReaderAnnounceInlineSuggestion",!0,{description:rt(0,"Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:_i(new pi(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",rt(0,"Use language configurations to determine when to autoclose brackets."),rt(0,"Autoclose brackets only when the cursor is to the left of whitespace."),""],description:rt(0,"Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:_i(new pi(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",rt(0,"Use language configurations to determine when to autoclose comments."),rt(0,"Autoclose comments only when the cursor is to the left of whitespace."),""],description:rt(0,"Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:_i(new pi(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",rt(0,"Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:rt(0,"Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:_i(new pi(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",rt(0,"Type over closing quotes or brackets only if they were automatically inserted."),""],description:rt(0,"Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:_i(new pi(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",rt(0,"Use language configurations to determine when to autoclose quotes."),rt(0,"Autoclose quotes only when the cursor is to the left of whitespace."),""],description:rt(0,"Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:_i(new gi(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],(function(t){switch(t){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}),{enumDescriptions:[rt(0,"The editor will not insert indentation automatically."),rt(0,"The editor will keep the current line's indentation."),rt(0,"The editor will keep the current line's indentation and honor language defined brackets."),rt(0,"The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),rt(0,"The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:rt(0,"Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:_i(new hi(13,"automaticLayout",!1)),autoSurround:_i(new pi(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[rt(0,"Use language configurations to determine when to automatically surround selections."),rt(0,"Surround with quotes but not brackets."),rt(0,"Surround with brackets but not quotes."),""],description:rt(0,"Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:_i(new class extends ii{constructor(){const t={enabled:Ht.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:Ht.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",t,{"editor.bracketPairColorization.enabled":{type:"boolean",default:t.enabled,markdownDescription:rt(0,"Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:t.independentColorPoolPerBracketType,description:rt(0,"Controls whether each bracket type has its own independent color pool.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:ri(i.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}),bracketPairGuides:_i(new class extends ii{constructor(){const t={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",t,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[rt(0,"Enables bracket pair guides."),rt(0,"Enables bracket pair guides only for the active bracket pair."),rt(0,"Disables bracket pair guides.")],default:t.bracketPairs,description:rt(0,"Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[rt(0,"Enables horizontal guides as addition to vertical bracket pair guides."),rt(0,"Enables horizontal guides only for the active bracket pair."),rt(0,"Disables horizontal bracket pair guides.")],default:t.bracketPairsHorizontal,description:rt(0,"Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:t.highlightActiveBracketPair,description:rt(0,"Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:t.indentation,description:rt(0,"Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[rt(0,"Highlights the active indent guide."),rt(0,"Highlights the active indent guide even if bracket guides are highlighted."),rt(0,"Do not highlight the active indent guide.")],default:t.highlightActiveIndentation,description:rt(0,"Controls whether the editor should highlight the active indent guide.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{bracketPairs:Ri(i.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:Ri(i.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:ri(i.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:ri(i.indentation,this.defaultValue.indentation),highlightActiveIndentation:Ri(i.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}),stickyTabStops:_i(new hi(115,"stickyTabStops",!1,{description:rt(0,"Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:_i(new hi(17,"codeLens",!0,{description:rt(0,"Controls whether the editor shows CodeLens.")})),codeLensFontFamily:_i(new di(18,"codeLensFontFamily","",{description:rt(0,"Controls the font family for CodeLens.")})),codeLensFontSize:_i(new ai(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:rt(0,"Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:_i(new hi(20,"colorDecorators",!0,{description:rt(0,"Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:_i(new pi(146,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[rt(0,"Make the color picker appear both on click and hover of the color decorator"),rt(0,"Make the color picker appear on hover of the color decorator"),rt(0,"Make the color picker appear on click of the color decorator")],description:rt(0,"Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:_i(new ai(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:rt(0,"Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:_i(new hi(22,"columnSelection",!1,{description:rt(0,"Enable that the selection with the mouse and keys is doing column selection.")})),comments:_i(new class extends ii{constructor(){const t={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",t,{"editor.comments.insertSpace":{type:"boolean",default:t.insertSpace,description:rt(0,"Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:t.ignoreEmptyLines,description:rt(0,"Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{insertSpace:ri(i.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:ri(i.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}),contextmenu:_i(new hi(24,"contextmenu",!0)),copyWithSyntaxHighlighting:_i(new hi(25,"copyWithSyntaxHighlighting",!0,{description:rt(0,"Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:_i(new gi(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],(function(t){switch(t){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}),{description:rt(0,"Control the cursor animation style.")})),cursorSmoothCaretAnimation:_i(new pi(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[rt(0,"Smooth caret animation is disabled."),rt(0,"Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),rt(0,"Smooth caret animation is always enabled.")],description:rt(0,"Controls whether the smooth caret animation should be enabled.")})),cursorStyle:_i(new gi(28,"cursorStyle",mi.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],(function(t){switch(t){case"line":return mi.Line;case"block":return mi.Block;case"underline":return mi.Underline;case"line-thin":return mi.LineThin;case"block-outline":return mi.BlockOutline;case"underline-thin":return mi.UnderlineThin}}),{description:rt(0,"Controls the cursor style.")})),cursorSurroundingLines:_i(new ai(29,"cursorSurroundingLines",0,0,1073741824,{description:rt(0,"Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:_i(new pi(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[rt(0,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),rt(0,"`cursorSurroundingLines` is enforced always.")],markdownDescription:rt(0,"Controls when `#cursorSurroundingLines#` should be enforced.")})),cursorWidth:_i(new ai(31,"cursorWidth",0,0,1073741824,{markdownDescription:rt(0,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:_i(new hi(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:_i(new hi(33,"disableMonospaceOptimizations",!1)),domReadOnly:_i(new hi(34,"domReadOnly",!1)),dragAndDrop:_i(new hi(35,"dragAndDrop",!0,{description:rt(0,"Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:_i(new class extends hi{constructor(){super(37,"emptySelectionClipboard",!0,{description:rt(0,"Controls whether copying without a selection copies the current line.")})}compute(t,i,e){return e&&t.emptySelectionClipboard}}),dropIntoEditor:_i(new class extends ii{constructor(){const t={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",t,{"editor.dropIntoEditor.enabled":{type:"boolean",default:t.enabled,markdownDescription:rt(0,"Controls whether you can drag and drop a file into a text editor by holding down `Shift`-key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:rt(0,"Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[rt(0,"Show the drop selector widget after a file is dropped into the editor."),rt(0,"Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),showDropSelector:fi(i.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}),stickyScroll:_i(new class extends ii{constructor(){const t={enabled:!1,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(114,"stickyScroll",t,{"editor.stickyScroll.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Shows the nested current scopes during the scroll at the top of the editor.")},"editor.stickyScroll.maxLineCount":{type:"number",default:t.maxLineCount,minimum:1,maximum:10,description:rt(0,"Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:t.defaultModel,description:rt(0,"Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:t.scrollWithEditor,description:rt(0,"Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),maxLineCount:ai.clampedInt(i.maxLineCount,this.defaultValue.maxLineCount,1,10),defaultModel:fi(i.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:ri(i.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}),experimentalWhitespaceRendering:_i(new pi(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[rt(0,"Use a new rendering method with svgs."),rt(0,"Use a new rendering method with font characters."),rt(0,"Use the stable rendering method.")],description:rt(0,"Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:_i(new di(39,"extraEditorClassName","")),fastScrollSensitivity:_i(new ui(40,"fastScrollSensitivity",5,(t=>t<=0?5:t),{markdownDescription:rt(0,"Scrolling speed multiplier when pressing `Alt`.")})),find:_i(new class extends ii{constructor(){const t={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",t,{"editor.find.cursorMoveOnType":{type:"boolean",default:t.cursorMoveOnType,description:rt(0,"Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:t.seedSearchStringFromSelection,enumDescriptions:[rt(0,"Never seed search string from the editor selection."),rt(0,"Always seed search string from the editor selection, including word at cursor position."),rt(0,"Only seed search string from the editor selection.")],description:rt(0,"Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:t.autoFindInSelection,enumDescriptions:[rt(0,"Never turn on Find in Selection automatically (default)."),rt(0,"Always turn on Find in Selection automatically."),rt(0,"Turn on Find in Selection automatically when multiple lines of content are selected.")],description:rt(0,"Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:t.globalFindClipboard,description:rt(0,"Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:St},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:t.addExtraSpaceOnTop,description:rt(0,"Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:t.loop,description:rt(0,"Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{cursorMoveOnType:ri(i.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:"boolean"==typeof t.seedSearchStringFromSelection?t.seedSearchStringFromSelection?"always":"never":fi(i.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:"boolean"==typeof t.autoFindInSelection?t.autoFindInSelection?"always":"never":fi(i.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:ri(i.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:ri(i.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:ri(i.loop,this.defaultValue.loop)}}}),fixedOverflowWidgets:_i(new hi(42,"fixedOverflowWidgets",!1)),folding:_i(new hi(43,"folding",!0,{description:rt(0,"Controls whether the editor has code folding enabled.")})),foldingStrategy:_i(new pi(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[rt(0,"Use a language-specific folding strategy if available, else the indentation-based one."),rt(0,"Use the indentation-based folding strategy.")],description:rt(0,"Controls the strategy for computing folding ranges.")})),foldingHighlight:_i(new hi(45,"foldingHighlight",!0,{description:rt(0,"Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:_i(new hi(46,"foldingImportsByDefault",!1,{description:rt(0,"Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:_i(new ai(47,"foldingMaximumRegions",5e3,10,65e3,{description:rt(0,"The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:_i(new hi(48,"unfoldOnClickAfterEndOfLine",!1,{description:rt(0,"Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:_i(new di(49,"fontFamily",Oi.fontFamily,{description:rt(0,"Controls the font family.")})),fontInfo:_i(new class extends ni{constructor(){super(50)}compute(t,i,e){return t.fontInfo}}),fontLigatures2:_i(new vi),fontSize:_i(new class extends oi{constructor(){super(52,"fontSize",Oi.fontSize,{type:"number",minimum:6,maximum:100,default:Oi.fontSize,description:rt(0,"Controls the font size in pixels.")})}validate(t){const i=ui.float(t,this.defaultValue);return 0===i?Oi.fontSize:ui.clamp(i,6,100)}compute(t,i,e){return t.fontInfo.fontSize}}),fontWeight:_i(new yi),fontVariations:_i(new bi),formatOnPaste:_i(new hi(55,"formatOnPaste",!1,{description:rt(0,"Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:_i(new hi(56,"formatOnType",!1,{description:rt(0,"Controls whether the editor should automatically format the line after typing.")})),glyphMargin:_i(new hi(57,"glyphMargin",!0,{description:rt(0,"Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:_i(new class extends ii{constructor(){const t={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},i={type:"string",enum:["peek","gotoAndPeek","goto"],default:t.multiple,enumDescriptions:[rt(0,"Show Peek view of the results (default)"),rt(0,"Go to the primary result and show a Peek view"),rt(0,"Go to the primary result and enable Peek-less navigation to others")]},e=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(58,"gotoLocation",t,{"editor.gotoLocation.multiple":{deprecationMessage:rt(0,"This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:rt(0,"Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleTypeDefinitions":{description:rt(0,"Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleDeclarations":{description:rt(0,"Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleImplementations":{description:rt(0,"Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...i},"editor.gotoLocation.multipleReferences":{description:rt(0,"Controls the behavior the 'Go to References'-command when multiple target locations exist."),...i},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:t.alternativeDefinitionCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:t.alternativeTypeDefinitionCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:t.alternativeDeclarationCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:t.alternativeImplementationCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:t.alternativeReferenceCommand,enum:e,description:rt(0,"Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(t){var i,e,s,n,o;if(!t||"object"!=typeof t)return this.defaultValue;const r=t;return{multiple:fi(r.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:null!==(i=r.multipleDefinitions)&&void 0!==i?i:fi(r.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:null!==(e=r.multipleTypeDefinitions)&&void 0!==e?e:fi(r.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:null!==(s=r.multipleDeclarations)&&void 0!==s?s:fi(r.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:null!==(n=r.multipleImplementations)&&void 0!==n?n:fi(r.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:null!==(o=r.multipleReferences)&&void 0!==o?o:fi(r.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:di.string(r.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:di.string(r.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:di.string(r.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:di.string(r.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:di.string(r.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}),hideCursorInOverviewRuler:_i(new hi(59,"hideCursorInOverviewRuler",!1,{description:rt(0,"Controls whether the cursor should be hidden in the overview ruler.")})),hover:_i(new class extends ii{constructor(){const t={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",t,{"editor.hover.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:t.delay,minimum:0,maximum:1e4,description:rt(0,"Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:t.sticky,description:rt(0,"Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:t.hidingDelay,description:rt(0,"Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:t.above,description:rt(0,"Prefer showing hovers above the line, if there's space.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),delay:ai.clampedInt(i.delay,this.defaultValue.delay,0,1e4),sticky:ri(i.sticky,this.defaultValue.sticky),hidingDelay:ai.clampedInt(i.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:ri(i.above,this.defaultValue.above)}}}),inDiffEditor:_i(new hi(61,"inDiffEditor",!1)),letterSpacing:_i(new ui(63,"letterSpacing",Oi.letterSpacing,(t=>ui.clamp(t,-5,20)),{description:rt(0,"Controls the letter spacing in pixels.")})),lightbulb:_i(new class extends ii{constructor(){const t={enabled:!0,experimental:{showAiIcon:wi.Off}};super(64,"lightbulb",t,{"editor.lightbulb.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Enables the Code Action lightbulb in the editor.")},"editor.lightbulb.experimental.showAiIcon":{type:"string",enum:[wi.Off,wi.OnCode,wi.On],default:t.experimental.showAiIcon,enumDescriptions:[rt(0,"Don not show the AI icon."),rt(0,"Show an AI icon when the code action menu contains an AI action, but only on code."),rt(0,"Show an AI icon when the code action menu contains an AI action, on code and empty lines.")],description:rt(0,"Show an AI icon along with the lightbulb when the code action menu contains an AI action.")}})}validate(t){var i,e;if(!t||"object"!=typeof t)return this.defaultValue;const s=t;return{enabled:ri(s.enabled,this.defaultValue.enabled),experimental:{showAiIcon:fi(null===(i=s.experimental)||void 0===i?void 0:i.showAiIcon,null===(e=this.defaultValue.experimental)||void 0===e?void 0:e.showAiIcon,[wi.Off,wi.OnCode,wi.On])}}}}),lineDecorationsWidth:_i(new class extends ii{constructor(){super(65,"lineDecorationsWidth",10)}validate(t){return"string"==typeof t&&/^\d+(\.\d+)?ch$/.test(t)?-parseFloat(t.substring(0,t.length-2)):ai.clampedInt(t,this.defaultValue,0,1e3)}compute(t,i,e){return e<0?ai.clampedInt(-e*t.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):e}}),lineHeight:_i(new class extends ui{constructor(){super(66,"lineHeight",Oi.lineHeight,(t=>ui.clamp(t,0,150)),{markdownDescription:rt(0,"Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")})}compute(t,i,e){return t.fontInfo.lineHeight}}),lineNumbers:_i(new class extends ii{constructor(){super(67,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[rt(0,"Line numbers are not rendered."),rt(0,"Line numbers are rendered as absolute number."),rt(0,"Line numbers are rendered as distance in lines to cursor position."),rt(0,"Line numbers are rendered every 10 lines.")],default:"on",description:rt(0,"Controls the display of line numbers.")})}validate(t){let i=this.defaultValue.renderType,e=this.defaultValue.renderFn;return void 0!==t&&("function"==typeof t?(i=4,e=t):i="interval"===t?3:"relative"===t?2:"on"===t?1:0),{renderType:i,renderFn:e}}}),lineNumbersMinChars:_i(new ai(68,"lineNumbersMinChars",5,1,300)),linkedEditing:_i(new hi(69,"linkedEditing",!1,{description:rt(0,"Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:_i(new hi(70,"links",!0,{description:rt(0,"Controls whether the editor should detect links and make them clickable.")})),matchBrackets:_i(new pi(71,"matchBrackets","always",["always","near","never"],{description:rt(0,"Highlight matching brackets.")})),minimap:_i(new class extends ii{constructor(){const t={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1};super(72,"minimap",t,{"editor.minimap.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:t.autohide,description:rt(0,"Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[rt(0,"The minimap has the same size as the editor contents (and might scroll)."),rt(0,"The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),rt(0,"The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:t.size,description:rt(0,"Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:t.side,description:rt(0,"Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:t.showSlider,description:rt(0,"Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:t.scale,minimum:1,maximum:3,enum:[1,2,3],description:rt(0,"Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:t.renderCharacters,description:rt(0,"Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:t.maxColumn,description:rt(0,"Limit the width of the minimap to render at most a certain number of columns.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),autohide:ri(i.autohide,this.defaultValue.autohide),size:fi(i.size,this.defaultValue.size,["proportional","fill","fit"]),side:fi(i.side,this.defaultValue.side,["right","left"]),showSlider:fi(i.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:ri(i.renderCharacters,this.defaultValue.renderCharacters),scale:ai.clampedInt(i.scale,1,1,3),maxColumn:ai.clampedInt(i.maxColumn,this.defaultValue.maxColumn,1,1e4)}}}),mouseStyle:_i(new pi(73,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:_i(new ui(74,"mouseWheelScrollSensitivity",1,(t=>0===t?1:t),{markdownDescription:rt(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:_i(new hi(75,"mouseWheelZoom",!1,{markdownDescription:rt(0,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:_i(new hi(76,"multiCursorMergeOverlapping",!0,{description:rt(0,"Merge multiple cursors when they are overlapping.")})),multiCursorModifier:_i(new gi(77,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],(function(t){return"ctrlCmd"===t?St?"metaKey":"ctrlKey":"altKey"}),{markdownEnumDescriptions:[rt(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),rt(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:rt(0,"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:_i(new pi(78,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[rt(0,"Each cursor pastes a single line of the text."),rt(0,"Each cursor pastes the full text.")],markdownDescription:rt(0,"Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:_i(new ai(79,"multiCursorLimit",1e4,1,1e5,{markdownDescription:rt(0,"Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:_i(new pi(80,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[rt(0,"Does not highlight occurrences."),rt(0,"Highlights occurrences only in the current file."),rt(0,"Experimental: Highlights occurrences across all valid open files.")],markdownDescription:rt(0,"Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:_i(new hi(81,"overviewRulerBorder",!0,{description:rt(0,"Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:_i(new ai(82,"overviewRulerLanes",3,0,3)),padding:_i(new class extends ii{constructor(){super(83,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:rt(0,"Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:rt(0,"Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{top:ai.clampedInt(i.top,0,0,1e3),bottom:ai.clampedInt(i.bottom,0,0,1e3)}}}),pasteAs:_i(new class extends ii{constructor(){const t={enabled:!0,showPasteSelector:"afterPaste"};super(84,"pasteAs",t,{"editor.pasteAs.enabled":{type:"boolean",default:t.enabled,markdownDescription:rt(0,"Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:rt(0,"Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[rt(0,"Show the paste selector widget after content is pasted into the editor."),rt(0,"Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),showPasteSelector:fi(i.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}),parameterHints:_i(new class extends ii{constructor(){const t={enabled:!0,cycle:!0};super(85,"parameterHints",t,{"editor.parameterHints.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:t.cycle,description:rt(0,"Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),cycle:ri(i.cycle,this.defaultValue.cycle)}}}),peekWidgetDefaultFocus:_i(new pi(86,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[rt(0,"Focus the tree when opening peek"),rt(0,"Focus the editor when opening peek")],description:rt(0,"Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:_i(new hi(87,"definitionLinkOpensInPeek",!1,{description:rt(0,"Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:_i(new class extends ii{constructor(){const t={other:"on",comments:"off",strings:"off"},i=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[rt(0,"Quick suggestions show inside the suggest widget"),rt(0,"Quick suggestions show as ghost text"),rt(0,"Quick suggestions are disabled")]}];super(88,"quickSuggestions",t,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:i,default:t.strings,description:rt(0,"Enable quick suggestions inside strings.")},comments:{anyOf:i,default:t.comments,description:rt(0,"Enable quick suggestions inside comments.")},other:{anyOf:i,default:t.other,description:rt(0,"Enable quick suggestions outside of strings and comments.")}},default:t,markdownDescription:rt(0,"Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the '{0}'-setting which controls if suggestions are triggered by special characters.","#editor.suggestOnTriggerCharacters#")}),this.defaultValue=t}validate(t){if("boolean"==typeof t){const i=t?"on":"off";return{comments:i,strings:i,other:i}}if(!t||"object"!=typeof t)return this.defaultValue;const{other:i,comments:e,strings:s}=t,n=["on","inline","off"];let o,r,h;return o="boolean"==typeof i?i?"on":"off":fi(i,this.defaultValue.other,n),r="boolean"==typeof e?e?"on":"off":fi(e,this.defaultValue.comments,n),h="boolean"==typeof s?s?"on":"off":fi(s,this.defaultValue.strings,n),{other:o,comments:r,strings:h}}}),quickSuggestionsDelay:_i(new ai(89,"quickSuggestionsDelay",10,0,1073741824,{description:rt(0,"Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:_i(new hi(90,"readOnly",!1)),readOnlyMessage:_i(new class extends ii{constructor(){super(91,"readOnlyMessage",void 0)}validate(t){return t&&"object"==typeof t?t:this.defaultValue}}),renameOnType:_i(new hi(92,"renameOnType",!1,{description:rt(0,"Controls whether the editor auto renames on type."),markdownDeprecationMessage:rt(0,"Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:_i(new hi(93,"renderControlCharacters",!0,{description:rt(0,"Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:_i(new pi(94,"renderFinalNewline",Dt?"dimmed":"on",["off","on","dimmed"],{description:rt(0,"Render last line number when the file ends with a newline.")})),renderLineHighlight:_i(new pi(95,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",rt(0,"Highlights both the gutter and the current line.")],description:rt(0,"Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:_i(new hi(96,"renderLineHighlightOnlyWhenFocus",!1,{description:rt(0,"Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:_i(new pi(97,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:_i(new pi(98,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",rt(0,"Render whitespace characters except for single spaces between words."),rt(0,"Render whitespace characters only on selected text."),rt(0,"Render only trailing whitespace characters."),""],description:rt(0,"Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:_i(new ai(99,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:_i(new hi(100,"roundedSelection",!0,{description:rt(0,"Controls whether selections should have rounded corners.")})),rulers:_i(new class extends ii{constructor(){const t=[],i={type:"number",description:rt(0,"Number of monospace characters at which this editor ruler will render.")};super(101,"rulers",t,{type:"array",items:{anyOf:[i,{type:["object"],properties:{column:i,color:{type:"string",description:rt(0,"Color of this editor ruler."),format:"color-hex"}}}]},default:t,description:rt(0,"Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(t){if(Array.isArray(t)){const i=[];for(const e of t)if("number"==typeof e)i.push({column:ai.clampedInt(e,0,0,1e4),color:null});else if(e&&"object"==typeof e){const t=e;i.push({column:ai.clampedInt(t.column,0,0,1e4),color:t.color})}return i.sort(((t,i)=>t.column-i.column)),i}return this.defaultValue}}),scrollbar:_i(new class extends ii{constructor(){const t={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(102,"scrollbar",t,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[rt(0,"The vertical scrollbar will be visible only when necessary."),rt(0,"The vertical scrollbar will always be visible."),rt(0,"The vertical scrollbar will always be hidden.")],default:"auto",description:rt(0,"Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[rt(0,"The horizontal scrollbar will be visible only when necessary."),rt(0,"The horizontal scrollbar will always be visible."),rt(0,"The horizontal scrollbar will always be hidden.")],default:"auto",description:rt(0,"Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:t.verticalScrollbarSize,description:rt(0,"The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:t.horizontalScrollbarSize,description:rt(0,"The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:t.scrollByPage,description:rt(0,"Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:t.ignoreHorizontalScrollbarInContentHeight,description:rt(0,"When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t,e=ai.clampedInt(i.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),s=ai.clampedInt(i.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:ai.clampedInt(i.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:Ci(i.vertical,this.defaultValue.vertical),horizontal:Ci(i.horizontal,this.defaultValue.horizontal),useShadows:ri(i.useShadows,this.defaultValue.useShadows),verticalHasArrows:ri(i.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:ri(i.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:ri(i.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:ri(i.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:e,horizontalSliderSize:ai.clampedInt(i.horizontalSliderSize,e,0,1e3),verticalScrollbarSize:s,verticalSliderSize:ai.clampedInt(i.verticalSliderSize,s,0,1e3),scrollByPage:ri(i.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:ri(i.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}}),scrollBeyondLastColumn:_i(new ai(103,"scrollBeyondLastColumn",4,0,1073741824,{description:rt(0,"Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:_i(new hi(104,"scrollBeyondLastLine",!0,{description:rt(0,"Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:_i(new hi(105,"scrollPredominantAxis",!0,{description:rt(0,"Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:_i(new hi(106,"selectionClipboard",!0,{description:rt(0,"Controls whether the Linux primary clipboard should be supported."),included:Dt})),selectionHighlight:_i(new hi(107,"selectionHighlight",!0,{description:rt(0,"Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:_i(new hi(108,"selectOnLineNumbers",!0)),showFoldingControls:_i(new pi(109,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[rt(0,"Always show the folding controls."),rt(0,"Never show the folding controls and reduce the gutter size."),rt(0,"Only show the folding controls when the mouse is over the gutter.")],description:rt(0,"Controls when the folding controls on the gutter are shown.")})),showUnused:_i(new hi(110,"showUnused",!0,{description:rt(0,"Controls fading out of unused code.")})),showDeprecated:_i(new hi(138,"showDeprecated",!0,{description:rt(0,"Controls strikethrough deprecated variables.")})),inlayHints:_i(new class extends ii{constructor(){const t={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(139,"inlayHints",t,{"editor.inlayHints.enabled":{type:"string",default:t.enabled,description:rt(0,"Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[rt(0,"Inlay hints are enabled"),rt(0,"Inlay hints are showing by default and hide when holding {0}",St?"Ctrl+Option":"Ctrl+Alt"),rt(0,"Inlay hints are hidden by default and show when holding {0}",St?"Ctrl+Option":"Ctrl+Alt"),rt(0,"Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:t.fontSize,markdownDescription:rt(0,"Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:t.fontFamily,markdownDescription:rt(0,"Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:t.padding,description:rt(0,"Enables the padding around the inlay hints in the editor.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return"boolean"==typeof i.enabled&&(i.enabled=i.enabled?"on":"off"),{enabled:fi(i.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:ai.clampedInt(i.fontSize,this.defaultValue.fontSize,0,100),fontFamily:di.string(i.fontFamily,this.defaultValue.fontFamily),padding:ri(i.padding,this.defaultValue.padding)}}}),snippetSuggestions:_i(new pi(111,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[rt(0,"Show snippet suggestions on top of other suggestions."),rt(0,"Show snippet suggestions below other suggestions."),rt(0,"Show snippets suggestions with other suggestions."),rt(0,"Do not show snippet suggestions.")],description:rt(0,"Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:_i(new class extends ii{constructor(){super(112,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:rt(0,"Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:rt(0,"Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(t){return t&&"object"==typeof t?{selectLeadingAndTrailingWhitespace:ri(t.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:ri(t.selectSubwords,this.defaultValue.selectSubwords)}:this.defaultValue}}),smoothScrolling:_i(new hi(113,"smoothScrolling",!1,{description:rt(0,"Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:_i(new ai(116,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:_i(new class extends ii{constructor(){const t={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(117,"suggest",t,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[rt(0,"Insert suggestion without overwriting text right of the cursor."),rt(0,"Insert suggestion and overwrite text right of the cursor.")],default:t.insertMode,description:rt(0,"Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:t.filterGraceful,description:rt(0,"Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:t.localityBonus,description:rt(0,"Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:t.shareSuggestSelections,markdownDescription:rt(0,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[rt(0,"Always select a suggestion when automatically triggering IntelliSense."),rt(0,"Never select a suggestion when automatically triggering IntelliSense."),rt(0,"Select a suggestion only when triggering IntelliSense from a trigger character."),rt(0,"Select a suggestion only when triggering IntelliSense as you type.")],default:t.selectionMode,markdownDescription:rt(0,"Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions (`#editor.quickSuggestions#` and `#editor.suggestOnTriggerCharacters#`) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:t.snippetsPreventQuickSuggestions,description:rt(0,"Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:t.showIcons,description:rt(0,"Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:t.showStatusBar,description:rt(0,"Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:t.preview,description:rt(0,"Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:t.showInlineDetails,description:rt(0,"Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:rt(0,"This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:rt(0,"This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:rt(0,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{insertMode:fi(i.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:ri(i.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:ri(i.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:ri(i.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:ri(i.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:fi(i.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:ri(i.showIcons,this.defaultValue.showIcons),showStatusBar:ri(i.showStatusBar,this.defaultValue.showStatusBar),preview:ri(i.preview,this.defaultValue.preview),previewMode:fi(i.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:ri(i.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:ri(i.showMethods,this.defaultValue.showMethods),showFunctions:ri(i.showFunctions,this.defaultValue.showFunctions),showConstructors:ri(i.showConstructors,this.defaultValue.showConstructors),showDeprecated:ri(i.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:ri(i.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:ri(i.showFields,this.defaultValue.showFields),showVariables:ri(i.showVariables,this.defaultValue.showVariables),showClasses:ri(i.showClasses,this.defaultValue.showClasses),showStructs:ri(i.showStructs,this.defaultValue.showStructs),showInterfaces:ri(i.showInterfaces,this.defaultValue.showInterfaces),showModules:ri(i.showModules,this.defaultValue.showModules),showProperties:ri(i.showProperties,this.defaultValue.showProperties),showEvents:ri(i.showEvents,this.defaultValue.showEvents),showOperators:ri(i.showOperators,this.defaultValue.showOperators),showUnits:ri(i.showUnits,this.defaultValue.showUnits),showValues:ri(i.showValues,this.defaultValue.showValues),showConstants:ri(i.showConstants,this.defaultValue.showConstants),showEnums:ri(i.showEnums,this.defaultValue.showEnums),showEnumMembers:ri(i.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:ri(i.showKeywords,this.defaultValue.showKeywords),showWords:ri(i.showWords,this.defaultValue.showWords),showColors:ri(i.showColors,this.defaultValue.showColors),showFiles:ri(i.showFiles,this.defaultValue.showFiles),showReferences:ri(i.showReferences,this.defaultValue.showReferences),showFolders:ri(i.showFolders,this.defaultValue.showFolders),showTypeParameters:ri(i.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:ri(i.showSnippets,this.defaultValue.showSnippets),showUsers:ri(i.showUsers,this.defaultValue.showUsers),showIssues:ri(i.showIssues,this.defaultValue.showIssues)}}}),inlineSuggest:_i(new class extends ii{constructor(){const t={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1};super(62,"inlineSuggest",t,{"editor.inlineSuggest.enabled":{type:"boolean",default:t.enabled,description:rt(0,"Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:t.showToolbar,enum:["always","onHover","never"],enumDescriptions:[rt(0,"Show the inline suggestion toolbar whenever an inline suggestion is shown."),rt(0,"Show the inline suggestion toolbar when hovering over an inline suggestion."),rt(0,"Never show the inline suggestion toolbar.")],description:rt(0,"Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:t.suppressSuggestions,description:rt(0,"Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")}})}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{enabled:ri(i.enabled,this.defaultValue.enabled),mode:fi(i.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:fi(i.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:ri(i.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:ri(i.keepOnBlur,this.defaultValue.keepOnBlur)}}}),inlineCompletionsAccessibilityVerbose:_i(new hi(147,"inlineCompletionsAccessibilityVerbose",!1,{description:rt(0,"Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:_i(new ai(118,"suggestFontSize",0,0,1e3,{markdownDescription:rt(0,"Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:_i(new ai(119,"suggestLineHeight",0,0,1e3,{markdownDescription:rt(0,"Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:_i(new hi(120,"suggestOnTriggerCharacters",!0,{description:rt(0,"Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:_i(new pi(121,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[rt(0,"Always select the first suggestion."),rt(0,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),rt(0,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:rt(0,"Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:_i(new pi(122,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[rt(0,"Tab complete will insert the best matching suggestion when pressing tab."),rt(0,"Disable tab completions."),rt(0,"Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:rt(0,"Enables tab completions.")})),tabIndex:_i(new ai(123,"tabIndex",0,-1,1073741824)),unicodeHighlight:_i(new class extends ii{constructor(){const t={nonBasicASCII:Si,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Si,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(124,"unicodeHighlight",t,{[Ai]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Si],default:t.nonBasicASCII,description:rt(0,"Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[Ei]:{restricted:!0,type:"boolean",default:t.invisibleCharacters,description:rt(0,"Controls whether characters that just reserve space or have no width at all are highlighted.")},[Mi]:{restricted:!0,type:"boolean",default:t.ambiguousCharacters,description:rt(0,"Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[Li]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Si],default:t.includeComments,description:rt(0,"Controls whether characters in comments should also be subject to Unicode highlighting.")},[Fi]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Si],default:t.includeStrings,description:rt(0,"Controls whether characters in strings should also be subject to Unicode highlighting.")},[Di]:{restricted:!0,type:"object",default:t.allowedCharacters,description:rt(0,"Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[Ti]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:t.allowedLocales,description:rt(0,"Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(t,i){let e=!1;i.allowedCharacters&&t&&(et(t.allowedCharacters,i.allowedCharacters)||(t={...t,allowedCharacters:i.allowedCharacters},e=!0)),i.allowedLocales&&t&&(et(t.allowedLocales,i.allowedLocales)||(t={...t,allowedLocales:i.allowedLocales},e=!0));const s=super.applyUpdate(t,i);return e?new ei(s.newValue,!0):s}validate(t){if(!t||"object"!=typeof t)return this.defaultValue;const i=t;return{nonBasicASCII:Ri(i.nonBasicASCII,Si,[!0,!1,Si]),invisibleCharacters:ri(i.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:ri(i.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:Ri(i.includeComments,Si,[!0,!1,Si]),includeStrings:Ri(i.includeStrings,Si,[!0,!1,Si]),allowedCharacters:this.validateBooleanMap(t.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(t.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(t,i){if("object"!=typeof t||!t)return i;const e={};for(const[i,s]of Object.entries(t))!0===s&&(e[i]=!0);return e}}),unusualLineTerminators:_i(new pi(125,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[rt(0,"Unusual line terminators are automatically removed."),rt(0,"Unusual line terminators are ignored."),rt(0,"Unusual line terminators prompt to be removed.")],description:rt(0,"Remove unusual line terminators that might cause problems.")})),useShadowDOM:_i(new hi(126,"useShadowDOM",!0)),useTabStops:_i(new hi(127,"useTabStops",!0,{description:rt(0,"Inserting and deleting whitespace follows tab stops.")})),wordBreak:_i(new pi(128,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[rt(0,"Use the default line break rule."),rt(0,"Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:rt(0,"Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSeparators:_i(new di(129,"wordSeparators",Kt,{description:rt(0,"Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:_i(new pi(130,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[rt(0,"Lines will never wrap."),rt(0,"Lines will wrap at the viewport width."),rt(0,"Lines will wrap at `#editor.wordWrapColumn#`."),rt(0,"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:rt(0,"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:_i(new di(131,"wordWrapBreakAfterCharacters"," \t})]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:_i(new di(132,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:_i(new ai(133,"wordWrapColumn",80,1,1073741824,{markdownDescription:rt(0,"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:_i(new pi(134,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:_i(new pi(135,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:_i(new class extends ni{constructor(){super(140)}compute(t,i,e){const s=["monaco-editor"];return i.get(39)&&s.push(i.get(39)),t.extraEditorClassName&&s.push(t.extraEditorClassName),"default"===i.get(73)?s.push("mouse-default"):"copy"===i.get(73)&&s.push("mouse-copy"),i.get(110)&&s.push("showUnused"),i.get(138)&&s.push("showDeprecated"),s.join(" ")}}),defaultColorDecorators:_i(new hi(145,"defaultColorDecorators",!1,{markdownDescription:rt(0,"Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:_i(new class extends ni{constructor(){super(141)}compute(t,i,e){return t.pixelRatio}}),tabFocusMode:_i(new hi(142,"tabFocusMode",!1,{markdownDescription:rt(0,"Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:_i(new ki),wrappingInfo:_i(new class extends ni{constructor(){super(144)}compute(t,i,e){const s=i.get(143);return{isDominatedByLongLines:t.isDominatedByLongLines,isWordWrapMinified:s.isWordWrapMinified,isViewportWrapping:s.isViewportWrapping,wrappingColumn:s.wrappingColumn}}}),wrappingIndent:_i(new class extends ii{constructor(){super(136,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[rt(0,"No indentation. Wrapped lines begin at column 1."),rt(0,"Wrapped lines get the same indentation as the parent."),rt(0,"Wrapped lines get +1 indentation toward the parent."),rt(0,"Wrapped lines get +2 indentation toward the parent.")],description:rt(0,"Controls the indentation of wrapped lines."),default:"same"}})}validate(t){switch(t){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(t,i,e){return 2===i.get(2)?0:e}}),wrappingStrategy:_i(new class extends ii{constructor(){super(137,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[rt(0,"Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),rt(0,"Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:rt(0,"Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(t){return fi(t,"simple",["simple","advanced"])}compute(t,i,e){return 2===i.get(2)?"advanced":e}})},Bi=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout((()=>{if(t.stack){if(Ki.isErrorNoTelemetry(t))throw new Ki(t.message+"\n\n"+t.stack);throw new Error(t.message+"\n\n"+t.stack)}throw t}),0)}}emit(t){this.listeners.forEach((i=>{i(t)}))}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}};function Pi(t){zi(t)||Bi.onUnexpectedError(t)}function $i(t){zi(t)||Bi.onUnexpectedExternalError(t)}function Wi(t){if(t instanceof Error){const{name:i,message:e}=t;return{$isError:!0,name:i,message:e,stack:t.stacktrace||t.stack,noTelemetry:Ki.isErrorNoTelemetry(t)}}return t}const ji="Canceled";function zi(t){return t instanceof Hi||t instanceof Error&&t.name===ji&&t.message===ji}class Hi extends Error{constructor(){super(ji),this.name=this.message}}function Vi(t){return t?new Error(`Illegal argument: ${t}`):new Error("Illegal argument")}function Ui(t){return t?new Error(`Illegal state: ${t}`):new Error("Illegal state")}class qi extends Error{constructor(t){super("NotSupported"),t&&(this.message=t)}}class Ki extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof Ki)return t;const i=new Ki;return i.message=t.message,i.stack=t.stack,i}static isErrorNoTelemetry(t){return"CodeExpectedError"===t.name}}class Gi extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,Gi.prototype)}}function Zi(t,i){const e=this;let s,n=!1;return function(){if(n)return s;if(n=!0,i)try{s=t.apply(e,arguments)}finally{i()}else s=t.apply(e,arguments);return s}}function Qi(t){return"function"==typeof t.dispose&&0===t.dispose.length}function Ji(t){if(Vt.is(t)){const i=[];for(const e of t)if(e)try{e.dispose()}catch(t){i.push(t)}if(1===i.length)throw i[0];if(i.length>1)throw new AggregateError(i,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}if(t)return t.dispose(),t}function Yi(...t){return Xi((()=>Ji(t)))}function Xi(t){return{dispose:Zi((()=>{t()}))}}class te{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(0!==this._toDispose.size)try{Ji(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?te.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}deleteAndLeak(t){t&&this._toDispose.has(t)&&this._toDispose.delete(t)}}te.DISABLE_DISPOSED_WARNING=!1;class ie{constructor(){this._store=new te}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}}ie.None=Object.freeze({dispose(){}});class ee{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(t){var i;this._isDisposed||t===this._value||(null===(i=this._value)||void 0===i||i.dispose(),this._value=t)}clear(){this.value=void 0}dispose(){var t;this._isDisposed=!0,null===(t=this._value)||void 0===t||t.dispose(),this._value=void 0}}class se{constructor(t){this._disposable=t,this._counter=1}acquire(){return this._counter++,this}release(){return 0==--this._counter&&this._disposable.dispose(),this}}class ne{constructor(t){this.object=t}dispose(){}}class oe{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{Ji(this._store.values())}finally{this._store.clear()}}get(t){return this._store.get(t)}set(t,i,e=!1){var s;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),e||null===(s=this._store.get(t))||void 0===s||s.dispose(),this._store.set(t,i)}deleteAndDispose(t){var i;null===(i=this._store.get(t))||void 0===i||i.dispose(),this._store.delete(t)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}const re=globalThis.performance&&"function"==typeof globalThis.performance.now;class he{static create(t){return new he(t)}constructor(t){this._now=re&&!1===t?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}elapsed(){return-1!==this._stopTime?this._stopTime-this._startTime:this._now()-this._startTime}}var ce;!function(t){function i(t){return(i,e=null,s)=>{let n,o=!1;return n=t((t=>{if(!o)return n?n.dispose():o=!0,i.call(e,t)}),null,s),o&&n.dispose(),n}}function e(t,i,e){return n(((e,s=null,n)=>t((t=>e.call(s,i(t))),null,n)),e)}function s(t,i,e){return n(((e,s=null,n)=>t((t=>i(t)&&e.call(s,t)),null,n)),e)}function n(t,i){let e;const s=new fe({onWillAddFirstListener(){e=t(s.fire,s)},onDidRemoveLastListener(){null==e||e.dispose()}});return null==i||i.add(s),s.event}function o(t,i,e=100,s=!1,n=!1,o,r){let h,c,a,l,u=0;const d=new fe({leakWarningThreshold:o,onWillAddFirstListener(){h=t((t=>{u++,c=i(c,t),s&&!a&&(d.fire(c),c=void 0),l=()=>{const t=c;c=void 0,a=void 0,(!s||u>1)&&d.fire(t),u=0},"number"==typeof e?(clearTimeout(a),a=setTimeout(l,e)):void 0===a&&(a=0,queueMicrotask(l))}))},onWillRemoveListener(){n&&u>0&&(null==l||l())},onDidRemoveLastListener(){l=void 0,h.dispose()}});return null==r||r.add(d),d.event}t.None=()=>ie.None,t.defer=function(t,i){return o(t,(()=>{}),0,void 0,!0,void 0,i)},t.once=i,t.map=e,t.forEach=function(t,i,e){return n(((e,s=null,n)=>t((t=>{i(t),e.call(s,t)}),null,n)),e)},t.filter=s,t.signal=function(t){return t},t.any=function(...t){return(i,e=null,s)=>{return n=Yi(...t.map((t=>t((t=>i.call(e,t)))))),(o=s)instanceof Array?o.push(n):o&&o.add(n),n;var n,o}},t.reduce=function(t,i,s,n){let o=s;return e(t,(t=>(o=i(o,t),o)),n)},t.debounce=o,t.accumulate=function(i,e=0,s){return t.debounce(i,((t,i)=>t?(t.push(i),t):[i]),e,void 0,!0,void 0,s)},t.latch=function(t,i=((t,i)=>t===i),e){let n,o=!0;return s(t,(t=>{const e=o||!i(t,n);return o=!1,n=t,e}),e)},t.split=function(i,e,s){return[t.filter(i,e,s),t.filter(i,(t=>!e(t)),s)]},t.buffer=function(t,i=!1,e=[],s){let n=e.slice(),o=t((t=>{n?n.push(t):h.fire(t)}));s&&s.add(o);const r=()=>{null==n||n.forEach((t=>h.fire(t))),n=null},h=new fe({onWillAddFirstListener(){o||(o=t((t=>h.fire(t))),s&&s.add(o))},onDidAddFirstListener(){n&&(i?setTimeout(r):r())},onDidRemoveLastListener(){o&&o.dispose(),o=null}});return s&&s.add(h),h.event},t.chain=function(t,i){return(e,s,n)=>{const o=i(new h);return t((function(t){const i=o.evaluate(t);i!==r&&e.call(s,i)}),void 0,n)}};const r=Symbol("HaltChainable");class h{constructor(){this.steps=[]}map(t){return this.steps.push(t),this}forEach(t){return this.steps.push((i=>(t(i),i))),this}filter(t){return this.steps.push((i=>t(i)?i:r)),this}reduce(t,i){let e=i;return this.steps.push((i=>(e=t(e,i),e))),this}latch(t=((t,i)=>t===i)){let i,e=!0;return this.steps.push((s=>{const n=e||!t(s,i);return e=!1,i=s,n?s:r})),this}evaluate(t){for(const i of this.steps)if((t=i(t))===r)break;return t}}t.fromNodeEventEmitter=function(t,i,e=(t=>t)){const s=(...t)=>n.fire(e(...t)),n=new fe({onWillAddFirstListener:()=>t.on(i,s),onDidRemoveLastListener:()=>t.removeListener(i,s)});return n.event},t.fromDOMEventEmitter=function(t,i,e=(t=>t)){const s=(...t)=>n.fire(e(...t)),n=new fe({onWillAddFirstListener:()=>t.addEventListener(i,s),onDidRemoveLastListener:()=>t.removeEventListener(i,s)});return n.event},t.toPromise=function(t){return new Promise((e=>i(t)(e)))},t.fromPromise=function(t){const i=new fe;return t.then((t=>{i.fire(t)}),(()=>{i.fire(void 0)})).finally((()=>{i.dispose()})),i.event},t.runAndSubscribe=function(t,i,e){return i(e),t((t=>i(t)))},t.runAndSubscribeWithStore=function(t,i){let e=null;function s(t){null==e||e.dispose(),e=new te,i(t,e)}s(void 0);const n=t((t=>s(t)));return Xi((()=>{n.dispose(),null==e||e.dispose()}))};class c{constructor(t,i){this._observable=t,this._counter=0,this._hasChanged=!1,this.emitter=new fe({onWillAddFirstListener:()=>{t.addObserver(this)},onDidRemoveLastListener:()=>{t.removeObserver(this)}}),i&&i.add(this.emitter)}beginUpdate(t){this._counter++}handlePossibleChange(t){}handleChange(t,i){this._hasChanged=!0}endUpdate(t){this._counter--,0===this._counter&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}t.fromObservable=function(t,i){return new c(t,i).emitter.event},t.fromObservableLight=function(t){return(i,e,s)=>{let n=0,o=!1;const r={beginUpdate(){n++},endUpdate(){n--,0===n&&(t.reportChanges(),o&&(o=!1,i.call(e)))},handlePossibleChange(){},handleChange(){o=!0}};t.addObserver(r),t.reportChanges();const h={dispose(){t.removeObserver(r)}};return s instanceof te?s.add(h):Array.isArray(s)&&s.push(h),h}}}(ce||(ce={}));class ae{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${ae._idPool++}`,ae.all.add(this)}start(t){this._stopWatch=new he,this.listenerCount=t}stop(){if(this._stopWatch){const t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}}ae.all=new Set,ae._idPool=0;class le{constructor(t,i=Math.random().toString(18).slice(2,5)){this.threshold=t,this.name=i,this._warnCountdown=0}dispose(){var t;null===(t=this._stacks)||void 0===t||t.clear()}check(t,i){const e=this.threshold;if(e<=0||i{const i=this._stacks.get(t.value)||0;this._stacks.set(t.value,i-1)}}}class ue{static create(){var t;return new ue(null!==(t=(new Error).stack)&&void 0!==t?t:"")}constructor(t){this.value=t}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class de{constructor(t){this.value=t}}class fe{constructor(t){var i,e,s,n,o;this._size=0,this._options=t,this._leakageMon=(null===(i=this._options)||void 0===i?void 0:i.leakWarningThreshold)?new le(null!==(s=null===(e=this._options)||void 0===e?void 0:e.leakWarningThreshold)&&void 0!==s?s:-1):void 0,this._perfMon=(null===(n=this._options)||void 0===n?void 0:n._profName)?new ae(this._options._profName):void 0,this._deliveryQueue=null===(o=this._options)||void 0===o?void 0:o.deliveryQueue}dispose(){var t,i,e,s;this._disposed||(this._disposed=!0,(null===(t=this._deliveryQueue)||void 0===t?void 0:t.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),null===(e=null===(i=this._options)||void 0===i?void 0:i.onDidRemoveLastListener)||void 0===e||e.call(i),null===(s=this._leakageMon)||void 0===s||s.dispose())}get event(){var t;return null!==(t=this._event)&&void 0!==t||(this._event=(t,i,e)=>{var s,n,o,r,h;if(this._leakageMon&&this._size>3*this._leakageMon.threshold)return console.warn(`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far`),ie.None;if(this._disposed)return ie.None;i&&(t=t.bind(i));const c=new de(t);let a;this._leakageMon&&this._size>=Math.ceil(.2*this._leakageMon.threshold)&&(c.stack=ue.create(),a=this._leakageMon.check(c.stack,this._size+1)),this._listeners?this._listeners instanceof de?(null!==(h=this._deliveryQueue)&&void 0!==h||(this._deliveryQueue=new pe),this._listeners=[this._listeners,c]):this._listeners.push(c):(null===(n=null===(s=this._options)||void 0===s?void 0:s.onWillAddFirstListener)||void 0===n||n.call(s,this),this._listeners=c,null===(r=null===(o=this._options)||void 0===o?void 0:o.onDidAddFirstListener)||void 0===r||r.call(o,this)),this._size++;const l=Xi((()=>{null==a||a(),this._removeListener(c)}));return e instanceof te?e.add(l):Array.isArray(e)&&e.push(l),l}),this._event}_removeListener(t){var i,e,s,n;if(null===(e=null===(i=this._options)||void 0===i?void 0:i.onWillRemoveListener)||void 0===e||e.call(i,this),!this._listeners)return;if(1===this._size)return this._listeners=void 0,null===(n=null===(s=this._options)||void 0===s?void 0:s.onDidRemoveLastListener)||void 0===n||n.call(s,this),void(this._size=0);const o=this._listeners,r=o.indexOf(t);if(-1===r)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--,o[r]=void 0;const h=this._deliveryQueue.current===this;if(2*this._size<=o.length){let t=0;for(let i=0;i0}}class pe{constructor(){this.i=-1,this.end=0}enqueue(t,i,e){this.i=0,this.end=e,this.current=t,this.value=i}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class ge extends fe{constructor(t){super(t),this._isPaused=0,this._eventQueue=new qt,this._mergeFn=null==t?void 0:t.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){if(this._eventQueue.size>0){const t=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(t))}}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(t){this._size&&(0!==this._isPaused?this._eventQueue.push(t):super.fire(t))}}class me extends ge{constructor(t){var i;super(t),this._delay=null!==(i=t.delay)&&void 0!==i?i:100}fire(t){this._handle||(this.pause(),this._handle=setTimeout((()=>{this._handle=void 0,this.resume()}),this._delay)),super.fire(t)}}class we extends fe{constructor(t){super(t),this._queuedEvents=[],this._mergeFn=null==t?void 0:t.merge}fire(t){this.hasListeners()&&(this._queuedEvents.push(t),1===this._queuedEvents.length&&queueMicrotask((()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach((t=>super.fire(t))),this._queuedEvents=[]})))}}class ve{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new fe({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(t){const i={event:t,listener:null};return this.events.push(i),this.hasListeners&&this.hook(i),Xi(Zi((()=>{this.hasListeners&&this.unhook(i);const t=this.events.indexOf(i);this.events.splice(t,1)})))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach((t=>this.hook(t)))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach((t=>this.unhook(t)))}hook(t){t.listener=t.event((t=>this.emitter.fire(t)))}unhook(t){t.listener&&t.listener.dispose(),t.listener=null}dispose(){this.emitter.dispose()}}class be{constructor(){this.buffers=[]}wrapEvent(t){return(i,e,s)=>t((t=>{const s=this.buffers[this.buffers.length-1];s?s.push((()=>i.call(e,t))):i.call(e,t)}),void 0,s)}bufferEvents(t){const i=[];this.buffers.push(i);const e=t();return this.buffers.pop(),i.forEach((t=>t())),e}}class ye{constructor(){this.listening=!1,this.inputEvent=ce.None,this.inputEventListener=ie.None,this.emitter=new fe({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(t){this.inputEvent=t,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=t(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const ke=Object.freeze((function(t,i){const e=setTimeout(t.bind(i),0);return{dispose(){clearTimeout(e)}}}));var xe;!function(t){t.isCancellationToken=function(i){return i===t.None||i===t.Cancelled||i instanceof Ce||!(!i||"object"!=typeof i)&&"boolean"==typeof i.isCancellationRequested&&"function"==typeof i.onCancellationRequested},t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ce.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:ke})}(xe||(xe={}));class Ce{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?ke:(this._emitter||(this._emitter=new fe),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}class Se{constructor(t){this._token=void 0,this._parentListener=void 0,this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new Ce),this._token}cancel(){this._token?this._token instanceof Ce&&this._token.cancel():this._token=xe.Cancelled}dispose(t=!1){var i;t&&this.cancel(),null===(i=this._parentListener)||void 0===i||i.dispose(),this._token?this._token instanceof Ce&&this._token.dispose():this._token=xe.None}}class De{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,i){this._keyCodeToStr[t]=i,this._strToKeyCode[i.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}}const Ee=new De,Ae=new De,Me=new De,Le=new Array(230),Fe=[],Te=Object.create(null),Re=Object.create(null),Oe=[],Ie=[];for(let t=0;t<=193;t++)Oe[t]=-1;for(let t=0;t<=132;t++)Ie[t]=-1;var _e;function Ne(t,i){return(t|(65535&i)<<16>>>0)>>>0}let Be;!function(){const t="",i=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",t,t],[1,1,"Hyper",0,t,0,t,t,t],[1,2,"Super",0,t,0,t,t,t],[1,3,"Fn",0,t,0,t,t,t],[1,4,"FnLock",0,t,0,t,t,t],[1,5,"Suspend",0,t,0,t,t,t],[1,6,"Resume",0,t,0,t,t,t],[1,7,"Turbo",0,t,0,t,t,t],[1,8,"Sleep",0,t,0,"VK_SLEEP",t,t],[1,9,"WakeUp",0,t,0,t,t,t],[0,10,"KeyA",31,"A",65,"VK_A",t,t],[0,11,"KeyB",32,"B",66,"VK_B",t,t],[0,12,"KeyC",33,"C",67,"VK_C",t,t],[0,13,"KeyD",34,"D",68,"VK_D",t,t],[0,14,"KeyE",35,"E",69,"VK_E",t,t],[0,15,"KeyF",36,"F",70,"VK_F",t,t],[0,16,"KeyG",37,"G",71,"VK_G",t,t],[0,17,"KeyH",38,"H",72,"VK_H",t,t],[0,18,"KeyI",39,"I",73,"VK_I",t,t],[0,19,"KeyJ",40,"J",74,"VK_J",t,t],[0,20,"KeyK",41,"K",75,"VK_K",t,t],[0,21,"KeyL",42,"L",76,"VK_L",t,t],[0,22,"KeyM",43,"M",77,"VK_M",t,t],[0,23,"KeyN",44,"N",78,"VK_N",t,t],[0,24,"KeyO",45,"O",79,"VK_O",t,t],[0,25,"KeyP",46,"P",80,"VK_P",t,t],[0,26,"KeyQ",47,"Q",81,"VK_Q",t,t],[0,27,"KeyR",48,"R",82,"VK_R",t,t],[0,28,"KeyS",49,"S",83,"VK_S",t,t],[0,29,"KeyT",50,"T",84,"VK_T",t,t],[0,30,"KeyU",51,"U",85,"VK_U",t,t],[0,31,"KeyV",52,"V",86,"VK_V",t,t],[0,32,"KeyW",53,"W",87,"VK_W",t,t],[0,33,"KeyX",54,"X",88,"VK_X",t,t],[0,34,"KeyY",55,"Y",89,"VK_Y",t,t],[0,35,"KeyZ",56,"Z",90,"VK_Z",t,t],[0,36,"Digit1",22,"1",49,"VK_1",t,t],[0,37,"Digit2",23,"2",50,"VK_2",t,t],[0,38,"Digit3",24,"3",51,"VK_3",t,t],[0,39,"Digit4",25,"4",52,"VK_4",t,t],[0,40,"Digit5",26,"5",53,"VK_5",t,t],[0,41,"Digit6",27,"6",54,"VK_6",t,t],[0,42,"Digit7",28,"7",55,"VK_7",t,t],[0,43,"Digit8",29,"8",56,"VK_8",t,t],[0,44,"Digit9",30,"9",57,"VK_9",t,t],[0,45,"Digit0",21,"0",48,"VK_0",t,t],[1,46,"Enter",3,"Enter",13,"VK_RETURN",t,t],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",t,t],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",t,t],[1,49,"Tab",2,"Tab",9,"VK_TAB",t,t],[1,50,"Space",10,"Space",32,"VK_SPACE",t,t],[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,t,0,t,t,t],[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",t,t],[1,64,"F1",59,"F1",112,"VK_F1",t,t],[1,65,"F2",60,"F2",113,"VK_F2",t,t],[1,66,"F3",61,"F3",114,"VK_F3",t,t],[1,67,"F4",62,"F4",115,"VK_F4",t,t],[1,68,"F5",63,"F5",116,"VK_F5",t,t],[1,69,"F6",64,"F6",117,"VK_F6",t,t],[1,70,"F7",65,"F7",118,"VK_F7",t,t],[1,71,"F8",66,"F8",119,"VK_F8",t,t],[1,72,"F9",67,"F9",120,"VK_F9",t,t],[1,73,"F10",68,"F10",121,"VK_F10",t,t],[1,74,"F11",69,"F11",122,"VK_F11",t,t],[1,75,"F12",70,"F12",123,"VK_F12",t,t],[1,76,"PrintScreen",0,t,0,t,t,t],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",t,t],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",t,t],[1,79,"Insert",19,"Insert",45,"VK_INSERT",t,t],[1,80,"Home",14,"Home",36,"VK_HOME",t,t],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",t,t],[1,82,"Delete",20,"Delete",46,"VK_DELETE",t,t],[1,83,"End",13,"End",35,"VK_END",t,t],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",t,t],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",t],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",t],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",t],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",t],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",t,t],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",t,t],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",t,t],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",t,t],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",t,t],[1,94,"NumpadEnter",3,t,0,t,t,t],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",t,t],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",t,t],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",t,t],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",t,t],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",t,t],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",t,t],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",t,t],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",t,t],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",t,t],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",t,t],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",t,t],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",t,t],[1,107,"ContextMenu",58,"ContextMenu",93,t,t,t],[1,108,"Power",0,t,0,t,t,t],[1,109,"NumpadEqual",0,t,0,t,t,t],[1,110,"F13",71,"F13",124,"VK_F13",t,t],[1,111,"F14",72,"F14",125,"VK_F14",t,t],[1,112,"F15",73,"F15",126,"VK_F15",t,t],[1,113,"F16",74,"F16",127,"VK_F16",t,t],[1,114,"F17",75,"F17",128,"VK_F17",t,t],[1,115,"F18",76,"F18",129,"VK_F18",t,t],[1,116,"F19",77,"F19",130,"VK_F19",t,t],[1,117,"F20",78,"F20",131,"VK_F20",t,t],[1,118,"F21",79,"F21",132,"VK_F21",t,t],[1,119,"F22",80,"F22",133,"VK_F22",t,t],[1,120,"F23",81,"F23",134,"VK_F23",t,t],[1,121,"F24",82,"F24",135,"VK_F24",t,t],[1,122,"Open",0,t,0,t,t,t],[1,123,"Help",0,t,0,t,t,t],[1,124,"Select",0,t,0,t,t,t],[1,125,"Again",0,t,0,t,t,t],[1,126,"Undo",0,t,0,t,t,t],[1,127,"Cut",0,t,0,t,t,t],[1,128,"Copy",0,t,0,t,t,t],[1,129,"Paste",0,t,0,t,t,t],[1,130,"Find",0,t,0,t,t,t],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",t,t],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",t,t],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",t,t],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",t,t],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",t,t],[1,136,"KanaMode",0,t,0,t,t,t],[0,137,"IntlYen",0,t,0,t,t,t],[1,138,"Convert",0,t,0,t,t,t],[1,139,"NonConvert",0,t,0,t,t,t],[1,140,"Lang1",0,t,0,t,t,t],[1,141,"Lang2",0,t,0,t,t,t],[1,142,"Lang3",0,t,0,t,t,t],[1,143,"Lang4",0,t,0,t,t,t],[1,144,"Lang5",0,t,0,t,t,t],[1,145,"Abort",0,t,0,t,t,t],[1,146,"Props",0,t,0,t,t,t],[1,147,"NumpadParenLeft",0,t,0,t,t,t],[1,148,"NumpadParenRight",0,t,0,t,t,t],[1,149,"NumpadBackspace",0,t,0,t,t,t],[1,150,"NumpadMemoryStore",0,t,0,t,t,t],[1,151,"NumpadMemoryRecall",0,t,0,t,t,t],[1,152,"NumpadMemoryClear",0,t,0,t,t,t],[1,153,"NumpadMemoryAdd",0,t,0,t,t,t],[1,154,"NumpadMemorySubtract",0,t,0,t,t,t],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",t,t],[1,156,"NumpadClearEntry",0,t,0,t,t,t],[1,0,t,5,"Ctrl",17,"VK_CONTROL",t,t],[1,0,t,4,"Shift",16,"VK_SHIFT",t,t],[1,0,t,6,"Alt",18,"VK_MENU",t,t],[1,0,t,57,"Meta",91,"VK_COMMAND",t,t],[1,157,"ControlLeft",5,t,0,"VK_LCONTROL",t,t],[1,158,"ShiftLeft",4,t,0,"VK_LSHIFT",t,t],[1,159,"AltLeft",6,t,0,"VK_LMENU",t,t],[1,160,"MetaLeft",57,t,0,"VK_LWIN",t,t],[1,161,"ControlRight",5,t,0,"VK_RCONTROL",t,t],[1,162,"ShiftRight",4,t,0,"VK_RSHIFT",t,t],[1,163,"AltRight",6,t,0,"VK_RMENU",t,t],[1,164,"MetaRight",57,t,0,"VK_RWIN",t,t],[1,165,"BrightnessUp",0,t,0,t,t,t],[1,166,"BrightnessDown",0,t,0,t,t,t],[1,167,"MediaPlay",0,t,0,t,t,t],[1,168,"MediaRecord",0,t,0,t,t,t],[1,169,"MediaFastForward",0,t,0,t,t,t],[1,170,"MediaRewind",0,t,0,t,t,t],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",t,t],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",t,t],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",t,t],[1,174,"Eject",0,t,0,t,t,t],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",t,t],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",t,t],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",t,t],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",t,t],[1,179,"LaunchApp1",0,t,0,"VK_MEDIA_LAUNCH_APP1",t,t],[1,180,"SelectTask",0,t,0,t,t,t],[1,181,"LaunchScreenSaver",0,t,0,t,t,t],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",t,t],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",t,t],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",t,t],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",t,t],[1,186,"BrowserStop",0,t,0,"VK_BROWSER_STOP",t,t],[1,187,"BrowserRefresh",0,t,0,"VK_BROWSER_REFRESH",t,t],[1,188,"BrowserFavorites",0,t,0,"VK_BROWSER_FAVORITES",t,t],[1,189,"ZoomToggle",0,t,0,t,t,t],[1,190,"MailReply",0,t,0,t,t,t],[1,191,"MailForward",0,t,0,t,t,t],[1,192,"MailSend",0,t,0,t,t,t],[1,0,t,114,"KeyInComposition",229,t,t,t],[1,0,t,116,"ABNT_C2",194,"VK_ABNT_C2",t,t],[1,0,t,96,"OEM_8",223,"VK_OEM_8",t,t],[1,0,t,0,t,0,"VK_KANA",t,t],[1,0,t,0,t,0,"VK_HANGUL",t,t],[1,0,t,0,t,0,"VK_JUNJA",t,t],[1,0,t,0,t,0,"VK_FINAL",t,t],[1,0,t,0,t,0,"VK_HANJA",t,t],[1,0,t,0,t,0,"VK_KANJI",t,t],[1,0,t,0,t,0,"VK_CONVERT",t,t],[1,0,t,0,t,0,"VK_NONCONVERT",t,t],[1,0,t,0,t,0,"VK_ACCEPT",t,t],[1,0,t,0,t,0,"VK_MODECHANGE",t,t],[1,0,t,0,t,0,"VK_SELECT",t,t],[1,0,t,0,t,0,"VK_PRINT",t,t],[1,0,t,0,t,0,"VK_EXECUTE",t,t],[1,0,t,0,t,0,"VK_SNAPSHOT",t,t],[1,0,t,0,t,0,"VK_HELP",t,t],[1,0,t,0,t,0,"VK_APPS",t,t],[1,0,t,0,t,0,"VK_PROCESSKEY",t,t],[1,0,t,0,t,0,"VK_PACKET",t,t],[1,0,t,0,t,0,"VK_DBE_SBCSCHAR",t,t],[1,0,t,0,t,0,"VK_DBE_DBCSCHAR",t,t],[1,0,t,0,t,0,"VK_ATTN",t,t],[1,0,t,0,t,0,"VK_CRSEL",t,t],[1,0,t,0,t,0,"VK_EXSEL",t,t],[1,0,t,0,t,0,"VK_EREOF",t,t],[1,0,t,0,t,0,"VK_PLAY",t,t],[1,0,t,0,t,0,"VK_ZOOM",t,t],[1,0,t,0,t,0,"VK_NONAME",t,t],[1,0,t,0,t,0,"VK_PA1",t,t],[1,0,t,0,t,0,"VK_OEM_CLEAR",t,t]],e=[],s=[];for(const t of i){const[i,n,o,r,h,c,a,l,u]=t;if(s[n]||(s[n]=!0,Fe[n]=o,Te[o]=n,Re[o.toLowerCase()]=n,i&&(Oe[n]=r,0!==r&&3!==r&&5!==r&&4!==r&&6!==r&&57!==r&&(Ie[r]=n))),!e[r]){if(e[r]=!0,!h)throw new Error(`String representation missing for key code ${r} around scan code ${o}`);Ee.define(r,h),Ae.define(r,l||h),Me.define(r,u||l||h)}c&&(Le[c]=r)}Ie[3]=46}(),function(t){t.toString=function(t){return Ee.keyCodeToStr(t)},t.fromString=function(t){return Ee.strToKeyCode(t)},t.toUserSettingsUS=function(t){return Ae.keyCodeToStr(t)},t.toUserSettingsGeneral=function(t){return Me.keyCodeToStr(t)},t.fromUserSettings=function(t){return Ae.strToKeyCode(t)||Me.strToKeyCode(t)},t.toElectronAccelerator=function(t){if(t>=98&&t<=113)return null;switch(t){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Ee.keyCodeToStr(t)}}(_e||(_e={}));const Pe=globalThis.vscode;if(void 0!==Pe&&void 0!==Pe.process){const t=Pe.process;Be={get platform(){return t.platform},get arch(){return t.arch},get env(){return t.env},cwd:()=>t.cwd()}}else Be="undefined"!=typeof process?{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 Ct?"win32":St?"darwin":"linux"},get arch(){},get env(){return{}},cwd:()=>"/"};const $e=Be.cwd,We=Be.env,je=Be.platform,ze=46,He=47,Ve=92,Ue=58;class qe extends Error{constructor(t,i,e){let s;"string"==typeof i&&0===i.indexOf("not ")?(s="must not be",i=i.replace(/^not /,"")):s="must be";const n=-1!==t.indexOf(".")?"property":"argument";let o=`The "${t}" ${n} ${s} of type ${i}`;o+=". Received type "+typeof e,super(o),this.code="ERR_INVALID_ARG_TYPE"}}function Ke(t,i){if("string"!=typeof t)throw new qe(i,"string",t)}const Ge="win32"===je;function Ze(t){return t===He||t===Ve}function Qe(t){return t===He}function Je(t){return t>=65&&t<=90||t>=97&&t<=122}function Ye(t,i,e,s){let n="",o=0,r=-1,h=0,c=0;for(let a=0;a<=t.length;++a){if(a2){const t=n.lastIndexOf(e);-1===t?(n="",o=0):(n=n.slice(0,t),o=n.length-1-n.lastIndexOf(e)),r=a,h=0;continue}if(0!==n.length){n="",o=0,r=a,h=0;continue}}i&&(n+=n.length>0?`${e}..`:"..",o=2)}else n.length>0?n+=`${e}${t.slice(r+1,a)}`:n=t.slice(r+1,a),o=a-r-1;r=a,h=0}else c===ze&&-1!==h?++h:h=-1}return n}function Xe(t,i){!function(t){if(null===t||"object"!=typeof t)throw new qe("pathObject","Object",t)}(i);const e=i.dir||i.root,s=i.base||`${i.name||""}${i.ext||""}`;return e?e===i.root?`${e}${s}`:`${e}${t}${s}`:s}const ts={resolve(...t){let i="",e="",s=!1;for(let n=t.length-1;n>=-1;n--){let o;if(n>=0){if(o=t[n],Ke(o,"path"),0===o.length)continue}else 0===i.length?o=$e():(o=We[`=${i}`]||$e(),(void 0===o||o.slice(0,2).toLowerCase()!==i.toLowerCase()&&o.charCodeAt(2)===Ve)&&(o=`${i}\\`));const r=o.length;let h=0,c="",a=!1;const l=o.charCodeAt(0);if(1===r)Ze(l)&&(h=1,a=!0);else if(Ze(l))if(a=!0,Ze(o.charCodeAt(1))){let t=2,i=t;for(;t2&&Ze(o.charCodeAt(2))&&(a=!0,h=3));if(c.length>0)if(i.length>0){if(c.toLowerCase()!==i.toLowerCase())continue}else i=c;if(s){if(i.length>0)break}else if(e=`${o.slice(h)}\\${e}`,s=a,a&&i.length>0)break}return e=Ye(e,!s,"\\",Ze),s?`${i}\\${e}`:`${i}${e}`||"."},normalize(t){Ke(t,"path");const i=t.length;if(0===i)return".";let e,s=0,n=!1;const o=t.charCodeAt(0);if(1===i)return Qe(o)?"\\":t;if(Ze(o))if(n=!0,Ze(t.charCodeAt(1))){let n=2,o=n;for(;n2&&Ze(t.charCodeAt(2))&&(n=!0,s=3));let r=s0&&Ze(t.charCodeAt(i-1))&&(r+="\\"),void 0===e?n?`\\${r}`:r:n?`${e}\\${r}`:`${e}${r}`},isAbsolute(t){Ke(t,"path");const i=t.length;if(0===i)return!1;const e=t.charCodeAt(0);return Ze(e)||i>2&&Je(e)&&t.charCodeAt(1)===Ue&&Ze(t.charCodeAt(2))},join(...t){if(0===t.length)return".";let i,e;for(let s=0;s0&&(void 0===i?i=e=n:i+=`\\${n}`)}if(void 0===i)return".";let s=!0,n=0;if("string"==typeof e&&Ze(e.charCodeAt(0))){++n;const t=e.length;t>1&&Ze(e.charCodeAt(1))&&(++n,t>2&&(Ze(e.charCodeAt(2))?++n:s=!1))}if(s){for(;n=2&&(i=`\\${i.slice(n)}`)}return ts.normalize(i)},relative(t,i){if(Ke(t,"from"),Ke(i,"to"),t===i)return"";const e=ts.resolve(t),s=ts.resolve(i);if(e===s)return"";if((t=e.toLowerCase())===(i=s.toLowerCase()))return"";let n=0;for(;nn&&t.charCodeAt(o-1)===Ve;)o--;const r=o-n;let h=0;for(;hh&&i.charCodeAt(c-1)===Ve;)c--;const a=c-h,l=rl){if(i.charCodeAt(h+d)===Ve)return s.slice(h+d+1);if(2===d)return s.slice(h+d)}r>l&&(t.charCodeAt(n+d)===Ve?u=d:2===d&&(u=3)),-1===u&&(u=0)}let f="";for(d=n+u+1;d<=o;++d)d!==o&&t.charCodeAt(d)!==Ve||(f+=0===f.length?"..":"\\..");return h+=u,f.length>0?`${f}${s.slice(h,c)}`:(s.charCodeAt(h)===Ve&&++h,s.slice(h,c))},toNamespacedPath(t){if("string"!=typeof t||0===t.length)return t;const i=ts.resolve(t);if(i.length<=2)return t;if(i.charCodeAt(0)===Ve){if(i.charCodeAt(1)===Ve){const t=i.charCodeAt(2);if(63!==t&&t!==ze)return`\\\\?\\UNC\\${i.slice(2)}`}}else if(Je(i.charCodeAt(0))&&i.charCodeAt(1)===Ue&&i.charCodeAt(2)===Ve)return`\\\\?\\${i}`;return t},dirname(t){Ke(t,"path");const i=t.length;if(0===i)return".";let e=-1,s=0;const n=t.charCodeAt(0);if(1===i)return Ze(n)?t:".";if(Ze(n)){if(e=s=1,Ze(t.charCodeAt(1))){let n=2,o=n;for(;n2&&Ze(t.charCodeAt(2))?3:2,s=e);let o=-1,r=!0;for(let e=i-1;e>=s;--e)if(Ze(t.charCodeAt(e))){if(!r){o=e;break}}else r=!1;if(-1===o){if(-1===e)return".";o=e}return t.slice(0,o)},basename(t,i){void 0!==i&&Ke(i,"ext"),Ke(t,"path");let e,s=0,n=-1,o=!0;if(t.length>=2&&Je(t.charCodeAt(0))&&t.charCodeAt(1)===Ue&&(s=2),void 0!==i&&i.length>0&&i.length<=t.length){if(i===t)return"";let r=i.length-1,h=-1;for(e=t.length-1;e>=s;--e){const c=t.charCodeAt(e);if(Ze(c)){if(!o){s=e+1;break}}else-1===h&&(o=!1,h=e+1),r>=0&&(c===i.charCodeAt(r)?-1==--r&&(n=e):(r=-1,n=h))}return s===n?n=h:-1===n&&(n=t.length),t.slice(s,n)}for(e=t.length-1;e>=s;--e)if(Ze(t.charCodeAt(e))){if(!o){s=e+1;break}}else-1===n&&(o=!1,n=e+1);return-1===n?"":t.slice(s,n)},extname(t){Ke(t,"path");let i=0,e=-1,s=0,n=-1,o=!0,r=0;t.length>=2&&t.charCodeAt(1)===Ue&&Je(t.charCodeAt(0))&&(i=s=2);for(let h=t.length-1;h>=i;--h){const i=t.charCodeAt(h);if(Ze(i)){if(!o){s=h+1;break}}else-1===n&&(o=!1,n=h+1),i===ze?-1===e?e=h:1!==r&&(r=1):-1!==e&&(r=-1)}return-1===e||-1===n||0===r||1===r&&e===n-1&&e===s+1?"":t.slice(e,n)},format:Xe.bind(null,"\\"),parse(t){Ke(t,"path");const i={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return i;const e=t.length;let s=0,n=t.charCodeAt(0);if(1===e)return Ze(n)?(i.root=i.dir=t,i):(i.base=i.name=t,i);if(Ze(n)){if(s=1,Ze(t.charCodeAt(1))){let i=2,n=i;for(;i0&&(i.root=t.slice(0,s));let o=-1,r=s,h=-1,c=!0,a=t.length-1,l=0;for(;a>=s;--a)if(n=t.charCodeAt(a),Ze(n)){if(!c){r=a+1;break}}else-1===h&&(c=!1,h=a+1),n===ze?-1===o?o=a:1!==l&&(l=1):-1!==o&&(l=-1);return-1!==h&&(-1===o||0===l||1===l&&o===h-1&&o===r+1?i.base=i.name=t.slice(r,h):(i.name=t.slice(r,o),i.base=t.slice(r,h),i.ext=t.slice(o,h))),i.dir=r>0&&r!==s?t.slice(0,r-1):i.root,i},sep:"\\",delimiter:";",win32:null,posix:null},is=(()=>{if(Ge){const t=/\\/g;return()=>{const i=$e().replace(t,"/");return i.slice(i.indexOf("/"))}}return()=>$e()})(),es={resolve(...t){let i="",e=!1;for(let s=t.length-1;s>=-1&&!e;s--){const n=s>=0?t[s]:is();Ke(n,"path"),0!==n.length&&(i=`${n}/${i}`,e=n.charCodeAt(0)===He)}return i=Ye(i,!e,"/",Qe),e?`/${i}`:i.length>0?i:"."},normalize(t){if(Ke(t,"path"),0===t.length)return".";const i=t.charCodeAt(0)===He,e=t.charCodeAt(t.length-1)===He;return 0===(t=Ye(t,!i,"/",Qe)).length?i?"/":e?"./":".":(e&&(t+="/"),i?`/${t}`:t)},isAbsolute:t=>(Ke(t,"path"),t.length>0&&t.charCodeAt(0)===He),join(...t){if(0===t.length)return".";let i;for(let e=0;e0&&(void 0===i?i=s:i+=`/${s}`)}return void 0===i?".":es.normalize(i)},relative(t,i){if(Ke(t,"from"),Ke(i,"to"),t===i)return"";if((t=es.resolve(t))===(i=es.resolve(i)))return"";const e=t.length,s=e-1,n=i.length-1,o=so){if(i.charCodeAt(1+h)===He)return i.slice(1+h+1);if(0===h)return i.slice(1+h)}else s>o&&(t.charCodeAt(1+h)===He?r=h:0===h&&(r=0));let c="";for(h=1+r+1;h<=e;++h)h!==e&&t.charCodeAt(h)!==He||(c+=0===c.length?"..":"/..");return`${c}${i.slice(1+r)}`},toNamespacedPath:t=>t,dirname(t){if(Ke(t,"path"),0===t.length)return".";const i=t.charCodeAt(0)===He;let e=-1,s=!0;for(let i=t.length-1;i>=1;--i)if(t.charCodeAt(i)===He){if(!s){e=i;break}}else s=!1;return-1===e?i?"/":".":i&&1===e?"//":t.slice(0,e)},basename(t,i){void 0!==i&&Ke(i,"ext"),Ke(t,"path");let e,s=0,n=-1,o=!0;if(void 0!==i&&i.length>0&&i.length<=t.length){if(i===t)return"";let r=i.length-1,h=-1;for(e=t.length-1;e>=0;--e){const c=t.charCodeAt(e);if(c===He){if(!o){s=e+1;break}}else-1===h&&(o=!1,h=e+1),r>=0&&(c===i.charCodeAt(r)?-1==--r&&(n=e):(r=-1,n=h))}return s===n?n=h:-1===n&&(n=t.length),t.slice(s,n)}for(e=t.length-1;e>=0;--e)if(t.charCodeAt(e)===He){if(!o){s=e+1;break}}else-1===n&&(o=!1,n=e+1);return-1===n?"":t.slice(s,n)},extname(t){Ke(t,"path");let i=-1,e=0,s=-1,n=!0,o=0;for(let r=t.length-1;r>=0;--r){const h=t.charCodeAt(r);if(h!==He)-1===s&&(n=!1,s=r+1),h===ze?-1===i?i=r:1!==o&&(o=1):-1!==i&&(o=-1);else if(!n){e=r+1;break}}return-1===i||-1===s||0===o||1===o&&i===s-1&&i===e+1?"":t.slice(i,s)},format:Xe.bind(null,"/"),parse(t){Ke(t,"path");const i={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return i;const e=t.charCodeAt(0)===He;let s;e?(i.root="/",s=1):s=0;let n=-1,o=0,r=-1,h=!0,c=t.length-1,a=0;for(;c>=s;--c){const i=t.charCodeAt(c);if(i!==He)-1===r&&(h=!1,r=c+1),i===ze?-1===n?n=c:1!==a&&(a=1):-1!==n&&(a=-1);else if(!h){o=c+1;break}}if(-1!==r){const s=0===o&&e?1:o;-1===n||0===a||1===a&&n===r-1&&n===o+1?i.base=i.name=t.slice(s,r):(i.name=t.slice(s,n),i.base=t.slice(s,r),i.ext=t.slice(n,r))}return o>0?i.dir=t.slice(0,o-1):e&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null};es.win32=ts.win32=ts,es.posix=ts.posix=es;const ss=Ge?ts.normalize:es.normalize,ns=Ge?ts.resolve:es.resolve,os=Ge?ts.relative:es.relative,rs=Ge?ts.dirname:es.dirname,hs=Ge?ts.basename:es.basename,cs=Ge?ts.extname:es.extname,as=Ge?ts.sep:es.sep,ls=/^\w[\w\d+.-]*$/,us=/^\//,ds=/^\/\//,fs="",ps="/",gs=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class ms{static isUri(t){return t instanceof ms||!!t&&"string"==typeof t.authority&&"string"==typeof t.fragment&&"string"==typeof t.path&&"string"==typeof t.query&&"string"==typeof t.scheme&&"string"==typeof t.fsPath&&"function"==typeof t.with&&"function"==typeof t.toString}constructor(t,i,e,s,n,o=!1){"object"==typeof t?(this.scheme=t.scheme||fs,this.authority=t.authority||fs,this.path=t.path||fs,this.query=t.query||fs,this.fragment=t.fragment||fs):(this.scheme=function(t,i){return t||i?t:"file"}(t,o),this.authority=i||fs,this.path=function(t,i){switch(t){case"https":case"http":case"file":i?i[0]!==ps&&(i=ps+i):i=ps}return i}(this.scheme,e||fs),this.query=s||fs,this.fragment=n||fs,function(t,i){if(!t.scheme&&i)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${t.authority}", path: "${t.path}", query: "${t.query}", fragment: "${t.fragment}"}`);if(t.scheme&&!ls.test(t.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(t.path)if(t.authority){if(!us.test(t.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(ds.test(t.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}(this,o))}get fsPath(){return xs(this,!1)}with(t){if(!t)return this;let{scheme:i,authority:e,path:s,query:n,fragment:o}=t;return void 0===i?i=this.scheme:null===i&&(i=fs),void 0===e?e=this.authority:null===e&&(e=fs),void 0===s?s=this.path:null===s&&(s=fs),void 0===n?n=this.query:null===n&&(n=fs),void 0===o?o=this.fragment:null===o&&(o=fs),i===this.scheme&&e===this.authority&&s===this.path&&n===this.query&&o===this.fragment?this:new vs(i,e,s,n,o)}static parse(t,i=!1){const e=gs.exec(t);return e?new vs(e[2]||fs,Es(e[4]||fs),Es(e[5]||fs),Es(e[7]||fs),Es(e[9]||fs),i):new vs(fs,fs,fs,fs,fs)}static file(t){let i=fs;if(Ct&&(t=t.replace(/\\/g,ps)),t[0]===ps&&t[1]===ps){const e=t.indexOf(ps,2);-1===e?(i=t.substring(2),t=ps):(i=t.substring(2,e),t=t.substring(e)||ps)}return new vs("file",i,t,fs,fs)}static from(t,i){return new vs(t.scheme,t.authority,t.path,t.query,t.fragment,i)}static joinPath(t,...i){if(!t.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let e;return e=Ct&&"file"===t.scheme?ms.file(ts.join(xs(t,!0),...i)).path:es.join(t.path,...i),t.with({path:e})}toString(t=!1){return Cs(this,t)}toJSON(){return this}static revive(t){var i,e;if(t){if(t instanceof ms)return t;{const s=new vs(t);return s._formatted=null!==(i=t.external)&&void 0!==i?i:null,s._fsPath=t._sep===ws&&null!==(e=t.fsPath)&&void 0!==e?e:null,s}}return t}}const ws=Ct?1:void 0;class vs extends ms{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=xs(this,!1)),this._fsPath}toString(t=!1){return t?Cs(this,!0):(this._formatted||(this._formatted=Cs(this,!1)),this._formatted)}toJSON(){const t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=ws),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}}const bs={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 ys(t,i,e){let s,n=-1;for(let o=0;o=97&&r<=122||r>=65&&r<=90||r>=48&&r<=57||45===r||46===r||95===r||126===r||i&&47===r||e&&91===r||e&&93===r||e&&58===r)-1!==n&&(s+=encodeURIComponent(t.substring(n,o)),n=-1),void 0!==s&&(s+=t.charAt(o));else{void 0===s&&(s=t.substr(0,o));const i=bs[r];void 0!==i?(-1!==n&&(s+=encodeURIComponent(t.substring(n,o)),n=-1),s+=i):-1===n&&(n=o)}}return-1!==n&&(s+=encodeURIComponent(t.substring(n))),void 0!==s?s:t}function ks(t){let i;for(let e=0;e1&&"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)?i?t.path.substr(1):t.path[1].toLowerCase()+t.path.substr(2):t.path,Ct&&(e=e.replace(/\//g,"\\")),e}function Cs(t,i){const e=i?ks:ys;let s="",{scheme:n,authority:o,path:r,query:h,fragment:c}=t;if(n&&(s+=n,s+=":"),(o||"file"===n)&&(s+=ps,s+=ps),o){let t=o.indexOf("@");if(-1!==t){const i=o.substr(0,t);o=o.substr(t+1),t=i.lastIndexOf(":"),-1===t?s+=e(i,!1,!1):(s+=e(i.substr(0,t),!1,!1),s+=":",s+=e(i.substr(t+1),!1,!0)),s+="@"}o=o.toLowerCase(),t=o.lastIndexOf(":"),-1===t?s+=e(o,!1,!0):(s+=e(o.substr(0,t),!1,!0),s+=o.substr(t))}if(r){if(r.length>=3&&47===r.charCodeAt(0)&&58===r.charCodeAt(2)){const t=r.charCodeAt(1);t>=65&&t<=90&&(r=`/${String.fromCharCode(t+32)}:${r.substr(3)}`)}else if(r.length>=2&&58===r.charCodeAt(1)){const t=r.charCodeAt(0);t>=65&&t<=90&&(r=`${String.fromCharCode(t+32)}:${r.substr(2)}`)}s+=e(r,!0,!1)}return h&&(s+="?",s+=e(h,!1,!1)),c&&(s+="#",s+=i?c:ys(c,!1,!1)),s}function Ss(t){try{return decodeURIComponent(t)}catch(i){return t.length>3?t.substr(0,3)+Ss(t.substr(3)):t}}const Ds=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Es(t){return t.match(Ds)?t.replace(Ds,(t=>Ss(t))):t}class As{constructor(t,i){this.lineNumber=t,this.column=i}with(t=this.lineNumber,i=this.column){return t===this.lineNumber&&i===this.column?this:new As(t,i)}delta(t=0,i=0){return this.with(this.lineNumber+t,this.column+i)}equals(t){return As.equals(this,t)}static equals(t,i){return!t&&!i||!!t&&!!i&&t.lineNumber===i.lineNumber&&t.column===i.column}isBefore(t){return As.isBefore(this,t)}static isBefore(t,i){return t.lineNumbere||t===e&&i>s?(this.startLineNumber=e,this.startColumn=s,this.endLineNumber=t,this.endColumn=i):(this.startLineNumber=t,this.startColumn=i,this.endLineNumber=e,this.endColumn=s)}isEmpty(){return Ms.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return Ms.containsPosition(this,t)}static containsPosition(t,i){return!(i.lineNumbert.endLineNumber||i.lineNumber===t.startLineNumber&&i.columnt.endColumn)}static strictContainsPosition(t,i){return!(i.lineNumbert.endLineNumber||i.lineNumber===t.startLineNumber&&i.column<=t.startColumn||i.lineNumber===t.endLineNumber&&i.column>=t.endColumn)}containsRange(t){return Ms.containsRange(this,t)}static containsRange(t,i){return!(i.startLineNumbert.endLineNumber||i.endLineNumber>t.endLineNumber||i.startLineNumber===t.startLineNumber&&i.startColumnt.endColumn)}strictContainsRange(t){return Ms.strictContainsRange(this,t)}static strictContainsRange(t,i){return!(i.startLineNumbert.endLineNumber||i.endLineNumber>t.endLineNumber||i.startLineNumber===t.startLineNumber&&i.startColumn<=t.startColumn||i.endLineNumber===t.endLineNumber&&i.endColumn>=t.endColumn)}plusRange(t){return Ms.plusRange(this,t)}static plusRange(t,i){let e,s,n,o;return i.startLineNumbert.endLineNumber?(n=i.endLineNumber,o=i.endColumn):i.endLineNumber===t.endLineNumber?(n=i.endLineNumber,o=Math.max(i.endColumn,t.endColumn)):(n=t.endLineNumber,o=t.endColumn),new Ms(e,s,n,o)}intersectRanges(t){return Ms.intersectRanges(this,t)}static intersectRanges(t,i){let e=t.startLineNumber,s=t.startColumn,n=t.endLineNumber,o=t.endColumn;const r=i.startLineNumber,h=i.startColumn,c=i.endLineNumber,a=i.endColumn;return ec?(n=c,o=a):n===c&&(o=Math.min(o,a)),e>n||e===n&&s>o?null:new Ms(e,s,n,o)}equalsRange(t){return Ms.equalsRange(this,t)}static equalsRange(t,i){return!t&&!i||!!t&&!!i&&t.startLineNumber===i.startLineNumber&&t.startColumn===i.startColumn&&t.endLineNumber===i.endLineNumber&&t.endColumn===i.endColumn}getEndPosition(){return Ms.getEndPosition(this)}static getEndPosition(t){return new As(t.endLineNumber,t.endColumn)}getStartPosition(){return Ms.getStartPosition(this)}static getStartPosition(t){return new As(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,i){return new Ms(this.startLineNumber,this.startColumn,t,i)}setStartPosition(t,i){return new Ms(t,i,this.endLineNumber,this.endColumn)}collapseToStart(){return Ms.collapseToStart(this)}static collapseToStart(t){return new Ms(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}collapseToEnd(){return Ms.collapseToEnd(this)}static collapseToEnd(t){return new Ms(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn)}delta(t){return new Ms(this.startLineNumber+t,this.startColumn,this.endLineNumber+t,this.endColumn)}static fromPositions(t,i=t){return new Ms(t.lineNumber,t.column,i.lineNumber,i.column)}static lift(t){return t?new Ms(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return t&&"number"==typeof t.startLineNumber&&"number"==typeof t.startColumn&&"number"==typeof t.endLineNumber&&"number"==typeof t.endColumn}static areIntersectingOrTouching(t,i){return!(t.endLineNumbert.startLineNumber}toJSON(){return this}}class Ls extends Ms{constructor(t,i,e,s){super(t,i,e,s),this.selectionStartLineNumber=t,this.selectionStartColumn=i,this.positionLineNumber=e,this.positionColumn=s}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(t){return Ls.selectionsEqual(this,t)}static selectionsEqual(t,i){return t.selectionStartLineNumber===i.selectionStartLineNumber&&t.selectionStartColumn===i.selectionStartColumn&&t.positionLineNumber===i.positionLineNumber&&t.positionColumn===i.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,i){return 0===this.getDirection()?new Ls(this.startLineNumber,this.startColumn,t,i):new Ls(t,i,this.startLineNumber,this.startColumn)}getPosition(){return new As(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new As(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,i){return 0===this.getDirection()?new Ls(t,i,this.endLineNumber,this.endColumn):new Ls(this.endLineNumber,this.endColumn,t,i)}static fromPositions(t,i=t){return new Ls(t.lineNumber,t.column,i.lineNumber,i.column)}static fromRange(t,i){return 0===i?new Ls(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new Ls(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new Ls(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(t,i){if(t&&!i||!t&&i)return!1;if(!t&&!i)return!0;if(t.length!==i.length)return!1;for(let e=0,s=t.length;e{t&&t.dispose()}))}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const Zs=new class{constructor(){this._tokenizationSupports=new Map,this._factories=new Map,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._colorMap=null}handleChange(t){this._onDidChange.fire({changedLanguages:t,changedColorMap:!1})}register(t,i){return this._tokenizationSupports.set(t,i),this.handleChange([t]),Xi((()=>{this._tokenizationSupports.get(t)===i&&(this._tokenizationSupports.delete(t),this.handleChange([t]))}))}get(t){return this._tokenizationSupports.get(t)||null}registerFactory(t,i){var e;null===(e=this._factories.get(t))||void 0===e||e.dispose();const s=new Is(this,t,i);return this._factories.set(t,s),Xi((()=>{const i=this._factories.get(t);i&&i===s&&(this._factories.delete(t),i.dispose())}))}async getOrCreate(t){const i=this.get(t);if(i)return i;const e=this._factories.get(t);return!e||e.isResolved?null:(await e.resolve(),this.get(t))}isResolved(t){if(this.get(t))return!0;const i=this._factories.get(t);return!(i&&!i.isResolved)}setColorMap(t){this._colorMap=t,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}};var Qs,Js,Ys,Xs,tn,en,sn,nn,on,rn,hn,cn,an,ln,un,dn,fn,pn,gn,mn,wn,vn,bn,yn,kn,xn,Cn,Sn,Dn,En,An,Mn,Ln,Fn,Tn,Rn,On,In,_n,Nn;!function(t){t[t.Unknown=0]="Unknown",t[t.Disabled=1]="Disabled",t[t.Enabled=2]="Enabled"}(Qs||(Qs={})),function(t){t[t.Invoke=1]="Invoke",t[t.Auto=2]="Auto"}(Js||(Js={})),function(t){t[t.None=0]="None",t[t.KeepWhitespace=1]="KeepWhitespace",t[t.InsertAsSnippet=4]="InsertAsSnippet"}(Ys||(Ys={})),function(t){t[t.Method=0]="Method",t[t.Function=1]="Function",t[t.Constructor=2]="Constructor",t[t.Field=3]="Field",t[t.Variable=4]="Variable",t[t.Class=5]="Class",t[t.Struct=6]="Struct",t[t.Interface=7]="Interface",t[t.Module=8]="Module",t[t.Property=9]="Property",t[t.Event=10]="Event",t[t.Operator=11]="Operator",t[t.Unit=12]="Unit",t[t.Value=13]="Value",t[t.Constant=14]="Constant",t[t.Enum=15]="Enum",t[t.EnumMember=16]="EnumMember",t[t.Keyword=17]="Keyword",t[t.Text=18]="Text",t[t.Color=19]="Color",t[t.File=20]="File",t[t.Reference=21]="Reference",t[t.Customcolor=22]="Customcolor",t[t.Folder=23]="Folder",t[t.TypeParameter=24]="TypeParameter",t[t.User=25]="User",t[t.Issue=26]="Issue",t[t.Snippet=27]="Snippet"}(Xs||(Xs={})),function(t){t[t.Deprecated=1]="Deprecated"}(tn||(tn={})),function(t){t[t.Invoke=0]="Invoke",t[t.TriggerCharacter=1]="TriggerCharacter",t[t.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"}(en||(en={})),function(t){t[t.EXACT=0]="EXACT",t[t.ABOVE=1]="ABOVE",t[t.BELOW=2]="BELOW"}(sn||(sn={})),function(t){t[t.NotSet=0]="NotSet",t[t.ContentFlush=1]="ContentFlush",t[t.RecoverFromMarkers=2]="RecoverFromMarkers",t[t.Explicit=3]="Explicit",t[t.Paste=4]="Paste",t[t.Undo=5]="Undo",t[t.Redo=6]="Redo"}(nn||(nn={})),function(t){t[t.LF=1]="LF",t[t.CRLF=2]="CRLF"}(on||(on={})),function(t){t[t.Text=0]="Text",t[t.Read=1]="Read",t[t.Write=2]="Write"}(rn||(rn={})),function(t){t[t.None=0]="None",t[t.Keep=1]="Keep",t[t.Brackets=2]="Brackets",t[t.Advanced=3]="Advanced",t[t.Full=4]="Full"}(hn||(hn={})),function(t){t[t.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",t[t.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",t[t.accessibilitySupport=2]="accessibilitySupport",t[t.accessibilityPageSize=3]="accessibilityPageSize",t[t.ariaLabel=4]="ariaLabel",t[t.ariaRequired=5]="ariaRequired",t[t.autoClosingBrackets=6]="autoClosingBrackets",t[t.autoClosingComments=7]="autoClosingComments",t[t.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",t[t.autoClosingDelete=9]="autoClosingDelete",t[t.autoClosingOvertype=10]="autoClosingOvertype",t[t.autoClosingQuotes=11]="autoClosingQuotes",t[t.autoIndent=12]="autoIndent",t[t.automaticLayout=13]="automaticLayout",t[t.autoSurround=14]="autoSurround",t[t.bracketPairColorization=15]="bracketPairColorization",t[t.guides=16]="guides",t[t.codeLens=17]="codeLens",t[t.codeLensFontFamily=18]="codeLensFontFamily",t[t.codeLensFontSize=19]="codeLensFontSize",t[t.colorDecorators=20]="colorDecorators",t[t.colorDecoratorsLimit=21]="colorDecoratorsLimit",t[t.columnSelection=22]="columnSelection",t[t.comments=23]="comments",t[t.contextmenu=24]="contextmenu",t[t.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",t[t.cursorBlinking=26]="cursorBlinking",t[t.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",t[t.cursorStyle=28]="cursorStyle",t[t.cursorSurroundingLines=29]="cursorSurroundingLines",t[t.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",t[t.cursorWidth=31]="cursorWidth",t[t.disableLayerHinting=32]="disableLayerHinting",t[t.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",t[t.domReadOnly=34]="domReadOnly",t[t.dragAndDrop=35]="dragAndDrop",t[t.dropIntoEditor=36]="dropIntoEditor",t[t.emptySelectionClipboard=37]="emptySelectionClipboard",t[t.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",t[t.extraEditorClassName=39]="extraEditorClassName",t[t.fastScrollSensitivity=40]="fastScrollSensitivity",t[t.find=41]="find",t[t.fixedOverflowWidgets=42]="fixedOverflowWidgets",t[t.folding=43]="folding",t[t.foldingStrategy=44]="foldingStrategy",t[t.foldingHighlight=45]="foldingHighlight",t[t.foldingImportsByDefault=46]="foldingImportsByDefault",t[t.foldingMaximumRegions=47]="foldingMaximumRegions",t[t.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",t[t.fontFamily=49]="fontFamily",t[t.fontInfo=50]="fontInfo",t[t.fontLigatures=51]="fontLigatures",t[t.fontSize=52]="fontSize",t[t.fontWeight=53]="fontWeight",t[t.fontVariations=54]="fontVariations",t[t.formatOnPaste=55]="formatOnPaste",t[t.formatOnType=56]="formatOnType",t[t.glyphMargin=57]="glyphMargin",t[t.gotoLocation=58]="gotoLocation",t[t.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",t[t.hover=60]="hover",t[t.inDiffEditor=61]="inDiffEditor",t[t.inlineSuggest=62]="inlineSuggest",t[t.letterSpacing=63]="letterSpacing",t[t.lightbulb=64]="lightbulb",t[t.lineDecorationsWidth=65]="lineDecorationsWidth",t[t.lineHeight=66]="lineHeight",t[t.lineNumbers=67]="lineNumbers",t[t.lineNumbersMinChars=68]="lineNumbersMinChars",t[t.linkedEditing=69]="linkedEditing",t[t.links=70]="links",t[t.matchBrackets=71]="matchBrackets",t[t.minimap=72]="minimap",t[t.mouseStyle=73]="mouseStyle",t[t.mouseWheelScrollSensitivity=74]="mouseWheelScrollSensitivity",t[t.mouseWheelZoom=75]="mouseWheelZoom",t[t.multiCursorMergeOverlapping=76]="multiCursorMergeOverlapping",t[t.multiCursorModifier=77]="multiCursorModifier",t[t.multiCursorPaste=78]="multiCursorPaste",t[t.multiCursorLimit=79]="multiCursorLimit",t[t.occurrencesHighlight=80]="occurrencesHighlight",t[t.overviewRulerBorder=81]="overviewRulerBorder",t[t.overviewRulerLanes=82]="overviewRulerLanes",t[t.padding=83]="padding",t[t.pasteAs=84]="pasteAs",t[t.parameterHints=85]="parameterHints",t[t.peekWidgetDefaultFocus=86]="peekWidgetDefaultFocus",t[t.definitionLinkOpensInPeek=87]="definitionLinkOpensInPeek",t[t.quickSuggestions=88]="quickSuggestions",t[t.quickSuggestionsDelay=89]="quickSuggestionsDelay",t[t.readOnly=90]="readOnly",t[t.readOnlyMessage=91]="readOnlyMessage",t[t.renameOnType=92]="renameOnType",t[t.renderControlCharacters=93]="renderControlCharacters",t[t.renderFinalNewline=94]="renderFinalNewline",t[t.renderLineHighlight=95]="renderLineHighlight",t[t.renderLineHighlightOnlyWhenFocus=96]="renderLineHighlightOnlyWhenFocus",t[t.renderValidationDecorations=97]="renderValidationDecorations",t[t.renderWhitespace=98]="renderWhitespace",t[t.revealHorizontalRightPadding=99]="revealHorizontalRightPadding",t[t.roundedSelection=100]="roundedSelection",t[t.rulers=101]="rulers",t[t.scrollbar=102]="scrollbar",t[t.scrollBeyondLastColumn=103]="scrollBeyondLastColumn",t[t.scrollBeyondLastLine=104]="scrollBeyondLastLine",t[t.scrollPredominantAxis=105]="scrollPredominantAxis",t[t.selectionClipboard=106]="selectionClipboard",t[t.selectionHighlight=107]="selectionHighlight",t[t.selectOnLineNumbers=108]="selectOnLineNumbers",t[t.showFoldingControls=109]="showFoldingControls",t[t.showUnused=110]="showUnused",t[t.snippetSuggestions=111]="snippetSuggestions",t[t.smartSelect=112]="smartSelect",t[t.smoothScrolling=113]="smoothScrolling",t[t.stickyScroll=114]="stickyScroll",t[t.stickyTabStops=115]="stickyTabStops",t[t.stopRenderingLineAfter=116]="stopRenderingLineAfter",t[t.suggest=117]="suggest",t[t.suggestFontSize=118]="suggestFontSize",t[t.suggestLineHeight=119]="suggestLineHeight",t[t.suggestOnTriggerCharacters=120]="suggestOnTriggerCharacters",t[t.suggestSelection=121]="suggestSelection",t[t.tabCompletion=122]="tabCompletion",t[t.tabIndex=123]="tabIndex",t[t.unicodeHighlighting=124]="unicodeHighlighting",t[t.unusualLineTerminators=125]="unusualLineTerminators",t[t.useShadowDOM=126]="useShadowDOM",t[t.useTabStops=127]="useTabStops",t[t.wordBreak=128]="wordBreak",t[t.wordSeparators=129]="wordSeparators",t[t.wordWrap=130]="wordWrap",t[t.wordWrapBreakAfterCharacters=131]="wordWrapBreakAfterCharacters",t[t.wordWrapBreakBeforeCharacters=132]="wordWrapBreakBeforeCharacters",t[t.wordWrapColumn=133]="wordWrapColumn",t[t.wordWrapOverride1=134]="wordWrapOverride1",t[t.wordWrapOverride2=135]="wordWrapOverride2",t[t.wrappingIndent=136]="wrappingIndent",t[t.wrappingStrategy=137]="wrappingStrategy",t[t.showDeprecated=138]="showDeprecated",t[t.inlayHints=139]="inlayHints",t[t.editorClassName=140]="editorClassName",t[t.pixelRatio=141]="pixelRatio",t[t.tabFocusMode=142]="tabFocusMode",t[t.layoutInfo=143]="layoutInfo",t[t.wrappingInfo=144]="wrappingInfo",t[t.defaultColorDecorators=145]="defaultColorDecorators",t[t.colorDecoratorsActivatedOn=146]="colorDecoratorsActivatedOn",t[t.inlineCompletionsAccessibilityVerbose=147]="inlineCompletionsAccessibilityVerbose"}(cn||(cn={})),function(t){t[t.TextDefined=0]="TextDefined",t[t.LF=1]="LF",t[t.CRLF=2]="CRLF"}(an||(an={})),function(t){t[t.LF=0]="LF",t[t.CRLF=1]="CRLF"}(ln||(ln={})),function(t){t[t.Left=1]="Left",t[t.Right=2]="Right"}(un||(un={})),function(t){t[t.None=0]="None",t[t.Indent=1]="Indent",t[t.IndentOutdent=2]="IndentOutdent",t[t.Outdent=3]="Outdent"}(dn||(dn={})),function(t){t[t.Both=0]="Both",t[t.Right=1]="Right",t[t.Left=2]="Left",t[t.None=3]="None"}(fn||(fn={})),function(t){t[t.Type=1]="Type",t[t.Parameter=2]="Parameter"}(pn||(pn={})),function(t){t[t.Automatic=0]="Automatic",t[t.Explicit=1]="Explicit"}(gn||(gn={})),function(t){t[t.DependsOnKbLayout=-1]="DependsOnKbLayout",t[t.Unknown=0]="Unknown",t[t.Backspace=1]="Backspace",t[t.Tab=2]="Tab",t[t.Enter=3]="Enter",t[t.Shift=4]="Shift",t[t.Ctrl=5]="Ctrl",t[t.Alt=6]="Alt",t[t.PauseBreak=7]="PauseBreak",t[t.CapsLock=8]="CapsLock",t[t.Escape=9]="Escape",t[t.Space=10]="Space",t[t.PageUp=11]="PageUp",t[t.PageDown=12]="PageDown",t[t.End=13]="End",t[t.Home=14]="Home",t[t.LeftArrow=15]="LeftArrow",t[t.UpArrow=16]="UpArrow",t[t.RightArrow=17]="RightArrow",t[t.DownArrow=18]="DownArrow",t[t.Insert=19]="Insert",t[t.Delete=20]="Delete",t[t.Digit0=21]="Digit0",t[t.Digit1=22]="Digit1",t[t.Digit2=23]="Digit2",t[t.Digit3=24]="Digit3",t[t.Digit4=25]="Digit4",t[t.Digit5=26]="Digit5",t[t.Digit6=27]="Digit6",t[t.Digit7=28]="Digit7",t[t.Digit8=29]="Digit8",t[t.Digit9=30]="Digit9",t[t.KeyA=31]="KeyA",t[t.KeyB=32]="KeyB",t[t.KeyC=33]="KeyC",t[t.KeyD=34]="KeyD",t[t.KeyE=35]="KeyE",t[t.KeyF=36]="KeyF",t[t.KeyG=37]="KeyG",t[t.KeyH=38]="KeyH",t[t.KeyI=39]="KeyI",t[t.KeyJ=40]="KeyJ",t[t.KeyK=41]="KeyK",t[t.KeyL=42]="KeyL",t[t.KeyM=43]="KeyM",t[t.KeyN=44]="KeyN",t[t.KeyO=45]="KeyO",t[t.KeyP=46]="KeyP",t[t.KeyQ=47]="KeyQ",t[t.KeyR=48]="KeyR",t[t.KeyS=49]="KeyS",t[t.KeyT=50]="KeyT",t[t.KeyU=51]="KeyU",t[t.KeyV=52]="KeyV",t[t.KeyW=53]="KeyW",t[t.KeyX=54]="KeyX",t[t.KeyY=55]="KeyY",t[t.KeyZ=56]="KeyZ",t[t.Meta=57]="Meta",t[t.ContextMenu=58]="ContextMenu",t[t.F1=59]="F1",t[t.F2=60]="F2",t[t.F3=61]="F3",t[t.F4=62]="F4",t[t.F5=63]="F5",t[t.F6=64]="F6",t[t.F7=65]="F7",t[t.F8=66]="F8",t[t.F9=67]="F9",t[t.F10=68]="F10",t[t.F11=69]="F11",t[t.F12=70]="F12",t[t.F13=71]="F13",t[t.F14=72]="F14",t[t.F15=73]="F15",t[t.F16=74]="F16",t[t.F17=75]="F17",t[t.F18=76]="F18",t[t.F19=77]="F19",t[t.F20=78]="F20",t[t.F21=79]="F21",t[t.F22=80]="F22",t[t.F23=81]="F23",t[t.F24=82]="F24",t[t.NumLock=83]="NumLock",t[t.ScrollLock=84]="ScrollLock",t[t.Semicolon=85]="Semicolon",t[t.Equal=86]="Equal",t[t.Comma=87]="Comma",t[t.Minus=88]="Minus",t[t.Period=89]="Period",t[t.Slash=90]="Slash",t[t.Backquote=91]="Backquote",t[t.BracketLeft=92]="BracketLeft",t[t.Backslash=93]="Backslash",t[t.BracketRight=94]="BracketRight",t[t.Quote=95]="Quote",t[t.OEM_8=96]="OEM_8",t[t.IntlBackslash=97]="IntlBackslash",t[t.Numpad0=98]="Numpad0",t[t.Numpad1=99]="Numpad1",t[t.Numpad2=100]="Numpad2",t[t.Numpad3=101]="Numpad3",t[t.Numpad4=102]="Numpad4",t[t.Numpad5=103]="Numpad5",t[t.Numpad6=104]="Numpad6",t[t.Numpad7=105]="Numpad7",t[t.Numpad8=106]="Numpad8",t[t.Numpad9=107]="Numpad9",t[t.NumpadMultiply=108]="NumpadMultiply",t[t.NumpadAdd=109]="NumpadAdd",t[t.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",t[t.NumpadSubtract=111]="NumpadSubtract",t[t.NumpadDecimal=112]="NumpadDecimal",t[t.NumpadDivide=113]="NumpadDivide",t[t.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",t[t.ABNT_C1=115]="ABNT_C1",t[t.ABNT_C2=116]="ABNT_C2",t[t.AudioVolumeMute=117]="AudioVolumeMute",t[t.AudioVolumeUp=118]="AudioVolumeUp",t[t.AudioVolumeDown=119]="AudioVolumeDown",t[t.BrowserSearch=120]="BrowserSearch",t[t.BrowserHome=121]="BrowserHome",t[t.BrowserBack=122]="BrowserBack",t[t.BrowserForward=123]="BrowserForward",t[t.MediaTrackNext=124]="MediaTrackNext",t[t.MediaTrackPrevious=125]="MediaTrackPrevious",t[t.MediaStop=126]="MediaStop",t[t.MediaPlayPause=127]="MediaPlayPause",t[t.LaunchMediaPlayer=128]="LaunchMediaPlayer",t[t.LaunchMail=129]="LaunchMail",t[t.LaunchApp2=130]="LaunchApp2",t[t.Clear=131]="Clear",t[t.MAX_VALUE=132]="MAX_VALUE"}(mn||(mn={})),function(t){t[t.Hint=1]="Hint",t[t.Info=2]="Info",t[t.Warning=4]="Warning",t[t.Error=8]="Error"}(wn||(wn={})),function(t){t[t.Unnecessary=1]="Unnecessary",t[t.Deprecated=2]="Deprecated"}(vn||(vn={})),function(t){t[t.Inline=1]="Inline",t[t.Gutter=2]="Gutter"}(bn||(bn={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.TEXTAREA=1]="TEXTAREA",t[t.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",t[t.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",t[t.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",t[t.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",t[t.CONTENT_TEXT=6]="CONTENT_TEXT",t[t.CONTENT_EMPTY=7]="CONTENT_EMPTY",t[t.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",t[t.CONTENT_WIDGET=9]="CONTENT_WIDGET",t[t.OVERVIEW_RULER=10]="OVERVIEW_RULER",t[t.SCROLLBAR=11]="SCROLLBAR",t[t.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",t[t.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"}(yn||(yn={})),function(t){t[t.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",t[t.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",t[t.TOP_CENTER=2]="TOP_CENTER"}(kn||(kn={})),function(t){t[t.Left=1]="Left",t[t.Center=2]="Center",t[t.Right=4]="Right",t[t.Full=7]="Full"}(xn||(xn={})),function(t){t[t.Left=0]="Left",t[t.Right=1]="Right",t[t.None=2]="None",t[t.LeftOfInjectedText=3]="LeftOfInjectedText",t[t.RightOfInjectedText=4]="RightOfInjectedText"}(Cn||(Cn={})),function(t){t[t.Off=0]="Off",t[t.On=1]="On",t[t.Relative=2]="Relative",t[t.Interval=3]="Interval",t[t.Custom=4]="Custom"}(Sn||(Sn={})),function(t){t[t.None=0]="None",t[t.Text=1]="Text",t[t.Blocks=2]="Blocks"}(Dn||(Dn={})),function(t){t[t.Smooth=0]="Smooth",t[t.Immediate=1]="Immediate"}(En||(En={})),function(t){t[t.Auto=1]="Auto",t[t.Hidden=2]="Hidden",t[t.Visible=3]="Visible"}(An||(An={})),function(t){t[t.LTR=0]="LTR",t[t.RTL=1]="RTL"}(Mn||(Mn={})),function(t){t.Off="off",t.OnCode="onCode",t.On="on"}(Ln||(Ln={})),function(t){t[t.Invoke=1]="Invoke",t[t.TriggerCharacter=2]="TriggerCharacter",t[t.ContentChange=3]="ContentChange"}(Fn||(Fn={})),function(t){t[t.File=0]="File",t[t.Module=1]="Module",t[t.Namespace=2]="Namespace",t[t.Package=3]="Package",t[t.Class=4]="Class",t[t.Method=5]="Method",t[t.Property=6]="Property",t[t.Field=7]="Field",t[t.Constructor=8]="Constructor",t[t.Enum=9]="Enum",t[t.Interface=10]="Interface",t[t.Function=11]="Function",t[t.Variable=12]="Variable",t[t.Constant=13]="Constant",t[t.String=14]="String",t[t.Number=15]="Number",t[t.Boolean=16]="Boolean",t[t.Array=17]="Array",t[t.Object=18]="Object",t[t.Key=19]="Key",t[t.Null=20]="Null",t[t.EnumMember=21]="EnumMember",t[t.Struct=22]="Struct",t[t.Event=23]="Event",t[t.Operator=24]="Operator",t[t.TypeParameter=25]="TypeParameter"}(Tn||(Tn={})),function(t){t[t.Deprecated=1]="Deprecated"}(Rn||(Rn={})),function(t){t[t.Hidden=0]="Hidden",t[t.Blink=1]="Blink",t[t.Smooth=2]="Smooth",t[t.Phase=3]="Phase",t[t.Expand=4]="Expand",t[t.Solid=5]="Solid"}(On||(On={})),function(t){t[t.Line=1]="Line",t[t.Block=2]="Block",t[t.Underline=3]="Underline",t[t.LineThin=4]="LineThin",t[t.BlockOutline=5]="BlockOutline",t[t.UnderlineThin=6]="UnderlineThin"}(In||(In={})),function(t){t[t.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",t[t.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",t[t.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",t[t.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"}(_n||(_n={})),function(t){t[t.None=0]="None",t[t.Same=1]="Same",t[t.Indent=2]="Indent",t[t.DeepIndent=3]="DeepIndent"}(Nn||(Nn={}));class Bn{static chord(t,i){return Ne(t,i)}}function Pn(){return{editor:void 0,languages:void 0,CancellationTokenSource:Se,Emitter:fe,KeyCode:mn,KeyMod:Bn,Position:As,Range:Ms,Selection:Ls,SelectionDirection:Mn,MarkerSeverity:wn,MarkerTag:vn,Uri:ms,Token:_s}}Bn.CtrlCmd=2048,Bn.Shift=1024,Bn.Alt=512,Bn.WinCtrl=256;const $n=window,Wn=$n;class jn{get cachedValues(){return this._map}constructor(t){this.fn=t,this._map=new Map}get(t){if(this._map.has(t))return this._map.get(t);const i=this.fn(t);return this._map.set(t,i),i}}class zn{constructor(t){this.executor=t,this._didRun=!1}get value(){if(!this._didRun)try{this._value=this.executor()}catch(t){this._error=t}finally{this._didRun=!0}if(this._error)throw this._error;return this._value}get rawValue(){return this._value}}var Hn;function Vn(t){return!t||"string"!=typeof t||0===t.trim().length}const Un=/{(\d+)}/g;function qn(t,...i){return 0===i.length?t:t.replace(Un,(function(t,e){const s=parseInt(e,10);return isNaN(s)||s<0||s>=i.length?t:i[s]}))}function Kn(t){return t.replace(/[<>&]/g,(function(t){switch(t){case"<":return"<";case">":return">";case"&":return"&";default:return t}}))}function Gn(t){return t.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function Zn(t,i=" "){return Jn(Qn(t,i),i)}function Qn(t,i){if(!t||!i)return t;const e=i.length;if(0===e||0===t.length)return t;let s=0;for(;t.indexOf(i,s)===s;)s+=e;return t.substring(s)}function Jn(t,i){if(!t||!i)return t;const e=i.length,s=t.length;if(0===e||0===s)return t;let n=s,o=-1;for(;o=t.lastIndexOf(i,n-1),-1!==o&&o+e===n;){if(0===o)return"";n=o}return t.substring(0,n)}function Yn(t,i,e={}){if(!t)throw new Error("Cannot create regex from empty string");i||(t=Gn(t)),e.wholeWord&&(/\B/.test(t.charAt(0))||(t="\\b"+t),/\B/.test(t.charAt(t.length-1))||(t+="\\b"));let s="";return e.global&&(s+="g"),e.matchCase||(s+="i"),e.multiline&&(s+="m"),e.unicode&&(s+="u"),new RegExp(t,s)}function Xn(t){return t.split(/\r\n|\r|\n/)}function to(t){for(let i=0,e=t.length;i=0;e--){const i=t.charCodeAt(e);if(32!==i&&9!==i)return e}return-1}function so(t,i){return ti?1:0}function no(t,i,e=0,s=t.length,n=0,o=i.length){for(;eo)return 1}const r=s-e,h=o-n;return rh?1:0}function oo(t,i){return ro(t,i,0,t.length,0,i.length)}function ro(t,i,e=0,s=t.length,n=0,o=i.length){for(;e=128||h>=128)return no(t.toLowerCase(),i.toLowerCase(),e,s,n,o);co(r)&&(r-=32),co(h)&&(h-=32);const c=r-h;if(0!==c)return c}const r=s-e,h=o-n;return rh?1:0}function ho(t){return t>=48&&t<=57}function co(t){return t>=97&&t<=122}function ao(t){return t>=65&&t<=90}function lo(t,i){return t.length===i.length&&0===ro(t,i)}function uo(t,i){return!(i.length>t.length)&&0===ro(t,i,0,i.length)}function fo(t,i){const e=Math.min(t.length,i.length);let s;for(s=0;s1){const s=t.charCodeAt(i-2);if(go(s))return wo(s,e)}return e}(this._str,this._offset);return this._offset-=t>=65536?2:1,t}nextCodePoint(){const t=vo(this._str,this._len,this._offset);return this._offset+=t>=65536?2:1,t}eol(){return this._offset>=this._len}}class yo{get offset(){return this._iterator.offset}constructor(t,i=0){this._iterator=new bo(t,i)}nextGraphemeLength(){const t=_o.getInstance(),i=this._iterator,e=i.offset;let s=t.getGraphemeBreakType(i.nextCodePoint());for(;!i.eol();){const e=i.offset,n=t.getGraphemeBreakType(i.nextCodePoint());if(Io(s,n)){i.setOffset(e);break}s=n}return i.offset-e}prevGraphemeLength(){const t=_o.getInstance(),i=this._iterator,e=i.offset;let s=t.getGraphemeBreakType(i.prevCodePoint());for(;i.offset>0;){const e=i.offset,n=t.getGraphemeBreakType(i.prevCodePoint());if(Io(n,s)){i.setOffset(e);break}s=n}return e-i.offset}eol(){return this._iterator.eol()}}function ko(t,i){return new yo(t,i).nextGraphemeLength()}function xo(t,i){return new yo(t,i).prevGraphemeLength()}let Co;function So(t){return Co||(Co=/(?:[\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])/),Co.test(t)}const Do=/^[\t\n\r\x20-\x7E]*$/;function Eo(t){return Do.test(t)}const Ao=/[\u2028\u2029]/;function Mo(t){return Ao.test(t)}function Lo(t){return t>=11904&&t<=55215||t>=63744&&t<=64255||t>=65281&&t<=65374}function Fo(t){return t>=127462&&t<=127487||8986===t||8987===t||9200===t||9203===t||t>=9728&&t<=10175||11088===t||11093===t||t>=127744&&t<=128591||t>=128640&&t<=128764||t>=128992&&t<=129008||t>=129280&&t<=129535||t>=129648&&t<=129782}const To=String.fromCharCode(65279);function Ro(t){return!!(t&&t.length>0&&65279===t.charCodeAt(0))}function Oo(t){return t%=52,String.fromCharCode(t<26?97+t:65+t-26)}function Io(t,i){return 0===t?5!==i&&7!==i:!(2===t&&3===i||4!==t&&2!==t&&3!==t&&4!==i&&2!==i&&3!==i&&(8===t&&(8===i||9===i||11===i||12===i)||!(11!==t&&9!==t||9!==i&&10!==i)||(12===t||10===t)&&10===i||5===i||13===i||7===i||1===t||13===t&&14===i||6===t&&6===i))}class _o{static getInstance(){return _o._INSTANCE||(_o._INSTANCE=new _o),_o._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(t){if(t<32)return 10===t?3:13===t?2:4;if(t<127)return 0;const i=this._data,e=i.length/3;let s=1;for(;s<=e;)if(ti[3*s+1]))return i[3*s+2];s=2*s+1}return 0}}function No(t){return 127995<=t&&t<=127999}_o._INSTANCE=null;class Bo{static getInstance(t){return Hn.cache.get(Array.from(t))}static getLocales(){return Hn._locales.value}constructor(t){this.confusableDictionary=t}isAmbiguous(t){return this.confusableDictionary.has(t)}getPrimaryConfusable(t){return this.confusableDictionary.get(t)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}Hn=Bo,Bo.ambiguousCharacterData=new zn((()=>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]}'))),Bo.cache=new class{constructor(t){this.fn=t,this.lastCache=void 0,this.lastArgKey=void 0}get(t){const i=JSON.stringify(t);return this.lastArgKey!==i&&(this.lastArgKey=i,this.lastCache=this.fn(t)),this.lastCache}}((t=>{function i(t){const i=new Map;for(let e=0;e!t.startsWith("_")&&t in s));0===o.length&&(o=["_default"]);for(const t of o)n=e(n,i(s[t]));const r=function(t,i){const e=new Map(t);for(const[t,s]of i)e.set(t,s);return e}(i(s._common),n);return new Hn(r)})),Bo._locales=new zn((()=>Object.keys(Hn.ambiguousCharacterData.value).filter((t=>!t.startsWith("_")))));class Po{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 getData(){return this._data||(this._data=new Set(Po.getRawData())),this._data}static isInvisibleCharacter(t){return Po.getData().has(t)}static get codePoints(){return Po.getData()}}Po._data=void 0;class $o{constructor(){this._zoomFactor=1}getZoomFactor(){return this._zoomFactor}}$o.INSTANCE=new $o;class Wo extends ie{constructor(){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(!0),this._mediaQueryList=null,this._handleChange(!1)}_handleChange(t){var i;null===(i=this._mediaQueryList)||void 0===i||i.removeEventListener("change",this._listener),this._mediaQueryList=Wn.matchMedia(`(resolution: ${Wn.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class jo extends ie{get value(){return this._value}constructor(){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio();const t=this._register(new Wo);this._register(t.onDidChange((()=>{this._value=this._getPixelRatio(),this._onDidChange.fire(this._value)})))}_getPixelRatio(){const t=document.createElement("canvas").getContext("2d");return(Wn.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}}function zo(t,i){"string"==typeof t&&(t=Wn.matchMedia(t)),t.addEventListener("change",i)}const Ho=new class{constructor(){this._pixelRatioMonitor=null}_getOrCreatePixelRatioMonitor(){return this._pixelRatioMonitor||(this._pixelRatioMonitor=new jo),this._pixelRatioMonitor}get value(){return this._getOrCreatePixelRatioMonitor().value}get onDidChange(){return this._getOrCreatePixelRatioMonitor().onDidChange}},Vo=navigator.userAgent,Uo=Vo.indexOf("Firefox")>=0,qo=Vo.indexOf("AppleWebKit")>=0,Ko=Vo.indexOf("Chrome")>=0,Go=!Ko&&Vo.indexOf("Safari")>=0,Zo=!Ko&&!Go&&qo;Vo.indexOf("Electron/");const Qo=Vo.indexOf("Android")>=0;let Jo=!1;if(Wn.matchMedia){const t=Wn.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),i=Wn.matchMedia("(display-mode: fullscreen)");Jo=t.matches,zo(t,(({matches:t})=>{Jo&&i.matches||(Jo=t)}))}class Yo{constructor(t){this.domNode=t,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(t){const i=Xo(t);this._maxWidth!==i&&(this._maxWidth=i,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){const i=Xo(t);this._width!==i&&(this._width=i,this.domNode.style.width=this._width)}setHeight(t){const i=Xo(t);this._height!==i&&(this._height=i,this.domNode.style.height=this._height)}setTop(t){const i=Xo(t);this._top!==i&&(this._top=i,this.domNode.style.top=this._top)}setLeft(t){const i=Xo(t);this._left!==i&&(this._left=i,this.domNode.style.left=this._left)}setBottom(t){const i=Xo(t);this._bottom!==i&&(this._bottom=i,this.domNode.style.bottom=this._bottom)}setRight(t){const i=Xo(t);this._right!==i&&(this._right=i,this.domNode.style.right=this._right)}setPaddingLeft(t){const i=Xo(t);this._paddingLeft!==i&&(this._paddingLeft=i,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){const i=Xo(t);this._fontSize!==i&&(this._fontSize=i,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){const i=Xo(t);this._lineHeight!==i&&(this._lineHeight=i,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){const i=Xo(t);this._letterSpacing!==i&&(this._letterSpacing=i,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,i){this.domNode.classList.toggle(t,i),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,i){this.domNode.setAttribute(t,i)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}}function Xo(t){return"number"==typeof t?`${t}px`:t}function tr(t){return new Yo(t)}function ir(t,i){t instanceof Yo?(t.setFontFamily(i.getMassagedFontFamily()),t.setFontWeight(i.fontWeight),t.setFontSize(i.fontSize),t.setFontFeatureSettings(i.fontFeatureSettings),t.setFontVariationSettings(i.fontVariationSettings),t.setLineHeight(i.lineHeight),t.setLetterSpacing(i.letterSpacing)):(t.style.fontFamily=i.getMassagedFontFamily(),t.style.fontWeight=i.fontWeight,t.style.fontSize=i.fontSize+"px",t.style.fontFeatureSettings=i.fontFeatureSettings,t.style.fontVariationSettings=i.fontVariationSettings,t.style.lineHeight=i.lineHeight+"px",t.style.letterSpacing=i.letterSpacing+"px")}class er{constructor(t,i){this.chr=t,this.type=i,this.width=0}fulfill(t){this.width=t}}class sr{constructor(t,i){this._bareFontInfo=t,this._requests=i,this._container=null,this._testElements=null}read(){this._createDomElements(),Wn.document.body.appendChild(this._container),this._readFromDomElements(),Wn.document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const t=document.createElement("div");t.style.position="absolute",t.style.top="-50000px",t.style.width="50000px";const i=document.createElement("div");ir(i,this._bareFontInfo),t.appendChild(i);const e=document.createElement("div");ir(e,this._bareFontInfo),e.style.fontWeight="bold",t.appendChild(e);const s=document.createElement("div");ir(s,this._bareFontInfo),s.style.fontStyle="italic",t.appendChild(s);const n=[];for(const t of this._requests){let o;0===t.type&&(o=i),2===t.type&&(o=e),1===t.type&&(o=s),o.appendChild(document.createElement("br"));const r=document.createElement("span");sr._render(r,t),o.appendChild(r),n.push(r)}this._container=t,this._testElements=n}static _render(t,i){if(" "===i.chr){let i=" ";for(let t=0;t<8;t++)i+=i;t.innerText=i}else{let e=i.chr;for(let t=0;t<8;t++)e+=e;t.textContent=e}}_readFromDomElements(){for(let t=0,i=this._requests.length;tthis._values[t]))}}const ar=new class extends ie{constructor(){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._cache=new cr,this._evictUntrustedReadingsTimeout=-1}dispose(){-1!==this._evictUntrustedReadingsTimeout&&(clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache=new cr,this._onDidChange.fire()}_writeToCache(t,i){this._cache.put(t,i),i.isTrusted||-1!==this._evictUntrustedReadingsTimeout||(this._evictUntrustedReadingsTimeout=$n.setTimeout((()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()}),5e3))}_evictUntrustedReadings(){const t=this._cache.getValues();let i=!1;for(const e of t)e.isTrusted||(i=!0,this._cache.remove(e));i&&this._onDidChange.fire()}readFontInfo(t){if(!this._cache.has(t)){let i=this._actualReadFontInfo(t);(i.typicalHalfwidthCharacterWidth<=2||i.typicalFullwidthCharacterWidth<=2||i.spaceWidth<=2||i.maxDigitWidth<=2)&&(i=new hr({pixelRatio:Ho.value,fontFamily:i.fontFamily,fontWeight:i.fontWeight,fontSize:i.fontSize,fontFeatureSettings:i.fontFeatureSettings,fontVariationSettings:i.fontVariationSettings,lineHeight:i.lineHeight,letterSpacing:i.letterSpacing,isMonospace:i.isMonospace,typicalHalfwidthCharacterWidth:Math.max(i.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(i.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:i.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(i.spaceWidth,5),middotWidth:Math.max(i.middotWidth,5),wsmiddotWidth:Math.max(i.wsmiddotWidth,5),maxDigitWidth:Math.max(i.maxDigitWidth,5)},!1)),this._writeToCache(t,i)}return this._cache.get(t)}_createRequest(t,i,e,s){const n=new er(t,i);return e.push(n),null==s||s.push(n),n}_actualReadFontInfo(t){const i=[],e=[],s=this._createRequest("n",0,i,e),n=this._createRequest("m",0,i,null),o=this._createRequest(" ",0,i,e),r=this._createRequest("0",0,i,e),h=this._createRequest("1",0,i,e),c=this._createRequest("2",0,i,e),a=this._createRequest("3",0,i,e),l=this._createRequest("4",0,i,e),u=this._createRequest("5",0,i,e),d=this._createRequest("6",0,i,e),f=this._createRequest("7",0,i,e),p=this._createRequest("8",0,i,e),g=this._createRequest("9",0,i,e),m=this._createRequest("→",0,i,e),w=this._createRequest("→",0,i,null),v=this._createRequest("·",0,i,e),b=this._createRequest(String.fromCharCode(11825),0,i,null),y="|/-_ilm%";for(let t=0,s=8;t.001){x=!1;break}}let S=!0;return x&&w.width!==C&&(S=!1),w.width>m.width&&(S=!1),new hr({pixelRatio:Ho.value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:x,typicalHalfwidthCharacterWidth:s.width,typicalFullwidthCharacterWidth:n.width,canUseHalfwidthRightwardsArrow:S,spaceWidth:o.width,middotWidth:v.width,wsmiddotWidth:b.width,maxDigitWidth:k},!0)}};var lr;!function(t){t.serviceIds=new Map,t.DI_TARGET="$di$target",t.DI_DEPENDENCIES="$di$dependencies",t.getServiceDependencies=function(i){return i[t.DI_DEPENDENCIES]||[]}}(lr||(lr={}));const ur=dr("instantiationService");function dr(t){if(lr.serviceIds.has(t))return lr.serviceIds.get(t);const i=function(t,e,s){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(t,i,e){i[lr.DI_TARGET]===i?i[lr.DI_DEPENDENCIES].push({id:t,index:e}):(i[lr.DI_DEPENDENCIES]=[{id:t,index:e}],i[lr.DI_TARGET]=i)}(i,t,s)};return i.toString=()=>t,lr.serviceIds.set(t,i),i}const fr=dr("codeEditorService"),pr=dr("modelService"),gr=dr("textModelService");class mr extends ie{constructor(t,i="",e="",s=!0,n){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=t,this._label=i,this._cssClass=e,this._enabled=s,this._actionCallback=n}get id(){return this._id}get label(){return this._label}set label(t){this._setLabel(t)}_setLabel(t){this._label!==t&&(this._label=t,this._onDidChange.fire({label:t}))}get tooltip(){return this._tooltip||""}set tooltip(t){this._setTooltip(t)}_setTooltip(t){this._tooltip!==t&&(this._tooltip=t,this._onDidChange.fire({tooltip:t}))}get class(){return this._cssClass}set class(t){this._setClass(t)}_setClass(t){this._cssClass!==t&&(this._cssClass=t,this._onDidChange.fire({class:t}))}get enabled(){return this._enabled}set enabled(t){this._setEnabled(t)}_setEnabled(t){this._enabled!==t&&(this._enabled=t,this._onDidChange.fire({enabled:t}))}get checked(){return this._checked}set checked(t){this._setChecked(t)}_setChecked(t){this._checked!==t&&(this._checked=t,this._onDidChange.fire({checked:t}))}async run(t,i){this._actionCallback&&await this._actionCallback(t)}}class wr extends ie{constructor(){super(...arguments),this._onWillRun=this._register(new fe),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new fe),this.onDidRun=this._onDidRun.event}async run(t,i){if(!t.enabled)return;let e;this._onWillRun.fire({action:t});try{await this.runAction(t,i)}catch(t){e=t}this._onDidRun.fire({action:t,error:e})}async runAction(t,i){await t.run(i)}}class vr{constructor(){this.id=vr.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...t){let i=[];for(const e of t)e.length&&(i=i.length?[...i,new vr,...e]:e);return i}async run(){}}vr.ID="vs.actions.separator";class br{get actions(){return this._actions}constructor(t,i,e,s){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=t,this.label=i,this.class=s,this._actions=e}async run(){}}class yr extends mr{constructor(){super(yr.ID,rt(0,"(empty)"),void 0,!1)}}function kr(t){var i,e;return{id:t.id,label:t.label,class:t.class,enabled:null===(i=t.enabled)||void 0===i||i,checked:null!==(e=t.checked)&&void 0!==e&&e,run:async(...i)=>t.run(...i),tooltip:t.label}}var xr,Cr;yr.ID="vs.actions.empty",function(t){t.isThemeColor=function(t){return t&&"object"==typeof t&&"string"==typeof t.id}}(xr||(xr={})),function(t){t.iconNameSegment="[A-Za-z0-9]+",t.iconNameExpression="[A-Za-z0-9-]+",t.iconModifierExpression="~[A-Za-z]+",t.iconNameCharacter="[A-Za-z0-9~-]";const i=new RegExp(`^(${t.iconNameExpression})(${t.iconModifierExpression})?$`);function e(t){const s=i.exec(t.id);if(!s)return e(Os.error);const[,n,o]=s,r=["codicon","codicon-"+n];return o&&r.push("codicon-modifier-"+o.substring(1)),r}t.asClassNameArray=e,t.asClassName=function(t){return e(t).join(" ")},t.asCSSSelector=function(t){return"."+e(t).join(".")},t.isThemeIcon=function(t){return t&&"object"==typeof t&&"string"==typeof t.id&&(void 0===t.color||xr.isThemeColor(t.color))};const s=new RegExp(`^\\$\\((${t.iconNameExpression}(?:${t.iconModifierExpression})?)\\)$`);t.fromString=function(t){const i=s.exec(t);if(!i)return;const[,e]=i;return{id:e}},t.fromId=function(t){return{id:t}},t.modify=function(t,i){let e=t.id;const s=e.lastIndexOf("~");return-1!==s&&(e=e.substring(0,s)),i&&(e=`${e}~${i}`),{id:e}},t.getModifier=function(t){const i=t.id.lastIndexOf("~");if(-1!==i)return t.id.substring(i+1)},t.isEqual=function(t,i){var e,s;return t.id===i.id&&(null===(e=t.color)||void 0===e?void 0:e.id)===(null===(s=i.color)||void 0===s?void 0:s.id)}}(Cr||(Cr={}));const Sr=dr("commandService"),Dr=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new fe,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(t,i){if(!t)throw new Error("invalid command");if("string"==typeof t){if(!i)throw new Error("invalid command");return this.registerCommand({id:t,handler:i})}if(t.metadata&&Array.isArray(t.metadata.args)){const i=[];for(const e of t.metadata.args)i.push(e.constraint);const e=t.handler;t.handler=function(t,...s){return function(t,i){const e=Math.min(t.length,i.length);for(let s=0;s{n();const t=this._commands.get(e);(null==t?void 0:t.isEmpty())&&this._commands.delete(e)}));return this._onDidRegisterCommand.fire(e),o}registerCommandAlias(t,i){return Dr.registerCommand(t,((t,...e)=>t.get(Sr).executeCommand(i,...e)))}getCommand(t){const i=this._commands.get(t);if(i&&!i.isEmpty())return Vt.first(i)}getCommands(){const t=new Map;for(const i of this._commands.keys()){const e=this.getCommand(i);e&&t.set(i,e)}return t}};function Er(...t){switch(t.length){case 1:return rt(0,"Did you mean {0}?",t[0]);case 2:return rt(0,"Did you mean {0} or {1}?",t[0],t[1]);case 3:return rt(0,"Did you mean {0}, {1} or {2}?",t[0],t[1],t[2]);default:return}}Dr.registerCommand("noop",(()=>{}));const Ar=rt(0,"Did you forget to open or close the quote?"),Mr=rt(0,"Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");class Lr{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(t){switch(t.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return t.isTripleEq?"===":"==";case 4:return t.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:case 8:return">=";case 9:return"=~";case 10:case 17:case 18:case 19:return t.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 Ui(`unhandled token type: ${JSON.stringify(t)}; have you forgotten to add a case?`)}}reset(t){return this._input=t,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 t=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:t})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const t=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:t})}else this._match(126)?this._addToken(9):this._error(Er("==","=~"));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(Er("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(Er("||"));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(t){return!this._isAtEnd()&&this._input.charCodeAt(this._current)===t&&(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(t){this._tokens.push({type:t,offset:this._start})}_error(t){const i=this._start,e=this._input.substring(this._start,this._current),s={type:19,offset:this._start,lexeme:e};this._errors.push({offset:i,lexeme:e,additionalInfo:t}),this._tokens.push(s)}_string(){this.stringRe.lastIndex=this._start;const t=this.stringRe.exec(this._input);if(t){this._current=this._start+t[0].length;const i=this._input.substring(this._start,this._current),e=Lr._keywords.get(i);e?this._addToken(e):this._tokens.push({type:17,lexeme:i,offset:this._start})}}_quotedString(){for(;39!==this._peek()&&!this._isAtEnd();)this._advance();this._isAtEnd()?this._error(Ar):(this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1}))}_regex(){let t=this._current,i=!1,e=!1;for(;;){if(t>=this._input.length)return this._current=t,void this._error(Mr);const s=this._input.charCodeAt(t);if(i)i=!1;else{if(47===s&&!e){t++;break}91===s?e=!0:92===s?i=!0:93===s&&(e=!1)}t++}for(;t=this._input.length}}Lr._regexFlags=new Set(["i","g","s","m","y","u"].map((t=>t.charCodeAt(0)))),Lr._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);const Fr=new Map;Fr.set("false",!1),Fr.set("true",!0),Fr.set("isMac",St),Fr.set("isLinux",Dt),Fr.set("isWindows",Ct),Fr.set("isWeb",At),Fr.set("isMacNative",St&&!At),Fr.set("isEdge",zt),Fr.set("isFirefox",Wt),Fr.set("isChrome",$t),Fr.set("isSafari",jt);const Tr=Object.prototype.hasOwnProperty,Rr={regexParsingWithErrorRecovery:!0},Or=rt(0,"Empty context key expression"),Ir=rt(0,"Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),_r=rt(0,"'in' after 'not'."),Nr=rt(0,"closing parenthesis ')'"),Br=rt(0,"Unexpected token"),Pr=rt(0,"Did you forget to put && or || before the token?"),$r=rt(0,"Unexpected end of expression"),Wr=rt(0,"Did you forget to put a context key?");class jr{constructor(t=Rr){this._config=t,this._scanner=new Lr,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(t){if(""!==t){this._tokens=this._scanner.reset(t).scan(),this._current=0,this._parsingErrors=[];try{const t=this._expr();if(!this._isAtEnd()){const t=this._peek(),i=17===t.type?Pr:void 0;throw this._parsingErrors.push({message:Br,offset:t.offset,lexeme:Lr.getLexeme(t),additionalInfo:i}),jr._parseError}return t}catch(t){if(t!==jr._parseError)throw t;return}}else this._parsingErrors.push({message:Or,offset:0,lexeme:"",additionalInfo:Ir})}_expr(){return this._or()}_or(){const t=[this._and()];for(;this._matchOne(16);){const i=this._and();t.push(i)}return 1===t.length?t[0]:zr.or(...t)}_and(){const t=[this._term()];for(;this._matchOne(15);){const i=this._term();t.push(i)}return 1===t.length?t[0]:zr.and(...t)}_term(){if(this._matchOne(2)){const t=this._peek();switch(t.type){case 11:return this._advance(),Vr.INSTANCE;case 12:return this._advance(),Ur.INSTANCE;case 0:{this._advance();const t=this._expr();return this._consume(1,Nr),null==t?void 0:t.negate()}case 17:return this._advance(),Jr.create(t.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",t)}}return this._primary()}_primary(){const t=this._peek();switch(t.type){case 11:return this._advance(),zr.true();case 12:return this._advance(),zr.false();case 0:{this._advance();const t=this._expr();return this._consume(1,Nr),t}case 17:{const i=t.lexeme;if(this._advance(),this._matchOne(9)){const t=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),10!==t.type)throw this._errExpectedButGot("REGEX",t);const e=t.lexeme,s=e.lastIndexOf("/"),n=s===e.length-1?void 0:this._removeFlagsGY(e.substring(s+1));let o;try{o=new RegExp(e.substring(1,s),n)}catch(i){throw this._errExpectedButGot("REGEX",t)}return sh.create(i,o)}switch(t.type){case 10:case 19:{const e=[t.lexeme];this._advance();let s=this._peek(),n=0;for(let i=0;i=0){const o=e.slice(i+1,n),r="i"===e[n+1]?"i":"";try{s=new RegExp(o,r)}catch(i){throw this._errExpectedButGot("REGEX",t)}}}if(null===s)throw this._errExpectedButGot("REGEX",t);return sh.create(i,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,_r);const t=this._value();return zr.notIn(i,t)}switch(this._peek().type){case 3:{this._advance();const t=this._value();if(18===this._previous().type)return zr.equals(i,t);switch(t){case"true":return zr.has(i);case"false":return zr.not(i);default:return zr.equals(i,t)}}case 4:{this._advance();const t=this._value();if(18===this._previous().type)return zr.notEquals(i,t);switch(t){case"true":return zr.not(i);case"false":return zr.has(i);default:return zr.notEquals(i,t)}}case 5:return this._advance(),ih.create(i,this._value());case 6:return this._advance(),eh.create(i,this._value());case 7:return this._advance(),Xr.create(i,this._value());case 8:return this._advance(),th.create(i,this._value());case 13:return this._advance(),zr.in(i,this._value());default:return zr.has(i)}}case 20:throw this._parsingErrors.push({message:$r,offset:t.offset,lexeme:"",additionalInfo:Wr}),jr._parseError;default:throw this._errExpectedButGot("true | false | KEY \n\t| KEY '=~' REGEX \n\t| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const t=this._peek();switch(t.type){case 17:case 18:return this._advance(),t.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(t){return t.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(t){return!!this._check(t)&&(this._advance(),!0)}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(t,i){if(this._check(t))return this._advance();throw this._errExpectedButGot(i,this._peek())}_errExpectedButGot(t,i,e){const s=rt(0,"Expected: {0}\nReceived: '{1}'.",t,Lr.getLexeme(i)),n=i.offset,o=Lr.getLexeme(i);return this._parsingErrors.push({message:s,offset:n,lexeme:o,additionalInfo:e}),jr._parseError}_check(t){return this._peek().type===t}_peek(){return this._tokens[this._current]}_isAtEnd(){return 20===this._peek().type}}jr._parseError=new Error;class zr{static false(){return Vr.INSTANCE}static true(){return Ur.INSTANCE}static has(t){return qr.create(t)}static equals(t,i){return Kr.create(t,i)}static notEquals(t,i){return Qr.create(t,i)}static regex(t,i){return sh.create(t,i)}static in(t,i){return Gr.create(t,i)}static notIn(t,i){return Zr.create(t,i)}static not(t){return Jr.create(t)}static and(...t){return rh.create(t,null,!0)}static or(...t){return hh.create(t,null,!0)}static deserialize(t){if(null!=t)return this._parser.parse(t)}}function Hr(t,i){return t.cmp(i)}zr._parser=new jr({regexParsingWithErrorRecovery:!1});class Vr{constructor(){this.type=0}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!1}serialize(){return"false"}keys(){return[]}negate(){return Ur.INSTANCE}}Vr.INSTANCE=new Vr;class Ur{constructor(){this.type=1}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!0}serialize(){return"true"}keys(){return[]}negate(){return Vr.INSTANCE}}Ur.INSTANCE=new Ur;class qr{static create(t,i=null){const e=Fr.get(t);return"boolean"==typeof e?e?Ur.INSTANCE:Vr.INSTANCE:new qr(t,i)}constructor(t,i){this.key=t,this.negated=i,this.type=2}cmp(t){return t.type!==this.type?this.type-t.type:lh(this.key,t.key)}equals(t){return t.type===this.type&&this.key===t.key}substituteConstants(){const t=Fr.get(this.key);return"boolean"==typeof t?t?Ur.INSTANCE:Vr.INSTANCE:this}evaluate(t){return!!t.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=Jr.create(this.key,this)),this.negated}}class Kr{static create(t,i,e=null){if("boolean"==typeof i)return i?qr.create(t,e):Jr.create(t,e);const s=Fr.get(t);return"boolean"==typeof s?i===(s?"true":"false")?Ur.INSTANCE:Vr.INSTANCE:new Kr(t,i,e)}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=4}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){const t=Fr.get(this.key);return"boolean"==typeof t?this.value===(t?"true":"false")?Ur.INSTANCE:Vr.INSTANCE:this}evaluate(t){return t.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Qr.create(this.key,this.value,this)),this.negated}}class Gr{static create(t,i){return new Gr(t,i)}constructor(t,i){this.key=t,this.valueKey=i,this.type=10,this.negated=null}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.valueKey,t.key,t.valueKey)}equals(t){return t.type===this.type&&this.key===t.key&&this.valueKey===t.valueKey}substituteConstants(){return this}evaluate(t){const i=t.getValue(this.valueKey),e=t.getValue(this.key);return Array.isArray(i)?i.includes(e):"string"==typeof e&&"object"==typeof i&&null!==i&&Tr.call(i,e)}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=Zr.create(this.key,this.valueKey)),this.negated}}class Zr{static create(t,i){return new Zr(t,i)}constructor(t,i){this.key=t,this.valueKey=i,this.type=11,this._negated=Gr.create(t,i)}cmp(t){return t.type!==this.type?this.type-t.type:this._negated.cmp(t._negated)}equals(t){return t.type===this.type&&this._negated.equals(t._negated)}substituteConstants(){return this}evaluate(t){return!this._negated.evaluate(t)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}}class Qr{static create(t,i,e=null){if("boolean"==typeof i)return i?Jr.create(t,e):qr.create(t,e);const s=Fr.get(t);return"boolean"==typeof s?i===(s?"true":"false")?Vr.INSTANCE:Ur.INSTANCE:new Qr(t,i,e)}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=5}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){const t=Fr.get(this.key);return"boolean"==typeof t?this.value===(t?"true":"false")?Vr.INSTANCE:Ur.INSTANCE:this}evaluate(t){return t.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Kr.create(this.key,this.value,this)),this.negated}}class Jr{static create(t,i=null){const e=Fr.get(t);return"boolean"==typeof e?e?Vr.INSTANCE:Ur.INSTANCE:new Jr(t,i)}constructor(t,i){this.key=t,this.negated=i,this.type=3}cmp(t){return t.type!==this.type?this.type-t.type:lh(this.key,t.key)}equals(t){return t.type===this.type&&this.key===t.key}substituteConstants(){const t=Fr.get(this.key);return"boolean"==typeof t?t?Vr.INSTANCE:Ur.INSTANCE:this}evaluate(t){return!t.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=qr.create(this.key,this)),this.negated}}function Yr(t,i){if("string"==typeof t){const i=parseFloat(t);isNaN(i)||(t=i)}return"string"==typeof t||"number"==typeof t?i(t):Vr.INSTANCE}class Xr{static create(t,i,e=null){return Yr(i,(i=>new Xr(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=12}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=eh.create(this.key,this.value,this)),this.negated}}class th{static create(t,i,e=null){return Yr(i,(i=>new th(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=13}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=ih.create(this.key,this.value,this)),this.negated}}class ih{static create(t,i,e=null){return Yr(i,(i=>new ih(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=14}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))new eh(t,i,e)))}constructor(t,i,e){this.key=t,this.value=i,this.negated=e,this.type=15}cmp(t){return t.type!==this.type?this.type-t.type:uh(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type&&this.key===t.key&&this.value===t.value}substituteConstants(){return this}evaluate(t){return"string"!=typeof this.value&&parseFloat(t.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=Xr.create(this.key,this.value,this)),this.negated}}class sh{static create(t,i){return new sh(t,i)}constructor(t,i){this.key=t,this.regexp=i,this.type=7,this.negated=null}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.keyt.key)return 1;const i=this.regexp?this.regexp.source:"",e=t.regexp?t.regexp.source:"";return ie?1:0}equals(t){return t.type===this.type&&(this.key===t.key&&(this.regexp?this.regexp.source:"")===(t.regexp?t.regexp.source:""))}substituteConstants(){return this}evaluate(t){const i=t.getValue(this.key);return!!this.regexp&&this.regexp.test(i)}serialize(){return`${this.key} =~ ${this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/"}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=nh.create(this)),this.negated}}class nh{static create(t){return new nh(t)}constructor(t){this._actual=t,this.type=8}cmp(t){return t.type!==this.type?this.type-t.type:this._actual.cmp(t._actual)}equals(t){return t.type===this.type&&this._actual.equals(t._actual)}substituteConstants(){return this}evaluate(t){return!this._actual.evaluate(t)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}}function oh(t){let i=null;for(let e=0,s=t.length;et.expr.length)return 1;for(let i=0,e=this.expr.length;i1;){const t=s[s.length-1];if(9!==t.type)break;s.pop();const i=s.pop(),n=0===s.length,o=hh.create(t.expr.map((t=>rh.create([t,i],null,e))),null,n);o&&(s.push(o),s.sort(Hr))}if(1===s.length)return s[0];if(e){for(let t=0;tt.serialize())).join(" && ")}keys(){const t=[];for(const i of this.expr)t.push(...i.keys());return t}negate(){if(!this.negated){const t=[];for(const i of this.expr)t.push(i.negate());this.negated=hh.create(t,this,!0)}return this.negated}}class hh{static create(t,i,e){return hh._normalizeArr(t,i,e)}constructor(t,i){this.expr=t,this.negated=i,this.type=9}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.expr.lengtht.expr.length)return 1;for(let i=0,e=this.expr.length;it.serialize())).join(" || ")}keys(){const t=[];for(const i of this.expr)t.push(...i.keys());return t}negate(){if(!this.negated){const t=[];for(const i of this.expr)t.push(i.negate());for(;t.length>1;){const i=t.shift(),e=t.shift(),s=[];for(const t of ph(i))for(const i of ph(e))s.push(rh.create([t,i],null,!1));t.unshift(hh.create(s,null,!1))}this.negated=hh.create(t,this,!0)}return this.negated}}class ch extends qr{static all(){return ch._info.values()}constructor(t,i,e){super(t,null),this._defaultValue=i,"object"==typeof e?ch._info.push({...e,key:t}):!0!==e&&ch._info.push({key:t,description:e,type:null!=i?typeof i:void 0})}bindTo(t){return t.createKey(this.key,this._defaultValue)}getValue(t){return t.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(t){return Kr.create(this.key,t)}}ch._info=[];const ah=dr("contextKeyService");function lh(t,i){return ti?1:0}function uh(t,i,e,s){return te?1:is?1:0}function dh(t,i){if(0===t.type||1===i.type)return!0;if(9===t.type)return 9===i.type&&fh(t.expr,i.expr);if(9===i.type){for(const e of i.expr)if(dh(t,e))return!0;return!1}if(6===t.type){if(6===i.type)return fh(i.expr,t.expr);for(const e of t.expr)if(dh(e,i))return!0;return!1}return t.equals(i)}function fh(t,i){let e=0,s=0;for(;e>>0,s=(4294901760&t)>>>16;return new vh(0!==s?[mh(e,i),mh(s,i)]:[mh(e,i)])}{const e=[];for(let s=0;s{r(),this._cachedMergedKeybindings=null}))}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(Mh)),this._cachedMergedKeybindings.slice(0)}}const Ah=new Eh;function Mh(t,i){if(t.weight1!==i.weight1)return t.weight1-i.weight1;if(t.command&&i.command){if(t.commandi.command)return 1}return t.weight2-i.weight2}Dh.add("platform.keybindingsRegistry",Ah);var Lh,Fh=function(t,i){return function(e,s){i(e,s,t)}};function Th(t){return void 0!==t.command}class Rh{constructor(t){if(Rh._instances.has(t))throw new TypeError(`MenuId with identifier '${t}' already exists. Use MenuId.for(ident) or a unique identifier`);Rh._instances.set(t,this),this.id=t}}Rh._instances=new Map,Rh.CommandPalette=new Rh("CommandPalette"),Rh.DebugBreakpointsContext=new Rh("DebugBreakpointsContext"),Rh.DebugCallStackContext=new Rh("DebugCallStackContext"),Rh.DebugConsoleContext=new Rh("DebugConsoleContext"),Rh.DebugVariablesContext=new Rh("DebugVariablesContext"),Rh.DebugWatchContext=new Rh("DebugWatchContext"),Rh.DebugToolBar=new Rh("DebugToolBar"),Rh.DebugToolBarStop=new Rh("DebugToolBarStop"),Rh.EditorContext=new Rh("EditorContext"),Rh.SimpleEditorContext=new Rh("SimpleEditorContext"),Rh.EditorContent=new Rh("EditorContent"),Rh.EditorLineNumberContext=new Rh("EditorLineNumberContext"),Rh.EditorContextCopy=new Rh("EditorContextCopy"),Rh.EditorContextPeek=new Rh("EditorContextPeek"),Rh.EditorContextShare=new Rh("EditorContextShare"),Rh.EditorTitle=new Rh("EditorTitle"),Rh.EditorTitleRun=new Rh("EditorTitleRun"),Rh.EditorTitleContext=new Rh("EditorTitleContext"),Rh.EditorTitleContextShare=new Rh("EditorTitleContextShare"),Rh.EmptyEditorGroup=new Rh("EmptyEditorGroup"),Rh.EmptyEditorGroupContext=new Rh("EmptyEditorGroupContext"),Rh.EditorTabsBarContext=new Rh("EditorTabsBarContext"),Rh.EditorTabsBarShowTabsSubmenu=new Rh("EditorTabsBarShowTabsSubmenu"),Rh.EditorActionsPositionSubmenu=new Rh("EditorActionsPositionSubmenu"),Rh.ExplorerContext=new Rh("ExplorerContext"),Rh.ExplorerContextShare=new Rh("ExplorerContextShare"),Rh.ExtensionContext=new Rh("ExtensionContext"),Rh.GlobalActivity=new Rh("GlobalActivity"),Rh.CommandCenter=new Rh("CommandCenter"),Rh.CommandCenterCenter=new Rh("CommandCenterCenter"),Rh.LayoutControlMenuSubmenu=new Rh("LayoutControlMenuSubmenu"),Rh.LayoutControlMenu=new Rh("LayoutControlMenu"),Rh.MenubarMainMenu=new Rh("MenubarMainMenu"),Rh.MenubarAppearanceMenu=new Rh("MenubarAppearanceMenu"),Rh.MenubarDebugMenu=new Rh("MenubarDebugMenu"),Rh.MenubarEditMenu=new Rh("MenubarEditMenu"),Rh.MenubarCopy=new Rh("MenubarCopy"),Rh.MenubarFileMenu=new Rh("MenubarFileMenu"),Rh.MenubarGoMenu=new Rh("MenubarGoMenu"),Rh.MenubarHelpMenu=new Rh("MenubarHelpMenu"),Rh.MenubarLayoutMenu=new Rh("MenubarLayoutMenu"),Rh.MenubarNewBreakpointMenu=new Rh("MenubarNewBreakpointMenu"),Rh.PanelAlignmentMenu=new Rh("PanelAlignmentMenu"),Rh.PanelPositionMenu=new Rh("PanelPositionMenu"),Rh.ActivityBarPositionMenu=new Rh("ActivityBarPositionMenu"),Rh.MenubarPreferencesMenu=new Rh("MenubarPreferencesMenu"),Rh.MenubarRecentMenu=new Rh("MenubarRecentMenu"),Rh.MenubarSelectionMenu=new Rh("MenubarSelectionMenu"),Rh.MenubarShare=new Rh("MenubarShare"),Rh.MenubarSwitchEditorMenu=new Rh("MenubarSwitchEditorMenu"),Rh.MenubarSwitchGroupMenu=new Rh("MenubarSwitchGroupMenu"),Rh.MenubarTerminalMenu=new Rh("MenubarTerminalMenu"),Rh.MenubarViewMenu=new Rh("MenubarViewMenu"),Rh.MenubarHomeMenu=new Rh("MenubarHomeMenu"),Rh.OpenEditorsContext=new Rh("OpenEditorsContext"),Rh.OpenEditorsContextShare=new Rh("OpenEditorsContextShare"),Rh.ProblemsPanelContext=new Rh("ProblemsPanelContext"),Rh.SCMInputBox=new Rh("SCMInputBox"),Rh.SCMHistoryItem=new Rh("SCMHistoryItem"),Rh.SCMChangeContext=new Rh("SCMChangeContext"),Rh.SCMResourceContext=new Rh("SCMResourceContext"),Rh.SCMResourceContextShare=new Rh("SCMResourceContextShare"),Rh.SCMResourceFolderContext=new Rh("SCMResourceFolderContext"),Rh.SCMResourceGroupContext=new Rh("SCMResourceGroupContext"),Rh.SCMSourceControl=new Rh("SCMSourceControl"),Rh.SCMTitle=new Rh("SCMTitle"),Rh.SearchContext=new Rh("SearchContext"),Rh.SearchActionMenu=new Rh("SearchActionContext"),Rh.StatusBarWindowIndicatorMenu=new Rh("StatusBarWindowIndicatorMenu"),Rh.StatusBarRemoteIndicatorMenu=new Rh("StatusBarRemoteIndicatorMenu"),Rh.StickyScrollContext=new Rh("StickyScrollContext"),Rh.TestItem=new Rh("TestItem"),Rh.TestItemGutter=new Rh("TestItemGutter"),Rh.TestMessageContext=new Rh("TestMessageContext"),Rh.TestMessageContent=new Rh("TestMessageContent"),Rh.TestPeekElement=new Rh("TestPeekElement"),Rh.TestPeekTitle=new Rh("TestPeekTitle"),Rh.TouchBarContext=new Rh("TouchBarContext"),Rh.TitleBarContext=new Rh("TitleBarContext"),Rh.TitleBarTitleContext=new Rh("TitleBarTitleContext"),Rh.TunnelContext=new Rh("TunnelContext"),Rh.TunnelPrivacy=new Rh("TunnelPrivacy"),Rh.TunnelProtocol=new Rh("TunnelProtocol"),Rh.TunnelPortInline=new Rh("TunnelInline"),Rh.TunnelTitle=new Rh("TunnelTitle"),Rh.TunnelLocalAddressInline=new Rh("TunnelLocalAddressInline"),Rh.TunnelOriginInline=new Rh("TunnelOriginInline"),Rh.ViewItemContext=new Rh("ViewItemContext"),Rh.ViewContainerTitle=new Rh("ViewContainerTitle"),Rh.ViewContainerTitleContext=new Rh("ViewContainerTitleContext"),Rh.ViewTitle=new Rh("ViewTitle"),Rh.ViewTitleContext=new Rh("ViewTitleContext"),Rh.CommentEditorActions=new Rh("CommentEditorActions"),Rh.CommentThreadTitle=new Rh("CommentThreadTitle"),Rh.CommentThreadActions=new Rh("CommentThreadActions"),Rh.CommentThreadAdditionalActions=new Rh("CommentThreadAdditionalActions"),Rh.CommentThreadTitleContext=new Rh("CommentThreadTitleContext"),Rh.CommentThreadCommentContext=new Rh("CommentThreadCommentContext"),Rh.CommentTitle=new Rh("CommentTitle"),Rh.CommentActions=new Rh("CommentActions"),Rh.InteractiveToolbar=new Rh("InteractiveToolbar"),Rh.InteractiveCellTitle=new Rh("InteractiveCellTitle"),Rh.InteractiveCellDelete=new Rh("InteractiveCellDelete"),Rh.InteractiveCellExecute=new Rh("InteractiveCellExecute"),Rh.InteractiveInputExecute=new Rh("InteractiveInputExecute"),Rh.NotebookToolbar=new Rh("NotebookToolbar"),Rh.NotebookStickyScrollContext=new Rh("NotebookStickyScrollContext"),Rh.NotebookCellTitle=new Rh("NotebookCellTitle"),Rh.NotebookCellDelete=new Rh("NotebookCellDelete"),Rh.NotebookCellInsert=new Rh("NotebookCellInsert"),Rh.NotebookCellBetween=new Rh("NotebookCellBetween"),Rh.NotebookCellListTop=new Rh("NotebookCellTop"),Rh.NotebookCellExecute=new Rh("NotebookCellExecute"),Rh.NotebookCellExecutePrimary=new Rh("NotebookCellExecutePrimary"),Rh.NotebookDiffCellInputTitle=new Rh("NotebookDiffCellInputTitle"),Rh.NotebookDiffCellMetadataTitle=new Rh("NotebookDiffCellMetadataTitle"),Rh.NotebookDiffCellOutputsTitle=new Rh("NotebookDiffCellOutputsTitle"),Rh.NotebookOutputToolbar=new Rh("NotebookOutputToolbar"),Rh.NotebookEditorLayoutConfigure=new Rh("NotebookEditorLayoutConfigure"),Rh.NotebookKernelSource=new Rh("NotebookKernelSource"),Rh.BulkEditTitle=new Rh("BulkEditTitle"),Rh.BulkEditContext=new Rh("BulkEditContext"),Rh.TimelineItemContext=new Rh("TimelineItemContext"),Rh.TimelineTitle=new Rh("TimelineTitle"),Rh.TimelineTitleContext=new Rh("TimelineTitleContext"),Rh.TimelineFilterSubMenu=new Rh("TimelineFilterSubMenu"),Rh.AccountsContext=new Rh("AccountsContext"),Rh.SidebarTitle=new Rh("SidebarTitle"),Rh.PanelTitle=new Rh("PanelTitle"),Rh.AuxiliaryBarTitle=new Rh("AuxiliaryBarTitle"),Rh.TerminalInstanceContext=new Rh("TerminalInstanceContext"),Rh.TerminalEditorInstanceContext=new Rh("TerminalEditorInstanceContext"),Rh.TerminalNewDropdownContext=new Rh("TerminalNewDropdownContext"),Rh.TerminalTabContext=new Rh("TerminalTabContext"),Rh.TerminalTabEmptyAreaContext=new Rh("TerminalTabEmptyAreaContext"),Rh.TerminalStickyScrollContext=new Rh("TerminalStickyScrollContext"),Rh.WebviewContext=new Rh("WebviewContext"),Rh.InlineCompletionsActions=new Rh("InlineCompletionsActions"),Rh.NewFile=new Rh("NewFile"),Rh.MergeInput1Toolbar=new Rh("MergeToolbar1Toolbar"),Rh.MergeInput2Toolbar=new Rh("MergeToolbar2Toolbar"),Rh.MergeBaseToolbar=new Rh("MergeBaseToolbar"),Rh.MergeInputResultToolbar=new Rh("MergeToolbarResultToolbar"),Rh.InlineSuggestionToolbar=new Rh("InlineSuggestionToolbar"),Rh.ChatContext=new Rh("ChatContext"),Rh.ChatCodeBlock=new Rh("ChatCodeblock"),Rh.ChatMessageTitle=new Rh("ChatMessageTitle"),Rh.ChatExecute=new Rh("ChatExecute"),Rh.ChatInputSide=new Rh("ChatInputSide"),Rh.AccessibleView=new Rh("AccessibleView"),Rh.MultiDiffEditorFileToolbar=new Rh("MultiDiffEditorFileToolbar");const Oh=dr("menuService");class Ih{static for(t){let i=this._all.get(t);return i||(i=new Ih(t),this._all.set(t,i)),i}static merge(t){const i=new Set;for(const e of t)e instanceof Ih&&i.add(e.id);return i}constructor(t){this.id=t,this.has=i=>i===t}}Ih._all=new Map;const _h=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new we({merge:Ih.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(t){return this._commands.set(t.id,t),this._onDidChangeMenu.fire(Ih.for(Rh.CommandPalette)),Xi((()=>{this._commands.delete(t.id)&&this._onDidChangeMenu.fire(Ih.for(Rh.CommandPalette))}))}getCommand(t){return this._commands.get(t)}getCommands(){const t=new Map;return this._commands.forEach(((i,e)=>t.set(e,i))),t}appendMenuItem(t,i){let e=this._menuItems.get(t);e||(e=new qt,this._menuItems.set(t,e));const s=e.push(i);return this._onDidChangeMenu.fire(Ih.for(t)),Xi((()=>{s(),this._onDidChangeMenu.fire(Ih.for(t))}))}appendMenuItems(t){const i=new te;for(const{id:e,item:s}of t)i.add(this.appendMenuItem(e,s));return i}getMenuItems(t){let i;return i=this._menuItems.has(t)?[...this._menuItems.get(t)]:[],t===Rh.CommandPalette&&this._appendImplicitItems(i),i}_appendImplicitItems(t){const i=new Set;for(const e of t)Th(e)&&(i.add(e.command.id),e.alt&&i.add(e.alt.id));this._commands.forEach(((e,s)=>{i.has(s)||t.push({command:e})}))}};class Nh extends br{constructor(t,i,e){super(`submenuitem.${t.submenu.id}`,"string"==typeof t.title?t.title:t.title.value,e,"submenu"),this.item=t,this.hideActions=i}}let Bh=Lh=class{static label(t,i){return(null==i?void 0:i.renderShortTitle)&&t.shortTitle?"string"==typeof t.shortTitle?t.shortTitle:t.shortTitle.value:"string"==typeof t.title?t.title:t.title.value}constructor(t,i,e,s,n,o){var r,h;let c;if(this.hideActions=s,this._commandService=o,this.id=t.id,this.label=Lh.label(t,e),this.tooltip=null!==(h="string"==typeof t.tooltip?t.tooltip:null===(r=t.tooltip)||void 0===r?void 0:r.value)&&void 0!==h?h:"",this.enabled=!t.precondition||n.contextMatchesRules(t.precondition),this.checked=void 0,t.toggled){const i=t.toggled.condition?t.toggled:{condition:t.toggled};this.checked=n.contextMatchesRules(i.condition),this.checked&&i.tooltip&&(this.tooltip="string"==typeof i.tooltip?i.tooltip:i.tooltip.value),this.checked&&Cr.isThemeIcon(i.icon)&&(c=i.icon),this.checked&&i.title&&(this.label="string"==typeof i.title?i.title:i.title.value)}c||(c=Cr.isThemeIcon(t.icon)?t.icon:void 0),this.item=t,this.alt=i?new Lh(i,void 0,e,s,n,o):void 0,this._options=e,this.class=c&&Cr.asClassName(c)}run(...t){var i,e;let s=[];return(null===(i=this._options)||void 0===i?void 0:i.arg)&&(s=[...s,this._options.arg]),(null===(e=this._options)||void 0===e?void 0:e.shouldForwardArgs)&&(s=[...s,...t]),this._commandService.executeCommand(this.id,...s)}};Bh=Lh=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Fh(4,ah),Fh(5,Sr)],Bh);class Ph{constructor(t){this.desc=t}}function $h(t){const i=new te,e=new t,{f1:s,menu:n,keybinding:o,...r}=e.desc;if(i.add(Dr.registerCommand({id:r.id,handler:(t,...i)=>e.run(t,...i),metadata:r.metadata})),Array.isArray(n))for(const t of n)i.add(_h.appendMenuItem(t.id,{command:{...r,precondition:null===t.precondition?void 0:r.precondition},...t}));else n&&i.add(_h.appendMenuItem(n.id,{command:{...r,precondition:null===n.precondition?void 0:r.precondition},...n}));if(s&&(i.add(_h.appendMenuItem(Rh.CommandPalette,{command:r,when:r.precondition})),i.add(_h.addCommand(r))),Array.isArray(o))for(const t of o)i.add(Ah.registerKeybindingRule({...t,id:r.id,when:r.precondition?zr.and(r.precondition,t.when):t.when}));else o&&i.add(Ah.registerKeybindingRule({...o,id:r.id,when:r.precondition?zr.and(r.precondition,o.when):o.when}));return i}const Wh=dr("telemetryService"),jh=dr("logService");var zh;!function(t){t[t.Off=0]="Off",t[t.Trace=1]="Trace",t[t.Debug=2]="Debug",t[t.Info=3]="Info",t[t.Warning=4]="Warning",t[t.Error=5]="Error"}(zh||(zh={}));const Hh=zh.Info;class Vh extends ie{constructor(){super(...arguments),this.level=Hh,this._onDidChangeLogLevel=this._register(new fe),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(t){this.level!==t&&(this.level=t,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(t){return this.level!==zh.Off&&this.level<=t}}class Uh extends Vh{constructor(t=Hh,i=!0){super(),this.useColors=i,this.setLevel(t)}trace(t,...i){this.checkLogLevel(zh.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",t,...i):console.log(t,...i))}debug(t,...i){this.checkLogLevel(zh.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",t,...i):console.log(t,...i))}info(t,...i){this.checkLogLevel(zh.Info)&&(this.useColors?console.log("%c INFO","color: #33f",t,...i):console.log(t,...i))}warn(t,...i){this.checkLogLevel(zh.Warning)&&(this.useColors?console.log("%c WARN","color: #993",t,...i):console.log(t,...i))}error(t,...i){this.checkLogLevel(zh.Error)&&(this.useColors?console.log("%c ERR","color: #f33",t,...i):console.error(t,...i))}dispose(){}}class qh extends Vh{constructor(t){super(),this.loggers=t,t.length&&this.setLevel(t[0].getLevel())}setLevel(t){for(const i of this.loggers)i.setLevel(t);super.setLevel(t)}trace(t,...i){for(const e of this.loggers)e.trace(t,...i)}debug(t,...i){for(const e of this.loggers)e.debug(t,...i)}info(t,...i){for(const e of this.loggers)e.info(t,...i)}warn(t,...i){for(const e of this.loggers)e.warn(t,...i)}error(t,...i){for(const e of this.loggers)e.error(t,...i)}dispose(){for(const t of this.loggers)t.dispose()}}new ch("logLevel",function(){switch(zh.Info){case zh.Trace:return"trace";case zh.Debug:return"debug";case zh.Info:return"info";case zh.Warning:return"warn";case zh.Error:return"error";case zh.Off:return"off"}}()),Et||document.queryCommandSupported&&document.queryCommandSupported("copy")||navigator&&navigator.clipboard&&navigator,Et||navigator&&navigator.clipboard&&navigator,Et||Jo||navigator,"ontouchstart"in $n||navigator;const Kh=$n.PointerEvent&&("ontouchstart"in $n||navigator.maxTouchPoints>0||navigator.maxTouchPoints>0),Gh=St?256:2048,Zh=St?2048:256;class Qh{constructor(t){this._standardKeyboardEventBrand=!0;const i=t;this.browserEvent=i,this.target=i.target,this.ctrlKey=i.ctrlKey,this.shiftKey=i.shiftKey,this.altKey=i.altKey,this.metaKey=i.metaKey,this.altGraphKey=i.getModifierState("AltGraph"),this.keyCode=function(t){if(t.charCode){const i=String.fromCharCode(t.charCode).toUpperCase();return _e.fromString(i)}const i=t.keyCode;if(3===i)return 7;if(Uo)switch(i){case 59:return 85;case 60:if(Dt)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(St)return 57}else if(qo){if(St&&93===i)return 57;if(!St&&92===i)return 57}return Le[i]||0}(i),this.code=i.code,this.ctrlKey=this.ctrlKey||5===this.keyCode,this.altKey=this.altKey||6===this.keyCode,this.shiftKey=this.shiftKey||4===this.keyCode,this.metaKey=this.metaKey||57===this.keyCode,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(t){return this._asKeybinding===t}_computeKeybinding(){let t=0;5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(t=this.keyCode);let i=0;return this.ctrlKey&&(i|=Gh),this.altKey&&(i|=512),this.shiftKey&&(i|=1024),this.metaKey&&(i|=Zh),i|=t,i}_computeKeyCodeChord(){let t=0;return 5!==this.keyCode&&4!==this.keyCode&&6!==this.keyCode&&57!==this.keyCode&&(t=this.keyCode),new wh(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,t)}}const Jh=new WeakMap;function Yh(t){if(!t.parent||t.parent===t)return null;try{const i=t.location,e=t.parent.location;if("null"!==i.origin&&"null"!==e.origin&&i.origin!==e.origin)return null}catch(t){return null}return t.parent}class Xh{static getSameOriginWindowChain(t){let i=Jh.get(t);if(!i){i=[],Jh.set(t,i);let e,s=t;do{e=Yh(s),i.push(e?{window:new WeakRef(s),iframeElement:s.frameElement||null}:{window:new WeakRef(s),iframeElement:null}),s=e}while(s)}return i.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(t,i){var e,s;if(!i||t===i)return{top:0,left:0};let n=0,o=0;const r=this.getSameOriginWindowChain(t);for(const t of r){const r=t.window.deref();if(n+=null!==(e=null==r?void 0:r.scrollY)&&void 0!==e?e:0,o+=null!==(s=null==r?void 0:r.scrollX)&&void 0!==s?s:0,r===i)break;if(!t.iframeElement)break;const h=t.iframeElement.getBoundingClientRect();n+=h.top,o+=h.left}return{top:n,left:o}}}class tc{constructor(t,i){this.timestamp=Date.now(),this.browserEvent=i,this.leftButton=0===i.button,this.middleButton=1===i.button,this.rightButton=2===i.button,this.buttons=i.buttons,this.target=i.target,this.detail=i.detail||1,"dblclick"===i.type&&(this.detail=2),this.ctrlKey=i.ctrlKey,this.shiftKey=i.shiftKey,this.altKey=i.altKey,this.metaKey=i.metaKey,"number"==typeof i.pageX?(this.posx=i.pageX,this.posy=i.pageY):(this.posx=i.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=i.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);const e=Xh.getPositionOfChildWindowRelativeToAncestorWindow(t,i.view);this.posx-=e.left,this.posy-=e.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}}class ic{constructor(t,i=0,e=0){if(this.browserEvent=t||null,this.target=t?t.target||t.targetNode||t.srcElement:null,this.deltaY=e,this.deltaX=i,t){const i=t,e=t;void 0!==i.wheelDeltaY?this.deltaY=i.wheelDeltaY/120:void 0!==e.VERTICAL_AXIS&&e.axis===e.VERTICAL_AXIS?this.deltaY=-e.detail/3:"wheel"===t.type&&(this.deltaY=t.deltaMode===t.DOM_DELTA_LINE?Uo&&!St?-t.deltaY/3:-t.deltaY:-t.deltaY/40),void 0!==i.wheelDeltaX?this.deltaX=Go&&Ct?-i.wheelDeltaX/120:i.wheelDeltaX/120:void 0!==e.HORIZONTAL_AXIS&&e.axis===e.HORIZONTAL_AXIS?this.deltaX=-t.detail/3:"wheel"===t.type&&(this.deltaX=t.deltaMode===t.DOM_DELTA_LINE?Uo&&!St?-t.deltaX/3:-t.deltaX:-t.deltaX/40),0===this.deltaY&&0===this.deltaX&&t.wheelDelta&&(this.deltaY=t.wheelDelta/120)}}preventDefault(){var t;null===(t=this.browserEvent)||void 0===t||t.preventDefault()}stopPropagation(){var t;null===(t=this.browserEvent)||void 0===t||t.stopPropagation()}}const ec=Symbol("MicrotaskDelay");function sc(t){return!!t&&"function"==typeof t.then}function nc(t){const i=new Se,e=t(i.token),s=new Promise(((t,s)=>{const n=i.token.onCancellationRequested((()=>{n.dispose(),i.dispose(),s(new Hi)}));Promise.resolve(e).then((e=>{n.dispose(),i.dispose(),t(e)}),(t=>{n.dispose(),i.dispose(),s(t)}))}));return new class{cancel(){i.cancel()}then(t,i){return s.then(t,i)}catch(t){return this.then(void 0,t)}finally(t){return s.finally(t)}}}function oc(t,i,e){return new Promise(((s,n)=>{const o=i.onCancellationRequested((()=>{o.dispose(),s(e)}));t.then(s,n).finally((()=>o.dispose()))}))}class rc{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(t){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=t,!this.queuedPromise){const t=()=>{if(this.queuedPromise=null,this.isDisposed)return;const t=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,t};this.queuedPromise=new Promise((i=>{this.activePromise.then(t,t).then(i)}))}return new Promise(((t,i)=>{this.queuedPromise.then(t,i)}))}return this.activePromise=t(),new Promise(((t,i)=>{this.activePromise.then((i=>{this.activePromise=null,t(i)}),(t=>{this.activePromise=null,i(t)}))}))}dispose(){this.isDisposed=!0}}class hc{constructor(t){this.defaultDelay=t,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(t,i=this.defaultDelay){this.task=t,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise(((t,i)=>{this.doResolve=t,this.doReject=i})).then((()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const t=this.task;return this.task=null,t()}})));const e=()=>{var t;this.deferred=null,null===(t=this.doResolve)||void 0===t||t.call(this,null)};return this.deferred=i===ec?(t=>{let i=!0;return queueMicrotask((()=>{i&&(i=!1,t())})),{isTriggered:()=>i,dispose:()=>{i=!1}}})(e):((t,i)=>{let e=!0;const s=setTimeout((()=>{e=!1,i()}),t);return{isTriggered:()=>e,dispose:()=>{clearTimeout(s),e=!1}}})(i,e),this.completionPromise}isTriggered(){var t;return!!(null===(t=this.deferred)||void 0===t?void 0:t.isTriggered())}cancel(){var t;this.cancelTimeout(),this.completionPromise&&(null===(t=this.doReject)||void 0===t||t.call(this,new Hi),this.completionPromise=null)}cancelTimeout(){var t;null===(t=this.deferred)||void 0===t||t.dispose(),this.deferred=null}dispose(){this.cancel()}}class cc{constructor(t){this.delayer=new hc(t),this.throttler=new rc}trigger(t,i){return this.delayer.trigger((()=>this.throttler.queue(t)),i)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function ac(t,i){return i?new Promise(((e,s)=>{const n=setTimeout((()=>{o.dispose(),e()}),t),o=i.onCancellationRequested((()=>{clearTimeout(n),o.dispose(),s(new Hi)}))})):nc((i=>ac(t,i)))}function lc(t,i=0,e){const s=setTimeout((()=>{t(),e&&n.dispose()}),i),n=Xi((()=>{clearTimeout(s),null==e||e.deleteAndLeak(n)}));return null==e||e.add(n),n}function uc(t,i=(t=>!!t),e=null){let s=0;const n=t.length,o=()=>{if(s>=n)return Promise.resolve(e);const r=t[s++];return Promise.resolve(r()).then((t=>i(t)?Promise.resolve(t):o()))};return o()}class dc{constructor(t,i){this._token=-1,"function"==typeof t&&"number"==typeof i&&this.setIfNotSet(t,i)}dispose(){this.cancel()}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,i){this.cancel(),this._token=setTimeout((()=>{this._token=-1,t()}),i)}setIfNotSet(t,i){-1===this._token&&(this._token=setTimeout((()=>{this._token=-1,t()}),i))}}class fc{constructor(){this.disposable=void 0}cancel(){var t;null===(t=this.disposable)||void 0===t||t.dispose(),this.disposable=void 0}cancelAndSet(t,i,e=globalThis){this.cancel();const s=e.setInterval((()=>{t()}),i);this.disposable=Xi((()=>{e.clearInterval(s),this.disposable=void 0}))}dispose(){this.cancel()}}class pc{constructor(t,i){this.timeoutToken=-1,this.runner=t,this.timeout=i,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(t=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,t)}get delay(){return this.timeout}set delay(t){this.timeout=t}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var t;null===(t=this.runner)||void 0===t||t.call(this)}}let gc,mc;mc="function"!=typeof globalThis.requestIdleCallback||"function"!=typeof globalThis.cancelIdleCallback?(t,i)=>{It((()=>{if(e)return;const t=Date.now()+15;i(Object.freeze({didTimeout:!0,timeRemaining:()=>Math.max(0,t-Date.now())}))}));let e=!1;return{dispose(){e||(e=!0)}}}:(t,i,e)=>{const s=t.requestIdleCallback(i,"number"==typeof e?{timeout:e}:void 0);let n=!1;return{dispose(){n||(n=!0,t.cancelIdleCallback(s))}}},gc=t=>mc(globalThis,t);class wc{constructor(t,i){this._didRun=!1,this._executor=()=>{try{this._value=i()}catch(t){this._error=t}finally{this._didRun=!0}},this._handle=mc(t,(()=>this._executor()))}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class vc extends wc{constructor(t){super(globalThis,t)}}class bc{get isRejected(){var t;return 1===(null===(t=this.outcome)||void 0===t?void 0:t.outcome)}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise(((t,i)=>{this.completeCallback=t,this.errorCallback=i}))}complete(t){return new Promise((i=>{this.completeCallback(t),this.outcome={outcome:0,value:t},i()}))}error(t){return new Promise((i=>{this.errorCallback(t),this.outcome={outcome:1,value:t},i()}))}cancel(){return this.error(new Hi)}}var yc;!function(t){t.settled=async function(t){let i;const e=await Promise.all(t.map((t=>t.then((t=>t),(t=>{i||(i=t)})))));if(void 0!==i)throw i;return e},t.withAsyncBody=function(t){return new Promise((async(i,e)=>{try{await t(i,e)}catch(t){e(t)}}))}}(yc||(yc={}));class kc{static fromArray(t){return new kc((i=>{i.emitMany(t)}))}static fromPromise(t){return new kc((async i=>{i.emitMany(await t)}))}static fromPromises(t){return new kc((async i=>{await Promise.all(t.map((async t=>i.emitOne(await t))))}))}static merge(t){return new kc((async i=>{await Promise.all(t.map((async t=>{for await(const e of t)i.emitOne(e)})))}))}constructor(t){this._state=0,this._results=[],this._error=null,this._onStateChanged=new fe,queueMicrotask((async()=>{const i={emitOne:t=>this.emitOne(t),emitMany:t=>this.emitMany(t),reject:t=>this.reject(t)};try{await Promise.resolve(t(i)),this.resolve()}catch(t){this.reject(t)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}}))}[Symbol.asyncIterator](){let t=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(t{for await(const s of t)e.emitOne(i(s))}))}map(t){return kc.map(this,t)}static filter(t,i){return new kc((async e=>{for await(const s of t)i(s)&&e.emitOne(s)}))}filter(t){return kc.filter(this,t)}static coalesce(t){return kc.filter(t,(t=>!!t))}coalesce(){return kc.coalesce(this)}static async toPromise(t){const i=[];for await(const e of t)i.push(e);return i}toPromise(){return kc.toPromise(this)}emitOne(t){0===this._state&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){0===this._state&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(t){0===this._state&&(this._state=2,this._error=t,this._onStateChanged.fire())}}kc.EMPTY=kc.fromArray([]);class xc extends kc{constructor(t,i){super(i),this._source=t}cancel(){this._source.cancel()}} /*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */ const{entries:Cc,setPrototypeOf:Sc,isFrozen:Dc,getPrototypeOf:Ec,getOwnPropertyDescriptor:Ac}=Object;let{freeze:Mc,seal:Lc,create:Fc}=Object,{apply:Tc,construct:Rc}="undefined"!=typeof Reflect&&Reflect;Tc||(Tc=function(t,i,e){return t.apply(i,e)}),Mc||(Mc=function(t){return t}),Lc||(Lc=function(t){return t}),Rc||(Rc=function(t,i){return new t(...i)});const Oc=Uc(Array.prototype.forEach),Ic=Uc(Array.prototype.pop),_c=Uc(Array.prototype.push),Nc=Uc(String.prototype.toLowerCase),Bc=Uc(String.prototype.toString),Pc=Uc(String.prototype.match),$c=Uc(String.prototype.replace),Wc=Uc(String.prototype.indexOf),jc=Uc(String.prototype.trim),zc=Uc(RegExp.prototype.test),Hc=(Vc=TypeError,function(){for(var t=arguments.length,i=new Array(t),e=0;e1?e-1:0),n=1;n/gm),ca=Lc(/\${[\w\W]*}/gm),aa=Lc(/^data-[\-\w.\u00B7-\uFFFF]/),la=Lc(/^aria-[\-\w]+$/),ua=Lc(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),da=Lc(/^(?:\w+script|data):/i),fa=Lc(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),pa=Lc(/^html$/i);var ga=Object.freeze({__proto__:null,MUSTACHE_EXPR:ra,ERB_EXPR:ha,TMPLIT_EXPR:ca,DATA_ATTR:aa,ARIA_ATTR:la,IS_ALLOWED_URI:ua,IS_SCRIPT_OR_DATA:da,ATTR_WHITESPACE:fa,DOCTYPE_NAME:pa});const ma=()=>"undefined"==typeof window?null:window;var wa=function t(){let i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ma();const e=i=>t(i);if(e.version="3.0.5",e.removed=[],!i||!i.document||9!==i.document.nodeType)return e.isSupported=!1,e;const s=i.document,n=s.currentScript;let{document:o}=i;const{DocumentFragment:r,HTMLTemplateElement:h,Node:c,Element:a,NodeFilter:l,NamedNodeMap:u=i.NamedNodeMap||i.MozNamedAttrMap,HTMLFormElement:d,DOMParser:f,trustedTypes:p}=i,g=a.prototype,m=Gc(g,"cloneNode"),w=Gc(g,"nextSibling"),v=Gc(g,"childNodes"),b=Gc(g,"parentNode");if("function"==typeof h){const t=o.createElement("template");t.content&&t.content.ownerDocument&&(o=t.content.ownerDocument)}let y,k="";const{implementation:x,createNodeIterator:C,createDocumentFragment:S,getElementsByTagName:D}=o,{importNode:E}=s;let A={};e.isSupported="function"==typeof Cc&&"function"==typeof b&&x&&void 0!==x.createHTMLDocument;const{MUSTACHE_EXPR:M,ERB_EXPR:L,TMPLIT_EXPR:F,DATA_ATTR:T,ARIA_ATTR:R,IS_SCRIPT_OR_DATA:O,ATTR_WHITESPACE:I}=ga;let{IS_ALLOWED_URI:_}=ga,N=null;const B=qc({},[...Zc,...Qc,...Jc,...Xc,...ia]);let P=null;const $=qc({},[...ea,...sa,...na,...oa]);let W=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),j=null,z=null,H=!0,V=!0,U=!1,q=!0,K=!1,G=!1,Z=!1,Q=!1,J=!1,Y=!1,X=!1,tt=!0,it=!1,et=!0,st=!1,nt={},ot=null;const rt=qc({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let ht=null;const ct=qc({},["audio","video","img","source","image","track"]);let at=null;const lt=qc({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ut="http://www.w3.org/1998/Math/MathML",dt="http://www.w3.org/2000/svg",ft="http://www.w3.org/1999/xhtml";let pt=ft,gt=!1,mt=null;const wt=qc({},[ut,dt,ft],Bc);let vt;const bt=["application/xhtml+xml","text/html"];let yt,kt=null;const xt=o.createElement("form"),Ct=function(t){return t instanceof RegExp||t instanceof Function},St=function(t){if(!kt||kt!==t){if(t&&"object"==typeof t||(t={}),t=Kc(t),vt=vt=-1===bt.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE,yt="application/xhtml+xml"===vt?Bc:Nc,N="ALLOWED_TAGS"in t?qc({},t.ALLOWED_TAGS,yt):B,P="ALLOWED_ATTR"in t?qc({},t.ALLOWED_ATTR,yt):$,mt="ALLOWED_NAMESPACES"in t?qc({},t.ALLOWED_NAMESPACES,Bc):wt,at="ADD_URI_SAFE_ATTR"in t?qc(Kc(lt),t.ADD_URI_SAFE_ATTR,yt):lt,ht="ADD_DATA_URI_TAGS"in t?qc(Kc(ct),t.ADD_DATA_URI_TAGS,yt):ct,ot="FORBID_CONTENTS"in t?qc({},t.FORBID_CONTENTS,yt):rt,j="FORBID_TAGS"in t?qc({},t.FORBID_TAGS,yt):{},z="FORBID_ATTR"in t?qc({},t.FORBID_ATTR,yt):{},nt="USE_PROFILES"in t&&t.USE_PROFILES,H=!1!==t.ALLOW_ARIA_ATTR,V=!1!==t.ALLOW_DATA_ATTR,U=t.ALLOW_UNKNOWN_PROTOCOLS||!1,q=!1!==t.ALLOW_SELF_CLOSE_IN_ATTR,K=t.SAFE_FOR_TEMPLATES||!1,G=t.WHOLE_DOCUMENT||!1,J=t.RETURN_DOM||!1,Y=t.RETURN_DOM_FRAGMENT||!1,X=t.RETURN_TRUSTED_TYPE||!1,Q=t.FORCE_BODY||!1,tt=!1!==t.SANITIZE_DOM,it=t.SANITIZE_NAMED_PROPS||!1,et=!1!==t.KEEP_CONTENT,st=t.IN_PLACE||!1,_=t.ALLOWED_URI_REGEXP||ua,pt=t.NAMESPACE||ft,W=t.CUSTOM_ELEMENT_HANDLING||{},t.CUSTOM_ELEMENT_HANDLING&&Ct(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(W.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&Ct(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(W.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(W.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),K&&(V=!1),Y&&(J=!0),nt&&(N=qc({},[...ia]),P=[],!0===nt.html&&(qc(N,Zc),qc(P,ea)),!0===nt.svg&&(qc(N,Qc),qc(P,sa),qc(P,oa)),!0===nt.svgFilters&&(qc(N,Jc),qc(P,sa),qc(P,oa)),!0===nt.mathMl&&(qc(N,Xc),qc(P,na),qc(P,oa))),t.ADD_TAGS&&(N===B&&(N=Kc(N)),qc(N,t.ADD_TAGS,yt)),t.ADD_ATTR&&(P===$&&(P=Kc(P)),qc(P,t.ADD_ATTR,yt)),t.ADD_URI_SAFE_ATTR&&qc(at,t.ADD_URI_SAFE_ATTR,yt),t.FORBID_CONTENTS&&(ot===rt&&(ot=Kc(ot)),qc(ot,t.FORBID_CONTENTS,yt)),et&&(N["#text"]=!0),G&&qc(N,["html","head","body"]),N.table&&(qc(N,["tbody"]),delete j.tbody),t.TRUSTED_TYPES_POLICY){if("function"!=typeof t.TRUSTED_TYPES_POLICY.createHTML)throw Hc('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof t.TRUSTED_TYPES_POLICY.createScriptURL)throw Hc('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');y=t.TRUSTED_TYPES_POLICY,k=y.createHTML("")}else void 0===y&&(y=function(t,i){if("object"!=typeof t||"function"!=typeof t.createPolicy)return null;let e=null;const s="data-tt-policy-suffix";i&&i.hasAttribute(s)&&(e=i.getAttribute(s));const n="dompurify"+(e?"#"+e:"");try{return t.createPolicy(n,{createHTML:t=>t,createScriptURL:t=>t})}catch(t){return console.warn("TrustedTypes policy "+n+" could not be created."),null}}(p,n)),null!==y&&"string"==typeof k&&(k=y.createHTML(""));Mc&&Mc(t),kt=t}},Dt=qc({},["mi","mo","mn","ms","mtext"]),Et=qc({},["foreignobject","desc","title","annotation-xml"]),At=qc({},["title","style","font","a","script"]),Mt=qc({},Qc);qc(Mt,Jc),qc(Mt,Yc);const Lt=qc({},Xc);qc(Lt,ta);const Ft=function(t){_c(e.removed,{element:t});try{t.parentNode.removeChild(t)}catch(i){t.remove()}},Tt=function(t,i){try{_c(e.removed,{attribute:i.getAttributeNode(t),from:i})}catch(t){_c(e.removed,{attribute:null,from:i})}if(i.removeAttribute(t),"is"===t&&!P[t])if(J||Y)try{Ft(i)}catch(t){}else try{i.setAttribute(t,"")}catch(t){}},Rt=function(t){let i,e;if(Q)t=""+t;else{const i=Pc(t,/^[\r\n\t ]+/);e=i&&i[0]}"application/xhtml+xml"===vt&&pt===ft&&(t=''+t+"");const s=y?y.createHTML(t):t;if(pt===ft)try{i=(new f).parseFromString(s,vt)}catch(t){}if(!i||!i.documentElement){i=x.createDocument(pt,"template",null);try{i.documentElement.innerHTML=gt?k:s}catch(t){}}const n=i.body||i.documentElement;return t&&e&&n.insertBefore(o.createTextNode(e),n.childNodes[0]||null),pt===ft?D.call(i,G?"html":"body")[0]:G?i.documentElement:n},Ot=function(t){return C.call(t.ownerDocument||t,t,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT,null,!1)},It=function(t){return"object"==typeof c?t instanceof c:t&&"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName},_t=function(t,i,s){A[t]&&Oc(A[t],(t=>{t.call(e,i,s,kt)}))},Nt=function(t){let i;if(_t("beforeSanitizeElements",t,null),(s=t)instanceof d&&("string"!=typeof s.nodeName||"string"!=typeof s.textContent||"function"!=typeof s.removeChild||!(s.attributes instanceof u)||"function"!=typeof s.removeAttribute||"function"!=typeof s.setAttribute||"string"!=typeof s.namespaceURI||"function"!=typeof s.insertBefore||"function"!=typeof s.hasChildNodes))return Ft(t),!0;var s;const n=yt(t.nodeName);if(_t("uponSanitizeElement",t,{tagName:n,allowedTags:N}),t.hasChildNodes()&&!It(t.firstElementChild)&&(!It(t.content)||!It(t.content.firstElementChild))&&zc(/<[/\w]/g,t.innerHTML)&&zc(/<[/\w]/g,t.textContent))return Ft(t),!0;if(!N[n]||j[n]){if(!j[n]&&Pt(n)){if(W.tagNameCheck instanceof RegExp&&zc(W.tagNameCheck,n))return!1;if(W.tagNameCheck instanceof Function&&W.tagNameCheck(n))return!1}if(et&&!ot[n]){const i=b(t)||t.parentNode,e=v(t)||t.childNodes;if(e&&i)for(let s=e.length-1;s>=0;--s)i.insertBefore(m(e[s],!0),w(t))}return Ft(t),!0}return t instanceof a&&!function(t){let i=b(t);i&&i.tagName||(i={namespaceURI:pt,tagName:"template"});const e=Nc(t.tagName),s=Nc(i.tagName);return!!mt[t.namespaceURI]&&(t.namespaceURI===dt?i.namespaceURI===ft?"svg"===e:i.namespaceURI===ut?"svg"===e&&("annotation-xml"===s||Dt[s]):Boolean(Mt[e]):t.namespaceURI===ut?i.namespaceURI===ft?"math"===e:i.namespaceURI===dt?"math"===e&&Et[s]:Boolean(Lt[e]):t.namespaceURI===ft?!(i.namespaceURI===dt&&!Et[s])&&!(i.namespaceURI===ut&&!Dt[s])&&!Lt[e]&&(At[e]||!Mt[e]):!("application/xhtml+xml"!==vt||!mt[t.namespaceURI]))}(t)?(Ft(t),!0):"noscript"!==n&&"noembed"!==n&&"noframes"!==n||!zc(/<\/no(script|embed|frames)/i,t.innerHTML)?(K&&3===t.nodeType&&(i=t.textContent,i=$c(i,M," "),i=$c(i,L," "),i=$c(i,F," "),t.textContent!==i&&(_c(e.removed,{element:t.cloneNode()}),t.textContent=i)),_t("afterSanitizeElements",t,null),!1):(Ft(t),!0)},Bt=function(t,i,e){if(tt&&("id"===i||"name"===i)&&(e in o||e in xt))return!1;if(V&&!z[i]&&zc(T,i));else if(H&&zc(R,i));else if(!P[i]||z[i]){if(!(Pt(t)&&(W.tagNameCheck instanceof RegExp&&zc(W.tagNameCheck,t)||W.tagNameCheck instanceof Function&&W.tagNameCheck(t))&&(W.attributeNameCheck instanceof RegExp&&zc(W.attributeNameCheck,i)||W.attributeNameCheck instanceof Function&&W.attributeNameCheck(i))||"is"===i&&W.allowCustomizedBuiltInElements&&(W.tagNameCheck instanceof RegExp&&zc(W.tagNameCheck,e)||W.tagNameCheck instanceof Function&&W.tagNameCheck(e))))return!1}else if(at[i]);else if(zc(_,$c(e,I,"")));else if("src"!==i&&"xlink:href"!==i&&"href"!==i||"script"===t||0!==Wc(e,"data:")||!ht[t])if(U&&!zc(O,$c(e,I,"")));else if(e)return!1;return!0},Pt=function(t){return t.indexOf("-")>0},$t=function(t){let i,s,n,o;_t("beforeSanitizeAttributes",t,null);const{attributes:r}=t;if(!r)return;const h={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:P};for(o=r.length;o--;){i=r[o];const{name:c,namespaceURI:a}=i;if(s="value"===c?i.value:jc(i.value),n=yt(c),h.attrName=n,h.attrValue=s,h.keepAttr=!0,h.forceKeepAttr=void 0,_t("uponSanitizeAttribute",t,h),s=h.attrValue,h.forceKeepAttr)continue;if(Tt(c,t),!h.keepAttr)continue;if(!q&&zc(/\/>/i,s)){Tt(c,t);continue}K&&(s=$c(s,M," "),s=$c(s,L," "),s=$c(s,F," "));const l=yt(t.nodeName);if(Bt(l,n,s)){if(!it||"id"!==n&&"name"!==n||(Tt(c,t),s="user-content-"+s),y&&"object"==typeof p&&"function"==typeof p.getAttributeType)if(a);else switch(p.getAttributeType(l,n)){case"TrustedHTML":s=y.createHTML(s);break;case"TrustedScriptURL":s=y.createScriptURL(s)}try{a?t.setAttributeNS(a,c,s):t.setAttribute(c,s),Ic(e.removed)}catch(t){}}}_t("afterSanitizeAttributes",t,null)},Wt=function t(i){let e;const s=Ot(i);for(_t("beforeSanitizeShadowDOM",i,null);e=s.nextNode();)_t("uponSanitizeShadowNode",e,null),Nt(e)||(e.content instanceof r&&t(e.content),$t(e));_t("afterSanitizeShadowDOM",i,null)};return e.sanitize=function(t){let i,n,o,h,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(gt=!t,gt&&(t="\x3c!--\x3e"),"string"!=typeof t&&!It(t)){if("function"!=typeof t.toString)throw Hc("toString is not a function");if("string"!=typeof(t=t.toString()))throw Hc("dirty is not a string, aborting")}if(!e.isSupported)return t;if(Z||St(a),e.removed=[],"string"==typeof t&&(st=!1),st){if(t.nodeName){const i=yt(t.nodeName);if(!N[i]||j[i])throw Hc("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof c)i=Rt("\x3c!----\x3e"),n=i.ownerDocument.importNode(t,!0),1===n.nodeType&&"BODY"===n.nodeName||"HTML"===n.nodeName?i=n:i.appendChild(n);else{if(!J&&!K&&!G&&-1===t.indexOf("<"))return y&&X?y.createHTML(t):t;if(i=Rt(t),!i)return J?null:X?k:""}i&&Q&&Ft(i.firstChild);const l=Ot(st?t:i);for(;o=l.nextNode();)Nt(o)||(o.content instanceof r&&Wt(o.content),$t(o));if(st)return t;if(J){if(Y)for(h=S.call(i.ownerDocument);i.firstChild;)h.appendChild(i.firstChild);else h=i;return(P.shadowroot||P.shadowrootmode)&&(h=E.call(s,h,!0)),h}let u=G?i.outerHTML:i.innerHTML;return G&&N["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&zc(pa,i.ownerDocument.doctype.name)&&(u="\n"+u),K&&(u=$c(u,M," "),u=$c(u,L," "),u=$c(u,F," ")),y&&X?y.createHTML(u):u},e.setConfig=function(t){St(t),Z=!0},e.clearConfig=function(){kt=null,Z=!1},e.isValidAttribute=function(t,i,e){kt||St({});const s=yt(t),n=yt(i);return Bt(s,n,e)},e.addHook=function(t,i){"function"==typeof i&&(A[t]=A[t]||[],_c(A[t],i))},e.removeHook=function(t){if(A[t])return Ic(A[t])},e.removeHooks=function(t){A[t]&&(A[t]=[])},e.removeAllHooks=function(){A={}},e}();const va=wa.sanitize,ba=wa.addHook,ya=wa.removeHook;var ka;function xa(t,i){return ms.isUri(t)?lo(t.scheme,i):uo(t,i+":")}function Ca(t,...i){return i.some((i=>xa(t,i)))}!function(t){t.inMemory="inmemory",t.vscode="vscode",t.internal="private",t.walkThrough="walkThrough",t.walkThroughSnippet="walkThroughSnippet",t.http="http",t.https="https",t.file="file",t.mailto="mailto",t.untitled="untitled",t.data="data",t.command="command",t.vscodeRemote="vscode-remote",t.vscodeRemoteResource="vscode-remote-resource",t.vscodeManagedRemoteResource="vscode-managed-remote-resource",t.vscodeUserData="vscode-userdata",t.vscodeCustomEditor="vscode-custom-editor",t.vscodeNotebookCell="vscode-notebook-cell",t.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",t.vscodeNotebookCellOutput="vscode-notebook-cell-output",t.vscodeInteractiveInput="vscode-interactive-input",t.vscodeSettings="vscode-settings",t.vscodeWorkspaceTrust="vscode-workspace-trust",t.vscodeTerminal="vscode-terminal",t.vscodeChatSesssion="vscode-chat-editor",t.webviewPanel="webview-panel",t.vscodeWebview="vscode-webview",t.extension="extension",t.vscodeFileResource="vscode-file",t.tmp="tmp",t.vsls="vsls",t.vscodeSourceControl="vscode-scm"}(ka||(ka={}));const Sa=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._remoteResourcesPath=`/${ka.vscodeRemoteResource}`}setPreferredWebSchema(t){this._preferredWebSchema=t}rewrite(t){if(this._delegate)try{return this._delegate(t)}catch(i){return Pi(i),t}const i=t.authority;let e=this._hosts[i];e&&-1!==e.indexOf(":")&&-1===e.indexOf("[")&&(e=`[${e}]`);const s=this._ports[i],n=this._connectionTokens[i];let o=`path=${encodeURIComponent(t.path)}`;return"string"==typeof n&&(o+=`&tkn=${encodeURIComponent(n)}`),ms.from({scheme:At?this._preferredWebSchema:ka.vscodeRemoteResource,authority:`${e}:${s}`,path:this._remoteResourcesPath,query:o})}};class Da{uriToBrowserUri(t){return t.scheme===ka.vscodeRemote?Sa.rewrite(t):t.scheme!==ka.file||!Et&&Mt!==`${ka.vscodeFileResource}://${Da.FALLBACK_AUTHORITY}`?t:t.with({scheme:ka.vscodeFileResource,authority:t.authority||Da.FALLBACK_AUTHORITY,query:null,fragment:null})}}Da.FALLBACK_AUTHORITY="vscode-app";const Ea=new Da;var Aa;function Ma(t){return La(t,0)}function La(t,i){switch(typeof t){case"object":return null===t?Fa(349,i):Array.isArray(t)?(e=t,s=Fa(104579,s=i),e.reduce(((t,i)=>La(i,t)),s)):function(t,i){return i=Fa(181387,i),Object.keys(t).sort().reduce(((i,e)=>(i=Ta(e,i),La(t[e],i))),i)}(t,i);case"string":return Ta(t,i);case"boolean":return function(t,i){return Fa(t?433:863,i)}(t,i);case"number":return Fa(t,i);case"undefined":return Fa(937,i);default:return Fa(617,i)}var e,s}function Fa(t,i){return(i<<5)-i+t|0}function Ta(t,i){i=Fa(149417,i);for(let e=0,s=t.length;e>>s)>>>0}function Oa(t,i=0,e=t.byteLength,s=0){for(let n=0;nt.toString(16).padStart(2,"0"))).join(""):function(t,i,e="0"){for(;t.length>>0).toString(16),i/4)}!function(t){const i=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"}]]);t.CoopAndCoep=Object.freeze(i.get("3"));const e="vscode-coi";t.getHeadersFromQuery=function(t){let s;"string"==typeof t?s=new URL(t).searchParams:t instanceof URL?s=t.searchParams:ms.isUri(t)&&(s=new URL(t.toString(!0)).searchParams);const n=null==s?void 0:s.get(e);if(n)return i.get(n)},t.addSearchParam=function(t,i,s){if(!globalThis.crossOriginIsolated)return;const n=i&&s?"3":s?"2":"1";t instanceof URLSearchParams?t.set(e,n):t[e]=n}}(Aa||(Aa={}));class _a{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(t){const i=t.length;if(0===i)return;const e=this._buff;let s,n,o=this._buffLen,r=this._leftoverHighSurrogate;for(0!==r?(s=r,n=-1,r=0):(s=t.charCodeAt(0),n=0);;){let h=s;if(go(s)){if(!(n+1>>6,t[i++]=128|(63&e)>>>0):e<65536?(t[i++]=224|(61440&e)>>>12,t[i++]=128|(4032&e)>>>6,t[i++]=128|(63&e)>>>0):(t[i++]=240|(1835008&e)>>>18,t[i++]=128|(258048&e)>>>12,t[i++]=128|(4032&e)>>>6,t[i++]=128|(63&e)>>>0),i>=64&&(this._step(),i-=64,this._totalLen+=64,t[0]=t[64],t[1]=t[65],t[2]=t[66]),i}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()),Ia(this._h0)+Ia(this._h1)+Ia(this._h2)+Ia(this._h3)+Ia(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,Oa(this._buff,this._buffLen),this._buffLen>56&&(this._step(),Oa(this._buff));const t=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(t/4294967296),!1),this._buffDV.setUint32(60,t%4294967296,!1),this._step()}_step(){const t=_a._bigBlock32,i=this._buffDV;for(let e=0;e<64;e+=4)t.setUint32(e,i.getUint32(e,!1),!1);for(let i=64;i<320;i+=4)t.setUint32(i,Ra(t.getUint32(i-12,!1)^t.getUint32(i-32,!1)^t.getUint32(i-56,!1)^t.getUint32(i-64,!1),1),!1);let e,s,n,o=this._h0,r=this._h1,h=this._h2,c=this._h3,a=this._h4;for(let i=0;i<80;i++)i<20?(e=r&h|~r&c,s=1518500249):i<40?(e=r^h^c,s=1859775393):i<60?(e=r&h|r&c|h&c,s=2400959708):(e=r^h^c,s=3395469782),n=Ra(o,5)+e+a+s+t.getUint32(4*i,!1)&4294967295,a=c,c=h,h=Ra(r,30),r=o,o=n;this._h0=this._h0+o&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+h&4294967295,this._h3=this._h3+c&4294967295,this._h4=this._h4+a&4294967295}}_a._bigBlock32=new DataView(new ArrayBuffer(320));const{getWindow:Na,getWindows:Ba,getWindowsCount:Pa,getWindowId:$a,onDidRegisterWindow:Wa,onWillUnregisterWindow:ja}=function(){const t=new Map;var i;"number"!=typeof(i=$n).vscodeWindowId&&Object.defineProperty(i,"vscodeWindowId",{get:()=>1}),t.set($n.vscodeWindowId,{window:$n,disposables:new te});const e=new fe,s=new fe,n=new fe;return{onDidRegisterWindow:e.event,onWillUnregisterWindow:n.event,onDidUnregisterWindow:s.event,registerWindow(i){if(t.has(i.vscodeWindowId))return ie.None;const o=new te,r={window:i,disposables:o.add(new te)};return t.set(i.vscodeWindowId,r),o.add(Xi((()=>{t.delete(i.vscodeWindowId),s.fire(i)}))),o.add(Va(i,Ll.BEFORE_UNLOAD,(()=>{n.fire(i)}))),e.fire(r),o},getWindows:()=>t.values(),getWindowsCount:()=>t.size,getWindowId:t=>t.vscodeWindowId,hasWindow:i=>t.has(i),getWindowById:i=>t.get(i),getWindow(t){var i;return(null===(i=null==t?void 0:t.ownerDocument)||void 0===i?void 0:i.defaultView)?t.ownerDocument.defaultView.window:(null==t?void 0:t.view)?t.view.window:$n},getDocument:t=>Na(t).document}}();function za(t){for(;t.firstChild;)t.firstChild.remove()}class Ha{constructor(t,i,e,s){this._node=t,this._type=i,this._handler=e,this._options=s||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function Va(t,i,e,s){return new Ha(t,i,e,s)}function Ua(t,i){return function(e){return i(new tc(t,e))}}const qa=function(t,i,e,s){let n=e;return"click"===i||"mousedown"===i?n=Ua(Na(t),e):"keydown"!==i&&"keypress"!==i&&"keyup"!==i||(n=function(t){return function(i){return t(new Qh(i))}}(e)),Va(t,i,n,s)};function Ka(t,i,e){return mc(t,i,e)}class Ga extends wc{constructor(t,i){super(t,i)}}let Za,Qa;class Ja extends fc{cancelAndSet(t,i,e){return super.cancelAndSet(t,i,e)}}class Ya{constructor(t,i=0){this._runner=t,this.priority=i,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(t){Pi(t)}}static sort(t,i){return i.priority-t.priority}}function Xa(t){return Na(t).getComputedStyle(t,null)}function tl(t,i){const e=Na(t),s=e.document;if(t!==s.body)return new el(t.clientWidth,t.clientHeight);if(Lt&&(null==e?void 0:e.visualViewport))return new el(e.visualViewport.width,e.visualViewport.height);if((null==e?void 0:e.innerWidth)&&e.innerHeight)return new el(e.innerWidth,e.innerHeight);if(s.body&&s.body.clientWidth&&s.body.clientHeight)return new el(s.body.clientWidth,s.body.clientHeight);if(s.documentElement&&s.documentElement.clientWidth&&s.documentElement.clientHeight)return new el(s.documentElement.clientWidth,s.documentElement.clientHeight);if(i)return tl(i);throw new Error("Unable to figure out browser width and height")}!function(){const t=new Map,i=new Map,e=new Map,s=new Map;Qa=(n,o,r=0)=>{const h=$a(n),c=new Ya(o,r);let a=t.get(h);return a||(a=[],t.set(h,a)),a.push(c),e.get(h)||(e.set(h,!0),n.requestAnimationFrame((()=>(n=>{var o;e.set(n,!1);const r=null!==(o=t.get(n))&&void 0!==o?o:[];for(i.set(n,r),t.set(n,[]),s.set(n,!0);r.length>0;)r.sort(Ya.sort),r.shift().execute();s.set(n,!1)})(h)))),c},Za=(t,e,n)=>{const o=$a(t);if(s.get(o)){const t=new Ya(e,n);let s=i.get(o);return s||(s=[],i.set(o,s)),s.push(t),t}return Qa(t,e,n)}}();class il{static convertToPixels(t,i){return parseFloat(i)||0}static getDimension(t,i,e){const s=Xa(t),n=s?s.getPropertyValue(i):"0";return il.convertToPixels(t,n)}static getBorderLeftWidth(t){return il.getDimension(t,"border-left-width","borderLeftWidth")}static getBorderRightWidth(t){return il.getDimension(t,"border-right-width","borderRightWidth")}static getBorderTopWidth(t){return il.getDimension(t,"border-top-width","borderTopWidth")}static getBorderBottomWidth(t){return il.getDimension(t,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(t){return il.getDimension(t,"padding-left","paddingLeft")}static getPaddingRight(t){return il.getDimension(t,"padding-right","paddingRight")}static getPaddingTop(t){return il.getDimension(t,"padding-top","paddingTop")}static getPaddingBottom(t){return il.getDimension(t,"padding-bottom","paddingBottom")}static getMarginLeft(t){return il.getDimension(t,"margin-left","marginLeft")}static getMarginTop(t){return il.getDimension(t,"margin-top","marginTop")}static getMarginRight(t){return il.getDimension(t,"margin-right","marginRight")}static getMarginBottom(t){return il.getDimension(t,"margin-bottom","marginBottom")}}class el{constructor(t,i){this.width=t,this.height=i}with(t=this.width,i=this.height){return t!==this.width||i!==this.height?new el(t,i):this}static is(t){return"object"==typeof t&&"number"==typeof t.height&&"number"==typeof t.width}static lift(t){return t instanceof el?t:new el(t.width,t.height)}static equals(t,i){return t===i||!(!t||!i)&&t.width===i.width&&t.height===i.height}}function sl(t){let i=t.offsetParent,e=t.offsetTop,s=t.offsetLeft;for(;null!==(t=t.parentNode)&&t!==t.ownerDocument.body&&t!==t.ownerDocument.documentElement;){e-=t.scrollTop;const n=ul(t)?null:Xa(t);n&&(s-="rtl"!==n.direction?t.scrollLeft:-t.scrollLeft),t===i&&(s+=il.getBorderLeftWidth(t),e+=il.getBorderTopWidth(t),e+=t.offsetTop,s+=t.offsetLeft,i=t.offsetParent)}return{left:s,top:e}}function nl(t){const i=t.getBoundingClientRect(),e=Na(t);return{left:i.left+e.scrollX,top:i.top+e.scrollY,width:i.width,height:i.height}}function ol(t){const i=il.getMarginLeft(t)+il.getMarginRight(t);return t.offsetWidth+i}function rl(t){const i=il.getBorderLeftWidth(t)+il.getBorderRightWidth(t),e=il.getPaddingLeft(t)+il.getPaddingRight(t);return t.offsetWidth-i-e}function hl(t){const i=il.getBorderTopWidth(t)+il.getBorderBottomWidth(t),e=il.getPaddingTop(t)+il.getPaddingBottom(t);return t.offsetHeight-i-e}function cl(t){const i=il.getMarginTop(t)+il.getMarginBottom(t);return t.offsetHeight+i}function al(t,i){return Boolean(null==i?void 0:i.contains(t))}function ll(t,i,e){return!!function(t,i,e){for(;t&&t.nodeType===t.ELEMENT_NODE;){if(t.classList.contains(i))return t;if(e)if("string"==typeof e){if(t.classList.contains(e))return null}else if(t===e)return null;t=t.parentNode}return null}(t,i,e)}function ul(t){return t&&!!t.host&&!!t.mode}function dl(t){return!!fl(t)}function fl(t){for(var i;t.parentNode;){if(t===(null===(i=t.ownerDocument)||void 0===i?void 0:i.body))return null;t=t.parentNode}return ul(t)?t:null}function pl(){let t=ml().activeElement;for(;null==t?void 0:t.shadowRoot;)t=t.shadowRoot.activeElement;return t}function gl(t){return t.ownerDocument.activeElement===t}function ml(){var t;return Pa()<=1?document:null!==(t=Array.from(Ba()).map((({window:t})=>t.document)).find((t=>t.hasFocus())))&&void 0!==t?t:document}el.None=new el(0,0);const wl=new Map;function vl(t=$n.document.head,i,e){const s=document.createElement("style");if(s.type="text/css",s.media="screen",null==i||i(s),t.appendChild(s),e&&e.add(Xi((()=>t.removeChild(s)))),t===$n.document.head){const t=new Set;wl.set(s,t);for(const{window:i,disposables:n}of Ba()){if(i===$n)continue;const o=n.add(bl(s,t,i));null==e||e.add(o)}}return s}function bl(t,i,e){var s,n;const o=new te,r=t.cloneNode(!0);e.document.head.appendChild(r),o.add(Xi((()=>e.document.head.removeChild(r))));for(const i of Cl(t))null===(s=r.sheet)||void 0===s||s.insertRule(i.cssText,null===(n=r.sheet)||void 0===n?void 0:n.cssRules.length);return o.add(yl.observe(t,o,{childList:!0})((()=>{r.textContent=t.textContent}))),i.add(r),o.add(Xi((()=>i.delete(r)))),o}const yl=new class{constructor(){this.mutationObservers=new Map}observe(t,i,e){let s=this.mutationObservers.get(t);s||(s=new Map,this.mutationObservers.set(t,s));const n=Ma(e);let o=s.get(n);if(o)o.users+=1;else{const r=new fe,h=new MutationObserver((t=>r.fire(t)));h.observe(t,e);const c=o={users:1,observer:h,onDidMutate:r.event};i.add(Xi((()=>{c.users-=1,0===c.users&&(r.dispose(),h.disconnect(),null==s||s.delete(n),0===(null==s?void 0:s.size)&&this.mutationObservers.delete(t))}))),s.set(n,o)}return o.onDidMutate}};let kl=null;function xl(){return kl||(kl=vl()),kl}function Cl(t){var i,e;return(null===(i=null==t?void 0:t.sheet)||void 0===i?void 0:i.rules)?t.sheet.rules:(null===(e=null==t?void 0:t.sheet)||void 0===e?void 0:e.cssRules)?t.sheet.cssRules:[]}function Sl(t,i,e=xl()){var s,n;if(e&&i){null===(s=e.sheet)||void 0===s||s.insertRule(`${t} {${i}}`,0);for(const s of null!==(n=wl.get(e))&&void 0!==n?n:[])Sl(t,i,s)}}function Dl(t,i=xl()){var e,s;if(!i)return;const n=Cl(i),o=[];for(let i=0;i=0;t--)null===(e=i.sheet)||void 0===e||e.deleteRule(o[t]);for(const e of null!==(s=wl.get(i))&&void 0!==s?s:[])Dl(t,e)}function El(t){return"string"==typeof t.selectorText}function Al(t){return t instanceof MouseEvent||t instanceof Na(t).MouseEvent}function Ml(t){return t instanceof KeyboardEvent||t instanceof Na(t).KeyboardEvent}const Ll={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",WHEEL:"wheel",KEY_DOWN:"keydown",KEY_PRESS:"keypress",KEY_UP:"keyup",LOAD:"load",BEFORE_UNLOAD:"beforeunload",UNLOAD:"unload",PAGE_SHOW:"pageshow",PAGE_HIDE:"pagehide",PASTE:"paste",ABORT:"abort",ERROR:"error",RESIZE:"resize",SCROLL:"scroll",FULLSCREEN_CHANGE:"fullscreenchange",WK_FULLSCREEN_CHANGE:"webkitfullscreenchange",SELECT:"select",CHANGE:"change",SUBMIT:"submit",RESET:"reset",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",STORAGE:"storage",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend",ANIMATION_START:qo?"webkitAnimationStart":"animationstart",ANIMATION_END:qo?"webkitAnimationEnd":"animationend",ANIMATION_ITERATION:qo?"webkitAnimationIteration":"animationiteration"},Fl=(t,i)=>(t.preventDefault(),i&&t.stopPropagation(),t);class Tl extends ie{static hasFocusWithin(t){if(t instanceof HTMLElement){const i=fl(t);return al(i?i.activeElement:t.ownerDocument.activeElement,t)}return al(t.document.activeElement,t.document)}constructor(t){super(),this._onDidFocus=this._register(new fe),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new fe),this.onDidBlur=this._onDidBlur.event;let i=Tl.hasFocusWithin(t),e=!1;const s=()=>{e=!1,i||(i=!0,this._onDidFocus.fire())},n=()=>{i&&(e=!0,(t instanceof HTMLElement?Na(t):t).setTimeout((()=>{e&&(e=!1,i=!1,this._onDidBlur.fire())}),0))};this._refreshStateHandler=()=>{Tl.hasFocusWithin(t)!==i&&(i?n():s())},this._register(Va(t,Ll.FOCUS,s,!0)),this._register(Va(t,Ll.BLUR,n,!0)),t instanceof HTMLElement&&(this._register(Va(t,Ll.FOCUS_IN,(()=>this._refreshStateHandler()))),this._register(Va(t,Ll.FOCUS_OUT,(()=>this._refreshStateHandler()))))}}function Rl(t){return new Tl(t)}function Ol(t,...i){if(t.append(...i),1===i.length&&"string"!=typeof i[0])return i[0]}function Il(t,i){return t.insertBefore(i,t.firstChild),i}function _l(t,...i){t.innerText="",Ol(t,...i)}const Nl=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Bl;function Pl(t,i,e,...s){const n=Nl.exec(i);if(!n)throw new Error("Bad use of emmet");const o=n[1]||"div";let r;return r=t!==Bl.HTML?document.createElementNS(t,o):document.createElement(o),n[3]&&(r.id=n[3]),n[4]&&(r.className=n[4].replace(/\./g," ").trim()),e&&Object.entries(e).forEach((([t,i])=>{void 0!==i&&(/^on\w+$/.test(t)?r[t]=i:"selected"===t?i&&r.setAttribute(t,"true"):r.setAttribute(t,i))})),r.append(...s),r}function $l(t,i,...e){return Pl(Bl.HTML,t,i,...e)}function Wl(...t){for(const i of t)i.style.display="",i.removeAttribute("aria-hidden")}function jl(...t){for(const i of t)i.style.display="none",i.setAttribute("aria-hidden","true")}function zl(t,i){return Math.max(1,Math.floor(t.devicePixelRatio*i))/t.devicePixelRatio}function Hl(t){$n.open(t,"_blank","noopener")}function Vl(t){return t?`url('${Ea.uriToBrowserUri(t).toString(!0).replace(/'/g,"%27")}')`:"url('')"}function Ul(t){return`'${t.replace(/'/g,"%27")}'`}function ql(t,i){if(void 0!==t){const e=t.match(/^\s*var\((.+)\)$/);if(e){const t=e[1].split(",",2);return 2===t.length&&(i=ql(t[1].trim(),i)),`var(${t[0]}, ${i})`}return t}return i}!function(t){t.HTML="http://www.w3.org/1999/xhtml",t.SVG="http://www.w3.org/2000/svg"}(Bl||(Bl={})),$l.SVG=function(t,i,...e){return Pl(Bl.SVG,t,i,...e)},Sa.setPreferredWebSchema(/^https:/.test($n.location.href)?"https":"http");const Kl=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);Object.freeze({ALLOWED_TAGS:["a","button","blockquote","code","div","h1","h2","h3","h4","h5","h6","hr","input","label","li","p","pre","select","small","span","strong","textarea","ul","ol"],ALLOWED_ATTR:["href","data-href","data-command","target","title","name","src","alt","class","id","role","tabindex","style","data-code","width","height","align","x-dispatch","required","checked","placeholder","type","start"],RETURN_DOM:!1,RETURN_DOM_FRAGMENT:!1,RETURN_TRUSTED_TYPE:!0});class Gl extends fe{constructor(){super(),this._subscriptions=new te,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(ce.runAndSubscribe(Wa,(({window:t,disposables:i})=>this.registerListeners(t,i)),{window:$n,disposables:this._subscriptions}))}registerListeners(t,i){i.add(Va(t,"keydown",(t=>{if(t.defaultPrevented)return;const i=new Qh(t);if(6!==i.keyCode||!t.repeat){if(t.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(t.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(t.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(t.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else{if(6===i.keyCode)return;this._keyStatus.lastKeyPressed=void 0}this._keyStatus.altKey=t.altKey,this._keyStatus.ctrlKey=t.ctrlKey,this._keyStatus.metaKey=t.metaKey,this._keyStatus.shiftKey=t.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=t,this.fire(this._keyStatus))}}),!0)),i.add(Va(t,"keyup",(t=>{t.defaultPrevented||(this._keyStatus.lastKeyReleased=!t.altKey&&this._keyStatus.altKey?"alt":!t.ctrlKey&&this._keyStatus.ctrlKey?"ctrl":!t.metaKey&&this._keyStatus.metaKey?"meta":!t.shiftKey&&this._keyStatus.shiftKey?"shift":void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=t.altKey,this._keyStatus.ctrlKey=t.ctrlKey,this._keyStatus.metaKey=t.metaKey,this._keyStatus.shiftKey=t.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=t,this.fire(this._keyStatus)))}),!0)),i.add(Va(t.document.body,"mousedown",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),i.add(Va(t.document.body,"mouseup",(()=>{this._keyStatus.lastKeyPressed=void 0}),!0)),i.add(Va(t.document.body,"mousemove",(t=>{t.buttons&&(this._keyStatus.lastKeyPressed=void 0)}),!0)),i.add(Va(t,"blur",(()=>{this.resetKeyStatus()})))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return Gl.instance||(Gl.instance=new Gl),Gl.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class Zl extends ie{constructor(t,i){super(),this.element=t,this.callbacks=i,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(Va(this.element,Ll.DRAG_START,(t=>{var i,e;null===(e=(i=this.callbacks).onDragStart)||void 0===e||e.call(i,t)}))),this.callbacks.onDrag&&this._register(Va(this.element,Ll.DRAG,(t=>{var i,e;null===(e=(i=this.callbacks).onDrag)||void 0===e||e.call(i,t)}))),this._register(Va(this.element,Ll.DRAG_ENTER,(t=>{var i,e;this.counter++,this.dragStartTime=t.timeStamp,null===(e=(i=this.callbacks).onDragEnter)||void 0===e||e.call(i,t)}))),this._register(Va(this.element,Ll.DRAG_OVER,(t=>{var i,e;t.preventDefault(),null===(e=(i=this.callbacks).onDragOver)||void 0===e||e.call(i,t,t.timeStamp-this.dragStartTime)}))),this._register(Va(this.element,Ll.DRAG_LEAVE,(t=>{var i,e;this.counter--,0===this.counter&&(this.dragStartTime=0,null===(e=(i=this.callbacks).onDragLeave)||void 0===e||e.call(i,t))}))),this._register(Va(this.element,Ll.DRAG_END,(t=>{var i,e;this.counter=0,this.dragStartTime=0,null===(e=(i=this.callbacks).onDragEnd)||void 0===e||e.call(i,t)}))),this._register(Va(this.element,Ll.DROP,(t=>{var i,e;this.counter=0,this.dragStartTime=0,null===(e=(i=this.callbacks).onDrop)||void 0===e||e.call(i,t)})))}}const Ql=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function Jl(t,...i){let e,s;Array.isArray(i[0])?(e={},s=i[0]):(e=i[0]||{},s=i[1]);const n=Ql.exec(t);if(!n||!n.groups)throw new Error("Bad use of h");const o=document.createElement(n.groups.tag||"div");n.groups.id&&(o.id=n.groups.id);const r=[];if(n.groups.class)for(const t of n.groups.class.split("."))""!==t&&r.push(t);if(void 0!==e.className)for(const t of e.className.split("."))""!==t&&r.push(t);r.length>0&&(o.className=r.join(" "));const h={};if(n.groups.name&&(h[n.groups.name]=o),s)for(const t of s)t instanceof HTMLElement?o.appendChild(t):"string"==typeof t?o.append(t):"root"in t&&(Object.assign(h,t),o.appendChild(t.root));for(const[t,i]of Object.entries(e))if("className"!==t)if("style"===t)for(const[t,e]of Object.entries(i))o.style.setProperty(Yl(t),"number"==typeof e?e+"px":""+e);else"tabIndex"===t?o.tabIndex=i:o.setAttribute(Yl(t),i.toString());return h.root=o,h}function Yl(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class Xl{constructor(t){this.id=t.id,this.precondition=t.precondition,this._kbOpts=t.kbOpts,this._menuOpts=t.menuOpts,this.metadata=t.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const t=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const i of t){let t=i.kbExpr;this.precondition&&(t=t?zr.and(t,this.precondition):this.precondition),Ah.registerKeybindingRule({id:this.id,weight:i.weight,args:i.args,when:t,primary:i.primary,secondary:i.secondary,win:i.win,linux:i.linux,mac:i.mac})}}Dr.registerCommand({id:this.id,handler:(t,i)=>this.runCommand(t,i),metadata:this.metadata})}_registerMenuItem(t){_h.appendMenuItem(t.menuId,{group:t.group,command:{id:this.id,title:t.title,icon:t.icon,precondition:this.precondition},when:t.when,order:t.order})}}class tu extends Xl{constructor(){super(...arguments),this._implementations=[]}addImplementation(t,i,e,s){return this._implementations.push({priority:t,name:i,implementation:e,when:s}),this._implementations.sort(((t,i)=>i.priority-t.priority)),{dispose:()=>{for(let t=0;t{if(t.get(ah).contextMatchesRules(null!=e?e:void 0))return s(t,o,i)}))}runCommand(t,i){return eu.runEditorCommand(t,i,this.precondition,((t,i,e)=>this.runEditorCommand(t,i,e)))}}class su extends eu{static convertOptions(t){let i;function e(i){return i.menuId||(i.menuId=Rh.EditorContext),i.title||(i.title=t.label),i.when=zr.and(t.precondition,i.when),i}return i=Array.isArray(t.menuOpts)?t.menuOpts:t.menuOpts?[t.menuOpts]:[],Array.isArray(t.contextMenuOpts)?i.push(...t.contextMenuOpts.map(e)):t.contextMenuOpts&&i.push(e(t.contextMenuOpts)),t.menuOpts=i,t}constructor(t){super(su.convertOptions(t)),this.label=t.label,this.alias=t.alias}runEditorCommand(t,i,e){return this.reportTelemetry(t,i),this.run(t,i,e||{})}reportTelemetry(t,i){t.get(Wh).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class nu extends su{constructor(){super(...arguments),this._implementations=[]}addImplementation(t,i){return this._implementations.push([t,i]),this._implementations.sort(((t,i)=>i[0]-t[0])),{dispose:()=>{for(let t=0;t{var e,n;const o=t.get(ah),r=t.get(jh);if(o.contextMatchesRules(null!==(e=this.desc.precondition)&&void 0!==e?e:void 0))return this.runEditorCommand(t,s,...i);r.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,null===(n=this.desc.precondition)||void 0===n?void 0:n.serialize())}))}}function ru(t,i){Dr.registerCommand(t,(function(t,...e){const s=t.get(ur),[n,o]=e;K(ms.isUri(n)),K(As.isIPosition(o));const r=t.get(pr).getModel(n);if(r){const t=As.lift(o);return s.invokeFunction(i,r,t,...e.slice(2))}return t.get(gr).createModelReference(n).then((t=>new Promise(((n,r)=>{try{n(s.invokeFunction(i,t.object.textEditorModel,As.lift(o),e.slice(2)))}catch(t){r(t)}})).finally((()=>{t.dispose()}))))}))}function hu(t){return du.INSTANCE.registerEditorCommand(t),t}function cu(t){const i=new t;return du.INSTANCE.registerEditorAction(i),i}function au(t){return du.INSTANCE.registerEditorAction(t),t}function lu(t,i,e){du.INSTANCE.registerEditorContribution(t,i,e)}var uu;!function(t){t.getEditorCommand=function(t){return du.INSTANCE.getEditorCommand(t)},t.getEditorActions=function(){return du.INSTANCE.getEditorActions()},t.getEditorContributions=function(){return du.INSTANCE.getEditorContributions()},t.getSomeEditorContributions=function(t){return du.INSTANCE.getEditorContributions().filter((i=>t.indexOf(i.id)>=0))},t.getDiffEditorContributions=function(){return du.INSTANCE.getDiffEditorContributions()}}(uu||(uu={}));class du{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(t,i,e){this.editorContributions.push({id:t,ctor:i,instantiation:e})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(t){t.register(),this.editorActions.push(t)}getEditorActions(){return this.editorActions}registerEditorCommand(t){t.register(),this.editorCommands[t.id]=t}getEditorCommand(t){return this.editorCommands[t]||null}}function fu(t){return t.register(),t}du.INSTANCE=new du,Dh.add("editor.contributions",du.INSTANCE);const pu=fu(new tu({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:Rh.MenubarEditMenu,group:"1_do",title:rt(0,"&&Undo"),order:1},{menuId:Rh.CommandPalette,group:"",title:rt(0,"Undo"),order:1}]}));fu(new iu(pu,{id:"default:undo",precondition:void 0}));const gu=fu(new tu({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:Rh.MenubarEditMenu,group:"1_do",title:rt(0,"&&Redo"),order:2},{menuId:Rh.CommandPalette,group:"",title:rt(0,"Redo"),order:1}]}));fu(new iu(gu,{id:"default:redo",precondition:void 0}));const mu=fu(new tu({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:Rh.MenubarSelectionMenu,group:"1_basic",title:rt(0,"&&Select All"),order:1},{menuId:Rh.CommandPalette,group:"",title:rt(0,"Select All"),order:1}]}));let wu=!1;function vu(t){At&&(wu||(wu=!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(t.message))}class bu{constructor(t,i,e,s){this.vsWorker=t,this.req=i,this.method=e,this.args=s,this.type=0}}class yu{constructor(t,i,e,s){this.vsWorker=t,this.seq=i,this.res=e,this.err=s,this.type=1}}class ku{constructor(t,i,e,s){this.vsWorker=t,this.req=i,this.eventName=e,this.arg=s,this.type=2}}class xu{constructor(t,i,e){this.vsWorker=t,this.req=i,this.event=e,this.type=3}}class Cu{constructor(t,i){this.vsWorker=t,this.req=i,this.type=4}}class Su{constructor(t){this._workerId=-1,this._handler=t,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(t){this._workerId=t}sendMessage(t,i){const e=String(++this._lastSentReq);return new Promise(((s,n)=>{this._pendingReplies[e]={resolve:s,reject:n},this._send(new bu(this._workerId,e,t,i))}))}listen(t,i){let e=null;const s=new fe({onWillAddFirstListener:()=>{e=String(++this._lastSentReq),this._pendingEmitters.set(e,s),this._send(new ku(this._workerId,e,t,i))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(e),this._send(new Cu(this._workerId,e)),e=null}});return s.event}handleMessage(t){t&&t.vsWorker&&(-1!==this._workerId&&t.vsWorker!==this._workerId||this._handleMessage(t))}_handleMessage(t){switch(t.type){case 1:return this._handleReplyMessage(t);case 0:return this._handleRequestMessage(t);case 2:return this._handleSubscribeEventMessage(t);case 3:return this._handleEventMessage(t);case 4:return this._handleUnsubscribeEventMessage(t)}}_handleReplyMessage(t){if(!this._pendingReplies[t.seq])return void console.warn("Got reply to unknown seq");const i=this._pendingReplies[t.seq];if(delete this._pendingReplies[t.seq],t.err){let e=t.err;return t.err.$isError&&(e=new Error,e.name=t.err.name,e.message=t.err.message,e.stack=t.err.stack),void i.reject(e)}i.resolve(t.res)}_handleRequestMessage(t){const i=t.req;this._handler.handleMessage(t.method,t.args).then((t=>{this._send(new yu(this._workerId,i,t,void 0))}),(t=>{t.detail instanceof Error&&(t.detail=Wi(t.detail)),this._send(new yu(this._workerId,i,void 0,Wi(t)))}))}_handleSubscribeEventMessage(t){const i=t.req,e=this._handler.handleEvent(t.eventName,t.arg)((t=>{this._send(new xu(this._workerId,i,t))}));this._pendingEvents.set(i,e)}_handleEventMessage(t){this._pendingEmitters.has(t.req)?this._pendingEmitters.get(t.req).fire(t.event):console.warn("Got event for unknown req")}_handleUnsubscribeEventMessage(t){this._pendingEvents.has(t.req)?(this._pendingEvents.get(t.req).dispose(),this._pendingEvents.delete(t.req)):console.warn("Got unsubscribe for unknown req")}_send(t){const i=[];if(0===t.type)for(let e=0;e{this._protocol.handleMessage(t)}),(t=>{null==s||s(t)}))),this._protocol=new Su({sendMessage:(t,i)=>{this._worker.postMessage(t,i)},handleMessage:(t,i)=>{if("function"!=typeof e[t])return Promise.reject(new Error("Missing method "+t+" on main thread host."));try{return Promise.resolve(e[t].apply(e,i))}catch(t){return Promise.reject(t)}},handleEvent:(t,i)=>{if(Au(t)){const s=e[t].call(e,i);if("function"!=typeof s)throw new Error(`Missing dynamic event ${t} on main thread host.`);return s}if(Eu(t)){const i=e[t];if("function"!=typeof i)throw new Error(`Missing event ${t} on main thread host.`);return i}throw new Error(`Malformed event name ${t}`)}}),this._protocol.setWorkerId(this._worker.getId());let n=null;const o=globalThis.require;void 0!==o&&"function"==typeof o.getConfig?n=o.getConfig():void 0!==globalThis.requirejs&&(n=globalThis.requirejs.s.contexts._.config);const r=st(e);this._onModuleLoaded=this._protocol.sendMessage("$initialize",[this._worker.getId(),JSON.parse(JSON.stringify(n)),i,r]);const h=(t,i)=>this._request(t,i),c=(t,i)=>this._protocol.listen(t,i);this._lazyProxy=new Promise(((t,e)=>{s=e,this._onModuleLoaded.then((i=>{t(function(t,i,e){const s=t=>function(){const e=Array.prototype.slice.call(arguments,0);return i(t,e)},n=t=>function(i){return e(t,i)},o={};for(const i of t)o[i]=Au(i)?n(i):Eu(i)?e(i,void 0):s(i);return o}(i,h,c))}),(t=>{e(t),this._onError("Worker failed to load "+i,t)}))}))}getProxyObject(){return this._lazyProxy}_request(t,i){return new Promise(((e,s)=>{this._onModuleLoaded.then((()=>{this._protocol.sendMessage(t,i).then(e,s)}),s)}))}_onError(t,i){console.error(t),console.info(i)}}function Eu(t){return"o"===t[0]&&"n"===t[1]&&ao(t.charCodeAt(2))}function Au(t){return/^onDynamic/.test(t)&&ao(t.charCodeAt(9))}function Mu(t,i){var e;const s=globalThis.MonacoEnvironment;if(null==s?void 0:s.createTrustedTypesPolicy)try{return s.createTrustedTypesPolicy(t,i)}catch(t){return void Pi(t)}try{return null===(e=$n.trustedTypes)||void 0===e?void 0:e.createPolicy(t,i)}catch(t){return void Pi(t)}}const Lu=Mu("defaultWorkerFactory",{createScriptURL:t=>t});class Fu{constructor(t,i,e,s,n){this.id=i,this.label=e;const o=function(t){const i=globalThis.MonacoEnvironment;if(i){if("function"==typeof i.getWorker)return i.getWorker("workerMain.js",t);if("function"==typeof i.getWorkerUrl){const e=i.getWorkerUrl("workerMain.js",t);return new Worker(Lu?Lu.createScriptURL(e):e,{name:t})}}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}(e);this.worker="function"==typeof o.then?o:Promise.resolve(o),this.postMessage(t,[]),this.worker.then((t=>{t.onmessage=function(t){s(t.data)},t.onmessageerror=n,"function"==typeof t.addEventListener&&t.addEventListener("error",n)}))}getId(){return this.id}postMessage(t,i){var e;null===(e=this.worker)||void 0===e||e.then((e=>{try{e.postMessage(t,i)}catch(t){Pi(t),Pi(new Error(`FAILED to post message to '${this.label}'-worker`,{cause:t}))}}))}dispose(){var t;null===(t=this.worker)||void 0===t||t.then((t=>t.terminate())),this.worker=null}}class Tu{constructor(t){this._label=t,this._webWorkerFailedBeforeError=!1}create(t,i,e){const s=++Tu.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new Fu(t,s,this._label||"anonymous"+s,i,(t=>{vu(t),this._webWorkerFailedBeforeError=t,e(t)}))}}var Ru;Tu.LAST_WORKER_ID=0,function(t){t[t.None=0]="None",t[t.Indent=1]="Indent",t[t.IndentOutdent=2]="IndentOutdent",t[t.Outdent=3]="Outdent"}(Ru||(Ru={}));class Ou{constructor(t){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=t.open,this.close=t.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(t.notIn))for(let i=0,e=t.notIn.length;i0&&t.getLanguageId(r-1)===n;)r--;return new Bu(t,n,r,o+1,t.getStartOffset(r),t.getEndOffset(o))}class Bu{constructor(t,i,e,s,n,o){this._scopedLineTokensBrand=void 0,this._actual=t,this.languageId=i,this._firstTokenIndex=e,this._lastTokenIndex=s,this.firstCharOffset=n,this._lastCharOffset=o}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(t){return this._actual.getLineContent().substring(0,this.firstCharOffset+t)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(t){return this._actual.findTokenIndexAtOffset(t+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(t){return this._actual.getStandardTokenType(t+this._firstTokenIndex)}}function Pu(t){return 0!=(3&t)}class $u{constructor(t){if(this._autoClosingPairs=t.autoClosingPairs?t.autoClosingPairs.map((t=>new Ou(t))):t.brackets?t.brackets.map((t=>new Ou({open:t[0],close:t[1]}))):[],t.__electricCharacterSupport&&t.__electricCharacterSupport.docComment){const i=t.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new Ou({open:i.open,close:i.close||""}))}this._autoCloseBeforeForQuotes="string"==typeof t.autoCloseBefore?t.autoCloseBefore:$u.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets="string"==typeof t.autoCloseBefore?t.autoCloseBefore:$u.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=t.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(t){return t?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}$u.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n\t",$u.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n\t";const Wu="undefined"!=typeof Buffer;let ju,zu,Hu,Vu;class Uu{static wrap(t){return Wu&&!Buffer.isBuffer(t)&&(t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)),new Uu(t)}constructor(t){this.buffer=t,this.byteLength=this.buffer.byteLength}toString(){return Wu?this.buffer.toString():(ju||(ju=new TextDecoder),ju.decode(this.buffer))}}function qu(t,i){return t[i+0]<<0>>>0|t[i+1]<<8>>>0}function Ku(t,i,e){t[e+0]=255&i,t[e+1]=255&(i>>>=8)}function Gu(t,i){return t[i]*2**24+65536*t[i+1]+256*t[i+2]+t[i+3]}function Zu(t,i,e){t[e+3]=i,t[e+2]=i>>>=8,t[e+1]=i>>>=8,t[e]=i>>>=8}function Qu(t,i){return t[i]}function Ju(t,i,e){t[e]=i}function Yu(){return zu||(zu=new TextDecoder("UTF-16LE")),zu}function Xu(){return Vu||(Vu=Pt()?Yu():(Hu||(Hu=new TextDecoder("UTF-16BE")),Hu)),Vu}class td{constructor(t){this._capacity=0|t,this._buffer=new Uint16Array(this._capacity),this._completedStrings=null,this._bufferLength=0}reset(){this._completedStrings=null,this._bufferLength=0}build(){return null!==this._completedStrings?(this._flushBuffer(),this._completedStrings.join("")):this._buildBuffer()}_buildBuffer(){if(0===this._bufferLength)return"";const t=new Uint16Array(this._buffer.buffer,0,this._bufferLength);return Xu().decode(t)}_flushBuffer(){const t=this._buildBuffer();this._bufferLength=0,null===this._completedStrings?this._completedStrings=[t]:this._completedStrings[this._completedStrings.length]=t}appendCharCode(t){const i=this._capacity-this._bufferLength;i<=1&&(0===i||go(t))&&this._flushBuffer(),this._buffer[this._bufferLength++]=t}appendASCIICharCode(t){this._bufferLength===this._capacity&&this._flushBuffer(),this._buffer[this._bufferLength++]=t}appendString(t){const i=t.length;if(this._bufferLength+i>=this._capacity)return this._flushBuffer(),void(this._completedStrings[this._completedStrings.length]=t);for(let e=0;e[t[0].toLowerCase(),t[1].toLowerCase()]));const e=[];for(let t=0;t{const[e,s]=t,[n,o]=i;return e===n||e===o||s===n||s===o},n=(t,s)=>{const n=Math.min(t,s),o=Math.max(t,s);for(let t=0;t0&&o.push({open:n,close:r})}return o}(i);this.brackets=e.map(((i,s)=>new id(t,s,i.open,i.close,function(t,i,e,s){let n=[];n=n.concat(t),n=n.concat(i);for(let t=0,i=n.length;t=0&&s.push(i);for(const i of o.close)i.indexOf(t)>=0&&s.push(i)}}function nd(t,i){return t.length-i.length}function od(t){if(t.length<=1)return t;const i=[],e=new Set;for(const s of t)e.has(s)||(i.push(s),e.add(s));return i}function rd(t){const i=/^[\w ]+$/.test(t);return t=Gn(t),i?`\\b${t}\\b`:t}function hd(t){return Yn(`(${t.map(rd).join(")|(")})`,!0)}const cd=function(){let t=null,i=null;return function(e){return t!==e&&(t=e,i=function(t){const i=new Uint16Array(t.length);let e=0;for(let s=t.length-1;s>=0;s--)i[e++]=t.charCodeAt(s);return Xu().decode(i)}(t)),i}}();class ad{static _findPrevBracketInText(t,i,e,s){const n=e.match(t);if(!n)return null;const o=s+(e.length-(n.index||0));return new Ms(i,o-n[0].length+1,i,o+1)}static findPrevBracketInRange(t,i,e,s,n){const o=cd(e).substring(e.length-n,e.length-s);return this._findPrevBracketInText(t,i,o,s)}static findNextBracketInText(t,i,e,s){const n=e.match(t);if(!n)return null;const o=n[0].length;if(0===o)return null;const r=s+(n.index||0);return new Ms(i,r+1,i,r+1+o)}static findNextBracketInRange(t,i,e,s,n){const o=e.substring(s,n);return this.findNextBracketInText(t,i,o,s)}}class ld{constructor(t){this._richEditBrackets=t}getElectricCharacters(){const t=[];if(this._richEditBrackets)for(const i of this._richEditBrackets.brackets)for(const e of i.close){const i=e.charAt(e.length-1);t.push(i)}return k(t)}onElectricCharacter(t,i,e){if(!this._richEditBrackets||0===this._richEditBrackets.brackets.length)return null;const s=i.findTokenIndexAtOffset(e-1);if(Pu(i.getStandardTokenType(s)))return null;const n=this._richEditBrackets.reversedRegex,o=i.getLineContent().substring(0,e-1)+t,r=ad.findPrevBracketInRange(n,1,o,0,o.length);if(!r)return null;const h=o.substring(r.startColumn-1,r.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[h])return null;const c=i.getActualLineContentBefore(r.startColumn-1);return/^\s*$/.test(c)?{matchOpenBracket:h}:null}}function ud(t){return t.global&&(t.lastIndex=0),!0}class dd{constructor(t){this._indentationRules=t}shouldIncrease(t){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&ud(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(t))}shouldDecrease(t){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&ud(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(t))}shouldIndentNextLine(t){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&ud(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(t))}shouldIgnore(t){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&ud(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(t))}getIndentMetadata(t){let i=0;return this.shouldIncrease(t)&&(i+=1),this.shouldDecrease(t)&&(i+=2),this.shouldIndentNextLine(t)&&(i+=4),this.shouldIgnore(t)&&(i+=8),i}}class fd{constructor(t){(t=t||{}).brackets=t.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],t.brackets.forEach((t=>{const i=fd._createOpenBracketRegExp(t[0]),e=fd._createCloseBracketRegExp(t[1]);i&&e&&this._brackets.push({open:t[0],openRegExp:i,close:t[1],closeRegExp:e})})),this._regExpRules=t.onEnterRules||[]}onEnter(t,i,e,s){if(t>=3)for(let t=0,n=this._regExpRules.length;t!t.reg||(t.reg.lastIndex=0,t.reg.test(t.text)))))return n.action}if(t>=2&&e.length>0&&s.length>0)for(let t=0,i=this._brackets.length;t=2&&e.length>0)for(let t=0,i=this._brackets.length;t0&&"#"===e.charAt(e.length-1)?e.substring(0,e.length-1):e)]=i,this._onDidChangeSchema.fire(t)}notifySchemaChanged(t){this._onDidChangeSchema.fire(t)}};Dh.add(Ed,Ad);const Md="base.contributions.configuration",Ld="vscode://schemas/settings/resourceLanguage",Fd=Dh.as(Ed),Td="\\[([^\\]]+)\\]",Rd=new RegExp(Td,"g"),Od=new RegExp(`^(${Td})+$`);function Id(t){const i=[];if(Od.test(t)){let e=Rd.exec(t);for(;null==e?void 0:e.length;){const s=e[1].trim();s&&i.push(s),e=Rd.exec(t)}}return k(i)}const _d=new class{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new fe,this._onDidUpdateConfiguration=new fe,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:rt(0,"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={},Fd.registerSchema(Ld,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(t,i=!0){this.registerConfigurations([t],i)}registerConfigurations(t,i=!0){const e=new Set;this.doRegisterConfigurations(t,i,e),Fd.registerSchema(Ld,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:e})}registerDefaultConfigurations(t){const i=new Set;this.doRegisterDefaultConfigurations(t,i),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i,defaultsOverrides:!0})}doRegisterDefaultConfigurations(t,i){var e;const s=[];for(const{overrides:n,source:o}of t)for(const t in n)if(i.add(t),Od.test(t)){const i=this.configurationDefaultsOverrides.get(t),r=null!==(e=null==i?void 0:i.valuesSources)&&void 0!==e?e:new Map;if(o)for(const i of Object.keys(n[t]))r.set(i,o);const h={...(null==i?void 0:i.value)||{},...n[t]};this.configurationDefaultsOverrides.set(t,{source:o,value:h,valuesSources:r});const c={type:"object",default:h,description:rt(0,"Configure settings to be overridden for the {0} language.",t.replace(/[\[\]]/g,"")),$ref:Ld,defaultDefaultValue:h,source:P(o)?void 0:o,defaultValueSource:o};s.push(...Id(t)),this.configurationProperties[t]=c,this.defaultLanguageConfigurationOverridesNode.properties[t]=c}else{this.configurationDefaultsOverrides.set(t,{value:n[t],source:o});const i=this.configurationProperties[t];i&&(this.updatePropertyDefaultValue(t,i),this.updateSchema(t,i))}this.doRegisterOverrideIdentifiers(s)}registerOverrideIdentifiers(t){this.doRegisterOverrideIdentifiers(t),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(t){for(const i of t)this.overrideIdentifiers.add(i);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(t,i,e){t.forEach((t=>{this.validateAndRegisterProperties(t,i,t.extensionInfo,t.restrictedProperties,void 0,e),this.configurationContributors.push(t),this.registerJSONConfiguration(t)}))}validateAndRegisterProperties(t,i=!0,e,s,n=3,o){var r;n=q(t.scope)?n:t.scope;const h=t.properties;if(h)for(const t in h){const c=h[t];i&&Nd(t,c)?delete h[t]:(c.source=e,c.defaultDefaultValue=h[t].default,this.updatePropertyDefaultValue(t,c),Od.test(t)?c.scope=void 0:(c.scope=q(c.scope)?n:c.scope,c.restricted=q(c.restricted)?!!(null==s?void 0:s.includes(t)):c.restricted),!h[t].hasOwnProperty("included")||h[t].included?(this.configurationProperties[t]=h[t],(null===(r=h[t].policy)||void 0===r?void 0:r.name)&&this.policyConfigurations.set(h[t].policy.name,t),!h[t].deprecationMessage&&h[t].markdownDeprecationMessage&&(h[t].deprecationMessage=h[t].markdownDeprecationMessage),o.add(t)):(this.excludedConfigurationProperties[t]=h[t],delete h[t]))}const c=t.allOf;if(c)for(const t of c)this.validateAndRegisterProperties(t,i,e,s,n,o)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(t){const i=t=>{const e=t.properties;if(e)for(const t in e)this.updateSchema(t,e[t]);const s=t.allOf;null==s||s.forEach(i)};i(t)}updateSchema(t,i){switch(i.scope){case 1:case 2:case 6:case 3:case 4:break;case 5:this.resourceLanguageSettingsSchema.properties[t]=i}}updateOverridePropertyPatternKey(){for(const t of this.overrideIdentifiers.values()){const i=`[${t}]`,e={type:"object",description:rt(0,"Configure editor settings to be overridden for a language."),errorMessage:rt(0,"This setting does not support per-language configuration."),$ref:Ld};this.updatePropertyDefaultValue(i,e)}}registerOverridePropertyPatternKey(){rt(0,"Configure editor settings to be overridden for a language."),rt(0,"This setting does not support per-language configuration."),this._onDidSchemaChange.fire()}updatePropertyDefaultValue(t,i){const e=this.configurationDefaultsOverrides.get(t);let s=null==e?void 0:e.value,n=null==e?void 0:e.source;V(s)&&(s=i.defaultDefaultValue,n=void 0),V(s)&&(s=function(t){switch(Array.isArray(t)?t[0]:t){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}(i.type)),i.default=s,i.defaultValueSource=n}};function Nd(t,i){var e,s,n,o;return t.trim()?Od.test(t)?rt(0,"Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",t):void 0!==_d.getConfigurationProperties()[t]?rt(0,"Cannot register '{0}'. This property is already registered.",t):(null===(e=i.policy)||void 0===e?void 0:e.name)&&void 0!==_d.getPolicyConfigurations().get(null===(s=i.policy)||void 0===s?void 0:s.name)?rt(0,"Cannot register '{0}'. The associated policy {1} is already registered with {2}.",t,null===(n=i.policy)||void 0===n?void 0:n.name,_d.getPolicyConfigurations().get(null===(o=i.policy)||void 0===o?void 0:o.name)):null:rt(0,"Cannot register an empty property")}Dh.add(Md,_d);const Bd=new class{constructor(){this._onDidChangeLanguages=new fe,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(t){return this._languages.push(t),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let i=0,e=this._languages.length;i{const i=new Set;return{info:new zd(this,t,i),closing:i}})),n=new jn((t=>{const i=new Set,e=new Set;return{info:new Hd(this,t,i,e),opening:i,openingColorized:e}}));for(const[t,i]of e){const e=s.get(t),o=n.get(i);e.closing.add(o.info),o.opening.add(e.info)}const o=i.colorizedBracketPairs?Wd(i.colorizedBracketPairs):e.filter((t=>!("<"===t[0]&&">"===t[1])));for(const[t,i]of o){const e=s.get(t),o=n.get(i);e.closing.add(o.info),o.openingColorized.add(e.info),o.opening.add(e.info)}this._openingBrackets=new Map([...s.cachedValues].map((([t,i])=>[t,i.info]))),this._closingBrackets=new Map([...n.cachedValues].map((([t,i])=>[t,i.info])))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(t){return this._openingBrackets.get(t)}getClosingBracketInfo(t){return this._closingBrackets.get(t)}getBracketInfo(t){return this.getOpeningBracketInfo(t)||this.getClosingBracketInfo(t)}}function Wd(t){return t.filter((([t,i])=>""!==t&&""!==i))}class jd{constructor(t,i){this.config=t,this.bracketText=i}get languageId(){return this.config.languageId}}class zd extends jd{constructor(t,i,e){super(t,i),this.openedBrackets=e,this.isOpeningBracket=!0}}class Hd extends jd{constructor(t,i,e,s){super(t,i),this.openingBrackets=e,this.openingColorizedBrackets=s,this.isOpeningBracket=!1}closes(t){return t.config===this.config&&this.openingBrackets.has(t)}closesColorized(t){return t.config===this.config&&this.openingColorizedBrackets.has(t)}getOpeningBrackets(){return[...this.openingBrackets]}}var Vd=function(t,i){return function(e,s){i(e,s,t)}};class Ud{constructor(t){this.languageId=t}affects(t){return!this.languageId||this.languageId===t}}const qd=dr("languageConfigurationService");let Kd=class extends ie{constructor(t,i){super(),this.configurationService=t,this.languageService=i,this._registry=this._register(new sf),this.onDidChangeEmitter=this._register(new fe),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const e=new Set(Object.values(Gd));this._register(this.configurationService.onDidChangeConfiguration((t=>{const i=t.change.keys.some((t=>e.has(t))),s=t.change.overrides.filter((([t,i])=>i.some((t=>e.has(t))))).map((([t])=>t));if(i)this.configurations.clear(),this.onDidChangeEmitter.fire(new Ud(void 0));else for(const t of s)this.languageService.isRegisteredLanguageId(t)&&(this.configurations.delete(t),this.onDidChangeEmitter.fire(new Ud(t)))}))),this._register(this._registry.onDidChange((t=>{this.configurations.delete(t.languageId),this.onDidChangeEmitter.fire(new Ud(t.languageId))})))}register(t,i,e){return this._registry.register(t,i,e)}getLanguageConfiguration(t){let i=this.configurations.get(t);return i||(i=function(t,i,e,s){let n=i.getLanguageConfiguration(t);if(!n){if(!s.isRegisteredLanguageId(t))return new nf(t,{});n=new nf(t,{})}const o=function(t,i){const e=i.getValue(Gd.brackets,{overrideIdentifier:t}),s=i.getValue(Gd.colorizedBracketPairs,{overrideIdentifier:t});return{brackets:Zd(e),colorizedBracketPairs:Zd(s)}}(n.languageId,e),r=Xd([n.underlyingConfig,o]);return new nf(n.languageId,r)}(t,this._registry,this.configurationService,this.languageService),this.configurations.set(t,i)),i}};Kd=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Vd(0,pd),Vd(1,yd)],Kd);const Gd={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function Zd(t){if(Array.isArray(t))return t.map((t=>{if(Array.isArray(t)&&2===t.length)return[t[0],t[1]]})).filter((t=>!!t))}function Qd(t,i,e){let s=io(t.getLineContent(i));return s.length>e-1&&(s=s.substring(0,e-1)),s}function Jd(t,i,e){return t.tokenization.forceTokenization(i),Nu(t.tokenization.getLineTokens(i),void 0===e?t.getLineMaxColumn(i)-1:e-1)}class Yd{constructor(t){this.languageId=t,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(t,i){const e=new tf(t,i,++this._order);return this._entries.push(e),this._resolved=null,Xi((()=>{for(let t=0;tt.configuration))))}}function Xd(t){let i={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 e of t)i={comments:e.comments||i.comments,brackets:e.brackets||i.brackets,wordPattern:e.wordPattern||i.wordPattern,indentationRules:e.indentationRules||i.indentationRules,onEnterRules:e.onEnterRules||i.onEnterRules,autoClosingPairs:e.autoClosingPairs||i.autoClosingPairs,surroundingPairs:e.surroundingPairs||i.surroundingPairs,autoCloseBefore:e.autoCloseBefore||i.autoCloseBefore,folding:e.folding||i.folding,colorizedBracketPairs:e.colorizedBracketPairs||i.colorizedBracketPairs,__electricCharacterSupport:e.__electricCharacterSupport||i.__electricCharacterSupport};return i}class tf{constructor(t,i,e){this.configuration=t,this.priority=i,this.order=e}static cmp(t,i){return t.priority===i.priority?t.order-i.order:t.priority-i.priority}}class ef{constructor(t){this.languageId=t}}class sf extends ie{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._register(this.register(Pd,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(t,i,e=0){let s=this._entries.get(t);s||(s=new Yd(t),this._entries.set(t,s));const n=s.register(i,e);return this._onDidChange.fire(new ef(t)),Xi((()=>{n.dispose(),this._onDidChange.fire(new ef(t))}))}getLanguageConfiguration(t){const i=this._entries.get(t);return(null==i?void 0:i.getResolvedConfiguration())||null}}class nf{constructor(t,i){this.languageId=t,this.underlyingConfig=i,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new fd(this.underlyingConfig):null,this.comments=nf._handleComments(this.underlyingConfig),this.characterPair=new $u(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||Gt,this.indentationRules=this.underlyingConfig.indentationRules,this.indentRulesSupport=this.underlyingConfig.indentationRules?new dd(this.underlyingConfig.indentationRules):null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new $d(t,this.underlyingConfig)}getWordDefinition(){return Zt(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new ed(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new ld(this.brackets)),this._electricCharacter}onEnter(t,i,e,s){return this._onEnterSupport?this._onEnterSupport.onEnter(t,i,e,s):null}getAutoClosingPairs(){return new Iu(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(t){return this.characterPair.getAutoCloseBeforeSet(t)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(t){const i=t.comments;if(!i)return null;const e={};if(i.lineComment&&(e.lineCommentToken=i.lineComment),i.blockComment){const[t,s]=i.blockComment;e.blockCommentStartToken=t,e.blockCommentEndToken=s}return e}}Cd(qd,Kd,1);class of{constructor(t,i,e,s){this.originalStart=t,this.originalLength=i,this.modifiedStart=e,this.modifiedLength=s}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class rf{constructor(t){this.source=t}getElements(){const t=this.source,i=new Int32Array(t.length);for(let e=0,s=t.length;e0||this.m_modifiedCount>0)&&this.m_changes.push(new of(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(t,i){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),this.m_originalCount++}AddModifiedElement(t,i){this.m_originalStart=Math.min(this.m_originalStart,t),this.m_modifiedStart=Math.min(this.m_modifiedStart,i),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 uf{constructor(t,i,e=null){this.ContinueProcessingPredicate=e,this._originalSequence=t,this._modifiedSequence=i;const[s,n,o]=uf._getElements(t),[r,h,c]=uf._getElements(i);this._hasStrings=o&&c,this._originalStringElements=s,this._originalElementsOrHash=n,this._modifiedStringElements=r,this._modifiedElementsOrHash=h,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(t){return t.length>0&&"string"==typeof t[0]}static _getElements(t){const i=t.getElements();if(uf._isStringArray(i)){const t=new Int32Array(i.length);for(let e=0,s=i.length;e=t&&s>=e&&this.ElementsAreEqual(i,s);)i--,s--;if(t>i||e>s){let n;return e<=s?(cf.Assert(t===i+1,"originalStart should only be one more than originalEnd"),n=[new of(t,0,e,s-e+1)]):t<=i?(cf.Assert(e===s+1,"modifiedStart should only be one more than modifiedEnd"),n=[new of(t,i-t+1,e,0)]):(cf.Assert(t===i+1,"originalStart should only be one more than originalEnd"),cf.Assert(e===s+1,"modifiedStart should only be one more than modifiedEnd"),n=[]),n}const o=[0],r=[0],h=this.ComputeRecursionPoint(t,i,e,s,o,r,n),c=o[0],a=r[0];if(null!==h)return h;if(!n[0]){const o=this.ComputeDiffRecursive(t,c,e,a,n);let r=[];return r=n[0]?[new of(c+1,i-(c+1)+1,a+1,s-(a+1)+1)]:this.ComputeDiffRecursive(c+1,i,a+1,s,n),this.ConcatenateChanges(o,r)}return[new of(t,i-t+1,e,s-e+1)]}WALKTRACE(t,i,e,s,n,o,r,h,c,a,l,u,d,f,p,g,m,w){let v=null,b=null,y=new lf,k=i,x=e,C=d[0]-g[0]-s,S=-1073741824,D=this.m_forwardHistory.length-1;do{const i=C+t;i===k||i=0&&(t=(c=this.m_forwardHistory[D])[0],k=1,x=c.length-1)}while(--D>=-1);if(v=y.getReverseChanges(),w[0]){let t=d[0]+1,i=g[0]+1;if(null!==v&&v.length>0){const e=v[v.length-1];t=Math.max(t,e.getOriginalEnd()),i=Math.max(i,e.getModifiedEnd())}b=[new of(t,u-t+1,i,p-i+1)]}else{y=new lf,k=o,x=r,C=d[0]-g[0]-h,S=1073741824,D=m?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const t=C+n;t===k||t=a[t+1]?(f=(l=a[t+1]-1)-C-h,l>S&&y.MarkNextChange(),S=l+1,y.AddOriginalElement(l+1,f+1),C=t+1-n):(f=(l=a[t-1])-C-h,l>S&&y.MarkNextChange(),S=l,y.AddModifiedElement(l+1,f+1),C=t-1-n),D>=0&&(n=(a=this.m_reverseHistory[D])[0],k=1,x=a.length-1)}while(--D>=-1);b=y.getChanges()}return this.ConcatenateChanges(v,b)}ComputeRecursionPoint(t,i,e,s,n,o,r){let h=0,c=0,a=0,l=0,u=0,d=0;t--,e--,n[0]=0,o[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const f=i-t+(s-e),p=f+1,g=new Int32Array(p),m=new Int32Array(p),w=s-e,v=i-t,b=t-e,y=i-s,k=(v-w)%2==0;g[w]=t,m[v]=i,r[0]=!1;for(let x=1;x<=f/2+1;x++){let f=0,C=0;a=this.ClipDiagonalBound(w-x,x,w,p),l=this.ClipDiagonalBound(w+x,x,w,p);for(let t=a;t<=l;t+=2){h=t===a||tf+C&&(f=h,C=c),!k&&Math.abs(t-v)<=x-1&&h>=m[t])return n[0]=h,o[0]=c,e<=m[t]&&x<=1448?this.WALKTRACE(w,a,l,b,v,u,d,y,g,m,h,i,n,c,s,o,k,r):null}const S=(f-t+(C-e)-x)/2;if(null!==this.ContinueProcessingPredicate&&!this.ContinueProcessingPredicate(f,S))return r[0]=!0,n[0]=f,o[0]=C,S>0&&x<=1448?this.WALKTRACE(w,a,l,b,v,u,d,y,g,m,h,i,n,c,s,o,k,r):(t++,e++,[new of(t,i-t+1,e,s-e+1)]);u=this.ClipDiagonalBound(v-x,x,v,p),d=this.ClipDiagonalBound(v+x,x,v,p);for(let f=u;f<=d;f+=2){h=f===u||f=m[f+1]?m[f+1]-1:m[f-1],c=h-(f-v)-y;const p=h;for(;h>t&&c>e&&this.ElementsAreEqual(h,c);)h--,c--;if(m[f]=h,k&&Math.abs(f-w)<=x&&h<=g[f])return n[0]=h,o[0]=c,p>=g[f]&&x<=1448?this.WALKTRACE(w,a,l,b,v,u,d,y,g,m,h,i,n,c,s,o,k,r):null}if(x<=1447){let t=new Int32Array(l-a+2);t[0]=w-a+1,af.Copy2(g,a,t,1,l-a+1),this.m_forwardHistory.push(t),t=new Int32Array(d-u+2),t[0]=v-u+1,af.Copy2(m,u,t,1,d-u+1),this.m_reverseHistory.push(t)}}return this.WALKTRACE(w,a,l,b,v,u,d,y,g,m,h,i,n,c,s,o,k,r)}PrettifyChanges(t){for(let i=0;i0,r=e.modifiedLength>0;for(;e.originalStart+e.originalLength=0;i--){const e=t[i];let s=0,n=0;if(i>0){const e=t[i-1];s=e.originalStart+e.originalLength,n=e.modifiedStart+e.modifiedLength}const o=e.originalLength>0,r=e.modifiedLength>0;let h=0,c=this._boundaryScore(e.originalStart,e.originalLength,e.modifiedStart,e.modifiedLength);for(let t=1;;t++){const i=e.originalStart-t,a=e.modifiedStart-t;if(ic&&(c=l,h=t)}e.originalStart-=h,e.modifiedStart-=h;const a=[null];i>0&&this.ChangesOverlap(t[i-1],t[i],a)&&(t[i-1]=a[0],t.splice(i,1),i++)}if(this._hasStrings)for(let i=1,e=t.length;i0&&e>h&&(h=e,c=i,a=t)}return h>0?[c,a]:null}_contiguousSequenceScore(t,i,e){let s=0;for(let n=0;n=this._originalElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._originalStringElements[t])}_OriginalRegionIsBoundary(t,i){if(this._OriginalIsBoundary(t)||this._OriginalIsBoundary(t-1))return!0;if(i>0){const e=t+i;if(this._OriginalIsBoundary(e-1)||this._OriginalIsBoundary(e))return!0}return!1}_ModifiedIsBoundary(t){return t<=0||t>=this._modifiedElementsOrHash.length-1||this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[t])}_ModifiedRegionIsBoundary(t,i){if(this._ModifiedIsBoundary(t)||this._ModifiedIsBoundary(t-1))return!0;if(i>0){const e=t+i;if(this._ModifiedIsBoundary(e-1)||this._ModifiedIsBoundary(e))return!0}return!1}_boundaryScore(t,i,e,s){return(this._OriginalRegionIsBoundary(t,i)?1:0)+(this._ModifiedRegionIsBoundary(e,s)?1:0)}ConcatenateChanges(t,i){const e=[];if(0===t.length||0===i.length)return i.length>0?i:t;if(this.ChangesOverlap(t[t.length-1],i[0],e)){const s=new Array(t.length+i.length-1);return af.Copy(t,0,s,0,t.length-1),s[t.length-1]=e[0],af.Copy(i,1,s,t.length,i.length-1),s}{const e=new Array(t.length+i.length);return af.Copy(t,0,e,0,t.length),af.Copy(i,0,e,t.length,i.length),e}}ChangesOverlap(t,i,e){if(cf.Assert(t.originalStart<=i.originalStart,"Left change is not less than or equal to right change"),cf.Assert(t.modifiedStart<=i.modifiedStart,"Left change is not less than or equal to right change"),t.originalStart+t.originalLength>=i.originalStart||t.modifiedStart+t.modifiedLength>=i.modifiedStart){let s=t.originalLength,n=t.modifiedLength;return t.originalStart+t.originalLength>=i.originalStart&&(s=i.originalStart+i.originalLength-t.originalStart),t.modifiedStart+t.modifiedLength>=i.modifiedStart&&(n=i.modifiedStart+i.modifiedLength-t.modifiedStart),e[0]=new of(t.originalStart,s,t.modifiedStart,n),!0}return e[0]=null,!1}ClipDiagonalBound(t,i,e,s){if(t>=0&&t255?255:0|t}function ff(t){return t<0?0:t>4294967295?4294967295:0|t}class pf{constructor(t){this.values=t,this.prefixSum=new Uint32Array(t.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(t,i){t=ff(t);const e=this.values,s=this.prefixSum,n=i.length;return 0!==n&&(this.values=new Uint32Array(e.length+n),this.values.set(e.subarray(0,t),0),this.values.set(e.subarray(t),t+n),this.values.set(i,t),t-1=0&&this.prefixSum.set(s.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(t,i){return t=ff(t),i=ff(i),this.values[t]!==i&&(this.values[t]=i,t-1=e.length)return!1;const n=e.length-t;return i>=n&&(i=n),0!==i&&(this.values=new Uint32Array(e.length-i),this.values.set(e.subarray(0,t),0),this.values.set(e.subarray(t+i),t),this.prefixSum=new Uint32Array(this.values.length),t-1=0&&this.prefixSum.set(s.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return 0===this.values.length?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(t){return t<0?0:(t=ff(t),this._getPrefixSum(t))}_getPrefixSum(t){if(t<=this.prefixSumValidIndex[0])return this.prefixSum[t];let i=this.prefixSumValidIndex[0]+1;0===i&&(this.prefixSum[0]=this.values[0],i++),t>=this.values.length&&(t=this.values.length-1);for(let e=i;e<=t;e++)this.prefixSum[e]=this.prefixSum[e-1]+this.values[e];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],t),this.prefixSum[t]}getIndexOf(t){t=Math.floor(t),this.getTotalSum();let i=0,e=this.values.length-1,s=0,n=0,o=0;for(;i<=e;)if(s=i+(e-i)/2|0,n=this.prefixSum[s],o=n-this.values[s],t=n))break;i=s+1}return new mf(s,t-o)}}class gf{constructor(t){this._values=t,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(t){return this._ensureValid(),0===t?0:this._prefixSum[t-1]}getIndexOf(t){this._ensureValid();const i=this._indexBySum[t];return new mf(i,t-(i>0?this._prefixSum[i-1]:0))}removeValues(t,i){this._values.splice(t,i),this._invalidate(t)}insertValues(t,i){this._values=S(this._values,t,i),this._invalidate(t)}_invalidate(t){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,t-1)}_ensureValid(){if(!this._isValid){for(let t=this._validEndIndex+1,i=this._values.length;t0?this._prefixSum[t-1]:0;this._prefixSum[t]=e+i;for(let s=0;s=0&&t<256?this._asciiMap[t]=e:this._map.set(t,e)}get(t){return t>=0&&t<256?this._asciiMap[t]:this._map.get(t)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class bf{constructor(){this._actual=new vf(0)}add(t){this._actual.set(t,1)}has(t){return 1===this._actual.get(t)}clear(){return this._actual.clear()}}class yf{constructor(t,i,e){const s=new Uint8Array(t*i);for(let n=0,o=t*i;ni&&(i=o),n>e&&(e=n),r>e&&(e=r)}i++,e++;const s=new yf(e,i,0);for(let i=0,e=t.length;i=this._maxCharCode?0:this._states.get(t,i)}}let xf=null,Cf=null;class Sf{static _createLink(t,i,e,s,n){let o=n-1;do{const e=i.charCodeAt(o);if(2!==t.get(e))break;o--}while(o>s);if(s>0){const t=i.charCodeAt(s-1),e=i.charCodeAt(o);(40===t&&41===e||91===t&&93===e||123===t&&125===e)&&o--}return{range:{startLineNumber:e,startColumn:s+1,endLineNumber:e,endColumn:o+2},url:i.substring(s,o+1)}}static computeLinks(t,i=function(){return null===xf&&(xf=new kf([[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]])),xf}()){const e=function(){if(null===Cf){Cf=new vf(0);const t=" \t<>'\"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…";for(let i=0;i=0?(s+=e?1:-1,s<0?s=t.length-1:s%=t.length,t[s]):null}}Df.INSTANCE=new Df;class Ef extends vf{constructor(t){super(0);for(let i=0,e=t.length;i(t.hasOwnProperty(i)||(t[i]=(t=>new Ef(t))(i)),t[i])}();var Mf,Lf,Ff,Tf,Rf,Of;!function(t){t[t.Left=1]="Left",t[t.Center=2]="Center",t[t.Right=4]="Right",t[t.Full=7]="Full"}(Mf||(Mf={})),function(t){t[t.Left=1]="Left",t[t.Right=2]="Right"}(Lf||(Lf={})),function(t){t[t.Inline=1]="Inline",t[t.Gutter=2]="Gutter"}(Ff||(Ff={})),function(t){t[t.Both=0]="Both",t[t.Right=1]="Right",t[t.Left=2]="Left",t[t.None=3]="None"}(Tf||(Tf={}));class If{get originalIndentSize(){return this._indentSizeIsTabSize?"tabSize":this.indentSize}constructor(t){this._textModelResolvedOptionsBrand=void 0,this.tabSize=Math.max(1,0|t.tabSize),"tabSize"===t.indentSize?(this.indentSize=this.tabSize,this._indentSizeIsTabSize=!0):(this.indentSize=Math.max(1,0|t.indentSize),this._indentSizeIsTabSize=!1),this.insertSpaces=Boolean(t.insertSpaces),this.defaultEOL=0|t.defaultEOL,this.trimAutoWhitespace=Boolean(t.trimAutoWhitespace),this.bracketPairColorizationOptions=t.bracketPairColorizationOptions}equals(t){return this.tabSize===t.tabSize&&this._indentSizeIsTabSize===t._indentSizeIsTabSize&&this.indentSize===t.indentSize&&this.insertSpaces===t.insertSpaces&&this.defaultEOL===t.defaultEOL&&this.trimAutoWhitespace===t.trimAutoWhitespace&&et(this.bracketPairColorizationOptions,t.bracketPairColorizationOptions)}createChangeEvent(t){return{tabSize:this.tabSize!==t.tabSize,indentSize:this.indentSize!==t.indentSize,insertSpaces:this.insertSpaces!==t.insertSpaces,trimAutoWhitespace:this.trimAutoWhitespace!==t.trimAutoWhitespace}}}class _f{constructor(t,i){this._findMatchBrand=void 0,this.range=t,this.matches=i}}class Nf{constructor(t,i,e,s,n,o){this.identifier=t,this.range=i,this.text=e,this.forceMoveMarkers=s,this.isAutoWhitespaceEdit=n,this._isTracked=o}}class Bf{constructor(t,i,e){this.regex=t,this.wordSeparators=i,this.simpleSearch=e}}class Pf{constructor(t,i,e){this.reverseEdits=t,this.changes=i,this.trimAutoWhitespaceLineNumbers=e}}function $f(t){return!t.isTooLargeForSyncing()&&!t.isForSimpleWidget}class Wf{constructor(t,i,e,s){this.searchString=t,this.isRegex=i,this.matchCase=e,this.wordSeparators=s}parseSearchRequest(){if(""===this.searchString)return null;let t;t=this.isRegex?function(t){if(!t||0===t.length)return!1;for(let i=0,e=t.length;i=e)break;const s=t.charCodeAt(i);if(110===s||114===s||87===s)return!0}}return!1}(this.searchString):this.searchString.indexOf("\n")>=0;let i=null;try{i=Yn(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:t,global:!0,unicode:!0})}catch(t){return null}if(!i)return null;let e=!this.isRegex&&!t;return e&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(e=this.matchCase),new Bf(i,this.wordSeparators?Af(this.wordSeparators):null,e?this.searchString:null)}}function jf(t,i,e){if(!e)return new _f(t,null);const s=[];for(let t=0,e=i.length;t>0);i[n]>=t?s=n-1:i[n+1]>=t?(e=n,s=n):e=n+1}return e+1}}class Hf{static findMatches(t,i,e,s,n){const o=i.parseSearchRequest();return o?o.regex.multiline?this._doFindMatchesMultiline(t,e,new Uf(o.wordSeparators,o.regex),s,n):this._doFindMatchesLineByLine(t,e,o,s,n):[]}static _getMultilineMatchRange(t,i,e,s,n,o){let r,h,c=0;if(s?(c=s.findLineFeedCountBeforeOffset(n),r=i+n+c):r=i+n,s){const t=s.findLineFeedCountBeforeOffset(n+o.length);h=r+o.length+(t-c)}else h=r+o.length;const a=t.getPositionAt(r),l=t.getPositionAt(h);return new Ms(a.lineNumber,a.column,l.lineNumber,l.column)}static _doFindMatchesMultiline(t,i,e,s,n){const o=t.getOffsetAt(i.getStartPosition()),r=t.getValueInRange(i,1),h="\r\n"===t.getEOL()?new zf(r):null,c=[];let a,l=0;for(e.reset(0);a=e.next(r);)if(c[l++]=jf(this._getMultilineMatchRange(t,o,r,h,a.index,a[0]),a,s),l>=n)return c;return c}static _doFindMatchesLineByLine(t,i,e,s,n){const o=[];let r=0;if(i.startLineNumber===i.endLineNumber){const h=t.getLineContent(i.startLineNumber).substring(i.startColumn-1,i.endColumn-1);return r=this._findMatchesInLine(e,h,i.startLineNumber,i.startColumn-1,r,o,s,n),o}const h=t.getLineContent(i.startLineNumber).substring(i.startColumn-1);r=this._findMatchesInLine(e,h,i.startLineNumber,i.startColumn-1,r,o,s,n);for(let h=i.startLineNumber+1;h=h))return n;return n}const a=new Uf(t.wordSeparators,t.regex);let l;a.reset(0);do{if(l=a.next(i),l&&(o[n++]=jf(new Ms(e,l.index+1+s,e,l.index+1+l[0].length+s),l,r),n>=h))return n}while(l);return n}static findNextMatch(t,i,e,s){const n=i.parseSearchRequest();if(!n)return null;const o=new Uf(n.wordSeparators,n.regex);return n.regex.multiline?this._doFindNextMatchMultiline(t,e,o,s):this._doFindNextMatchLineByLine(t,e,o,s)}static _doFindNextMatchMultiline(t,i,e,s){const n=new As(i.lineNumber,1),o=t.getOffsetAt(n),r=t.getLineCount(),h=t.getValueInRange(new Ms(n.lineNumber,n.column,r,t.getLineMaxColumn(r)),1),c="\r\n"===t.getEOL()?new zf(h):null;e.reset(i.column-1);const a=e.next(h);return a?jf(this._getMultilineMatchRange(t,o,h,c,a.index,a[0]),a,s):1!==i.lineNumber||1!==i.column?this._doFindNextMatchMultiline(t,new As(1,1),e,s):null}static _doFindNextMatchLineByLine(t,i,e,s){const n=t.getLineCount(),o=i.lineNumber,r=t.getLineContent(o),h=this._findFirstMatchInLine(e,r,o,i.column,s);if(h)return h;for(let i=1;i<=n;i++){const r=(o+i-1)%n,h=t.getLineContent(r+1),c=this._findFirstMatchInLine(e,h,r+1,1,s);if(c)return c}return null}static _findFirstMatchInLine(t,i,e,s,n){t.reset(s-1);const o=t.next(i);return o?jf(new Ms(e,o.index+1,e,o.index+1+o[0].length),o,n):null}static findPreviousMatch(t,i,e,s){const n=i.parseSearchRequest();if(!n)return null;const o=new Uf(n.wordSeparators,n.regex);return n.regex.multiline?this._doFindPreviousMatchMultiline(t,e,o,s):this._doFindPreviousMatchLineByLine(t,e,o,s)}static _doFindPreviousMatchMultiline(t,i,e,s){const n=this._doFindMatchesMultiline(t,new Ms(1,1,i.lineNumber,i.column),e,s,9990);if(n.length>0)return n[n.length-1];const o=t.getLineCount();return i.lineNumber!==o||i.column!==t.getLineMaxColumn(o)?this._doFindPreviousMatchMultiline(t,new As(o,t.getLineMaxColumn(o)),e,s):null}static _doFindPreviousMatchLineByLine(t,i,e,s){const n=t.getLineCount(),o=i.lineNumber,r=t.getLineContent(o).substring(0,i.column-1),h=this._findLastMatchInLine(e,r,o,s);if(h)return h;for(let i=1;i<=n;i++){const r=(n+o-i-1)%n,h=t.getLineContent(r+1),c=this._findLastMatchInLine(e,h,r+1,s);if(c)return c}return null}static _findLastMatchInLine(t,i,e,s){let n,o=null;for(t.reset(0);n=t.next(i);)o=jf(new Ms(e,n.index+1,e,n.index+1+n[0].length),n,s);return o}}function Vf(t,i,e,s,n){return function(t,i,e,s,n){if(0===s)return!0;const o=i.charCodeAt(s-1);if(0!==t.get(o))return!0;if(13===o||10===o)return!0;if(n>0){const e=i.charCodeAt(s);if(0!==t.get(e))return!0}return!1}(t,i,0,s,n)&&function(t,i,e,s,n){if(s+n===e)return!0;const o=i.charCodeAt(s+n);if(0!==t.get(o))return!0;if(13===o||10===o)return!0;if(n>0){const e=i.charCodeAt(s+n-1);if(0!==t.get(e))return!0}return!1}(t,i,e,s,n)}class Uf{constructor(t,i){this._wordSeparators=t,this._searchRegex=i,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(t){this._searchRegex.lastIndex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(t){const i=t.length;let e;do{if(this._prevMatchStartIndex+this._prevMatchLength===i)return null;if(e=this._searchRegex.exec(t),!e)return null;const s=e.index,n=e[0].length;if(s===this._prevMatchStartIndex&&n===this._prevMatchLength){if(0===n){vo(t,i,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=s,this._prevMatchLength=n,!this._wordSeparators||Vf(this._wordSeparators,t,i,s,n))return e}while(e);return null}}class qf{static computeUnicodeHighlights(t,i,e){const s=e?e.startLineNumber:1,n=e?e.endLineNumber:t.getLineCount(),o=new Kf(i),r=o.getCandidateCodePoints();let h;h="allNonBasicAscii"===r?new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):new RegExp(`[${Gn(Array.from(r).map((t=>String.fromCodePoint(t))).join(""))}]`,"g");const c=new Uf(null,h),a=[];let l,u=!1,d=0,f=0,p=0;t:for(let i=s,e=n;i<=e;i++){const e=t.getLineContent(i),s=e.length;c.reset(0);do{if(l=c.next(e),l){let t=l.index,n=l.index+l[0].length;t>0&&go(e.charCodeAt(t-1))&&t--,n+1=1e3){u=!0;break t}a.push(new Ms(i,t+1,i,n+1))}}}while(l)}return{ranges:a,hasMore:u,ambiguousCharacterCount:d,invisibleCharacterCount:f,nonBasicAsciiCharacterCount:p}}static computeUnicodeHighlightReason(t,i){const e=new Kf(i);switch(e.shouldHighlightNonBasicASCII(t,null)){case 0:return null;case 2:return{kind:1};case 3:{const s=t.codePointAt(0),n=e.ambiguousCharacters.getPrimaryConfusable(s),o=Bo.getLocales().filter((t=>!Bo.getInstance(new Set([...i.allowedLocales,t])).isAmbiguous(s)));return{kind:0,confusableWith:String.fromCodePoint(n),notAmbiguousInLocales:o}}case 1:return{kind:2}}}}class Kf{constructor(t){this.options=t,this.allowedCodePoints=new Set(t.allowedCodePoints),this.ambiguousCharacters=Bo.getInstance(new Set(t.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const t=new Set;if(this.options.invisibleCharacters)for(const i of Po.codePoints)Gf(String.fromCodePoint(i))||t.add(i);if(this.options.ambiguousCharacters)for(const i of this.ambiguousCharacters.getConfusableCodePoints())t.add(i);for(const i of this.allowedCodePoints)t.delete(i);return t}shouldHighlightNonBasicASCII(t,i){const e=t.codePointAt(0);if(this.allowedCodePoints.has(e))return 0;if(this.options.nonBasicASCII)return 1;let s=!1,n=!1;if(i)for(const t of i){const i=t.codePointAt(0),e=Eo(t);s=s||e,e||this.ambiguousCharacters.isAmbiguous(i)||Po.isInvisibleCharacter(i)||(n=!0)}return!s&&n?0:this.options.invisibleCharacters&&!Gf(t)&&Po.isInvisibleCharacter(e)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(e)?3:0}}function Gf(t){return" "===t||"\n"===t||"\t"===t}class Zf{constructor(t,i,e){this.changes=t,this.moves=i,this.hitTimeout=e}}class Qf{constructor(t,i){this.lineRangeMapping=t,this.changes=i}}class Jf{static addRange(t,i){let e=0;for(;ei))return new Jf(t,i)}static ofLength(t){return new Jf(0,t)}static ofStartAndLength(t,i){return new Jf(t,t+i)}constructor(t,i){if(this.start=t,this.endExclusive=i,t>i)throw new Gi(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(t){return new Jf(this.start+t,this.endExclusive+t)}deltaStart(t){return new Jf(this.start+t,this.endExclusive)}deltaEnd(t){return new Jf(this.start,this.endExclusive+t)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(t){return this.start===t.start&&this.endExclusive===t.endExclusive}containsRange(t){return this.start<=t.start&&t.endExclusive<=this.endExclusive}contains(t){return this.start<=t&&t=t.endExclusive}slice(t){return t.slice(this.start,this.endExclusive)}clip(t){if(this.isEmpty)throw new Gi(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,t))}clipCyclic(t){if(this.isEmpty)throw new Gi(`Invalid clipping range: ${this.toString()}`);return t=this.endExclusive?this.start+(t-this.start)%this.length:t}forEach(t){for(let i=this.start;it.toString())).join(", ")}intersectsStrict(t){let i=0;for(;it+i.length),0)}}function Xf(t,i){const e=function(t,i,e=t.length-1){for(let s=e;s>=0;s--)if(i(t[s]))return s;return-1}(t,i);if(-1!==e)return t[e]}function tp(t,i){const e=ip(t,i);return-1===e?void 0:t[e]}function ip(t,i,e=0,s=t.length){let n=e,o=s;for(;n0&&(e=n)}return e}function op(t,i){if(0===t.length)return-1;let e=0;for(let s=1;s0&&(e=s);return e}sp.assertInvariants=!1;class rp{static fromRange(t){return new rp(t.startLineNumber,t.endLineNumber)}static fromRangeInclusive(t){return new rp(t.startLineNumber,t.endLineNumber+1)}static joinMany(t){if(0===t.length)return[];let i=new hp(t[0].slice());for(let e=1;ei)throw new Gi(`startLineNumber ${t} cannot be after endLineNumberExclusive ${i}`);this.startLineNumber=t,this.endLineNumberExclusive=i}contains(t){return this.startLineNumber<=t&&ti.endLineNumberExclusive>=t.startLineNumber)),e=ip(this._normalizedRanges,(i=>i.startLineNumber<=t.endLineNumberExclusive))+1;if(i===e)this._normalizedRanges.splice(i,0,t);else if(i===e-1)this._normalizedRanges[i]=this._normalizedRanges[i].join(t);else{const s=this._normalizedRanges[i].join(this._normalizedRanges[e-1]).join(t);this._normalizedRanges.splice(i,e-i,s)}}contains(t){const i=tp(this._normalizedRanges,(i=>i.startLineNumber<=t));return!!i&&i.endLineNumberExclusive>t}intersects(t){const i=tp(this._normalizedRanges,(i=>i.startLineNumbert.startLineNumber}getUnion(t){if(0===this._normalizedRanges.length)return t;if(0===t._normalizedRanges.length)return this;const i=[];let e=0,s=0,n=null;for(;e=o.startLineNumber?n=new rp(n.startLineNumber,Math.max(n.endLineNumberExclusive,o.endLineNumberExclusive)):(i.push(n),n=o)}return null!==n&&i.push(n),new hp(i)}subtractFrom(t){const i=ep(this._normalizedRanges,(i=>i.endLineNumberExclusive>=t.startLineNumber)),e=ip(this._normalizedRanges,(i=>i.startLineNumber<=t.endLineNumberExclusive))+1;if(i===e)return new hp([t]);const s=[];let n=t.startLineNumber;for(let t=i;tn&&s.push(new rp(n,i.startLineNumber)),n=i.endLineNumberExclusive}return nt.toString())).join(", ")}getIntersection(t){const i=[];let e=0,s=0;for(;ei.delta(t))))}}class cp{static inverse(t,i,e){const s=[];let n=1,o=1;for(const i of t){const t=new ap(new rp(n,i.original.startLineNumber),new rp(o,i.modified.startLineNumber),void 0);t.modified.isEmpty||s.push(t),n=i.original.endLineNumberExclusive,o=i.modified.endLineNumberExclusive}const r=new ap(new rp(n,i+1),new rp(o,e+1),void 0);return r.modified.isEmpty||s.push(r),s}constructor(t,i){this.original=t,this.modified=i}toString(){return`{${this.original.toString()}->${this.modified.toString()}}`}flip(){return new cp(this.modified,this.original)}join(t){return new cp(this.original.join(t.original),this.modified.join(t.modified))}}class ap extends cp{constructor(t,i,e){super(t,i),this.innerChanges=e}flip(){var t;return new ap(this.modified,this.original,null===(t=this.innerChanges)||void 0===t?void 0:t.map((t=>t.flip())))}}class lp{constructor(t,i){this.originalRange=t,this.modifiedRange=i}toString(){return`{${this.originalRange.toString()}->${this.modifiedRange.toString()}}`}flip(){return new lp(this.modifiedRange,this.originalRange)}}class up{computeDiff(t,i,e){var s;const n=new wp(t,i,{maxComputationTime:e.maxComputationTimeMs,shouldIgnoreTrimWhitespace:e.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),o=[];let r=null;for(const t of n.changes){let i,e;i=0===t.originalEndLineNumber?new rp(t.originalStartLineNumber+1,t.originalStartLineNumber+1):new rp(t.originalStartLineNumber,t.originalEndLineNumber+1),e=0===t.modifiedEndLineNumber?new rp(t.modifiedStartLineNumber+1,t.modifiedStartLineNumber+1):new rp(t.modifiedStartLineNumber,t.modifiedEndLineNumber+1);let n=new ap(i,e,null===(s=t.charChanges)||void 0===s?void 0:s.map((t=>new lp(new Ms(t.originalStartLineNumber,t.originalStartColumn,t.originalEndLineNumber,t.originalEndColumn),new Ms(t.modifiedStartLineNumber,t.modifiedStartColumn,t.modifiedEndLineNumber,t.modifiedEndColumn)))));r&&(r.modified.endLineNumberExclusive!==n.modified.startLineNumber&&r.original.endLineNumberExclusive!==n.original.startLineNumber||(n=new ap(r.original.join(n.original),r.modified.join(n.modified),r.innerChanges&&n.innerChanges?r.innerChanges.concat(n.innerChanges):void 0),o.pop())),o.push(n),r=n}return Ch((()=>Sh(o,((t,i)=>i.original.startLineNumber-t.original.endLineNumberExclusive==i.modified.startLineNumber-t.modified.endLineNumberExclusive&&t.original.endLineNumberExclusive(10===t?"\\n":String.fromCharCode(t))+`-(${this._lineNumbers[i]},${this._columns[i]})`)).join(", ")+"]"}_assertIndex(t,i){if(t<0||t>=i.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(t){return t>0&&t===this._lineNumbers.length?this.getEndLineNumber(t-1):(this._assertIndex(t,this._lineNumbers),this._lineNumbers[t])}getEndLineNumber(t){return-1===t?this.getStartLineNumber(t+1):(this._assertIndex(t,this._lineNumbers),10===this._charCodes[t]?this._lineNumbers[t]+1:this._lineNumbers[t])}getStartColumn(t){return t>0&&t===this._columns.length?this.getEndColumn(t-1):(this._assertIndex(t,this._columns),this._columns[t])}getEndColumn(t){return-1===t?this.getStartColumn(t+1):(this._assertIndex(t,this._columns),10===this._charCodes[t]?1:this._columns[t]+1)}}class gp{constructor(t,i,e,s,n,o,r,h){this.originalStartLineNumber=t,this.originalStartColumn=i,this.originalEndLineNumber=e,this.originalEndColumn=s,this.modifiedStartLineNumber=n,this.modifiedStartColumn=o,this.modifiedEndLineNumber=r,this.modifiedEndColumn=h}static createFromDiffChange(t,i,e){const s=i.getStartLineNumber(t.originalStart),n=i.getStartColumn(t.originalStart),o=i.getEndLineNumber(t.originalStart+t.originalLength-1),r=i.getEndColumn(t.originalStart+t.originalLength-1),h=e.getStartLineNumber(t.modifiedStart),c=e.getStartColumn(t.modifiedStart),a=e.getEndLineNumber(t.modifiedStart+t.modifiedLength-1),l=e.getEndColumn(t.modifiedStart+t.modifiedLength-1);return new gp(s,n,o,r,h,c,a,l)}}class mp{constructor(t,i,e,s,n){this.originalStartLineNumber=t,this.originalEndLineNumber=i,this.modifiedStartLineNumber=e,this.modifiedEndLineNumber=s,this.charChanges=n}static createFromDiffResult(t,i,e,s,n,o,r){let h,c,a,l,u;if(0===i.originalLength?(h=e.getStartLineNumber(i.originalStart)-1,c=0):(h=e.getStartLineNumber(i.originalStart),c=e.getEndLineNumber(i.originalStart+i.originalLength-1)),0===i.modifiedLength?(a=s.getStartLineNumber(i.modifiedStart)-1,l=0):(a=s.getStartLineNumber(i.modifiedStart),l=s.getEndLineNumber(i.modifiedStart+i.modifiedLength-1)),o&&i.originalLength>0&&i.originalLength<20&&i.modifiedLength>0&&i.modifiedLength<20&&n()){const o=e.createCharSequence(t,i.originalStart,i.originalStart+i.originalLength-1),h=s.createCharSequence(t,i.modifiedStart,i.modifiedStart+i.modifiedLength-1);if(o.getElements().length>0&&h.getElements().length>0){let t=dp(o,h,n,!0).changes;r&&(t=function(t){if(t.length<=1)return t;const i=[t[0]];let e=i[0];for(let s=1,n=t.length;s1&&r>1&&t.charCodeAt(e-2)===i.charCodeAt(r-2);)e--,r--;(e>1||r>1)&&this._pushTrimWhitespaceCharChange(s,n+1,1,e,o+1,1,r)}{let e=bp(t,1),r=bp(i,1);const h=t.length+1,c=i.length+1;for(;e!0;const i=Date.now();return()=>Date.now()-i{e.push(xp.fromOffsetPairs(t?t.getEndExclusives():Cp.zero,s?s.getStarts():new Cp(i,(t?t.seq2Range.endExclusive-t.seq1Range.endExclusive:0)+i)))})),e}static fromOffsetPairs(t,i){return new xp(new Jf(t.offset1,i.offset1),new Jf(t.offset2,i.offset2))}constructor(t,i){this.seq1Range=t,this.seq2Range=i}swap(){return new xp(this.seq2Range,this.seq1Range)}toString(){return`${this.seq1Range} <-> ${this.seq2Range}`}join(t){return new xp(this.seq1Range.join(t.seq1Range),this.seq2Range.join(t.seq2Range))}delta(t){return 0===t?this:new xp(this.seq1Range.delta(t),this.seq2Range.delta(t))}deltaStart(t){return 0===t?this:new xp(this.seq1Range.deltaStart(t),this.seq2Range.deltaStart(t))}deltaEnd(t){return 0===t?this:new xp(this.seq1Range.deltaEnd(t),this.seq2Range.deltaEnd(t))}intersect(t){const i=this.seq1Range.intersect(t.seq1Range),e=this.seq2Range.intersect(t.seq2Range);if(i&&e)return new xp(i,e)}getStarts(){return new Cp(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new Cp(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class Cp{constructor(t,i){this.offset1=t,this.offset2=i}toString(){return`${this.offset1} <-> ${this.offset2}`}}Cp.zero=new Cp(0,0),Cp.max=new Cp(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);class Sp{isValid(){return!0}}Sp.instance=new Sp;class Dp{constructor(t){if(this.timeout=t,this.startTime=Date.now(),this.valid=!0,t<=0)throw new Gi("timeout must be positive")}isValid(){return!(Date.now()-this.startTime0&&c>0&&3===o.get(h-1,c-1)&&(u+=r.get(h-1,c-1)),u+=s?s(h,c):1):u=-1;const d=Math.max(a,l,u);if(d===u){const t=h>0&&c>0?r.get(h-1,c-1):0;r.set(h,c,t+1),o.set(h,c,3)}else d===a?(r.set(h,c,0),o.set(h,c,1)):d===l&&(r.set(h,c,0),o.set(h,c,2));n.set(h,c,d)}const h=[];let c=t.length,a=i.length;function l(t,i){t+1===c&&i+1===a||h.push(new xp(new Jf(t+1,c),new Jf(i+1,a))),c=t,a=i}let u=t.length-1,d=i.length-1;for(;u>=0&&d>=0;)3===o.get(u,d)?(l(u,d),u--,d--):1===o.get(u,d)?u--:d--;return l(-1,-1),h.reverse(),new kp(h,!1)}}class Fp{compute(t,i,e=Sp.instance){if(0===t.length||0===i.length)return kp.trivial(t,i);const s=t,n=i;function o(t,i){for(;ts.length||u>n.length)continue;const d=o(l,u);h.set(a,d);const f=c.get(l===e?a+1:a-1);if(c.set(a,d!==l?new Tp(f,l,u,d-l):f),h.get(a)===s.length&&h.get(a)-a===n.length)break t}}let l=c.get(a);const u=[];let d=s.length,f=n.length;for(;;){const t=l?l.x+l.length:0,i=l?l.y+l.length:0;if(t===d&&i===f||u.push(new xp(new Jf(t,d),new Jf(i,f))),!l)break;d=l.x,f=l.y,l=l.prev}return u.reverse(),new kp(u,!1)}}class Tp{constructor(t,i,e,s){this.prev=t,this.x=i,this.y=e,this.length=s}}class Rp{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(t){return t<0?this.negativeArr[t=-t-1]:this.positiveArr[t]}set(t,i){if(t<0){if((t=-t-1)>=this.negativeArr.length){const t=this.negativeArr;this.negativeArr=new Int32Array(2*t.length),this.negativeArr.set(t)}this.negativeArr[t]=i}else{if(t>=this.positiveArr.length){const t=this.positiveArr;this.positiveArr=new Int32Array(2*t.length),this.positiveArr.set(t)}this.positiveArr[t]=i}}}class Op{constructor(){this.positiveArr=[],this.negativeArr=[]}get(t){return t<0?this.negativeArr[t=-t-1]:this.positiveArr[t]}set(t,i){t<0?this.negativeArr[t=-t-1]=i:this.positiveArr[t]=i}}class Ip{constructor(t,i){this.uri=t,this.value=i}}class _p{constructor(t,i){if(this[Rf]="ResourceMap",t instanceof _p)this.map=new Map(t.map),this.toKey=null!=i?i:_p.defaultToKey;else if(function(t){return Array.isArray(t)}(t)){this.map=new Map,this.toKey=null!=i?i:_p.defaultToKey;for(const[i,e]of t)this.set(i,e)}else this.map=new Map,this.toKey=null!=t?t:_p.defaultToKey}set(t,i){return this.map.set(this.toKey(t),new Ip(t,i)),this}get(t){var i;return null===(i=this.map.get(this.toKey(t)))||void 0===i?void 0:i.value}has(t){return this.map.has(this.toKey(t))}get size(){return this.map.size}clear(){this.map.clear()}delete(t){return this.map.delete(this.toKey(t))}forEach(t,i){void 0!==i&&(t=t.bind(i));for(const[i,e]of this.map)t(e.value,e.uri,this)}*values(){for(const t of this.map.values())yield t.value}*keys(){for(const t of this.map.values())yield t.uri}*entries(){for(const t of this.map.values())yield[t.uri,t.value]}*[(Rf=Symbol.toStringTag,Symbol.iterator)](){for(const[,t]of this.map)yield[t.uri,t.value]}}_p.defaultToKey=t=>t.toString();class Np{constructor(){this[Of]="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(){var t;return null===(t=this._head)||void 0===t?void 0:t.value}get last(){var t;return null===(t=this._tail)||void 0===t?void 0:t.value}has(t){return this._map.has(t)}get(t,i=0){const e=this._map.get(t);if(e)return 0!==i&&this.touch(e,i),e.value}set(t,i,e=0){let s=this._map.get(t);if(s)s.value=i,0!==e&&this.touch(s,e);else{switch(s={key:t,value:i,next:void 0,previous:void 0},e){case 0:case 2:default:this.addItemLast(s);break;case 1:this.addItemFirst(s)}this._map.set(t,s),this._size++}return this}delete(t){return!!this.remove(t)}remove(t){const i=this._map.get(t);if(i)return this._map.delete(t),this.removeItem(i),this._size--,i.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const t=this._head;return this._map.delete(t.key),this.removeItem(t),this._size--,t.value}forEach(t,i){const e=this._state;let s=this._head;for(;s;){if(i?t.bind(i)(s.value,s.key,this):t(s.value,s.key,this),this._state!==e)throw new Error("LinkedMap got modified during iteration.");s=s.next}}keys(){const t=this,i=this._state;let e=this._head;const s={[Symbol.iterator]:()=>s,next(){if(t._state!==i)throw new Error("LinkedMap got modified during iteration.");if(e){const t={value:e.key,done:!1};return e=e.next,t}return{value:void 0,done:!0}}};return s}values(){const t=this,i=this._state;let e=this._head;const s={[Symbol.iterator]:()=>s,next(){if(t._state!==i)throw new Error("LinkedMap got modified during iteration.");if(e){const t={value:e.value,done:!1};return e=e.next,t}return{value:void 0,done:!0}}};return s}entries(){const t=this,i=this._state;let e=this._head;const s={[Symbol.iterator]:()=>s,next(){if(t._state!==i)throw new Error("LinkedMap got modified during iteration.");if(e){const t={value:[e.key,e.value],done:!1};return e=e.next,t}return{value:void 0,done:!0}}};return s}[(Of=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(t){if(t>=this.size)return;if(0===t)return void this.clear();let i=this._head,e=this.size;for(;i&&e>t;)this._map.delete(i.key),i=i.next,e--;this._head=i,this._size=e,i&&(i.previous=void 0),this._state++}addItemFirst(t){if(this._head||this._tail){if(!this._head)throw new Error("Invalid list");t.next=this._head,this._head.previous=t}else this._tail=t;this._head=t,this._state++}addItemLast(t){if(this._head||this._tail){if(!this._tail)throw new Error("Invalid list");t.previous=this._tail,this._tail.next=t}else this._head=t;this._tail=t,this._state++}removeItem(t){if(t===this._head&&t===this._tail)this._head=void 0,this._tail=void 0;else if(t===this._head){if(!t.next)throw new Error("Invalid list");t.next.previous=void 0,this._head=t.next}else if(t===this._tail){if(!t.previous)throw new Error("Invalid list");t.previous.next=void 0,this._tail=t.previous}else{const i=t.next,e=t.previous;if(!i||!e)throw new Error("Invalid list");i.previous=e,e.next=i}t.next=void 0,t.previous=void 0,this._state++}touch(t,i){if(!this._head||!this._tail)throw new Error("Invalid list");if(1===i||2===i)if(1===i){if(t===this._head)return;const i=t.next,e=t.previous;t===this._tail?(e.next=void 0,this._tail=e):(i.previous=e,e.next=i),t.previous=void 0,t.next=this._head,this._head.previous=t,this._head=t,this._state++}else if(2===i){if(t===this._tail)return;const i=t.next,e=t.previous;t===this._head?(i.previous=void 0,this._head=i):(i.previous=e,e.next=i),t.next=void 0,t.previous=this._tail,this._tail.next=t,this._tail=t,this._state++}}toJSON(){const t=[];return this.forEach(((i,e)=>{t.push([e,i])})),t}fromJSON(t){this.clear();for(const[i,e]of t)this.set(i,e)}}class Bp extends Np{constructor(t,i=1){super(),this._limit=t,this._ratio=Math.min(Math.max(0,i),1)}get limit(){return this._limit}set limit(t){this._limit=t,this.checkTrim()}get(t,i=2){return super.get(t,i)}peek(t){return super.get(t,0)}set(t,i){return super.set(t,i,2),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}class Pp{constructor(t){if(this._m1=new Map,this._m2=new Map,t)for(const[i,e]of t)this.set(i,e)}clear(){this._m1.clear(),this._m2.clear()}set(t,i){this._m1.set(t,i),this._m2.set(i,t)}get(t){return this._m1.get(t)}getKey(t){return this._m2.get(t)}delete(t){const i=this._m1.get(t);return void 0!==i&&(this._m1.delete(t),this._m2.delete(i),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class $p{constructor(){this.map=new Map}add(t,i){let e=this.map.get(t);e||(e=new Set,this.map.set(t,e)),e.add(i)}delete(t,i){const e=this.map.get(t);e&&(e.delete(i),0===e.size&&this.map.delete(t))}forEach(t,i){const e=this.map.get(t);e&&e.forEach(i)}get(t){return this.map.get(t)||new Set}}class Wp{constructor(t,i,e){this.lines=t,this.considerWhitespaceChanges=e,this.elements=[],this.firstCharOffsetByLine=[],this.additionalOffsetByLine=[];let s=!1;i.start>0&&i.endExclusive>=t.length&&(i=new Jf(i.start-1,i.endExclusive),s=!0),this.lineRange=i,this.firstCharOffsetByLine[0]=0;for(let i=this.lineRange.start;iString.fromCharCode(t))).join("")}getElement(t){return this.elements[t]}get length(){return this.elements.length}getBoundaryScore(t){const i=Vp(t>0?this.elements[t-1]:-1),e=Vp(ti<=t));return new As(this.lineRange.start+i+1,t-this.firstCharOffsetByLine[i]+this.additionalOffsetByLine[i]+1)}translateRange(t){return Ms.fromPositions(this.translateOffset(t.start),this.translateOffset(t.endExclusive))}findWordContaining(t){if(t<0||t>=this.elements.length)return;if(!jp(this.elements[t]))return;let i=t;for(;i>0&&jp(this.elements[i-1]);)i--;let e=t;for(;ei<=t.start)))&&void 0!==i?i:0,n=null!==(e=function(i){const e=ep(i,(i=>t.endExclusive<=i));return e===i.length?void 0:i[e]}(this.firstCharOffsetByLine))&&void 0!==e?e:this.elements.length;return new Jf(s,n)}}function jp(t){return t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57}const zp={0:0,1:0,2:0,3:10,4:2,5:3,6:3,7:10,8:10};function Hp(t){return zp[t]}function Vp(t){return 10===t?8:13===t?7:Ap(t)?6:t>=97&&t<=122?0:t>=65&&t<=90?1:t>=48&&t<=57?2:-1===t?3:44===t||59===t?5:4}function Up(t,i,e){if(t.trim()===i.trim())return!0;if(t.length>300&&i.length>300)return!1;const s=(new Fp).compute(new Wp([t],new Jf(0,1),!1),new Wp([i],new Jf(0,1),!1),e);let n=0;const o=xp.invert(s.diffs,t.length);for(const i of o)i.seq1Range.forEach((i=>{Ap(t.charCodeAt(i))||n++}));const r=function(i){let e=0;for(let s=0;si.length?t:i);return n/r>.6&&r>10}function qp(t,i,e){let s=e;return s=Kp(t,i,s),s=Kp(t,i,s),s=function(t,i,e){if(!t.getBoundaryScore||!i.getBoundaryScore)return e;for(let s=0;s0?e[s-1]:void 0,o=e[s],r=s+10&&(r=r.delta(h))}n.push(r)}return s.length>0&&n.push(s[s.length-1]),n}function Gp(t,i,e,s,n){let o=1;for(;t.seq1Range.start-o>=s.start&&t.seq2Range.start-o>=n.start&&e.isStronglyEqual(t.seq2Range.start-o,t.seq2Range.endExclusive-o)&&o<100;)o++;o--;let r=0;for(;t.seq1Range.start+rc&&(c=r,h=s)}return t.delta(h)}class Zp{constructor(t,i){this.trimmedHash=t,this.lines=i}getElement(t){return this.trimmedHash[t]}get length(){return this.trimmedHash.length}getBoundaryScore(t){return 1e3-((0===t?0:Qp(this.lines[t-1]))+(t===this.lines.length?0:Qp(this.lines[t])))}getText(t){return this.lines.slice(t.start,t.endExclusive).join("\n")}isStronglyEqual(t,i){return this.lines[t]===this.lines[i]}}function Qp(t){let i=0;for(;it===i)))return new Zf([],[],!1);if(1===t.length&&0===t[0].length||1===i.length&&0===i[0].length)return new Zf([new ap(new rp(1,t.length+1),new rp(1,i.length+1),[new lp(new Ms(1,1,t.length,t[0].length+1),new Ms(1,1,i.length,i[0].length+1))])],[],!1);const s=0===e.maxComputationTimeMs?Sp.instance:new Dp(e.maxComputationTimeMs),n=!e.ignoreTrimWhitespace,o=new Map;function r(t){let i=o.get(t);return void 0===i&&(i=o.size,o.set(t,i)),i}const h=t.map((t=>r(t.trim()))),c=i.map((t=>r(t.trim()))),a=new Zp(h,t),l=new Zp(c,i),d=(()=>a.length+l.length<1700?this.dynamicProgrammingDiffing.compute(a,l,s,((e,s)=>t[e]===i[s]?0===i[s].length?.1:1+Math.log(1+i[s].length):.99)):this.myersDiffingAlgorithm.compute(a,l))();let f=d.diffs,p=d.hitTimeout;f=qp(a,l,f),f=function(t,i,e){let s=e;if(0===s.length)return s;let n,o=0;do{n=!1;const r=[s[0]];for(let h=1;h5||e.seq1Range.length+e.seq2Range.length>5)}l(a,c)?(n=!0,r[r.length-1]=r[r.length-1].join(c)):r.push(c)}s=r}while(o++<10&&n);return s}(a,0,f);const g=[],m=e=>{if(n)for(let o=0;oe.seq1Range.start-w==e.seq2Range.start-v)),m(e.seq1Range.start-w),w=e.seq1Range.endExclusive,v=e.seq2Range.endExclusive;const o=this.refineDiff(t,i,e,s,n);o.hitTimeout&&(p=!0);for(const t of o.mappings)g.push(t)}m(t.length-w);const b=Yp(g,t,i);let y=[];return e.computeMoves&&(y=this.computeMoves(b,t,i,h,c,s,n)),Ch((()=>{function e(t,i){return!(t.lineNumber<1||t.lineNumber>i.length)&&!(t.column<1||t.column>i[t.lineNumber-1].length+1)}function s(t,i){return!(t.startLineNumber<1||t.startLineNumber>i.length+1||t.endLineNumberExclusive<1||t.endLineNumberExclusive>i.length+1)}for(const n of b){if(!n.innerChanges)return!1;for(const s of n.innerChanges)if(!(e(s.modifiedRange.getStartPosition(),i)&&e(s.modifiedRange.getEndPosition(),i)&&e(s.originalRange.getStartPosition(),t)&&e(s.originalRange.getEndPosition(),t)))return!1;if(!s(n.modified,i)||!s(n.original,t))return!1}return!0})),new Zf(b,y,p)}computeMoves(t,i,e,s,n,o,r){return function(t,i,e,s,n,o){let{moves:r,excludedChanges:h}=function(t,i,e,s){const n=[],o=t.filter((t=>t.modified.isEmpty&&t.original.length>=3)).map((t=>new Mp(t.original,i,t))),r=new Set(t.filter((t=>t.original.isEmpty&&t.modified.length>=3)).map((t=>new Mp(t.modified,e,t)))),h=new Set;for(const t of o){let i,e=-1;for(const s of r){const n=t.computeSimilarity(s);n>e&&(e=n,i=s)}if(e>.9&&i&&(r.delete(i),n.push(new cp(t.range,i.range)),h.add(t.source),h.add(i.source)),!s.isValid())return{moves:n,excludedChanges:h}}return{moves:n,excludedChanges:h}}(t,i,e,o);if(!o.isValid())return[];const c=function(t,i,e,s,n,o){const r=[],h=new $p;for(const e of t)for(let t=e.original.startLineNumber;tt.modified.startLineNumber),O));for(const i of t){let t=[];for(let s=i.modified.startLineNumber;s{for(const e of t)if(e.originalLineRange.endLineNumberExclusive+1===i.endLineNumberExclusive&&e.modifiedLineRange.endLineNumberExclusive+1===n.endLineNumberExclusive)return e.originalLineRange=new rp(e.originalLineRange.startLineNumber,i.endLineNumberExclusive),e.modifiedLineRange=new rp(e.modifiedLineRange.startLineNumber,n.endLineNumberExclusive),void o.push(e);const e={modifiedLineRange:n,originalLineRange:i};c.push(e),o.push(e)})),t=o}if(!o.isValid())return[]}c.sort(_(R((t=>t.modifiedLineRange.length),O)));const a=new hp,l=new hp;for(const t of c){const i=t.modifiedLineRange.startLineNumber-t.originalLineRange.startLineNumber,e=a.subtractFrom(t.modifiedLineRange),s=l.subtractFrom(t.originalLineRange).getWithDelta(i),n=e.getIntersection(s);for(const t of n.ranges){if(t.length<3)continue;const e=t,s=t.delta(-i);r.push(new cp(s,e)),a.addRange(e),l.addRange(s)}}r.sort(R((t=>t.original.startLineNumber),O));const u=new sp(t);for(let i=0;it.original.startLineNumber<=e.original.startLineNumber)),c=tp(t,(t=>t.modified.startLineNumber<=e.modified.startLineNumber)),d=Math.max(e.original.startLineNumber-h.original.startLineNumber,e.modified.startLineNumber-c.modified.startLineNumber),f=u.findLastMonotonous((t=>t.original.startLineNumbert.modified.startLineNumbers.length||i>n.length)break;if(a.contains(i)||l.contains(t))break;if(!Up(s[t-1],n[i-1],o))break}for(m>0&&(l.addRange(new rp(e.original.startLineNumber-m,e.original.startLineNumber)),a.addRange(new rp(e.modified.startLineNumber-m,e.modified.startLineNumber))),w=0;ws.length||i>n.length)break;if(a.contains(i)||l.contains(t))break;if(!Up(s[t-1],n[i-1],o))break}w>0&&(l.addRange(new rp(e.original.endLineNumberExclusive,e.original.endLineNumberExclusive+w)),a.addRange(new rp(e.modified.endLineNumberExclusive,e.modified.endLineNumberExclusive+w))),(m>0||w>0)&&(r[i]=new cp(new rp(e.original.startLineNumber-m,e.original.endLineNumberExclusive+w),new rp(e.modified.startLineNumber-m,e.modified.endLineNumberExclusive+w)))}return r}(t.filter((t=>!h.has(t))),s,n,i,e,o);return A(r,c),r=function(t){if(0===t.length)return t;t.sort(R((t=>t.original.startLineNumber),O));const i=[t[0]];for(let e=1;e=0&&r>=0&&o+r<=2?i[i.length-1]=s.join(n):i.push(n)}return i}(r),r=r.filter((t=>{const e=t.original.toOffsetRange().slice(i).map((t=>t.trim()));return e.join("\n").length>=15&&function(t){let i=0;for(const e of t)e.length>=2&&i++;return i}(e)>=2})),r=function(t,i){const e=new sp(t);return i.filter((i=>(e.findLastMonotonous((t=>t.original.startLineNumbert.modified.startLineNumber{const s=Yp(this.refineDiff(i,e,new xp(t.original.toOffsetRange(),t.modified.toOffsetRange()),o,r).mappings,i,e,!0);return new Qf(t,s)}))}refineDiff(t,i,e,s,n){const o=new Wp(t,e.seq1Range,n),r=new Wp(i,e.seq2Range,n),h=o.length+r.length<500?this.dynamicProgrammingDiffing.compute(o,r,s):this.myersDiffingAlgorithm.compute(o,r,s);let c=h.diffs;return c=qp(o,r,c),c=function(t,i,e){const s=[];let n;function o(){if(!n)return;const t=n.s1Range.length-n.deleted;Math.max(n.deleted,n.added)+(n.count-1)>t&&s.push(new xp(n.s1Range,n.s2Range)),n=void 0}for(const r of e){function h(t,i){var e,s,h,c;if(!n||!n.s1Range.containsRange(t)||!n.s2Range.containsRange(i))if(!n||n.s1Range.endExclusive0||i.length>0;){const s=t[0],n=i[0];let o;o=s&&(!n||s.seq1Range.start0&&e[e.length-1].seq1Range.endExclusive>=o.seq1Range.start?e[e.length-1]=e[e.length-1].join(o):e.push(o)}return e}(e,s)}(o,r,c),c=function(t,i,e){const s=[];for(const t of e){const i=s[s.length-1];i&&(t.seq1Range.start-i.seq1Range.endExclusive<=2||t.seq2Range.start-i.seq2Range.endExclusive<=2)?s[s.length-1]=new xp(i.seq1Range.join(t.seq1Range),i.seq2Range.join(t.seq2Range)):s.push(t)}return s}(0,0,c),c=function(t,i,e){let s=e;if(0===s.length)return s;let n,o=0;do{n=!1;const h=[s[0]];for(let c=1;c5||n.length>500)return!1;const o=t.getText(n).trim();if(o.length>20||o.split(/\r\n|\r|\n/).length>1)return!1;const r=t.countLinesIn(e.seq1Range),h=e.seq1Range.length,c=i.countLinesIn(e.seq2Range),u=e.seq2Range.length,d=t.countLinesIn(s.seq1Range),f=s.seq1Range.length,p=i.countLinesIn(s.seq2Range),g=s.seq2Range.length;function m(t){return Math.min(t,130)}return Math.pow(Math.pow(m(40*r+h),1.5)+Math.pow(m(40*c+u),1.5),1.5)+Math.pow(Math.pow(m(40*d+f),1.5)+Math.pow(m(40*p+g),1.5),1.5)>74184.96480721243}u(l,a)?(n=!0,h[h.length-1]=h[h.length-1].join(a)):h.push(a)}s=h}while(o++<10&&n);const r=[];return function(t,i){for(let e=0;e{let n=e;function o(t){return t.length>0&&t.trim().length<=3&&e.seq1Range.length+e.seq2Range.length>100}const h=t.extendToFullLines(e.seq1Range),c=t.getText(new Jf(h.start,e.seq1Range.start));o(c)&&(n=n.deltaStart(-c.length));const a=t.getText(new Jf(e.seq1Range.endExclusive,h.endExclusive));o(a)&&(n=n.deltaEnd(a.length));const l=xp.fromOffsetPairs(i?i.getEndExclusives():Cp.zero,s?s.getStarts():Cp.max),u=n.intersect(l);r.push(u)})),r}(o,r,c),{mappings:c.map((t=>new lp(o.translateRange(t.seq1Range),r.translateRange(t.seq2Range)))),hitTimeout:h.hitTimeout}}}function Yp(t,i,e,s=!1){const n=[];for(const s of g(t.map((t=>function(t,i,e){let s=0,n=0;1===t.modifiedRange.endColumn&&1===t.originalRange.endColumn&&t.originalRange.startLineNumber+s<=t.originalRange.endLineNumber&&t.modifiedRange.startLineNumber+s<=t.modifiedRange.endLineNumber&&(n=-1),t.modifiedRange.startColumn-1>=e[t.modifiedRange.startLineNumber-1].length&&t.originalRange.startColumn-1>=i[t.originalRange.startLineNumber-1].length&&t.originalRange.startLineNumber<=t.originalRange.endLineNumber+n&&t.modifiedRange.startLineNumber<=t.modifiedRange.endLineNumber+n&&(s=1);const o=new rp(t.originalRange.startLineNumber+s,t.originalRange.endLineNumber+1+n),r=new rp(t.modifiedRange.startLineNumber+s,t.modifiedRange.endLineNumber+1+n);return new ap(o,r,[t])}(t,i,e))),((t,i)=>t.original.overlapOrTouch(i.original)||t.modified.overlapOrTouch(i.modified)))){const t=s[0],i=s[s.length-1];n.push(new ap(t.original.join(i.original),t.modified.join(i.modified),s.map((t=>t.innerChanges[0]))))}return Ch((()=>!(!s&&n.length>0&&n[0].original.startLineNumber!==n[0].modified.startLineNumber)&&Sh(n,((t,i)=>i.original.startLineNumber-t.original.endLineNumberExclusive==i.modified.startLineNumber-t.modified.endLineNumberExclusive&&t.original.endLineNumberExclusive0){switch(c=Math.min(a<=.5?l/(2*a):l/(2-2*a),1),o){case i:h=(e-s)/l+(e1&&(e-=1),e<1/6?t+6*(i-t)*e:e<.5?i:e<2/3?t+(i-t)*(2/3-e)*6:t}static toRGBA(t){const i=t.h/360,{s:e,l:s,a:n}=t;let o,r,h;if(0===e)o=r=h=s;else{const t=s<.5?s*(1+e):s+e-s*e,n=2*s-t;o=ig._hue2rgb(n,t,i+1/3),r=ig._hue2rgb(n,t,i),h=ig._hue2rgb(n,t,i-1/3)}return new tg(Math.round(255*o),Math.round(255*r),Math.round(255*h),n)}}class eg{constructor(t,i,e,s){this._hsvaBrand=void 0,this.h=0|Math.max(Math.min(360,t),0),this.s=Xp(Math.max(Math.min(1,i),0),3),this.v=Xp(Math.max(Math.min(1,e),0),3),this.a=Xp(Math.max(Math.min(1,s),0),3)}static equals(t,i){return t.h===i.h&&t.s===i.s&&t.v===i.v&&t.a===i.a}static fromRGBA(t){const i=t.r/255,e=t.g/255,s=t.b/255,n=Math.max(i,e,s),o=n-Math.min(i,e,s),r=0===n?0:o/n;let h;return h=0===o?0:n===i?((e-s)/o%6+6)%6:n===e?(s-i)/o+2:(i-e)/o+4,new eg(Math.round(60*h),r,n,t.a)}static toRGBA(t){const{h:i,s:e,v:s,a:n}=t,o=s*e,r=o*(1-Math.abs(i/60%2-1)),h=s-o;let[c,a,l]=[0,0,0];return i<60?(c=o,a=r):i<120?(c=r,a=o):i<180?(a=o,l=r):i<240?(a=r,l=o):i<300?(c=r,l=o):i<=360&&(c=o,l=r),c=Math.round(255*(c+h)),a=Math.round(255*(a+h)),l=Math.round(255*(l+h)),new tg(c,a,l,n)}}class sg{static fromHex(t){return sg.Format.CSS.parseHex(t)||sg.red}static equals(t,i){return!t&&!i||!(!t||!i)&&t.equals(i)}get hsla(){return this._hsla?this._hsla:ig.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:eg.fromRGBA(this.rgba)}constructor(t){if(!t)throw new Error("Color needs a value");if(t instanceof tg)this.rgba=t;else if(t instanceof ig)this._hsla=t,this.rgba=ig.toRGBA(t);else{if(!(t instanceof eg))throw new Error("Invalid color ctor argument");this._hsva=t,this.rgba=eg.toRGBA(t)}}equals(t){return!!t&&tg.equals(this.rgba,t.rgba)&&ig.equals(this.hsla,t.hsla)&&eg.equals(this.hsva,t.hsva)}getRelativeLuminance(){return Xp(.2126*sg._relativeLuminanceForComponent(this.rgba.r)+.7152*sg._relativeLuminanceForComponent(this.rgba.g)+.0722*sg._relativeLuminanceForComponent(this.rgba.b),4)}static _relativeLuminanceForComponent(t){const i=t/255;return i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4)}isLighter(){return(299*this.rgba.r+587*this.rgba.g+114*this.rgba.b)/1e3>=128}isLighterThan(t){return this.getRelativeLuminance()>t.getRelativeLuminance()}isDarkerThan(t){return this.getRelativeLuminance()this._lines.length)i=this._lines.length,e=this._lines[i-1].length+1,s=!0;else{const t=this._lines[i-1].length+1;e<1?(e=1,s=!0):e>t&&(e=t,s=!0)}return s?{lineNumber:i,column:e}:t}}class dg{constructor(t,i){this._host=t,this._models=Object.create(null),this._foreignModuleFactory=i,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(t){return this._models[t]}_getModels(){const t=[];return Object.keys(this._models).forEach((i=>t.push(this._models[i]))),t}acceptNewModel(t){this._models[t.url]=new ug(ms.parse(t.url),t.lines,t.EOL,t.versionId)}acceptModelChanged(t,i){this._models[t]&&this._models[t].onEvents(i)}acceptRemovedModel(t){this._models[t]&&delete this._models[t]}async computeUnicodeHighlights(t,i,e){const s=this._getModel(t);return s?qf.computeUnicodeHighlights(s,i,e):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async computeDiff(t,i,e,s){const n=this._getModel(t),o=this._getModel(i);return n&&o?dg.computeDiff(n,o,e,s):null}static computeDiff(t,i,e,s){const n="advanced"===s?new Jp:new up,o=t.getLinesContent(),r=i.getLinesContent(),h=n.computeDiff(o,r,e);function c(t){return t.map((t=>{var i;return[t.original.startLineNumber,t.original.endLineNumberExclusive,t.modified.startLineNumber,t.modified.endLineNumberExclusive,null===(i=t.innerChanges)||void 0===i?void 0:i.map((t=>[t.originalRange.startLineNumber,t.originalRange.startColumn,t.originalRange.endLineNumber,t.originalRange.endColumn,t.modifiedRange.startLineNumber,t.modifiedRange.startColumn,t.modifiedRange.endLineNumber,t.modifiedRange.endColumn]))]}))}return{identical:!(h.changes.length>0)&&this._modelsAreIdentical(t,i),quitEarly:h.hitTimeout,changes:c(h.changes),moves:h.moves.map((t=>[t.lineRangeMapping.original.startLineNumber,t.lineRangeMapping.original.endLineNumberExclusive,t.lineRangeMapping.modified.startLineNumber,t.lineRangeMapping.modified.endLineNumberExclusive,c(t.changes)]))}}static _modelsAreIdentical(t,i){const e=t.getLineCount();if(e!==i.getLineCount())return!1;for(let s=1;s<=e;s++)if(t.getLineContent(s)!==i.getLineContent(s))return!1;return!0}async computeMoreMinimalEdits(t,i,e){const s=this._getModel(t);if(!s)return i;const n=[];let o;i=i.slice(0).sort(((t,i)=>t.range&&i.range?Ms.compareRangesUsingStarts(t.range,i.range):(t.range?0:1)-(i.range?0:1)));let r=0;for(let t=1;tdg._diffLimit){n.push({range:t,text:r});continue}const c=hf(i,r,e),a=s.offsetAt(Ms.lift(t).getStartPosition());for(const t of c){const i=s.positionAt(a+t.originalStart),e=s.positionAt(a+t.originalStart+t.originalLength),o={text:r.substr(t.modifiedStart,t.modifiedLength),range:{startLineNumber:i.lineNumber,startColumn:i.column,endLineNumber:e.lineNumber,endColumn:e.column}};s.getValueInRange(o.range)!==o.text&&n.push(o)}}return"number"==typeof o&&n.push({eol:o,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),n}async computeLinks(t){const i=this._getModel(t);return i?function(t){return t&&"function"==typeof t.getLineCount&&"function"==typeof t.getLineContent?Sf.computeLinks(t):[]}(i):null}async computeDefaultDocumentColors(t){const i=this._getModel(t);return i?function(t){return t&&"function"==typeof t.getValue&&"function"==typeof t.positionAt?function(t){const i=[],e=lg(t,/\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(e.length>0)for(const s of e){const e=s.filter((t=>void 0!==t)),n=e[1],o=e[2];if(!o)continue;let r;if("rgb"===n){const i=/^\(\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;r=cg(rg(t,s),lg(o,i),!1)}else if("rgba"===n){const i=/^\(\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;r=cg(rg(t,s),lg(o,i),!0)}else if("hsl"===n){const i=/^\(\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;r=ag(rg(t,s),lg(o,i),!1)}else if("hsla"===n){const i=/^\(\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;r=ag(rg(t,s),lg(o,i),!0)}else"#"===n&&(r=hg(rg(t,s),n+o));r&&i.push(r)}return i}(t):[]}(i):null}async textualSuggest(t,i,e,s){const n=new he,o=new RegExp(e,s),r=new Set;t:for(const e of t){const t=this._getModel(e);if(t)for(const e of t.words(o))if(e!==i&&isNaN(Number(e))&&(r.add(e),r.size>dg._suggestionsLimit))break t}return{words:Array.from(r),duration:n.elapsed()}}async computeWordRanges(t,i,e,s){const n=this._getModel(t);if(!n)return Object.create(null);const o=new RegExp(e,s),r=Object.create(null);for(let t=i.startLineNumber;tfunction(){const e=Array.prototype.slice.call(arguments,0);return i(t,e)},s={};for(const i of t)s[i]=e(i);return s}(e,((t,i)=>this._host.fhr(t,i)));return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory({host:s,getMirrorModels:()=>this._getModels()},i),Promise.resolve(st(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(t,i){if(!this._foreignModule||"function"!=typeof this._foreignModule[t])return Promise.reject(new Error("Missing requestHandler or method: "+t));try{return Promise.resolve(this._foreignModule[t].apply(this._foreignModule,i))}catch(t){return Promise.reject(t)}}}dg._diffLimit=1e5,dg._suggestionsLimit=1e4,"function"==typeof importScripts&&(globalThis.monaco=Pn());const fg=dr("textResourceConfigurationService"),pg=dr("textResourcePropertiesService"),gg=dr("ILanguageFeaturesService");var mg=function(t,i){return function(e,s){i(e,s,t)}};function wg(t,i){const e=t.getModel(i);return!!e&&!e.isTooLargeForSyncing()}let vg=class extends ie{constructor(t,i,e,s,n){super(),this._modelService=t,this._workerManager=this._register(new yg(this._modelService,s)),this._logService=e,this._register(n.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:t=>wg(this._modelService,t.uri)?this._workerManager.withWorker().then((i=>i.computeLinks(t.uri))).then((t=>t&&{links:t})):Promise.resolve({links:[]})})),this._register(n.completionProvider.register("*",new bg(this._workerManager,i,this._modelService,s)))}dispose(){super.dispose()}canComputeUnicodeHighlights(t){return wg(this._modelService,t)}computedUnicodeHighlights(t,i,e){return this._workerManager.withWorker().then((s=>s.computedUnicodeHighlights(t,i,e)))}async computeDiff(t,i,e,s){const n=await this._workerManager.withWorker().then((n=>n.computeDiff(t,i,e,s)));return n?{identical:n.identical,quitEarly:n.quitEarly,changes:o(n.changes),moves:n.moves.map((t=>new Qf(new cp(new rp(t[0],t[1]),new rp(t[2],t[3])),o(t[4]))))}:null;function o(t){return t.map((t=>{var i;return new ap(new rp(t[0],t[1]),new rp(t[2],t[3]),null===(i=t[4])||void 0===i?void 0:i.map((t=>new lp(new Ms(t[0],t[1],t[2],t[3]),new Ms(t[4],t[5],t[6],t[7])))))}))}}computeMoreMinimalEdits(t,i,e=!1){if(y(i)){if(!wg(this._modelService,t))return Promise.resolve(i);const s=he.create(),n=this._workerManager.withWorker().then((s=>s.computeMoreMinimalEdits(t,i,e)));return n.finally((()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",t.toString(!0),s.elapsed()))),Promise.race([n,ac(1e3).then((()=>i))])}return Promise.resolve(void 0)}canNavigateValueSet(t){return wg(this._modelService,t)}navigateValueSet(t,i,e){return this._workerManager.withWorker().then((s=>s.navigateValueSet(t,i,e)))}canComputeWordRanges(t){return wg(this._modelService,t)}computeWordRanges(t,i){return this._workerManager.withWorker().then((e=>e.computeWordRanges(t,i)))}};vg=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([mg(0,pr),mg(1,fg),mg(2,jh),mg(3,qd),mg(4,gg)],vg);class bg{constructor(t,i,e,s){this.languageConfigurationService=s,this._debugDisplayName="wordbasedCompletions",this._workerManager=t,this._configurationService=i,this._modelService=e}async provideCompletionItems(t,i){const e=this._configurationService.getValue(t.uri,i,"editor");if("off"===e.wordBasedSuggestions)return;const s=[];if("currentDocument"===e.wordBasedSuggestions)wg(this._modelService,t.uri)&&s.push(t.uri);else for(const i of this._modelService.getModels())wg(this._modelService,i.uri)&&(i===t?s.unshift(i.uri):"allDocuments"!==e.wordBasedSuggestions&&i.getLanguageId()!==t.getLanguageId()||s.push(i.uri));if(0===s.length)return;const n=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition(),o=t.getWordAtPosition(i),r=o?new Ms(i.lineNumber,o.startColumn,i.lineNumber,o.endColumn):Ms.fromPositions(i),h=r.setEndPosition(i.lineNumber,i.column),c=await this._workerManager.withWorker(),a=await c.textualSuggest(s,null==o?void 0:o.word,n);return a?{duration:a.duration,suggestions:a.words.map((t=>({kind:18,label:t,insertText:t,range:{insert:h,replace:r}})))}:void 0}}class yg extends ie{constructor(t,i){super(),this.languageConfigurationService=i,this._modelService=t,this._editorWorkerClient=null,this._lastWorkerUsedTime=(new Date).getTime(),this._register(new Ja).cancelAndSet((()=>this._checkStopIdleWorker()),Math.round(15e4),Wn),this._register(this._modelService.onModelRemoved((()=>this._checkStopEmptyWorker())))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&0===this._modelService.getModels().length&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&(new Date).getTime()-this._lastWorkerUsedTime>3e5&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=(new Date).getTime(),this._editorWorkerClient||(this._editorWorkerClient=new Sg(this._modelService,!1,"editorWorkerService",this.languageConfigurationService)),Promise.resolve(this._editorWorkerClient)}}class kg extends ie{constructor(t,i,e){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=t,this._modelService=i,!e){const t=new fc;t.cancelAndSet((()=>this._checkStopModelSync()),Math.round(3e4)),this._register(t)}}dispose(){for(const t in this._syncedModels)Ji(this._syncedModels[t]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(t,i){for(const e of t){const t=e.toString();this._syncedModels[t]||this._beginModelSync(e,i),this._syncedModels[t]&&(this._syncedModelsLastUsedTime[t]=(new Date).getTime())}}_checkStopModelSync(){const t=(new Date).getTime(),i=[];for(const e in this._syncedModelsLastUsedTime)t-this._syncedModelsLastUsedTime[e]>6e4&&i.push(e);for(const t of i)this._stopModelSync(t)}_beginModelSync(t,i){const e=this._modelService.getModel(t);if(!e)return;if(!i&&e.isTooLargeForSyncing())return;const s=t.toString();this._proxy.acceptNewModel({url:e.uri.toString(),lines:e.getLinesContent(),EOL:e.getEOL(),versionId:e.getVersionId()});const n=new te;n.add(e.onDidChangeContent((t=>{this._proxy.acceptModelChanged(s.toString(),t)}))),n.add(e.onWillDispose((()=>{this._stopModelSync(s)}))),n.add(Xi((()=>{this._proxy.acceptRemovedModel(s)}))),this._syncedModels[s]=n}_stopModelSync(t){const i=this._syncedModels[t];delete this._syncedModels[t],delete this._syncedModelsLastUsedTime[t],Ji(i)}}class xg{constructor(t){this._instance=t,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class Cg{constructor(t){this._workerClient=t}fhr(t,i){return this._workerClient.fhr(t,i)}}class Sg extends ie{constructor(t,i,e,s){super(),this.languageConfigurationService=s,this._disposed=!1,this._modelService=t,this._keepIdleModels=i,this._workerFactory=new Tu(e),this._worker=null,this._modelManager=null}fhr(t,i){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new Du(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new Cg(this)))}catch(t){vu(t),this._worker=new xg(new dg(new Cg(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,(t=>(vu(t),this._worker=new xg(new dg(new Cg(this),null)),this._getOrCreateWorker().getProxyObject())))}_getOrCreateModelManager(t){return this._modelManager||(this._modelManager=this._register(new kg(t,this._modelService,this._keepIdleModels))),this._modelManager}async _withSyncedResources(t,i=!1){return this._disposed?Promise.reject(function(){const t=new Error(ji);return t.name=t.message,t}()):this._getProxy().then((e=>(this._getOrCreateModelManager(e).ensureSyncedResources(t,i),e)))}computedUnicodeHighlights(t,i,e){return this._withSyncedResources([t]).then((s=>s.computeUnicodeHighlights(t.toString(),i,e)))}computeDiff(t,i,e,s){return this._withSyncedResources([t,i],!0).then((n=>n.computeDiff(t.toString(),i.toString(),e,s)))}computeMoreMinimalEdits(t,i,e){return this._withSyncedResources([t]).then((s=>s.computeMoreMinimalEdits(t.toString(),i,e)))}computeLinks(t){return this._withSyncedResources([t]).then((i=>i.computeLinks(t.toString())))}computeDefaultDocumentColors(t){return this._withSyncedResources([t]).then((i=>i.computeDefaultDocumentColors(t.toString())))}async textualSuggest(t,i,e){const s=await this._withSyncedResources(t),n=e.source,o=e.flags;return s.textualSuggest(t.map((t=>t.toString())),i,n,o)}computeWordRanges(t,i){return this._withSyncedResources([t]).then((e=>{const s=this._modelService.getModel(t);if(!s)return Promise.resolve(null);const n=this.languageConfigurationService.getLanguageConfiguration(s.getLanguageId()).getWordDefinition(),o=n.source,r=n.flags;return e.computeWordRanges(t.toString(),i,o,r)}))}navigateValueSet(t,i,e){return this._withSyncedResources([t]).then((s=>{const n=this._modelService.getModel(t);if(!n)return null;const o=this.languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),r=o.source,h=o.flags;return s.navigateValueSet(t.toString(),i,e,r,h)}))}dispose(){super.dispose(),this._disposed=!0}}class Dg extends Sg{constructor(t,i,e){super(t,e.keepIdleModels||!1,e.label,i),this._foreignModuleId=e.moduleId,this._foreignModuleCreateData=e.createData||null,this._foreignModuleHost=e.host||null,this._foreignProxy=null}fhr(t,i){if(!this._foreignModuleHost||"function"!=typeof this._foreignModuleHost[t])return Promise.reject(new Error("Missing method "+t+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[t].apply(this._foreignModuleHost,i))}catch(t){return Promise.reject(t)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then((t=>{const i=this._foreignModuleHost?st(this._foreignModuleHost):[];return t.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,i).then((i=>{this._foreignModuleCreateData=null;const e=(i,e)=>t.fmr(i,e),s=(t,i)=>function(){const e=Array.prototype.slice.call(arguments,0);return i(t,e)},n={};for(const t of i)n[t]=s(t,e);return n}))}))),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(t){return this._withSyncedResources(t).then((()=>this.getProxy()))}}const Eg={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"},Ag=new class{clone(){return this}equals(t){return this===t}};function Mg(t,i){return new Ns([new _s(0,"",t)],i)}function Lg(t,i){const e=new Uint32Array(2);return e[0]=0,e[1]=(32768|t<<0|2<<24)>>>0,new Bs(e,null===i?Ag:i)}class Fg{static getLanguageId(t){return(255&t)>>>0}static getTokenType(t){return(768&t)>>>8}static containsBalancedBrackets(t){return 0!=(1024&t)}static getFontStyle(t){return(30720&t)>>>11}static getForeground(t){return(16744448&t)>>>15}static getBackground(t){return(4278190080&t)>>>24}static getClassNameFromMetadata(t){let i="mtk"+this.getForeground(t);const e=this.getFontStyle(t);return 1&e&&(i+=" mtki"),2&e&&(i+=" mtkb"),4&e&&(i+=" mtku"),8&e&&(i+=" mtks"),i}static getInlineStyleFromMetadata(t,i){const e=this.getForeground(t),s=this.getFontStyle(t);let n=`color: ${i[e]};`;1&s&&(n+="font-style: italic;"),2&s&&(n+="font-weight: bold;");let o="";return 4&s&&(o+=" underline"),8&s&&(o+=" line-through"),o&&(n+=`text-decoration:${o};`),n}static getPresentationFromMetadata(t){const i=this.getForeground(t),e=this.getFontStyle(t);return{foreground:i,italic:Boolean(1&e),bold:Boolean(2&e),underline:Boolean(4&e),strikethrough:Boolean(8&e)}}}class Tg{static createEmpty(t,i){const e=Tg.defaultTokenMetadata,s=new Uint32Array(2);return s[0]=t.length,s[1]=e,new Tg(s,t,i)}constructor(t,i,e){this._lineTokensBrand=void 0,this._tokens=t,this._tokensCount=this._tokens.length>>>1,this._text=i,this._languageIdCodec=e}equals(t){return t instanceof Tg&&this.slicedEquals(t,0,this._tokensCount)}slicedEquals(t,i,e){if(this._text!==t._text)return!1;if(this._tokensCount!==t._tokensCount)return!1;const s=i<<1,n=s+(e<<1);for(let i=s;i0?this._tokens[t-1<<1]:0}getMetadata(t){return this._tokens[1+(t<<1)]}getLanguageId(t){const i=Fg.getLanguageId(this._tokens[1+(t<<1)]);return this._languageIdCodec.decodeLanguageId(i)}getStandardTokenType(t){return Fg.getTokenType(this._tokens[1+(t<<1)])}getForeground(t){return Fg.getForeground(this._tokens[1+(t<<1)])}getClassName(t){return Fg.getClassNameFromMetadata(this._tokens[1+(t<<1)])}getInlineStyle(t,i){return Fg.getInlineStyleFromMetadata(this._tokens[1+(t<<1)],i)}getPresentation(t){return Fg.getPresentationFromMetadata(this._tokens[1+(t<<1)])}getEndOffset(t){return this._tokens[t<<1]}findTokenIndexAtOffset(t){return Tg.findIndexInTokensArray(this._tokens,t)}inflate(){return this}sliceAndInflate(t,i,e){return new Rg(this,t,i,e)}static convertToEndOffset(t,i){const e=(t.length>>>1)-1;for(let i=0;i>>1)-1;for(;ei&&(s=n)}return e}withInserted(t){if(0===t.length)return this;let i=0,e=0,s="";const n=new Array;let o=0;for(;;){const r=io&&(s+=this._text.substring(o,h.offset),n.push(s.length,this._tokens[1+(i<<1)]),o=h.offset),s+=h.text,n.push(s.length,h.tokenMetadata),e++}}return new Tg(new Uint32Array(n),s,this._languageIdCodec)}}Tg.defaultTokenMetadata=33587200;class Rg{constructor(t,i,e,s){this._source=t,this._startOffset=i,this._endOffset=e,this._deltaOffset=s,this._firstTokenIndex=t.findTokenIndexAtOffset(i),this._tokensCount=0;for(let i=this._firstTokenIndex,s=t.getCount();i=e);i++)this._tokensCount++}getMetadata(t){return this._source.getMetadata(this._firstTokenIndex+t)}getLanguageId(t){return this._source.getLanguageId(this._firstTokenIndex+t)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(t){return t instanceof Rg&&this._startOffset===t._startOffset&&this._endOffset===t._endOffset&&this._deltaOffset===t._deltaOffset&&this._source.slicedEquals(t._source,this._firstTokenIndex,this._tokensCount)}getCount(){return this._tokensCount}getForeground(t){return this._source.getForeground(this._firstTokenIndex+t)}getEndOffset(t){const i=this._source.getEndOffset(this._firstTokenIndex+t);return Math.min(this._endOffset,i)-this._startOffset+this._deltaOffset}getClassName(t){return this._source.getClassName(this._firstTokenIndex+t)}getInlineStyle(t,i){return this._source.getInlineStyle(this._firstTokenIndex+t,i)}getPresentation(t){return this._source.getPresentation(this._firstTokenIndex+t)}findTokenIndexAtOffset(t){return this._source.findTokenIndexAtOffset(t+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}class Og{constructor(t,i,e,s){this.startColumn=t,this.endColumn=i,this.className=e,this.type=s,this._lineDecorationBrand=void 0}static _equals(t,i){return t.startColumn===i.startColumn&&t.endColumn===i.endColumn&&t.className===i.className&&t.type===i.type}static equalsArr(t,i){const e=t.length;if(e!==i.length)return!1;for(let s=0;s=n||(r[h++]=new Og(Math.max(1,i.startColumn-s+1),Math.min(o+1,i.endColumn-s+1),i.className,i.type));return r}static filter(t,i,e,s){if(0===t.length)return[];const n=[];let o=0;for(let r=0,h=t.length;ri||(!c.isEmpty()||0!==h.type&&3!==h.type)&&(n[o++]=new Og(c.startLineNumber===i?c.startColumn:e,c.endLineNumber===i?c.endColumn:s,h.inlineClassName,h.type))}return n}static _typeCompare(t,i){const e=[2,0,1,3];return e[t]-e[i]}static compare(t,i){if(t.startColumn!==i.startColumn)return t.startColumn-i.startColumn;if(t.endColumn!==i.endColumn)return t.endColumn-i.endColumn;const e=Og._typeCompare(t.type,i.type);return 0!==e?e:t.className!==i.className?t.className0&&this.stopOffsets[0]0&&i=t){this.stopOffsets.splice(s,0,t),this.classNames.splice(s,0,i),this.metadata.splice(s,0,e);break}this.count++}}class Ng{static normalize(t,i){if(0===i.length)return[];const e=[],s=new _g;let n=0;for(let o=0,r=i.length;o1&&go(t.charCodeAt(h-2))&&h--,c>1&&go(t.charCodeAt(c-2))&&c--;const u=h-1,d=c-2;n=s.consumeLowerThan(u,n,e),0===s.count&&(n=u),s.insert(d,a,l)}return s.consumeLowerThan(1073741824,n,e),e}}class Bg{constructor(t,i,e,s){this.endIndex=t,this.type=i,this.metadata=e,this.containsRTL=s,this._linePartBrand=void 0}isWhitespace(){return!!(1&this.metadata)}isPseudoAfter(){return!!(4&this.metadata)}}class Pg{constructor(t,i){this.startOffset=t,this.endOffset=i}equals(t){return this.startOffset===t.startOffset&&this.endOffset===t.endOffset}}class $g{constructor(t,i,e,s,n,o,r,h,c,a,l,u,d,f,p,g,m,w,v){this.useMonospaceOptimizations=t,this.canUseHalfwidthRightwardsArrow=i,this.lineContent=e,this.continuesWithWrappedLine=s,this.isBasicASCII=n,this.containsRTL=o,this.fauxIndentLength=r,this.lineTokens=h,this.lineDecorations=c.sort(Og.compare),this.tabSize=a,this.startVisibleColumn=l,this.spaceWidth=u,this.stopRenderingLineAfter=p,this.renderWhitespace="all"===g?4:"boundary"===g?1:"selection"===g?2:"trailing"===g?3:0,this.renderControlCharacters=m,this.fontLigatures=w,this.selectionsOnLine=v&&v.sort(((t,i)=>t.startOffset>>16}static getCharIndex(t){return(65535&t)>>>0}constructor(t,i){this.length=t,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(t,i,e,s){this._data[t-1]=(i<<16|e<<0)>>>0,this._horizontalOffset[t-1]=s}getHorizontalOffset(t){return 0===this._horizontalOffset.length?0:this._horizontalOffset[t-1]}charOffsetToPartData(t){return 0===this.length?0:t<0?this._data[0]:t>=this.length?this._data[this.length-1]:this._data[t]}getDomPosition(t){const i=this.charOffsetToPartData(t-1),e=jg.getPartIndex(i),s=jg.getCharIndex(i);return new Wg(e,s)}getColumn(t,i){return this.partDataToCharOffset(t.partIndex,i,t.charIndex)+1}partDataToCharOffset(t,i,e){if(0===this.length)return 0;const s=(t<<16|e<<0)>>>0;let n=0,o=this.length-1;for(;n+1>>1,i=this._data[t];if(i===s)return t;i>s?o=t:n=t}if(n===o)return n;const r=this._data[n],h=this._data[o];if(r===s)return n;if(h===s)return o;const c=jg.getPartIndex(r),a=jg.getCharIndex(r);let l;return l=c!==jg.getPartIndex(h)?i:jg.getCharIndex(h),e-a<=l-e?n:o}}class zg{constructor(t,i,e){this._renderLineOutputBrand=void 0,this.characterMapping=t,this.containsRTL=i,this.containsForeignElements=e}}function Hg(t,i){if(0===t.lineContent.length){if(t.lineDecorations.length>0){i.appendString("");let e=0,s=0,n=0;for(const o of t.lineDecorations)1!==o.type&&2!==o.type||(i.appendString(''),1===o.type&&(n|=1,e++),2===o.type&&(n|=2,s++));i.appendString("");const o=new jg(1,e+s);return o.setColumnInfo(1,e,0,0),new zg(o,!1,n)}return i.appendString(""),new zg(new jg(0,0),!1,0)}return function(t,i){const e=t.fontIsMonospace,s=t.canUseHalfwidthRightwardsArrow,n=t.containsForeignElements,o=t.lineContent,r=t.len,h=t.isOverflowing,c=t.overflowingCharCount,a=t.parts,l=t.fauxIndentLength,u=t.tabSize,d=t.startVisibleColumn,f=t.containsRTL,p=t.spaceWidth,g=t.renderSpaceCharCode,m=t.renderWhitespace,w=t.renderControlCharacters,v=new jg(r+1,a.length);let b=!1,y=0,k=d,x=0,C=0,S=0;i.appendString(f?'':"");for(let t=0,h=a.length;t=l&&(i+=s)}}for(E&&(i.appendString(' style="width:'),i.appendString(String(p*e)),i.appendString('px"')),i.appendASCIICharCode(62);y1?8594:65515);for(let t=2;t<=n;t++)i.appendCharCode(160)}else e=2,n=1,i.appendCharCode(g),i.appendCharCode(8204);x+=e,C+=n,y>=l&&(k+=n)}}else for(i.appendASCIICharCode(62);y=l&&(k+=n)}A?S++:S=0,y>=r&&!b&&h.isPseudoAfter()&&(b=!0,v.setColumnInfo(y+1,t,x,C)),i.appendString("")}return b||v.setColumnInfo(r+1,a.length-1,x,C),h&&(i.appendString(''),i.appendString(rt(0,"Show more ({0})",function(t){return t<1024?rt(0,"{0} chars",t):t<1048576?`${(t/1024).toFixed(1)} KB`:`${(t/1024/1024).toFixed(1)} MB`}(c))),i.appendString("")),i.appendString(""),new zg(v,f,n)}(function(t){const i=t.lineContent;let e,s,n;-1!==t.stopRenderingLineAfter&&t.stopRenderingLineAfter0&&(o[r++]=new Bg(s,"",0,!1));let h=s;for(let c=0,a=e.getCount();c=n){const e=!!i&&So(t.substring(h,n));o[r++]=new Bg(n,l,0,e);break}const u=!!i&&So(t.substring(h,a));o[r++]=new Bg(a,l,0,u),h=a}return o}(i,t.containsRTL,t.lineTokens,t.fauxIndentLength,n);t.renderControlCharacters&&!t.isBasicASCII&&(o=function(t,i){const e=[];let s=new Bg(0,"",0,!1),n=0;for(const o of i){const i=o.endIndex;for(;ns.endIndex&&(s=new Bg(n,o.type,o.metadata,o.containsRTL),e.push(s)),s=new Bg(n+1,"mtkcontrol",o.metadata,!1),e.push(s));n>s.endIndex&&(s=new Bg(i,o.type,o.metadata,o.containsRTL),e.push(s))}return e}(i,o)),(4===t.renderWhitespace||1===t.renderWhitespace||2===t.renderWhitespace&&t.selectionsOnLine||3===t.renderWhitespace&&!t.continuesWithWrappedLine)&&(o=function(t,i,e,s){const n=t.continuesWithWrappedLine,o=t.fauxIndentLength,r=t.tabSize,h=t.startVisibleColumn,c=t.useMonospaceOptimizations,a=t.selectionsOnLine,l=1===t.renderWhitespace,u=3===t.renderWhitespace,d=t.renderSpaceWidth!==t.spaceWidth,f=[];let p=0,g=0,m=s[g].type,w=s[g].containsRTL,v=s[g].endIndex;const b=s.length;let y,k=!1,x=to(i);-1===x?(k=!0,x=e,y=e):y=eo(i);let C=!1,S=0,D=a&&a[S],E=h%r;for(let t=o;t=D.endOffset&&(S++,D=a&&a[S]),ty)h=!0;else if(9===n)h=!0;else if(32===n)if(l)if(C)h=!0;else{const s=t+1t),h&&u&&(h=k||t>y),h&&w&&t>=x&&t<=y&&(h=!1),C){if(!h||!c&&E>=r){if(d)for(let i=(p>0?f[p-1].endIndex:o)+1;i<=t;i++)f[p++]=new Bg(i,"mtkw",1,!1);else f[p++]=new Bg(t,"mtkw",1,!1);E%=r}}else(t===v||h&&t>o)&&(f[p++]=new Bg(t,m,0,w),E%=r);for(9===n?E=r:Lo(n)?E+=2:E++,C=h;t===v&&(g++,g0?i.charCodeAt(e-1):0,s=e>1?i.charCodeAt(e-2):0;32===t&&32!==s&&9!==s||(A=!0)}else A=!0;if(A)if(d)for(let t=(p>0?f[p-1].endIndex:o)+1;t<=e;t++)f[p++]=new Bg(t,"mtkw",1,!1);else f[p++]=new Bg(e,"mtkw",1,!1);else f[p++]=new Bg(e,m,0,w);return f}(t,i,n,o));let r=0;if(t.lineDecorations.length>0){for(let i=0,e=t.lineDecorations.length;ia&&(a=t.startOffset,h[c++]=new Bg(a,l,u,d)),!(t.endOffset+1<=s)){a=s,h[c++]=new Bg(a,l+" "+t.className,u|t.metadata,d);break}a=t.endOffset+1,h[c++]=new Bg(a,l+" "+t.className,u|t.metadata,d),r++}s>a&&(a=s,h[c++]=new Bg(a,l,u,d))}const l=e[e.length-1].endIndex;if(r=50&&(n[o++]=new Bg(a+1,i,e,c),l=a+1,a=-1);l!==h&&(n[o++]=new Bg(h,i,e,c))}else n[o++]=r;s=h}else for(let t=0,e=i.length;t50){const t=e.type,i=e.metadata,c=e.containsRTL,a=Math.ceil(h/50);for(let e=1;e=8234&&t<=8238||t>=8294&&t<=8297||t>=8206&&t<=8207||1564===t}class Gg{constructor(t,i,e,s){this._viewportBrand=void 0,this.top=0|t,this.left=0|i,this.width=0|e,this.height=0|s}}class Zg{constructor(t,i){this.tabSize=t,this.data=i}}class Qg{constructor(t,i,e,s,n,o,r){this._viewLineDataBrand=void 0,this.content=t,this.continuesWithWrappedLine=i,this.minColumn=e,this.maxColumn=s,this.startVisibleColumn=n,this.tokens=o,this.inlineDecorations=r}}class Jg{constructor(t,i,e,s,n,o,r,h,c,a){this.minColumn=t,this.maxColumn=i,this.content=e,this.continuesWithWrappedLine=s,this.isBasicASCII=Jg.isBasicASCII(e,o),this.containsRTL=Jg.containsRTL(e,this.isBasicASCII,n),this.tokens=r,this.inlineDecorations=h,this.tabSize=c,this.startVisibleColumn=a}static isBasicASCII(t,i){return!i||Eo(t)}static containsRTL(t,i,e){return!(i||!e)&&So(t)}}class Yg{constructor(t,i,e){this.range=t,this.inlineClassName=i,this.type=e}}class Xg{constructor(t,i,e,s){this.startOffset=t,this.endOffset=i,this.inlineClassName=e,this.inlineClassNameAffectsLetterSpacing=s}toInlineDecoration(t){return new Yg(new Ms(t,this.startOffset+1,t,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class tm{constructor(t,i){this._viewModelDecorationBrand=void 0,this.range=t,this.options=i}}class im{constructor(t,i,e){this.color=t,this.zIndex=i,this.data=e}static compareByRenderingProps(t,i){return t.zIndex===i.zIndex?t.colori.color?1:0:t.zIndex-i.zIndex}static equals(t,i){return t.color===i.color&&t.zIndex===i.zIndex&&u(t.data,i.data)}static equalsArr(t,i){return u(t,i,im.equals)}}function em(t){return"string"==typeof t}function sm(t){return!em(t)}function nm(t){return!t}function om(t,i){return t.ignoreCase&&i?i.toLowerCase():i}function rm(t){return t.replace(/[&<>'"_]/g,"-")}function hm(t,i){return new Error(`${t.languageId}: ${i}`)}function cm(t,i,e,s,n){let o=null;return i.replace(/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,(function(i,r,h,c,a,l,u){return nm(h)?nm(c)?!nm(a)&&a0;){const i=t.tokenizer[e];if(i)return i;const s=e.lastIndexOf(".");e=s<0?null:e.substr(0,s)}return null}var lm;class um{static create(t,i){return this._INSTANCE.create(t,i)}constructor(t){this._maxCacheDepth=t,this._entries=Object.create(null)}create(t,i){if(null!==t&&t.depth>=this._maxCacheDepth)return new dm(t,i);let e=dm.getStackElementId(t);e.length>0&&(e+="|"),e+=i;let s=this._entries[e];return s||(s=new dm(t,i),this._entries[e]=s,s)}}um._INSTANCE=new um(5);class dm{constructor(t,i){this.parent=t,this.state=i,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(t){let i="";for(;null!==t;)i.length>0&&(i+="|"),i+=t.state,t=t.parent;return i}static _equals(t,i){for(;null!==t&&null!==i;){if(t===i)return!0;if(t.state!==i.state)return!1;t=t.parent,i=i.parent}return null===t&&null===i}equals(t){return dm._equals(this,t)}push(t){return um.create(this,t)}pop(){return this.parent}popall(){let t=this;for(;t.parent;)t=t.parent;return t}switchTo(t){return um.create(this.parent,t)}}class fm{constructor(t,i){this.languageId=t,this.state=i}equals(t){return this.languageId===t.languageId&&this.state.equals(t.state)}clone(){return this.state.clone()===this.state?this:new fm(this.languageId,this.state)}}class pm{static create(t,i){return this._INSTANCE.create(t,i)}constructor(t){this._maxCacheDepth=t,this._entries=Object.create(null)}create(t,i){if(null!==i)return new gm(t,i);if(null!==t&&t.depth>=this._maxCacheDepth)return new gm(t,i);const e=dm.getStackElementId(t);let s=this._entries[e];return s||(s=new gm(t,null),this._entries[e]=s,s)}}pm._INSTANCE=new pm(5);class gm{constructor(t,i){this.stack=t,this.embeddedLanguageData=i}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:pm.create(this.stack,this.embeddedLanguageData)}equals(t){return t instanceof gm&&!!this.stack.equals(t.stack)&&(null===this.embeddedLanguageData&&null===t.embeddedLanguageData||null!==this.embeddedLanguageData&&null!==t.embeddedLanguageData&&this.embeddedLanguageData.equals(t.embeddedLanguageData))}}class mm{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(t){this._languageId=t}emit(t,i){this._lastTokenType===i&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=i,this._lastTokenLanguage=this._languageId,this._tokens.push(new _s(t,i,this._languageId)))}nestedLanguageTokenize(t,i,e,s){const n=e.languageId,o=e.state,r=Zs.get(n);if(!r)return this.enterLanguage(n),this.emit(s,""),o;const h=r.tokenize(t,i,o);if(0!==s)for(const t of h.tokens)this._tokens.push(new _s(t.offset+s,t.type,t.language));else this._tokens=this._tokens.concat(h.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,h.endState}finalize(t){return new Ns(this._tokens,t)}}class wm{constructor(t,i){this._languageService=t,this._theme=i,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(t){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(t)}emit(t,i){const e=1024|this._theme.match(this._currentLanguageId,i);this._lastTokenMetadata!==e&&(this._lastTokenMetadata=e,this._tokens.push(t),this._tokens.push(e))}static _merge(t,i,e){const s=null!==t?t.length:0,n=i.length,o=null!==e?e.length:0;if(0===s&&0===n&&0===o)return new Uint32Array(0);if(0===s&&0===n)return e;if(0===n&&0===o)return t;const r=new Uint32Array(s+n+o);null!==t&&r.set(t);for(let t=0;t{if(o)return;let i=!1;for(let e=0,s=t.changedLanguages.length;e{t.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))})))}getLoadStatus(){const t=[];for(const i in this._embeddedLanguages){const e=Zs.get(i);if(e){if(e instanceof lm){const i=e.getLoadStatus();!1===i.loaded&&t.push(i.promise)}}else Zs.isResolved(i)||t.push(Zs.getOrCreate(i))}return 0===t.length?{loaded:!0}:{loaded:!1,promise:Promise.all(t).then((()=>{}))}}getInitialState(){const t=um.create(null,this._lexer.start);return pm.create(t,null)}tokenize(t,i,e){if(t.length>=this._maxTokenizationLineLength)return Mg(this._languageId,e);const s=new mm,n=this._tokenize(t,i,e,s);return s.finalize(n)}tokenizeEncoded(t,i,e){if(t.length>=this._maxTokenizationLineLength)return Lg(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),e);const s=new wm(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),n=this._tokenize(t,i,e,s);return s.finalize(n)}_tokenize(t,i,e,s){return e.embeddedLanguageData?this._nestedTokenize(t,i,e,0,s):this._myTokenize(t,i,e,0,s)}_findLeavingNestedLanguageOffset(t,i){let e=this._lexer.tokenizer[i.stack.state];if(!e&&(e=am(this._lexer,i.stack.state),!e))throw hm(this._lexer,"tokenizer state is not defined: "+i.stack.state);let s=-1,n=!1;for(const i of e){if(!sm(i.action)||"@pop"!==i.action.nextEmbedded)continue;n=!0;let e=i.regex;const o=i.regex.source;if("^(?:"===o.substr(0,4)&&")"===o.substr(o.length-1,1)){const t=(e.ignoreCase?"i":"")+(e.unicode?"u":"");e=new RegExp(o.substr(4,o.length-5),t)}const r=t.search(e);-1===r||0!==r&&i.matchOnlyAtLineStart||(-1===s||r0&&n.nestedLanguageTokenize(r,!1,e.embeddedLanguageData,s);const h=t.substring(o);return this._myTokenize(h,i,e,s+o,n)}_safeRuleName(t){return t?t.name:"(unknown)"}_myTokenize(t,i,e,s,n){n.enterLanguage(this._languageId);const o=t.length,r=i&&this._lexer.includeLF?t+"\n":t,h=r.length;let c=e.embeddedLanguageData,a=e.stack,l=0,u=null,d=!0;for(;d||l=h)break;d=!1;let t=this._lexer.tokenizer[w];if(!t&&(t=am(this._lexer,w),!t))throw hm(this._lexer,"tokenizer state is not defined: "+w);const i=r.substr(l);for(const e of t)if((0===l||!e.matchOnlyAtLineStart)&&(v=i.match(e.regex),v)){b=v[0],y=e.action;break}}if(v||(v=[""],b=""),y||(l=this._lexer.maxStack)throw hm(this._lexer,"maximum tokenizer stack size reached: ["+a.state+","+a.parent.state+",...]");a=a.push(w)}else if("@pop"===y.next){if(a.depth<=1)throw hm(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(k));a=a.pop()}else if("@popall"===y.next)a=a.popall();else{let t=cm(this._lexer,y.next,b,v,w);if("@"===t[0]&&(t=t.substr(1)),!am(this._lexer,t))throw hm(this._lexer,"trying to set a next state '"+t+"' that is undefined in rule: "+this._safeRuleName(k));a=a.push(t)}}y.log&&"string"==typeof y.log&&(f=this._lexer,p=this._lexer.languageId+": "+cm(this._lexer,y.log,b,v,w),console.log(`${f.languageId}: ${p}`))}if(null===C)throw hm(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(k));const S=e=>{const o=this._languageService.getLanguageIdByLanguageName(e)||this._languageService.getLanguageIdByMimeType(e)||e,r=this._getNestedEmbeddedLanguageData(o);if(l0)throw hm(this._lexer,"groups cannot be nested: "+this._safeRuleName(k));if(v.length!==C.length+1)throw hm(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(k));let t=0;for(let i=1;i=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([(ym=4,km=pd,function(t,i){km(t,i,ym)})],vm);const xm=Mu("standaloneColorizer",{createHTML:t=>t});class Cm{static colorizeElement(t,i,e,s){const n=(s=s||{}).theme||"vs",o=s.mimeType||e.getAttribute("lang")||e.getAttribute("data-lang");if(!o)return console.error("Mode not detected"),Promise.resolve();const r=i.getLanguageIdByMimeType(o)||o;t.setTheme(n);const h=e.firstChild?e.firstChild.nodeValue:"";return e.className+=" "+n,this.colorize(i,h||"",r,s).then((t=>{var i;const s=null!==(i=null==xm?void 0:xm.createHTML(t))&&void 0!==i?i:t;e.innerHTML=s}),(t=>console.error(t)))}static async colorize(t,i,e,s){const n=t.languageIdCodec;let o=4;s&&"number"==typeof s.tabSize&&(o=s.tabSize),Ro(i)&&(i=i.substr(1));const r=Xn(i);if(!t.isRegisteredLanguageId(e))return Sm(r,o,n);const h=await Zs.getOrCreate(e);return h?function(t,i,e,s){return new Promise(((n,o)=>{const r=()=>{const h=function(t,i,e,s){let n=[],o=e.getInitialState();for(let r=0,h=t.length;r"),o=c.endState}return n.join("")}(t,i,e,s);if(e instanceof vm){const t=e.getLoadStatus();if(!1===t.loaded)return void t.promise.then(r,o)}n(h)};r()}))}(r,o,h,n):Sm(r,o,n)}static colorizeLine(t,i,e,s,n=4){const o=Jg.isBasicASCII(t,i),r=Jg.containsRTL(t,o,e);return Ug(new $g(!1,!0,t,!1,o,r,0,s,[],n,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(t,i,e=4){const s=t.getLineContent(i);t.tokenization.forceTokenization(i);const n=t.tokenization.getLineTokens(i).inflate();return this.colorizeLine(s,t.mightContainNonBasicASCII(),t.mightContainRTL(),n,e)}}function Sm(t,i,e){let s=[];const n=new Uint32Array(2);n[0]=0,n[1]=33587200;for(let o=0,r=t.length;o")}return s.join("")}const Dm=2e4;let Em,Am,Mm,Lm,Fm;function Tm(t){Em&&(Am.textContent!==t?(za(Mm),Om(Am,t)):(za(Am),Om(Mm,t)))}function Rm(t){Em&&(Lm.textContent!==t?(za(Fm),Om(Lm,t)):(za(Lm),Om(Fm,t)))}function Om(t,i){za(t),i.length>Dm&&(i=i.substr(0,Dm)),t.textContent=i,t.style.visibility="hidden",t.style.visibility="visible"}const Im=dr("markerDecorationsService");let _m=class{constructor(t,i){}dispose(){}};_m.ID="editor.contrib.markerDecorations",_m=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,Im)],_m),lu(_m.ID,_m,0);class Nm extends ie{constructor(t,i){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._referenceDomElement=t,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,i)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let t=null;const i=()=>{t?this.observe({width:t.width,height:t.height}):this.observe()};let e=!1,s=!1;const n=()=>{if(e&&!s)try{e=!1,s=!0,i()}finally{Qa(Na(this._referenceDomElement),(()=>{s=!1,n()}))}};this._resizeObserver=new ResizeObserver((i=>{t=i&&i[0]&&i[0].contentRect?i[0].contentRect:null,e=!0,n()})),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(t){this.measureReferenceDomElement(!0,t)}measureReferenceDomElement(t,i){let e=0,s=0;i?(e=i.width,s=i.height):this._referenceDomElement&&(e=this._referenceDomElement.clientWidth,s=this._referenceDomElement.clientHeight),e=Math.max(5,e),s=Math.max(5,s),this._width===e&&this._height===s||(this._width=e,this._height=s,t&&this._onDidChange.fire())}}class Bm{constructor(t,i){this.key=t,this.migrate=i}apply(t){const i=Bm._read(t,this.key);this.migrate(i,(i=>Bm._read(t,i)),((i,e)=>Bm._write(t,i,e)))}static _read(t,i){if(void 0===t)return;const e=i.indexOf(".");if(e>=0){const s=i.substring(0,e);return this._read(t[s],i.substring(e+1))}return t[i]}static _write(t,i,e){const s=i.indexOf(".");if(s>=0){const n=i.substring(0,s);return t[n]=t[n]||{},void this._write(t[n],i.substring(s+1),e)}t[i]=e}}function Pm(t,i){Bm.items.push(new Bm(t,i))}function $m(t,i){Pm(t,((e,s,n)=>{if(void 0!==e)for(const[s,o]of i)if(e===s)return void n(t,o)}))}Bm.items=[],$m("wordWrap",[[!0,"on"],[!1,"off"]]),$m("lineNumbers",[[!0,"on"],[!1,"off"]]),$m("cursorBlinking",[["visible","solid"]]),$m("renderWhitespace",[[!0,"boundary"],[!1,"none"]]),$m("renderLineHighlight",[[!0,"line"],[!1,"none"]]),$m("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]),$m("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]),$m("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),$m("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]),$m("autoIndent",[[!1,"advanced"],[!0,"full"]]),$m("matchBrackets",[[!0,"always"],[!1,"never"]]),$m("renderFinalNewline",[[!0,"on"],[!1,"off"]]),$m("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]),$m("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]),$m("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]),Pm("autoClosingBrackets",((t,i,e)=>{!1===t&&(e("autoClosingBrackets","never"),void 0===i("autoClosingQuotes")&&e("autoClosingQuotes","never"),void 0===i("autoSurround")&&e("autoSurround","never"))})),Pm("renderIndentGuides",((t,i,e)=>{void 0!==t&&(e("renderIndentGuides",void 0),void 0===i("guides.indentation")&&e("guides.indentation",!!t))})),Pm("highlightActiveIndentGuide",((t,i,e)=>{void 0!==t&&(e("highlightActiveIndentGuide",void 0),void 0===i("guides.highlightActiveIndentation")&&e("guides.highlightActiveIndentation",!!t))}));const Wm={method:"showMethods",function:"showFunctions",constructor:"showConstructors",deprecated:"showDeprecated",field:"showFields",variable:"showVariables",class:"showClasses",struct:"showStructs",interface:"showInterfaces",module:"showModules",property:"showProperties",event:"showEvents",operator:"showOperators",unit:"showUnits",value:"showValues",constant:"showConstants",enum:"showEnums",enumMember:"showEnumMembers",keyword:"showKeywords",text:"showWords",color:"showColors",file:"showFiles",reference:"showReferences",folder:"showFolders",typeParameter:"showTypeParameters",snippet:"showSnippets"};Pm("suggest.filteredTypes",((t,i,e)=>{if(t&&"object"==typeof t){for(const s of Object.entries(Wm))!1===t[s[0]]&&void 0===i(`suggest.${s[1]}`)&&e(`suggest.${s[1]}`,!1);e("suggest.filteredTypes",void 0)}})),Pm("quickSuggestions",((t,i,e)=>{if("boolean"==typeof t){const i=t?"on":"off";e("quickSuggestions",{comments:i,strings:i,other:i})}})),Pm("experimental.stickyScroll.enabled",((t,i,e)=>{"boolean"==typeof t&&(e("experimental.stickyScroll.enabled",void 0),void 0===i("stickyScroll.enabled")&&e("stickyScroll.enabled",t))})),Pm("experimental.stickyScroll.maxLineCount",((t,i,e)=>{"number"==typeof t&&(e("experimental.stickyScroll.maxLineCount",void 0),void 0===i("stickyScroll.maxLineCount")&&e("stickyScroll.maxLineCount",t))})),Pm("codeActionsOnSave",((t,i,e)=>{if(t&&"object"==typeof t){let i=!1;const s={};for(const e of Object.entries(t))"boolean"==typeof e[1]?(i=!0,s[e[0]]=e[1]?"explicit":"never"):s[e[0]]=e[1];i&&e("codeActionsOnSave",s)}})),Pm("codeActionWidget.includeNearbyQuickfixes",((t,i,e)=>{"boolean"==typeof t&&(e("codeActionWidget.includeNearbyQuickfixes",void 0),void 0===i("codeActionWidget.includeNearbyQuickFixes")&&e("codeActionWidget.includeNearbyQuickFixes",t))}));const jm=new class{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new fe,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(t){this._tabFocus=t,this._onDidChangeTabFocus.fire(this._tabFocus)}},zm=dr("accessibilityService"),Hm=new ch("accessibilityModeEnabled",!1),Vm=dr("accessibleNotificationService");let Um=class extends ie{constructor(t,i,e,s){super(),this._accessibilityService=s,this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new fe),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new ti,this.isSimpleWidget=t,this._containerObserver=this._register(new Nm(e,i.dimension)),this._rawOptions=Qm(i),this._validatedOptions=Zm.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(nr.onDidChangeZoomLevel((()=>this._recomputeOptions()))),this._register(jm.onDidChangeTabFocus((()=>this._recomputeOptions()))),this._register(this._containerObserver.onDidChange((()=>this._recomputeOptions()))),this._register(ar.onDidChange((()=>this._recomputeOptions()))),this._register(Ho.onDidChange((()=>this._recomputeOptions()))),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized((()=>this._recomputeOptions())))}_recomputeOptions(){const t=this._computeOptions(),i=Zm.checkEquals(this.options,t);null!==i&&(this.options=t,this._onDidChangeFast.fire(i),this._onDidChange.fire(i))}_computeOptions(){const t=this._readEnvConfiguration(),i=rr.createFromValidatedSettings(this._validatedOptions,t.pixelRatio,this.isSimpleWidget),e=this._readFontInfo(i),s={memory:this._computeOptionsMemory,outerWidth:t.outerWidth,outerHeight:t.outerHeight-this._reservedHeight,fontInfo:e,extraEditorClassName:t.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:t.emptySelectionClipboard,pixelRatio:t.pixelRatio,tabFocusMode:jm.getTabFocusMode(),accessibilitySupport:t.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return Zm.computeOptions(this._validatedOptions,s)}_readEnvConfiguration(){return{extraEditorClassName:qm(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:qo||Uo,pixelRatio:Ho.value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(t){return ar.readFontInfo(t)}getRawOptions(){return this._rawOptions}updateOptions(t){const i=Qm(t);Zm.applyUpdate(this._rawOptions,i)&&(this._validatedOptions=Zm.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(t){this._containerObserver.observe(t)}setIsDominatedByLongLines(t){this._isDominatedByLongLines!==t&&(this._isDominatedByLongLines=t,this._recomputeOptions())}setModelLineCount(t){const i=function(t){let i=0;for(;t;)t=Math.floor(t/10),i++;return i||1}(t);this._lineNumbersDigitCount!==i&&(this._lineNumbersDigitCount=i,this._recomputeOptions())}setViewLineCount(t){this._viewLineCount!==t&&(this._viewLineCount=t,this._recomputeOptions())}setReservedHeight(t){this._reservedHeight!==t&&(this._reservedHeight=t,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(t){this._glyphMarginDecorationLaneCount!==t&&(this._glyphMarginDecorationLaneCount=t,this._recomputeOptions())}};function qm(){let t="";return Go||Zo||(t+="no-user-select "),Go&&(t+="no-minimap-shadow ",t+="enable-user-select "),St&&(t+="mac "),t}Um=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,zm)],Um);class Km{constructor(){this._values=[]}_read(t){return this._values[t]}get(t){return this._values[t]}_write(t,i){this._values[t]=i}}class Gm{constructor(){this._values=[]}_read(t){if(t>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[t]}get(t){return this._read(t)}_write(t,i){this._values[t]=i}}class Zm{static validateOptions(t){const i=new Km;for(const e of Ii)i._write(e.id,e.validate("_never_"===e.name?void 0:t[e.name]));return i}static computeOptions(t,i){const e=new Gm;for(const s of Ii)e._write(s.id,s.compute(i,e,t._read(s.id)));return e}static _deepEquals(t,i){if("object"!=typeof t||"object"!=typeof i||!t||!i)return t===i;if(Array.isArray(t)||Array.isArray(i))return!(!Array.isArray(t)||!Array.isArray(i))&&u(t,i);if(Object.keys(t).length!==Object.keys(i).length)return!1;for(const e in t)if(!Zm._deepEquals(t[e],i[e]))return!1;return!0}static checkEquals(t,i){const e=[];let s=!1;for(const n of Ii){const o=!Zm._deepEquals(t._read(n.id),i._read(n.id));e[n.id]=o,o&&(s=!0)}return s?new Xt(e):null}static applyUpdate(t,i){let e=!1;for(const s of Ii)if(i.hasOwnProperty(s.name)){const n=s.applyUpdate(t[s.name],i[s.name]);t[s.name]=n.newValue,e=e||n.didChange}return e}}function Qm(t){const i=J(t);return function(t){Bm.items.forEach((i=>i.apply(t)))}(i),i}function Jm(t,i,e){let s=null,n=null;if("function"==typeof e.value?(s="value",n=e.value,0!==n.length&&console.warn("Memoize should only be used in functions with zero parameters")):"function"==typeof e.get&&(s="get",n=e.get),!n)throw new Error("not supported");const o=`$memoize$${i}`;e[s]=function(...t){return this.hasOwnProperty(o)||Object.defineProperty(this,o,{configurable:!1,enumerable:!1,writable:!1,value:n.apply(this,t)}),this[o]}}var Ym;!function(t){t.Tap="-monaco-gesturetap",t.Change="-monaco-gesturechange",t.Start="-monaco-gesturestart",t.End="-monaco-gesturesend",t.Contextmenu="-monaco-gesturecontextmenu"}(Ym||(Ym={}));class Xm extends ie{constructor(){super(),this.dispatched=!1,this.targets=new qt,this.ignoreTargets=new qt,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(ce.runAndSubscribe(Wa,(({window:t,disposables:i})=>{i.add(Va(t.document,"touchstart",(t=>this.onTouchStart(t)),{passive:!1})),i.add(Va(t.document,"touchend",(i=>this.onTouchEnd(t,i)))),i.add(Va(t.document,"touchmove",(t=>this.onTouchMove(t)),{passive:!1}))}),{window:$n,disposables:this._store}))}static addTarget(t){return Xm.isTouchDevice()?(Xm.INSTANCE||(Xm.INSTANCE=new Xm),Xi(Xm.INSTANCE.targets.push(t))):ie.None}static ignoreTarget(t){return Xm.isTouchDevice()?(Xm.INSTANCE||(Xm.INSTANCE=new Xm),Xi(Xm.INSTANCE.ignoreTargets.push(t))):ie.None}static isTouchDevice(){return"ontouchstart"in $n||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(t){const i=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let e=0,s=t.targetTouches.length;e=Xm.HOLD_DELAY&&Math.abs(r.initialPageX-l(r.rollingPageX))<30&&Math.abs(r.initialPageY-l(r.rollingPageY))<30){const t=this.newGestureEvent(Ym.Contextmenu,r.initialTarget);t.pageX=l(r.rollingPageX),t.pageY=l(r.rollingPageY),this.dispatchEvent(t)}else if(1===s){const i=l(r.rollingPageX),s=l(r.rollingPageY),n=l(r.rollingTimestamps)-r.rollingTimestamps[0],o=i-r.rollingPageX[0],h=s-r.rollingPageY[0],c=[...this.targets].filter((t=>r.initialTarget instanceof Node&&t.contains(r.initialTarget)));this.inertia(t,c,e,Math.abs(o)/n,o>0?1:-1,i,Math.abs(h)/n,h>0?1:-1,s)}this.dispatchEvent(this.newGestureEvent(Ym.End,r.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&(i.preventDefault(),i.stopPropagation(),this.dispatched=!1)}newGestureEvent(t,i){const e=document.createEvent("CustomEvent");return e.initEvent(t,!1,!0),e.initialTarget=i,e.tapCount=0,e}dispatchEvent(t){if(t.type===Ym.Tap){const i=(new Date).getTime();let e=0;e=i-this._lastSetTapCountTime>Xm.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=i,t.tapCount=e}else t.type!==Ym.Change&&t.type!==Ym.Contextmenu||(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(const i of this.ignoreTargets)if(i.contains(t.initialTarget))return;for(const i of this.targets)i.contains(t.initialTarget)&&(i.dispatchEvent(t),this.dispatched=!0)}}inertia(t,i,e,s,n,o,r,h,c){this.handle=Qa(t,(()=>{const a=Date.now(),l=a-e;let u=0,d=0,f=!0;(s+=Xm.SCROLL_FRICTION*l)>0&&(f=!1,u=n*s*l),(r+=Xm.SCROLL_FRICTION*l)>0&&(f=!1,d=h*r*l);const p=this.newGestureEvent(Ym.Change);p.translationX=u,p.translationY=d,i.forEach((t=>t.dispatchEvent(p))),f||this.inertia(t,i,a,s,n,o+u,r,h,c+d)}))}onTouchMove(t){const i=Date.now();for(let e=0,s=t.changedTouches.length;e3&&(n.rollingPageX.shift(),n.rollingPageY.shift(),n.rollingTimestamps.shift()),n.rollingPageX.push(s.pageX),n.rollingPageY.push(s.pageY),n.rollingTimestamps.push(i)}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}}Xm.SCROLL_FRICTION=-.005,Xm.HOLD_DELAY=700,Xm.CLEAR_TAP_COUNT_TIME=400,function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);o>3&&r&&Object.defineProperty(i,e,r)}([Jm],Xm,"isTouchDevice",null);class tw{constructor(){this._hooks=new te,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(t,i){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;const e=this._onStopCallback;this._onStopCallback=null,t&&e&&e(i)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(t,i,e,s,n){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=s,this._onStopCallback=n;let o=t;try{t.setPointerCapture(i),this._hooks.add(Xi((()=>{try{t.releasePointerCapture(i)}catch(t){}})))}catch(i){o=Na(t)}this._hooks.add(Va(o,Ll.POINTER_MOVE,(t=>{t.buttons===e?(t.preventDefault(),this._pointerMoveCallback(t)):this.stopMonitoring(!0)}))),this._hooks.add(Va(o,Ll.POINTER_UP,(()=>this.stopMonitoring(!0))))}}function iw(t){return`--vscode-${t.replace(/\./g,"-")}`}function ew(t){return`var(${iw(t)})`}const sw="base.contributions.colors",nw=new class{constructor(){this._onDidChangeSchema=new fe,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(t,i,e,s=!1,n){this.colorsById[t]={id:t,description:e,defaults:i,needsTransparency:s,deprecationMessage:n};const o={type:"string",description:e,format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return n&&(o.deprecationMessage=n),this.colorSchema.properties[t]=o,this.colorReferenceSchema.enum.push(t),this.colorReferenceSchema.enumDescriptions.push(e),this._onDidChangeSchema.fire(),t}getColors(){return Object.keys(this.colorsById).map((t=>this.colorsById[t]))}resolveDefaultColor(t,i){const e=this.colorsById[t];if(e&&e.defaults)return ry(e.defaults[i.type],i)}getColorSchema(){return this.colorSchema}toString(){return Object.keys(this.colorsById).sort(((t,i)=>{const e=-1===t.indexOf(".")?0:1,s=-1===i.indexOf(".")?0:1;return e!==s?e-s:t.localeCompare(i)})).map((t=>`- \`${t}\`: ${this.colorsById[t].description}`)).join("\n")}};function ow(t,i,e,s,n){return nw.registerColor(t,i,e,s,n)}Dh.add(sw,nw);const rw=ow("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},rt(0,"Overall foreground color. This color is only used if not overridden by a component."));ow("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},rt(0,"Overall foreground for disabled elements. This color is only used if not overridden by a component."));const hw=ow("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},rt(0,"Overall foreground color for error messages. This color is only used if not overridden by a component."));ow("descriptionForeground",{light:"#717171",dark:sy(rw,.7),hcDark:sy(rw,.7),hcLight:sy(rw,.7)},rt(0,"Foreground color for description text providing additional information, for example for a label."));const cw=ow("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},rt(0,"The default color for icons in the workbench.")),aw=ow("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},rt(0,"Overall border color for focused elements. This color is only used if not overridden by a component.")),lw=ow("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},rt(0,"An extra border around elements to separate them from others for greater contrast.")),uw=ow("contrastActiveBorder",{light:null,dark:null,hcDark:aw,hcLight:aw},rt(0,"An extra border around active elements to separate them from others for greater contrast."));ow("selection.background",{light:null,dark:null,hcDark:null,hcLight:null},rt(0,"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.")),ow("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:sg.black,hcLight:"#292929"},rt(0,"Color for text separators."));const dw=ow("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#3794FF",hcLight:"#0F4A85"},rt(0,"Foreground color for links in text."));ow("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#3794FF",hcLight:"#0F4A85"},rt(0,"Foreground color for links in text when clicked on and on mouse hover.")),ow("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},rt(0,"Foreground color for preformatted text segments.")),ow("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},rt(0,"Background color for preformatted text segments.")),ow("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},rt(0,"Background color for block quotes in text.")),ow("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:sg.white,hcLight:"#292929"},rt(0,"Border color for block quotes in text.")),ow("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:sg.black,hcLight:"#F2F2F2"},rt(0,"Background color for code blocks in text."));const fw=ow("widget.shadow",{dark:sy(sg.black,.36),light:sy(sg.black,.16),hcDark:null,hcLight:null},rt(0,"Shadow color of widgets such as find/replace inside the editor.")),pw=ow("widget.border",{dark:null,light:null,hcDark:lw,hcLight:lw},rt(0,"Border color of widgets such as find/replace inside the editor.")),gw=ow("input.background",{dark:"#3C3C3C",light:sg.white,hcDark:sg.black,hcLight:sg.white},rt(0,"Input box background.")),mw=ow("input.foreground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"Input box foreground.")),ww=ow("input.border",{dark:null,light:null,hcDark:lw,hcLight:lw},rt(0,"Input box border.")),vw=ow("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:lw,hcLight:lw},rt(0,"Border color of activated options in input fields."));ow("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},rt(0,"Background color of activated options in input fields."));const bw=ow("inputOption.activeBackground",{dark:sy(aw,.4),light:sy(aw,.2),hcDark:sg.transparent,hcLight:sg.transparent},rt(0,"Background hover color of options in input fields.")),yw=ow("inputOption.activeForeground",{dark:sg.white,light:sg.black,hcDark:rw,hcLight:rw},rt(0,"Foreground color of activated options in input fields."));ow("input.placeholderForeground",{light:sy(rw,.5),dark:sy(rw,.5),hcDark:sy(rw,.7),hcLight:sy(rw,.7)},rt(0,"Input box foreground color for placeholder text."));const kw=ow("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:sg.black,hcLight:sg.white},rt(0,"Input validation background color for information severity.")),xw=ow("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:rw},rt(0,"Input validation foreground color for information severity.")),Cw=ow("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:lw,hcLight:lw},rt(0,"Input validation border color for information severity.")),Sw=ow("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:sg.black,hcLight:sg.white},rt(0,"Input validation background color for warning severity.")),Dw=ow("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:rw},rt(0,"Input validation foreground color for warning severity.")),Ew=ow("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:lw,hcLight:lw},rt(0,"Input validation border color for warning severity.")),Aw=ow("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:sg.black,hcLight:sg.white},rt(0,"Input validation background color for error severity.")),Mw=ow("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:rw},rt(0,"Input validation foreground color for error severity.")),Lw=ow("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:lw,hcLight:lw},rt(0,"Input validation border color for error severity.")),Fw=ow("dropdown.background",{dark:"#3C3C3C",light:sg.white,hcDark:sg.black,hcLight:sg.white},rt(0,"Dropdown background.")),Tw=ow("dropdown.listBackground",{dark:null,light:null,hcDark:sg.black,hcLight:sg.white},rt(0,"Dropdown list background.")),Rw=ow("dropdown.foreground",{dark:"#F0F0F0",light:rw,hcDark:sg.white,hcLight:rw},rt(0,"Dropdown foreground.")),Ow=ow("dropdown.border",{dark:Fw,light:"#CECECE",hcDark:lw,hcLight:lw},rt(0,"Dropdown border.")),Iw=ow("button.foreground",{dark:sg.white,light:sg.white,hcDark:sg.white,hcLight:sg.white},rt(0,"Button foreground color.")),_w=ow("button.separator",{dark:sy(Iw,.4),light:sy(Iw,.4),hcDark:sy(Iw,.4),hcLight:sy(Iw,.4)},rt(0,"Button separator color.")),Nw=ow("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},rt(0,"Button background color.")),Bw=ow("button.hoverBackground",{dark:ey(Nw,.2),light:iy(Nw,.2),hcDark:Nw,hcLight:Nw},rt(0,"Button background color when hovering.")),Pw=ow("button.border",{dark:lw,light:lw,hcDark:lw,hcLight:lw},rt(0,"Button border color.")),$w=ow("button.secondaryForeground",{dark:sg.white,light:sg.white,hcDark:sg.white,hcLight:rw},rt(0,"Secondary button foreground color.")),Ww=ow("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:sg.white},rt(0,"Secondary button background color.")),jw=ow("button.secondaryHoverBackground",{dark:ey(Ww,.2),light:iy(Ww,.2),hcDark:null,hcLight:null},rt(0,"Secondary button background color when hovering.")),zw=ow("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:sg.black,hcLight:"#0F4A85"},rt(0,"Badge background color. Badges are small information labels, e.g. for search results count.")),Hw=ow("badge.foreground",{dark:sg.white,light:"#333",hcDark:sg.white,hcLight:sg.white},rt(0,"Badge foreground color. Badges are small information labels, e.g. for search results count.")),Vw=ow("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},rt(0,"Scrollbar shadow to indicate that the view is scrolled.")),Uw=ow("scrollbarSlider.background",{dark:sg.fromHex("#797979").transparent(.4),light:sg.fromHex("#646464").transparent(.4),hcDark:sy(lw,.6),hcLight:sy(lw,.4)},rt(0,"Scrollbar slider background color.")),qw=ow("scrollbarSlider.hoverBackground",{dark:sg.fromHex("#646464").transparent(.7),light:sg.fromHex("#646464").transparent(.7),hcDark:sy(lw,.8),hcLight:sy(lw,.8)},rt(0,"Scrollbar slider background color when hovering.")),Kw=ow("scrollbarSlider.activeBackground",{dark:sg.fromHex("#BFBFBF").transparent(.4),light:sg.fromHex("#000000").transparent(.6),hcDark:lw,hcLight:lw},rt(0,"Scrollbar slider background color when clicked on.")),Gw=ow("progressBar.background",{dark:sg.fromHex("#0E70C0"),light:sg.fromHex("#0E70C0"),hcDark:lw,hcLight:lw},rt(0,"Background color of the progress bar that can show for long running operations."));ow("editorError.background",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const Zw=ow("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},rt(0,"Foreground color of error squigglies in the editor.")),Qw=ow("editorError.border",{dark:null,light:null,hcDark:sg.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},rt(0,"If set, color of double underlines for errors in the editor."));ow("editorWarning.background",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const Jw=ow("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},rt(0,"Foreground color of warning squigglies in the editor.")),Yw=ow("editorWarning.border",{dark:null,light:null,hcDark:sg.fromHex("#FFCC00").transparent(.8),hcLight:sg.fromHex("#FFCC00").transparent(.8)},rt(0,"If set, color of double underlines for warnings in the editor."));ow("editorInfo.background",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const Xw=ow("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},rt(0,"Foreground color of info squigglies in the editor.")),tv=ow("editorInfo.border",{dark:null,light:null,hcDark:sg.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},rt(0,"If set, color of double underlines for infos in the editor.")),iv=ow("editorHint.foreground",{dark:sg.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},rt(0,"Foreground color of hint squigglies in the editor."));ow("editorHint.border",{dark:null,light:null,hcDark:sg.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},rt(0,"If set, color of double underlines for hints in the editor.")),ow("sash.hoverBorder",{dark:aw,light:aw,hcDark:aw,hcLight:aw},rt(0,"Border color of active sashes."));const ev=ow("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:sg.black,hcLight:sg.white},rt(0,"Editor background color.")),sv=ow("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:sg.white,hcLight:rw},rt(0,"Editor default foreground color."));ow("editorStickyScroll.background",{light:ev,dark:ev,hcDark:ev,hcLight:ev},rt(0,"Sticky scroll background color for the editor")),ow("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:sg.fromHex("#0F4A85").transparent(.1)},rt(0,"Sticky scroll on hover background color for the editor"));const nv=ow("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:sg.white},rt(0,"Background color of editor widgets, such as find/replace.")),ov=ow("editorWidget.foreground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"Foreground color of editor widgets, such as find/replace.")),rv=ow("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:lw,hcLight:lw},rt(0,"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.")),hv=ow("editorWidget.resizeBorder",{light:null,dark:null,hcDark:null,hcLight:null},rt(0,"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.")),cv=ow("quickInput.background",{dark:nv,light:nv,hcDark:nv,hcLight:nv},rt(0,"Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),av=ow("quickInput.foreground",{dark:ov,light:ov,hcDark:ov,hcLight:ov},rt(0,"Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),lv=ow("quickInputTitle.background",{dark:new sg(new tg(255,255,255,.105)),light:new sg(new tg(0,0,0,.06)),hcDark:"#000000",hcLight:sg.white},rt(0,"Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),uv=ow("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:sg.white,hcLight:"#0F4A85"},rt(0,"Quick picker color for grouping labels.")),dv=ow("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:sg.white,hcLight:"#0F4A85"},rt(0,"Quick picker color for grouping borders.")),fv=ow("keybindingLabel.background",{dark:new sg(new tg(128,128,128,.17)),light:new sg(new tg(221,221,221,.4)),hcDark:sg.transparent,hcLight:sg.transparent},rt(0,"Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),pv=ow("keybindingLabel.foreground",{dark:sg.fromHex("#CCCCCC"),light:sg.fromHex("#555555"),hcDark:sg.white,hcLight:rw},rt(0,"Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),gv=ow("keybindingLabel.border",{dark:new sg(new tg(51,51,51,.6)),light:new sg(new tg(204,204,204,.4)),hcDark:new sg(new tg(111,195,223)),hcLight:lw},rt(0,"Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),mv=ow("keybindingLabel.bottomBorder",{dark:new sg(new tg(68,68,68,.6)),light:new sg(new tg(187,187,187,.4)),hcDark:new sg(new tg(111,195,223)),hcLight:rw},rt(0,"Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),wv=ow("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},rt(0,"Color of the editor selection.")),vv=ow("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:sg.white},rt(0,"Color of the selected text for high contrast.")),bv=ow("editor.inactiveSelectionBackground",{light:sy(wv,.5),dark:sy(wv,.5),hcDark:sy(wv,.7),hcLight:sy(wv,.5)},rt(0,"Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),yv=ow("editor.selectionHighlightBackground",{light:oy(wv,ev,.3,.6),dark:oy(wv,ev,.3,.6),hcDark:null,hcLight:null},rt(0,"Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0);ow("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:uw,hcLight:uw},rt(0,"Border color for regions with the same content as the selection."));const kv=ow("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},rt(0,"Color of the current search match.")),xv=ow("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},rt(0,"Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0),Cv=ow("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},rt(0,"Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0),Sv=ow("editor.findMatchBorder",{light:null,dark:null,hcDark:uw,hcLight:uw},rt(0,"Border color of the current search match.")),Dv=ow("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:uw,hcLight:uw},rt(0,"Border color of the other search matches.")),Ev=ow("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:sy(uw,.4),hcLight:sy(uw,.4)},rt(0,"Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);ow("searchEditor.findMatchBackground",{light:sy(xv,.66),dark:sy(xv,.66),hcDark:xv,hcLight:xv},rt(0,"Color of the Search Editor query matches.")),ow("searchEditor.findMatchBorder",{light:sy(Dv,.66),dark:sy(Dv,.66),hcDark:Dv,hcLight:Dv},rt(0,"Border color of the Search Editor query matches.")),ow("search.resultsInfoForeground",{light:rw,dark:sy(rw,.65),hcDark:rw,hcLight:rw},rt(0,"Color of the text in the search viewlet's completion message.")),ow("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},rt(0,"Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0);const Av=ow("editorHoverWidget.background",{light:nv,dark:nv,hcDark:nv,hcLight:nv},rt(0,"Background color of the editor hover."));ow("editorHoverWidget.foreground",{light:ov,dark:ov,hcDark:ov,hcLight:ov},rt(0,"Foreground color of the editor hover."));const Mv=ow("editorHoverWidget.border",{light:rv,dark:rv,hcDark:rv,hcLight:rv},rt(0,"Border color of the editor hover."));ow("editorHoverWidget.statusBarBackground",{dark:ey(Av,.2),light:iy(Av,.05),hcDark:nv,hcLight:nv},rt(0,"Background color of the editor hover status bar."));const Lv=ow("editorLink.activeForeground",{dark:"#4E94CE",light:sg.blue,hcDark:sg.cyan,hcLight:"#292929"},rt(0,"Color of active links.")),Fv=ow("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:sg.white,hcLight:sg.black},rt(0,"Foreground color of inline hints")),Tv=ow("editorInlayHint.background",{dark:sy(zw,.1),light:sy(zw,.1),hcDark:sy(sg.white,.1),hcLight:sy(zw,.1)},rt(0,"Background color of inline hints")),Rv=ow("editorInlayHint.typeForeground",{dark:Fv,light:Fv,hcDark:Fv,hcLight:Fv},rt(0,"Foreground color of inline hints for types")),Ov=ow("editorInlayHint.typeBackground",{dark:Tv,light:Tv,hcDark:Tv,hcLight:Tv},rt(0,"Background color of inline hints for types")),Iv=ow("editorInlayHint.parameterForeground",{dark:Fv,light:Fv,hcDark:Fv,hcLight:Fv},rt(0,"Foreground color of inline hints for parameters")),_v=ow("editorInlayHint.parameterBackground",{dark:Tv,light:Tv,hcDark:Tv,hcLight:Tv},rt(0,"Background color of inline hints for parameters"));ow("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},rt(0,"The color used for the lightbulb actions icon.")),ow("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The color used for the lightbulb auto fix actions icon.")),ow("editorLightBulbAi.foreground",{dark:iy(cw,.4),light:ey(cw,1.7),hcDark:cw,hcLight:cw},rt(0,"The color used for the lightbulb AI icon."));const Nv=new sg(new tg(155,185,85,.2)),Bv=new sg(new tg(255,0,0,.2)),Pv=ow("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},rt(0,"Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),$v=ow("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},rt(0,"Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0);ow("diffEditor.insertedLineBackground",{dark:Nv,light:Nv,hcDark:null,hcLight:null},rt(0,"Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),ow("diffEditor.removedLineBackground",{dark:Bv,light:Bv,hcDark:null,hcLight:null},rt(0,"Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0),ow("diffEditorGutter.insertedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Background color for the margin where lines got inserted.")),ow("diffEditorGutter.removedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Background color for the margin where lines got removed."));const Wv=ow("diffEditorOverview.insertedForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Diff overview ruler foreground for inserted content.")),jv=ow("diffEditorOverview.removedForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Diff overview ruler foreground for removed content."));ow("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},rt(0,"Outline color for the text that got inserted.")),ow("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},rt(0,"Outline color for text that got removed.")),ow("diffEditor.border",{dark:null,light:null,hcDark:lw,hcLight:lw},rt(0,"Border color between the two text editors.")),ow("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},rt(0,"Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views.")),ow("diffEditor.unchangedRegionBackground",{dark:"sideBar.background",light:"sideBar.background",hcDark:"sideBar.background",hcLight:"sideBar.background"},rt(0,"The background color of unchanged blocks in the diff editor.")),ow("diffEditor.unchangedRegionForeground",{dark:"foreground",light:"foreground",hcDark:"foreground",hcLight:"foreground"},rt(0,"The foreground color of unchanged blocks in the diff editor.")),ow("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},rt(0,"The background color of unchanged code in the diff editor."));const zv=ow("list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),Hv=ow("list.focusForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),Vv=ow("list.focusOutline",{dark:aw,light:aw,hcDark:uw,hcLight:uw},rt(0,"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.")),Uv=ow("list.focusAndSelectionOutline",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),qv=ow("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:sg.fromHex("#0F4A85").transparent(.1)},rt(0,"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.")),Kv=ow("list.activeSelectionForeground",{dark:sg.white,light:sg.white,hcDark:null,hcLight:null},rt(0,"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.")),Gv=ow("list.activeSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),Zv=ow("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:sg.fromHex("#0F4A85").transparent(.1)},rt(0,"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.")),Qv=ow("list.inactiveSelectionForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),Jv=ow("list.inactiveSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),Yv=ow("list.inactiveFocusBackground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),Xv=ow("list.inactiveFocusOutline",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"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.")),tb=ow("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:sg.white.transparent(.1),hcLight:sg.fromHex("#0F4A85").transparent(.1)},rt(0,"List/Tree background when hovering over items using the mouse.")),ib=ow("list.hoverForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"List/Tree foreground when hovering over items using the mouse.")),eb=ow("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},rt(0,"List/Tree drag and drop background when moving items around using the mouse.")),sb=ow("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:aw,hcLight:aw},rt(0,"List/Tree foreground color of the match highlights when searching inside the list/tree.")),nb=ow("list.focusHighlightForeground",{dark:sb,light:(ob=qv,rb=sb,"#BBE7FF",{op:6,if:ob,then:rb,else:"#BBE7FF"}),hcDark:sb,hcLight:sb},rt(0,"List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));var ob,rb;ow("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},rt(0,"List/Tree foreground color for invalid items, for example an unresolved root in explorer.")),ow("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},rt(0,"Foreground color of list items containing errors.")),ow("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},rt(0,"Foreground color of list items containing warnings."));const hb=ow("listFilterWidget.background",{light:iy(nv,0),dark:ey(nv,0),hcDark:nv,hcLight:nv},rt(0,"Background color of the type filter widget in lists and trees.")),cb=ow("listFilterWidget.outline",{dark:sg.transparent,light:sg.transparent,hcDark:"#f38518",hcLight:"#007ACC"},rt(0,"Outline color of the type filter widget in lists and trees.")),ab=ow("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:lw,hcLight:lw},rt(0,"Outline color of the type filter widget in lists and trees, when there are no matches.")),lb=ow("listFilterWidget.shadow",{dark:fw,light:fw,hcDark:fw,hcLight:fw},rt(0,"Shadow color of the type filter widget in lists and trees."));ow("list.filterMatchBackground",{dark:xv,light:xv,hcDark:null,hcLight:null},rt(0,"Background color of the filtered match.")),ow("list.filterMatchBorder",{dark:Dv,light:Dv,hcDark:lw,hcLight:uw},rt(0,"Border color of the filtered match."));const ub=ow("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},rt(0,"Tree stroke color for the indentation guides.")),db=ow("tree.inactiveIndentGuidesStroke",{dark:sy(ub,.4),light:sy(ub,.4),hcDark:sy(ub,.4),hcLight:sy(ub,.4)},rt(0,"Tree stroke color for the indentation guides that are not active.")),fb=ow("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},rt(0,"Table border color between columns.")),pb=ow("tree.tableOddRowsBackground",{dark:sy(rw,.04),light:sy(rw,.04),hcDark:null,hcLight:null},rt(0,"Background color for odd table rows."));ow("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},rt(0,"List/Tree foreground color for items that are deemphasized. "));const gb=ow("checkbox.background",{dark:Fw,light:Fw,hcDark:Fw,hcLight:Fw},rt(0,"Background color of checkbox widget."));ow("checkbox.selectBackground",{dark:nv,light:nv,hcDark:nv,hcLight:nv},rt(0,"Background color of checkbox widget when the element it's in is selected."));const mb=ow("checkbox.foreground",{dark:Rw,light:Rw,hcDark:Rw,hcLight:Rw},rt(0,"Foreground color of checkbox widget.")),wb=ow("checkbox.border",{dark:Ow,light:Ow,hcDark:Ow,hcLight:Ow},rt(0,"Border color of checkbox widget."));ow("checkbox.selectBorder",{dark:cw,light:cw,hcDark:cw,hcLight:cw},rt(0,"Border color of checkbox widget when the element it's in is selected."));const vb=ow("quickInput.list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},"",void 0,rt(0,"Please use quickInputList.focusBackground instead")),bb=ow("quickInputList.focusForeground",{dark:Kv,light:Kv,hcDark:Kv,hcLight:Kv},rt(0,"Quick picker foreground color for the focused item.")),yb=ow("quickInputList.focusIconForeground",{dark:Gv,light:Gv,hcDark:Gv,hcLight:Gv},rt(0,"Quick picker icon foreground color for the focused item.")),kb=ow("quickInputList.focusBackground",{dark:ny(vb,qv),light:ny(vb,qv),hcDark:null,hcLight:null},rt(0,"Quick picker background color for the focused item.")),xb=ow("menu.border",{dark:null,light:null,hcDark:lw,hcLight:lw},rt(0,"Border color of menus.")),Cb=ow("menu.foreground",{dark:Rw,light:Rw,hcDark:Rw,hcLight:Rw},rt(0,"Foreground color of menu items.")),Sb=ow("menu.background",{dark:Fw,light:Fw,hcDark:Fw,hcLight:Fw},rt(0,"Background color of menu items.")),Db=ow("menu.selectionForeground",{dark:Kv,light:Kv,hcDark:Kv,hcLight:Kv},rt(0,"Foreground color of the selected menu item in menus.")),Eb=ow("menu.selectionBackground",{dark:qv,light:qv,hcDark:qv,hcLight:qv},rt(0,"Background color of the selected menu item in menus.")),Ab=ow("menu.selectionBorder",{dark:null,light:null,hcDark:uw,hcLight:uw},rt(0,"Border color of the selected menu item in menus.")),Mb=ow("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:lw,hcLight:lw},rt(0,"Color of a separator menu item in menus.")),Lb=ow("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},rt(0,"Toolbar background when hovering over actions using the mouse"));ow("toolbar.hoverOutline",{dark:null,light:null,hcDark:uw,hcLight:uw},rt(0,"Toolbar outline when hovering over actions using the mouse")),ow("toolbar.activeBackground",{dark:ey(Lb,.1),light:iy(Lb,.1),hcDark:null,hcLight:null},rt(0,"Toolbar background when holding the mouse over actions")),ow("editor.snippetTabstopHighlightBackground",{dark:new sg(new tg(124,124,124,.3)),light:new sg(new tg(10,50,100,.2)),hcDark:new sg(new tg(124,124,124,.3)),hcLight:new sg(new tg(10,50,100,.2))},rt(0,"Highlight background color of a snippet tabstop.")),ow("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Highlight border color of a snippet tabstop.")),ow("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Highlight background color of the final tabstop of a snippet.")),ow("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new sg(new tg(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},rt(0,"Highlight border color of the final tabstop of a snippet."));const Fb=ow("breadcrumb.foreground",{light:sy(rw,.8),dark:sy(rw,.8),hcDark:sy(rw,.8),hcLight:sy(rw,.8)},rt(0,"Color of focused breadcrumb items.")),Tb=ow("breadcrumb.background",{light:ev,dark:ev,hcDark:ev,hcLight:ev},rt(0,"Background color of breadcrumb items.")),Rb=ow("breadcrumb.focusForeground",{light:iy(rw,.2),dark:ey(rw,.1),hcDark:ey(rw,.1),hcLight:ey(rw,.1)},rt(0,"Color of focused breadcrumb items.")),Ob=ow("breadcrumb.activeSelectionForeground",{light:iy(rw,.2),dark:ey(rw,.1),hcDark:ey(rw,.1),hcLight:ey(rw,.1)},rt(0,"Color of selected breadcrumb items."));ow("breadcrumbPicker.background",{light:nv,dark:nv,hcDark:nv,hcLight:nv},rt(0,"Background color of breadcrumb item picker."));const Ib=sg.fromHex("#40C8AE").transparent(.5),_b=sg.fromHex("#40A6FF").transparent(.5),Nb=sg.fromHex("#606060").transparent(.4),Bb=.4,Pb=ow("merge.currentHeaderBackground",{dark:Ib,light:Ib,hcDark:null,hcLight:null},rt(0,"Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);ow("merge.currentContentBackground",{dark:sy(Pb,Bb),light:sy(Pb,Bb),hcDark:sy(Pb,Bb),hcLight:sy(Pb,Bb)},rt(0,"Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const $b=ow("merge.incomingHeaderBackground",{dark:_b,light:_b,hcDark:null,hcLight:null},rt(0,"Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);ow("merge.incomingContentBackground",{dark:sy($b,Bb),light:sy($b,Bb),hcDark:sy($b,Bb),hcLight:sy($b,Bb)},rt(0,"Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const Wb=ow("merge.commonHeaderBackground",{dark:Nb,light:Nb,hcDark:null,hcLight:null},rt(0,"Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);ow("merge.commonContentBackground",{dark:sy(Wb,Bb),light:sy(Wb,Bb),hcDark:sy(Wb,Bb),hcLight:sy(Wb,Bb)},rt(0,"Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const jb=ow("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},rt(0,"Border color on headers and the splitter in inline merge-conflicts."));ow("editorOverviewRuler.currentContentForeground",{dark:sy(Pb,1),light:sy(Pb,1),hcDark:jb,hcLight:jb},rt(0,"Current overview ruler foreground for inline merge-conflicts.")),ow("editorOverviewRuler.incomingContentForeground",{dark:sy($b,1),light:sy($b,1),hcDark:jb,hcLight:jb},rt(0,"Incoming overview ruler foreground for inline merge-conflicts.")),ow("editorOverviewRuler.commonContentForeground",{dark:sy(Wb,1),light:sy(Wb,1),hcDark:jb,hcLight:jb},rt(0,"Common ancestor overview ruler foreground for inline merge-conflicts."));const zb=ow("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:""},rt(0,"Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),Hb=ow("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},rt(0,"Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Vb=ow("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},rt(0,"Minimap marker color for find matches."),!0),Ub=ow("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},rt(0,"Minimap marker color for repeating editor selections."),!0),qb=ow("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},rt(0,"Minimap marker color for the editor selection."),!0),Kb=ow("minimap.infoHighlight",{dark:Xw,light:Xw,hcDark:tv,hcLight:tv},rt(0,"Minimap marker color for infos.")),Gb=ow("minimap.warningHighlight",{dark:Jw,light:Jw,hcDark:Yw,hcLight:Yw},rt(0,"Minimap marker color for warnings.")),Zb=ow("minimap.errorHighlight",{dark:new sg(new tg(255,18,18,.7)),light:new sg(new tg(255,18,18,.7)),hcDark:new sg(new tg(255,50,50,1)),hcLight:"#B5200D"},rt(0,"Minimap marker color for errors.")),Qb=ow("minimap.background",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Minimap background color.")),Jb=ow("minimap.foregroundOpacity",{dark:sg.fromHex("#000f"),light:sg.fromHex("#000f"),hcDark:sg.fromHex("#000f"),hcLight:sg.fromHex("#000f")},rt(0,'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.'));ow("minimapSlider.background",{light:sy(Uw,.5),dark:sy(Uw,.5),hcDark:sy(Uw,.5),hcLight:sy(Uw,.5)},rt(0,"Minimap slider background color.")),ow("minimapSlider.hoverBackground",{light:sy(qw,.5),dark:sy(qw,.5),hcDark:sy(qw,.5),hcLight:sy(qw,.5)},rt(0,"Minimap slider background color when hovering.")),ow("minimapSlider.activeBackground",{light:sy(Kw,.5),dark:sy(Kw,.5),hcDark:sy(Kw,.5),hcLight:sy(Kw,.5)},rt(0,"Minimap slider background color when clicked on."));const Yb=ow("problemsErrorIcon.foreground",{dark:Zw,light:Zw,hcDark:Zw,hcLight:Zw},rt(0,"The color used for the problems error icon.")),Xb=ow("problemsWarningIcon.foreground",{dark:Jw,light:Jw,hcDark:Jw,hcLight:Jw},rt(0,"The color used for the problems warning icon.")),ty=ow("problemsInfoIcon.foreground",{dark:Xw,light:Xw,hcDark:Xw,hcLight:Xw},rt(0,"The color used for the problems info icon."));function iy(t,i){return{op:0,value:t,factor:i}}function ey(t,i){return{op:1,value:t,factor:i}}function sy(t,i){return{op:2,value:t,factor:i}}function ny(...t){return{op:4,values:t}}function oy(t,i,e,s){return{op:5,value:t,background:i,factor:e,transparency:s}}function ry(t,i){if(null!==t)return"string"==typeof t?"#"===t[0]?sg.fromHex(t):i.getColor(t):t instanceof sg?t:"object"==typeof t?function(t,i){var e,s,n,o;switch(t.op){case 0:return null===(e=ry(t.value,i))||void 0===e?void 0:e.darken(t.factor);case 1:return null===(s=ry(t.value,i))||void 0===s?void 0:s.lighten(t.factor);case 2:return null===(n=ry(t.value,i))||void 0===n?void 0:n.transparent(t.factor);case 3:{const e=ry(t.background,i);return e?null===(o=ry(t.value,i))||void 0===o?void 0:o.makeOpaque(e):ry(t.value,i)}case 4:for(const e of t.values){const t=ry(e,i);if(t)return t}return;case 6:return ry(i.defines(t.if)?t.then:t.else,i);case 5:{const e=ry(t.value,i);if(!e)return;const s=ry(t.background,i);return s?e.isDarkerThan(s)?sg.getLighterColor(e,s,t.factor).transparent(t.transparency):sg.getDarkerColor(e,s,t.factor).transparent(t.transparency):e.transparent(t.factor*t.transparency)}default:throw xh()}}(t,i):void 0}ow("charts.foreground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color used in charts.")),ow("charts.lines",{dark:sy(rw,.5),light:sy(rw,.5),hcDark:sy(rw,.5),hcLight:sy(rw,.5)},rt(0,"The color used for horizontal lines in charts.")),ow("charts.red",{dark:Zw,light:Zw,hcDark:Zw,hcLight:Zw},rt(0,"The red color used in chart visualizations.")),ow("charts.blue",{dark:Xw,light:Xw,hcDark:Xw,hcLight:Xw},rt(0,"The blue color used in chart visualizations.")),ow("charts.yellow",{dark:Jw,light:Jw,hcDark:Jw,hcLight:Jw},rt(0,"The yellow color used in chart visualizations.")),ow("charts.orange",{dark:Vb,light:Vb,hcDark:Vb,hcLight:Vb},rt(0,"The orange color used in chart visualizations.")),ow("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},rt(0,"The green color used in chart visualizations.")),ow("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},rt(0,"The purple color used in chart visualizations."));const hy="vscode://schemas/workbench-colors",cy=Dh.as(Ed);cy.registerSchema(hy,nw.getColorSchema());const ay=new pc((()=>cy.notifySchemaChanged(hy)),200);nw.onDidChangeSchema((()=>{ay.isScheduled()||ay.schedule()}));class ly{constructor(t,i){this.x=t,this.y=i,this._pageCoordinatesBrand=void 0}toClientCoordinates(t){return new uy(this.x-t.scrollX,this.y-t.scrollY)}}class uy{constructor(t,i){this.clientX=t,this.clientY=i,this._clientCoordinatesBrand=void 0}toPageCoordinates(t){return new ly(this.clientX+t.scrollX,this.clientY+t.scrollY)}}class dy{constructor(t,i,e,s){this.x=t,this.y=i,this.width=e,this.height=s,this._editorPagePositionBrand=void 0}}class fy{constructor(t,i){this.x=t,this.y=i,this._positionRelativeToEditorBrand=void 0}}function py(t){const i=nl(t);return new dy(i.left,i.top,i.width,i.height)}function gy(t,i,e){return new fy((e.x-i.x)/(i.width/t.offsetWidth),(e.y-i.y)/(i.height/t.offsetHeight))}class my extends tc{constructor(t,i,e){super(Na(e),t),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=i,this.pos=new ly(this.posx,this.posy),this.editorPos=py(e),this.relativePos=gy(e,this.editorPos,this.pos)}}class wy{constructor(t){this._editorViewDomNode=t}_create(t){return new my(t,!1,this._editorViewDomNode)}onContextMenu(t,i){return Va(t,"contextmenu",(t=>{i(this._create(t))}))}onMouseUp(t,i){return Va(t,"mouseup",(t=>{i(this._create(t))}))}onMouseDown(t,i){return Va(t,Ll.MOUSE_DOWN,(t=>{i(this._create(t))}))}onPointerDown(t,i){return Va(t,Ll.POINTER_DOWN,(t=>{i(this._create(t),t.pointerId)}))}onMouseLeave(t,i){return Va(t,Ll.MOUSE_LEAVE,(t=>{i(this._create(t))}))}onMouseMove(t,i){return Va(t,"mousemove",(t=>i(this._create(t))))}}class vy{constructor(t){this._editorViewDomNode=t}_create(t){return new my(t,!1,this._editorViewDomNode)}onPointerUp(t,i){return Va(t,"pointerup",(t=>{i(this._create(t))}))}onPointerDown(t,i){return Va(t,Ll.POINTER_DOWN,(t=>{i(this._create(t),t.pointerId)}))}onPointerLeave(t,i){return Va(t,Ll.POINTER_LEAVE,(t=>{i(this._create(t))}))}onPointerMove(t,i){return Va(t,"pointermove",(t=>i(this._create(t))))}}class by extends ie{constructor(t){super(),this._editorViewDomNode=t,this._globalPointerMoveMonitor=this._register(new tw),this._keydownListener=null}startMonitoring(t,i,e,s,n){this._keydownListener=qa(t.ownerDocument,"keydown",(t=>{t.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,t.browserEvent)}),!0),this._globalPointerMoveMonitor.startMonitoring(t,i,e,(t=>{s(new my(t,!0,this._editorViewDomNode))}),(t=>{this._keydownListener.dispose(),n(t)}))}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class yy{constructor(t){this._editor=t,this._instanceId=++yy._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new pc((()=>this.garbageCollect()),1e3)}createClassNameRef(t){const i=this.getOrCreateRule(t);return i.increaseRefCount(),{className:i.className,dispose:()=>{i.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(t){const i=this.computeUniqueKey(t);let e=this._rules.get(i);if(!e){const s=this._counter++;e=new ky(i,`dyn-rule-${this._instanceId}-${s}`,dl(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,t),this._rules.set(i,e)}return e}computeUniqueKey(t){return JSON.stringify(t)}garbageCollect(){for(const t of this._rules.values())t.hasReferences()||(this._rules.delete(t.key),t.dispose())}}yy._idPool=0;class ky{constructor(t,i,e,s){this.key=t,this.className=i,this.properties=s,this._referenceCount=0,this._styleElementDisposables=new te,this._styleElement=vl(e,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(t,i){let e=`.${t} {`;for(const t in i){const s=i[t];let n;n="object"==typeof s?ew(s.id):s,e+=`\n\t${xy(t)}: ${n};`}return e+="\n}",e}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function xy(t){return t.replace(/(^[A-Z])/,(([t])=>t.toLowerCase())).replace(/([A-Z])/g,(([t])=>`-${t.toLowerCase()}`))}class Cy extends ie{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(t){return!1}onCompositionEnd(t){return!1}onConfigurationChanged(t){return!1}onCursorStateChanged(t){return!1}onDecorationsChanged(t){return!1}onFlushed(t){return!1}onFocusChanged(t){return!1}onLanguageConfigurationChanged(t){return!1}onLineMappingChanged(t){return!1}onLinesChanged(t){return!1}onLinesDeleted(t){return!1}onLinesInserted(t){return!1}onRevealRangeRequest(t){return!1}onScrollChanged(t){return!1}onThemeChanged(t){return!1}onTokensChanged(t){return!1}onTokensColorsChanged(t){return!1}onZonesChanged(t){return!1}handleEvents(t){let i=!1;for(let e=0,s=t.length;e=o.left?s.width=Math.max(s.width,o.left+o.width-s.left):(i[e++]=s,s=o)}return i[e++]=s,i}static _createHorizontalRangesFromClientRects(t,i,e){if(!t||0===t.length)return null;const s=[];for(let n=0,o=t.length;nr)return null;if((i=Math.min(r,Math.max(0,i)))===(s=Math.min(r,Math.max(0,s)))&&e===n&&0===e&&!t.children[i].firstChild){const e=t.children[i].getClientRects();return o.markDidDomLayout(),this._createHorizontalRangesFromClientRects(e,o.clientRectDeltaLeft,o.clientRectScale)}i!==s&&s>0&&0===n&&(s--,n=1073741824);let h=t.children[i].firstChild,c=t.children[s].firstChild;if(h&&c||(!h&&0===e&&i>0&&(h=t.children[i-1].firstChild,e=1073741824),!c&&0===n&&s>0&&(c=t.children[s-1].firstChild,n=1073741824)),!h||!c)return null;e=Math.min(h.textContent.length,Math.max(0,e)),n=Math.min(c.textContent.length,Math.max(0,n));const a=this._readClientRects(h,e,c,n,o.endNode);return o.markDidDomLayout(),this._createHorizontalRangesFromClientRects(a,o.clientRectDeltaLeft,o.clientRectScale)}}var Iy;function _y(t){return t===Iy.HIGH_CONTRAST_DARK||t===Iy.HIGH_CONTRAST_LIGHT}function Ny(t){return t===Iy.DARK||t===Iy.HIGH_CONTRAST_DARK}!function(t){t.DARK="dark",t.LIGHT="light",t.HIGH_CONTRAST_DARK="hcDark",t.HIGH_CONTRAST_LIGHT="hcLight"}(Iy||(Iy={}));const By=!!Et||!(Dt||Uo||Go);let Py=!0;class $y{constructor(t,i){this.themeType=i;const e=t.options,s=e.get(50),n=e.get(38);this.renderWhitespace="off"===n?e.get(98):"none",this.renderControlCharacters=e.get(93),this.spaceWidth=s.spaceWidth,this.middotWidth=s.middotWidth,this.wsmiddotWidth=s.wsmiddotWidth,this.useMonospaceOptimizations=s.isMonospace&&!e.get(33),this.canUseHalfwidthRightwardsArrow=s.canUseHalfwidthRightwardsArrow,this.lineHeight=e.get(66),this.stopRenderingLineAfter=e.get(116),this.fontLigatures=e.get(51)}equals(t){return this.themeType===t.themeType&&this.renderWhitespace===t.renderWhitespace&&this.renderControlCharacters===t.renderControlCharacters&&this.spaceWidth===t.spaceWidth&&this.middotWidth===t.middotWidth&&this.wsmiddotWidth===t.wsmiddotWidth&&this.useMonospaceOptimizations===t.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===t.canUseHalfwidthRightwardsArrow&&this.lineHeight===t.lineHeight&&this.stopRenderingLineAfter===t.stopRenderingLineAfter&&this.fontLigatures===t.fontLigatures}}class Wy{constructor(t){this._options=t,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(t){if(!this._renderedViewLine)throw new Error("I have no rendered view line to set the dom node to...");this._renderedViewLine.domNode=tr(t)}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(t){this._isMaybeInvalid=!0,this._options=t}onSelectionChanged(){return!(!_y(this._options.themeType)&&"selection"!==this._options.renderWhitespace||(this._isMaybeInvalid=!0,0))}renderLine(t,i,e,s){if(!1===this._isMaybeInvalid)return!1;this._isMaybeInvalid=!1;const n=e.getViewLineRenderingData(t),o=this._options,r=Og.filter(n.inlineDecorations,t,n.minColumn,n.maxColumn);let h=null;if(_y(o.themeType)||"selection"===this._options.renderWhitespace){const i=e.selections;for(const e of i){if(e.endLineNumbert)continue;const i=e.startLineNumber===t?e.startColumn:n.minColumn,s=e.endLineNumber===t?e.endColumn:n.maxColumn;i');const a=Hg(c,s);s.appendString("");let l=null;return Py&&By&&n.isBasicASCII&&o.useMonospaceOptimizations&&0===a.containsForeignElements&&(l=new jy(this._renderedViewLine?this._renderedViewLine.domNode:null,c,a.characterMapping)),l||(l=Vy(this._renderedViewLine?this._renderedViewLine.domNode:null,c,a.characterMapping,a.containsRTL,a.containsForeignElements)),this._renderedViewLine=l,!0}layoutLine(t,i){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(i),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))}getWidth(t){return this._renderedViewLine?this._renderedViewLine.getWidth(t):0}getWidthIsFast(){return!this._renderedViewLine||this._renderedViewLine.getWidthIsFast()}needsMonospaceFontCheck(){return!!this._renderedViewLine&&this._renderedViewLine instanceof jy}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof jy?this._renderedViewLine.monospaceAssumptionsAreValid():Py}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof jy&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(t,i,e,s){if(!this._renderedViewLine)return null;i=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,i)),e=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,e));const n=this._renderedViewLine.input.stopRenderingLineAfter;if(-1!==n&&i>n+1&&e>n+1)return new Ry(!0,[new Fy(this.getWidth(s),0)]);-1!==n&&i>n+1&&(i=n+1),-1!==n&&e>n+1&&(e=n+1);const o=this._renderedViewLine.getVisibleRangesForRange(t,i,e,s);return o&&o.length>0?new Ry(!1,o):null}getColumnOfNodeOffset(t,i){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(t,i):1}}Wy.CLASS_NAME="view-line";class jy{constructor(t,i,e){this._cachedWidth=-1,this.domNode=t,this.input=i;const s=Math.floor(i.lineContent.length/300);if(s>0){this._keyColumnPixelOffsetCache=new Float32Array(s);for(let t=0;t=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),Py=!1)}return Py}toSlowRenderedLine(){return Vy(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(t,i,e,s){const n=this._getColumnPixelOffset(t,i,s),o=this._getColumnPixelOffset(t,e,s);return[new Fy(n,o-n)]}_getColumnPixelOffset(t,i,e){if(i<=300){const t=this._characterMapping.getHorizontalOffset(i);return this._charWidth*t}const s=Math.floor((i-1)/300)-1,n=300*(s+1)+1;let o=-1;if(this._keyColumnPixelOffsetCache&&(o=this._keyColumnPixelOffsetCache[s],-1===o&&(o=this._actualReadPixelOffset(t,n,e),this._keyColumnPixelOffsetCache[s]=o)),-1===o){const t=this._characterMapping.getHorizontalOffset(i);return this._charWidth*t}const r=this._characterMapping.getHorizontalOffset(n),h=this._characterMapping.getHorizontalOffset(i);return o+this._charWidth*(h-r)}_getReadingTarget(t){return t.domNode.firstChild}_actualReadPixelOffset(t,i,e){if(!this.domNode)return-1;const s=this._characterMapping.getDomPosition(i),n=Oy.readHorizontalRanges(this._getReadingTarget(this.domNode),s.partIndex,s.charIndex,s.partIndex,s.charIndex,e);return n&&0!==n.length?n[0].left:-1}getColumnOfNodeOffset(t,i){return Uy(this._characterMapping,t,i)}}class zy{constructor(t,i,e,s,n){if(this.domNode=t,this.input=i,this._characterMapping=e,this._isWhitespaceOnly=/^\s*$/.test(i.lineContent),this._containsForeignElements=n,this._cachedWidth=-1,this._pixelOffsetCache=null,!s||0===this._characterMapping.length){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let t=0,i=this._characterMapping.length;t<=i;t++)this._pixelOffsetCache[t]=-1}}_getReadingTarget(t){return t.domNode.firstChild}getWidth(t){return this.domNode?(-1===this._cachedWidth&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,null==t||t.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return-1!==this._cachedWidth}getVisibleRangesForRange(t,i,e,s){if(!this.domNode)return null;if(null!==this._pixelOffsetCache){const n=this._readPixelOffset(this.domNode,t,i,s);if(-1===n)return null;const o=this._readPixelOffset(this.domNode,t,e,s);return-1===o?null:[new Fy(n,o-n)]}return this._readVisibleRangesForRange(this.domNode,t,i,e,s)}_readVisibleRangesForRange(t,i,e,s,n){if(e===s){const s=this._readPixelOffset(t,i,e,n);return-1===s?null:[new Fy(s,0)]}return this._readRawVisibleRangesForRange(t,e,s,n)}_readPixelOffset(t,i,e,s){if(0===this._characterMapping.length){if(0===this._containsForeignElements)return 0;if(2===this._containsForeignElements)return 0;if(1===this._containsForeignElements)return this.getWidth(s);const i=this._getReadingTarget(t);return i.firstChild?(s.markDidDomLayout(),i.firstChild.offsetWidth):0}if(null!==this._pixelOffsetCache){const n=this._pixelOffsetCache[e];if(-1!==n)return n;const o=this._actualReadPixelOffset(t,i,e,s);return this._pixelOffsetCache[e]=o,o}return this._actualReadPixelOffset(t,i,e,s)}_actualReadPixelOffset(t,i,e,s){if(0===this._characterMapping.length){const i=Oy.readHorizontalRanges(this._getReadingTarget(t),0,0,0,0,s);return i&&0!==i.length?i[0].left:-1}if(e===this._characterMapping.length&&this._isWhitespaceOnly&&0===this._containsForeignElements)return this.getWidth(s);const n=this._characterMapping.getDomPosition(e),o=Oy.readHorizontalRanges(this._getReadingTarget(t),n.partIndex,n.charIndex,n.partIndex,n.charIndex,s);if(!o||0===o.length)return-1;const r=o[0].left;if(this.input.isBasicASCII){const t=this._characterMapping.getHorizontalOffset(e),i=Math.round(this.input.spaceWidth*t);if(Math.abs(i-r)<=1)return i}return r}_readRawVisibleRangesForRange(t,i,e,s){if(1===i&&e===this._characterMapping.length)return[new Fy(0,this.getWidth(s))];const n=this._characterMapping.getDomPosition(i),o=this._characterMapping.getDomPosition(e);return Oy.readHorizontalRanges(this._getReadingTarget(t),n.partIndex,n.charIndex,o.partIndex,o.charIndex,s)}getColumnOfNodeOffset(t,i){return Uy(this._characterMapping,t,i)}}class Hy extends zy{_readVisibleRangesForRange(t,i,e,s,n){const o=super._readVisibleRangesForRange(t,i,e,s,n);if(!o||0===o.length||e===s||1===e&&s===this._characterMapping.length)return o;if(!this.input.containsRTL){const e=this._readPixelOffset(t,i,s,n);if(-1!==e){const t=o[o.length-1];t.left=i)return c-i=4&&3===t[0]&&7===t[3]}static isStrictChildOfViewLines(t){return t.length>4&&3===t[0]&&7===t[3]}static isChildOfScrollableElement(t){return t.length>=2&&3===t[0]&&5===t[1]}static isChildOfMinimap(t){return t.length>=2&&3===t[0]&&8===t[1]}static isChildOfContentWidgets(t){return t.length>=4&&3===t[0]&&1===t[3]}static isChildOfOverflowGuard(t){return t.length>=1&&3===t[0]}static isChildOfOverflowingContentWidgets(t){return t.length>=1&&2===t[0]}static isChildOfOverlayWidgets(t){return t.length>=2&&3===t[0]&&4===t[1]}}class tk{constructor(t,i,e){this.viewModel=t.viewModel;const s=t.configuration.options;this.layoutInfo=s.get(143),this.viewDomNode=i.viewDomNode,this.lineHeight=s.get(66),this.stickyTabStops=s.get(115),this.typicalHalfwidthCharacterWidth=s.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=e,this._context=t,this._viewHelper=i}getZoneAtCoord(t){return tk.getZoneAtCoord(this._context,t)}static getZoneAtCoord(t,i){const e=t.viewLayout.getWhitespaceAtVerticalOffset(i);if(e){const s=e.verticalOffset+e.height/2,n=t.viewModel.getLineCount();let o,r=null,h=null;return e.afterLineNumber!==n&&(h=new As(e.afterLineNumber+1,1)),e.afterLineNumber>0&&(r=new As(e.afterLineNumber,t.viewModel.getLineMaxColumn(e.afterLineNumber))),o=null===h?r:null===r?h:i=t.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,ok._getMouseColumn(this.mouseContentHorizontalOffset,t.typicalHalfwidthCharacterWidth))}}class ek extends ik{constructor(t,i,e,s,n){super(t,i,e,s),this._ctx=t,n?(this.target=n,this.targetPath=Dy.collect(n,t.viewDomNode)):(this.target=null,this.targetPath=new Uint8Array(0))}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}_getMouseColumn(t=null){return t&&t.columno.contentLeft+o.width)continue;const e=t.getVerticalOffsetForLineNumber(o.position.lineNumber);if(e<=n&&n<=e+o.height)return i.fulfillContentText(o.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(t,i){const e=t.getZoneAtCoord(i.mouseVerticalOffset);return e?i.fulfillViewZone(i.isInContentArea?8:5,e.position,e):null}static _hitTestTextArea(t,i){return Xy.isTextArea(i.targetPath)?t.lastRenderData.lastTextareaPosition?i.fulfillContentText(t.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):i.fulfillTextarea():null}static _hitTestMargin(t,i){if(i.isInMarginArea){const e=t.getFullLineRangeAtCoord(i.mouseVerticalOffset),s=e.range.getStartPosition();let n=Math.abs(i.relativePos.x);const o={isAfterLines:e.isAfterLines,glyphMarginLeft:t.layoutInfo.glyphMarginLeft,glyphMarginWidth:t.layoutInfo.glyphMarginWidth,lineNumbersWidth:t.layoutInfo.lineNumbersWidth,offsetX:n};return n-=t.layoutInfo.glyphMarginLeft,n<=t.layoutInfo.glyphMarginWidth?i.fulfillMargin(2,s,e.range,o):(n-=t.layoutInfo.glyphMarginWidth,n<=t.layoutInfo.lineNumbersWidth?i.fulfillMargin(3,s,e.range,o):(n-=t.layoutInfo.lineNumbersWidth,i.fulfillMargin(4,s,e.range,o)))}return null}static _hitTestViewLines(t,i,e){if(!Xy.isChildOfViewLines(i.targetPath))return null;if(t.isInTopPadding(i.mouseVerticalOffset))return i.fulfillContentEmpty(new As(1,1),sk);if(t.isAfterLines(i.mouseVerticalOffset)||t.isInBottomPadding(i.mouseVerticalOffset)){const e=t.viewModel.getLineCount(),s=t.viewModel.getLineMaxColumn(e);return i.fulfillContentEmpty(new As(e,s),sk)}if(e){if(Xy.isStrictChildOfViewLines(i.targetPath)){const e=t.getLineNumberAtVerticalOffset(i.mouseVerticalOffset);if(0===t.viewModel.getLineLength(e)){const s=t.getLineWidth(e),n=nk(i.mouseContentHorizontalOffset-s);return i.fulfillContentEmpty(new As(e,1),n)}const s=t.getLineWidth(e);if(i.mouseContentHorizontalOffset>=s){const n=nk(i.mouseContentHorizontalOffset-s),o=new As(e,t.viewModel.getLineMaxColumn(e));return i.fulfillContentEmpty(o,n)}}return i.fulfillUnknown()}const s=ok._doHitTest(t,i);return 1===s.type?ok.createMouseTargetFromHitTestPosition(t,i,s.spanNode,s.position,s.injectedText):this._createMouseTarget(t,i.withTarget(s.hitTarget),!0)}static _hitTestMinimap(t,i){if(Xy.isChildOfMinimap(i.targetPath)){const e=t.getLineNumberAtVerticalOffset(i.mouseVerticalOffset),s=t.viewModel.getLineMaxColumn(e);return i.fulfillScrollbar(new As(e,s))}return null}static _hitTestScrollbarSlider(t,i){if(Xy.isChildOfScrollableElement(i.targetPath)&&i.target&&1===i.target.nodeType){const e=i.target.className;if(e&&/\b(slider|scrollbar)\b/.test(e)){const e=t.getLineNumberAtVerticalOffset(i.mouseVerticalOffset),s=t.viewModel.getLineMaxColumn(e);return i.fulfillScrollbar(new As(e,s))}}return null}static _hitTestScrollbar(t,i){if(Xy.isChildOfScrollableElement(i.targetPath)){const e=t.getLineNumberAtVerticalOffset(i.mouseVerticalOffset),s=t.viewModel.getLineMaxColumn(e);return i.fulfillScrollbar(new As(e,s))}return null}getMouseColumn(t){const i=this._context.configuration.options,e=i.get(143),s=this._context.viewLayout.getCurrentScrollLeft()+t.x-e.contentLeft;return ok._getMouseColumn(s,i.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(t,i){return t<0?1:Math.round(t/i)+1}static createMouseTargetFromHitTestPosition(t,i,e,s,n){const o=s.lineNumber,r=s.column,h=t.getLineWidth(o);if(i.mouseContentHorizontalOffset>h){const t=nk(i.mouseContentHorizontalOffset-h);return i.fulfillContentEmpty(s,t)}const c=t.visibleRangeForPosition(o,r);if(!c)return i.fulfillUnknown(s);if(Math.abs(i.mouseContentHorizontalOffset-c.left)<1)return i.fulfillContentText(s,null,{mightBeForeignElement:!!n,injectedText:n});const a=[];if(a.push({offset:c.left,column:r}),r>1){const i=t.visibleRangeForPosition(o,r-1);i&&a.push({offset:i.left,column:r-1})}if(rt.offset-i.offset));const l=i.pos.toClientCoordinates(Na(t.viewDomNode)),u=e.getBoundingClientRect(),d=u.left<=l.clientX&&l.clientX<=u.right;let f=null;for(let t=1;tn)){const e=Math.floor((s+n)/2);let o=i.pos.y+(e-i.mouseVerticalOffset);o<=i.editorPos.y&&(o=i.editorPos.y+1),o>=i.editorPos.y+i.editorPos.height&&(o=i.editorPos.y+i.editorPos.height-1);const r=new ly(i.pos.x,o),h=this._actualDoHitTestWithCaretRangeFromPoint(t,r.toClientCoordinates(Na(t.viewDomNode)));if(1===h.type)return h}return this._actualDoHitTestWithCaretRangeFromPoint(t,i.pos.toClientCoordinates(Na(t.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(t,i){const e=fl(t.viewDomNode);let s;if(s=e?void 0===e.caretRangeFromPoint?function(t,i,e){const s=document.createRange();let n=t.elementFromPoint(i,e);if(null!==n){for(;n&&n.firstChild&&n.firstChild.nodeType!==n.firstChild.TEXT_NODE&&n.lastChild&&n.lastChild.firstChild;)n=n.lastChild;const t=n.getBoundingClientRect(),e=Na(n),o=`${e.getComputedStyle(n,null).getPropertyValue("font-style")} ${e.getComputedStyle(n,null).getPropertyValue("font-variant")} ${e.getComputedStyle(n,null).getPropertyValue("font-weight")} ${e.getComputedStyle(n,null).getPropertyValue("font-size")}/${e.getComputedStyle(n,null).getPropertyValue("line-height")} ${e.getComputedStyle(n,null).getPropertyValue("font-family")}`,r=n.innerText;let h,c=t.left,a=0;if(i>t.left+t.width)a=r.length;else{const t=rk.getInstance();for(let e=0;ei(new tc(Na(t),e)))))}onmousedown(t,i){this._register(Va(t,Ll.MOUSE_DOWN,(e=>i(new tc(Na(t),e)))))}onmouseover(t,i){this._register(Va(t,Ll.MOUSE_OVER,(e=>i(new tc(Na(t),e)))))}onmouseleave(t,i){this._register(Va(t,Ll.MOUSE_LEAVE,(e=>i(new tc(Na(t),e)))))}onkeydown(t,i){this._register(Va(t,Ll.KEY_DOWN,(t=>i(new Qh(t)))))}onkeyup(t,i){this._register(Va(t,Ll.KEY_UP,(t=>i(new Qh(t)))))}oninput(t,i){this._register(Va(t,Ll.INPUT,i))}onblur(t,i){this._register(Va(t,Ll.BLUR,i))}onfocus(t,i){this._register(Va(t,Ll.FOCUS,i))}ignoreGesture(t){return Xm.ignoreTarget(t)}}class ck extends hk{constructor(t){super(),this._onActivate=t.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=t.bgWidth+"px",this.bgDomNode.style.height=t.bgHeight+"px",void 0!==t.top&&(this.bgDomNode.style.top="0px"),void 0!==t.left&&(this.bgDomNode.style.left="0px"),void 0!==t.bottom&&(this.bgDomNode.style.bottom="0px"),void 0!==t.right&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=t.className,this.domNode.classList.add(...Cr.asClassNameArray(t.icon)),this.domNode.style.position="absolute",this.domNode.style.width="11px",this.domNode.style.height="11px",void 0!==t.top&&(this.domNode.style.top=t.top+"px"),void 0!==t.left&&(this.domNode.style.left=t.left+"px"),void 0!==t.bottom&&(this.domNode.style.bottom=t.bottom+"px"),void 0!==t.right&&(this.domNode.style.right=t.right+"px"),this._pointerMoveMonitor=this._register(new tw),this._register(qa(this.bgDomNode,Ll.POINTER_DOWN,(t=>this._arrowPointerDown(t)))),this._register(qa(this.domNode,Ll.POINTER_DOWN,(t=>this._arrowPointerDown(t)))),this._pointerdownRepeatTimer=this._register(new Ja),this._pointerdownScheduleRepeatTimer=this._register(new dc)}_arrowPointerDown(t){t.target&&t.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet((()=>{this._pointerdownRepeatTimer.cancelAndSet((()=>this._onActivate()),1e3/24,Na(t))}),200),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(()=>{}),(()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()})),t.preventDefault())}}class ak extends ie{constructor(t,i,e){super(),this._visibility=t,this._visibleClassName=i,this._invisibleClassName=e,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new dc)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this._updateShouldBeVisible())}setShouldBeVisible(t){this._rawShouldBeVisible=t,this._updateShouldBeVisible()}_applyVisibilitySetting(){return 2!==this._visibility&&(3===this._visibility||this._rawShouldBeVisible)}_updateShouldBeVisible(){const t=this._applyVisibilitySetting();this._shouldBeVisible!==t&&(this._shouldBeVisible=t,this.ensureVisibility())}setIsNeeded(t){this._isNeeded!==t&&(this._isNeeded=t,this.ensureVisibility())}setDomNode(t){this._domNode=t,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet((()=>{var t;null===(t=this._domNode)||void 0===t||t.setClassName(this._visibleClassName)}),0))}_hide(t){var i;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,null===(i=this._domNode)||void 0===i||i.setClassName(this._invisibleClassName+(t?" fade":"")))}}class lk extends hk{constructor(t){super(),this._lazyRender=t.lazyRender,this._host=t.host,this._scrollable=t.scrollable,this._scrollByPage=t.scrollByPage,this._scrollbarState=t.scrollbarState,this._visibilityController=this._register(new ak(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new tw),this._shouldRender=!0,this.domNode=tr(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(Va(this.domNode.domNode,Ll.POINTER_DOWN,(t=>this._domNodePointerDown(t))))}_createArrow(t){const i=this._register(new ck(t));this.domNode.domNode.appendChild(i.bgDomNode),this.domNode.domNode.appendChild(i.domNode)}_createSlider(t,i,e,s){this.slider=tr(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(t),this.slider.setLeft(i),"number"==typeof e&&this.slider.setWidth(e),"number"==typeof s&&this.slider.setHeight(s),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(Va(this.slider.domNode,Ll.POINTER_DOWN,(t=>{0===t.button&&(t.preventDefault(),this._sliderPointerDown(t))}))),this.onclick(this.slider.domNode,(t=>{t.leftButton&&t.stopPropagation()}))}_onElementSize(t){return this._scrollbarState.setVisibleSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(t){return this._scrollbarState.setScrollSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(t){return this._scrollbarState.setScrollPosition(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(t){t.target===this.domNode.domNode&&this._onPointerDown(t)}delegatePointerDown(t){const i=this.domNode.domNode.getClientRects()[0].top,e=i+this._scrollbarState.getSliderPosition(),s=i+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),n=this._sliderPointerPosition(t);e<=n&&n<=s?0===t.button&&(t.preventDefault(),this._sliderPointerDown(t)):this._onPointerDown(t)}_onPointerDown(t){let i,e;if(t.target===this.domNode.domNode&&"number"==typeof t.offsetX&&"number"==typeof t.offsetY)i=t.offsetX,e=t.offsetY;else{const s=nl(this.domNode.domNode);i=t.pageX-s.left,e=t.pageY-s.top}const s=this._pointerDownRelativePosition(i,e);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(s):this._scrollbarState.getDesiredScrollPositionFromOffset(s)),0===t.button&&(t.preventDefault(),this._sliderPointerDown(t))}_sliderPointerDown(t){if(!(t.target&&t.target instanceof Element))return;const i=this._sliderPointerPosition(t),e=this._sliderOrthogonalPointerPosition(t),s=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(t=>{const n=this._sliderOrthogonalPointerPosition(t),o=Math.abs(n-e);if(Ct&&o>140)return void this._setDesiredScrollPositionNow(s.getScrollPosition());const r=this._sliderPointerPosition(t);this._setDesiredScrollPositionNow(s.getDesiredScrollPositionFromDelta(r-i))}),(()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()})),this._host.onDragStart()}_setDesiredScrollPositionNow(t){const i={};this.writeScrollPosition(i,t),this._scrollable.setScrollPositionNow(i)}updateScrollbarSize(t){this._updateScrollbarSize(t),this._scrollbarState.setScrollbarSize(t),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}class uk{constructor(t,i,e,s,n,o){this._scrollbarSize=Math.round(i),this._oppositeScrollbarSize=Math.round(e),this._arrowSize=Math.round(t),this._visibleSize=s,this._scrollSize=n,this._scrollPosition=o,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new uk(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(t){const i=Math.round(t);return this._visibleSize!==i&&(this._visibleSize=i,this._refreshComputedValues(),!0)}setScrollSize(t){const i=Math.round(t);return this._scrollSize!==i&&(this._scrollSize=i,this._refreshComputedValues(),!0)}setScrollPosition(t){const i=Math.round(t);return this._scrollPosition!==i&&(this._scrollPosition=i,this._refreshComputedValues(),!0)}setScrollbarSize(t){this._scrollbarSize=Math.round(t)}setOppositeScrollbarSize(t){this._oppositeScrollbarSize=Math.round(t)}static _computeValues(t,i,e,s,n){const o=Math.max(0,e-t),r=Math.max(0,o-2*i),h=s>0&&s>e;if(!h)return{computedAvailableSize:Math.round(o),computedIsNeeded:h,computedSliderSize:Math.round(r),computedSliderRatio:0,computedSliderPosition:0};const c=Math.round(Math.max(20,Math.floor(e*r/s))),a=(r-c)/(s-e),l=n*a;return{computedAvailableSize:Math.round(o),computedIsNeeded:h,computedSliderSize:Math.round(c),computedSliderRatio:a,computedSliderPosition:Math.round(l)}}_refreshComputedValues(){const t=uk._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(t){return this._computedIsNeeded?Math.round((t-this._arrowSize-this._computedSliderSize/2)/this._computedSliderRatio):0}getDesiredScrollPositionFromOffsetPaged(t){if(!this._computedIsNeeded)return 0;let i=this._scrollPosition;return t-this._arrowSizethis._host.onMouseWheel(new ic(null,1,0))}),this._createArrow({className:"scra",icon:Os.scrollbarButtonRight,top:e,left:void 0,bottom:void 0,right:t,bgWidth:i.arrowSize,bgHeight:i.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new ic(null,-1,0))})}this._createSlider(Math.floor((i.horizontalScrollbarSize-i.horizontalSliderSize)/2),0,void 0,i.horizontalSliderSize)}_updateSlider(t,i){this.slider.setWidth(t),this.slider.setLeft(i)}_renderDomNode(t,i){this.domNode.setWidth(t),this.domNode.setHeight(i),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(t.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,i){return t}_sliderPointerPosition(t){return t.pageX}_sliderOrthogonalPointerPosition(t){return t.pageY}_updateScrollbarSize(t){this.slider.setHeight(t)}writeScrollPosition(t,i){t.scrollLeft=i}updateOptions(t){this.updateScrollbarSize(2===t.horizontal?0:t.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(2===t.vertical?0:t.verticalScrollbarSize),this._visibilityController.setVisibility(t.horizontal),this._scrollByPage=t.scrollByPage}}class fk extends lk{constructor(t,i,e){const s=t.getScrollDimensions(),n=t.getCurrentScrollPosition();if(super({lazyRender:i.lazyRender,host:e,scrollbarState:new uk(i.verticalHasArrows?i.arrowSize:0,2===i.vertical?0:i.verticalScrollbarSize,0,s.height,s.scrollHeight,n.scrollTop),visibility:i.vertical,extraScrollbarClassName:"vertical",scrollable:t,scrollByPage:i.scrollByPage}),i.verticalHasArrows){const t=(i.arrowSize-11)/2,e=(i.verticalScrollbarSize-11)/2;this._createArrow({className:"scra",icon:Os.scrollbarButtonUp,top:t,left:e,bottom:void 0,right:void 0,bgWidth:i.verticalScrollbarSize,bgHeight:i.arrowSize,onActivate:()=>this._host.onMouseWheel(new ic(null,0,1))}),this._createArrow({className:"scra",icon:Os.scrollbarButtonDown,top:void 0,left:e,bottom:t,right:void 0,bgWidth:i.verticalScrollbarSize,bgHeight:i.arrowSize,onActivate:()=>this._host.onMouseWheel(new ic(null,0,-1))})}this._createSlider(0,Math.floor((i.verticalScrollbarSize-i.verticalSliderSize)/2),i.verticalSliderSize,void 0)}_updateSlider(t,i){this.slider.setHeight(t),this.slider.setTop(i)}_renderDomNode(t,i){this.domNode.setWidth(i),this.domNode.setHeight(t),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(t){return this._shouldRender=this._onElementScrollSize(t.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(t.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(t.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(t,i){return i}_sliderPointerPosition(t){return t.pageY}_sliderOrthogonalPointerPosition(t){return t.pageX}_updateScrollbarSize(t){this.slider.setWidth(t)}writeScrollPosition(t,i){t.scrollTop=i}updateOptions(t){this.updateScrollbarSize(2===t.vertical?0:t.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(t.vertical),this._scrollByPage=t.scrollByPage}}class pk{constructor(t,i,e,s,n,o,r){this._forceIntegerValues=t,this._scrollStateBrand=void 0,this._forceIntegerValues&&(i|=0,e|=0,s|=0,n|=0,o|=0,r|=0),this.rawScrollLeft=s,this.rawScrollTop=r,i<0&&(i=0),s+i>e&&(s=e-i),s<0&&(s=0),n<0&&(n=0),r+n>o&&(r=o-n),r<0&&(r=0),this.width=i,this.scrollWidth=e,this.scrollLeft=s,this.height=n,this.scrollHeight=o,this.scrollTop=r}equals(t){return this.rawScrollLeft===t.rawScrollLeft&&this.rawScrollTop===t.rawScrollTop&&this.width===t.width&&this.scrollWidth===t.scrollWidth&&this.scrollLeft===t.scrollLeft&&this.height===t.height&&this.scrollHeight===t.scrollHeight&&this.scrollTop===t.scrollTop}withScrollDimensions(t,i){return new pk(this._forceIntegerValues,void 0!==t.width?t.width:this.width,void 0!==t.scrollWidth?t.scrollWidth:this.scrollWidth,i?this.rawScrollLeft:this.scrollLeft,void 0!==t.height?t.height:this.height,void 0!==t.scrollHeight?t.scrollHeight:this.scrollHeight,i?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new pk(this._forceIntegerValues,this.width,this.scrollWidth,void 0!==t.scrollLeft?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,void 0!==t.scrollTop?t.scrollTop:this.rawScrollTop)}createScrollEvent(t,i){return{inSmoothScrolling:i,oldWidth:t.width,oldScrollWidth:t.scrollWidth,oldScrollLeft:t.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:t.height,oldScrollHeight:t.scrollHeight,oldScrollTop:t.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:this.width!==t.width,scrollWidthChanged:this.scrollWidth!==t.scrollWidth,scrollLeftChanged:this.scrollLeft!==t.scrollLeft,heightChanged:this.height!==t.height,scrollHeightChanged:this.scrollHeight!==t.scrollHeight,scrollTopChanged:this.scrollTop!==t.scrollTop}}}class gk extends ie{constructor(t){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new fe),this.onScroll=this._onScroll.event,this._smoothScrollDuration=t.smoothScrollDuration,this._scheduleAtNextAnimationFrame=t.scheduleAtNextAnimationFrame,this._state=new pk(t.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(t){this._smoothScrollDuration=t}validateScrollPosition(t){return this._state.withScrollPosition(t)}getScrollDimensions(){return this._state}setScrollDimensions(t,i){var e;const s=this._state.withScrollDimensions(t,i);this._setState(s,Boolean(this._smoothScrolling)),null===(e=this._smoothScrolling)||void 0===e||e.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(t){const i=this._state.withScrollPosition(t);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(i,!1)}setScrollPositionSmooth(t,i){if(0===this._smoothScrollDuration)return this.setScrollPositionNow(t);if(this._smoothScrolling){const e=this._state.withScrollPosition(t={scrollLeft:void 0===t.scrollLeft?this._smoothScrolling.to.scrollLeft:t.scrollLeft,scrollTop:void 0===t.scrollTop?this._smoothScrolling.to.scrollTop:t.scrollTop});if(this._smoothScrolling.to.scrollLeft===e.scrollLeft&&this._smoothScrolling.to.scrollTop===e.scrollTop)return;let s;s=i?new vk(this._smoothScrolling.from,e,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,e,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=s}else{const i=this._state.withScrollPosition(t);this._smoothScrolling=vk.start(this._state,i,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))}hasPendingScrollAnimation(){return Boolean(this._smoothScrolling)}_performSmoothScrolling(){if(!this._smoothScrolling)return;const t=this._smoothScrolling.tick(),i=this._state.withScrollPosition(t);return this._setState(i,!0),this._smoothScrolling?t.isDone?(this._smoothScrolling.dispose(),void(this._smoothScrolling=null)):void(this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame((()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())}))):void 0}_setState(t,i){const e=this._state;e.equals(t)||(this._state=t,this._onScroll.fire(this._state.createScrollEvent(e,i)))}}class mk{constructor(t,i,e){this.scrollLeft=t,this.scrollTop=i,this.isDone=e}}function wk(t,i){const e=i-t;return function(i){return t+e*(1-Math.pow(1-i,3))}}class vk{constructor(t,i,e,s){this.from=t,this.to=i,this.duration=s,this.startTime=e,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(t,i,e){if(Math.abs(t-i)>2.5*e){let r,h;return t0&&Math.abs(t.deltaY)>0)return 1;let i=.5;return this._isAlmostInt(t.deltaX)&&this._isAlmostInt(t.deltaY)||(i+=.25),Math.min(Math.max(i,0),1)}_isAlmostInt(t){return Math.abs(Math.round(t)-t)<.01}}yk.INSTANCE=new yk;class kk extends hk{get options(){return this._options}constructor(t,i,e){super(),this._onScroll=this._register(new fe),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new fe),t.style.overflow="hidden",this._options=function(t){const i={lazyRender:void 0!==t.lazyRender&&t.lazyRender,className:void 0!==t.className?t.className:"",useShadows:void 0===t.useShadows||t.useShadows,handleMouseWheel:void 0===t.handleMouseWheel||t.handleMouseWheel,flipAxes:void 0!==t.flipAxes&&t.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:void 0!==t.consumeMouseWheelIfScrollbarIsNeeded&&t.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:void 0!==t.alwaysConsumeMouseWheel&&t.alwaysConsumeMouseWheel,scrollYToX:void 0!==t.scrollYToX&&t.scrollYToX,mouseWheelScrollSensitivity:void 0!==t.mouseWheelScrollSensitivity?t.mouseWheelScrollSensitivity:1,fastScrollSensitivity:void 0!==t.fastScrollSensitivity?t.fastScrollSensitivity:5,scrollPredominantAxis:void 0===t.scrollPredominantAxis||t.scrollPredominantAxis,mouseWheelSmoothScroll:void 0===t.mouseWheelSmoothScroll||t.mouseWheelSmoothScroll,arrowSize:void 0!==t.arrowSize?t.arrowSize:11,listenOnDomNode:void 0!==t.listenOnDomNode?t.listenOnDomNode:null,horizontal:void 0!==t.horizontal?t.horizontal:1,horizontalScrollbarSize:void 0!==t.horizontalScrollbarSize?t.horizontalScrollbarSize:10,horizontalSliderSize:void 0!==t.horizontalSliderSize?t.horizontalSliderSize:0,horizontalHasArrows:void 0!==t.horizontalHasArrows&&t.horizontalHasArrows,vertical:void 0!==t.vertical?t.vertical:1,verticalScrollbarSize:void 0!==t.verticalScrollbarSize?t.verticalScrollbarSize:10,verticalHasArrows:void 0!==t.verticalHasArrows&&t.verticalHasArrows,verticalSliderSize:void 0!==t.verticalSliderSize?t.verticalSliderSize:0,scrollByPage:void 0!==t.scrollByPage&&t.scrollByPage};return i.horizontalSliderSize=void 0!==t.horizontalSliderSize?t.horizontalSliderSize:i.horizontalScrollbarSize,i.verticalSliderSize=void 0!==t.verticalSliderSize?t.verticalSliderSize:i.verticalScrollbarSize,St&&(i.className+=" mac"),i}(i),this._scrollable=e,this._register(this._scrollable.onScroll((t=>{this._onWillScroll.fire(t),this._onDidScroll(t),this._onScroll.fire(t)})));const s={onMouseWheel:t=>this._onMouseWheel(t),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new fk(this._scrollable,this._options,s)),this._horizontalScrollbar=this._register(new dk(this._scrollable,this._options,s)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(t),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=tr(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=tr(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=tr(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,(t=>this._onMouseOver(t))),this.onmouseleave(this._listenOnDomNode,(t=>this._onMouseLeave(t))),this._hideTimeout=this._register(new dc),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=Ji(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(t){this._verticalScrollbar.delegatePointerDown(t)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(t){this._scrollable.setScrollDimensions(t,!1)}updateClassName(t){this._options.className=t,St&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(t){void 0!==t.handleMouseWheel&&(this._options.handleMouseWheel=t.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),void 0!==t.mouseWheelScrollSensitivity&&(this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity),void 0!==t.fastScrollSensitivity&&(this._options.fastScrollSensitivity=t.fastScrollSensitivity),void 0!==t.scrollPredominantAxis&&(this._options.scrollPredominantAxis=t.scrollPredominantAxis),void 0!==t.horizontal&&(this._options.horizontal=t.horizontal),void 0!==t.vertical&&(this._options.vertical=t.vertical),void 0!==t.horizontalScrollbarSize&&(this._options.horizontalScrollbarSize=t.horizontalScrollbarSize),void 0!==t.verticalScrollbarSize&&(this._options.verticalScrollbarSize=t.verticalScrollbarSize),void 0!==t.scrollByPage&&(this._options.scrollByPage=t.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(t){this._onMouseWheel(new ic(t))}_setListeningToMouseWheel(t){this._mouseWheelToDispose.length>0!==t&&(this._mouseWheelToDispose=Ji(this._mouseWheelToDispose),t)&&this._mouseWheelToDispose.push(Va(this._listenOnDomNode,Ll.MOUSE_WHEEL,(t=>{this._onMouseWheel(new ic(t))}),{passive:!1}))}_onMouseWheel(t){var i;if(null===(i=t.browserEvent)||void 0===i?void 0:i.defaultPrevented)return;const e=yk.INSTANCE;e.acceptStandardWheelEvent(t);let s=!1;if(t.deltaY||t.deltaX){let i=t.deltaY*this._options.mouseWheelScrollSensitivity,n=t.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&n+i===0?n=i=0:Math.abs(i)>=Math.abs(n)?n=0:i=0),this._options.flipAxes&&([i,n]=[n,i]),!this._options.scrollYToX&&!(!St&&t.browserEvent&&t.browserEvent.shiftKey)||n||(n=i,i=0),t.browserEvent&&t.browserEvent.altKey&&(n*=this._options.fastScrollSensitivity,i*=this._options.fastScrollSensitivity);const o=this._scrollable.getFutureScrollPosition();let r={};if(i){const t=50*i,e=o.scrollTop-(t<0?Math.floor(t):Math.ceil(t));this._verticalScrollbar.writeScrollPosition(r,e)}if(n){const t=50*n,i=o.scrollLeft-(t<0?Math.floor(t):Math.ceil(t));this._horizontalScrollbar.writeScrollPosition(r,i)}r=this._scrollable.validateScrollPosition(r),(o.scrollLeft!==r.scrollLeft||o.scrollTop!==r.scrollTop)&&(this._options.mouseWheelSmoothScroll&&e.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(r):this._scrollable.setScrollPositionNow(r),s=!0)}let n=s;!n&&this._options.alwaysConsumeMouseWheel&&(n=!0),!n&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(n=!0),n&&(t.preventDefault(),t.stopPropagation())}_onDidScroll(t){this._shouldRender=this._horizontalScrollbar.onDidScroll(t)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(t)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const t=this._scrollable.getCurrentScrollPosition(),i=t.scrollTop>0,e=t.scrollLeft>0,s=e?" left":"",n=i?" top":"",o=e||i?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${s}`),this._topShadowDomNode.setClassName(`shadow${n}`),this._topLeftShadowDomNode.setClassName(`shadow${o}${n}${s}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(t){this._mouseIsOver=!1,this._hide()}_onMouseOver(t){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){this._mouseIsOver||this._isDragging||(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){this._mouseIsOver||this._isDragging||this._hideTimeout.cancelAndSet((()=>this._hide()),500)}}class xk extends kk{constructor(t,i){(i=i||{}).mouseWheelSmoothScroll=!1;const e=new gk({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:i=>Qa(Na(t),i)});super(t,i,e),this._register(e)}setScrollPosition(t){this._scrollable.setScrollPositionNow(t)}}class Ck extends kk{constructor(t,i,e){super(t,i,e)}setScrollPosition(t){t.reuseAnimation?this._scrollable.setScrollPositionSmooth(t,t.reuseAnimation):this._scrollable.setScrollPositionNow(t)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class Sk extends kk{constructor(t,i){(i=i||{}).mouseWheelSmoothScroll=!1;const e=new gk({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:i=>Qa(Na(t),i)});super(t,i,e),this._register(e),this._element=t,this._register(this.onScroll((t=>{t.scrollTopChanged&&(this._element.scrollTop=t.scrollTop),t.scrollLeftChanged&&(this._element.scrollLeft=t.scrollLeft)}))),this.scanDomNode()}setScrollPosition(t){this._scrollable.setScrollPositionNow(t)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}class Dk extends Cy{constructor(t,i,e){super(),this._mouseLeaveMonitor=null,this._context=t,this.viewController=i,this.viewHelper=e,this.mouseTargetFactory=new ok(this._context,e),this._mouseDownOperation=this._register(new Ek(this._context,this.viewController,this.viewHelper,this.mouseTargetFactory,((t,i)=>this._createMouseTarget(t,i)),(t=>this._getMouseColumn(t)))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(143).height;const s=new wy(this.viewHelper.viewDomNode);this._register(s.onContextMenu(this.viewHelper.viewDomNode,(t=>this._onContextMenu(t,!0)))),this._register(s.onMouseMove(this.viewHelper.viewDomNode,(t=>{this._onMouseMove(t),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=Va(this.viewHelper.viewDomNode.ownerDocument,"mousemove",(t=>{this.viewHelper.viewDomNode.contains(t.target)||this._onMouseLeave(new my(t,!1,this.viewHelper.viewDomNode))})))}))),this._register(s.onMouseUp(this.viewHelper.viewDomNode,(t=>this._onMouseUp(t)))),this._register(s.onMouseLeave(this.viewHelper.viewDomNode,(t=>this._onMouseLeave(t))));let n=0;this._register(s.onPointerDown(this.viewHelper.viewDomNode,((t,i)=>{n=i}))),this._register(Va(this.viewHelper.viewDomNode,Ll.POINTER_UP,(()=>{this._mouseDownOperation.onPointerUp()}))),this._register(s.onMouseDown(this.viewHelper.viewDomNode,(t=>this._onMouseDown(t,n)))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const t=yk.INSTANCE;let i=0,e=nr.getZoomLevel(),s=!1,n=0;function o(t){return St?(t.metaKey||t.ctrlKey)&&!t.shiftKey&&!t.altKey:t.ctrlKey&&!t.metaKey&&!t.shiftKey&&!t.altKey}this._register(Va(this.viewHelper.viewDomNode,Ll.MOUSE_WHEEL,(r=>{if(this.viewController.emitMouseWheel(r),!this._context.configuration.options.get(75))return;const h=new ic(r);if(t.acceptStandardWheelEvent(h),t.isPhysicalMouseWheel()){if(o(r)){const t=nr.getZoomLevel();nr.setZoomLevel(t+(h.deltaY>0?1:-1)),h.preventDefault(),h.stopPropagation()}}else Date.now()-i>50&&(e=nr.getZoomLevel(),s=o(r),n=0),i=Date.now(),n+=h.deltaY,s&&(nr.setZoomLevel(e+n/5),h.preventDefault(),h.stopPropagation())}),{capture:!0,passive:!1}))}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(t){if(t.hasChanged(143)){const t=this._context.configuration.options.get(143).height;this._height!==t&&(this._height=t,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(t){return this._mouseDownOperation.onCursorStateChanged(t),!1}onFocusChanged(t){return!1}getTargetAtClientPoint(t,i){const e=new uy(t,i).toPageCoordinates(Na(this.viewHelper.viewDomNode)),s=py(this.viewHelper.viewDomNode);if(e.ys.y+s.height||e.xs.x+s.width)return null;const n=gy(this.viewHelper.viewDomNode,s,e);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),s,e,n,null)}_createMouseTarget(t,i){let e=t.target;if(!this.viewHelper.viewDomNode.contains(e)){const i=fl(this.viewHelper.viewDomNode);i&&(e=i.elementsFromPoint(t.posx,t.posy).find((t=>this.viewHelper.viewDomNode.contains(t))))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),t.editorPos,t.pos,t.relativePos,i?e:null)}_getMouseColumn(t){return this.mouseTargetFactory.getMouseColumn(t.relativePos)}_onContextMenu(t,i){this.viewController.emitContextMenu({event:t,target:this._createMouseTarget(t,i)})}_onMouseMove(t){this.mouseTargetFactory.mouseTargetIsWidget(t)||t.preventDefault(),this._mouseDownOperation.isActive()||t.timestamp{t.preventDefault(),this.viewHelper.focusTextArea()};a&&(s||o&&r)?(l(),this._mouseDownOperation.start(e.type,t,i)):n?t.preventDefault():h?a&&this.viewHelper.shouldSuppressMouseDownOnViewZone(e.detail.viewZoneId)&&(l(),this._mouseDownOperation.start(e.type,t,i),t.preventDefault()):c&&this.viewHelper.shouldSuppressMouseDownOnWidget(e.detail)&&(l(),t.preventDefault()),this.viewController.emitMouseDown({event:t,target:e})}}class Ek extends ie{constructor(t,i,e,s,n,o){super(),this._context=t,this._viewController=i,this._viewHelper=e,this._mouseTargetFactory=s,this._createMouseTarget=n,this._getMouseColumn=o,this._mouseMoveMonitor=this._register(new by(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new Ak(this._context,this._viewHelper,this._mouseTargetFactory,((t,i,e)=>this._dispatchMouse(t,i,e)))),this._mouseState=new Lk,this._currentSelection=new Ls(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(t){this._lastMouseEvent=t,this._mouseState.setModifiers(t);const i=this._findMousePosition(t,!1);i&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:t,target:i}):13!==i.type||"above"!==i.outsidePosition&&"below"!==i.outsidePosition?(this._topBottomDragScrolling.stop(),this._dispatchMouse(i,!0,1)):this._topBottomDragScrolling.start(i,t))}start(t,i,e){this._lastMouseEvent=i,this._mouseState.setStartedOnLineNumbers(3===t),this._mouseState.setStartButtons(i),this._mouseState.setModifiers(i);const s=this._findMousePosition(i,!0);if(!s||!s.position)return;this._mouseState.trySetCount(i.detail,s.position),i.detail=this._mouseState.count;const n=this._context.configuration.options;if(!n.get(90)&&n.get(35)&&!n.get(22)&&!this._mouseState.altKey&&i.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&6===s.type&&s.position&&this._currentSelection.containsPosition(s.position))return this._mouseState.isDragAndDrop=!0,this._isActive=!0,void this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,e,i.buttons,(t=>this._onMouseDownThenMove(t)),(t=>{const i=this._findMousePosition(this._lastMouseEvent,!1);Ml(t)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:i?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()}));this._mouseState.isDragAndDrop=!1,this._dispatchMouse(s,i.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,e,i.buttons,(t=>this._onMouseDownThenMove(t)),(()=>this._stop())))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(t){this._currentSelection=t.selections[0]}_getPositionOutsideEditor(t){const i=t.editorPos,e=this._context.viewModel,s=this._context.viewLayout,n=this._getMouseColumn(t);if(t.posyi.y+i.height){const o=t.posy-i.y-i.height,r=s.getCurrentScrollTop()+t.relativePos.y,h=tk.getZoneAtCoord(this._context,r);if(h){const t=this._helpPositionJumpOverViewZone(h);if(t)return Yy.createOutsideEditor(n,t,"below",o)}const c=s.getLineNumberAtVerticalOffset(r);return Yy.createOutsideEditor(n,new As(c,e.getLineMaxColumn(c)),"below",o)}const o=s.getLineNumberAtVerticalOffset(s.getCurrentScrollTop()+t.relativePos.y);if(t.posxi.x+i.width){const s=t.posx-i.x-i.width;return Yy.createOutsideEditor(n,new As(o,e.getLineMaxColumn(o)),"right",s)}return null}_findMousePosition(t,i){const e=this._getPositionOutsideEditor(t);if(e)return e;const s=this._createMouseTarget(t,i);if(!s.position)return null;if(8===s.type||5===s.type){const t=this._helpPositionJumpOverViewZone(s.detail);if(t)return Yy.createViewZone(s.type,s.element,s.mouseColumn,t,s.detail)}return s}_helpPositionJumpOverViewZone(t){const i=new As(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),e=t.positionBefore,s=t.positionAfter;return e&&s?e.isBefore(i)?e:s:null}_dispatchMouse(t,i,e){t.position&&this._viewController.dispatchMouse({position:t.position,mouseColumn:t.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:e,inSelectionMode:i,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:6===t.type&&null!==t.detail.injectedText})}}class Ak extends ie{constructor(t,i,e,s){super(),this._context=t,this._viewHelper=i,this._mouseTargetFactory=e,this._dispatchMouse=s,this._operation=null}dispose(){super.dispose(),this.stop()}start(t,i){this._operation?this._operation.setPosition(t,i):this._operation=new Mk(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,t,i)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class Mk extends ie{constructor(t,i,e,s,n,o){super(),this._context=t,this._viewHelper=i,this._mouseTargetFactory=e,this._dispatchMouse=s,this._position=n,this._mouseEvent=o,this._lastTime=Date.now(),this._animationFrameDisposable=Qa(Na(o.browserEvent),(()=>this._execute()))}dispose(){this._animationFrameDisposable.dispose()}setPosition(t,i){this._position=t,this._mouseEvent=i}_tick(){const t=Date.now(),i=t-this._lastTime;return this._lastTime=t,i}_getScrollSpeed(){const t=this._context.configuration.options.get(66),i=this._context.configuration.options.get(143).height/t,e=this._position.outsideDistance/t;return e<=1.5?Math.max(30,i*(1+e)):e<=3?Math.max(60,i*(2+e)):Math.max(200,i*(7+e))}_execute(){const t=this._context.configuration.options.get(66),i=this._getScrollSpeed()*(this._tick()/1e3)*t;this._context.viewModel.viewLayout.deltaScrollNow(0,"above"===this._position.outsidePosition?-i:i),this._viewHelper.renderNow();const e=this._context.viewLayout.getLinesViewportData(),s="above"===this._position.outsidePosition?e.startLineNumber:e.endLineNumber;let n;{const t=py(this._viewHelper.viewDomNode),i=this._context.configuration.options.get(143).horizontalScrollbarHeight,e=new ly(this._mouseEvent.pos.x,t.y+t.height-i-.1),s=gy(this._viewHelper.viewDomNode,t,e);n=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),t,e,s,null)}n.position&&n.position.lineNumber===s||(n="above"===this._position.outsidePosition?Yy.createOutsideEditor(this._position.mouseColumn,new As(s,1),"above",this._position.outsideDistance):Yy.createOutsideEditor(this._position.mouseColumn,new As(s,this._context.viewModel.getLineMaxColumn(s)),"below",this._position.outsideDistance)),this._dispatchMouse(n,!0,2),this._animationFrameDisposable=Qa(Na(n.element),(()=>this._execute()))}}class Lk{get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(t){this._altKey=t.altKey,this._ctrlKey=t.ctrlKey,this._metaKey=t.metaKey,this._shiftKey=t.shiftKey}setStartButtons(t){this._leftButton=t.leftButton,this._middleButton=t.middleButton}setStartedOnLineNumbers(t){this._startedOnLineNumbers=t}trySetCount(t,i){const e=(new Date).getTime();e-this._lastSetMouseDownCountTime>Lk.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1),this._lastSetMouseDownCountTime=e,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(i)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=i,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)}}Lk.CLEAR_MOUSE_DOWN_COUNT_TIME=400;class Fk{get event(){return this.emitter.event}constructor(t,i,e){const s=t=>this.emitter.fire(t);this.emitter=new fe({onWillAddFirstListener:()=>t.addEventListener(i,s,e),onDidRemoveLastListener:()=>t.removeEventListener(i,s,e)})}dispose(){this.emitter.dispose()}}var Tk;!function(t){const i={total:0,min:Number.MAX_VALUE,max:0},e={...i},s={...i},n={...i};let o=0;const r={keydown:0,input:0,render:0};function h(){1===r.keydown&&(performance.mark("keydown/end"),r.keydown=2)}function c(){performance.mark("input/start"),r.input=1,u()}function a(){1===r.input&&(performance.mark("input/end"),r.input=2)}function l(){1===r.render&&(performance.mark("render/end"),r.render=2)}function u(){setTimeout(d)}function d(){2===r.keydown&&2===r.input&&2===r.render&&(performance.mark("inputlatency/end"),performance.measure("keydown","keydown/start","keydown/end"),performance.measure("input","input/start","input/end"),performance.measure("render","render/start","render/end"),performance.measure("inputlatency","inputlatency/start","inputlatency/end"),f("keydown",i),f("input",e),f("render",s),f("inputlatency",n),o++,performance.clearMarks("keydown/start"),performance.clearMarks("keydown/end"),performance.clearMarks("input/start"),performance.clearMarks("input/end"),performance.clearMarks("render/start"),performance.clearMarks("render/end"),performance.clearMarks("inputlatency/start"),performance.clearMarks("inputlatency/end"),performance.clearMeasures("keydown"),performance.clearMeasures("input"),performance.clearMeasures("render"),performance.clearMeasures("inputlatency"),r.keydown=0,r.input=0,r.render=0)}function f(t,i){const e=performance.getEntriesByName(t)[0].duration;i.total+=e,i.min=Math.min(i.min,e),i.max=Math.max(i.max,e)}function p(t){return{average:t.total/o,max:t.max,min:t.min}}function g(t){t.total=0,t.min=Number.MAX_VALUE,t.max=0}t.onKeyDown=function(){d(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),r.keydown=1,queueMicrotask(h)},t.onBeforeInput=c,t.onInput=function(){0===r.input&&c(),queueMicrotask(a)},t.onKeyUp=function(){d()},t.onSelectionChange=function(){d()},t.onRenderStart=function(){2===r.keydown&&2===r.input&&0===r.render&&(performance.mark("render/start"),r.render=1,queueMicrotask(l),u())},t.getAndClearMeasurements=function(){if(0===o)return;const t={keydown:p(i),input:p(e),render:p(s),total:p(n),sampleCount:o};return g(i),g(e),g(s),g(n),o=0,t}}(Tk||(Tk={}));class Rk{constructor(t,i,e,s,n){this.value=t,this.selectionStart=i,this.selectionEnd=e,this.selection=s,this.newlineCountBeforeSelection=n}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(t,i){const e=t.getValue(),s=t.getSelectionStart(),n=t.getSelectionEnd();let o;return i&&e.substring(0,s)===i.value.substring(0,i.selectionStart)&&(o=i.newlineCountBeforeSelection),new Rk(e,s,n,null,o)}collapseSelection(){return this.selectionStart===this.value.length?this:new Rk(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(t,i,e){i.setValue(t,this.value),e&&i.setSelectionRange(t,this.selectionStart,this.selectionEnd)}deduceEditorPosition(t){var i,e,s,n,o,r,h,c;if(t<=this.selectionStart){const s=this.value.substring(t,this.selectionStart);return this._finishDeduceEditorPosition(null!==(e=null===(i=this.selection)||void 0===i?void 0:i.getStartPosition())&&void 0!==e?e:null,s,-1)}if(t>=this.selectionEnd){const i=this.value.substring(this.selectionEnd,t);return this._finishDeduceEditorPosition(null!==(n=null===(s=this.selection)||void 0===s?void 0:s.getEndPosition())&&void 0!==n?n:null,i,1)}const a=this.value.substring(this.selectionStart,t);if(-1===a.indexOf(String.fromCharCode(8230)))return this._finishDeduceEditorPosition(null!==(r=null===(o=this.selection)||void 0===o?void 0:o.getStartPosition())&&void 0!==r?r:null,a,1);const l=this.value.substring(t,this.selectionEnd);return this._finishDeduceEditorPosition(null!==(c=null===(h=this.selection)||void 0===h?void 0:h.getEndPosition())&&void 0!==c?c:null,l,-1)}_finishDeduceEditorPosition(t,i,e){let s=0,n=-1;for(;-1!==(n=i.indexOf("\n",n+1));)s++;return[t,e*i.length,s]}static deduceInput(t,i,e){if(!t)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const s=Math.min(fo(t.value,i.value),t.selectionStart,i.selectionStart),n=Math.min(po(t.value,i.value),t.value.length-t.selectionEnd,i.value.length-i.selectionEnd);t.value.substring(s,t.value.length-n);const o=i.value.substring(s,i.value.length-n);return i.selectionStart-s==i.selectionEnd-s?{text:o,replacePrevCharCnt:t.selectionStart-s,replaceNextCharCnt:0,positionDelta:0}:{text:o,replacePrevCharCnt:t.selectionEnd-s-(t.selectionStart-s),replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(t,i){if(!t)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(t.value===i.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:i.selectionEnd-t.selectionEnd};const e=Math.min(fo(t.value,i.value),t.selectionEnd),s=Math.min(po(t.value,i.value),t.value.length-t.selectionEnd),n=t.value.substring(e,t.value.length-s),o=i.value.substring(e,i.value.length-s),r=t.selectionEnd-e;return{text:o,replacePrevCharCnt:r,replaceNextCharCnt:n.length-r,positionDelta:i.selectionEnd-e-o.length}}}Rk.EMPTY=new Rk("",0,0,null,void 0);class Ok{static _getPageOfLine(t,i){return Math.floor((t-1)/i)}static _getRangeForPage(t,i){const e=t*i;return new Ms(e+1,1,e+i+1,1)}static fromEditorSelection(t,i,e,s){const n=500,o=Ok._getPageOfLine(i.startLineNumber,e),r=Ok._getRangeForPage(o,e),h=Ok._getPageOfLine(i.endLineNumber,e),c=Ok._getRangeForPage(h,e);let a=r.intersectRanges(new Ms(1,1,i.startLineNumber,i.startColumn));if(s&&t.getValueLengthInRange(a,1)>n){const i=t.modifyPosition(a.getEndPosition(),-500);a=Ms.fromPositions(i,a.getEndPosition())}const l=t.getValueInRange(a,1),u=t.getLineCount(),d=t.getLineMaxColumn(u);let f=c.intersectRanges(new Ms(i.endLineNumber,i.endColumn,u,d));if(s&&t.getValueLengthInRange(f,1)>n){const i=t.modifyPosition(f.getStartPosition(),n);f=Ms.fromPositions(f.getStartPosition(),i)}const p=t.getValueInRange(f,1);let g;if(o===h||o+1===h)g=t.getValueInRange(i,1);else{const e=r.intersectRanges(i),s=c.intersectRanges(i);g=t.getValueInRange(e,1)+String.fromCharCode(8230)+t.getValueInRange(s,1)}return s&&g.length>1e3&&(g=g.substring(0,n)+String.fromCharCode(8230)+g.substring(g.length-n,g.length)),new Rk(l+g+p,l.length,l.length+g.length,i,a.endLineNumber-a.startLineNumber)}}var Ik,_k=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t.Tap="-monaco-textarea-synthetic-tap"}(Ik||(Ik={}));const Nk={forceCopyWithSyntaxHighlighting:!1};class Bk{constructor(){this._lastState=null}set(t,i){this._lastState={lastCopiedValue:t,data:i}}get(t){return this._lastState&&this._lastState.lastCopiedValue===t?this._lastState.data:(this._lastState=null,null)}}Bk.INSTANCE=new Bk;class Pk{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(t){const i={text:t=t||"",replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=t.length,i}}let $k=class extends ie{get textAreaState(){return this._textAreaState}constructor(t,i,e,s,n,o){super(),this._host=t,this._textArea=i,this._OS=e,this._browser=s,this._accessibilityService=n,this._logService=o,this._onFocus=this._register(new fe),this.onFocus=this._onFocus.event,this._onBlur=this._register(new fe),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new fe),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new fe),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new fe),this.onCut=this._onCut.event,this._onPaste=this._register(new fe),this.onPaste=this._onPaste.event,this._onType=this._register(new fe),this.onType=this._onType.event,this._onCompositionStart=this._register(new fe),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new fe),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new fe),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new fe),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new ee),this._asyncTriggerCut=this._register(new pc((()=>this._onCut.fire()),0)),this._textAreaState=Rk.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(ce.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,(()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new pc((()=>this.writeNativeTextAreaContent("asyncFocusGain")),0)):this._asyncFocusGainWriteScreenReaderContent.clear()}))),this._hasFocus=!1,this._currentComposition=null;let r=null;this._register(this._textArea.onKeyDown((t=>{const i=new Qh(t);(114===i.keyCode||this._currentComposition&&1===i.keyCode)&&i.stopPropagation(),i.equals(9)&&i.preventDefault(),r=i,this._onKeyDown.fire(i)}))),this._register(this._textArea.onKeyUp((t=>{const i=new Qh(t);this._onKeyUp.fire(i)}))),this._register(this._textArea.onCompositionStart((t=>{const i=new Pk;if(this._currentComposition)this._currentComposition=i;else{if(this._currentComposition=i,2===this._OS&&r&&r.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===t.data&&("ArrowRight"===r.code||"ArrowLeft"===r.code))return i.handleCompositionUpdate("x"),void this._onCompositionStart.fire({data:t.data});this._onCompositionStart.fire({data:t.data})}}))),this._register(this._textArea.onCompositionUpdate((t=>{const i=this._currentComposition;if(!i)return;if(this._browser.isAndroid){const i=Rk.readFromTextArea(this._textArea,this._textAreaState),e=Rk.deduceAndroidCompositionInput(this._textAreaState,i);return this._textAreaState=i,this._onType.fire(e),void this._onCompositionUpdate.fire(t)}const e=i.handleCompositionUpdate(t.data);this._textAreaState=Rk.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(e),this._onCompositionUpdate.fire(t)}))),this._register(this._textArea.onCompositionEnd((t=>{const i=this._currentComposition;if(!i)return;if(this._currentComposition=null,this._browser.isAndroid){const t=Rk.readFromTextArea(this._textArea,this._textAreaState),i=Rk.deduceAndroidCompositionInput(this._textAreaState,t);return this._textAreaState=t,this._onType.fire(i),void this._onCompositionEnd.fire()}const e=i.handleCompositionUpdate(t.data);this._textAreaState=Rk.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(e),this._onCompositionEnd.fire()}))),this._register(this._textArea.onInput((()=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const t=Rk.readFromTextArea(this._textArea,this._textAreaState),i=Rk.deduceInput(this._textAreaState,t,2===this._OS);(0!==i.replacePrevCharCnt||1!==i.text.length||!go(i.text.charCodeAt(0))&&127!==i.text.charCodeAt(0))&&(this._textAreaState=t,""===i.text&&0===i.replacePrevCharCnt&&0===i.replaceNextCharCnt&&0===i.positionDelta||this._onType.fire(i))}))),this._register(this._textArea.onCut((t=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(t),this._asyncTriggerCut.schedule()}))),this._register(this._textArea.onCopy((t=>{this._ensureClipboardGetsEditorSelection(t)}))),this._register(this._textArea.onPaste((t=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),t.preventDefault(),!t.clipboardData)return;let[i,e]=Wk.getTextData(t.clipboardData);i&&(e=e||Bk.INSTANCE.get(i),this._onPaste.fire({text:i,metadata:e}))}))),this._register(this._textArea.onFocus((()=>{const t=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!t&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new pc((()=>this.writeNativeTextAreaContent("asyncFocusGain")),0)),this._asyncFocusGainWriteScreenReaderContent.value.schedule())}))),this._register(this._textArea.onBlur((()=>{this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)}))),this._register(this._textArea.onSyntheticTap((()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())})))}_installSelectionChangeListener(){let t=0;return Va(this._textArea.ownerDocument,"selectionchange",(()=>{if(Tk.onSelectionChange(),!this._hasFocus)return;if(this._currentComposition)return;if(!this._browser.isChrome)return;const i=Date.now(),e=i-t;if(t=i,e<5)return;const s=i-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),s<100)return;if(!this._textAreaState.selection)return;const n=this._textArea.getValue();if(this._textAreaState.value!==n)return;const o=this._textArea.getSelectionStart(),r=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===o&&this._textAreaState.selectionEnd===r)return;const h=this._textAreaState.deduceEditorPosition(o),c=this._host.deduceModelPosition(h[0],h[1],h[2]),a=this._textAreaState.deduceEditorPosition(r),l=this._host.deduceModelPosition(a[0],a[1],a[2]),u=new Ls(c.lineNumber,c.column,l.lineNumber,l.column);this._onSelectionChangeRequest.fire(u)}))}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(t){this._hasFocus!==t&&(this._hasFocus=t,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeNativeTextAreaContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(t,i){this._hasFocus||(i=i.collapseSelection()),i.writeToTextArea(t,this._textArea,this._hasFocus),this._textAreaState=i}writeNativeTextAreaContent(t){!this._accessibilityService.isScreenReaderOptimized()&&"render"===t||this._currentComposition||(this._logService.trace(`writeTextAreaState(reason: ${t})`),this._setAndWriteTextAreaState(t,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(t){const i=this._host.getDataToCopy(),e={version:1,isFromEmptySelection:i.isFromEmptySelection,multicursorText:i.multicursorText,mode:i.mode};Bk.INSTANCE.set(this._browser.isFirefox?i.text.replace(/\r\n/g,"\n"):i.text,e),t.preventDefault(),t.clipboardData&&Wk.setTextData(t.clipboardData,i.text,i.html,e)}};$k=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([_k(4,zm),_k(5,jh)],$k);const Wk={getTextData(t){const i=t.getData(Dd.text);let e=null;const s=t.getData("vscode-editor-data");if("string"==typeof s)try{e=JSON.parse(s),1!==e.version&&(e=null)}catch(t){}return 0===i.length&&null===e&&t.files.length>0?[Array.prototype.slice.call(t.files,0).map((t=>t.name)).join("\n"),null]:[i,e]},setTextData(t,i,e,s){t.setData(Dd.text,i),"string"==typeof e&&t.setData("text/html",e),t.setData("vscode-editor-data",JSON.stringify(s))}};class jk extends ie{get ownerDocument(){return this._actual.ownerDocument}constructor(t){super(),this._actual=t,this.onKeyDown=this._register(new Fk(this._actual,"keydown")).event,this.onKeyUp=this._register(new Fk(this._actual,"keyup")).event,this.onCompositionStart=this._register(new Fk(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new Fk(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new Fk(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new Fk(this._actual,"beforeinput")).event,this.onInput=this._register(new Fk(this._actual,"input")).event,this.onCut=this._register(new Fk(this._actual,"cut")).event,this.onCopy=this._register(new Fk(this._actual,"copy")).event,this.onPaste=this._register(new Fk(this._actual,"paste")).event,this.onFocus=this._register(new Fk(this._actual,"focus")).event,this.onBlur=this._register(new Fk(this._actual,"blur")).event,this._onSyntheticTap=this._register(new fe),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown((()=>Tk.onKeyDown()))),this._register(this.onBeforeInput((()=>Tk.onBeforeInput()))),this._register(this.onInput((()=>Tk.onInput()))),this._register(this.onKeyUp((()=>Tk.onKeyUp()))),this._register(Va(this._actual,Ik.Tap,(()=>this._onSyntheticTap.fire())))}hasFocus(){const t=fl(this._actual);return t?t.activeElement===this._actual:!!this._actual.isConnected&&this._actual.ownerDocument.activeElement===this._actual}setIgnoreSelectionChangeTime(t){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(t,i){const e=this._actual;e.value!==i&&(this.setIgnoreSelectionChangeTime("setValue"),e.value=i)}getSelectionStart(){return"backward"===this._actual.selectionDirection?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return"backward"===this._actual.selectionDirection?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(t,i,e){const s=this._actual;let n=null;const o=fl(s);n=o?o.activeElement:s.ownerDocument.activeElement;const r=Na(n),h=n===s;if(h&&s.selectionStart===i&&s.selectionEnd===e)Uo&&r.parent!==r&&s.focus();else{if(h)return this.setIgnoreSelectionChangeTime("setSelectionRange"),s.setSelectionRange(i,e),void(Uo&&r.parent!==r&&s.focus());try{const t=function(t){const i=[];for(let e=0;t&&t.nodeType===t.ELEMENT_NODE;e++)i[e]=t.scrollTop,t=t.parentNode;return i}(s);this.setIgnoreSelectionChangeTime("setSelectionRange"),s.focus(),s.setSelectionRange(i,e),function(t,i){for(let e=0;t&&t.nodeType===t.ELEMENT_NODE;e++)t.scrollTop!==i[e]&&(t.scrollTop=i[e]),t=t.parentNode}(s,t)}catch(t){}}}}class zk extends Dk{constructor(t,i,e){super(t,i,e),this._register(Xm.addTarget(this.viewHelper.linesContentDomNode)),this._register(Va(this.viewHelper.linesContentDomNode,Ym.Tap,(t=>this.onTap(t)))),this._register(Va(this.viewHelper.linesContentDomNode,Ym.Change,(t=>this.onChange(t)))),this._register(Va(this.viewHelper.linesContentDomNode,Ym.Contextmenu,(t=>this._onContextMenu(new my(t,!1,this.viewHelper.viewDomNode),!1)))),this._lastPointerType="mouse",this._register(Va(this.viewHelper.linesContentDomNode,"pointerdown",(t=>{const i=t.pointerType;this._lastPointerType="mouse"!==i?"touch"===i?"touch":"pen":"mouse"})));const s=new vy(this.viewHelper.viewDomNode);this._register(s.onPointerMove(this.viewHelper.viewDomNode,(t=>this._onMouseMove(t)))),this._register(s.onPointerUp(this.viewHelper.viewDomNode,(t=>this._onMouseUp(t)))),this._register(s.onPointerLeave(this.viewHelper.viewDomNode,(t=>this._onMouseLeave(t)))),this._register(s.onPointerDown(this.viewHelper.viewDomNode,((t,i)=>this._onMouseDown(t,i))))}onTap(t){if(!t.initialTarget||!this.viewHelper.linesContentDomNode.contains(t.initialTarget))return;t.preventDefault(),this.viewHelper.focusTextArea();const i=this._createMouseTarget(new my(t,!1,this.viewHelper.viewDomNode),!1);i.position&&this.viewController.dispatchMouse({position:i.position,mouseColumn:i.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:t.tapCount,inSelectionMode:!1,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:6===i.type&&null!==i.detail.injectedText})}onChange(t){"touch"===this._lastPointerType&&this._context.viewModel.viewLayout.deltaScrollNow(-t.translationX,-t.translationY)}_onMouseDown(t,i){"touch"!==t.browserEvent.pointerType&&super._onMouseDown(t,i)}}class Hk extends Dk{constructor(t,i,e){super(t,i,e),this._register(Xm.addTarget(this.viewHelper.linesContentDomNode)),this._register(Va(this.viewHelper.linesContentDomNode,Ym.Tap,(t=>this.onTap(t)))),this._register(Va(this.viewHelper.linesContentDomNode,Ym.Change,(t=>this.onChange(t)))),this._register(Va(this.viewHelper.linesContentDomNode,Ym.Contextmenu,(t=>this._onContextMenu(new my(t,!1,this.viewHelper.viewDomNode),!1))))}onTap(t){t.preventDefault(),this.viewHelper.focusTextArea();const i=this._createMouseTarget(new my(t,!1,this.viewHelper.viewDomNode),!1);if(i.position){const t=document.createEvent("CustomEvent");t.initEvent(Ik.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(t),this.viewController.moveTo(i.position,1)}}onChange(t){this._context.viewModel.viewLayout.deltaScrollNow(-t.translationX,-t.translationY)}}class Vk extends ie{constructor(t,i,e){super(),this.handler=this._register(Lt&&Kh?new zk(t,i,e):$n.TouchEvent?new Hk(t,i,e):new Dk(t,i,e))}getTargetAtClientPoint(t,i){return this.handler.getTargetAtClientPoint(t,i)}}class Uk extends Cy{}const qk=dr("themeService");function Kk(t){return{id:t}}function Gk(t){switch(t){case Iy.DARK:return"vs-dark";case Iy.HIGH_CONTRAST_DARK:return"hc-black";case Iy.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}const Zk="base.contributions.theming",Qk=new class{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new fe}onColorThemeChange(t){return this.themingParticipants.push(t),this.onThemingParticipantAddedEmitter.fire(t),Xi((()=>{const i=this.themingParticipants.indexOf(t);this.themingParticipants.splice(i,1)}))}getThemingParticipants(){return this.themingParticipants}};function Jk(t){return Qk.onColorThemeChange(t)}Dh.add(Zk,Qk);class Yk extends ie{constructor(t){super(),this.themeService=t,this.theme=t.getColorTheme(),this._register(this.themeService.onDidColorThemeChange((t=>this.onThemeChange(t))))}onThemeChange(t){this.theme=t,this.updateStyles()}updateStyles(){}}const Xk=ow("editor.lineHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Background color for the highlight of line at the cursor position.")),tx=ow("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:lw},rt(0,"Background color for the border around the line at the cursor position."));ow("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},rt(0,"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),ow("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:uw,hcLight:uw},rt(0,"Background color of the border around highlighted ranges."),!0),ow("editor.symbolHighlightBackground",{dark:xv,light:xv,hcDark:null,hcLight:null},rt(0,"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),ow("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:uw,hcLight:uw},rt(0,"Background color of the border around highlighted symbols."),!0);const ix=ow("editorCursor.foreground",{dark:"#AEAFAD",light:sg.black,hcDark:sg.white,hcLight:"#0F4A85"},rt(0,"Color of the editor cursor.")),ex=ow("editorCursor.background",null,rt(0,"The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),sx=ow("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},rt(0,"Color of whitespace characters in the editor.")),nx=ow("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:sg.white,hcLight:"#292929"},rt(0,"Color of editor line numbers.")),ox=ow("editorIndentGuide.background",{dark:sx,light:sx,hcDark:sx,hcLight:sx},rt(0,"Color of the editor indentation guides."),!1,rt(0,"'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),rx=ow("editorIndentGuide.activeBackground",{dark:sx,light:sx,hcDark:sx,hcLight:sx},rt(0,"Color of the active editor indentation guides."),!1,rt(0,"'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),hx=ow("editorIndentGuide.background1",{dark:ox,light:ox,hcDark:ox,hcLight:ox},rt(0,"Color of the editor indentation guides (1).")),cx=ow("editorIndentGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the editor indentation guides (2).")),ax=ow("editorIndentGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the editor indentation guides (3).")),lx=ow("editorIndentGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the editor indentation guides (4).")),ux=ow("editorIndentGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the editor indentation guides (5).")),dx=ow("editorIndentGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the editor indentation guides (6).")),fx=ow("editorIndentGuide.activeBackground1",{dark:rx,light:rx,hcDark:rx,hcLight:rx},rt(0,"Color of the active editor indentation guides (1).")),px=ow("editorIndentGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the active editor indentation guides (2).")),gx=ow("editorIndentGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the active editor indentation guides (3).")),mx=ow("editorIndentGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the active editor indentation guides (4).")),wx=ow("editorIndentGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the active editor indentation guides (5).")),vx=ow("editorIndentGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Color of the active editor indentation guides (6).")),bx=ow("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:uw,hcLight:uw},rt(0,"Color of editor active line number"),!1,rt(0,"Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));ow("editorLineNumber.activeForeground",{dark:bx,light:bx,hcDark:bx,hcLight:bx},rt(0,"Color of editor active line number"));const yx=ow("editorLineNumber.dimmedForeground",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Color of the final editor line when editor.renderFinalNewline is set to dimmed."));ow("editorRuler.foreground",{dark:"#5A5A5A",light:sg.lightgrey,hcDark:sg.white,hcLight:"#292929"},rt(0,"Color of the editor rulers.")),ow("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},rt(0,"Foreground color of editor CodeLens")),ow("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},rt(0,"Background color behind matching brackets")),ow("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:lw,hcLight:lw},rt(0,"Color for matching brackets boxes"));const kx=ow("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},rt(0,"Color of the overview ruler border.")),xx=ow("editorOverviewRuler.background",null,rt(0,"Background color of the editor overview ruler."));ow("editorGutter.background",{dark:ev,light:ev,hcDark:ev,hcLight:ev},rt(0,"Background color of the editor gutter. The gutter contains the glyph margins and the line numbers.")),ow("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:sg.fromHex("#fff").transparent(.8),hcLight:lw},rt(0,"Border color of unnecessary (unused) source code in the editor."));const Cx=ow("editorUnnecessaryCode.opacity",{dark:sg.fromHex("#000a"),light:sg.fromHex("#0007"),hcDark:null,hcLight:null},rt(0,"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."));ow("editorGhostText.border",{dark:null,light:null,hcDark:sg.fromHex("#fff").transparent(.8),hcLight:sg.fromHex("#292929").transparent(.8)},rt(0,"Border color of ghost text in the editor.")),ow("editorGhostText.foreground",{dark:sg.fromHex("#ffffff56"),light:sg.fromHex("#0007"),hcDark:null,hcLight:null},rt(0,"Foreground color of the ghost text in the editor.")),ow("editorGhostText.background",{dark:null,light:null,hcDark:null,hcLight:null},rt(0,"Background color of the ghost text in the editor."));const Sx=new sg(new tg(0,122,204,.6)),Dx=ow("editorOverviewRuler.rangeHighlightForeground",{dark:Sx,light:Sx,hcDark:Sx,hcLight:Sx},rt(0,"Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),Ex=ow("editorOverviewRuler.errorForeground",{dark:new sg(new tg(255,18,18,.7)),light:new sg(new tg(255,18,18,.7)),hcDark:new sg(new tg(255,50,50,1)),hcLight:"#B5200D"},rt(0,"Overview ruler marker color for errors.")),Ax=ow("editorOverviewRuler.warningForeground",{dark:Jw,light:Jw,hcDark:Yw,hcLight:Yw},rt(0,"Overview ruler marker color for warnings.")),Mx=ow("editorOverviewRuler.infoForeground",{dark:Xw,light:Xw,hcDark:tv,hcLight:tv},rt(0,"Overview ruler marker color for infos.")),Lx=ow("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},rt(0,"Foreground color of brackets (1). Requires enabling bracket pair colorization.")),Fx=ow("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},rt(0,"Foreground color of brackets (2). Requires enabling bracket pair colorization.")),Tx=ow("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},rt(0,"Foreground color of brackets (3). Requires enabling bracket pair colorization.")),Rx=ow("editorBracketHighlight.foreground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Foreground color of brackets (4). Requires enabling bracket pair colorization.")),Ox=ow("editorBracketHighlight.foreground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Foreground color of brackets (5). Requires enabling bracket pair colorization.")),Ix=ow("editorBracketHighlight.foreground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Foreground color of brackets (6). Requires enabling bracket pair colorization.")),_x=ow("editorBracketHighlight.unexpectedBracket.foreground",{dark:new sg(new tg(255,18,18,.8)),light:new sg(new tg(255,18,18,.8)),hcDark:new sg(new tg(255,50,50,1)),hcLight:""},rt(0,"Foreground color of unexpected brackets.")),Nx=ow("editorBracketPairGuide.background1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),Bx=ow("editorBracketPairGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),Px=ow("editorBracketPairGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),$x=ow("editorBracketPairGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),Wx=ow("editorBracketPairGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),jx=ow("editorBracketPairGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),zx=ow("editorBracketPairGuide.activeBackground1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),Hx=ow("editorBracketPairGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),Vx=ow("editorBracketPairGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),Ux=ow("editorBracketPairGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),qx=ow("editorBracketPairGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),Kx=ow("editorBracketPairGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},rt(0,"Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));ow("editorUnicodeHighlight.border",{dark:"#BD9B03",light:"#CEA33D",hcDark:"#ff0000",hcLight:"#CEA33D"},rt(0,"Border color used to highlight unicode characters.")),ow("editorUnicodeHighlight.background",{dark:"#bd9b0326",light:"#cea33d14",hcDark:"#00000000",hcLight:"#cea33d14"},rt(0,"Background color used to highlight unicode characters.")),Jk(((t,i)=>{const e=t.getColor(ev),s=t.getColor(Xk),n=s&&!s.isTransparent()?s:e;n&&i.addRule(`.monaco-editor .inputarea.ime-input { background-color: ${n}; }`)}));class Gx extends Uk{constructor(t){super(),this._context=t,this._readConfig(),this._lastCursorModelPosition=new As(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const t=this._context.configuration.options;this._lineHeight=t.get(66);const i=t.get(67);this._renderLineNumbers=i.renderType,this._renderCustomLineNumbers=i.renderFn,this._renderFinalNewline=t.get(94);const e=t.get(143);this._lineNumbersLeft=e.lineNumbersLeft,this._lineNumbersWidth=e.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){return this._readConfig(),!0}onCursorStateChanged(t){const i=t.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(i);let e=!1;return this._activeLineNumber!==i.lineNumber&&(this._activeLineNumber=i.lineNumber,e=!0),2!==this._renderLineNumbers&&3!==this._renderLineNumbers||(e=!0),e}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}_getLineRenderLineNumber(t){const i=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new As(t,1));if(1!==i.column)return"";const e=i.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(e);if(2===this._renderLineNumbers){const t=Math.abs(this._lastCursorModelPosition.lineNumber-e);return 0===t?''+e+"":String(t)}return 3===this._renderLineNumbers?this._lastCursorModelPosition.lineNumber===e||e%10==0?String(e):"":String(e)}prepareRender(t){if(0===this._renderLineNumbers)return void(this._renderResult=null);const i=Dt?this._lineHeight%2==0?" lh-even":" lh-odd":"",e=t.visibleRange.startLineNumber,s=t.visibleRange.endLineNumber,n=this._context.viewModel.getLineCount(),o=[];for(let t=e;t<=s;t++){const s=t-e,r=this._getLineRenderLineNumber(t);if(!r){o[s]="";continue}let h="";if(t===n&&0===this._context.viewModel.getLineLength(t)){if("off"===this._renderFinalNewline){o[s]="";continue}"dimmed"===this._renderFinalNewline&&(h=" dimmed-line-number")}t===this._activeLineNumber&&(h=" active-line-number"),o[s]=`

${r}
`}this._renderResult=o}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}Gx.CLASS_NAME="line-numbers",Jk(((t,i)=>{const e=t.getColor(nx),s=t.getColor(yx);s?i.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${s}; }`):e&&i.addRule(`.monaco-editor .line-numbers.dimmed-line-number { color: ${e.transparent(.4)}; }`)}));class Zx extends Sy{constructor(t){super(t);const i=this._context.configuration.options,e=i.get(143);this._canUseLayerHinting=!i.get(32),this._contentLeft=e.contentLeft,this._glyphMarginLeft=e.glyphMarginLeft,this._glyphMarginWidth=e.glyphMarginWidth,this._domNode=tr(document.createElement("div")),this._domNode.setClassName(Zx.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=tr(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(Zx.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(t){const i=this._context.configuration.options,e=i.get(143);return this._canUseLayerHinting=!i.get(32),this._contentLeft=e.contentLeft,this._glyphMarginLeft=e.glyphMarginLeft,this._glyphMarginWidth=e.glyphMarginWidth,!0}onScrollChanged(t){return super.onScrollChanged(t)||t.scrollTopChanged}prepareRender(t){}render(t){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict"),this._domNode.setTop(-(t.scrollTop-t.bigNumbersDelta));const i=Math.min(t.scrollHeight,1e6);this._domNode.setHeight(i),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(i)}}Zx.CLASS_NAME="glyph-margin",Zx.OUTER_CLASS_NAME="margin";const Qx="monaco-mouse-cursor-text",Jx=new class{constructor(){this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}},Yx=dr("keybindingService");var Xx=function(t,i){return function(e,s){i(e,s,t)}};class tC{constructor(t,i,e,s,n){this._context=t,this.modelLineNumber=i,this.distanceToModelLineStart=e,this.widthOfHiddenLineTextBefore=s,this.distanceToModelLineEnd=n,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(t){const i=new As(this.modelLineNumber,this.distanceToModelLineStart+1),e=new As(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(e),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=t.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=t.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(t){return this._previousPresentation||(this._previousPresentation=t||{foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const iC=Uo;let eC=class extends Sy{constructor(t,i,e,s,n){super(t),this._keybindingService=s,this._instantiationService=n,this._primaryCursorPosition=new As(1,1),this._primaryCursorVisibleRange=null,this._viewController=i,this._visibleRangeProvider=e,this._scrollLeft=0,this._scrollTop=0;const o=this._context.configuration.options,r=o.get(143);this._setAccessibilityOptions(o),this._contentLeft=r.contentLeft,this._contentWidth=r.contentWidth,this._contentHeight=r.height,this._fontInfo=o.get(50),this._lineHeight=o.get(66),this._emptySelectionClipboard=o.get(37),this._copyWithSyntaxHighlighting=o.get(25),this._visibleTextArea=null,this._selections=[new Ls(1,1,1,1)],this._modelSelections=[new Ls(1,1,1,1)],this._lastRenderPosition=null,this.textArea=tr(document.createElement("textarea")),Dy.write(this.textArea,6),this.textArea.setClassName(`inputarea ${Qx}`),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:h}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize=h*this._fontInfo.spaceWidth+"px",this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(o)),this.textArea.setAttribute("aria-required",o.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(o.get(123))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",rt(0,"editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",o.get(90)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=tr(document.createElement("div")),this.textAreaCover.setPosition("absolute");const c={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:t=>this._context.viewModel.getLineMaxColumn(t),getValueInRange:(t,i)=>this._context.viewModel.getValueInRange(t,i),getValueLengthInRange:(t,i)=>this._context.viewModel.getValueLengthInRange(t,i),modifyPosition:(t,i)=>this._context.viewModel.modifyPosition(t,i)},a={getDataToCopy:()=>{const t=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,Ct),i=this._context.viewModel.model.getEOL(),e=this._emptySelectionClipboard&&1===this._modelSelections.length&&this._modelSelections[0].isEmpty(),s=Array.isArray(t)?t:null,n=Array.isArray(t)?t.join(i):t;let o,r=null;if(Nk.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&n.length<65536){const t=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);t&&(o=t.html,r=t.mode)}return{isFromEmptySelection:e,multicursorText:s,text:n,html:o,mode:r}},getScreenReaderContent:()=>{if(1===this._accessibilitySupport){const t=this._selections[0];if(St&&t.isEmpty()){const i=t.getStartPosition();let e=this._getWordBeforePosition(i);if(0===e.length&&(e=this._getCharacterBeforePosition(i)),e.length>0)return new Rk(e,e.length,e.length,Ms.fromPositions(i),0)}const i=500;if(St&&!t.isEmpty()&&c.getValueLengthInRange(t,0)0)return new Rk(e,s,s,Ms.fromPositions(i),0)}return Rk.EMPTY}return Ok.fromEditorSelection(c,this._selections[0],this._accessibilityPageSize,0===this._accessibilitySupport)},deduceModelPosition:(t,i,e)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(t,i,e)},l=this._register(new jk(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance($k,a,l,_t,{isAndroid:Qo,isChrome:Ko,isFirefox:Uo,isSafari:Go})),this._register(this._textAreaInput.onKeyDown((t=>{this._viewController.emitKeyDown(t)}))),this._register(this._textAreaInput.onKeyUp((t=>{this._viewController.emitKeyUp(t)}))),this._register(this._textAreaInput.onPaste((t=>{let i=!1,e=null,s=null;t.metadata&&(i=this._emptySelectionClipboard&&!!t.metadata.isFromEmptySelection,e=void 0!==t.metadata.multicursorText?t.metadata.multicursorText:null,s=t.metadata.mode),this._viewController.paste(t.text,i,e,s)}))),this._register(this._textAreaInput.onCut((()=>{this._viewController.cut()}))),this._register(this._textAreaInput.onType((t=>{t.replacePrevCharCnt||t.replaceNextCharCnt||t.positionDelta?this._viewController.compositionType(t.text,t.replacePrevCharCnt,t.replaceNextCharCnt,t.positionDelta):this._viewController.type(t.text)}))),this._register(this._textAreaInput.onSelectionChangeRequest((t=>{this._viewController.setSelection(t)}))),this._register(this._textAreaInput.onCompositionStart((()=>{const t=this.textArea.domNode,i=this._modelSelections[0],{distanceToModelLineStart:e,widthOfHiddenTextBefore:s}=(()=>{const e=t.value.substring(0,Math.min(t.selectionStart,t.selectionEnd)),s=e.lastIndexOf("\n"),n=e.substring(s+1),o=n.lastIndexOf("\t"),r=n.length-o-1,h=i.getStartPosition(),c=Math.min(h.column-1,r),a=h.column-1-c,l=n.substring(0,n.length-c),{tabSize:u}=this._context.viewModel.model.getOptions(),d=function(t,i,e,s){if(0===i.length)return 0;const n=t.createElement("div");n.style.position="absolute",n.style.top="-50000px",n.style.width="50000px";const o=t.createElement("span");ir(o,e),o.style.whiteSpace="pre",o.style.tabSize=s*e.spaceWidth+"px",o.append(i),n.appendChild(o),t.body.appendChild(n);const r=o.offsetWidth;return t.body.removeChild(n),r}(this.textArea.domNode.ownerDocument,l,this._fontInfo,u);return{distanceToModelLineStart:a,widthOfHiddenTextBefore:d}})(),{distanceToModelLineEnd:n}=(()=>{const e=t.value.substring(Math.max(t.selectionStart,t.selectionEnd)),s=e.indexOf("\n"),n=-1===s?e:e.substring(0,s),o=n.indexOf("\t"),r=-1===o?n.length:n.length-o-1,h=i.getEndPosition(),c=Math.min(this._context.viewModel.model.getLineMaxColumn(h.lineNumber)-h.column,r);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(h.lineNumber)-h.column-c}})();this._context.viewModel.revealRange("keyboard",!0,Ms.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new tC(this._context,i.startLineNumber,e,s,n),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName(`inputarea ${Qx} ime-input`),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()}))),this._register(this._textAreaInput.onCompositionUpdate((()=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())}))),this._register(this._textAreaInput.onCompositionEnd((()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName(`inputarea ${Qx}`),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()}))),this._register(this._textAreaInput.onFocus((()=>{this._context.viewModel.setHasFocus(!0)}))),this._register(this._textAreaInput.onBlur((()=>{this._context.viewModel.setHasFocus(!1)}))),this._register(Jx.onDidChange((()=>{this._ensureReadOnlyAttribute()})))}writeScreenReaderContent(t){this._textAreaInput.writeNativeTextAreaContent(t)}dispose(){super.dispose()}_getAndroidWordAtPosition(t){const i=this._context.viewModel.getLineContent(t.lineNumber),e=Af('`~!@#$%^&*()-=+[{]}\\|;:",.<>/?');let s=!0,n=t.column,o=!0,r=t.column,h=0;for(;h<50&&(s||o);){if(s&&n<=1&&(s=!1),s){const t=i.charCodeAt(n-2);0!==e.get(t)?s=!1:n--}if(o&&r>i.length&&(o=!1),o){const t=i.charCodeAt(r-1);0!==e.get(t)?o=!1:r++}h++}return[i.substring(n-1,r-1),t.column-n]}_getWordBeforePosition(t){const i=this._context.viewModel.getLineContent(t.lineNumber),e=Af(this._context.configuration.options.get(129));let s=t.column,n=0;for(;s>1;){const o=i.charCodeAt(s-2);if(0!==e.get(o)||n>50)return i.substring(s-1,t.column-1);n++,s--}return i.substring(0,t.column-1)}_getCharacterBeforePosition(t){if(t.column>1){const i=this._context.viewModel.getLineContent(t.lineNumber).charAt(t.column-2);if(!go(i.charCodeAt(0)))return i}return""}_getAriaLabel(t){var i,e,s;if(1===t.get(2)){const t=null===(i=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode"))||void 0===i?void 0:i.getAriaLabel(),n=null===(e=this._keybindingService.lookupKeybinding("workbench.action.showCommands"))||void 0===e?void 0:e.getAriaLabel(),o=null===(s=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings"))||void 0===s?void 0:s.getAriaLabel(),r=rt(0,"The editor is not accessible at this time.");return t?rt(0,"{0} To enable screen reader optimized mode, use {1}",r,t):n?rt(0,"{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.",r,n):o?rt(0,"{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",r,o):r}return t.get(4)}_setAccessibilityOptions(t){this._accessibilitySupport=t.get(2);const i=t.get(3);this._accessibilityPageSize=2===this._accessibilitySupport&&i===Ni.accessibilityPageSize.defaultValue?500:i;const e=t.get(143).wrappingColumn;if(-1!==e&&1!==this._accessibilitySupport){const i=t.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(e*i.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=iC?0:1}onConfigurationChanged(t){const i=this._context.configuration.options,e=i.get(143);this._setAccessibilityOptions(i),this._contentLeft=e.contentLeft,this._contentWidth=e.contentWidth,this._contentHeight=e.height,this._fontInfo=i.get(50),this._lineHeight=i.get(66),this._emptySelectionClipboard=i.get(37),this._copyWithSyntaxHighlighting=i.get(25),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:s}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize=s*this._fontInfo.spaceWidth+"px",this.textArea.setAttribute("aria-label",this._getAriaLabel(i)),this.textArea.setAttribute("aria-required",i.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(i.get(123))),(t.hasChanged(34)||t.hasChanged(90))&&this._ensureReadOnlyAttribute(),t.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(t){return this._selections=t.selections.slice(0),this._modelSelections=t.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return this._scrollLeft=t.scrollLeft,this._scrollTop=t.scrollTop,!0}onZonesChanged(t){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(t){t.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",t.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),t.role&&this.textArea.setAttribute("role",t.role)}_ensureReadOnlyAttribute(){const t=this._context.configuration.options;!Jx.enabled||t.get(34)&&t.get(90)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(t){var i;this._primaryCursorPosition=new As(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=t.visibleRangeForPosition(this._primaryCursorPosition),null===(i=this._visibleTextArea)||void 0===i||i.prepareRender(t)}render(t){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}_render(){var t;if(this._visibleTextArea){const t=this._visibleTextArea.visibleTextareaStart,i=this._visibleTextArea.visibleTextareaEnd,e=this._visibleTextArea.startPosition,s=this._visibleTextArea.endPosition;if(e&&s&&t&&i&&i.left>=this._scrollLeft&&t.left<=this._scrollLeft+this._contentWidth){const n=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,o=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let r=this._visibleTextArea.widthOfHiddenLineTextBefore,h=this._contentLeft+t.left-this._scrollLeft,c=i.left-t.left+1;if(hthis._contentWidth&&(c=this._contentWidth);const a=this._context.viewModel.getViewLineData(e.lineNumber),l=a.tokens.findTokenIndexAtOffset(e.column-1),u=a.tokens.findTokenIndexAtOffset(s.column-1),d=this._visibleTextArea.definePresentation(l===u?a.tokens.getPresentation(l):null);this.textArea.domNode.scrollTop=o*this._lineHeight,this.textArea.domNode.scrollLeft=r,this._doRender({lastRenderPosition:null,top:n,left:h,width:c,height:this._lineHeight,useCover:!1,color:(Zs.getColorMap()||[])[d.foreground],italic:d.italic,bold:d.bold,underline:d.underline,strikethrough:d.strikethrough})}return}if(!this._primaryCursorVisibleRange)return void this._renderAtTopLeft();const i=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(ithis._contentLeft+this._contentWidth)return void this._renderAtTopLeft();const e=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(e<0||e>this._contentHeight)this._renderAtTopLeft();else if(St||2===this._accessibilitySupport){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:e,left:this._textAreaWrapping?this._contentLeft:i,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const s=null!==(t=this._textAreaInput.textAreaState.newlineCountBeforeSelection)&&void 0!==t?t:this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=s*this._lineHeight}else this._doRender({lastRenderPosition:this._primaryCursorPosition,top:e,left:this._textAreaWrapping?this._contentLeft:i,width:this._textAreaWidth,height:iC?0:1,useCover:!1})}_newlinecount(t){let i=0,e=-1;for(;e=t.indexOf("\n",e+1),-1!==e;)i++;return i}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:iC?0:1,useCover:!0})}_doRender(t){this._lastRenderPosition=t.lastRenderPosition;const i=this.textArea,e=this.textAreaCover;ir(i,this._fontInfo),i.setTop(t.top),i.setLeft(t.left),i.setWidth(t.width),i.setHeight(t.height),i.setColor(t.color?sg.Format.CSS.formatHex(t.color):""),i.setFontStyle(t.italic?"italic":""),t.bold&&i.setFontWeight("bold"),i.setTextDecoration(`${t.underline?" underline":""}${t.strikethrough?" line-through":""}`),e.setTop(t.useCover?t.top:0),e.setLeft(t.useCover?t.left:0),e.setWidth(t.useCover?t.width:0),e.setHeight(t.useCover?t.height:0);const s=this._context.configuration.options;s.get(57)?e.setClassName("monaco-editor-background textAreaCover "+Zx.OUTER_CLASS_NAME):0!==s.get(67).renderType?e.setClassName("monaco-editor-background textAreaCover "+Gx.CLASS_NAME):e.setClassName("monaco-editor-background textAreaCover")}};function sC(t,i,e){let s=to(t);return-1===s&&(s=t.length),function(t,i,e){let s=0;for(let e=0;e=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Xx(3,Yx),Xx(4,ur)],eC);const nC=()=>!0,oC=()=>!1,rC=t=>" "===t||"\t"===t;class hC{static shouldRecreate(t){return t.hasChanged(143)||t.hasChanged(129)||t.hasChanged(37)||t.hasChanged(76)||t.hasChanged(78)||t.hasChanged(79)||t.hasChanged(6)||t.hasChanged(7)||t.hasChanged(11)||t.hasChanged(9)||t.hasChanged(10)||t.hasChanged(14)||t.hasChanged(127)||t.hasChanged(50)||t.hasChanged(90)}constructor(t,i,e,s){var n;this.languageConfigurationService=s,this._cursorMoveConfigurationBrand=void 0,this._languageId=t;const o=e.options,r=o.get(143),h=o.get(50);this.readOnly=o.get(90),this.tabSize=i.tabSize,this.indentSize=i.indentSize,this.insertSpaces=i.insertSpaces,this.stickyTabStops=o.get(115),this.lineHeight=h.lineHeight,this.typicalHalfwidthCharacterWidth=h.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(r.height/this.lineHeight)-2),this.useTabStops=o.get(127),this.wordSeparators=o.get(129),this.emptySelectionClipboard=o.get(37),this.copyWithSyntaxHighlighting=o.get(25),this.multiCursorMergeOverlapping=o.get(76),this.multiCursorPaste=o.get(78),this.multiCursorLimit=o.get(79),this.autoClosingBrackets=o.get(6),this.autoClosingComments=o.get(7),this.autoClosingQuotes=o.get(11),this.autoClosingDelete=o.get(9),this.autoClosingOvertype=o.get(10),this.autoSurround=o.get(14),this.autoIndent=o.get(12),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(t,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(t,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(t,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(t).getAutoClosingPairs();const c=this.languageConfigurationService.getLanguageConfiguration(t).getSurroundingPairs();if(c)for(const t of c)this.surroundingPairs[t.open]=t.close;const a=this.languageConfigurationService.getLanguageConfiguration(t).comments;this.blockCommentStartToken=null!==(n=null==a?void 0:a.blockCommentStartToken)&&void 0!==n?n:null}get electricChars(){var t;if(!this._electricChars){this._electricChars={};const i=null===(t=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter)||void 0===t?void 0:t.getElectricCharacters();if(i)for(const t of i)this._electricChars[t]=!0}return this._electricChars}onElectricCharacter(t,i,e){const s=Nu(i,e-1),n=this.languageConfigurationService.getLanguageConfiguration(s.languageId).electricCharacter;return n?n.onElectricCharacter(t,s,e-s.firstCharOffset):null}normalizeIndentation(t){return sC(t,this.indentSize,this.insertSpaces)}_getShouldAutoClose(t,i,e){switch(i){case"beforeWhitespace":return rC;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(t,e);case"always":return nC;case"never":return oC}}_getLanguageDefinedShouldAutoClose(t,i){const e=this.languageConfigurationService.getLanguageConfiguration(t).getAutoCloseBeforeSet(i);return t=>-1!==e.indexOf(t)}visibleColumnFromColumn(t,i){return qy.visibleColumnFromColumn(t.getLineContent(i.lineNumber),i.column,this.tabSize)}columnFromVisibleColumn(t,i,e){const s=qy.columnFromVisibleColumn(t.getLineContent(i),e,this.tabSize),n=t.getLineMinColumn(i);if(so?o:s}}class cC{static fromModelState(t){return new aC(t)}static fromViewState(t){return new lC(t)}static fromModelSelection(t){const i=Ls.liftSelection(t),e=new uC(Ms.fromPositions(i.getSelectionStart()),0,0,i.getPosition(),0);return cC.fromModelState(e)}static fromModelSelections(t){const i=[];for(let e=0,s=t.length;en,c=s>o,a=so)continue;if(ps)continue;if(f0&&s--,pC.columnSelect(t,i,e.fromViewLineNumber,e.fromViewVisualColumn,e.toViewLineNumber,s)}static columnSelectRight(t,i,e){let s=0;const n=Math.min(e.fromViewLineNumber,e.toViewLineNumber),o=Math.max(e.fromViewLineNumber,e.toViewLineNumber);for(let e=n;e<=o;e++){const n=i.getLineMaxColumn(e),o=t.visibleColumnFromColumn(i,new As(e,n));s=Math.max(s,o)}let r=e.toViewVisualColumn;return rt.getLineMinColumn(i.lineNumber))return i.delta(void 0,-xo(t.getLineContent(i.lineNumber),i.column-1));if(i.lineNumber>1){const e=i.lineNumber-1;return new As(e,t.getLineMaxColumn(e))}return i}static leftPositionAtomicSoftTabs(t,i,e){if(i.column<=t.getLineIndentColumn(i.lineNumber)){const s=t.getLineMinColumn(i.lineNumber),n=t.getLineContent(i.lineNumber),o=Ky.atomicPosition(n,i.column-1,e,0);if(-1!==o&&o+1>=s)return new As(i.lineNumber,o+1)}return this.leftPosition(t,i)}static left(t,i,e){const s=t.stickyTabStops?kC.leftPositionAtomicSoftTabs(i,e,t.tabSize):kC.leftPosition(i,e);return new yC(s.lineNumber,s.column,0)}static moveLeft(t,i,e,s,n){let o,r;if(e.hasSelection()&&!s)o=e.selection.startLineNumber,r=e.selection.startColumn;else{const s=e.position.delta(void 0,-(n-1)),h=i.normalizePosition(kC.clipPositionColumn(s,i),0),c=kC.left(t,i,h);o=c.lineNumber,r=c.column}return e.move(s,o,r,0)}static clipPositionColumn(t,i){return new As(t.lineNumber,kC.clipRange(t.column,i.getLineMinColumn(t.lineNumber),i.getLineMaxColumn(t.lineNumber)))}static clipRange(t,i,e){return te?e:t}static rightPosition(t,i,e){return ea?(e=a,s=r?i.getLineMaxColumn(e):Math.min(i.getLineMaxColumn(e),s)):s=t.columnFromVisibleColumn(i,e,c),n=d?0:c-qy.visibleColumnFromColumn(i.getLineContent(e),s,t.tabSize),void 0!==h){const t=new As(e,s),o=i.normalizePosition(t,h);n+=s-o.column,e=o.lineNumber,s=o.column}return new yC(e,s,n)}static down(t,i,e,s,n,o,r){return this.vertical(t,i,e,s,n,e+o,r,4)}static moveDown(t,i,e,s,n){let o,r;e.hasSelection()&&!s?(o=e.selection.endLineNumber,r=e.selection.endColumn):(o=e.position.lineNumber,r=e.position.column);let h,c=0;do{if(h=kC.down(t,i,o+c,r,e.leftoverVisibleColumns,n,!0),i.normalizePosition(new As(h.lineNumber,h.column),2).lineNumber>o)break}while(c++<10&&o+c1&&this._isBlankLine(i,n);)n--;for(;n>1&&!this._isBlankLine(i,n);)n--;return e.move(s,n,i.getLineMinColumn(n),0)}static moveToNextBlankLine(t,i,e,s){const n=i.getLineCount();let o=e.position.lineNumber;for(;o=l.length+1)return!1;const u=l.charAt(a.column-2),d=s.get(u);if(!d)return!1;if(fC(u)){if("never"===e)return!1}else if("never"===i)return!1;const f=l.charAt(a.column-1);let p=!1;for(const t of d)t.open===u&&t.close===f&&(p=!0);if(!p)return!1;if("auto"===t){let t=!1;for(let i=0,e=r.length;i1){const t=i.getLineContent(s.lineNumber),n=to(t);if(s.column<=(-1===n?t.length+1:n+1)){const t=e.visibleColumnFromColumn(i,s),n=qy.prevIndentTabStop(t,e.indentSize),o=e.columnFromVisibleColumn(i,s.lineNumber,n);return new Ms(s.lineNumber,o,s.lineNumber,s.column)}}return Ms.fromPositions(xC.getPositionAfterDeleteLeft(s,i),s)}static getPositionAfterDeleteLeft(t,i){if(t.column>1){const e=function(t,i){if(0===t)return 0;const e=function(t,i){const e=new bo(i,t);let s=e.prevCodePoint();for(;No(s)||65039===s||8419===s;){if(0===e.offset)return;s=e.prevCodePoint()}if(!Fo(s))return;let n=e.offset;return n>0&&8205===e.prevCodePoint()&&(n=e.offset),n}(t,i);if(void 0!==e)return e;const s=new bo(i,t);return s.prevCodePoint(),s.offset}(t.column-1,i.getLineContent(t.lineNumber));return t.with(void 0,e+1)}if(t.lineNumber>1){const e=t.lineNumber-1;return new As(e,i.getLineMaxColumn(e))}return t}static cut(t,i,e){const s=[];let n=null;e.sort(((t,i)=>As.compare(t.getStartPosition(),i.getEndPosition())));for(let o=0,r=e.length;o1&&(null==n?void 0:n.endLineNumber)!==t.lineNumber?(e=t.lineNumber-1,h=i.getLineMaxColumn(t.lineNumber-1),c=t.lineNumber,a=i.getLineMaxColumn(t.lineNumber)):(e=t.lineNumber,h=1,c=t.lineNumber,a=i.getLineMaxColumn(t.lineNumber));const l=new Ms(e,h,c,a);n=l,s[o]=l.isEmpty()?null:new gC(l,"")}else s[o]=null;else s[o]=new gC(r,"")}return new dC(0,s,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}class CC{static _createWord(t,i,e,s,n){return{start:s,end:n,wordType:i,nextCharClass:e}}static _findPreviousWordOnLine(t,i,e){const s=i.getLineContent(e.lineNumber);return this._doFindPreviousWordOnLine(s,t,e)}static _doFindPreviousWordOnLine(t,i,e){let s=0;for(let n=e.column-2;n>=0;n--){const e=t.charCodeAt(n),o=i.get(e);if(0===o){if(2===s)return this._createWord(t,s,o,n+1,this._findEndOfWord(t,i,s,n+1));s=1}else if(2===o){if(1===s)return this._createWord(t,s,o,n+1,this._findEndOfWord(t,i,s,n+1));s=2}else if(1===o&&0!==s)return this._createWord(t,s,o,n+1,this._findEndOfWord(t,i,s,n+1))}return 0!==s?this._createWord(t,s,1,0,this._findEndOfWord(t,i,s,0)):null}static _findEndOfWord(t,i,e,s){const n=t.length;for(let o=s;o=0;n--){const s=t.charCodeAt(n),o=i.get(s);if(1===o)return n+1;if(1===e&&2===o)return n+1;if(2===e&&0===o)return n+1}return 0}static moveWordLeft(t,i,e,s){let n=e.lineNumber,o=e.column;1===o&&n>1&&(n-=1,o=i.getLineMaxColumn(n));let r=CC._findPreviousWordOnLine(t,i,new As(n,o));if(0===s)return new As(n,r?r.start+1:1);if(1===s)return r&&2===r.wordType&&r.end-r.start==1&&0===r.nextCharClass&&(r=CC._findPreviousWordOnLine(t,i,new As(n,r.start+1))),new As(n,r?r.start+1:1);if(3===s){for(;r&&2===r.wordType;)r=CC._findPreviousWordOnLine(t,i,new As(n,r.start+1));return new As(n,r?r.start+1:1)}return r&&o<=r.end+1&&(r=CC._findPreviousWordOnLine(t,i,new As(n,r.start+1))),new As(n,r?r.end+1:1)}static _moveWordPartLeft(t,i){const e=i.lineNumber,s=t.getLineMaxColumn(e);if(1===i.column)return e>1?new As(e-1,t.getLineMaxColumn(e-1)):i;const n=t.getLineContent(e);for(let t=i.column-1;t>1;t--){const i=n.charCodeAt(t-2),o=n.charCodeAt(t-1);if(95===i&&95!==o)return new As(e,t);if(45===i&&45!==o)return new As(e,t);if((co(i)||ho(i))&&ao(o))return new As(e,t);if(ao(i)&&ao(o)&&t+1=h.start+1&&(h=CC._findNextWordOnLine(t,i,new As(n,h.end+1))),o=h?h.start+1:i.getLineMaxColumn(n);return new As(n,o)}static _moveWordPartRight(t,i){const e=i.lineNumber,s=t.getLineMaxColumn(e);if(i.column===s)return e1?c=1:(h--,c=s.getLineMaxColumn(h)):(a&&c<=a.end+1&&(a=CC._findPreviousWordOnLine(e,s,new As(h,a.start+1))),a?c=a.end+1:c>1?c=1:(h--,c=s.getLineMaxColumn(h))),new Ms(h,c,r.lineNumber,r.column)}static deleteInsideWord(t,i,e){if(!e.isEmpty())return e;const s=new As(e.positionLineNumber,e.positionColumn);return this._deleteInsideWordWhitespace(i,s)||this._deleteInsideWordDetermineDeleteRange(t,i,s)}static _charAtIsWhitespace(t,i){const e=t.charCodeAt(i);return 32===e||9===e}static _deleteInsideWordWhitespace(t,i){const e=t.getLineContent(i.lineNumber),s=e.length;if(0===s)return null;let n=Math.max(i.column-2,0);if(!this._charAtIsWhitespace(e,n))return null;let o=Math.min(i.column-1,s-1);if(!this._charAtIsWhitespace(e,o))return null;for(;n>0&&this._charAtIsWhitespace(e,n-1);)n--;for(;o+11?new Ms(e.lineNumber-1,i.getLineMaxColumn(e.lineNumber-1),e.lineNumber,1):e.lineNumbert.start+1<=e.column&&e.column<=t.end+1,r=(t,i)=>(t=Math.min(t,e.column),i=Math.max(i,e.column),new Ms(e.lineNumber,t,e.lineNumber,i)),h=t=>{let i=t.start+1,e=t.end+1,o=!1;for(;e-11&&this._charAtIsWhitespace(s,i-2);)i--;return r(i,e)},c=CC._findPreviousWordOnLine(t,i,e);if(c&&o(c))return h(c);const a=CC._findNextWordOnLine(t,i,e);return a&&o(a)?h(a):c&&a?r(c.end+1,a.start+1):c?r(c.start+1,c.end+1):a?r(a.start+1,a.end+1):r(1,n+1)}static _deleteWordPartLeft(t,i){if(!i.isEmpty())return i;const e=i.getPosition(),s=CC._moveWordPartLeft(t,e);return new Ms(e.lineNumber,e.column,s.lineNumber,s.column)}static _findFirstNonWhitespaceChar(t,i){const e=t.length;for(let s=i;s=u.start+1&&(u=CC._findNextWordOnLine(e,s,new As(h,u.end+1))),u?c=u.start+1:cBoolean(t)))}class EC{static addCursorDown(t,i,e){const s=[];let n=0;for(let o=0,r=i.length;oi&&(e=i,s=t.model.getLineMaxColumn(e)),cC.fromModelState(new uC(new Ms(o.lineNumber,1,e,s),2,0,new As(e,s),0))}const h=i.modelState.selectionStart.getStartPosition().lineNumber;if(o.lineNumberh){const e=t.getLineCount();let s=r.lineNumber+1,n=1;return s>e&&(s=e,n=t.getLineMaxColumn(s)),cC.fromViewState(i.viewState.move(!0,s,n,0))}{const t=i.modelState.selectionStart.getEndPosition();return cC.fromModelState(i.modelState.move(!0,t.lineNumber,t.column,0))}}static word(t,i,e,s){const n=t.model.validatePosition(s);return cC.fromModelState(CC.word(t.cursorConfig,t.model,i.modelState,e,n))}static cancelSelection(t,i){if(!i.modelState.hasSelection())return new cC(i.modelState,i.viewState);const e=i.viewState.position.lineNumber,s=i.viewState.position.column;return cC.fromViewState(new uC(new Ms(e,s,e,s),0,0,new As(e,s),0))}static moveTo(t,i,e,s,n){if(e){if(1===i.modelState.selectionStartKind)return this.word(t,i,e,s);if(2===i.modelState.selectionStartKind)return this.line(t,i,e,s,n)}const o=t.model.validatePosition(s),r=n?t.coordinatesConverter.validateViewPosition(new As(n.lineNumber,n.column),o):t.coordinatesConverter.convertModelPositionToViewPosition(o);return cC.fromViewState(i.viewState.move(e,r.lineNumber,r.column,0))}static simpleMove(t,i,e,s,n,o){switch(e){case 0:return 4===o?this._moveHalfLineLeft(t,i,s):this._moveLeft(t,i,s,n);case 1:return 4===o?this._moveHalfLineRight(t,i,s):this._moveRight(t,i,s,n);case 2:return 2===o?this._moveUpByViewLines(t,i,s,n):this._moveUpByModelLines(t,i,s,n);case 3:return 2===o?this._moveDownByViewLines(t,i,s,n):this._moveDownByModelLines(t,i,s,n);case 4:return i.map(2===o?i=>cC.fromViewState(kC.moveToPrevBlankLine(t.cursorConfig,t,i.viewState,s)):i=>cC.fromModelState(kC.moveToPrevBlankLine(t.cursorConfig,t.model,i.modelState,s)));case 5:return i.map(2===o?i=>cC.fromViewState(kC.moveToNextBlankLine(t.cursorConfig,t,i.viewState,s)):i=>cC.fromModelState(kC.moveToNextBlankLine(t.cursorConfig,t.model,i.modelState,s)));case 6:return this._moveToViewMinColumn(t,i,s);case 7:return this._moveToViewFirstNonWhitespaceColumn(t,i,s);case 8:return this._moveToViewCenterColumn(t,i,s);case 9:return this._moveToViewMaxColumn(t,i,s);case 10:return this._moveToViewLastNonWhitespaceColumn(t,i,s);default:return null}}static viewportMove(t,i,e,s,n){const o=t.getCompletelyVisibleViewRange(),r=t.coordinatesConverter.convertViewRangeToModelRange(o);switch(e){case 11:{const e=this._firstLineNumberInRange(t.model,r,n),o=t.model.getLineFirstNonWhitespaceColumn(e);return[this._moveToModelPosition(t,i[0],s,e,o)]}case 13:{const e=this._lastLineNumberInRange(t.model,r,n),o=t.model.getLineFirstNonWhitespaceColumn(e);return[this._moveToModelPosition(t,i[0],s,e,o)]}case 12:{const e=Math.round((r.startLineNumber+r.endLineNumber)/2),n=t.model.getLineFirstNonWhitespaceColumn(e);return[this._moveToModelPosition(t,i[0],s,e,n)]}case 14:{const e=[];for(let n=0,r=i.length;ne.endLineNumber-1?e.endLineNumber-1:ncC.fromViewState(kC.moveLeft(t.cursorConfig,t,i.viewState,e,s))))}static _moveHalfLineLeft(t,i,e){const s=[];for(let n=0,o=i.length;ncC.fromViewState(kC.moveRight(t.cursorConfig,t,i.viewState,e,s))))}static _moveHalfLineRight(t,i,e){const s=[];for(let n=0,o=i.length;n1&&0===n.firstCharOffset){const t=Jd(i,e.startLineNumber-1);t.languageId===n.languageId&&(a=t.getLineContent())}const l=o.onEnter(t,a,h,c);if(!l)return null;const u=l.indentAction;let d=l.appendText;const f=l.removeText||0;d?u===Ru.Indent&&(d="\t"+d):d=u===Ru.Indent||u===Ru.IndentOutdent?"\t":"";let p=Qd(i,e.startLineNumber,e.startColumn);return f&&(p=p.substring(0,p.length-f)),{indentAction:u,appendText:d,removeText:f,indentation:p}}!function(t){t.metadata={description:"Move cursor to a logical position in the view",args:[{name:"Cursor move argument object",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t* 'to': A mandatory logical position value providing where to move the cursor.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'left', 'right', 'up', 'down', 'prevBlankLine', 'nextBlankLine',\n\t\t\t\t\t\t'wrappedLineStart', 'wrappedLineEnd', 'wrappedLineColumnCenter'\n\t\t\t\t\t\t'wrappedLineFirstNonWhitespaceCharacter', 'wrappedLineLastNonWhitespaceCharacter'\n\t\t\t\t\t\t'viewPortTop', 'viewPortCenter', 'viewPortBottom', 'viewPortIfOutside'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'by': Unit to move. Default is computed based on 'to' value.\n\t\t\t\t\t\t```\n\t\t\t\t\t\t'line', 'wrappedLine', 'character', 'halfLine'\n\t\t\t\t\t\t```\n\t\t\t\t\t* 'value': Number of units to move. Default is '1'.\n\t\t\t\t\t* 'select': If 'true' makes the selection. Default is 'false'.\n\t\t\t\t",constraint:function(t){if(!$(t))return!1;const i=t;return!(!P(i.to)||!V(i.select)&&!H(i.select)||!V(i.by)&&!P(i.by)||!V(i.value)&&!j(i.value))},schema:{type:"object",required:["to"],properties:{to:{type:"string",enum:["left","right","up","down","prevBlankLine","nextBlankLine","wrappedLineStart","wrappedLineEnd","wrappedLineColumnCenter","wrappedLineFirstNonWhitespaceCharacter","wrappedLineLastNonWhitespaceCharacter","viewPortTop","viewPortCenter","viewPortBottom","viewPortIfOutside"]},by:{type:"string",enum:["line","wrappedLine","character","halfLine"]},value:{type:"number",default:1},select:{type:"boolean",default:!1}}}}]},t.RawDirection={Left:"left",Right:"right",Up:"up",Down:"down",PrevBlankLine:"prevBlankLine",NextBlankLine:"nextBlankLine",WrappedLineStart:"wrappedLineStart",WrappedLineFirstNonWhitespaceCharacter:"wrappedLineFirstNonWhitespaceCharacter",WrappedLineColumnCenter:"wrappedLineColumnCenter",WrappedLineEnd:"wrappedLineEnd",WrappedLineLastNonWhitespaceCharacter:"wrappedLineLastNonWhitespaceCharacter",ViewPortTop:"viewPortTop",ViewPortCenter:"viewPortCenter",ViewPortBottom:"viewPortBottom",ViewPortIfOutside:"viewPortIfOutside"},t.RawUnit={Line:"line",WrappedLine:"wrappedLine",Character:"character",HalfLine:"halfLine"},t.parse=function(i){if(!i.to)return null;let e;switch(i.to){case t.RawDirection.Left:e=0;break;case t.RawDirection.Right:e=1;break;case t.RawDirection.Up:e=2;break;case t.RawDirection.Down:e=3;break;case t.RawDirection.PrevBlankLine:e=4;break;case t.RawDirection.NextBlankLine:e=5;break;case t.RawDirection.WrappedLineStart:e=6;break;case t.RawDirection.WrappedLineFirstNonWhitespaceCharacter:e=7;break;case t.RawDirection.WrappedLineColumnCenter:e=8;break;case t.RawDirection.WrappedLineEnd:e=9;break;case t.RawDirection.WrappedLineLastNonWhitespaceCharacter:e=10;break;case t.RawDirection.ViewPortTop:e=11;break;case t.RawDirection.ViewPortBottom:e=13;break;case t.RawDirection.ViewPortCenter:e=12;break;case t.RawDirection.ViewPortIfOutside:e=14;break;default:return null}let s=0;switch(i.by){case t.RawUnit.Line:s=1;break;case t.RawUnit.WrappedLine:s=2;break;case t.RawUnit.Character:s=3;break;case t.RawUnit.HalfLine:s=4}return{direction:e,unit:s,select:!!i.select,value:i.value||1}}}(AC||(AC={}));var LC;const FC=Object.create(null);function TC(t,i){if(i<=0)return"";FC[t]||(FC[t]=["",t]);const e=FC[t];for(let s=e.length;s<=i;s++)e[s]=e[s-1]+t;return e[i]}let RC=LC=class{static unshiftIndent(t,i,e,s,n){const o=qy.visibleColumnFromColumn(t,i,e);if(n){const t=TC(" ",s);return TC(t,qy.prevIndentTabStop(o,s)/s)}return TC("\t",qy.prevRenderTabStop(o,e)/e)}static shiftIndent(t,i,e,s,n){const o=qy.visibleColumnFromColumn(t,i,e);if(n){const t=TC(" ",s);return TC(t,qy.nextIndentTabStop(o,s)/s)}return TC("\t",qy.nextRenderTabStop(o,e)/e)}constructor(t,i,e){this._languageConfigurationService=e,this._opts=i,this._selection=t,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(t,i,e){this._useLastEditRangeForCursorEndPosition?t.addTrackedEditOperation(i,e):t.addEditOperation(i,e)}getEditOperations(t,i){const e=this._selection.startLineNumber;let s=this._selection.endLineNumber;1===this._selection.endColumn&&e!==s&&(s-=1);const{tabSize:n,indentSize:o,insertSpaces:r}=this._opts,h=e===s;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(t.getLineContent(e))&&(this._useLastEditRangeForCursorEndPosition=!0);let c=0,a=0;for(let l=e;l<=s;l++,c=a){a=0;const s=t.getLineContent(l);let u,d=to(s);if((!this._opts.isUnshift||0!==s.length&&0!==d)&&(h||this._opts.isUnshift||0!==s.length)){if(-1===d&&(d=s.length),l>1&&qy.visibleColumnFromColumn(s,d+1,n)%o!=0&&t.tokenization.isCheapToTokenize(l-1)){const i=MC(this._opts.autoIndent,t,new Ms(l-1,t.getLineMaxColumn(l-1),l-1,t.getLineMaxColumn(l-1)),this._languageConfigurationService);if(i){if(a=c,i.appendText)for(let t=0,e=i.appendText.length;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,qd)],RC);class OC{constructor(t,i,e){this._range=t,this._charBeforeSelection=i,this._charAfterSelection=e}getEditOperations(t,i){i.addTrackedEditOperation(new Ms(this._range.startLineNumber,this._range.startColumn,this._range.startLineNumber,this._range.startColumn),this._charBeforeSelection),i.addTrackedEditOperation(new Ms(this._range.endLineNumber,this._range.endColumn,this._range.endLineNumber,this._range.endColumn),this._charAfterSelection)}computeCursorState(t,i){const e=i.getInverseEditOperations(),s=e[0].range,n=e[1].range;return new Ls(s.endLineNumber,s.endColumn,n.endLineNumber,n.endColumn-this._charAfterSelection.length)}}class IC{constructor(t,i,e){this._position=t,this._text=i,this._charAfter=e}getEditOperations(t,i){i.addTrackedEditOperation(new Ms(this._position.lineNumber,this._position.column,this._position.lineNumber,this._position.column),this._text+this._charAfter)}computeCursorState(t,i){const e=i.getInverseEditOperations()[0].range;return new Ls(e.endLineNumber,e.startColumn,e.endLineNumber,e.endColumn-this._charAfter.length)}}function _C(t,i,e,s=!0,n){if(t<4)return null;const o=n.getLanguageConfiguration(i.tokenization.getLanguageId()).indentRulesSupport;if(!o)return null;if(e<=1)return{indentation:"",action:null};for(let t=e-1;t>0&&""===i.getLineContent(t);t--)if(1===t)return{indentation:"",action:null};const r=function(t,i,e){const s=t.tokenization.getLanguageIdAtPosition(i,0);if(i>1){let n,o=-1;for(n=i-1;n>=1;n--){if(t.tokenization.getLanguageIdAtPosition(n,0)!==s)return o;const i=t.getLineContent(n);if(!e.shouldIgnore(i)&&!/^\s+$/.test(i)&&""!==i)return n;o=n}}return-1}(i,e,o);if(r<0)return null;if(r<1)return{indentation:"",action:null};const h=i.getLineContent(r);if(o.shouldIncrease(h)||o.shouldIndentNextLine(h))return{indentation:io(h),action:Ru.Indent,line:r};if(o.shouldDecrease(h))return{indentation:io(h),action:null,line:r};{if(1===r)return{indentation:io(i.getLineContent(r)),action:null,line:r};const t=r-1,e=o.getIndentMetadata(i.getLineContent(t));if(!(3&e)&&4&e){let e=0;for(let s=t-1;s>0;s--)if(!o.shouldIndentNextLine(i.getLineContent(s))){e=s;break}return{indentation:io(i.getLineContent(e+1)),action:null,line:e+1}}if(s)return{indentation:io(i.getLineContent(r)),action:null,line:r};for(let t=r;t>0;t--){const e=i.getLineContent(t);if(o.shouldIncrease(e))return{indentation:io(e),action:Ru.Indent,line:t};if(o.shouldIndentNextLine(e)){let e=0;for(let s=t-1;s>0;s--)if(!o.shouldIndentNextLine(i.getLineContent(t))){e=s;break}return{indentation:io(i.getLineContent(e+1)),action:null,line:e+1}}if(o.shouldDecrease(e))return{indentation:io(e),action:null,line:t}}return{indentation:io(i.getLineContent(1)),action:null,line:1}}}function NC(t,i,e,s,n,o){if(t<4)return null;const r=o.getLanguageConfiguration(e);if(!r)return null;const h=o.getLanguageConfiguration(e).indentRulesSupport;if(!h)return null;const c=_C(t,i,s,void 0,o),a=i.getLineContent(s);if(c){const e=c.line;if(void 0!==e){let o=!0;for(let t=e;tt.getLineCount()?null:s.getIndentMetadata(t.getLineContent(i)):null}class PC{static indent(t,i,e){if(null===i||null===e)return[];const s=[];for(let i=0,n=e.length;i1){let s;for(s=e-1;s>=1&&!(eo(i.getLineContent(s))>=0);s--);if(s<1)return null;const o=i.getLineMaxColumn(s),r=MC(t.autoIndent,i,new Ms(s,o,s,o),t.languageConfigurationService);r&&(n=r.indentation+r.appendText)}return s&&(s===Ru.Indent&&(n=PC.shiftIndent(t,n)),s===Ru.Outdent&&(n=PC.unshiftIndent(t,n)),n=t.normalizeIndentation(n)),n||null}static _replaceJumpToNextIndent(t,i,e,s){let n="";const o=e.getStartPosition();if(t.insertSpaces){const e=t.visibleColumnFromColumn(i,o),s=t.indentSize,r=s-e%s;for(let t=0;tthis._compositionType(e,t,n,o,r,h)));return new dC(4,c,{shouldPushStackElementBefore:zC(t,4),shouldPushStackElementAfter:!1})}static _compositionType(t,i,e,s,n,o){if(!i.isEmpty())return null;const r=i.getPosition(),h=Math.max(1,r.column-s),c=Math.min(t.getLineMaxColumn(r.lineNumber),r.column+n),a=new Ms(r.lineNumber,h,r.lineNumber,c);return t.getValueInRange(a)===e&&0===o?null:new vC(a,e,0,o)}static _typeCommand(t,i,e){return e?new wC(t,i,!0):new gC(t,i,!0)}static _enter(t,i,e,s){if(0===t.autoIndent)return PC._typeCommand(s,"\n",e);if(!i.tokenization.isCheapToTokenize(s.getStartPosition().lineNumber)||1===t.autoIndent){const n=io(i.getLineContent(s.startLineNumber)).substring(0,s.startColumn-1);return PC._typeCommand(s,"\n"+t.normalizeIndentation(n),e)}const n=MC(t.autoIndent,i,s,t.languageConfigurationService);if(n){if(n.indentAction===Ru.None)return PC._typeCommand(s,"\n"+t.normalizeIndentation(n.indentation+n.appendText),e);if(n.indentAction===Ru.Indent)return PC._typeCommand(s,"\n"+t.normalizeIndentation(n.indentation+n.appendText),e);if(n.indentAction===Ru.IndentOutdent){const i=t.normalizeIndentation(n.indentation),o=t.normalizeIndentation(n.indentation+n.appendText),r="\n"+o+"\n"+i;return e?new wC(s,r,!0):new vC(s,r,-1,o.length-i.length,!0)}if(n.indentAction===Ru.Outdent){const i=PC.unshiftIndent(t,n.indentation);return PC._typeCommand(s,"\n"+t.normalizeIndentation(i+n.appendText),e)}}const o=io(i.getLineContent(s.startLineNumber)).substring(0,s.startColumn-1);if(t.autoIndent>=4){const n=function(t,i,e,s,n){if(t<4)return null;i.tokenization.forceTokenization(e.startLineNumber);const o=i.tokenization.getLineTokens(e.startLineNumber),r=Nu(o,e.startColumn-1),h=r.getLineContent();let c,a,l=!1;r.firstCharOffset>0&&o.getLanguageId(0)!==r.languageId?(l=!0,c=h.substr(0,e.startColumn-1-r.firstCharOffset)):c=o.getLineContent().substring(0,e.startColumn-1),a=e.isEmpty()?h.substr(e.startColumn-1-r.firstCharOffset):Jd(i,e.endLineNumber,e.endColumn).getLineContent().substr(e.endColumn-1-r.firstCharOffset);const u=n.getLanguageConfiguration(r.languageId).indentRulesSupport;if(!u)return null;const d=c,f=io(c),p={tokenization:{getLineTokens:t=>i.tokenization.getLineTokens(t),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(t,e)=>i.getLanguageIdAtPosition(t,e)},getLineContent:t=>t===e.startLineNumber?d:i.getLineContent(t)},g=io(o.getLineContent()),m=_C(t,p,e.startLineNumber+1,void 0,n);if(!m){const t=l?g:f;return{beforeEnter:t,afterEnter:t}}let w=l?g:m.indentation;return m.action===Ru.Indent&&(w=s.shiftIndent(w)),u.shouldDecrease(a)&&(w=s.unshiftIndent(w)),{beforeEnter:l?g:f,afterEnter:w}}(t.autoIndent,i,s,{unshiftIndent:i=>PC.unshiftIndent(t,i),shiftIndent:i=>PC.shiftIndent(t,i),normalizeIndentation:i=>t.normalizeIndentation(i)},t.languageConfigurationService);if(n){let o=t.visibleColumnFromColumn(i,s.getEndPosition());const r=s.endColumn,h=to(i.getLineContent(s.endLineNumber));if(s=s.setEndPosition(s.endLineNumber,h>=0?Math.max(s.endColumn,h+1):i.getLineMaxColumn(s.endLineNumber)),e)return new wC(s,"\n"+t.normalizeIndentation(n.afterEnter),!0);{let i=0;return r<=h+1&&(t.insertSpaces||(o=Math.ceil(o/t.indentSize)),i=Math.min(o+1-t.normalizeIndentation(n.afterEnter).length-1,0)),new vC(s,"\n"+t.normalizeIndentation(n.afterEnter),0,i,!0)}}}return PC._typeCommand(s,"\n"+t.normalizeIndentation(o),e)}static _isAutoIndentType(t,i,e){if(t.autoIndent<4)return!1;for(let t=0,s=e.length;tPC.shiftIndent(t,i),unshiftIndent:i=>PC.unshiftIndent(t,i)},t.languageConfigurationService);if(null===o)return null;if(o!==t.normalizeIndentation(n)){const n=i.getLineFirstNonWhitespaceColumn(e.startLineNumber);return PC._typeCommand(new Ms(e.startLineNumber,1,e.endLineNumber,e.endColumn),0===n?t.normalizeIndentation(o)+s:t.normalizeIndentation(o)+i.getLineContent(e.startLineNumber).substring(n-1,e.startColumn-1)+s,!1)}return null}static _isAutoClosingOvertype(t,i,e,s,n){if("never"===t.autoClosingOvertype)return!1;if(!t.autoClosingPairs.autoClosingPairsCloseSingleChar.has(n))return!1;for(let o=0,r=e.length;o2?c.charCodeAt(h.column-2):0)&&a)return!1;if("auto"===t.autoClosingOvertype){let t=!1;for(let i=0,e=s.length;ii.startsWith(t.open))),r=n.some((t=>i.startsWith(t.close)));return!o&&r}static _findAutoClosingPairOpen(t,i,e,s){const n=t.autoClosingPairs.autoClosingPairsOpenByEnd.get(s);if(!n)return null;let o=null;for(const t of n)if(null===o||t.open.length>o.open.length){let n=!0;for(const o of e)if(i.getValueInRange(new Ms(o.lineNumber,o.column-t.open.length+1,o.lineNumber,o.column))+s!==t.open){n=!1;break}n&&(o=t)}return o}static _findContainedAutoClosingPair(t,i){if(i.open.length<=1)return null;const e=i.close.charAt(i.close.length-1),s=t.autoClosingPairs.autoClosingPairsCloseByEnd.get(e)||[];let n=null;for(const t of s)t.open!==i.open&&i.open.includes(t.open)&&i.close.endsWith(t.close)&&(!n||t.open.length>n.open.length)&&(n=t);return n}static _getAutoClosingPairClose(t,i,e,s,n){for(const t of e)if(!t.isEmpty())return null;const o=e.map((t=>{const i=t.getPosition();return n?{lineNumber:i.lineNumber,beforeColumn:i.column-s.length,afterColumn:i.column}:{lineNumber:i.lineNumber,beforeColumn:i.column,afterColumn:i.column}})),r=this._findAutoClosingPairOpen(t,i,o.map((t=>new As(t.lineNumber,t.beforeColumn))),s);if(!r)return null;let h,c;if(fC(s)?(h=t.autoClosingQuotes,c=t.shouldAutoCloseBefore.quote):t.blockCommentStartToken&&r.open.includes(t.blockCommentStartToken)?(h=t.autoClosingComments,c=t.shouldAutoCloseBefore.comment):(h=t.autoClosingBrackets,c=t.shouldAutoCloseBefore.bracket),"never"===h)return null;const a=this._findContainedAutoClosingPair(t,r),l=a?a.close:"";let u=!0;for(const e of o){const{lineNumber:n,beforeColumn:o,afterColumn:a}=e,d=i.getLineContent(n),f=d.substring(0,o-1),p=d.substring(a-1);if(p.startsWith(l)||(u=!1),p.length>0){const i=p.charAt(0);if(!PC._isBeforeClosingBrace(t,p)&&!c(i))return null}if(1===r.open.length&&("'"===s||'"'===s)&&"always"!==h){const i=Af(t.wordSeparators);if(f.length>0){const t=f.charCodeAt(f.length-1);if(0===i.get(t))return null}}if(!i.tokenization.isCheapToTokenize(n))return null;i.tokenization.forceTokenization(n);const g=Nu(i.tokenization.getLineTokens(n),o-1);if(!r.shouldAutoClose(g,o-g.firstCharOffset))return null;const m=r.findNeutralCharacter();if(m){const t=i.tokenization.getTokenTypeIfInsertingCharacter(n,o,m);if(!r.isOK(t))return null}}return u?r.close.substring(0,r.close.length-l.length):r.close}static _runAutoClosingOpenCharType(t,i,e,s,n,o,r){const h=[];for(let t=0,i=s.length;tnew gC(new Ms(t.positionLineNumber,t.positionColumn,t.positionLineNumber,t.positionColumn+1),"",!1)));return new dC(4,t,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const a=this._getAutoClosingPairClose(i,e,n,h,!0);return null!==a?this._runAutoClosingOpenCharType(t,i,e,n,h,!0,a):null}static typeWithInterceptors(t,i,e,s,n,o,r){if(!t&&"\n"===r){const t=[];for(let i=0,o=n.length;i{const e=t.get(fr).getFocusedCodeEditor();return!(!e||!e.hasTextFocus())&&this._runEditorCommand(t,e,i)})),t.addImplementation(1e3,"generic-dom-input-textarea",(()=>{const t=pl();return!!(t&&["input","textarea"].indexOf(t.tagName.toLowerCase())>=0)&&(this.runDOMCommand(t),!0)})),t.addImplementation(0,"generic-dom",((t,i)=>{const e=t.get(fr).getActiveCodeEditor();return!!e&&(e.focus(),this._runEditorCommand(t,e,i))}))}_runEditorCommand(t,i,e){return this.runEditorCommand(t,i,e)||!0}}!function(t){class i extends ZC{constructor(t){super(t),this._inSelectionMode=t.inSelectionMode}runCoreEditorCommand(t,i){i.position&&(t.model.pushStackElement(),t.setCursorStates(i.source,3,[EC.moveTo(t,t.getPrimaryCursorState(),this._inSelectionMode,i.position,i.viewPosition)])&&2!==i.revealType&&t.revealPrimaryCursor(i.source,!0,!0))}}t.MoveTo=hu(new i({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),t.MoveToSelect=hu(new i({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class e extends ZC{runCoreEditorCommand(t,i){t.model.pushStackElement();const e=this._getColumnSelectResult(t,t.getPrimaryCursorState(),t.getCursorColumnSelectData(),i);null!==e&&(t.setCursorStates(i.source,3,e.viewStates.map((t=>cC.fromViewState(t)))),t.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:e.fromLineNumber,fromViewVisualColumn:e.fromVisualColumn,toViewLineNumber:e.toLineNumber,toViewVisualColumn:e.toVisualColumn}),e.reversed?t.revealTopMostCursor(i.source):t.revealBottomMostCursor(i.source))}}t.ColumnSelect=hu(new class extends e{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(t,i,e,s){if(void 0===s.position||void 0===s.viewPosition||void 0===s.mouseColumn)return null;const n=t.model.validatePosition(s.position),o=t.coordinatesConverter.validateViewPosition(new As(s.viewPosition.lineNumber,s.viewPosition.column),n);return pC.columnSelect(t.cursorConfig,t,s.doColumnSelect?e.fromViewLineNumber:o.lineNumber,s.doColumnSelect?e.fromViewVisualColumn:s.mouseColumn-1,o.lineNumber,s.mouseColumn-1)}}),t.CursorColumnSelectLeft=hu(new class extends e{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(t,i,e,s){return pC.columnSelectLeft(t.cursorConfig,t,e)}}),t.CursorColumnSelectRight=hu(new class extends e{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(t,i,e,s){return pC.columnSelectRight(t.cursorConfig,t,e)}});class s extends e{constructor(t){super(t),this._isPaged=t.isPaged}_getColumnSelectResult(t,i,e,s){return pC.columnSelectUp(t.cursorConfig,t,e,this._isPaged)}}t.CursorColumnSelectUp=hu(new s({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:3600,linux:{primary:0}}})),t.CursorColumnSelectPageUp=hu(new s({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:3595,linux:{primary:0}}}));class n extends e{constructor(t){super(t),this._isPaged=t.isPaged}_getColumnSelectResult(t,i,e,s){return pC.columnSelectDown(t.cursorConfig,t,e,this._isPaged)}}t.CursorColumnSelectDown=hu(new n({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:3602,linux:{primary:0}}})),t.CursorColumnSelectPageDown=hu(new n({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:3596,linux:{primary:0}}}));class o extends ZC{constructor(){super({id:"cursorMove",precondition:void 0,metadata:AC.metadata})}runCoreEditorCommand(t,i){const e=AC.parse(i);e&&this._runCursorMove(t,i.source,e)}_runCursorMove(t,i,e){t.model.pushStackElement(),t.setCursorStates(i,3,o._move(t,t.getCursorStates(),e)),t.revealPrimaryCursor(i,!0)}static _move(t,i,e){const s=e.select,n=e.value;switch(e.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return EC.simpleMove(t,i,e.direction,s,n,e.unit);case 11:case 13:case 12:case 14:return EC.viewportMove(t,i,e.direction,s,n);default:return null}}}t.CursorMoveImpl=o,t.CursorMove=hu(new o);class r extends ZC{constructor(t){super(t),this._staticArgs=t.args}runCoreEditorCommand(t,i){let e=this._staticArgs;-1===this._staticArgs.value&&(e={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:i.pageSize||t.cursorConfig.pageSize}),t.model.pushStackElement(),t.setCursorStates(i.source,3,EC.simpleMove(t,t.getCursorStates(),e.direction,e.select,e.value,e.unit)),t.revealPrimaryCursor(i.source,!0)}}t.CursorLeft=hu(new r({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),t.CursorLeftSelect=hu(new r({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:1039}})),t.CursorRight=hu(new r({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),t.CursorRightSelect=hu(new r({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:1041}})),t.CursorUp=hu(new r({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),t.CursorUpSelect=hu(new r({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),t.CursorPageUp=hu(new r({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:11}})),t.CursorPageUpSelect=hu(new r({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:1035}})),t.CursorDown=hu(new r({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),t.CursorDownSelect=hu(new r({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),t.CursorPageDown=hu(new r({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:12}})),t.CursorPageDownSelect=hu(new r({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:1036}})),t.CreateCursor=hu(new class extends ZC{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(t,i){if(!i.position)return;let e;e=i.wholeLine?EC.line(t,t.getPrimaryCursorState(),!1,i.position,i.viewPosition):EC.moveTo(t,t.getPrimaryCursorState(),!1,i.position,i.viewPosition);const s=t.getCursorStates();if(s.length>1){const n=e.modelState?e.modelState.position:null,o=e.viewState?e.viewState.position:null;for(let e=0,r=s.length;eo&&(n=o);const r=new Ms(n,1,n,t.model.getLineMaxColumn(n));let h=0;if(e.at)switch(e.at){case KC.RawAtArgument.Top:h=3;break;case KC.RawAtArgument.Center:h=1;break;case KC.RawAtArgument.Bottom:h=4}const c=t.coordinatesConverter.convertModelRangeToViewRange(r);t.revealRange(i.source,!1,c,h,0)}}),t.SelectAll=new class extends QC{constructor(){super(mu)}runDOMCommand(t){Uo&&(t.focus(),t.select()),t.ownerDocument.execCommand("selectAll")}runEditorCommand(t,i,e){const s=i._getViewModel();s&&this.runCoreEditorCommand(s,e)}runCoreEditorCommand(t,i){t.model.pushStackElement(),t.setCursorStates("keyboard",3,[EC.selectAll(t,t.getPrimaryCursorState())])}},t.SetSelection=hu(new class extends ZC{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(t,i){i.selection&&(t.model.pushStackElement(),t.setCursorStates(i.source,3,[cC.fromModelSelection(i.selection)]))}})}(GC||(GC={}));const JC=zr.and(UC.textInputFocus,UC.columnSelection);function YC(t,i){Ah.registerKeybindingRule({id:t,primary:i,when:JC,weight:1})}function XC(t){return t.register(),t}var tS,iS;YC(GC.CursorColumnSelectLeft.id,1039),YC(GC.CursorColumnSelectRight.id,1041),YC(GC.CursorColumnSelectUp.id,1040),YC(GC.CursorColumnSelectPageUp.id,1035),YC(GC.CursorColumnSelectDown.id,1042),YC(GC.CursorColumnSelectPageDown.id,1036),function(t){class i extends eu{runEditorCommand(t,i,e){const s=i._getViewModel();s&&this.runCoreEditingCommand(i,s,e||{})}}t.CoreEditingCommand=i,t.LineBreakInsert=hu(new class extends i{constructor(){super({id:"lineBreakInsert",precondition:UC.writable,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(t,i,e){t.pushUndoStop(),t.executeCommands(this.id,PC.lineBreakInsert(i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection))))}}),t.Outdent=hu(new class extends i{constructor(){super({id:"outdent",precondition:UC.writable,kbOpts:{weight:0,kbExpr:zr.and(UC.editorTextFocus,UC.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(t,i,e){t.pushUndoStop(),t.executeCommands(this.id,PC.outdent(i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection)))),t.pushUndoStop()}}),t.Tab=hu(new class extends i{constructor(){super({id:"tab",precondition:UC.writable,kbOpts:{weight:0,kbExpr:zr.and(UC.editorTextFocus,UC.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(t,i,e){t.pushUndoStop(),t.executeCommands(this.id,PC.tab(i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection)))),t.pushUndoStop()}}),t.DeleteLeft=hu(new class extends i{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(t,i,e){const[s,n]=xC.deleteLeft(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection)),i.getCursorAutoClosedCharacters());s&&t.pushUndoStop(),t.executeCommands(this.id,n),i.setPrevEditOperationType(2)}}),t.DeleteRight=hu(new class extends i{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(t,i,e){const[s,n]=xC.deleteRight(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map((t=>t.modelState.selection)));s&&t.pushUndoStop(),t.executeCommands(this.id,n),i.setPrevEditOperationType(3)}}),t.Undo=new class extends QC{constructor(){super(pu)}runDOMCommand(t){t.ownerDocument.execCommand("undo")}runEditorCommand(t,i,e){if(i.hasModel()&&!0!==i.getOption(90))return i.getModel().undo()}},t.Redo=new class extends QC{constructor(){super(gu)}runDOMCommand(t){t.ownerDocument.execCommand("redo")}runEditorCommand(t,i,e){if(i.hasModel()&&!0!==i.getOption(90))return i.getModel().redo()}}}(tS||(tS={}));class eS extends Xl{constructor(t,i,e){super({id:t,precondition:void 0,metadata:e}),this._handlerId=i}runCommand(t,i){const e=t.get(fr).getFocusedCodeEditor();e&&e.trigger("keyboard",this._handlerId,i)}}function sS(t,i){XC(new eS("default:"+t,t)),XC(new eS(t,t,i))}sS("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]}),sS("replacePreviousChar"),sS("compositionType"),sS("compositionStart"),sS("compositionEnd"),sS("paste"),sS("cut");class nS{constructor(t,i,e,s){this.configuration=t,this.viewModel=i,this.userInputEvents=e,this.commandDelegate=s}paste(t,i,e,s){this.commandDelegate.paste(t,i,e,s)}type(t){this.commandDelegate.type(t)}compositionType(t,i,e,s){this.commandDelegate.compositionType(t,i,e,s)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(t){GC.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:t})}_validateViewColumn(t){const i=this.viewModel.getLineMinColumn(t.lineNumber);return t.column=4?this._selectAll():3===t.mouseDownCount?this._hasMulticursorModifier(t)?t.inSelectionMode?this._lastCursorLineSelectDrag(t.position,t.revealType):this._lastCursorLineSelect(t.position,t.revealType):t.inSelectionMode?this._lineSelectDrag(t.position,t.revealType):this._lineSelect(t.position,t.revealType):2===t.mouseDownCount?t.onInjectedText||(this._hasMulticursorModifier(t)?this._lastCursorWordSelect(t.position,t.revealType):t.inSelectionMode?this._wordSelectDrag(t.position,t.revealType):this._wordSelect(t.position,t.revealType)):this._hasMulticursorModifier(t)?this._hasNonMulticursorModifier(t)||(t.shiftKey?this._columnSelect(t.position,t.mouseColumn,!0):t.inSelectionMode?this._lastCursorMoveToSelect(t.position,t.revealType):this._createCursor(t.position,!1)):t.inSelectionMode?t.altKey||s?this._columnSelect(t.position,t.mouseColumn,!0):this._moveToSelect(t.position,t.revealType):this.moveTo(t.position,t.revealType)}_usualArgs(t,i){return t=this._validateViewColumn(t),{source:"mouse",position:this._convertViewToModelPosition(t),viewPosition:t,revealType:i}}moveTo(t,i){GC.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_moveToSelect(t,i){GC.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_columnSelect(t,i,e){t=this._validateViewColumn(t),GC.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(t),viewPosition:t,mouseColumn:i,doColumnSelect:e})}_createCursor(t,i){t=this._validateViewColumn(t),GC.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(t),viewPosition:t,wholeLine:i})}_lastCursorMoveToSelect(t,i){GC.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_wordSelect(t,i){GC.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_wordSelectDrag(t,i){GC.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lastCursorWordSelect(t,i){GC.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lineSelect(t,i){GC.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lineSelectDrag(t,i){GC.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lastCursorLineSelect(t,i){GC.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_lastCursorLineSelectDrag(t,i){GC.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(t,i))}_selectAll(){GC.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(t){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t)}emitKeyDown(t){this.userInputEvents.emitKeyDown(t)}emitKeyUp(t){this.userInputEvents.emitKeyUp(t)}emitContextMenu(t){this.userInputEvents.emitContextMenu(t)}emitMouseMove(t){this.userInputEvents.emitMouseMove(t)}emitMouseLeave(t){this.userInputEvents.emitMouseLeave(t)}emitMouseUp(t){this.userInputEvents.emitMouseUp(t)}emitMouseDown(t){this.userInputEvents.emitMouseDown(t)}emitMouseDrag(t){this.userInputEvents.emitMouseDrag(t)}emitMouseDrop(t){this.userInputEvents.emitMouseDrop(t)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(t){this.userInputEvents.emitMouseWheel(t)}}class oS{constructor(t){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=t}emitKeyDown(t){var i;null===(i=this.onKeyDown)||void 0===i||i.call(this,t)}emitKeyUp(t){var i;null===(i=this.onKeyUp)||void 0===i||i.call(this,t)}emitContextMenu(t){var i;null===(i=this.onContextMenu)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseMove(t){var i;null===(i=this.onMouseMove)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseLeave(t){var i;null===(i=this.onMouseLeave)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseDown(t){var i;null===(i=this.onMouseDown)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseUp(t){var i;null===(i=this.onMouseUp)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseDrag(t){var i;null===(i=this.onMouseDrag)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseDrop(t){var i;null===(i=this.onMouseDrop)||void 0===i||i.call(this,this._convertViewToModelMouseEvent(t))}emitMouseDropCanceled(){var t;null===(t=this.onMouseDropCanceled)||void 0===t||t.call(this)}emitMouseWheel(t){var i;null===(i=this.onMouseWheel)||void 0===i||i.call(this,t)}_convertViewToModelMouseEvent(t){return t.target?{event:t.event,target:this._convertViewToModelMouseTarget(t.target)}:t}_convertViewToModelMouseTarget(t){return oS.convertViewToModelMouseTarget(t,this._coordinatesConverter)}static convertViewToModelMouseTarget(t,i){const e={...t};return e.position&&(e.position=i.convertViewPositionToModelPosition(e.position)),e.range&&(e.range=i.convertViewRangeToModelRange(e.range)),5!==e.type&&8!==e.type||(e.detail=this.convertViewToModelViewZoneData(e.detail,i)),e}static convertViewToModelViewZoneData(t,i){return{viewZoneId:t.viewZoneId,positionBefore:t.positionBefore?i.convertViewPositionToModelPosition(t.positionBefore):t.positionBefore,positionAfter:t.positionAfter?i.convertViewPositionToModelPosition(t.positionAfter):t.positionAfter,position:i.convertViewPositionToModelPosition(t.position),afterLineNumber:i.convertViewPositionToModelPosition(new As(t.afterLineNumber,1)).lineNumber}}}class rS{constructor(t){this._createLine=t,this._set(1,[])}flush(){this._set(1,[])}_set(t,i){this._lines=i,this._rendLineNumberStart=t}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(t){const i=t-this._rendLineNumberStart;if(i<0||i>=this._lines.length)throw new Gi("Illegal value for lineNumber");return this._lines[i]}onLinesDeleted(t,i){if(0===this.getCount())return null;const e=this.getStartLineNumber(),s=this.getEndLineNumber();if(is)return null;let n=0,o=0;for(let r=e;r<=s;r++)t<=r&&r<=i&&(0===o?(n=r-this._rendLineNumberStart,o=1):o++);if(t=s&&i<=n&&(this._lines[i-this._rendLineNumberStart].onContentChanged(),o=!0);return o}onLinesInserted(t,i){if(0===this.getCount())return null;const e=i-t+1,s=this.getStartLineNumber(),n=this.getEndLineNumber();if(t<=s)return this._rendLineNumberStart+=e,null;if(t>n)return null;if(e+t>n)return this._lines.splice(t-this._rendLineNumberStart,n-t+1);const o=[];for(let t=0;te)continue;const r=Math.max(i,o.fromLineNumber),h=Math.min(e,o.toLineNumber);for(let t=r;t<=h;t++)this._lines[t-this._rendLineNumberStart].onTokensChanged(),s=!0}return s}}class hS{constructor(t){this._host=t,this.domNode=this._createDomNode(),this._linesCollection=new rS((()=>this._host.createVisibleLine()))}_createDomNode(){const t=tr(document.createElement("div"));return t.setClassName("view-layer"),t.setPosition("absolute"),t.domNode.setAttribute("role","presentation"),t.domNode.setAttribute("aria-hidden","true"),t}onConfigurationChanged(t){return!!t.hasChanged(143)}onFlushed(t){return this._linesCollection.flush(),!0}onLinesChanged(t){return this._linesCollection.onLinesChanged(t.fromLineNumber,t.count)}onLinesDeleted(t){const i=this._linesCollection.onLinesDeleted(t.fromLineNumber,t.toLineNumber);if(i)for(let t=0,e=i.length;ti){const t=i,o=Math.min(e,n.rendLineNumberStart-1);t<=o&&(this._insertLinesBefore(n,t,o,s,i),n.linesLength+=o-t+1)}else if(n.rendLineNumberStart0&&(this._removeLinesBefore(n,t),n.linesLength-=t)}if(n.rendLineNumberStart=i,n.rendLineNumberStart+n.linesLength-1e){const t=Math.max(0,e-n.rendLineNumberStart+1),i=n.linesLength-1-t+1;i>0&&(this._removeLinesAfter(n,i),n.linesLength-=i)}return this._finishRendering(n,!1,s),n}_renderUntouchedLines(t,i,e,s,n){const o=t.rendLineNumberStart,r=t.lines;for(let t=i;t<=e;t++){const i=o+t;r[t].layoutLine(i,s[i-n])}}_insertLinesBefore(t,i,e,s,n){const o=[];let r=0;for(let t=i;t<=e;t++)o[r++]=this.host.createVisibleLine();t.lines=o.concat(t.lines)}_removeLinesBefore(t,i){for(let e=0;e=0;i--)s[i]&&(t.lines[i].setDomNode(o),o=o.previousSibling)}_finishRenderingInvalidLines(t,i,e){const s=document.createElement("div");cS._ttPolicy&&(i=cS._ttPolicy.createHTML(i)),s.innerHTML=i;for(let i=0;it}),cS._sb=new td(1e5);class aS extends Sy{constructor(t){super(t),this._visibleLines=new hS(this),this.domNode=this._visibleLines.domNode;const i=this._context.configuration.options.get(50);ir(this.domNode,i),this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let t=0,i=this._dynamicOverlays.length;tt.shouldRender()));for(let e=0,s=i.length;e'),s.appendString(n),s.appendString(""),!0)}layoutLine(t,i){this._domNode&&(this._domNode.setTop(i),this._domNode.setHeight(this._lineHeight))}}class uS extends aS{constructor(t){super(t);const i=this._context.configuration.options.get(143);this._contentWidth=i.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(t){const i=this._context.configuration.options.get(143);return this._contentWidth=i.contentWidth,super.onConfigurationChanged(t)||!0}onScrollChanged(t){return super.onScrollChanged(t)||t.scrollWidthChanged}_viewOverlaysRender(t){super._viewOverlaysRender(t),this.domNode.setWidth(Math.max(t.scrollWidth,this._contentWidth))}}class dS extends aS{constructor(t){super(t);const i=this._context.configuration.options,e=i.get(143);this._contentLeft=e.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),ir(this.domNode,i.get(50))}onConfigurationChanged(t){const i=this._context.configuration.options;ir(this.domNode,i.get(50));const e=i.get(143);return this._contentLeft=e.contentLeft,super.onConfigurationChanged(t)||!0}onScrollChanged(t){return super.onScrollChanged(t)||t.scrollHeightChanged}_viewOverlaysRender(t){super._viewOverlaysRender(t);const i=Math.min(t.scrollHeight,1e6);this.domNode.setHeight(i),this.domNode.setWidth(this._contentLeft)}}class fS extends Sy{constructor(t,i){super(t),this._viewDomNode=i,this._widgets={},this.domNode=tr(document.createElement("div")),Dy.write(this.domNode,1),this.domNode.setClassName("contentWidgets"),this.domNode.setPosition("absolute"),this.domNode.setTop(0),this.overflowingContentWidgetsDomNode=tr(document.createElement("div")),Dy.write(this.overflowingContentWidgetsDomNode,2),this.overflowingContentWidgetsDomNode.setClassName("overflowingContentWidgets")}dispose(){super.dispose(),this._widgets={}}onConfigurationChanged(t){const i=Object.keys(this._widgets);for(const e of i)this._widgets[e].onConfigurationChanged(t);return!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLineMappingChanged(t){return this._updateAnchorsViewPositions(),!0}onLinesChanged(t){return this._updateAnchorsViewPositions(),!0}onLinesDeleted(t){return this._updateAnchorsViewPositions(),!0}onLinesInserted(t){return this._updateAnchorsViewPositions(),!0}onScrollChanged(t){return!0}onZonesChanged(t){return!0}_updateAnchorsViewPositions(){const t=Object.keys(this._widgets);for(const i of t)this._widgets[i].updateAnchorViewPosition()}addWidget(t){const i=new pS(this._context,this._viewDomNode,t);this._widgets[i.id]=i,i.allowEditorOverflow?this.overflowingContentWidgetsDomNode.appendChild(i.domNode):this.domNode.appendChild(i.domNode),this.setShouldRender()}setWidgetPosition(t,i,e,s,n){this._widgets[t.getId()].setPosition(i,e,s,n),this.setShouldRender()}removeWidget(t){const i=t.getId();if(this._widgets.hasOwnProperty(i)){const t=this._widgets[i];delete this._widgets[i];const e=t.domNode.domNode;e.parentNode.removeChild(e),e.removeAttribute("monaco-visible-content-widget"),this.setShouldRender()}}shouldSuppressMouseDownOnWidget(t){return!!this._widgets.hasOwnProperty(t)&&this._widgets[t].suppressMouseDown}onBeforeRender(t){const i=Object.keys(this._widgets);for(const e of i)this._widgets[e].onBeforeRender(t)}prepareRender(t){const i=Object.keys(this._widgets);for(const e of i)this._widgets[e].prepareRender(t)}render(t){const i=Object.keys(this._widgets);for(const e of i)this._widgets[e].render(t)}}class pS{constructor(t,i,e){this._primaryAnchor=new gS(null,null),this._secondaryAnchor=new gS(null,null),this._context=t,this._viewDomNode=i,this._actual=e,this.domNode=tr(this._actual.getDomNode()),this.id=this._actual.getId(),this.allowEditorOverflow=this._actual.allowEditorOverflow||!1,this.suppressMouseDown=this._actual.suppressMouseDown||!1;const s=this._context.configuration.options,n=s.get(143);this._fixedOverflowWidgets=s.get(42),this._contentWidth=n.contentWidth,this._contentLeft=n.contentLeft,this._lineHeight=s.get(66),this._affinity=null,this._preference=[],this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1,this._maxWidth=this._getMaxWidth(),this._isVisible=!1,this._renderData=null,this.domNode.setPosition(this._fixedOverflowWidgets&&this.allowEditorOverflow?"fixed":"absolute"),this.domNode.setDisplay("none"),this.domNode.setVisibility("hidden"),this.domNode.setAttribute("widgetId",this.id),this.domNode.setMaxWidth(this._maxWidth)}onConfigurationChanged(t){const i=this._context.configuration.options;if(this._lineHeight=i.get(66),t.hasChanged(143)){const t=i.get(143);this._contentLeft=t.contentLeft,this._contentWidth=t.contentWidth,this._maxWidth=this._getMaxWidth()}}updateAnchorViewPosition(){this._setPosition(this._affinity,this._primaryAnchor.modelPosition,this._secondaryAnchor.modelPosition)}_setPosition(t,i,e){function s(t,i,e){if(!t)return new gS(null,null);const s=i.model.validatePosition(t);if(i.coordinatesConverter.modelPositionIsVisible(s)){const n=i.coordinatesConverter.convertModelPositionToViewPosition(s,null!=e?e:void 0);return new gS(t,n)}return new gS(t,null)}this._affinity=t,this._primaryAnchor=s(i,this._context.viewModel,this._affinity),this._secondaryAnchor=s(e,this._context.viewModel,this._affinity)}_getMaxWidth(){const t=this.domNode.domNode.ownerDocument,i=t.defaultView;return this.allowEditorOverflow?(null==i?void 0:i.innerWidth)||t.documentElement.offsetWidth||t.body.offsetWidth:this._contentWidth}setPosition(t,i,e,s){this._setPosition(s,t,i),this._preference=e,this.domNode.setDisplay(this._primaryAnchor.viewPosition&&this._preference&&this._preference.length>0?"block":"none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(t,i,e,s){const n=t.top,o=t.top+t.height;let r=t.left;return r+i>s.scrollLeft+s.viewportWidth&&(r=s.scrollLeft+s.viewportWidth-i),r=e,aboveTop:n-e,fitsBelow:s.viewportHeight-o>=e,belowTop:o,left:r}}_layoutHorizontalSegmentInPage(t,i,e,s){var n;const o=Math.max(15,i.left-s),r=Math.min(i.left+i.width+s,t.width-15),h=this._viewDomNode.domNode.ownerDocument.defaultView;let c=i.left+e-(null!==(n=null==h?void 0:h.scrollX)&&void 0!==n?n:0);if(c+s>r){const t=c-(r-s);c-=t,e-=t}if(c=22,w=d+e<=f.height-22;return this._fixedOverflowWidgets?{fitsAbove:m,aboveTop:Math.max(u,22),fitsBelow:w,belowTop:d,left:g}:{fitsAbove:m,aboveTop:r,fitsBelow:w,belowTop:h,left:p}}_prepareRenderWidgetAtExactPositionOverflowing(t){return new mS(t.top,t.left+this._contentLeft)}_getAnchorsCoordinates(t){var i,e;return{primary:s(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),secondary:s((null===(i=this._secondaryAnchor.viewPosition)||void 0===i?void 0:i.lineNumber)===(null===(e=this._primaryAnchor.viewPosition)||void 0===e?void 0:e.lineNumber)?this._secondaryAnchor.viewPosition:null,this._affinity,this._lineHeight)};function s(i,e,s){if(!i)return null;const n=t.visibleRangeForPosition(i);if(!n)return null;const o=1===i.column&&3===e?0:n.left,r=t.getVerticalOffsetForLineNumber(i.lineNumber)-t.scrollTop;return new wS(r,o,s)}}_reduceAnchorCoordinates(t,i,e){if(!i)return t;const s=this._context.configuration.options.get(50);let n=i.left;return n=nt.endLineNumber||this.domNode.setMaxWidth(this._maxWidth))}prepareRender(t){this._renderData=this._prepareRenderWidget(t)}render(t){if(!this._renderData)return this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden")),void("function"==typeof this._actual.afterRender&&vS(this._actual.afterRender,this._actual,null));this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+t.scrollTop-t.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),"function"==typeof this._actual.afterRender&&vS(this._actual.afterRender,this._actual,this._renderData.position)}}class gS{constructor(t,i){this.modelPosition=t,this.viewPosition=i}}class mS{constructor(t,i){this.top=t,this.left=i,this._coordinateBrand=void 0}}class wS{constructor(t,i,e){this.top=t,this.left=i,this.height=e,this._anchorCoordinateBrand=void 0}}function vS(t,i,...e){try{return t.call(i,...e)}catch(t){return null}}class bS extends Uk{constructor(t){super(),this._context=t;const i=this._context.configuration.options,e=i.get(143);this._lineHeight=i.get(66),this._renderLineHighlight=i.get(95),this._renderLineHighlightOnlyWhenFocus=i.get(96),this._contentLeft=e.contentLeft,this._contentWidth=e.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new Ls(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let t=!1;const i=this._selections.map((t=>t.positionLineNumber));i.sort(((t,i)=>t-i)),u(this._cursorLineNumbers,i)||(this._cursorLineNumbers=i,t=!0);const e=this._selections.every((t=>t.isEmpty()));return this._selectionIsEmpty!==e&&(this._selectionIsEmpty=e,t=!0),t}onThemeChanged(t){return this._readFromSelections()}onConfigurationChanged(t){const i=this._context.configuration.options,e=i.get(143);return this._lineHeight=i.get(66),this._renderLineHighlight=i.get(95),this._renderLineHighlightOnlyWhenFocus=i.get(96),this._contentLeft=e.contentLeft,this._contentWidth=e.contentWidth,!0}onCursorStateChanged(t){return this._selections=t.selections,this._readFromSelections()}onFlushed(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollWidthChanged||t.scrollTopChanged}onZonesChanged(t){return!0}onFocusChanged(t){return!!this._renderLineHighlightOnlyWhenFocus&&(this._focused=t.isFocused,!0)}prepareRender(t){if(!this._shouldRenderThis())return void(this._renderData=null);const i=this._renderOne(t),e=t.visibleRange.startLineNumber,s=t.visibleRange.endLineNumber,n=this._cursorLineNumbers.length;let o=0;const r=[];for(let t=e;t<=s;t++){const s=t-e;for(;o=this._renderData.length?"":this._renderData[e]}_shouldRenderInMargin(){return("gutter"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return("line"===this._renderLineHighlight||"all"===this._renderLineHighlight)&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class yS extends bS{_renderOne(t){return`
`}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class kS extends bS{_renderOne(t){return`
`}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}Jk(((t,i)=>{const e=t.getColor(Xk);if(e&&(i.addRule(`.monaco-editor .view-overlays .current-line { background-color: ${e}; }`),i.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { background-color: ${e}; border: none; }`)),!e||e.isTransparent()||t.defines(tx)){const e=t.getColor(tx);e&&(i.addRule(`.monaco-editor .view-overlays .current-line { border: 2px solid ${e}; }`),i.addRule(`.monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid ${e}; }`),_y(t.type)&&(i.addRule(".monaco-editor .view-overlays .current-line { border-width: 1px; }"),i.addRule(".monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }")))}}));class xS extends Uk{constructor(t){super(),this._context=t;const i=this._context.configuration.options;this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options;return this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged||t.scrollWidthChanged}onZonesChanged(t){return!0}prepareRender(t){const i=t.getDecorationsInViewport();let e=[],s=0;for(let t=0,n=i.length;t{if(t.options.zIndexi.options.zIndex)return 1;const e=t.options.className,s=i.options.className;return es?1:Ms.compareRangesUsingStarts(t.range,i.range)}));const n=t.visibleRange.startLineNumber,o=t.visibleRange.endLineNumber,r=[];for(let t=n;t<=o;t++)r[t-n]="";this._renderWholeLineDecorations(t,e,r),this._renderNormalDecorations(t,e,r),this._renderResult=r}_renderWholeLineDecorations(t,i,e){const s=String(this._lineHeight),n=t.visibleRange.startLineNumber,o=t.visibleRange.endLineNumber;for(let t=0,r=i.length;t',c=Math.max(r.range.startLineNumber,n),a=Math.min(r.range.endLineNumber,o);for(let t=c;t<=a;t++)e[t-n]+=h}}_renderNormalDecorations(t,i,e){var s;const n=String(this._lineHeight),o=t.visibleRange.startLineNumber;let r=null,h=!1,c=null,a=!1;for(let l=0,u=i.length;l';h[a]+=l}}}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}class CS extends Sy{constructor(t,i,e,s){super(t);const n=this._context.configuration.options,o=n.get(102),r=n.get(74),h=n.get(40),c=n.get(105),a={listenOnDomNode:e.domNode,className:"editor-scrollable "+Gk(t.theme.type),useShadows:!1,lazyRender:!0,vertical:o.vertical,horizontal:o.horizontal,verticalHasArrows:o.verticalHasArrows,horizontalHasArrows:o.horizontalHasArrows,verticalScrollbarSize:o.verticalScrollbarSize,verticalSliderSize:o.verticalSliderSize,horizontalScrollbarSize:o.horizontalScrollbarSize,horizontalSliderSize:o.horizontalSliderSize,handleMouseWheel:o.handleMouseWheel,alwaysConsumeMouseWheel:o.alwaysConsumeMouseWheel,arrowSize:o.arrowSize,mouseWheelScrollSensitivity:r,fastScrollSensitivity:h,scrollPredominantAxis:c,scrollByPage:o.scrollByPage};this.scrollbar=this._register(new Ck(i.domNode,a,this._context.viewLayout.getScrollable())),Dy.write(this.scrollbar.getDomNode(),5),this.scrollbarDomNode=tr(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const l=(t,i,e)=>{const s={};if(i){const i=t.scrollTop;i&&(s.scrollTop=this._context.viewLayout.getCurrentScrollTop()+i,t.scrollTop=0)}if(e){const i=t.scrollLeft;i&&(s.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+i,t.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(s,1)};this._register(Va(e.domNode,"scroll",(()=>l(e.domNode,!0,!0)))),this._register(Va(i.domNode,"scroll",(()=>l(i.domNode,!0,!1)))),this._register(Va(s.domNode,"scroll",(()=>l(s.domNode,!0,!1)))),this._register(Va(this.scrollbarDomNode.domNode,"scroll",(()=>l(this.scrollbarDomNode.domNode,!0,!1))))}dispose(){super.dispose()}_setLayout(){const t=this._context.configuration.options,i=t.get(143);this.scrollbarDomNode.setLeft(i.contentLeft);const e=t.get(72);this.scrollbarDomNode.setWidth("right"===e.side?i.contentWidth+i.minimap.minimapWidth:i.contentWidth),this.scrollbarDomNode.setHeight(i.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(t){this.scrollbar.delegateVerticalScrollbarPointerDown(t)}delegateScrollFromMouseWheelEvent(t){this.scrollbar.delegateScrollFromMouseWheelEvent(t)}onConfigurationChanged(t){if(t.hasChanged(102)||t.hasChanged(74)||t.hasChanged(40)){const t=this._context.configuration.options,i=t.get(102),e=t.get(74),s=t.get(40),n=t.get(105);this.scrollbar.updateOptions({vertical:i.vertical,horizontal:i.horizontal,verticalScrollbarSize:i.verticalScrollbarSize,horizontalScrollbarSize:i.horizontalScrollbarSize,scrollByPage:i.scrollByPage,handleMouseWheel:i.handleMouseWheel,mouseWheelScrollSensitivity:e,fastScrollSensitivity:s,scrollPredominantAxis:n})}return t.hasChanged(143)&&this._setLayout(),!0}onScrollChanged(t){return!0}onThemeChanged(t){return this.scrollbar.updateClassName("editor-scrollable "+Gk(this._context.theme.type)),!0}prepareRender(t){}render(t){this.scrollbar.renderNow()}}class SS extends ie{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}function DS(t,i){let e=0,s=0;const n=t.length;for(;ss)throw new Gi("Illegal value for lineNumber");const n=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,o=Boolean(n&&n.offSide);let r=-2,h=-1,c=-2,a=-1;const l=t=>{if(-1!==r&&(-2===r||r>t-1)){r=-1,h=-1;for(let i=t-2;i>=0;i--){const t=this._computeIndentLevel(i);if(t>=0){r=i,h=t;break}}}if(-2===c){c=-1,a=-1;for(let i=t;i=0){c=i,a=t;break}}}};let u=-2,d=-1,f=-2,p=-1;const g=t=>{if(-2===u){u=-1,d=-1;for(let i=t-2;i>=0;i--){const t=this._computeIndentLevel(i);if(t>=0){u=i,d=t;break}}}if(-1!==f&&(-2===f||f=0){f=i,p=t;break}}}};let m=0,w=!0,v=0,b=!0,y=0,k=0;for(let n=0;w||b;n++){const r=t-n,f=t+n;n>1&&(r<1||r1&&(f>s||f>e)&&(b=!1),n>5e4&&(w=!1,b=!1);let x=-1;if(w&&r>=1){const t=this._computeIndentLevel(r-1);t>=0?(c=r-1,a=t,x=Math.ceil(t/this.textModel.getOptions().indentSize)):(l(r),x=this._getIndentLevelForWhitespaceLine(o,h,a))}let C=-1;if(b&&f<=s){const t=this._computeIndentLevel(f-1);t>=0?(u=f-1,d=t,C=Math.ceil(t/this.textModel.getOptions().indentSize)):(g(f),C=this._getIndentLevelForWhitespaceLine(o,d,p))}if(0!==n){if(1===n){if(f<=s&&C>=0&&k+1===C){w=!1,m=f,v=f,y=C;continue}if(r>=1&&x>=0&&x-1===k){b=!1,m=r,v=r,y=x;continue}if(m=t,v=t,y=k,0===y)return{startLineNumber:m,endLineNumber:v,indent:y}}w&&(x>=y?m=r:w=!1),b&&(C>=y?v=f:b=!1)}else k=x}return{startLineNumber:m,endLineNumber:v,indent:y}}getLinesBracketGuides(t,i,e,s){var n;const o=[];for(let e=t;e<=i;e++)o.push([]);const r=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new Ms(t,1,i,this.textModel.getLineMaxColumn(i))).toArray();let h;e&&r.length>0&&(h=null===(n=Xf((t<=e.lineNumber&&e.lineNumber<=i?r:this.textModel.bracketPairs.getBracketPairsInRange(Ms.fromPositions(e)).toArray()).filter((t=>Ms.strictContainsPosition(t.range,e))),(()=>!0)))||void 0===n?void 0:n.range);const c=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,a=new LS;for(const e of r){if(!e.closingBracketRange)continue;const n=h&&e.range.equalsRange(h);if(!n&&!s.includeInactive)continue;const r=a.getInlineClassName(e.nestingLevel,e.nestingLevelOfEqualBracketType,c)+(s.highlightActive&&n?" "+a.activeClassName:""),l=e.openingBracketRange.getStartPosition(),u=e.closingBracketRange.getStartPosition(),d=s.horizontalGuides===iS.Enabled||s.horizontalGuides===iS.EnabledForActive&&n;if(e.range.startLineNumber===e.range.endLineNumber){d&&o[e.range.startLineNumber-t].push(new ES(-1,e.openingBracketRange.getEndPosition().column,r,new AS(!1,u.column),-1,-1));continue}const f=this.getVisibleColumnFromPosition(u),p=this.getVisibleColumnFromPosition(e.openingBracketRange.getStartPosition()),g=Math.min(p,f,e.minVisibleColumnIndentation+1);let m=!1;to(this.textModel.getLineContent(e.closingBracketRange.startLineNumber))=t&&p>g&&o[l.lineNumber-t].push(new ES(g,-1,r,new AS(!1,l.column),-1,-1)),u.lineNumber<=i&&f>g&&o[u.lineNumber-t].push(new ES(g,-1,r,new AS(!m,u.column),-1,-1)))}for(const t of o)t.sort(((t,i)=>t.visibleColumn-i.visibleColumn));return o}getVisibleColumnFromPosition(t){return qy.visibleColumnFromColumn(this.textModel.getLineContent(t.lineNumber),t.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(t,i){this.assertNotDisposed();const e=this.textModel.getLineCount();if(t<1||t>e)throw new Error("Illegal value for startLineNumber");if(i<1||i>e)throw new Error("Illegal value for endLineNumber");const s=this.textModel.getOptions(),n=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,o=Boolean(n&&n.offSide),r=new Array(i-t+1);let h=-2,c=-1,a=-2,l=-1;for(let n=t;n<=i;n++){const i=n-t,u=this._computeIndentLevel(n-1);if(u>=0)h=n-1,c=u,r[i]=Math.ceil(u/s.indentSize);else{if(-2===h){h=-1,c=-1;for(let t=n-2;t>=0;t--){const i=this._computeIndentLevel(t);if(i>=0){h=t,c=i;break}}}if(-1!==a&&(-2===a||a=0){a=t,l=i;break}}}r[i]=this._getIndentLevelForWhitespaceLine(o,c,l)}}return r}_getIndentLevelForWhitespaceLine(t,i,e){const s=this.textModel.getOptions();return-1===i||-1===e?0:ih||this._maxIndentLeft>0&&e>this._maxIndentLeft)break;const o=i.horizontalLine?i.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",r=i.horizontalLine?(null!==(n=null===(s=t.visibleRangeForPosition(new As(a,i.horizontalLine.endColumn)))||void 0===s?void 0:s.left)&&void 0!==n?n:e+this._spaceWidth)-e:this._spaceWidth;f+=`
`}u[r]=f}this._renderResult=u}getGuidesByLine(t,i,e){const s=!1!==this._bracketPairGuideOptions.bracketPairs?this._context.viewModel.getBracketGuidesInRangeByLine(t,i,e,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:!0===this._bracketPairGuideOptions.bracketPairsHorizontal?iS.Enabled:"active"===this._bracketPairGuideOptions.bracketPairsHorizontal?iS.EnabledForActive:iS.Disabled,includeInactive:!0===this._bracketPairGuideOptions.bracketPairs}):null,n=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(t,i):null;let o=0,r=0,h=0;if(!1!==this._bracketPairGuideOptions.highlightActiveIndentation&&e){const s=this._context.viewModel.getActiveIndentGuide(e.lineNumber,t,i);o=s.startLineNumber,r=s.endLineNumber,h=s.indent}const{indentSize:c}=this._context.viewModel.model.getOptions(),a=[];for(let e=t;e<=i;e++){const i=new Array;a.push(i);const l=s?s[e-t]:[],u=new N(l),d=n?n[e-t]:0;for(let t=1;t<=d;t++){const s=(t-1)*c+1,n=("always"===this._bracketPairGuideOptions.highlightActiveIndentation||0===l.length)&&o<=e&&e<=r&&t===h;i.push(...u.takeWhile((t=>t.visibleColumn!0))||[])}return a}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}function TS(t){if(!t||!t.isTransparent())return t}Jk(((t,i)=>{const e=[{bracketColor:Lx,guideColor:Nx,guideColorActive:zx},{bracketColor:Fx,guideColor:Bx,guideColorActive:Hx},{bracketColor:Tx,guideColor:Px,guideColorActive:Vx},{bracketColor:Rx,guideColor:$x,guideColorActive:Ux},{bracketColor:Ox,guideColor:Wx,guideColorActive:qx},{bracketColor:Ix,guideColor:jx,guideColorActive:Kx}],s=new LS,n=[{indentColor:hx,indentColorActive:fx},{indentColor:cx,indentColorActive:px},{indentColor:ax,indentColorActive:gx},{indentColor:lx,indentColorActive:mx},{indentColor:ux,indentColorActive:wx},{indentColor:dx,indentColorActive:vx}],o=e.map((i=>{var e,s;const n=t.getColor(i.bracketColor),o=t.getColor(i.guideColor),r=t.getColor(i.guideColorActive),h=TS(null!==(e=TS(o))&&void 0!==e?e:null==n?void 0:n.transparent(.3)),c=TS(null!==(s=TS(r))&&void 0!==s?s:n);if(h&&c)return{guideColor:h,guideColorActive:c}})).filter(U),r=n.map((i=>{const e=t.getColor(i.indentColor),s=t.getColor(i.indentColorActive),n=TS(e),o=TS(s);if(n&&o)return{indentColor:n,indentColorActive:o}})).filter(U);if(o.length>0){for(let t=0;t<30;t++){const e=o[t%o.length];i.addRule(`.monaco-editor .${s.getInlineClassNameOfLevel(t).replace(/ /g,".")} { --guide-color: ${e.guideColor}; --guide-color-active: ${e.guideColorActive}; }`)}i.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),i.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),i.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),i.addRule(`.monaco-editor .vertical.${s.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),i.addRule(`.monaco-editor .horizontal-top.${s.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),i.addRule(`.monaco-editor .horizontal-bottom.${s.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}if(r.length>0){for(let t=0;t<30;t++){const e=r[t%r.length];i.addRule(`.monaco-editor .lines-content .core-guide-indent.lvl-${t} { --indent-color: ${e.indentColor}; --indent-color-active: ${e.indentColorActive}; }`)}i.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),i.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}}));class RS{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const t=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=t.left,this._clientRectScale=t.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(t,i){this._domNode=t,this.endNode=i,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class OS{constructor(){this._currentVisibleRange=new Ms(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(t){this._currentVisibleRange=t}}class IS{constructor(t,i,e,s,n,o,r){this.minimalReveal=t,this.lineNumber=i,this.startColumn=e,this.endColumn=s,this.startScrollTop=n,this.stopScrollTop=o,this.scrollType=r,this.type="range",this.minLineNumber=i,this.maxLineNumber=i}}class _S{constructor(t,i,e,s,n){this.minimalReveal=t,this.selections=i,this.startScrollTop=e,this.stopScrollTop=s,this.scrollType=n,this.type="selections";let o=i[0].startLineNumber,r=i[0].endLineNumber;for(let t=1,e=i.length;t{this._updateLineWidthsSlow()}),200),this._asyncCheckMonospaceFontAssumptions=new pc((()=>{this._checkMonospaceFontAssumptions()}),2e3),this._lastRenderedData=new OS,this._horizontalRevealRequest=null,this._stickyScrollEnabled=s.get(114).enabled,this._maxNumberStickyLines=s.get(114).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new Wy(this._viewLineOptions)}onConfigurationChanged(t){this._visibleLines.onConfigurationChanged(t),t.hasChanged(144)&&(this._maxLineWidth=0);const i=this._context.configuration.options,e=i.get(50),s=i.get(144);return this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this._isViewportWrapping=s.isViewportWrapping,this._revealHorizontalRightPadding=i.get(99),this._cursorSurroundingLines=i.get(29),this._cursorSurroundingLinesStyle=i.get(30),this._canUseLayerHinting=!i.get(32),this._stickyScrollEnabled=i.get(114).enabled,this._maxNumberStickyLines=i.get(114).maxLineCount,ir(this.domNode,e),this._onOptionsMaybeChanged(),t.hasChanged(143)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const t=new $y(this._context.configuration,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;const i=this._visibleLines.getStartLineNumber(),e=this._visibleLines.getEndLineNumber();for(let t=i;t<=e;t++)this._visibleLines.getVisibleLine(t).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(t){const i=this._visibleLines.getStartLineNumber(),e=this._visibleLines.getEndLineNumber();let s=!1;for(let t=i;t<=e;t++)s=this._visibleLines.getVisibleLine(t).onSelectionChanged()||s;return s}onDecorationsChanged(t){{const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let e=t;e<=i;e++)this._visibleLines.getVisibleLine(e).onDecorationsChanged()}return!0}onFlushed(t){const i=this._visibleLines.onFlushed(t);return this._maxLineWidth=0,i}onLinesChanged(t){return this._visibleLines.onLinesChanged(t)}onLinesDeleted(t){return this._visibleLines.onLinesDeleted(t)}onLinesInserted(t){return this._visibleLines.onLinesInserted(t)}onRevealRangeRequest(t){const i=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),t.source,t.minimalReveal,t.range,t.selections,t.verticalType);if(-1===i)return!1;let e=this._context.viewLayout.validateScrollPosition({scrollTop:i});t.revealHorizontal?t.range&&t.range.startLineNumber!==t.range.endLineNumber?e={scrollTop:e.scrollTop,scrollLeft:0}:t.range?this._horizontalRevealRequest=new IS(t.minimalReveal,t.range.startLineNumber,t.range.startColumn,t.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),e.scrollTop,t.scrollType):t.selections&&t.selections.length>0&&(this._horizontalRevealRequest=new _S(t.minimalReveal,t.selections,this._context.viewLayout.getCurrentScrollTop(),e.scrollTop,t.scrollType)):this._horizontalRevealRequest=null;const s=Math.abs(this._context.viewLayout.getCurrentScrollTop()-e.scrollTop);return this._context.viewModel.viewLayout.setScrollPosition(e,s<=this._lineHeight?1:t.scrollType),!0}onScrollChanged(t){if(this._horizontalRevealRequest&&t.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&t.scrollTopChanged){const i=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),e=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(t.scrollTope)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(t.scrollWidth),this._visibleLines.onScrollChanged(t)||!0}onTokensChanged(t){return this._visibleLines.onTokensChanged(t)}onZonesChanged(t){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(t)}onThemeChanged(t){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(t,i){const e=this._getViewLineDomNode(t);if(null===e)return null;const s=this._getLineNumberFor(e);if(-1===s)return null;if(s<1||s>this._context.viewModel.getLineCount())return null;if(1===this._context.viewModel.getLineMaxColumn(s))return new As(s,1);const n=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber();if(so)return null;let r=this._visibleLines.getVisibleLine(s).getColumnOfNodeOffset(t,i);const h=this._context.viewModel.getLineMinColumn(s);return re)return-1;const s=new RS(this.domNode.domNode,this._textRangeRestingSpot),n=this._visibleLines.getVisibleLine(t).getWidth(s);return this._updateLineWidthsSlowIfDomDidLayout(s),n}linesVisibleRangesForRange(t,i){if(this.shouldRender())return null;const e=t.endLineNumber,s=Ms.intersectRanges(t,this._lastRenderedData.getCurrentVisibleRange());if(!s)return null;const n=[];let o=0;const r=new RS(this.domNode.domNode,this._textRangeRestingSpot);let h=0;i&&(h=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new As(s.startLineNumber,1)).lineNumber);const c=this._visibleLines.getStartLineNumber(),a=this._visibleLines.getEndLineNumber();for(let t=s.startLineNumber;t<=s.endLineNumber;t++){if(ta)continue;const l=t===s.startLineNumber?s.startColumn:1,u=t!==s.endLineNumber,d=u?this._context.viewModel.getLineMaxColumn(t):s.endColumn,f=this._visibleLines.getVisibleLine(t).getVisibleRangesForRange(t,l,d,r);if(f){if(i&&tthis._visibleLines.getEndLineNumber())return null;const s=new RS(this.domNode.domNode,this._textRangeRestingSpot),n=this._visibleLines.getVisibleLine(t).getVisibleRangesForRange(t,i,e,s);return this._updateLineWidthsSlowIfDomDidLayout(s),n}visibleRangeForPosition(t){const i=this._visibleRangesForLineRange(t.lineNumber,t.column,t.column);return i?new Ty(i.outsideRenderedLine,i.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(t){t.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(t){const i=this._visibleLines.getStartLineNumber(),e=this._visibleLines.getEndLineNumber();let s=1,n=!0;for(let o=i;o<=e;o++){const i=this._visibleLines.getVisibleLine(o);!t||i.getWidthIsFast()?s=Math.max(s,i.getWidth(null)):n=!1}return n&&1===i&&e===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(s),n}_checkMonospaceFontAssumptions(){let t=-1,i=-1;const e=this._visibleLines.getStartLineNumber(),s=this._visibleLines.getEndLineNumber();for(let n=e;n<=s;n++){const e=this._visibleLines.getVisibleLine(n);if(e.needsMonospaceFontCheck()){const s=e.getWidth(null);s>i&&(i=s,t=n)}}if(-1!==t&&!this._visibleLines.getVisibleLine(t).monospaceAssumptionsAreValid())for(let t=e;t<=s;t++)this._visibleLines.getVisibleLine(t).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(t){if(this._visibleLines.renderLines(t),this._lastRenderedData.setCurrentVisibleRange(t.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const i=this._horizontalRevealRequest;if(t.startLineNumber<=i.minLineNumber&&i.maxLineNumber<=t.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const t=this._computeScrollLeftToReveal(i);t&&(this._isViewportWrapping||this._ensureMaxLineWidth(t.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:t.scrollLeft},i.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),Dt&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let e=t;e<=i;e++)if(this._visibleLines.getVisibleLine(e).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const i=this._context.viewLayout.getCurrentScrollTop()-t.bigNumbersDelta;this._linesContent.setTop(-i),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(t){const i=Math.ceil(t);this._maxLineWidth0){let t=n[0].startLineNumber,i=n[0].endLineNumber;for(let e=1,s=n.length;eh){if(!a)return-1;d=l}else if(5===o||6===o)if(6===o&&r<=l&&u<=c)d=r;else{const t=Math.max(5*this._lineHeight,.2*h);d=Math.max(u-h,l-t)}else d=1===o||2===o?2===o&&r<=l&&u<=c?r:Math.max(0,(l+u)/2-h/2):this._computeMinimumScrolling(r,c,l,u,3===o,4===o);return d}_computeScrollLeftToReveal(t){const i=this._context.viewLayout.getCurrentViewport(),e=this._context.configuration.options.get(143),s=i.left,n=s+i.width-e.verticalScrollbarWidth;let o=1073741824,r=0;if("range"===t.type){const i=this._visibleRangesForLineRange(t.lineNumber,t.startColumn,t.endColumn);if(!i)return null;for(const t of i.ranges)o=Math.min(o,Math.round(t.left)),r=Math.max(r,Math.round(t.left+t.width))}else for(const i of t.selections){if(i.startLineNumber!==i.endLineNumber)return null;const t=this._visibleRangesForLineRange(i.startLineNumber,i.startColumn,i.endColumn);if(!t)return null;for(const i of t.ranges)o=Math.min(o,Math.round(i.left)),r=Math.max(r,Math.round(i.left+i.width))}return t.minimalReveal||(o=Math.max(0,o-NS.HORIZONTAL_EXTRA_PX),r+=this._revealHorizontalRightPadding),"selections"===t.type&&r-o>i.width?null:{scrollLeft:this._computeMinimumScrolling(s,n,o,r),maxHorizontalOffset:r}}_computeMinimumScrolling(t,i,e,s,n,o){n=!!n,o=!!o;const r=(i|=0)-(t|=0);return(s|=0)-(e|=0)i?Math.max(0,s-r):t:e}}NS.HORIZONTAL_EXTRA_PX=30;class BS{constructor(t,i,e,s){this._decorationToRenderBrand=void 0,this.startLineNumber=+t,this.endLineNumber=+i,this.className=String(e),this.zIndex=null!=s?s:0}}class PS{constructor(t,i){this.className=t,this.zIndex=i}}class $S{constructor(){this.decorations=[]}add(t){this.decorations.push(t)}getDecorations(){return this.decorations}}class WS extends Uk{_render(t,i,e){const s=[];for(let e=t;e<=i;e++)s[e-t]=new $S;if(0===e.length)return s;e.sort(((t,i)=>t.className===i.className?t.startLineNumber===i.startLineNumber?t.endLineNumber-i.endLineNumber:t.startLineNumber-i.startLineNumber:t.classNames)continue;const h=Math.max(o,e),c=Math.min(t.preference.lane,this._glyphMarginDecorationLaneCount);i.push(new HS(h,c,t.preference.zIndex,t))}}_collectSortedGlyphRenderRequests(t){const i=[];return this._collectDecorationBasedGlyphRenderRequest(t,i),this._collectWidgetBasedGlyphRenderRequest(t,i),i.sort(((t,i)=>t.lineNumber===i.lineNumber?t.lane===i.lane?t.zIndex===i.zIndex?i.type===t.type?0===t.type&&0===i.type?t.className0;){const t=i.peek();if(!t)break;const s=i.takeWhile((i=>i.lineNumber===t.lineNumber&&i.lane===t.lane));if(!s||0===s.length)break;const n=s[0];if(0===n.type){const t=[];for(const i of s){if(i.zIndex!==n.zIndex||i.type!==n.type)break;0!==t.length&&t[t.length-1]===i.className||t.push(i.className)}e.push(n.accept(t.join(" ")))}else n.widget.renderInfo={lineNumber:n.lineNumber,lane:n.lane}}this._decorationGlyphsToRender=e}render(t){if(!this._glyphMargin){for(const t of Object.values(this._widgets))t.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){const t=this._managedDomNodes.pop();null==t||t.domNode.remove()}return}const i=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const e of Object.values(this._widgets))if(e.renderInfo){const s=t.viewportData.relativeVerticalOffset[e.renderInfo.lineNumber-t.viewportData.startLineNumber],n=this._glyphMarginLeft+(e.renderInfo.lane-1)*this._lineHeight;e.domNode.setDisplay("block"),e.domNode.setTop(s),e.domNode.setLeft(n),e.domNode.setWidth(i),e.domNode.setHeight(this._lineHeight)}else e.domNode.setDisplay("none");for(let e=0;ethis._decorationGlyphsToRender.length;){const t=this._managedDomNodes.pop();null==t||t.domNode.remove()}}}class zS{constructor(t,i,e,s){this.lineNumber=t,this.lane=i,this.zIndex=e,this.className=s,this.type=0}accept(t){return new VS(this.lineNumber,this.lane,t)}}class HS{constructor(t,i,e,s){this.lineNumber=t,this.lane=i,this.zIndex=e,this.widget=s,this.type=1}}class VS{constructor(t,i,e){this.lineNumber=t,this.lane=i,this.combinedClassName=e}}class US extends WS{constructor(t){super(),this._context=t;const i=this._context.configuration.options.get(143);this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options.get(143);return this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}_getDecorations(t){const i=t.getDecorationsInViewport(),e=[];let s=0;for(let t=0,n=i.length;t',o=[];for(let t=i;t<=e;t++){const e=t-i,r=s[e].getDecorations();let h="";for(const t of r)h+='
';n[e]=r}this._renderResult=n}render(t,i){return this._renderResult?this._renderResult[i-t]:""}}class KS{constructor(t,i,e,s){this._rgba8Brand=void 0,this.r=KS._clamp(t),this.g=KS._clamp(i),this.b=KS._clamp(e),this.a=KS._clamp(s)}equals(t){return this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a}static _clamp(t){return t<0?0:t>255?255:0|t}}KS.Empty=new KS(0,0,0,0);class GS extends ie{static getInstance(){return this._INSTANCE||(this._INSTANCE=new GS),this._INSTANCE}constructor(){super(),this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(Zs.onDidChange((t=>{t.changedColorMap&&this._updateColorMap()})))}_updateColorMap(){const t=Zs.getColorMap();if(!t)return this._colors=[KS.Empty],void(this._backgroundIsLight=!0);this._colors=[KS.Empty];for(let i=1;i=.5,this._onDidChange.fire(void 0)}getColor(t){return(t<1||t>=this._colors.length)&&(t=2),this._colors[t]}backgroundIsLight(){return this._backgroundIsLight}}GS._INSTANCE=null;const ZS=(()=>{const t=[];for(let i=32;i<=126;i++)t.push(i);return t.push(65533),t})();class QS{constructor(t,i){this.scale=i,this._minimapCharRendererBrand=void 0,this.charDataNormal=QS.soften(t,.8),this.charDataLight=QS.soften(t,50/60)}static soften(t,i){const e=new Uint8ClampedArray(t.length);for(let s=0,n=t.length;st.width||e+f>t.height)return void console.warn("bad render request outside image data");const p=a?this.charDataLight:this.charDataNormal,g=((t,i)=>(t-=32)<0||t>96?i<=2?(t+96)%96:95:t)(s,c),m=4*t.width,w=r.r,v=r.g,b=r.b,y=n.r-w,k=n.g-v,x=n.b-b,C=Math.max(o,h),S=t.data;let D=g*u*d,E=e*m+4*i;for(let t=0;tt.width||e+a>t.height)return void console.warn("bad render request outside image data");const l=4*t.width,u=n/255*.5,d=o.r,f=o.g,p=o.b,g=d+(s.r-d)*u,m=f+(s.g-f)*u,w=p+(s.b-p)*u,v=Math.max(n,r),b=t.data;let y=e*l+4*i;for(let t=0;t{const i=new Uint8ClampedArray(t.length/2);for(let e=0;e>1]=JS[t[e]]<<4|15&JS[t[e+1]];return i},XS={1:Zi((()=>YS("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792"))),2:Zi((()=>YS("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126")))};class tD{static create(t,i){if(this.lastCreated&&t===this.lastCreated.scale&&i===this.lastFontFamily)return this.lastCreated;let e;return e=XS[t]?new QS(XS[t](),t):tD.createFromSampleData(tD.createSampleData(i).data,t),this.lastFontFamily=i,this.lastCreated=e,e}static createSampleData(t){const i=document.createElement("canvas"),e=i.getContext("2d");i.style.height="16px",i.height=16,i.width=960,i.style.width="960px",e.fillStyle="#ffffff",e.font=`bold 16px ${t}`,e.textBaseline="middle";let s=0;for(const t of ZS)e.fillText(String.fromCharCode(t),s,8),s+=10;return e.getImageData(0,0,960,16)}static createFromSampleData(t,i){if(61440!==t.length)throw new Error("Unexpected source in MinimapCharRenderer");const e=tD._downsample(t,i);return new QS(e,i)}static _downsampleChar(t,i,e,s,n){const o=1*n,r=2*n;let h=s,c=0;for(let s=0;s0){const t=255/h;for(let i=0;itD.create(this.fontScale,h.fontFamily))),this.defaultBackgroundColor=e.getColor(2),this.backgroundColor=iD._getMinimapBackground(i,this.defaultBackgroundColor),this.foregroundAlpha=iD._getMinimapForegroundOpacity(i)}static _getMinimapBackground(t,i){const e=t.getColor(Qb);return e?new KS(e.rgba.r,e.rgba.g,e.rgba.b,Math.round(255*e.rgba.a)):i}static _getMinimapForegroundOpacity(t){const i=t.getColor(Jb);return i?KS._clamp(Math.round(255*i.rgba.a)):255}equals(t){return this.renderMinimap===t.renderMinimap&&this.size===t.size&&this.minimapHeightIsEditorHeight===t.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===t.scrollBeyondLastLine&&this.paddingTop===t.paddingTop&&this.paddingBottom===t.paddingBottom&&this.showSlider===t.showSlider&&this.autohide===t.autohide&&this.pixelRatio===t.pixelRatio&&this.typicalHalfwidthCharacterWidth===t.typicalHalfwidthCharacterWidth&&this.lineHeight===t.lineHeight&&this.minimapLeft===t.minimapLeft&&this.minimapWidth===t.minimapWidth&&this.minimapHeight===t.minimapHeight&&this.canvasInnerWidth===t.canvasInnerWidth&&this.canvasInnerHeight===t.canvasInnerHeight&&this.canvasOuterWidth===t.canvasOuterWidth&&this.canvasOuterHeight===t.canvasOuterHeight&&this.isSampling===t.isSampling&&this.editorHeight===t.editorHeight&&this.fontScale===t.fontScale&&this.minimapLineHeight===t.minimapLineHeight&&this.minimapCharWidth===t.minimapCharWidth&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(t.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(t.backgroundColor)&&this.foregroundAlpha===t.foregroundAlpha}}class eD{constructor(t,i,e,s,n,o,r,h,c){this.scrollTop=t,this.scrollHeight=i,this.sliderNeeded=e,this._computedSliderRatio=s,this.sliderTop=n,this.sliderHeight=o,this.topPaddingLineCount=r,this.startLineNumber=h,this.endLineNumber=c}getDesiredScrollTopFromDelta(t){return Math.round(this.scrollTop+t/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(t){return Math.round((t-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(t){const i=Math.max(this.startLineNumber,t.startLineNumber),e=Math.min(this.endLineNumber,t.endLineNumber);return i>e?null:[i,e]}getYForLineNumber(t,i){return+(t-this.startLineNumber+this.topPaddingLineCount)*i}static create(t,i,e,s,n,o,r,h,c,a,l){const u=t.pixelRatio,d=t.minimapLineHeight,f=Math.floor(t.canvasInnerHeight/d),p=t.lineHeight;if(t.minimapHeightIsEditorHeight){let i=h*t.lineHeight+t.paddingTop+t.paddingBottom;t.scrollBeyondLastLine&&(i+=Math.max(0,n-t.lineHeight-t.paddingBottom));const e=Math.max(1,Math.floor(n*n/i)),s=Math.max(0,t.minimapHeight-e),o=s/(a-n),l=c*o,u=s>0,d=Math.floor(t.canvasInnerHeight/t.minimapLineHeight),f=Math.floor(t.paddingTop/t.lineHeight);return new eD(c,a,u,o,l,e,f,1,Math.min(r,d))}let g;g=o&&e!==r?Math.floor((e-i+1)*d/u):Math.floor(n/p*d/u);const m=Math.floor(t.paddingTop/p);let w,v=Math.floor(t.paddingBottom/p);t.scrollBeyondLastLine&&(v=Math.max(v,n/p-1)),w=v>0?(m+r+v-n/p-1)*d/u:Math.max(0,(m+r)*d/u-g),w=Math.min(t.minimapHeight-g,w);const b=w/(a-n),y=c*b;if(f>=m+r+v)return new eD(c,a,w>0,b,y,g,m,1,r);{let e,n;e=i>1?i+m:Math.max(1,c/p);let o=Math.max(1,Math.floor(e-y*u/d));oc&&(o=Math.min(o,l.startLineNumber),n=Math.max(n,l.topPaddingLineCount)),l.scrollTop=t.paddingTop?(i-o+n+w)*d/u:c/t.paddingTop*(n+w)*d/u,new eD(c,a,!0,b,v,g,n,o,h)}}}class sD{constructor(t){this.dy=t}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}sD.INVALID=new sD(-1);class nD{constructor(t,i,e){this.renderedLayout=t,this._imageData=i,this._renderedLines=new rS((()=>sD.INVALID)),this._renderedLines._set(t.startLineNumber,e)}linesEquals(t){if(!this.scrollEquals(t))return!1;const i=this._renderedLines._get().lines;for(let t=0,e=i.length;t1){for(let i=0,e=s-1;i0&&this.minimapLines[e-1]>=t;)e--;let s=this.modelLineToMinimapLine(i)-1;for(;s+1i)return null}return[e+1,s+1]}decorationLineRangeToMinimapLineRange(t,i){let e=this.modelLineToMinimapLine(t),s=this.modelLineToMinimapLine(i);return t!==i&&s===e&&(s===this.minimapLines.length?e>1&&e--:s++),[e,s]}onLinesDeleted(t){const i=t.toLineNumber-t.fromLineNumber+1;let e=this.minimapLines.length,s=0;for(let n=this.minimapLines.length-1;n>=0&&!(this.minimapLines[n]=0&&!(this.minimapLines[e]0,scrollWidth:t.scrollWidth,scrollHeight:t.scrollHeight,viewportStartLineNumber:i,viewportEndLineNumber:e,viewportStartLineNumberVerticalOffset:t.getVerticalOffsetForLineNumber(i),scrollTop:t.scrollTop,scrollLeft:t.scrollLeft,viewportWidth:t.viewportWidth,viewportHeight:t.viewportHeight};this._actual.render(s)}_recreateLineSampling(){this._minimapSelections=null;const t=Boolean(this._samplingState),[i,e]=rD.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=i,t&&this._samplingState)for(const t of e)switch(t.type){case"deleted":this._actual.onLinesDeleted(t.deleteFromLineNumber,t.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(t.insertFromLineNumber,t.insertToLineNumber);break;case"flush":this._actual.onFlushed()}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(t){return this._context.viewModel.getLineContent(this._samplingState?this._samplingState.minimapLines[t-1]:t)}getLineMaxColumn(t){return this._context.viewModel.getLineMaxColumn(this._samplingState?this._samplingState.minimapLines[t-1]:t)}getMinimapLinesRenderingData(t,i,e){if(this._samplingState){const s=[];for(let n=0,o=i-t+1;n{if(t.preventDefault(),0===this._model.options.renderMinimap)return;if(!this._lastRenderData)return;if("proportional"!==this._model.options.size){if(0===t.button&&this._lastRenderData){const i=nl(this._slider.domNode);this._startSliderDragging(t,i.top+i.height/2,this._lastRenderData.renderedLayout)}return}let i=Math.floor(this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*t.offsetY/this._model.options.minimapLineHeight)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;i=Math.min(i,this._model.getLineCount()),this._model.revealLineNumber(i)})),this._sliderPointerMoveMonitor=new tw,this._sliderPointerDownListener=qa(this._slider.domNode,Ll.POINTER_DOWN,(t=>{t.preventDefault(),t.stopPropagation(),0===t.button&&this._lastRenderData&&this._startSliderDragging(t,t.pageY,this._lastRenderData.renderedLayout)})),this._gestureDisposable=Xm.addTarget(this._domNode.domNode),this._sliderTouchStartListener=Va(this._domNode.domNode,Ym.Start,(t=>{t.preventDefault(),t.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(t))}),{passive:!1}),this._sliderTouchMoveListener=Va(this._domNode.domNode,Ym.Change,(t=>{t.preventDefault(),t.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(t)}),{passive:!1}),this._sliderTouchEndListener=qa(this._domNode.domNode,Ym.End,(t=>{t.preventDefault(),t.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)}))}_startSliderDragging(t,i,e){if(!(t.target&&t.target instanceof Element))return;const s=t.pageX;this._slider.toggleClassName("active",!0);const n=(t,n)=>{const o=nl(this._domNode.domNode),r=Math.min(Math.abs(n-s),Math.abs(n-o.left),Math.abs(n-o.left-o.width));this._model.setScrollTop(Ct&&r>140?e.scrollTop:e.getDesiredScrollTopFromDelta(t-i))};t.pageY!==i&&n(t.pageY,s),this._sliderPointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,(t=>n(t.pageY,t.pageX)),(()=>{this._slider.toggleClassName("active",!1)}))}scrollDueToTouchEvent(t){const i=this._domNode.domNode.getBoundingClientRect().top,e=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(t.pageY-i);this._model.setScrollTop(e)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){const t=["minimap"];return t.push("always"===this._model.options.showSlider?"slider-always":"slider-mouseover"),this._model.options.autohide&&t.push("autohide"),t.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new oD(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(t,i){return!!this._lastRenderData&&this._lastRenderData.onLinesChanged(t,i)}onLinesDeleted(t,i){var e;return null===(e=this._lastRenderData)||void 0===e||e.onLinesDeleted(t,i),!0}onLinesInserted(t,i){var e;return null===(e=this._lastRenderData)||void 0===e||e.onLinesInserted(t,i),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(qb),this._renderDecorations=!0,!0}onTokensChanged(t){return!!this._lastRenderData&&this._lastRenderData.onTokensChanged(t)}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(t){if(0===this._model.options.renderMinimap)return this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),void this._sliderHorizontal.setHeight(0);this._shadow.setClassName(t.scrollLeft+t.viewportWidth>=t.scrollWidth?"minimap-shadow-hidden":"minimap-shadow-visible");const i=eD.create(this._model.options,t.viewportStartLineNumber,t.viewportEndLineNumber,t.viewportStartLineNumberVerticalOffset,t.viewportHeight,t.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),t.scrollTop,t.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(i.sliderNeeded?"block":"none"),this._slider.setTop(i.sliderTop),this._slider.setHeight(i.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(i.sliderHeight),this.renderDecorations(i),this._lastRenderData=this.renderLines(i)}renderDecorations(t){if(this._renderDecorations){this._renderDecorations=!1;const i=this._model.getSelections();i.sort(Ms.compareRangesUsingStarts);const e=this._model.getMinimapDecorationsInViewport(t.startLineNumber,t.endLineNumber);e.sort(((t,i)=>(t.options.zIndex||0)-(i.options.zIndex||0)));const{canvasInnerWidth:s,canvasInnerHeight:n}=this._model.options,o=this._model.options.minimapLineHeight,r=this._model.options.minimapCharWidth,h=this._model.getOptions().tabSize,c=this._decorationsCanvas.domNode.getContext("2d");c.clearRect(0,0,s,n);const a=new aD(t.startLineNumber,t.endLineNumber,!1);this._renderSelectionLineHighlights(c,i,a,t,o),this._renderDecorationsLineHighlights(c,e,a,t,o);const l=new aD(t.startLineNumber,t.endLineNumber,null);this._renderSelectionsHighlights(c,i,l,t,o,h,r,s),this._renderDecorationsHighlights(c,e,l,t,o,h,r,s)}}_renderSelectionLineHighlights(t,i,e,s,n){if(!this._selectionColor||this._selectionColor.isTransparent())return;t.fillStyle=this._selectionColor.transparent(.5).toString();let o=0,r=0;for(const h of i){const i=s.intersectWithViewport(h);if(!i)continue;const[c,a]=i;for(let t=c;t<=a;t++)e.set(t,!0);const l=s.getYForLineNumber(c,n),u=s.getYForLineNumber(a,n);r>=l||(r>o&&t.fillRect(8,o,t.canvas.width,r-o),o=l),r=u}r>o&&t.fillRect(8,o,t.canvas.width,r-o)}_renderDecorationsLineHighlights(t,i,e,s,n){const o=new Map;for(let r=i.length-1;r>=0;r--){const h=i[r],c=h.options.minimap;if(!c||c.position!==Ff.Inline)continue;const a=s.intersectWithViewport(h.range);if(!a)continue;const[l,u]=a,d=c.getColor(this._theme.value);if(!d||d.isTransparent())continue;let f=o.get(d.toString());f||(f=d.transparent(.5).toString(),o.set(d.toString(),f)),t.fillStyle=f;for(let i=l;i<=u;i++){if(e.has(i))continue;e.set(i,!0);const o=s.getYForLineNumber(l,n);t.fillRect(8,o,t.canvas.width,n)}}}_renderSelectionsHighlights(t,i,e,s,n,o,r,h){if(this._selectionColor&&!this._selectionColor.isTransparent())for(const c of i){const i=s.intersectWithViewport(c);if(!i)continue;const[a,l]=i;for(let i=a;i<=l;i++)this.renderDecorationOnLine(t,e,c,this._selectionColor,s,i,n,n,o,r,h)}}_renderDecorationsHighlights(t,i,e,s,n,o,r,h){for(const c of i){const i=c.options.minimap;if(!i)continue;const a=s.intersectWithViewport(c.range);if(!a)continue;const[l,u]=a,d=i.getColor(this._theme.value);if(d&&!d.isTransparent())for(let a=l;a<=u;a++)switch(i.position){case Ff.Inline:this.renderDecorationOnLine(t,e,c.range,d,s,a,n,n,o,r,h);continue;case Ff.Gutter:{const i=s.getYForLineNumber(a,n);this.renderDecoration(t,d,2,i,2,n);continue}}}}renderDecorationOnLine(t,i,e,s,n,o,r,h,c,a,l){const u=n.getYForLineNumber(o,h);if(u+r<0||u>this._model.options.canvasInnerHeight)return;const{startLineNumber:d,endLineNumber:f}=e,p=d===o?e.startColumn:1,g=f===o?e.endColumn:this._model.getLineMaxColumn(o),m=this.getXOffsetForPosition(i,o,p,c,a,l),w=this.getXOffsetForPosition(i,o,g,c,a,l);this.renderDecoration(t,s,m,u,w-m,r)}getXOffsetForPosition(t,i,e,s,n,o){if(1===e)return 8;if((e-1)*n>=o)return o;let r=t.get(i);if(!r){const e=this._model.getLineContent(i);r=[8];let h=8;for(let t=1;t=o){r[t]=o;break}r[t]=c,h=c}t.set(i,r)}return e-1b?Math.floor((s-b)/2):0,k=u.a/255,x=new KS(Math.round((u.r-l.r)*k+l.r),Math.round((u.g-l.g)*k+l.g),Math.round((u.b-l.b)*k+l.b),255);let C=t.topPaddingLineCount*s;const S=[];for(let t=0,o=e-i+1;t=0&&sw)return;const r=g.charCodeAt(y);if(9===r){const t=u-(y+k)%u;k+=t-1,b+=t*o}else if(32===r)b+=o;else{const u=Lo(r)?2:1;for(let d=0;dw)return}}}}}class aD{constructor(t,i,e){this._startLineNumber=t,this._endLineNumber=i,this._defaultValue=e,this._values=[];for(let t=0,i=this._endLineNumber-this._startLineNumber+1;tthis._endLineNumber||(this._values[t-this._startLineNumber]=i)}get(t){return tthis._endLineNumber?this._defaultValue:this._values[t-this._startLineNumber]}}class lD extends Sy{constructor(t){super(t);const i=this._context.configuration.options.get(143);this._widgets={},this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,this._domNode=tr(document.createElement("div")),Dy.write(this._domNode,4),this._domNode.setClassName("overlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(t){const i=this._context.configuration.options.get(143);return this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,!0}addWidget(t){const i=tr(t.getDomNode());this._widgets[t.getId()]={widget:t,preference:null,domNode:i},i.setPosition("absolute"),i.setAttribute("widgetId",t.getId()),this._domNode.appendChild(i),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(t,i){const e=this._widgets[t.getId()];return e.preference===i?(this._updateMaxMinWidth(),!1):(e.preference=i,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(t){const i=t.getId();if(this._widgets.hasOwnProperty(i)){const t=this._widgets[i].domNode.domNode;delete this._widgets[i],t.parentNode.removeChild(t),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){var t,i;let e=0;const s=Object.keys(this._widgets);for(let n=0,o=s.length;n=3){const i=Math.floor(s/3),e=Math.floor(s/3),n=s-i-e,o=t+i;return[[0,t,o,t,t+i+n,t,o,t],[0,i,n,i+n,e,i+n+e,n+e,i+n+e]]}if(2===e){const i=Math.floor(s/2),e=s-i;return[[0,t,t,t,t+i,t,t,t],[0,i,i,i,e,i+e,i+e,i+e]]}return[[0,t,t,t,t,t,t,t],[0,s,s,s,s,s,s,s]]}equals(t){return this.lineHeight===t.lineHeight&&this.pixelRatio===t.pixelRatio&&this.overviewRulerLanes===t.overviewRulerLanes&&this.renderBorder===t.renderBorder&&this.borderColor===t.borderColor&&this.hideCursor===t.hideCursor&&this.cursorColor===t.cursorColor&&this.themeType===t.themeType&&sg.equals(this.backgroundColor,t.backgroundColor)&&this.top===t.top&&this.right===t.right&&this.domWidth===t.domWidth&&this.domHeight===t.domHeight&&this.canvasWidth===t.canvasWidth&&this.canvasHeight===t.canvasHeight}}class dD extends Sy{constructor(t){super(t),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=tr(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=Zs.onDidChange((t=>{t.changedColorMap&&this._updateSettings(!0)})),this._cursorPositions=[]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(t){const i=new uD(this._context.configuration,this._context.theme);return!(this._settings&&this._settings.equals(i)||(this._settings=i,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,t&&this._render(),0))}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(t){return!!this._updateSettings(!1)&&this._markRenderingIsNeeded()}onCursorStateChanged(t){this._cursorPositions=[];for(let i=0,e=t.selections.length;it.lineNumber===i.lineNumber))||(this._actualShouldRender=2),1===this._actualShouldRender)return;this._renderedDecorations=i,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const e=this._settings.canvasWidth,s=this._settings.canvasHeight,n=this._settings.lineHeight,o=this._context.viewLayout,r=s/this._context.viewLayout.getScrollHeight(),h=6*this._settings.pixelRatio|0,c=h/2|0,a=this._domNode.domNode.getContext("2d");t?t.isOpaque()?(a.fillStyle=sg.Format.CSS.formatHexA(t),a.fillRect(0,0,e,s)):(a.clearRect(0,0,e,s),a.fillStyle=sg.Format.CSS.formatHexA(t),a.fillRect(0,0,e,s)):a.clearRect(0,0,e,s);const l=this._settings.x,d=this._settings.w;for(const t of i){const i=t.data;a.fillStyle=t.color;let e=0,u=0,f=0;for(let t=0,p=i.length/3;ts&&(t=s-c),m=t-c,w=t+c}m>f+1||p!==e?(0!==t&&a.fillRect(l[e],u,d[e],f-u),e=p,u=m,f=w):w>f&&(f=w)}a.fillRect(l[e],u,d[e],f-u)}if(!this._settings.hideCursor&&this._settings.cursorColor){const t=2*this._settings.pixelRatio|0,i=t/2|0,e=this._settings.x[7],n=this._settings.w[7];a.fillStyle=this._settings.cursorColor;let h=-100,c=-100;for(let l=0,u=this._cursorPositions.length;ls&&(u=s-i);const d=u-i,f=d+t;d>c+1?(0!==l&&a.fillRect(e,h,n,c-h),h=d,c=f):f>c&&(c=f)}a.fillRect(e,h,n,c-h)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(a.beginPath(),a.lineWidth=1,a.strokeStyle=this._settings.borderColor,a.moveTo(0,0),a.lineTo(0,s),a.stroke(),a.moveTo(0,0),a.lineTo(e,0),a.stroke())}}class fD{constructor(t,i,e){this._colorZoneBrand=void 0,this.from=0|t,this.to=0|i,this.colorId=0|e}static compare(t,i){return t.colorId===i.colorId?t.from===i.from?t.to-i.to:t.from-i.from:t.colorId-i.colorId}}class pD{constructor(t,i,e,s){this._overviewRulerZoneBrand=void 0,this.startLineNumber=t,this.endLineNumber=i,this.heightInLines=e,this.color=s,this._colorZone=null}static compare(t,i){return t.color===i.color?t.startLineNumber===i.startLineNumber?t.heightInLines===i.heightInLines?t.endLineNumber-i.endLineNumber:t.heightInLines-i.heightInLines:t.startLineNumber-i.startLineNumber:t.colore&&(d=e-f);const p=h.color;let g=this._color2Id[p];g||(g=++this._lastAssignedId,this._color2Id[p]=g,this._id2Color[g]=p);const m=new fD(d-f,d+f,g);h.setColorZone(m),o.push(m)}return this._colorZonesInvalid=!1,o.sort(fD.compare),o}}class mD extends Cy{constructor(t,i){super(),this._context=t;const e=this._context.configuration.options;this._domNode=tr(document.createElement("canvas")),this._domNode.setClassName(i),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new gD((t=>this._context.viewLayout.getVerticalOffsetForLineNumber(t))),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(e.get(66)),this._zoneManager.setPixelRatio(e.get(141)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options;return t.hasChanged(66)&&(this._zoneManager.setLineHeight(i.get(66)),this._render()),t.hasChanged(141)&&(this._zoneManager.setPixelRatio(i.get(141)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(t){return this._render(),!0}onScrollChanged(t){return t.scrollHeightChanged&&(this._zoneManager.setOuterHeight(t.scrollHeight),this._render()),!0}onZonesChanged(t){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(t){this._domNode.setTop(t.top),this._domNode.setRight(t.right);let i=!1;i=this._zoneManager.setDOMWidth(t.width)||i,i=this._zoneManager.setDOMHeight(t.height)||i,i&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(t){this._zoneManager.setZones(t),this._render()}_render(){if(0===this._zoneManager.getOuterHeight())return!1;const t=this._zoneManager.getCanvasWidth(),i=this._zoneManager.getCanvasHeight(),e=this._zoneManager.resolveColorZones(),s=this._zoneManager.getId2Color(),n=this._domNode.domNode.getContext("2d");return n.clearRect(0,0,t,i),e.length>0&&this._renderOneLane(n,e,s,t),!0}_renderOneLane(t,i,e,s){let n=0,o=0,r=0;for(const h of i){const i=h.colorId,c=h.from,a=h.to;i!==n?(t.fillRect(0,o,s,r-o),n=i,t.fillStyle=e[n],o=c,r=a):r>=c?r=Math.max(r,a):(t.fillRect(0,o,s,r-o),o=c,r=a)}t.fillRect(0,o,s,r-o)}}class wD extends Sy{constructor(t){super(t),this.domNode=tr(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const i=this._context.configuration.options;this._rulers=i.get(101),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options;return this._rulers=i.get(101),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(t){return t.scrollHeightChanged}prepareRender(t){}_ensureRulersCount(){const t=this._renderedRulers.length,i=this._rulers.length;if(t===i)return;if(t0;){const t=tr(document.createElement("div"));t.setClassName("view-ruler"),t.setWidth(s),this.domNode.appendChild(t),this._renderedRulers.push(t),n--}return}let e=t-i;for(;e>0;){const t=this._renderedRulers.pop();this.domNode.removeChild(t),e--}}render(t){this._ensureRulersCount();for(let i=0,e=this._rulers.length;i0;return this._shouldShow!==t&&(this._shouldShow=t,!0)}getDomNode(){return this._domNode}_updateWidth(){const t=this._context.configuration.options.get(143);this._width=0===t.minimap.renderMinimap||t.minimap.minimapWidth>0&&0===t.minimap.minimapLeft?t.width:t.width-t.verticalScrollbarWidth}onConfigurationChanged(t){const i=this._context.configuration.options.get(102);return this._useShadows=i.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(t){return this._scrollTop=t.scrollTop,this._updateShouldShow()}prepareRender(t){}render(t){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}class bD{constructor(t){this.left=t.left,this.width=t.width,this.startStyle=null,this.endStyle=null}}class yD{constructor(t,i){this.lineNumber=t,this.ranges=i}}function kD(t){return new bD(t)}function xD(t){return new yD(t.lineNumber,t.ranges.map(kD))}class CD extends Uk{constructor(t){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=t;const i=this._context.configuration.options;this._lineHeight=i.get(66),this._roundedSelection=i.get(100),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(t){const i=this._context.configuration.options;return this._lineHeight=i.get(66),this._roundedSelection=i.get(100),this._typicalHalfwidthCharacterWidth=i.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(t){return this._selections=t.selections.slice(0),!0}onDecorationsChanged(t){return!0}onFlushed(t){return!0}onLinesChanged(t){return!0}onLinesDeleted(t){return!0}onLinesInserted(t){return!0}onScrollChanged(t){return t.scrollTopChanged}onZonesChanged(t){return!0}_visibleRangesHaveGaps(t){for(let i=0,e=t.length;i1)return!0;return!1}_enrichVisibleRangesWithStyle(t,i,e){const s=this._typicalHalfwidthCharacterWidth/4;let n=null,o=null;if(e&&e.length>0&&i.length>0){const s=i[0].lineNumber;if(s===t.startLineNumber)for(let t=0;!n&&t=0;t--)e[t].lineNumber===r&&(o=e[t].ranges[0]);n&&!n.startStyle&&(n=null),o&&!o.startStyle&&(o=null)}for(let t=0,e=i.length;t0){const e=i[t-1].ranges[0].left,n=i[t-1].ranges[0].left+i[t-1].ranges[0].width;SD(h-e)e&&(a.top=1),SD(c-n)'}_actualRenderOneSelection(t,i,e,s){if(0===s.length)return;const n=!!s[0].ranges[0].startStyle,o=this._lineHeight.toString(),r=(this._lineHeight-1).toString(),h=s[0].lineNumber,c=s[s.length-1].lineNumber;for(let a=0,l=s.length;a1,r)}this._previousFrameVisibleRangesWithStyle=n,this._renderResult=i.map((([t,i])=>t+i))}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}function SD(t){return t<0?-t:t}CD.SELECTION_CLASS_NAME="selected-text",CD.SELECTION_TOP_LEFT="top-left-radius",CD.SELECTION_BOTTOM_LEFT="bottom-left-radius",CD.SELECTION_TOP_RIGHT="top-right-radius",CD.SELECTION_BOTTOM_RIGHT="bottom-right-radius",CD.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",CD.ROUNDED_PIECE_WIDTH=10,Jk(((t,i)=>{const e=t.getColor(vv);e&&!e.isTransparent()&&i.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${e}; }`)}));class DD{constructor(t,i,e,s,n,o,r){this.top=t,this.left=i,this.paddingLeft=e,this.width=s,this.height=n,this.textContent=o,this.textContentClassName=r}}class ED{constructor(t){this._context=t;const i=this._context.configuration.options,e=i.get(50);this._cursorStyle=i.get(28),this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=tr(document.createElement("div")),this._domNode.setClassName(`cursor ${Qx}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),ir(this._domNode,e),this._domNode.setDisplay("none"),this._position=new As(1,1),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(t){const i=this._context.configuration.options,e=i.get(50);return this._cursorStyle=i.get(28),this._lineHeight=i.get(66),this._typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),ir(this._domNode,e),!0}onCursorPositionChanged(t,i){return this._domNode.domNode.style.transitionProperty=i?"none":"",this._position=t,!0}_getGraphemeAwarePosition(){const{lineNumber:t,column:i}=this._position,e=this._context.viewModel.getLineContent(t),[s,n]=function(t,i){i>0&&mo(t.charCodeAt(i))&&i--;const e=i+ko(t,i);return[e-xo(t,e),e]}(e,i-1);return[new As(t,s+1),e.substring(s,n)]}_prepareRender(t){let i="",e="";const[s,n]=this._getGraphemeAwarePosition();if(this._cursorStyle===mi.Line||this._cursorStyle===mi.LineThin){const o=t.visibleRangeForPosition(s);if(!o||o.outsideRenderedLine)return null;const r=Na(this._domNode.domNode);let h;this._cursorStyle===mi.Line?(h=zl(r,this._lineCursorWidth>0?this._lineCursorWidth:2),h>2&&(i=n,e=this._getTokenClassName(s))):h=zl(r,1);let c=o.left,a=0;h>=2&&c>=1&&(a=1,c-=a);const l=t.getVerticalOffsetForLineNumber(s.lineNumber)-t.bigNumbersDelta;return new DD(l,c,a,h,this._lineHeight,i,e)}const o=t.linesVisibleRangesForRange(new Ms(s.lineNumber,s.column,s.lineNumber,s.column+n.length),!1);if(!o||0===o.length)return null;const r=o[0];if(r.outsideRenderedLine||0===r.ranges.length)return null;const h=r.ranges[0],c="\t"===n||h.width<1?this._typicalHalfwidthCharacterWidth:h.width;this._cursorStyle===mi.Block&&(i=n,e=this._getTokenClassName(s));let a=t.getVerticalOffsetForLineNumber(s.lineNumber)-t.bigNumbersDelta,l=this._lineHeight;return this._cursorStyle!==mi.Underline&&this._cursorStyle!==mi.UnderlineThin||(a+=this._lineHeight-2,l=2),new DD(a,h.left,0,c,l,i,e)}_getTokenClassName(t){const i=this._context.viewModel.getViewLineData(t.lineNumber),e=i.tokens.findTokenIndexAtOffset(t.column-1);return i.tokens.getClassName(e)}prepareRender(t){this._renderData=this._prepareRender(t)}render(t){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${Qx} ${this._renderData.textContentClassName}`),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}class AD extends Sy{constructor(t){super(t);const i=this._context.configuration.options;this._readOnly=i.get(90),this._cursorBlinking=i.get(26),this._cursorStyle=i.get(28),this._cursorSmoothCaretAnimation=i.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new ED(this._context),this._secondaryCursors=[],this._renderData=[],this._domNode=tr(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new dc,this._cursorFlatBlinkInterval=new Ja,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(t){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(t){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(t){const i=this._context.configuration.options;this._readOnly=i.get(90),this._cursorBlinking=i.get(26),this._cursorStyle=i.get(28),this._cursorSmoothCaretAnimation=i.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(t);for(let i=0,e=this._secondaryCursors.length;ii.length){const t=this._secondaryCursors.length-i.length;for(let i=0;i{for(let e=0,s=t.ranges.length;e{this._isVisible?this._hide():this._show()}),AD.BLINK_INTERVAL,Na(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet((()=>{this._blinkingEnabled=!0,this._updateDomClassName()}),AD.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let t="cursors-layer";switch(this._selectionIsEmpty||(t+=" has-selection"),this._cursorStyle){case mi.Line:t+=" cursor-line-style";break;case mi.Block:t+=" cursor-block-style";break;case mi.Underline:t+=" cursor-underline-style";break;case mi.LineThin:t+=" cursor-line-thin-style";break;case mi.BlockOutline:t+=" cursor-block-outline-style";break;case mi.UnderlineThin:t+=" cursor-underline-thin-style";break;default:t+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:t+=" cursor-blink";break;case 2:t+=" cursor-smooth";break;case 3:t+=" cursor-phase";break;case 4:t+=" cursor-expand";break;default:t+=" cursor-solid"}else t+=" cursor-solid";return"on"!==this._cursorSmoothCaretAnimation&&"explicit"!==this._cursorSmoothCaretAnimation||(t+=" cursor-smooth-caret-animation"),t}_show(){this._primaryCursor.show();for(let t=0,i=this._secondaryCursors.length;t{const e=t.getColor(ix);if(e){let s=t.getColor(ex);s||(s=e.opposite()),i.addRule(`.monaco-editor .cursors-layer .cursor { background-color: ${e}; border-color: ${e}; color: ${s}; }`),_y(t.type)&&i.addRule(`.monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid ${s}; border-right: 1px solid ${s}; }`)}}));const MD=()=>{throw new Error("Invalid change accessor")};class LD extends Sy{constructor(t){super(t);const i=this._context.configuration.options,e=i.get(143);this._lineHeight=i.get(66),this._contentWidth=e.contentWidth,this._contentLeft=e.contentLeft,this.domNode=tr(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=tr(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const t=this._context.viewLayout.getWhitespaces(),i=new Map;for(const e of t)i.set(e.id,e);let e=!1;return this._context.viewModel.changeWhitespace((t=>{const s=Object.keys(this._zones);for(let n=0,o=s.length;n{const s={addZone:t=>(i=!0,this._addZone(e,t)),removeZone:t=>{t&&(i=this._removeZone(e,t)||i)},layoutZone:t=>{t&&(i=this._layoutZone(e,t)||i)}};!function(t,i){try{return t(i)}catch(t){Pi(t)}}(t,s),s.addZone=MD,s.removeZone=MD,s.layoutZone=MD})),i}_addZone(t,i){const e=this._computeWhitespaceProps(i),s={whitespaceId:t.insertWhitespace(e.afterViewLineNumber,this._getZoneOrdinal(i),e.heightInPx,e.minWidthInPx),delegate:i,isInHiddenArea:e.isInHiddenArea,isVisible:!1,domNode:tr(i.domNode),marginDomNode:i.marginDomNode?tr(i.marginDomNode):null};return this._safeCallOnComputedHeight(s.delegate,e.heightInPx),s.domNode.setPosition("absolute"),s.domNode.domNode.style.width="100%",s.domNode.setDisplay("none"),s.domNode.setAttribute("monaco-view-zone",s.whitespaceId),this.domNode.appendChild(s.domNode),s.marginDomNode&&(s.marginDomNode.setPosition("absolute"),s.marginDomNode.domNode.style.width="100%",s.marginDomNode.setDisplay("none"),s.marginDomNode.setAttribute("monaco-view-zone",s.whitespaceId),this.marginDomNode.appendChild(s.marginDomNode)),this._zones[s.whitespaceId]=s,this.setShouldRender(),s.whitespaceId}_removeZone(t,i){if(this._zones.hasOwnProperty(i)){const e=this._zones[i];return delete this._zones[i],t.removeWhitespace(e.whitespaceId),e.domNode.removeAttribute("monaco-visible-view-zone"),e.domNode.removeAttribute("monaco-view-zone"),e.domNode.domNode.parentNode.removeChild(e.domNode.domNode),e.marginDomNode&&(e.marginDomNode.removeAttribute("monaco-visible-view-zone"),e.marginDomNode.removeAttribute("monaco-view-zone"),e.marginDomNode.domNode.parentNode.removeChild(e.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(t,i){if(this._zones.hasOwnProperty(i)){const e=this._zones[i],s=this._computeWhitespaceProps(e.delegate);return e.isInHiddenArea=s.isInHiddenArea,t.changeOneWhitespace(e.whitespaceId,s.afterViewLineNumber,s.heightInPx),this._safeCallOnComputedHeight(e.delegate,s.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(t){return!!this._zones.hasOwnProperty(t)&&Boolean(this._zones[t].delegate.suppressMouseDown)}_heightInPixels(t){return"number"==typeof t.heightInPx?t.heightInPx:"number"==typeof t.heightInLines?this._lineHeight*t.heightInLines:this._lineHeight}_minWidthInPixels(t){return"number"==typeof t.minWidthInPx?t.minWidthInPx:0}_safeCallOnComputedHeight(t,i){if("function"==typeof t.onComputedHeight)try{t.onComputedHeight(i)}catch(t){Pi(t)}}_safeCallOnDomNodeTop(t,i){if("function"==typeof t.onDomNodeTop)try{t.onDomNodeTop(i)}catch(t){Pi(t)}}prepareRender(t){}render(t){const i=t.viewportData.whitespaceViewportData,e={};let s=!1;for(const t of i)this._zones[t.id].isInHiddenArea||(e[t.id]=t,s=!0);const n=Object.keys(this._zones);for(let i=0,s=n.length;ii)continue;const t=e.startLineNumber===i?e.startColumn:n.minColumn,s=e.endLineNumber===i?e.endColumn:n.maxColumn;t=x.endOffset&&(k++,x=e&&e[k]),9!==n&&32!==n)continue;if(u&&!b&&s<=w)continue;if(l&&s>=y&&s<=w&&32===n){const t=s-1>=0?r.charCodeAt(s-1):0,i=s+1=0?r.charCodeAt(s-1):0;if(32===n&&32!==t&&9!==t)continue}if(e&&(!x||x.startOffset>s||x.endOffset<=s))continue;const a=t.visibleRangeForPosition(new As(i,s+1));a&&(o?(C=Math.max(C,a.left),v+=9===n?this._renderArrow(d,p,a.left):``):v+=9===n?`
${String.fromCharCode(m?65515:8594)}
`:`
${String.fromCharCode(g)}
`)}return o?(C=Math.round(C+p),``+v+""):v}_renderArrow(t,i,e){const s=t/2,n=e,o={x:0,y:i/7/2},r={x:.8*i,y:o.y},h={x:r.x-.2*r.x,y:r.y+.2*r.x},c={x:h.x+.1*r.x,y:h.y+.1*r.x},a={x:c.x+.35*r.x,y:c.y-.35*r.x};return``}render(t,i){if(!this._renderResult)return"";const e=i-t;return e<0||e>=this._renderResult.length?"":this._renderResult[e]}}class _D{constructor(t){const i=t.options,e=i.get(50),s=i.get(38);"off"===s?(this.renderWhitespace="none",this.renderWithSVG=!1):"svg"===s?(this.renderWhitespace=i.get(98),this.renderWithSVG=!0):(this.renderWhitespace=i.get(98),this.renderWithSVG=!1),this.spaceWidth=e.spaceWidth,this.middotWidth=e.middotWidth,this.wsmiddotWidth=e.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=e.canUseHalfwidthRightwardsArrow,this.lineHeight=i.get(66),this.stopRenderingLineAfter=i.get(116)}equals(t){return this.renderWhitespace===t.renderWhitespace&&this.renderWithSVG===t.renderWithSVG&&this.spaceWidth===t.spaceWidth&&this.middotWidth===t.middotWidth&&this.wsmiddotWidth===t.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===t.canUseHalfwidthRightwardsArrow&&this.lineHeight===t.lineHeight&&this.stopRenderingLineAfter===t.stopRenderingLineAfter}}let ND=class extends Cy{constructor(t,i,e,s,n,o,r){super(),this._instantiationService=r,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new Ls(1,1,1,1)],this._renderAnimationFrame=null;const h=new nS(i,s,n,t);this._context=new TD(i,e,s),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(eC,this._context,h,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=tr(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=tr(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=tr(document.createElement("div")),Dy.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new CS(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new NS(this._context,this._linesContent),this._viewZones=new LD(this._context),this._viewParts.push(this._viewZones);const c=new dD(this._context);this._viewParts.push(c);const a=new vD(this._context);this._viewParts.push(a);const l=new uS(this._context);this._viewParts.push(l),l.addDynamicOverlay(new yS(this._context)),l.addDynamicOverlay(new CD(this._context)),l.addDynamicOverlay(new FS(this._context)),l.addDynamicOverlay(new xS(this._context)),l.addDynamicOverlay(new ID(this._context));const u=new dS(this._context);this._viewParts.push(u),u.addDynamicOverlay(new kS(this._context)),u.addDynamicOverlay(new qS(this._context)),u.addDynamicOverlay(new US(this._context)),u.addDynamicOverlay(new Gx(this._context)),this._glyphMarginWidgets=new jS(this._context),this._viewParts.push(this._glyphMarginWidgets);const d=new Zx(this._context);d.getDomNode().appendChild(this._viewZones.marginDomNode),d.getDomNode().appendChild(u.getDomNode()),d.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(d),this._contentWidgets=new fS(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new AD(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new lD(this._context),this._viewParts.push(this._overlayWidgets);const f=new wD(this._context);this._viewParts.push(f);const p=new OD(this._context);this._viewParts.push(p);const g=new hD(this._context);if(this._viewParts.push(g),c){const t=this._scrollbar.getOverviewRulerLayoutInfo();t.parent.insertBefore(c.getDomNode(),t.insertBefore)}this._linesContent.appendChild(l.getDomNode()),this._linesContent.appendChild(f.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(d.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(a.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(g.getDomNode()),this._overflowGuardContainer.appendChild(p.domNode),this.domNode.appendChild(this._overflowGuardContainer),o?o.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode):this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this._applyLayout(),this._pointerHandler=this._register(new Vk(this._context,h,this._createPointerHandlerHelper()))}_computeGlyphMarginLaneCount(){const t=this._context.viewModel.model;let i=[];i=i.concat(t.getAllMarginDecorations().map((t=>{var i,e;const s=null!==(e=null===(i=t.options.glyphMargin)||void 0===i?void 0:i.position)&&void 0!==e?e:Lf.Left;return{range:t.range,lane:s}}))),i=i.concat(this._glyphMarginWidgets.getWidgets().map((i=>({range:t.validateRange(i.preference.range),lane:i.preference.lane})))),i.sort(((t,i)=>Ms.compareRangesUsingStarts(t.range,i.range)));let e=null,s=null;for(const t of i)if(t.lane===Lf.Left&&(!e||Ms.compareRangesUsingEnds(e,t.range)<0)&&(e=t.range),t.lane===Lf.Right&&(!s||Ms.compareRangesUsingEnds(s,t.range)<0)&&(s=t.range),e&&s){if(e.endLineNumber{this.focus()},dispatchTextAreaEvent:t=>{this._textAreaHandler.textArea.domNode.dispatchEvent(t)},getLastRenderData:()=>{const t=this._viewCursors.getLastRenderData()||[],i=this._textAreaHandler.getLastRenderData();return new Jy(t,i)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:t=>this._viewZones.shouldSuppressMouseDownOnViewZone(t),shouldSuppressMouseDownOnWidget:t=>this._contentWidgets.shouldSuppressMouseDownOnWidget(t),getPositionFromDOMInfo:(t,i)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(t,i)),visibleRangeForPosition:(t,i)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new As(t,i))),getLineWidth:t=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(t))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:t=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(t))}}_applyLayout(){const t=this._context.configuration.options.get(143);this.domNode.setWidth(t.width),this.domNode.setHeight(t.height),this._overflowGuardContainer.setWidth(t.width),this._overflowGuardContainer.setHeight(t.height),this._linesContent.setWidth(1e6),this._linesContent.setHeight(1e6)}_getEditorClassName(){const t=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(140)+" "+Gk(this._context.theme.type)+t}handleEvents(t){super.handleEvents(t),this._scheduleRender()}onConfigurationChanged(t){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(t){return this._selections=t.selections,!1}onDecorationsChanged(t){return t.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(t){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(t){return this._context.theme.update(t.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){null!==this._renderAnimationFrame&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const t of this._viewParts)t.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new Gi;if(null===this._renderAnimationFrame){const t=this._createCoordinatedRendering();this._renderAnimationFrame=PD.INSTANCE.scheduleCoordinatedRendering({window:Na(this.domNode.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new Gi;try{return t.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new Gi;return t.renderText()},prepareRender:(i,e)=>{if(this._store.isDisposed)throw new Gi;return t.prepareRender(i,e)},render:(i,e)=>{if(this._store.isDisposed)throw new Gi;return t.render(i,e)}})}}_flushAccumulatedAndRenderNow(){const t=this._createCoordinatedRendering();BD((()=>t.prepareRenderText()));const i=BD((()=>t.renderText()));if(i){const[e,s]=i;BD((()=>t.prepareRender(e,s))),BD((()=>t.render(e,s)))}}_getViewPartsToRender(){const t=[];let i=0;for(const e of this._viewParts)e.shouldRender()&&(t[i++]=e);return t}_createCoordinatedRendering(){return{prepareRenderText:()=>{this._shouldRecomputeGlyphMarginLanes&&(this._shouldRecomputeGlyphMarginLanes=!1,this._context.configuration.setGlyphMarginDecorationLaneCount(this._computeGlyphMarginLaneCount())),Tk.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let t=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&0===t.length)return null;const i=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(i.startLineNumber,i.endLineNumber,i.centeredLineNumber);const e=new RD(this._selections,i,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(e),this._viewLines.shouldRender()&&(this._viewLines.renderText(e),this._viewLines.onDidRender(),t=this._getViewPartsToRender()),[t,new Ay(this._context.viewLayout,e,this._viewLines)]},prepareRender:(t,i)=>{for(const e of t)e.prepareRender(i)},render:(t,i)=>{for(const e of t)e.render(i),e.onDidRender()}}}delegateVerticalScrollbarPointerDown(t){this._scrollbar.delegateVerticalScrollbarPointerDown(t)}delegateScrollFromMouseWheelEvent(t){this._scrollbar.delegateScrollFromMouseWheelEvent(t)}restoreState(t){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:t.scrollTop,scrollLeft:t.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(t,i){const e=this._context.viewModel.model.validatePosition({lineNumber:t,column:i}),s=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(e);this._flushAccumulatedAndRenderNow();const n=this._viewLines.visibleRangeForPosition(new As(s.lineNumber,s.column));return n?n.left:-1}getTargetAtClientPoint(t,i){const e=this._pointerHandler.getTargetAtClientPoint(t,i);return e?oS.convertViewToModelMouseTarget(e,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(t){return new mD(this._context,t)}change(t){this._viewZones.changeViewZones(t),this._scheduleRender()}render(t,i){if(i){this._viewLines.forceShouldRender();for(const t of this._viewParts)t.forceShouldRender()}t?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(t){this._textAreaHandler.writeScreenReaderContent(t)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(t){this._textAreaHandler.setAriaOptions(t)}addContentWidget(t){this._contentWidgets.addWidget(t.widget),this.layoutContentWidget(t),this._scheduleRender()}layoutContentWidget(t){var i,e,s,n,o,r,h,c;this._contentWidgets.setWidgetPosition(t.widget,null!==(e=null===(i=t.position)||void 0===i?void 0:i.position)&&void 0!==e?e:null,null!==(n=null===(s=t.position)||void 0===s?void 0:s.secondaryPosition)&&void 0!==n?n:null,null!==(r=null===(o=t.position)||void 0===o?void 0:o.preference)&&void 0!==r?r:null,null!==(c=null===(h=t.position)||void 0===h?void 0:h.positionAffinity)&&void 0!==c?c:null),this._scheduleRender()}removeContentWidget(t){this._contentWidgets.removeWidget(t.widget),this._scheduleRender()}addOverlayWidget(t){this._overlayWidgets.addWidget(t.widget),this.layoutOverlayWidget(t),this._scheduleRender()}layoutOverlayWidget(t){this._overlayWidgets.setWidgetPosition(t.widget,t.position?t.position.preference:null)&&this._scheduleRender()}removeOverlayWidget(t){this._overlayWidgets.removeWidget(t.widget),this._scheduleRender()}addGlyphMarginWidget(t){this._glyphMarginWidgets.addWidget(t.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(t){this._glyphMarginWidgets.setWidgetPosition(t.widget,t.position)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(t){this._glyphMarginWidgets.removeWidget(t.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};function BD(t){try{return t()}catch(t){return Pi(t),null}}ND=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(6,ur)],ND);class PD{constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(t){return this._coordinatedRenderings.push(t),this._scheduleRender(t.window),{dispose:()=>{const i=this._coordinatedRenderings.indexOf(t);if(-1!==i&&(this._coordinatedRenderings.splice(i,1),0===this._coordinatedRenderings.length)){for(const[t,i]of this._animationFrameRunners)i.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(t){this._animationFrameRunners.has(t)||this._animationFrameRunners.set(t,Za(t,(()=>{this._animationFrameRunners.delete(t),this._onRenderScheduled()}),100))}_onRenderScheduled(){const t=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const i of t)BD((()=>i.prepareRenderText()));const i=[];for(let e=0,s=t.length;es.renderText()))}for(let e=0,s=t.length;es.prepareRender(o,r)))}for(let e=0,s=t.length;es.render(o,r)))}}}PD.INSTANCE=new PD;class $D{constructor(t,i,e,s,n,o,r){this.id=t,this.label=i,this.alias=e,this.metadata=s,this._precondition=n,this._run=o,this._contextKeyService=r}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(t){return this.isSupported()?this._run(t):Promise.resolve(void 0)}}function WD(t){let i=0,e=0,s=0,n=0;for(let o=0,r=t.length;o=KD&&(e-=t%KD),e}function JD(t,i){return t.reduce(((t,e)=>QD(t,i(e))),UD)}function YD(t,i){return t===i}function XD(t,i){const e=t,s=i;if(s-e<=0)return UD;const n=Math.floor(e/KD),o=Math.floor(s/KD),r=s-o*KD;return n===o?GD(0,r-(e-n*KD)):GD(o-n,r)}function tE(t,i){return t=i}function sE(t){return GD(t.lineNumber-1,t.column-1)}function nE(t,i){const e=t,s=Math.floor(e/KD),n=e-s*KD,o=i,r=Math.floor(o/KD);return new Ms(s+1,n+1,r+1,o-r*KD+1)}class oE{static fromModelContentChanges(t){const i=t.map((t=>{const i=Ms.lift(t.range);return new oE(sE(i.getStartPosition()),sE(i.getEndPosition()),function(t){const i=Xn(t);return GD(i.length-1,i[i.length-1].length)}(t.text))})).reverse();return i}constructor(t,i,e){this.startOffset=t,this.endOffset=i,this.newLength=e}toString(){return`[${ZD(this.startOffset)}...${ZD(this.endOffset)}) -> ${ZD(this.newLength)}`}}class rE{constructor(t){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=t.map((t=>hE.from(t)))}getOffsetBeforeChange(t){return this.adjustNextEdit(t),this.translateCurToOld(t)}getDistanceToNextChange(t){this.adjustNextEdit(t);const i=this.edits[this.nextEditIdx],e=i?this.translateOldToCur(i.offsetObj):null;return null===e?null:XD(t,e)}translateOldToCur(t){return GD(t.lineCount+this.deltaOldToNewLineCount,t.lineCount===this.deltaLineIdxInOld?t.columnCount+this.deltaOldToNewColumnCount:t.columnCount)}translateCurToOld(t){const i=ZD(t);return GD(i.lineCount-this.deltaOldToNewLineCount,i.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?i.columnCount-this.deltaOldToNewColumnCount:i.columnCount)}adjustNextEdit(t){for(;this.nextEditIdx>5;if(0===s){const t=1<t};class uE{constructor(){this.items=new Map}getKey(t){let i=this.items.get(t);return void 0===i&&(i=this.items.size,this.items.set(t,i)),i}}class dE{get length(){return this._length}constructor(t){this._length=t}}class fE extends dE{static create(t,i,e){let s=t.length;return i&&(s=QD(s,i.length)),e&&(s=QD(s,e.length)),new fE(s,t,i,e,i?i.missingOpeningBracketIds:aE.getEmpty())}get kind(){return 2}get listHeight(){return 0}get childrenLength(){return 3}getChild(t){switch(t){case 0:return this.openingBracket;case 1:return this.child;case 2:return this.closingBracket}throw new Error("Invalid child index")}get children(){const t=[];return t.push(this.openingBracket),this.child&&t.push(this.child),this.closingBracket&&t.push(this.closingBracket),t}constructor(t,i,e,s,n){super(t),this.openingBracket=i,this.child=e,this.closingBracket=s,this.missingOpeningBracketIds=n}canBeReused(t){return null!==this.closingBracket&&!t.intersects(this.missingOpeningBracketIds)}deepClone(){return new fE(this.length,this.openingBracket.deepClone(),this.child&&this.child.deepClone(),this.closingBracket&&this.closingBracket.deepClone(),this.missingOpeningBracketIds)}computeMinIndentation(t,i){return this.child?this.child.computeMinIndentation(QD(t,this.openingBracket.length),i):Number.MAX_SAFE_INTEGER}}class pE extends dE{static create23(t,i,e,s=!1){let n=t.length,o=t.missingOpeningBracketIds;if(t.listHeight!==i.listHeight)throw new Error("Invalid list heights");if(n=QD(n,i.length),o=o.merge(i.missingOpeningBracketIds),e){if(t.listHeight!==e.listHeight)throw new Error("Invalid list heights");n=QD(n,e.length),o=o.merge(e.missingOpeningBracketIds)}return s?new mE(n,t.listHeight+1,t,i,e,o):new gE(n,t.listHeight+1,t,i,e,o)}static getEmpty(){return new vE(UD,0,[],aE.getEmpty())}get kind(){return 4}get missingOpeningBracketIds(){return this._missingOpeningBracketIds}constructor(t,i,e){super(t),this.listHeight=i,this._missingOpeningBracketIds=e,this.cachedMinIndentation=-1}throwIfImmutable(){}makeLastElementMutable(){this.throwIfImmutable();const t=this.childrenLength;if(0===t)return;const i=this.getChild(t-1),e=4===i.kind?i.toMutable():i;return i!==e&&this.setChild(t-1,e),e}makeFirstElementMutable(){if(this.throwIfImmutable(),0===this.childrenLength)return;const t=this.getChild(0),i=4===t.kind?t.toMutable():t;return t!==i&&this.setChild(0,i),i}canBeReused(t){if(t.intersects(this.missingOpeningBracketIds))return!1;if(0===this.childrenLength)return!1;let i=this;for(;4===i.kind;){const t=i.childrenLength;if(0===t)throw new Gi;i=i.getChild(t-1)}return i.canBeReused(t)}handleChildrenChanged(){this.throwIfImmutable();const t=this.childrenLength;let i=this.getChild(0).length,e=this.getChild(0).missingOpeningBracketIds;for(let s=1;sthis.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 t=this.lineIdx,i=this.lineCharOffset;let e=0;for(;;){const s=this.lineTokens,n=s.getCount();let o=null;if(this.lineTokenOffset1e3)break}if(e>1500)break}const s=(o=i,h=this.lineCharOffset,(n=t)!==(r=this.lineIdx)?GD(r-n,h):GD(0,h-o));var n,o,r,h;return new SE(s,0,-1,aE.getEmpty(),new kE(s))}}class AE{constructor(t,i){this.text=t,this._offset=UD,this.idx=0;const e=i.getRegExpStr(),s=e?new RegExp(e+"|\n","gi"):null,n=[];let o,r=0,h=0,c=0,a=0;const l=[];for(let t=0;t<60;t++)l.push(new SE(GD(0,t),0,-1,aE.getEmpty(),new kE(GD(0,t))));const u=[];for(let t=0;t<60;t++)u.push(new SE(GD(1,t),0,-1,aE.getEmpty(),new kE(GD(1,t))));if(s)for(s.lastIndex=0;null!==(o=s.exec(t));){const t=o.index,e=o[0];if("\n"===e)r++,h=t+1;else{if(c!==t){let i;if(a===r){const e=t-c;if(efunction(t){let i=Gn(t);return/^[\w ]+/.test(t)&&(i=`\\b${i}`),/[\w ]+$/.test(t)&&(i=`${i}\\b`),i}(t))).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const t=this.getRegExpStr();this._regExpGlobal=t?new RegExp(t,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(t){return this.map.get(t.toLowerCase())}findClosingTokenText(t){for(const[i,e]of this.map)if(2===e.kind&&e.bracketIds.intersects(t))return i}get isEmpty(){return 0===this.map.size}}class LE{constructor(t,i){this.denseKeyProvider=t,this.getLanguageConfiguration=i,this.languageIdToBracketTokens=new Map}didLanguageChange(t){return this.languageIdToBracketTokens.has(t)}getSingleLanguageBracketTokens(t){let i=this.languageIdToBracketTokens.get(t);return i||(i=ME.createFromLanguage(this.getLanguageConfiguration(t),this.denseKeyProvider),this.languageIdToBracketTokens.set(t,i)),i}}function FE(t,i=!1){if(0===t.length)return null;if(1===t.length)return t[0];let e=t.length;for(;e>3;){const s=e>>1;for(let n=0;n=3?t[2]:null,i)}function TE(t,i){return Math.abs(t.listHeight-i.listHeight)}function RE(t,i){return t.listHeight===i.listHeight?pE.create23(t,i,null,!1):t.listHeight>i.listHeight?function(t,i){let e=t=t.toMutable();const s=[];let n;for(;;){if(i.listHeight===e.listHeight){n=i;break}if(4!==e.kind)throw new Error("unexpected");s.push(e),e=e.makeLastElementMutable()}for(let t=s.length-1;t>=0;t--){const i=s[t];n?i.childrenLength>=3?n=pE.create23(i.unappendChild(),n,null,!1):(i.appendChildOfSameHeight(n),n=void 0):i.handleChildrenChanged()}return n?pE.create23(t,n,null,!1):t}(t,i):function(t,i){let e=t=t.toMutable();const s=[];for(;i.listHeight!==e.listHeight;){if(4!==e.kind)throw new Error("unexpected");s.push(e),e=e.makeFirstElementMutable()}let n=i;for(let t=s.length-1;t>=0;t--){const i=s[t];n?i.childrenLength>=3?n=pE.create23(n,i.unprependChild(),null,!1):(i.prependChildOfSameHeight(n),n=void 0):i.handleChildrenChanged()}return n?pE.create23(n,t,null,!1):t}(i,t)}class OE{constructor(t){this.lastOffset=UD,this.nextNodes=[t],this.offsets=[UD],this.idxs=[]}readLongestNodeAt(t,i){if(tE(t,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=t;;){const e=_E(this.nextNodes);if(!e)return;const s=_E(this.offsets);if(tE(t,s))return;if(tE(s,t))if(QD(s,e.length)<=t)this.nextNodeAfterCurrent();else{const t=IE(e);-1!==t?(this.nextNodes.push(e.getChild(t)),this.offsets.push(s),this.idxs.push(t)):this.nextNodeAfterCurrent()}else{if(i(e))return this.nextNodeAfterCurrent(),e;{const t=IE(e);if(-1===t)return void this.nextNodeAfterCurrent();this.nextNodes.push(e.getChild(t)),this.offsets.push(s),this.idxs.push(t)}}}}nextNodeAfterCurrent(){for(;;){const t=_E(this.offsets),i=_E(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),0===this.idxs.length)break;const e=_E(this.nextNodes),s=IE(e,this.idxs[this.idxs.length-1]);if(-1!==s){this.nextNodes.push(e.getChild(s)),this.offsets.push(QD(t,i.length)),this.idxs[this.idxs.length-1]=s;break}this.idxs.pop()}}}function IE(t,i=-1){for(;;){if(++i>=t.childrenLength)return-1;if(t.getChild(i))return i}}function _E(t){return t.length>0?t[t.length-1]:void 0}function NE(t,i,e,s){return new BE(t,i,e,s).parseDocument()}class BE{constructor(t,i,e,s){if(this.tokenizer=t,this.createImmutableLists=s,this._itemsConstructed=0,this._itemsFromCache=0,e&&s)throw new Error("Not supported");this.oldNodeReader=e?new OE(e):void 0,this.positionMapper=new rE(i)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let t=this.parseList(aE.getEmpty(),0);return t||(t=pE.getEmpty()),t}parseList(t,i){const e=[];for(;;){let s=this.tryReadChildFromCache(t);if(!s){const e=this.tokenizer.peek();if(!e||2===e.kind&&e.bracketIds.intersects(t))break;s=this.parseChild(t,i+1)}4===s.kind&&0===s.childrenLength||e.push(s)}const s=this.oldNodeReader?function(t){if(0===t.length)return null;if(1===t.length)return t[0];let i=0;function e(){if(i>=t.length)return null;const e=i,s=t[e].listHeight;for(i++;i=2?FE(0===e&&i===t.length?t:t.slice(e,i),!1):t[e]}let s=e(),n=e();if(!n)return s;for(let t=e();t;t=e())TE(s,n)<=TE(n,t)?(s=RE(s,n),n=t):n=RE(n,t);return RE(s,n)}(e):FE(e,this.createImmutableLists);return s}tryReadChildFromCache(t){if(this.oldNodeReader){const i=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(null===i||!qD(i)){const e=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),(e=>!(null!==i&&!tE(e.length,i))&&e.canBeReused(t)));if(e)return this._itemsFromCache++,this.tokenizer.skip(e.length),e}}}parseChild(t,i){this._itemsConstructed++;const e=this.tokenizer.read();switch(e.kind){case 2:return new CE(e.bracketIds,e.length);case 0:return e.astNode;case 1:{if(i>300)return new kE(e.length);const s=t.merge(e.bracketIds),n=this.parseList(s,i+1),o=this.tokenizer.peek();return o&&2===o.kind&&(o.bracketId===e.bracketId||o.bracketIds.intersects(e.bracketIds))?(this.tokenizer.read(),fE.create(e.astNode,n,o.astNode)):fE.create(e.astNode,n,null)}default:throw new Error("unexpected")}}}function PE(t,i){if(0===t.length)return i;if(0===i.length)return t;const e=new N(WE(t)),s=WE(i);s.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let n=e.dequeue();function o(t){if(void 0===t){const t=e.takeWhile((()=>!0))||[];return n&&t.unshift(n),t}const i=[];for(;n&&!qD(t);){const[s,o]=n.splitAt(t);i.push(s),t=XD(s.lengthAfter,t),n=null!=o?o:e.dequeue()}return qD(t)||i.push(new $E(!1,t,t)),i}const r=[];function h(t,i,e){if(r.length>0&&YD(r[r.length-1].endOffset,t)){const t=r[r.length-1];r[r.length-1]=new oE(t.startOffset,i,QD(t.newLength,e))}else r.push({startOffset:t,endOffset:i,newLength:e})}let c=UD;for(const t of s){const i=o(t.lengthBefore);if(t.modified){const e=QD(c,JD(i,(t=>t.lengthBefore)));h(c,e,t.lengthAfter),c=e}else for(const t of i){const i=c;c=QD(c,t.lengthBefore),t.modified&&h(i,c,t.lengthAfter)}}return r}class $E{constructor(t,i,e){this.modified=t,this.lengthBefore=i,this.lengthAfter=e}splitAt(t){const i=XD(t,this.lengthAfter);return YD(i,UD)?[this,void 0]:this.modified?[new $E(this.modified,this.lengthBefore,t),new $E(this.modified,UD,i)]:[new $E(this.modified,t,t),new $E(this.modified,i,i)]}toString(){return`${this.modified?"M":"U"}:${ZD(this.lengthBefore)} -> ${ZD(this.lengthAfter)}`}}function WE(t){const i=[];let e=UD;for(const s of t){const t=XD(e,s.startOffset);qD(t)||i.push(new $E(!1,t,t));const n=XD(s.startOffset,s.endOffset);i.push(new $E(!0,n,s.newLength)),e=s.endOffset}return i}class jE extends ie{didLanguageChange(t){return this.brackets.didLanguageChange(t)}constructor(t,i){if(super(),this.textModel=t,this.getLanguageConfiguration=i,this.didChangeEmitter=new fe,this.denseKeyProvider=new uE,this.brackets=new LE(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],t.tokenization.hasTokens)2===t.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 t=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),i=new AE(this.textModel.getValue(),t);this.initialAstWithoutTokens=NE(i,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(2===this.textModel.tokenization.backgroundTokenizationState){const t=void 0===this.initialAstWithoutTokens;this.initialAstWithoutTokens=void 0,t||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:t}){const i=t.map((t=>new oE(GD(t.fromLineNumber-1,0),GD(t.toLineNumber,0),GD(t.toLineNumber-t.fromLineNumber+1,0))));this.handleEdits(i,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(t){const i=oE.fromModelContentChanges(t.changes);this.handleEdits(i,!1)}handleEdits(t,i){const e=PE(this.queuedTextEdits,t);this.queuedTextEdits=e,this.initialAstWithoutTokens&&!i&&(this.queuedTextEditsForInitialAstWithoutTokens=PE(this.queuedTextEditsForInitialAstWithoutTokens,t))}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(t,i,e){const s=i;return NE(new DE(this.textModel,this.brackets),t,s,e)}getBracketsInRange(t,i){this.flushQueue();const e=GD(t.startLineNumber-1,t.startColumn-1),s=GD(t.endLineNumber-1,t.endColumn-1);return new B((t=>{const n=this.initialAstWithoutTokens||this.astWithTokens;VE(n,UD,n.length,e,s,t,0,0,new Map,i)}))}getBracketPairsInRange(t,i){this.flushQueue();const e=sE(t.getStartPosition()),s=sE(t.getEndPosition());return new B((t=>{const n=this.initialAstWithoutTokens||this.astWithTokens,o=new UE(t,i,this.textModel);qE(n,UD,n.length,e,s,o,0,new Map)}))}getFirstBracketAfter(t){this.flushQueue();const i=this.initialAstWithoutTokens||this.astWithTokens;return HE(i,UD,i.length,sE(t))}getFirstBracketBefore(t){this.flushQueue();const i=this.initialAstWithoutTokens||this.astWithTokens;return zE(i,UD,i.length,sE(t))}}function zE(t,i,e,s){if(4===t.kind||2===t.kind){const n=[];for(const s of t.children)e=QD(i,s.length),n.push({nodeOffsetStart:i,nodeOffsetEnd:e}),i=e;for(let i=n.length-1;i>=0;i--){const{nodeOffsetStart:e,nodeOffsetEnd:o}=n[i];if(tE(e,s)){const n=zE(t.children[i],e,o,s);if(n)return n}}return null}if(3===t.kind)return null;if(1===t.kind){const s=nE(i,e);return{bracketInfo:t.bracketInfo,range:s}}return null}function HE(t,i,e,s){if(4===t.kind||2===t.kind){for(const n of t.children){if(tE(s,e=QD(i,n.length))){const t=HE(n,i,e,s);if(t)return t}i=e}return null}if(3===t.kind)return null;if(1===t.kind){const s=nE(i,e);return{bracketInfo:t.bracketInfo,range:s}}return null}function VE(t,i,e,s,n,o,r,h,c,a,l=!1){if(r>200)return!0;t:for(;;)switch(t.kind){case 4:{const h=t.childrenLength;for(let l=0;l200)return!0;let a=!0;if(2===t.kind){let l=0;if(h){let i=h.get(t.openingBracket.text);void 0===i&&(i=0),l=i,i++,h.set(t.openingBracket.text,i)}const u=QD(i,t.openingBracket.length);let d=-1;if(o.includeMinIndentation&&(d=t.computeMinIndentation(i,o.textModel)),a=o.push(new HD(nE(i,e),nE(i,u),t.closingBracket?nE(QD(u,(null===(c=t.child)||void 0===c?void 0:c.length)||UD),e):void 0,r,l,t,d)),i=u,a&&t.child){const c=t.child;if(e=QD(i,c.length),iE(i,n)&&eE(e,s)&&(a=qE(c,i,e,s,n,o,r+1,h),!a))return!1}null==h||h.set(t.openingBracket.text,l)}else{let e=i;for(const i of t.children){const t=e;if(e=QD(e,i.length),iE(t,n)&&iE(s,e)&&(a=qE(i,t,e,s,n,o,r,h),!a))return!1}}return a}class KE extends ie{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(t,i){super(),this.textModel=t,this.languageConfigurationService=i,this.bracketPairsTree=this._register(new ee),this.onDidChangeEmitter=new fe,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1,this._register(this.languageConfigurationService.onDidChange((t=>{var i;t.languageId&&!(null===(i=this.bracketPairsTree.value)||void 0===i?void 0:i.object.didLanguageChange(t.languageId))||(this.bracketPairsTree.clear(),this.updateBracketPairsTree())})))}handleDidChangeOptions(t){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(t){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(t){var i;null===(i=this.bracketPairsTree.value)||void 0===i||i.object.handleContentChanged(t)}handleDidChangeBackgroundTokenizationState(){var t;null===(t=this.bracketPairsTree.value)||void 0===t||t.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(t){var i;null===(i=this.bracketPairsTree.value)||void 0===i||i.object.handleDidChangeTokens(t)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const e=new te;this.bracketPairsTree.value=(t=e.add(new jE(this.textModel,(t=>this.languageConfigurationService.getLanguageConfiguration(t)))),i=e,{object:t,dispose:()=>null==i?void 0:i.dispose()}),e.add(this.bracketPairsTree.value.object.onDidChange((t=>this.onDidChangeEmitter.fire(t)))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire());var t,i}getBracketPairsInRange(t){var i;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(i=this.bracketPairsTree.value)||void 0===i?void 0:i.object.getBracketPairsInRange(t,!1))||B.empty}getBracketPairsInRangeWithMinIndentation(t){var i;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(i=this.bracketPairsTree.value)||void 0===i?void 0:i.object.getBracketPairsInRange(t,!0))||B.empty}getBracketsInRange(t,i=!1){var e;return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(e=this.bracketPairsTree.value)||void 0===e?void 0:e.object.getBracketsInRange(t,i))||B.empty}findMatchingBracketUp(t,i,e){const s=this.textModel.validatePosition(i),n=this.textModel.getLanguageIdAtPosition(s.lineNumber,s.column);if(this.canBuildAST){const e=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew.getClosingBracketInfo(t);if(!e)return null;const s=this.getBracketPairsInRange(Ms.fromPositions(i,i)).findLast((t=>e.closes(t.openingBracketInfo)));return s?s.openingBracketRange:null}{const i=t.toLowerCase(),o=this.languageConfigurationService.getLanguageConfiguration(n).brackets;if(!o)return null;const r=o.textIsBracket[i];return r?QE(this._findMatchingBracketUp(r,s,GE(e))):null}}matchBracket(t,i){if(this.canBuildAST){const i=this.getBracketPairsInRange(Ms.fromPositions(t,t)).filter((i=>void 0!==i.closingBracketRange&&(i.openingBracketRange.containsPosition(t)||i.closingBracketRange.containsPosition(t)))).findLastMaxBy(R((i=>i.openingBracketRange.containsPosition(t)?i.openingBracketRange:i.closingBracketRange),Ms.compareRangesUsingStarts));return i?[i.openingBracketRange,i.closingBracketRange]:null}{const e=GE(i);return this._matchBracket(this.textModel.validatePosition(t),e)}}_establishBracketSearchOffsets(t,i,e,s){const n=i.getCount(),o=i.getLanguageId(s);let r=Math.max(0,t.column-1-e.maxBracketLength);for(let t=s-1;t>=0;t--){const e=i.getEndOffset(t);if(e<=r)break;if(Pu(i.getStandardTokenType(t))||i.getLanguageId(t)!==o){r=e;break}}let h=Math.min(i.getLineContent().length,t.column-1+e.maxBracketLength);for(let t=s+1;t=h)break;if(Pu(i.getStandardTokenType(t))||i.getLanguageId(t)!==o){h=e;break}}return{searchStartOffset:r,searchEndOffset:h}}_matchBracket(t,i){const e=t.lineNumber,s=this.textModel.tokenization.getLineTokens(e),n=this.textModel.getLineContent(e),o=s.findTokenIndexAtOffset(t.column-1);if(o<0)return null;const r=this.languageConfigurationService.getLanguageConfiguration(s.getLanguageId(o)).brackets;if(r&&!Pu(s.getStandardTokenType(o))){let{searchStartOffset:h,searchEndOffset:c}=this._establishBracketSearchOffsets(t,s,r,o),a=null;for(;;){const s=ad.findNextBracketInRange(r.forwardRegex,e,n,h,c);if(!s)break;if(s.startColumn<=t.column&&t.column<=s.endColumn){const t=n.substring(s.startColumn-1,s.endColumn-1).toLowerCase(),e=this._matchFoundBracket(s,r.textIsBracket[t],r.textIsOpenBracket[t],i);if(e){if(e instanceof ZE)return null;a=e}}h=s.endColumn-1}if(a)return a}if(o>0&&s.getStartOffset(o)===t.column-1){const r=o-1,h=this.languageConfigurationService.getLanguageConfiguration(s.getLanguageId(r)).brackets;if(h&&!Pu(s.getStandardTokenType(r))){const{searchStartOffset:o,searchEndOffset:c}=this._establishBracketSearchOffsets(t,s,h,r),a=ad.findPrevBracketInRange(h.reversedRegex,e,n,o,c);if(a&&a.startColumn<=t.column&&t.column<=a.endColumn){const t=n.substring(a.startColumn-1,a.endColumn-1).toLowerCase(),e=this._matchFoundBracket(a,h.textIsBracket[t],h.textIsOpenBracket[t],i);if(e)return e instanceof ZE?null:e}}}return null}_matchFoundBracket(t,i,e,s){if(!i)return null;const n=e?this._findMatchingBracketDown(i,t.getEndPosition(),s):this._findMatchingBracketUp(i,t.getStartPosition(),s);return n?n instanceof ZE?n:[t,n]:null}_findMatchingBracketUp(t,i,e){const s=t.languageId,n=t.reversedRegex;let o=-1,r=0;const h=(i,s,h,c)=>{for(;;){if(e&&++r%100==0&&!e())return ZE.INSTANCE;const a=ad.findPrevBracketInRange(n,i,s,h,c);if(!a)break;const l=s.substring(a.startColumn-1,a.endColumn-1).toLowerCase();if(t.isOpen(l)?o++:t.isClose(l)&&o--,0===o)return a;c=a.startColumn-1}return null};for(let t=i.lineNumber;t>=1;t--){const e=this.textModel.tokenization.getLineTokens(t),n=e.getCount(),o=this.textModel.getLineContent(t);let r=n-1,c=o.length,a=o.length;t===i.lineNumber&&(r=e.findTokenIndexAtOffset(i.column-1),c=i.column-1,a=i.column-1);let l=!0;for(;r>=0;r--){const i=e.getLanguageId(r)===s&&!Pu(e.getStandardTokenType(r));if(i)l?c=e.getStartOffset(r):(c=e.getStartOffset(r),a=e.getEndOffset(r));else if(l&&c!==a){const i=h(t,o,c,a);if(i)return i}l=i}if(l&&c!==a){const i=h(t,o,c,a);if(i)return i}}return null}_findMatchingBracketDown(t,i,e){const s=t.languageId,n=t.forwardRegex;let o=1,r=0;const h=(i,s,h,c)=>{for(;;){if(e&&++r%100==0&&!e())return ZE.INSTANCE;const a=ad.findNextBracketInRange(n,i,s,h,c);if(!a)break;const l=s.substring(a.startColumn-1,a.endColumn-1).toLowerCase();if(t.isOpen(l)?o++:t.isClose(l)&&o--,0===o)return a;h=a.endColumn-1}return null},c=this.textModel.getLineCount();for(let t=i.lineNumber;t<=c;t++){const e=this.textModel.tokenization.getLineTokens(t),n=e.getCount(),o=this.textModel.getLineContent(t);let r=0,c=0,a=0;t===i.lineNumber&&(r=e.findTokenIndexAtOffset(i.column-1),c=i.column-1,a=i.column-1);let l=!0;for(;r=1;t--){const i=this.textModel.tokenization.getLineTokens(t),r=i.getCount(),h=this.textModel.getLineContent(t);let c=r-1,a=h.length,l=h.length;if(t===e.lineNumber){c=i.findTokenIndexAtOffset(e.column-1),a=e.column-1,l=e.column-1;const t=i.getLanguageId(c);s!==t&&(s=t,n=this.languageConfigurationService.getLanguageConfiguration(s).brackets,o=this.languageConfigurationService.getLanguageConfiguration(s).bracketsNew)}let u=!0;for(;c>=0;c--){const e=i.getLanguageId(c);if(s!==e){if(n&&o&&u&&a!==l){const i=ad.findPrevBracketInRange(n.reversedRegex,t,h,a,l);if(i)return this._toFoundBracket(o,i);u=!1}s=e,n=this.languageConfigurationService.getLanguageConfiguration(s).brackets,o=this.languageConfigurationService.getLanguageConfiguration(s).bracketsNew}const r=!!n&&!Pu(i.getStandardTokenType(c));if(r)u?a=i.getStartOffset(c):(a=i.getStartOffset(c),l=i.getEndOffset(c));else if(o&&n&&u&&a!==l){const i=ad.findPrevBracketInRange(n.reversedRegex,t,h,a,l);if(i)return this._toFoundBracket(o,i)}u=r}if(o&&n&&u&&a!==l){const i=ad.findPrevBracketInRange(n.reversedRegex,t,h,a,l);if(i)return this._toFoundBracket(o,i)}}return null}findNextBracket(t){var i;const e=this.textModel.validatePosition(t);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),(null===(i=this.bracketPairsTree.value)||void 0===i?void 0:i.object.getFirstBracketAfter(e))||null;const s=this.textModel.getLineCount();let n=null,o=null,r=null;for(let t=e.lineNumber;t<=s;t++){const i=this.textModel.tokenization.getLineTokens(t),s=i.getCount(),h=this.textModel.getLineContent(t);let c=0,a=0,l=0;if(t===e.lineNumber){c=i.findTokenIndexAtOffset(e.column-1),a=e.column-1,l=e.column-1;const t=i.getLanguageId(c);n!==t&&(n=t,o=this.languageConfigurationService.getLanguageConfiguration(n).brackets,r=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew)}let u=!0;for(;cvoid 0!==i.closingBracketRange&&i.range.strictContainsRange(t)));return i?[i.openingBracketRange,i.closingBracketRange]:null}const s=GE(i),n=this.textModel.getLineCount(),o=new Map;let r=[];const h=(t,i)=>{if(!o.has(t)){const e=[];for(let t=0,s=i?i.brackets.length:0;t{for(;;){if(s&&++c%100==0&&!s())return ZE.INSTANCE;const h=ad.findNextBracketInRange(t.forwardRegex,i,e,n,o);if(!h)break;const a=e.substring(h.startColumn-1,h.endColumn-1).toLowerCase(),l=t.textIsBracket[a];if(l&&(l.isOpen(a)?r[l.index]++:l.isClose(a)&&r[l.index]--,-1===r[l.index]))return this._matchFoundBracket(h,l,!1,s);n=h.endColumn-1}return null};let l=null,u=null;for(let t=e.lineNumber;t<=n;t++){const i=this.textModel.tokenization.getLineTokens(t),s=i.getCount(),n=this.textModel.getLineContent(t);let o=0,r=0,c=0;if(t===e.lineNumber){o=i.findTokenIndexAtOffset(e.column-1),r=e.column-1,c=e.column-1;const t=i.getLanguageId(o);l!==t&&(l=t,u=this.languageConfigurationService.getLanguageConfiguration(l).brackets,h(l,u))}let d=!0;for(;o!0;{const i=Date.now();return()=>Date.now()-i<=t}}class ZE{constructor(){this._searchCanceledBrand=void 0}}function QE(t){return t instanceof ZE?null:t}ZE.INSTANCE=new ZE;class JE extends ie{constructor(t){super(),this.textModel=t,this.colorProvider=new YE,this.onDidChangeEmitter=new fe,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=t.getOptions().bracketPairColorizationOptions,this._register(t.bracketPairs.onDidChange((()=>{this.onDidChangeEmitter.fire()})))}handleDidChangeOptions(t){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(t,i,e,s){return s||void 0===i?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(t,!0).map((t=>({id:`bracket${t.range.toString()}-${t.nestingLevel}`,options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(t,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:t.range}))).toArray():[]}getAllDecorations(t,i){return void 0===t?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new Ms(1,1,this.textModel.getLineCount(),1),t,i):[]}}class YE{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(t,i){return t.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(i?t.nestingLevelOfEqualBracketType:t.nestingLevel)}getInlineClassNameOfLevel(t){return"bracket-highlighting-"+t%30}}function XE(t){return t.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}Jk(((t,i)=>{const e=[Lx,Fx,Tx,Rx,Ox,Ix],s=new YE;i.addRule(`.monaco-editor .${s.unexpectedClosingBracketClassName} { color: ${t.getColor(_x)}; }`);const n=e.map((i=>t.getColor(i))).filter((t=>!!t)).filter((t=>!t.isTransparent()));for(let t=0;t<30;t++){const e=n[t%n.length];i.addRule(`.monaco-editor .${s.getInlineClassNameOfLevel(t)} { color: ${e}; }`)}}));class tA{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(t,i,e,s){this.oldPosition=t,this.oldText=i,this.newPosition=e,this.newText=s}toString(){return 0===this.oldText.length?`(insert@${this.oldPosition} "${XE(this.newText)}")`:0===this.newText.length?`(delete@${this.oldPosition} "${XE(this.oldText)}")`:`(replace@${this.oldPosition} "${XE(this.oldText)}" with "${XE(this.newText)}")`}static _writeStringSize(t){return 4+2*t.length}static _writeString(t,i,e){const s=i.length;Zu(t,s,e),e+=4;for(let n=0;n0&&(65279===s[0]||65534===s[0])?function(t,i,e){const s=[];let n=0;for(let o=0;ot.length)return!1;if(e){if(!uo(t,i))return!1;if(i.length===t.length)return!0;let e=i.length;return i.charAt(i.length-1)===s&&e--,t.charAt(e)===s}return i.charAt(i.length-1)!==s&&(i+=s),0===t.indexOf(i)}function rA(t){return t>=65&&t<=90||t>=97&&t<=122}function hA(t){return xs(t,!0)}const cA=new class{constructor(t){this._ignorePathCasing=t}compare(t,i,e=!1){return t===i?0:so(this.getComparisonKey(t,e),this.getComparisonKey(i,e))}isEqual(t,i,e=!1){return t===i||!(!t||!i)&&this.getComparisonKey(t,e)===this.getComparisonKey(i,e)}getComparisonKey(t,i=!1){return t.with({path:this._ignorePathCasing(t)?t.path.toLowerCase():void 0,fragment:i?null:void 0}).toString()}isEqualOrParent(t,i,e=!1){if(t.scheme===i.scheme){if(t.scheme===ka.file)return oA(hA(t),hA(i),this._ignorePathCasing(t))&&t.query===i.query&&(e||t.fragment===i.fragment);if(vA(t.authority,i.authority))return oA(t.path,i.path,this._ignorePathCasing(t),"/")&&t.query===i.query&&(e||t.fragment===i.fragment)}return!1}joinPath(t,...i){return ms.joinPath(t,...i)}basenameOrAuthority(t){return uA(t)||t.authority}basename(t){return es.basename(t.path)}extname(t){return es.extname(t.path)}dirname(t){if(0===t.path.length)return t;let i;return t.scheme===ka.file?i=ms.file(rs(hA(t))).path:(i=es.dirname(t.path),t.authority&&i.length&&47!==i.charCodeAt(0)&&(console.error(`dirname("${t.toString})) resulted in a relative path`),i="/")),t.with({path:i})}normalizePath(t){if(!t.path.length)return t;let i;return i=t.scheme===ka.file?ms.file(ss(hA(t))).path:es.normalize(t.path),t.with({path:i})}relativePath(t,i){if(t.scheme!==i.scheme||!vA(t.authority,i.authority))return;if(t.scheme===ka.file){const e=os(hA(t),hA(i));return Ct?sA(e):e}let e=t.path||"/";const s=i.path||"/";if(this._ignorePathCasing(t)){let t=0;for(const i=Math.min(e.length,s.length);tnA(e).length&&e[e.length-1]===i}{const i=t.path;return i.length>1&&47===i.charCodeAt(i.length-1)&&!/^[a-zA-Z]:(\/$|\\$)/.test(t.fsPath)}}removeTrailingPathSeparator(t,i=as){return bA(t,i)?t.with({path:t.path.substr(0,t.path.length-1)}):t}addTrailingPathSeparator(t,i=as){let e=!1;if(t.scheme===ka.file){const s=hA(t);e=void 0!==s&&s.length===nA(s).length&&s[s.length-1]===i}else{i="/";const s=t.path;e=1===s.length&&47===s.charCodeAt(s.length-1)}return e||bA(t,i)?t:t.with({path:t.path+"/"})}}((()=>!1)),aA=cA.isEqual.bind(cA);cA.isEqualOrParent.bind(cA),cA.getComparisonKey.bind(cA);const lA=cA.basenameOrAuthority.bind(cA),uA=cA.basename.bind(cA),dA=cA.extname.bind(cA),fA=cA.dirname.bind(cA),pA=cA.joinPath.bind(cA),gA=cA.normalizePath.bind(cA),mA=cA.relativePath.bind(cA),wA=cA.resolvePath.bind(cA);cA.isAbsolutePath.bind(cA);const vA=cA.isEqualAuthority.bind(cA),bA=cA.hasTrailingPathSeparator.bind(cA);var yA;function kA(t){return t.toString()}cA.removeTrailingPathSeparator.bind(cA),cA.addTrailingPathSeparator.bind(cA),function(t){t.META_DATA_LABEL="label",t.META_DATA_DESCRIPTION="description",t.META_DATA_SIZE="size",t.META_DATA_MIME="mime",t.parseMetaData=function(i){const e=new Map;i.path.substring(i.path.indexOf(";")+1,i.path.lastIndexOf(";")).split(";").forEach((t=>{const[i,s]=t.split(":");i&&s&&e.set(i,s)}));const s=i.path.substring(0,i.path.indexOf(";"));return s&&e.set(t.META_DATA_MIME,s),e}}(yA||(yA={}));class xA{static create(t,i){const e=t.getAlternativeVersionId(),s=DA(t);return new xA(e,e,s,s,i,i,[])}constructor(t,i,e,s,n,o,r){this.beforeVersionId=t,this.afterVersionId=i,this.beforeEOL=e,this.afterEOL=s,this.beforeCursorState=n,this.afterCursorState=o,this.changes=r}append(t,i,e,s,n){var o,r;i.length>0&&(this.changes=(r=i,null===(o=this.changes)||0===o.length?r:new iA(o,r).compress())),this.afterEOL=e,this.afterVersionId=s,this.afterCursorState=n}static _writeSelectionsSize(t){return 4+16*(t?t.length:0)}static _writeSelections(t,i,e){if(Zu(t,i?i.length:0,e),e+=4,i)for(const s of i)Zu(t,s.selectionStartLineNumber,e),Zu(t,s.selectionStartColumn,e+=4),Zu(t,s.positionLineNumber,e+=4),Zu(t,s.positionColumn,e+=4),e+=4;return e}static _readSelections(t,i,e){const s=Gu(t,i);i+=4;for(let n=0;nt.toString())).join(", ")}matchesResource(t){return(ms.isUri(this.model)?this.model:this.model.uri).toString()===t.toString()}setModel(t){this.model=t}canAppend(t){return this.model===t&&this._data instanceof xA}append(t,i,e,s,n){this._data instanceof xA&&this._data.append(t,i,e,s,n)}close(){this._data instanceof xA&&(this._data=this._data.serialize())}open(){this._data instanceof xA||(this._data=xA.deserialize(this._data))}undo(){if(ms.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof xA&&(this._data=this._data.serialize());const t=xA.deserialize(this._data);this.model._applyUndo(t.changes,t.beforeEOL,t.beforeVersionId,t.beforeCursorState)}redo(){if(ms.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof xA&&(this._data=this._data.serialize());const t=xA.deserialize(this._data);this.model._applyRedo(t.changes,t.afterEOL,t.afterVersionId,t.afterCursorState)}heapSize(){return this._data instanceof xA&&(this._data=this._data.serialize()),this._data.byteLength+168}}class SA{get resources(){return this._editStackElementsArr.map((t=>t.resource))}constructor(t,i,e){this.label=t,this.code=i,this.type=1,this._isOpen=!0,this._editStackElementsArr=e.slice(0),this._editStackElementsMap=new Map;for(const t of this._editStackElementsArr){const i=kA(t.resource);this._editStackElementsMap.set(i,t)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(t){const i=kA(t);return this._editStackElementsMap.has(i)}setModel(t){const i=kA(ms.isUri(t)?t:t.uri);this._editStackElementsMap.has(i)&&this._editStackElementsMap.get(i).setModel(t)}canAppend(t){if(!this._isOpen)return!1;const i=kA(t.uri);return!!this._editStackElementsMap.has(i)&&this._editStackElementsMap.get(i).canAppend(t)}append(t,i,e,s,n){const o=kA(t.uri);this._editStackElementsMap.get(o).append(t,i,e,s,n)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const t of this._editStackElementsArr)t.undo()}redo(){for(const t of this._editStackElementsArr)t.redo()}heapSize(t){const i=kA(t);return this._editStackElementsMap.has(i)?this._editStackElementsMap.get(i).heapSize():0}split(){return this._editStackElementsArr}toString(){const t=[];for(const i of this._editStackElementsArr)t.push(`${uA(i.resource)}: ${i}`);return`{${t.join(", ")}}`}}function DA(t){return"\n"===t.getEOL()?0:1}function EA(t){return!!t&&(t instanceof CA||t instanceof SA)}class AA{constructor(t,i){this._model=t,this._undoRedoService=i}pushStackElement(){const t=this._undoRedoService.getLastElement(this._model.uri);EA(t)&&t.close()}popStackElement(){const t=this._undoRedoService.getLastElement(this._model.uri);EA(t)&&t.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(t,i){const e=this._undoRedoService.getLastElement(this._model.uri);if(EA(e)&&e.canAppend(this._model))return e;const s=new CA(rt(0,"Typing"),"undoredo.textBufferEdit",this._model,t);return this._undoRedoService.pushElement(s,i),s}pushEOL(t){const i=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(t),i.append(this._model,[],DA(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(t,i,e,s){const n=this._getOrCreateEditStackElement(t,s),o=this._model.applyEdits(i,!0),r=AA._computeCursorState(e,o),h=o.map(((t,i)=>({index:i,textChange:t.textChange})));return h.sort(((t,i)=>t.textChange.oldPosition===i.textChange.oldPosition?t.index-i.index:t.textChange.oldPosition-i.textChange.oldPosition)),n.append(this._model,h.map((t=>t.textChange)),DA(this._model),this._model.getAlternativeVersionId(),r),r}static _computeCursorState(t,i){try{return t?t(i):null}catch(t){return Pi(t),null}}}class MA{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function LA(t,i,e,s,n){let o;for(n.spacesDiff=0,n.looksLikeAlignment=!1,o=0;o0&&h>0)return;if(c>0&&a>0)return;const l=Math.abs(h-a),u=Math.abs(r-c);if(0===l)return n.spacesDiff=u,void(u>0&&0<=c-1&&c-10?n++:g>1&&o++,LA(r,h,u,p,l),l.looksLikeAlignment&&(!e||i!==l.spacesDiff))continue;const w=l.spacesDiff;w<=8&&a[w]++,r=u,h=p}let u=e;n!==o&&(u=n{const e=a[i];e>t&&(t=e,d=i)})),4===d&&a[4]>0&&a[2]>0&&a[2]>=a[4]/2&&(d=2)}return{insertSpaces:u,tabSize:d}}function TA(t){return(1&t.metadata)>>>0}function RA(t,i){t.metadata=254&t.metadata|i<<0}function OA(t){return(2&t.metadata)>>>1==1}function IA(t,i){t.metadata=253&t.metadata|(i?1:0)<<1}function _A(t){return(4&t.metadata)>>>2==1}function NA(t,i){t.metadata=251&t.metadata|(i?1:0)<<2}function BA(t){return(64&t.metadata)>>>6==1}function PA(t,i){t.metadata=191&t.metadata|(i?1:0)<<6}function $A(t,i){t.metadata=231&t.metadata|i<<3}function WA(t,i){t.metadata=223&t.metadata|(i?1:0)<<5}class jA{constructor(t,i,e){this.metadata=0,this.parent=this,this.left=this,this.right=this,RA(this,1),this.start=i,this.end=e,this.delta=0,this.maxEnd=e,this.id=t,this.ownerId=0,this.options=null,NA(this,!1),PA(this,!1),$A(this,1),WA(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=i,this.cachedAbsoluteEnd=e,this.range=null,IA(this,!1)}reset(t,i,e,s){this.start=i,this.end=e,this.maxEnd=e,this.cachedVersionId=t,this.cachedAbsoluteStart=i,this.cachedAbsoluteEnd=e,this.range=s}setOptions(t){this.options=t;const i=this.options.className;NA(this,"squiggly-error"===i||"squiggly-warning"===i||"squiggly-info"===i),PA(this,null!==this.options.glyphMarginClassName),$A(this,this.options.stickiness),WA(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(t,i,e){this.cachedVersionId!==e&&(this.range=null),this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i}detach(){this.parent=null,this.left=null,this.right=null}}const zA=new jA(null,0,0);zA.parent=zA,zA.left=zA,zA.right=zA,RA(zA,0);class HA{constructor(){this.root=zA,this.requestNormalizeDelta=!1}intervalSearch(t,i,e,s,n,o){return this.root===zA?[]:function(t,i,e,s,n,o,r){let h=t.root,c=0,a=0,l=0,u=0;const d=[];let f=0;for(;h!==zA;)if(OA(h))IA(h.left,!1),IA(h.right,!1),h===h.parent.right&&(c-=h.parent.delta),h=h.parent;else{if(!OA(h.left)){if(a=c+h.maxEnd,ae)IA(h,!0);else{if(u=c+h.end,u>=i){h.setCachedOffsets(l,u,o);let t=!0;s&&h.ownerId&&h.ownerId!==s&&(t=!1),n&&_A(h)&&(t=!1),r&&!BA(h)&&(t=!1),t&&(d[f++]=h)}IA(h,!0),h.right===zA||OA(h.right)||(c+=h.delta,h=h.right)}}return IA(t.root,!1),d}(this,t,i,e,s,n,o)}search(t,i,e,s){return this.root===zA?[]:function(t,i,e,s,n){let o=t.root,r=0,h=0,c=0;const a=[];let l=0;for(;o!==zA;){if(OA(o)){IA(o.left,!1),IA(o.right,!1),o===o.parent.right&&(r-=o.parent.delta),o=o.parent;continue}if(o.left!==zA&&!OA(o.left)){o=o.left;continue}h=r+o.start,c=r+o.end,o.setCachedOffsets(h,c,s);let t=!0;i&&o.ownerId&&o.ownerId!==i&&(t=!1),e&&_A(o)&&(t=!1),n&&!BA(o)&&(t=!1),t&&(a[l++]=o),IA(o,!0),o.right===zA||OA(o.right)||(r+=o.delta,o=o.right)}return IA(t.root,!1),a}(this,t,i,e,s)}collectNodesFromOwner(t){return function(t,i){let e=t.root;const s=[];let n=0;for(;e!==zA;)OA(e)?(IA(e.left,!1),IA(e.right,!1),e=e.parent):e.left===zA||OA(e.left)?(e.ownerId===i&&(s[n++]=e),IA(e,!0),e.right===zA||OA(e.right)||(e=e.right)):e=e.left;return IA(t.root,!1),s}(this,t)}collectNodesPostOrder(){return function(t){let i=t.root;const e=[];let s=0;for(;i!==zA;)OA(i)?(IA(i.left,!1),IA(i.right,!1),i=i.parent):i.left===zA||OA(i.left)?i.right===zA||OA(i.right)?(e[s++]=i,IA(i,!0)):i=i.right:i=i.left;return IA(t.root,!1),e}(this)}insert(t){qA(this,t),this._normalizeDeltaIfNecessary()}delete(t){KA(this,t),this._normalizeDeltaIfNecessary()}resolveNode(t,i){const e=t;let s=0;for(;t!==this.root;)t===t.parent.right&&(s+=t.parent.delta),t=t.parent;e.setCachedOffsets(e.start+s,e.end+s,i)}acceptReplace(t,i,e,s){const n=function(t,i,e){let s=t.root,n=0,o=0,r=0,h=0;const c=[];let a=0;for(;s!==zA;)if(OA(s))IA(s.left,!1),IA(s.right,!1),s===s.parent.right&&(n-=s.parent.delta),s=s.parent;else{if(!OA(s.left)){if(o=n+s.maxEnd,oe?IA(s,!0):(h=n+s.end,h>=i&&(s.setCachedOffsets(r,h,0),c[a++]=s),IA(s,!0),s.right===zA||OA(s.right)||(n+=s.delta,s=s.right))}return IA(t.root,!1),c}(this,t,t+i);for(let t=0,i=n.length;te?(n.start+=c,n.end+=c,n.delta+=c,(n.delta<-1073741824||n.delta>1073741824)&&(t.requestNormalizeDelta=!0),IA(n,!0)):(IA(n,!0),n.right===zA||OA(n.right)||(o+=n.delta,n=n.right))}IA(t.root,!1)}(this,t,t+i,e),this._normalizeDeltaIfNecessary();for(let o=0,r=n.length;oe)&&1!==s&&(2===s||i)}function UA(t,i,e,s,n){const o=function(t){return(24&t.metadata)>>>3}(t),r=0===o||2===o,h=1===o||2===o,c=e-i,a=s,l=Math.min(c,a),u=t.start;let d=!1;const f=t.end;let p=!1;i<=u&&f<=e&&function(t){return(32&t.metadata)>>>5==1}(t)&&(t.start=i,d=!0,t.end=i,p=!0);{const t=n?1:c>0?2:0;!d&&VA(u,r,i,t)&&(d=!0),!p&&VA(f,h,i,t)&&(p=!0)}if(l>0&&!n){const t=c>a?2:0;!d&&VA(u,r,i+l,t)&&(d=!0),!p&&VA(f,h,i+l,t)&&(p=!0)}{const s=n?1:0;!d&&VA(u,r,e,s)&&(t.start=i+a,d=!0),!p&&VA(f,h,e,s)&&(t.end=i+a,p=!0)}const g=a-c;d||(t.start=Math.max(0,u+g)),p||(t.end=Math.max(0,f+g)),t.start>t.end&&(t.end=t.start)}function qA(t,i){if(t.root===zA)return i.parent=zA,i.left=zA,i.right=zA,RA(i,0),t.root=i,t.root;!function(t,i){let e=0,s=t.root;const n=i.start,o=i.end;for(;;)if(h=o,a=s.end+e,((r=n)===(c=s.start+e)?h-a:r-c)<0){if(s.left===zA){i.start-=e,i.end-=e,i.maxEnd-=e,s.left=i;break}s=s.left}else{if(s.right===zA){i.start-=e+s.delta,i.end-=e+s.delta,i.maxEnd-=e+s.delta,s.right=i;break}e+=s.delta,s=s.right}var r,h,c,a;i.parent=s,i.left=zA,i.right=zA,RA(i,1)}(t,i),XA(i.parent);let e=i;for(;e!==t.root&&1===TA(e.parent);)if(e.parent===e.parent.parent.left){const i=e.parent.parent.right;1===TA(i)?(RA(e.parent,0),RA(i,0),RA(e.parent.parent,1),e=e.parent.parent):(e===e.parent.right&&(e=e.parent,ZA(t,e)),RA(e.parent,0),RA(e.parent.parent,1),QA(t,e.parent.parent))}else{const i=e.parent.parent.left;1===TA(i)?(RA(e.parent,0),RA(i,0),RA(e.parent.parent,1),e=e.parent.parent):(e===e.parent.left&&(e=e.parent,QA(t,e)),RA(e.parent,0),RA(e.parent.parent,1),ZA(t,e.parent.parent))}return RA(t.root,0),i}function KA(t,i){let e,s;if(i.left===zA?(e=i.right,s=i,e.delta+=i.delta,(e.delta<-1073741824||e.delta>1073741824)&&(t.requestNormalizeDelta=!0),e.start+=i.delta,e.end+=i.delta):i.right===zA?(e=i.left,s=i):(s=function(t){for(;t.left!==zA;)t=t.left;return t}(i.right),e=s.right,e.start+=s.delta,e.end+=s.delta,e.delta+=s.delta,(e.delta<-1073741824||e.delta>1073741824)&&(t.requestNormalizeDelta=!0),s.start+=i.delta,s.end+=i.delta,s.delta=i.delta,(s.delta<-1073741824||s.delta>1073741824)&&(t.requestNormalizeDelta=!0)),s===t.root)return t.root=e,RA(e,0),i.detach(),GA(),YA(e),void(t.root.parent=zA);const n=1===TA(s);if(s===s.parent.left?s.parent.left=e:s.parent.right=e,s===i?e.parent=s.parent:(e.parent=s.parent===i?s:s.parent,s.left=i.left,s.right=i.right,s.parent=i.parent,RA(s,TA(i)),i===t.root?t.root=s:i===i.parent.left?i.parent.left=s:i.parent.right=s,s.left!==zA&&(s.left.parent=s),s.right!==zA&&(s.right.parent=s)),i.detach(),n)return XA(e.parent),s!==i&&(XA(s),XA(s.parent)),void GA();let o;for(XA(e),XA(e.parent),s!==i&&(XA(s),XA(s.parent));e!==t.root&&0===TA(e);)e===e.parent.left?(o=e.parent.right,1===TA(o)&&(RA(o,0),RA(e.parent,1),ZA(t,e.parent),o=e.parent.right),0===TA(o.left)&&0===TA(o.right)?(RA(o,1),e=e.parent):(0===TA(o.right)&&(RA(o.left,0),RA(o,1),QA(t,o),o=e.parent.right),RA(o,TA(e.parent)),RA(e.parent,0),RA(o.right,0),ZA(t,e.parent),e=t.root)):(o=e.parent.left,1===TA(o)&&(RA(o,0),RA(e.parent,1),QA(t,e.parent),o=e.parent.left),0===TA(o.left)&&0===TA(o.right)?(RA(o,1),e=e.parent):(0===TA(o.left)&&(RA(o.right,0),RA(o,1),ZA(t,o),o=e.parent.left),RA(o,TA(e.parent)),RA(e.parent,0),RA(o.left,0),QA(t,e.parent),e=t.root));RA(e,0),GA()}function GA(){zA.parent=zA,zA.delta=0,zA.start=0,zA.end=0}function ZA(t,i){const e=i.right;e.delta+=i.delta,(e.delta<-1073741824||e.delta>1073741824)&&(t.requestNormalizeDelta=!0),e.start+=i.delta,e.end+=i.delta,i.right=e.left,e.left!==zA&&(e.left.parent=i),e.parent=i.parent,i.parent===zA?t.root=e:i===i.parent.left?i.parent.left=e:i.parent.right=e,e.left=i,i.parent=e,YA(i),YA(e)}function QA(t,i){const e=i.left;i.delta-=e.delta,(i.delta<-1073741824||i.delta>1073741824)&&(t.requestNormalizeDelta=!0),i.start-=e.delta,i.end-=e.delta,i.left=e.right,e.right!==zA&&(e.right.parent=i),e.parent=i.parent,i.parent===zA?t.root=e:i===i.parent.right?i.parent.right=e:i.parent.left=e,e.right=i,i.parent=e,YA(i),YA(e)}function JA(t){let i=t.end;if(t.left!==zA){const e=t.left.maxEnd;e>i&&(i=e)}if(t.right!==zA){const e=t.right.maxEnd+t.delta;e>i&&(i=e)}return i}function YA(t){t.maxEnd=JA(t)}function XA(t){for(;t!==zA;){const i=JA(t);if(t.maxEnd===i)return;t.maxEnd=i,t=t.parent}}class tM{constructor(t,i){this.piece=t,this.color=i,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==iM)return eM(this.right);let t=this;for(;t.parent!==iM&&t.parent.left!==t;)t=t.parent;return t.parent===iM?iM:t.parent}prev(){if(this.left!==iM)return sM(this.left);let t=this;for(;t.parent!==iM&&t.parent.right!==t;)t=t.parent;return t.parent===iM?iM:t.parent}detach(){this.parent=null,this.left=null,this.right=null}}const iM=new tM(null,0);function eM(t){for(;t.left!==iM;)t=t.left;return t}function sM(t){for(;t.right!==iM;)t=t.right;return t}function nM(t){return t===iM?0:t.size_left+t.piece.length+nM(t.right)}function oM(t){return t===iM?0:t.lf_left+t.piece.lineFeedCnt+oM(t.right)}function rM(){iM.parent=iM}function hM(t,i){const e=i.right;e.size_left+=i.size_left+(i.piece?i.piece.length:0),e.lf_left+=i.lf_left+(i.piece?i.piece.lineFeedCnt:0),i.right=e.left,e.left!==iM&&(e.left.parent=i),e.parent=i.parent,i.parent===iM?t.root=e:i.parent.left===i?i.parent.left=e:i.parent.right=e,e.left=i,i.parent=e}function cM(t,i){const e=i.left;i.left=e.right,e.right!==iM&&(e.right.parent=i),e.parent=i.parent,i.size_left-=e.size_left+(e.piece?e.piece.length:0),i.lf_left-=e.lf_left+(e.piece?e.piece.lineFeedCnt:0),i.parent===iM?t.root=e:i===i.parent.right?i.parent.right=e:i.parent.left=e,e.right=i,i.parent=e}function aM(t,i){let e,s;if(i.left===iM?(s=i,e=s.right):i.right===iM?(s=i,e=s.left):(s=eM(i.right),e=s.right),s===t.root)return t.root=e,e.color=0,i.detach(),rM(),void(t.root.parent=iM);const n=1===s.color;if(s===s.parent.left?s.parent.left=e:s.parent.right=e,s===i?(e.parent=s.parent,dM(t,e)):(e.parent=s.parent===i?s:s.parent,dM(t,e),s.left=i.left,s.right=i.right,s.parent=i.parent,s.color=i.color,i===t.root?t.root=s:i===i.parent.left?i.parent.left=s:i.parent.right=s,s.left!==iM&&(s.left.parent=s),s.right!==iM&&(s.right.parent=s),s.size_left=i.size_left,s.lf_left=i.lf_left,dM(t,s)),i.detach(),e.parent.left===e){const i=nM(e),s=oM(e);if(i!==e.parent.size_left||s!==e.parent.lf_left){const n=i-e.parent.size_left,o=s-e.parent.lf_left;e.parent.size_left=i,e.parent.lf_left=s,uM(t,e.parent,n,o)}}if(dM(t,e.parent),n)return void rM();let o;for(;e!==t.root&&0===e.color;)e===e.parent.left?(o=e.parent.right,1===o.color&&(o.color=0,e.parent.color=1,hM(t,e.parent),o=e.parent.right),0===o.left.color&&0===o.right.color?(o.color=1,e=e.parent):(0===o.right.color&&(o.left.color=0,o.color=1,cM(t,o),o=e.parent.right),o.color=e.parent.color,e.parent.color=0,o.right.color=0,hM(t,e.parent),e=t.root)):(o=e.parent.left,1===o.color&&(o.color=0,e.parent.color=1,cM(t,e.parent),o=e.parent.left),0===o.left.color&&0===o.right.color?(o.color=1,e=e.parent):(0===o.left.color&&(o.right.color=0,o.color=1,hM(t,o),o=e.parent.left),o.color=e.parent.color,e.parent.color=0,o.left.color=0,cM(t,e.parent),e=t.root));e.color=0,rM()}function lM(t,i){for(dM(t,i);i!==t.root&&1===i.parent.color;)if(i.parent===i.parent.parent.left){const e=i.parent.parent.right;1===e.color?(i.parent.color=0,e.color=0,i.parent.parent.color=1,i=i.parent.parent):(i===i.parent.right&&hM(t,i=i.parent),i.parent.color=0,i.parent.parent.color=1,cM(t,i.parent.parent))}else{const e=i.parent.parent.left;1===e.color?(i.parent.color=0,e.color=0,i.parent.parent.color=1,i=i.parent.parent):(i===i.parent.left&&cM(t,i=i.parent),i.parent.color=0,i.parent.parent.color=1,hM(t,i.parent.parent))}t.root.color=0}function uM(t,i,e,s){for(;i!==t.root&&i!==iM;)i.parent.left===i&&(i.parent.size_left+=e,i.parent.lf_left+=s),i=i.parent}function dM(t,i){let e=0,s=0;if(i!==t.root){for(;i!==t.root&&i===i.parent.right;)i=i.parent;if(i!==t.root)for(e=nM((i=i.parent).left)-i.size_left,s=oM(i.left)-i.lf_left,i.size_left+=e,i.lf_left+=s;i!==t.root&&(0!==e||0!==s);)i.parent.left===i&&(i.parent.size_left+=e,i.parent.lf_left+=s),i=i.parent}}iM.parent=iM,iM.left=iM,iM.right=iM,iM.color=0;const fM=65535;function pM(t){let i;return i=t[t.length-1]<65536?new Uint16Array(t.length):new Uint32Array(t.length),i.set(t,0),i}class gM{constructor(t,i,e,s,n){this.lineStarts=t,this.cr=i,this.lf=e,this.crlf=s,this.isBasicASCII=n}}function mM(t,i=!0){const e=[0];let s=1;for(let i=0,n=t.length;i(t!==iM&&this._pieces.push(t.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 yM{constructor(t){this._limit=t,this._cache=[]}get(t){for(let i=this._cache.length-1;i>=0;i--){const e=this._cache[i];if(e.nodeStartOffset<=t&&e.nodeStartOffset+e.node.piece.length>=t)return e}return null}get2(t){for(let i=this._cache.length-1;i>=0;i--){const e=this._cache[i];if(e.nodeStartLineNumber&&e.nodeStartLineNumber=t)return e}return null}set(t){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(t)}validate(t){let i=!1;const e=this._cache;for(let s=0;s=t)&&(e[s]=null,i=!0)}if(i){const t=[];for(const i of e)null!==i&&t.push(i);this._cache=t}}}class kM{constructor(t,i,e){this.create(t,i,e)}create(t,i,e){this._buffers=[new vM("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=iM,this._lineCnt=1,this._length=0,this._EOL=i,this._EOLLength=i.length,this._EOLNormalized=e;let s=null;for(let i=0,e=t.length;i0){t[i].lineStarts||(t[i].lineStarts=mM(t[i].buffer));const e=new wM(i+1,{line:0,column:0},{line:t[i].lineStarts.length-1,column:t[i].buffer.length-t[i].lineStarts[t[i].lineStarts.length-1]},t[i].lineStarts.length-1,t[i].buffer.length);this._buffers.push(t[i]),s=this.rbInsertRight(s,e)}this._searchCache=new yM(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(t){const i=65535-Math.floor(21845),e=2*i;let s="",n=0;const o=[];if(this.iterate(this.root,(r=>{const h=this.getNodeContent(r),c=h.length;if(n<=i||n+c0){const i=s.replace(/\r\n|\r|\n/g,t);o.push(new vM(i,mM(i)))}this.create(o,t,!0)}getEOL(){return this._EOL}setEOL(t){this._EOL=t,this._EOLLength=this._EOL.length,this.normalizeEOL(t)}createSnapshot(t){return new bM(this,t)}getOffsetAt(t,i){let e=0,s=this.root;for(;s!==iM;)if(s.left!==iM&&s.lf_left+1>=t)s=s.left;else{if(s.lf_left+s.piece.lineFeedCnt+1>=t)return e+=s.size_left,e+(this.getAccumulatedValue(s,t-s.lf_left-2)+i-1);t-=s.lf_left+s.piece.lineFeedCnt,e+=s.size_left+s.piece.length,s=s.right}return e}getPositionAt(t){t=Math.floor(t),t=Math.max(0,t);let i=this.root,e=0;const s=t;for(;i!==iM;)if(0!==i.size_left&&i.size_left>=t)i=i.left;else{if(i.size_left+i.piece.length>=t){const n=this.getIndexOf(i,t-i.size_left);if(e+=i.lf_left+n.index,0===n.index){const t=this.getOffsetAt(e+1,1);return new As(e+1,s-t+1)}return new As(e+1,n.remainder+1)}if(t-=i.size_left+i.piece.length,e+=i.lf_left+i.piece.lineFeedCnt,i.right===iM){const i=this.getOffsetAt(e+1,1);return new As(e+1,s-t-i+1)}i=i.right}return new As(1,1)}getValueInRange(t,i){if(t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn)return"";const e=this.nodeAt2(t.startLineNumber,t.startColumn),s=this.nodeAt2(t.endLineNumber,t.endColumn),n=this.getValueInRange2(e,s);return i?i===this._EOL&&this._EOLNormalized&&i===this.getEOL()&&this._EOLNormalized?n:n.replace(/\r\n|\r|\n/g,i):n}getValueInRange2(t,i){if(t.node===i.node){const e=t.node,s=this._buffers[e.piece.bufferIndex].buffer,n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);return s.substring(n+t.remainder,n+i.remainder)}let e=t.node;const s=this._buffers[e.piece.bufferIndex].buffer,n=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);let o=s.substring(n+t.remainder,n+e.piece.length);for(e=e.next();e!==iM;){const t=this._buffers[e.piece.bufferIndex].buffer,s=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);if(e===i.node){o+=t.substring(s,s+i.remainder);break}o+=t.substr(s,e.piece.length),e=e.next()}return o}getLinesContent(){const t=[];let i=0,e="",s=!1;return this.iterate(this.root,(n=>{if(n===iM)return!0;const o=n.piece;let r=o.length;if(0===r)return!0;const h=this._buffers[o.bufferIndex].buffer,c=this._buffers[o.bufferIndex].lineStarts,a=o.start.line,l=o.end.line;let u=c[a]+o.start.column;if(s&&(10===h.charCodeAt(u)&&(u++,r--),t[i++]=e,e="",s=!1,0===r))return!0;if(a===l)return this._EOLNormalized||13!==h.charCodeAt(u+r-1)?e+=h.substr(u,r):(s=!0,e+=h.substr(u,r-1)),!0;e+=this._EOLNormalized?h.substring(u,Math.max(u,c[a+1]-this._EOLLength)):h.substring(u,c[a+1]).replace(/(\r\n|\r|\n)$/,""),t[i++]=e;for(let s=a+1;st+f,i.reset(0)):(w=u.buffer,v=t=>t,i.reset(f));do{if(g=i.next(w),g){if(v(g.index)>=p)return a;this.positionInBuffer(t,v(g.index)-d,m);const i=this.getLineFeedCnt(t.piece.bufferIndex,n,m),o=m.line===n.line?m.column-n.column+s:m.column+1;if(l[a++]=jf(new Ms(e+i,o,e+i,o+g[0].length),g,h),v(g.index)+g[0].length>=p)return a;if(a>=c)return a}}while(g);return a}findMatchesLineByLine(t,i,e,s){const n=[];let o=0;const r=new Uf(i.wordSeparators,i.regex);let h=this.nodeAt2(t.startLineNumber,t.startColumn);if(null===h)return[];const c=this.nodeAt2(t.endLineNumber,t.endColumn);if(null===c)return[];let a=this.positionInBuffer(h.node,h.remainder);const l=this.positionInBuffer(c.node,c.remainder);if(h.node===c.node)return this.findMatchesInNode(h.node,r,t.startLineNumber,t.startColumn,a,l,i,e,s,o,n),n;let u=t.startLineNumber,d=h.node;for(;d!==c.node;){const c=this.getLineFeedCnt(d.piece.bufferIndex,a,d.piece.end);if(c>=1){const h=this._buffers[d.piece.bufferIndex].lineStarts,l=this.offsetInBuffer(d.piece.bufferIndex,d.piece.start);if(o=this.findMatchesInNode(d,r,u,u===t.startLineNumber?t.startColumn:1,a,this.positionInBuffer(d,h[a.line+c]-l),i,e,s,o,n),o>=s)return n;u+=c}const l=u===t.startLineNumber?t.startColumn-1:0;if(u===t.endLineNumber){const h=this.getLineContent(u).substring(l,t.endColumn-1);return o=this._findMatchesInLine(i,r,h,t.endLineNumber,l,o,n,e,s),n}if(o=this._findMatchesInLine(i,r,this.getLineContent(u).substr(l),u,l,o,n,e,s),o>=s)return n;u++,h=this.nodeAt2(u,1),d=h.node,a=this.positionInBuffer(h.node,h.remainder)}if(u===t.endLineNumber){const h=u===t.startLineNumber?t.startColumn-1:0,c=this.getLineContent(u).substring(h,t.endColumn-1);return o=this._findMatchesInLine(i,r,c,t.endLineNumber,h,o,n,e,s),n}return o=this.findMatchesInNode(c.node,r,u,u===t.startLineNumber?t.startColumn:1,a,l,i,e,s,o,n),n}_findMatchesInLine(t,i,e,s,n,o,r,h,c){const a=t.wordSeparators;if(!h&&t.simpleSearch){const i=t.simpleSearch,h=i.length,l=e.length;let u=-h;for(;-1!==(u=e.indexOf(i,u+h));)if((!a||Vf(a,e,l,u,h))&&(r[o++]=new _f(new Ms(s,u+1+n,s,u+1+h+n),null),o>=c))return o;return o}let l;i.reset(0);do{if(l=i.next(e),l&&(r[o++]=jf(new Ms(s,l.index+1+n,s,l.index+1+l[0].length+n),l,h),o>=c))return o}while(l);return o}insert(t,i,e=!1){if(this._EOLNormalized=this._EOLNormalized&&e,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==iM){const{node:e,remainder:s,nodeStartOffset:n}=this.nodeAt(t),o=e.piece,r=o.bufferIndex,h=this.positionInBuffer(e,s);if(0===e.piece.bufferIndex&&o.end.line===this._lastChangeBufferPos.line&&o.end.column===this._lastChangeBufferPos.column&&n+o.length===t&&i.lengtht){const t=[];let n=new wM(o.bufferIndex,h,o.end,this.getLineFeedCnt(o.bufferIndex,h,o.end),this.offsetInBuffer(r,o.end)-this.offsetInBuffer(r,h));if(this.shouldCheckCRLF()&&this.endWithCR(i)&&10===this.nodeCharCodeAt(e,s)){const t={line:n.start.line+1,column:0};n=new wM(n.bufferIndex,t,n.end,this.getLineFeedCnt(n.bufferIndex,t,n.end),n.length-1),i+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(i))if(13===this.nodeCharCodeAt(e,s-1)){const n=this.positionInBuffer(e,s-1);this.deleteNodeTail(e,n),i="\r"+i,0===e.piece.length&&t.push(e)}else this.deleteNodeTail(e,h);else this.deleteNodeTail(e,h);const c=this.createNewPieces(i);n.length>0&&this.rbInsertRight(e,n);let a=e;for(let t=0;t=0;t--)n=this.rbInsertLeft(n,s[t]);this.validateCRLFWithPrevNode(n),this.deleteNodes(e)}insertContentToNodeRight(t,i){this.adjustCarriageReturnFromNext(t,i)&&(t+="\n");const e=this.createNewPieces(t),s=this.rbInsertRight(i,e[0]);let n=s;for(let t=1;t=a))break;r=c+1}return e?(e.line=c,e.column=o-l,null):{line:c,column:o-l}}getLineFeedCnt(t,i,e){if(0===e.column)return e.line-i.line;const s=this._buffers[t].lineStarts;if(e.line===s.length-1)return e.line-i.line;const n=s[e.line]+e.column;return s[e.line+1]>n+1?e.line-i.line:13===this._buffers[t].buffer.charCodeAt(n-1)?e.line-i.line+1:e.line-i.line}offsetInBuffer(t,i){return this._buffers[t].lineStarts[i.line]+i.column}deleteNodes(t){for(let i=0;ifM){const i=[];for(;t.length>fM;){const e=t.charCodeAt(65534);let s;13===e||e>=55296&&e<=56319?(s=t.substring(0,65534),t=t.substring(65534)):(s=t.substring(0,fM),t=t.substring(fM));const n=mM(s);i.push(new wM(this._buffers.length,{line:0,column:0},{line:n.length-1,column:s.length-n[n.length-1]},n.length-1,s.length)),this._buffers.push(new vM(s,n))}const e=mM(t);return i.push(new wM(this._buffers.length,{line:0,column:0},{line:e.length-1,column:t.length-e[e.length-1]},e.length-1,t.length)),this._buffers.push(new vM(t,e)),i}let i=this._buffers[0].buffer.length;const e=mM(t,!1);let s=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===i&&0!==i&&this.startWithLF(t)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},s=this._lastChangeBufferPos;for(let t=0;t=t-1)e=e.left;else{if(e.lf_left+e.piece.lineFeedCnt>t-1){const s=this.getAccumulatedValue(e,t-e.lf_left-2),r=this.getAccumulatedValue(e,t-e.lf_left-1),h=this._buffers[e.piece.bufferIndex].buffer,c=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);return n+=e.size_left,this._searchCache.set({node:e,nodeStartOffset:n,nodeStartLineNumber:o-(t-1-e.lf_left)}),h.substring(c+s,c+r-i)}if(e.lf_left+e.piece.lineFeedCnt===t-1){const i=this.getAccumulatedValue(e,t-e.lf_left-2),n=this._buffers[e.piece.bufferIndex].buffer,o=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);s=n.substring(o+i,o+e.piece.length);break}t-=e.lf_left+e.piece.lineFeedCnt,n+=e.size_left+e.piece.length,e=e.right}}for(e=e.next();e!==iM;){const t=this._buffers[e.piece.bufferIndex].buffer;if(e.piece.lineFeedCnt>0){const n=this.getAccumulatedValue(e,0),o=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);return s+=t.substring(o,o+n-i),s}{const i=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start);s+=t.substr(i,e.piece.length)}e=e.next()}return s}computeBufferMetadata(){let t=this.root,i=1,e=0;for(;t!==iM;)i+=t.lf_left+t.piece.lineFeedCnt,e+=t.size_left+t.piece.length,t=t.right;this._lineCnt=i,this._length=e,this._searchCache.validate(this._length)}getIndexOf(t,i){const e=t.piece,s=this.positionInBuffer(t,i),n=s.line-e.start.line;if(this.offsetInBuffer(e.bufferIndex,e.end)-this.offsetInBuffer(e.bufferIndex,e.start)===i){const i=this.getLineFeedCnt(t.piece.bufferIndex,e.start,s);if(i!==n)return{index:i,remainder:0}}return{index:n,remainder:s.column}}getAccumulatedValue(t,i){if(i<0)return 0;const e=t.piece,s=this._buffers[e.bufferIndex].lineStarts,n=e.start.line+i+1;return n>e.end.line?s[e.end.line]+e.end.column-s[e.start.line]-e.start.column:s[n]-s[e.start.line]-e.start.column}deleteNodeTail(t,i){const e=t.piece,s=e.lineFeedCnt,n=this.offsetInBuffer(e.bufferIndex,e.end),o=i,r=this.offsetInBuffer(e.bufferIndex,o),h=this.getLineFeedCnt(e.bufferIndex,e.start,o),c=h-s,a=r-n;t.piece=new wM(e.bufferIndex,e.start,o,h,e.length+a),uM(this,t,a,c)}deleteNodeHead(t,i){const e=t.piece,s=e.lineFeedCnt,n=this.offsetInBuffer(e.bufferIndex,e.start),o=i,r=this.getLineFeedCnt(e.bufferIndex,o,e.end),h=r-s,c=n-this.offsetInBuffer(e.bufferIndex,o);t.piece=new wM(e.bufferIndex,o,e.end,r,e.length+c),uM(this,t,c,h)}shrinkNode(t,i,e){const s=t.piece,n=s.start,o=s.end,r=s.length,h=s.lineFeedCnt,c=i,a=this.getLineFeedCnt(s.bufferIndex,s.start,c),l=this.offsetInBuffer(s.bufferIndex,i)-this.offsetInBuffer(s.bufferIndex,n);t.piece=new wM(s.bufferIndex,s.start,c,a,l),uM(this,t,l-r,a-h);const u=new wM(s.bufferIndex,e,o,this.getLineFeedCnt(s.bufferIndex,e,o),this.offsetInBuffer(s.bufferIndex,o)-this.offsetInBuffer(s.bufferIndex,e)),d=this.rbInsertRight(t,u);this.validateCRLFWithPrevNode(d)}appendToNode(t,i){this.adjustCarriageReturnFromNext(i,t)&&(i+="\n");const e=this.shouldCheckCRLF()&&this.startWithLF(i)&&this.endWithCR(t),s=this._buffers[0].buffer.length;this._buffers[0].buffer+=i;const n=mM(i,!1);for(let t=0;tt)i=i.left;else{if(i.size_left+i.piece.length>=t){s+=i.size_left;const e={node:i,remainder:t-i.size_left,nodeStartOffset:s};return this._searchCache.set(e),e}t-=i.size_left+i.piece.length,s+=i.size_left+i.piece.length,i=i.right}return null}nodeAt2(t,i){let e=this.root,s=0;for(;e!==iM;)if(e.left!==iM&&e.lf_left>=t-1)e=e.left;else{if(e.lf_left+e.piece.lineFeedCnt>t-1){const n=this.getAccumulatedValue(e,t-e.lf_left-2),o=this.getAccumulatedValue(e,t-e.lf_left-1);return s+=e.size_left,{node:e,remainder:Math.min(n+i-1,o),nodeStartOffset:s}}if(e.lf_left+e.piece.lineFeedCnt===t-1){const n=this.getAccumulatedValue(e,t-e.lf_left-2);if(n+i-1<=e.piece.length)return{node:e,remainder:n+i-1,nodeStartOffset:s};i-=e.piece.length-n;break}t-=e.lf_left+e.piece.lineFeedCnt,s+=e.size_left+e.piece.length,e=e.right}for(e=e.next();e!==iM;){if(e.piece.lineFeedCnt>0){const t=this.getAccumulatedValue(e,0),s=this.offsetOfNode(e);return{node:e,remainder:Math.min(i-1,t),nodeStartOffset:s}}if(e.piece.length>=i-1)return{node:e,remainder:i-1,nodeStartOffset:this.offsetOfNode(e)};i-=e.piece.length,e=e.next()}return null}nodeCharCodeAt(t,i){if(t.piece.lineFeedCnt<1)return-1;const e=this._buffers[t.piece.bufferIndex],s=this.offsetInBuffer(t.piece.bufferIndex,t.piece.start)+i;return e.buffer.charCodeAt(s)}offsetOfNode(t){if(!t)return 0;let i=t.size_left;for(;t!==this.root;)t.parent.right===t&&(i+=t.parent.size_left+t.parent.piece.length),t=t.parent;return i}shouldCheckCRLF(){return!(this._EOLNormalized&&"\n"===this._EOL)}startWithLF(t){if("string"==typeof t)return 10===t.charCodeAt(0);if(t===iM||0===t.piece.lineFeedCnt)return!1;const i=t.piece,e=this._buffers[i.bufferIndex].lineStarts,s=i.start.line,n=e[s]+i.start.column;return s!==e.length-1&&(!(e[s+1]>n+1)&&10===this._buffers[i.bufferIndex].buffer.charCodeAt(n))}endWithCR(t){return"string"==typeof t?13===t.charCodeAt(t.length-1):t!==iM&&0!==t.piece.lineFeedCnt&&13===this.nodeCharCodeAt(t,t.piece.length-1)}validateCRLFWithPrevNode(t){if(this.shouldCheckCRLF()&&this.startWithLF(t)){const i=t.prev();this.endWithCR(i)&&this.fixCRLF(i,t)}}validateCRLFWithNextNode(t){if(this.shouldCheckCRLF()&&this.endWithCR(t)){const i=t.next();this.startWithLF(i)&&this.fixCRLF(t,i)}}fixCRLF(t,i){const e=[],s=this._buffers[t.piece.bufferIndex].lineStarts;let n;n=0===t.piece.end.column?{line:t.piece.end.line-1,column:s[t.piece.end.line]-s[t.piece.end.line-1]-1}:{line:t.piece.end.line,column:t.piece.end.column-1},t.piece=new wM(t.piece.bufferIndex,t.piece.start,n,t.piece.lineFeedCnt-1,t.piece.length-1),uM(this,t,-1,-1),0===t.piece.length&&e.push(t);const o={line:i.piece.start.line+1,column:0},r=i.piece.length-1,h=this.getLineFeedCnt(i.piece.bufferIndex,o,i.piece.end);i.piece=new wM(i.piece.bufferIndex,o,i.piece.end,h,r),uM(this,i,-1,-1),0===i.piece.length&&e.push(i);const c=this.createNewPieces("\r\n");this.rbInsertRight(t,c[0]);for(let t=0;tt.sortIndex-i.sortIndex))}this._mightContainRTL=s,this._mightContainUnusualLineTerminators=n,this._mightContainNonBasicASCII=o;const d=this._doApplyEdits(h);let f=null;if(i&&l.length>0){l.sort(((t,i)=>i.lineNumber-t.lineNumber)),f=[];for(let t=0,i=l.length;t0&&l[t-1].lineNumber===i)continue;const e=l[t].oldContent,s=this.getLineContent(i);0!==s.length&&s!==e&&-1===to(s)&&f.push(i)}}return this._onDidChangeContent.fire(),new Pf(u,d,f)}_reduceOperations(t){return t.length<1e3?t:[this._toSingleEditOperation(t)]}_toSingleEditOperation(t){let i=!1;const e=t[0].range,s=t[t.length-1].range,n=new Ms(e.startLineNumber,e.startColumn,s.endLineNumber,s.endColumn);let o=e.startLineNumber,r=e.startColumn;const h=[];for(let e=0,s=t.length;e0&&h.push(s.text),o=n.endLineNumber,r=n.endColumn}const c=h.join(""),[a,l,u]=WD(c);return{sortIndex:0,identifier:t[0].identifier,range:n,rangeOffset:this.getOffsetAt(n.startLineNumber,n.startColumn),rangeLength:this.getValueLengthInRange(n,0),text:c,eolCount:a,firstLineLength:l,lastLineLength:u,forceMoveMarkers:i,isAutoWhitespaceEdit:!1}}_doApplyEdits(t){t.sort(xM._sortOpsDescending);const i=[];for(let e=0;e0){const t=r.eolCount+1;a=1===t?new Ms(h,c,h,c+r.firstLineLength):new Ms(h,c,h+t-1,r.lastLineLength+1)}else a=new Ms(h,c,h,c);e=a.endLineNumber,s=a.endColumn,i.push(a),n=r}return i}static _sortOpsAscending(t,i){const e=Ms.compareRangesUsingEnds(t.range,i.range);return 0===e?t.sortIndex-i.sortIndex:e}static _sortOpsDescending(t,i){const e=Ms.compareRangesUsingEnds(t.range,i.range);return 0===e?i.sortIndex-t.sortIndex:-e}}class CM{constructor(t,i,e,s,n,o,r,h,c){this._chunks=t,this._bom=i,this._cr=e,this._lf=s,this._crlf=n,this._containsRTL=o,this._containsUnusualLineTerminators=r,this._isBasicASCII=h,this._normalizeEOL=c}_getEOL(t){const i=this._cr+this._lf+this._crlf;return 0===i?1===t?"\n":"\r\n":this._cr+this._crlf>i/2?"\r\n":"\n"}create(t){const i=this._getEOL(t),e=this._chunks;if(this._normalizeEOL&&("\r\n"===i&&(this._cr>0||this._lf>0)||"\n"===i&&(this._cr>0||this._crlf>0)))for(let t=0,s=e.length;t=55296&&i<=56319?(this._acceptChunk1(t.substr(0,t.length-1),!1),this._hasPreviousChar=!0,this._previousChar=i):(this._acceptChunk1(t,!1),this._hasPreviousChar=!1,this._previousChar=i)}_acceptChunk1(t,i){(i||0!==t.length)&&this._acceptChunk2(this._hasPreviousChar?String.fromCharCode(this._previousChar)+t:t)}_acceptChunk2(t){const i=function(t,i){t.length=0,t[0]=0;let e=1,s=0,n=0,o=0,r=!0;for(let h=0,c=i.length;h126)&&(r=!1)}const h=new gM(pM(t),s,n,o,r);return t.length=0,h}(this._tmpLineStarts,t);this.chunks.push(new vM(t,i.lineStarts)),this.cr+=i.cr,this.lf+=i.lf,this.crlf+=i.crlf,i.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=So(t)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=Mo(t)))}finish(t=!0){return this._finish(),new CM(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,t)}_finish(){if(0===this.chunks.length&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const t=this.chunks[this.chunks.length-1];t.buffer+=String.fromCharCode(this._previousChar);const i=mM(t.buffer);t.lineStarts=i,13===this._previousChar&&this.cr++}}}class DM{constructor(t){this._default=t,this._store=[]}get(t){return t=this._store.length;)this._store[this._store.length]=this._default;this._store[t]=i}replace(t,i,e){if(t>=this._store.length)return;if(0===i)return void this.insert(t,e);if(0===e)return void this.delete(t,i);const s=this._store.slice(0,t),n=this._store.slice(t+i),o=function(t,i){const e=[];for(let s=0;s=this._store.length||this._store.splice(t,i)}insert(t,i){if(0===i||t>=this._store.length)return;const e=[];for(let t=0;t0){const e=this._tokens[this._tokens.length-1];if(e.endLineNumber+1===t)return void e.appendLineTokens(i)}this._tokens.push(new EM(t,[i]))}finalize(){return this._tokens}}class MM{constructor(t,i){this.tokenizationSupport=i,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new FM(t)}getStartState(t){return this.store.getStartState(t,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class LM extends MM{constructor(t,i,e,s){super(t,i),this._textModel=e,this._languageIdCodec=s}updateTokensUntilLine(t,i){const e=this._textModel.getLanguageId();for(;;){const s=this.getFirstInvalidLine();if(!s||s.lineNumber>i)break;const n=this._textModel.getLineContent(s.lineNumber),o=OM(this._languageIdCodec,e,this.tokenizationSupport,n,!0,s.startState);t.add(s.lineNumber,o.tokens),this.store.setEndState(s.lineNumber,o.endState)}}getTokenTypeIfInsertingCharacter(t,i){const e=this.getStartState(t.lineNumber);if(!e)return 0;const s=this._textModel.getLanguageId(),n=this._textModel.getLineContent(t.lineNumber),o=n.substring(0,t.column-1)+i+n.substring(t.column-1),r=OM(this._languageIdCodec,s,this.tokenizationSupport,o,!0,e),h=new Tg(r.tokens,o,this._languageIdCodec);if(0===h.getCount())return 0;const c=h.findTokenIndexAtOffset(t.column-1);return h.getStandardTokenType(c)}tokenizeLineWithEdit(t,i,e){const s=t.lineNumber,n=t.column,o=this.getStartState(s);if(!o)return null;const r=this._textModel.getLineContent(s),h=r.substring(0,n-1)+e+r.substring(n-1+i),c=this._textModel.getLanguageIdAtPosition(s,0),a=OM(this._languageIdCodec,c,this.tokenizationSupport,h,!0,o);return new Tg(a.tokens,h,this._languageIdCodec)}isCheapToTokenize(t){const i=this.store.getFirstInvalidEndStateLineNumberOrMax();return t1&&n>=1;n--){const t=this._textModel.getLineFirstNonWhitespaceColumn(n);if(0!==t&&t0&&e>0&&(e--,i--),this._lineEndStates.replace(t.startLineNumber,e,i)}}class RM{constructor(){this._ranges=[]}get min(){return 0===this._ranges.length?null:this._ranges[0].start}delete(t){const i=this._ranges.findIndex((i=>i.contains(t)));if(-1!==i){const e=this._ranges[i];e.start===t?e.endExclusive===t+1?this._ranges.splice(i,1):this._ranges[i]=new Jf(t+1,e.endExclusive):e.endExclusive===t+1?this._ranges[i]=new Jf(e.start,t):this._ranges.splice(i,1,new Jf(e.start,t),new Jf(t+1,e.endExclusive))}}addRange(t){Jf.addRange(t,this._ranges)}addRangeAndResize(t,i){let e=0;for(;!(e>=this._ranges.length||t.start<=this._ranges[e].endExclusive);)e++;let s=e;for(;!(s>=this._ranges.length||t.endExclusivet.toString())).join(" + ")}}function OM(t,i,e,s,n,o){let r=null;if(e)try{r=e.tokenizeEncoded(s,n,o.clone())}catch(t){Pi(t)}return r||(r=Lg(t.encodeLanguageId(i),o)),Tg.convertToEndOffset(r.tokens,s.length),r}class IM{constructor(t,i){this._tokenizerWithStateStore=t,this._backgroundTokenStore=i,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,gc((t=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(t)})))}_backgroundTokenizeWithDeadline(t){const i=Date.now()+t.timeRemaining(),e=()=>{!this._isDisposed&&this._tokenizerWithStateStore._textModel.isAttachedToEditor()&&this._hasLinesToTokenize()&&(this._backgroundTokenizeForAtLeast1ms(),Date.now()1)break;if(this._tokenizeOneInvalidLine(i)>=t)break}while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(i.finalize()),this.checkFinished()}_hasLinesToTokenize(){return!!this._tokenizerWithStateStore&&!this._tokenizerWithStateStore.store.allStatesValid()}_tokenizeOneInvalidLine(t){var i;const e=null===(i=this._tokenizerWithStateStore)||void 0===i?void 0:i.getFirstInvalidLine();return e?(this._tokenizerWithStateStore.updateTokensUntilLine(t,e.lineNumber),e.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(t,i){this._tokenizerWithStateStore.store.invalidateEndStateRange(new rp(t,i))}}const _M=new Uint32Array(0).buffer;class NM{static deleteBeginning(t,i){return null===t||t===_M?t:NM.delete(t,0,i)}static deleteEnding(t,i){if(null===t||t===_M)return t;const e=BM(t);return NM.delete(t,i,e[e.length-2])}static delete(t,i,e){if(null===t||t===_M||i===e)return t;const s=BM(t),n=s.length>>>1;if(0===i&&s[s.length-2]===e)return _M;const o=Tg.findIndexInTokensArray(s,i),r=o>0?s[o-1<<1]:0;if(ec&&(s[h++]=i,s[h++]=s[1+(t<<1)],c=i)}if(h===s.length)return t;const l=new Uint32Array(h);return l.set(s.subarray(0,h),0),l.buffer}static append(t,i){if(i===_M)return t;if(t===_M)return i;if(null===t)return t;if(null===i)return null;const e=BM(t),s=BM(i),n=s.length>>>1,o=new Uint32Array(e.length+s.length);o.set(e,0);let r=e.length;const h=e[e.length-2];for(let t=0;t>>1;let o=Tg.findIndexInTokensArray(s,i);o>0&&s[o-1<<1]===i&&o--;for(let t=o;t0}getTokens(t,i,e){let s=null;if(i1&&(i=Fg.getLanguageId(s[1])!==t),!i)return _M}if(!s||0===s.length){const e=new Uint32Array(2);return e[0]=i,e[1]=$M(t),e.buffer}return s[s.length-2]=i,0===s.byteOffset&&s.byteLength===s.buffer.byteLength?s.buffer:s}_ensureLine(t){for(;t>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(t,i){0!==i&&(t+i>this._len&&(i=this._len-t),this._lineTokens.splice(t,i),this._len-=i)}_insertLines(t,i){if(0===i)return;const e=[];for(let t=0;t=this._len)return;if(t.startLineNumber===t.endLineNumber){if(t.startColumn===t.endColumn)return;return void(this._lineTokens[i]=NM.delete(this._lineTokens[i],t.startColumn-1,t.endColumn-1))}this._lineTokens[i]=NM.deleteEnding(this._lineTokens[i],t.startColumn-1);const e=t.endLineNumber-1;let s=null;e=this._len||(0!==i?(this._lineTokens[s]=NM.deleteEnding(this._lineTokens[s],t.column-1),this._lineTokens[s]=NM.insert(this._lineTokens[s],t.column-1,e),this._insertLines(t.lineNumber,i)):this._lineTokens[s]=NM.insert(this._lineTokens[s],t.column-1,e))}setMultilineTokens(t,i){if(0===t.length)return{changes:[]};const e=[];for(let s=0,n=t.length;s>>0}class WM{constructor(t){this._pieces=[],this._isComplete=!1,this._languageIdCodec=t}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return 0===this._pieces.length}set(t,i){this._pieces=t||[],this._isComplete=i}setPartial(t,i){let e=t;if(i.length>0){const s=i[0].getRange(),n=i[i.length-1].getRange();if(!s||!n)return t;e=t.plusRange(s).plusRange(n)}let s=null;for(let t=0,i=this._pieces.length;te.endLineNumber){s=s||{index:t};break}if(n.removeTokens(e),n.isEmpty()){this._pieces.splice(t,1),t--,i--;continue}if(n.endLineNumbere.endLineNumber){s=s||{index:t};continue}const[o,r]=n.split(e);o.isEmpty()?s=s||{index:t}:r.isEmpty()||(this._pieces.splice(t,1,o,r),t++,i++,s=s||{index:t})}return s=s||{index:this._pieces.length},i.length>0&&(this._pieces=S(this._pieces,s.index,i)),e}isComplete(){return this._isComplete}addSparseTokens(t,i){if(0===i.getLineContent().length)return i;const e=this._pieces;if(0===e.length)return i;const s=e[WM._findFirstPieceWithLine(e,t)].getLineTokens(t);if(!s)return i;const n=i.getCount(),o=s.getCount();let r=0;const h=[];let c=0,a=0;const l=(t,i)=>{t!==a&&(a=t,h[c++]=t,h[c++]=i)};for(let t=0;t>>0,a=~c>>>0;for(;ri)){for(;n>e&&t[n-1].startLineNumber<=i&&i<=t[n-1].endLineNumber;)n--;return n}s=n-1}}return e}acceptEdit(t,i,e,s,n){for(const o of this._pieces)o.acceptEdit(t,i,e,s,n)}}class jM extends SS{constructor(t,i,e,s,n,o){super(),this._languageService=t,this._languageConfigurationService=i,this._textModel=e,this._bracketPairsTextModelPart=s,this._languageId=n,this._attachedViews=o,this._semanticTokens=new WM(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new fe),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new fe),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new fe),this.onDidChangeTokens=this._onDidChangeTokens.event,this.grammarTokens=this._register(new zM(this._languageService.languageIdCodec,this._textModel,(()=>this._languageId),this._attachedViews)),this._register(this._languageConfigurationService.onDidChange((t=>{t.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}))),this._register(this.grammarTokens.onDidChangeTokens((t=>{this._emitModelTokensChangedEvent(t)}))),this._register(this.grammarTokens.onDidChangeBackgroundTokenizationState((()=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})))}handleDidChangeContent(t){if(t.isFlush)this._semanticTokens.flush();else if(!t.isEolChange)for(const i of t.changes){const[t,e,s]=WD(i.text);this._semanticTokens.acceptEdit(i.range,t,e,s,i.text.length>0?i.text.charCodeAt(0):0)}this.grammarTokens.handleDidChangeContent(t)}handleDidChangeAttached(){this.grammarTokens.handleDidChangeAttached()}getLineTokens(t){this.validateLineNumber(t);const i=this.grammarTokens.getLineTokens(t);return this._semanticTokens.addSparseTokens(t,i)}_emitModelTokensChangedEvent(t){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(t),this._onDidChangeTokens.fire(t))}validateLineNumber(t){if(t<1||t>this._textModel.getLineCount())throw new Gi("Illegal value for lineNumber")}get hasTokens(){return this.grammarTokens.hasTokens}resetTokenization(){this.grammarTokens.resetTokenization()}get backgroundTokenizationState(){return this.grammarTokens.backgroundTokenizationState}forceTokenization(t){this.validateLineNumber(t),this.grammarTokens.forceTokenization(t)}isCheapToTokenize(t){return this.validateLineNumber(t),this.grammarTokens.isCheapToTokenize(t)}tokenizeIfCheap(t){this.validateLineNumber(t),this.grammarTokens.tokenizeIfCheap(t)}getTokenTypeIfInsertingCharacter(t,i,e){return this.grammarTokens.getTokenTypeIfInsertingCharacter(t,i,e)}tokenizeLineWithEdit(t,i,e){return this.grammarTokens.tokenizeLineWithEdit(t,i,e)}setSemanticTokens(t,i){this._semanticTokens.set(t,i),this._emitModelTokensChangedEvent({semanticTokensApplied:null!==t,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(t,i){if(this.hasCompleteSemanticTokens())return;const e=this._textModel.validateRange(this._semanticTokens.setPartial(t,i));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:e.startLineNumber,toLineNumber:e.endLineNumber}]})}getWordAtPosition(t){this.assertNotDisposed();const i=this._textModel.validatePosition(t),e=this._textModel.getLineContent(i.lineNumber),s=this.getLineTokens(i.lineNumber),n=s.findTokenIndexAtOffset(i.column-1),[o,r]=jM._findLanguageBoundaries(s,n),h=Jt(i.column,this.getLanguageConfiguration(s.getLanguageId(n)).getWordDefinition(),e.substring(o,r),o);if(h&&h.startColumn<=t.column&&t.column<=h.endColumn)return h;if(n>0&&o===i.column-1){const[o,r]=jM._findLanguageBoundaries(s,n-1),h=Jt(i.column,this.getLanguageConfiguration(s.getLanguageId(n-1)).getWordDefinition(),e.substring(o,r),o);if(h&&h.startColumn<=t.column&&t.column<=h.endColumn)return h}return null}getLanguageConfiguration(t){return this._languageConfigurationService.getLanguageConfiguration(t)}static _findLanguageBoundaries(t,i){const e=t.getLanguageId(i);let s=0;for(let n=i;n>=0&&t.getLanguageId(n)===e;n--)s=t.getStartOffset(n);let n=t.getLineContent().length;for(let s=i,o=t.getCount();s{const i=this.getLanguageId();-1!==t.changedLanguages.indexOf(i)&&this.resetTokenization()}))),this.resetTokenization(),this._register(s.onDidChangeVisibleRanges((({view:t,state:i})=>{if(i){let e=this._attachedViewStates.get(t);e||(e=new HM((()=>this.refreshRanges(e.lineRanges))),this._attachedViewStates.set(t,e)),e.handleStateChange(i)}else this._attachedViewStates.deleteAndDispose(t)})))}resetTokenization(t=!0){var i;this._tokens.flush(),null===(i=this._debugBackgroundTokens)||void 0===i||i.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new FM(this._textModel.getLineCount())),t&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const[e,s]=(()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const t=Zs.get(this.getLanguageId());if(!t)return[null,null];let i;try{i=t.getInitialState()}catch(t){return Pi(t),[null,null]}return[t,i]})();if(this._tokenizer=e&&s?new LM(this._textModel.getLineCount(),e,this._textModel,this._languageIdCodec):null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const t={setTokens:t=>{this.setTokens(t)},backgroundTokenizationFinished:()=>{2!==this._backgroundTokenizationState&&(this._backgroundTokenizationState=2,this._onDidChangeBackgroundTokenizationState.fire())},setEndState:(t,i)=>{var e;if(!this._tokenizer)return;const s=this._tokenizer.store.getFirstInvalidEndStateLineNumber();null!==s&&t>=s&&(null===(e=this._tokenizer)||void 0===e||e.store.setEndState(t,i))}};e&&e.createBackgroundTokenizer&&!e.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=e.createBackgroundTokenizer(this._textModel,t)),this._backgroundTokenizer.value||(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new IM(this._tokenizer,t),this._defaultBackgroundTokenizer.handleChanges()),(null==e?void 0:e.backgroundTokenizerShouldOnlyVerifyTokens)&&e.createBackgroundTokenizer?(this._debugBackgroundTokens=new PM(this._languageIdCodec),this._debugBackgroundStates=new FM(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=e.createBackgroundTokenizer(this._textModel,{setTokens:t=>{var i;null===(i=this._debugBackgroundTokens)||void 0===i||i.setMultilineTokens(t,this._textModel)},backgroundTokenizationFinished(){},setEndState:(t,i)=>{var e;null===(e=this._debugBackgroundStates)||void 0===e||e.setEndState(t,i)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){var t;null===(t=this._defaultBackgroundTokenizer)||void 0===t||t.handleChanges()}handleDidChangeContent(t){var i,e,s;if(t.isFlush)this.resetTokenization(!1);else if(!t.isEolChange){for(const e of t.changes){const[t,s]=WD(e.text);this._tokens.acceptEdit(e.range,t,s),null===(i=this._debugBackgroundTokens)||void 0===i||i.acceptEdit(e.range,t,s)}null===(e=this._debugBackgroundStates)||void 0===e||e.acceptChanges(t.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(t.changes),null===(s=this._defaultBackgroundTokenizer)||void 0===s||s.handleChanges()}}setTokens(t){const{changes:i}=this._tokens.setMultilineTokens(t,this._textModel);return i.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:i}),{changes:i}}refreshAllVisibleLineTokens(){const t=rp.joinMany([...this._attachedViewStates].map((([t,i])=>i.lineRanges)));this.refreshRanges(t)}refreshRanges(t){for(const i of t)this.refreshRange(i.startLineNumber,i.endLineNumberExclusive-1)}refreshRange(t,i){var e,s;if(!this._tokenizer)return;t=Math.max(1,Math.min(this._textModel.getLineCount(),t)),i=Math.min(this._textModel.getLineCount(),i);const n=new AM,{heuristicTokens:o}=this._tokenizer.tokenizeHeuristically(n,t,i),r=this.setTokens(n.finalize());if(o)for(const t of r.changes)null===(e=this._backgroundTokenizer.value)||void 0===e||e.requestTokens(t.fromLineNumber,t.toLineNumber+1);null===(s=this._defaultBackgroundTokenizer)||void 0===s||s.checkFinished()}forceTokenization(t){var i,e;const s=new AM;null===(i=this._tokenizer)||void 0===i||i.updateTokensUntilLine(s,t),this.setTokens(s.finalize()),null===(e=this._defaultBackgroundTokenizer)||void 0===e||e.checkFinished()}isCheapToTokenize(t){return!this._tokenizer||this._tokenizer.isCheapToTokenize(t)}tokenizeIfCheap(t){this.isCheapToTokenize(t)&&this.forceTokenization(t)}getLineTokens(t){var i;const e=this._textModel.getLineContent(t),s=this._tokens.getTokens(this._textModel.getLanguageId(),t-1,e);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>t&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>t){const n=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),t-1,e);!s.equals(n)&&(null===(i=this._debugBackgroundTokenizer.value)||void 0===i?void 0:i.reportMismatchingTokens)&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(t)}return s}getTokenTypeIfInsertingCharacter(t,i,e){if(!this._tokenizer)return 0;const s=this._textModel.validatePosition(new As(t,i));return this.forceTokenization(s.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(s,e)}tokenizeLineWithEdit(t,i,e){if(!this._tokenizer)return null;const s=this._textModel.validatePosition(t);return this.forceTokenization(s.lineNumber),this._tokenizer.tokenizeLineWithEdit(s,i,e)}get hasTokens(){return this._tokens.hasTokens}}class HM extends ie{get lineRanges(){return this._lineRanges}constructor(t){super(),this._refreshTokens=t,this.runner=this._register(new pc((()=>this.update()),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){u(this._computedLineRanges,this._lineRanges,((t,i)=>t.equals(i)))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(t){this._lineRanges=t.visibleLineRanges,t.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}class VM{constructor(){this.changeType=1}}class UM{static applyInjectedText(t,i){if(!i||0===i.length)return t;let e="",s=0;for(const n of i)e+=t.substring(s,n.column-1),s=n.column-1,e+=n.options.content;return e+=t.substring(s),e}static fromDecorations(t){const i=[];for(const e of t)e.options.before&&e.options.before.content.length>0&&i.push(new UM(e.ownerId,e.range.startLineNumber,e.range.startColumn,e.options.before,0)),e.options.after&&e.options.after.content.length>0&&i.push(new UM(e.ownerId,e.range.endLineNumber,e.range.endColumn,e.options.after,1));return i.sort(((t,i)=>t.lineNumber===i.lineNumber?t.column===i.column?t.order-i.order:t.column-i.column:t.lineNumber-i.lineNumber)),i}constructor(t,i,e,s,n){this.ownerId=t,this.lineNumber=i,this.column=e,this.options=s,this.order=n}}class qM{constructor(t,i,e){this.changeType=2,this.lineNumber=t,this.detail=i,this.injectedText=e}}class KM{constructor(t,i){this.changeType=3,this.fromLineNumber=t,this.toLineNumber=i}}class GM{constructor(t,i,e,s){this.changeType=4,this.injectedTexts=s,this.fromLineNumber=t,this.toLineNumber=i,this.detail=e}}class ZM{constructor(){this.changeType=5}}class QM{constructor(t,i,e,s){this.changes=t,this.versionId=i,this.isUndoing=e,this.isRedoing=s,this.resultingSelection=null}containsEvent(t){for(let i=0,e=this.changes.length;i0&&(t[i++]=s,e+=s.length),e>=65536)return t.join("")}}}const cL=()=>{throw new Error("Invalid change accessor")};let aL=sL=class extends ie{static resolveOptions(t,i){if(i.detectIndentation){const e=FA(t,i.tabSize,i.insertSpaces);return new If({tabSize:e.tabSize,indentSize:"tabSize",insertSpaces:e.insertSpaces,trimAutoWhitespace:i.trimAutoWhitespace,defaultEOL:i.defaultEOL,bracketPairColorizationOptions:i.bracketPairColorizationOptions})}return new If(i)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(t){return this._eventEmitter.slowEvent((i=>t(i.contentChangedEvent)))}onDidChangeContentOrInjectedText(t){return Yi(this._eventEmitter.fastEvent((i=>t(i))),this._onDidChangeInjectedText.event((i=>t(i))))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(t,i,e,s=null,n,o,r){super(),this._undoRedoService=n,this._languageService=o,this._languageConfigurationService=r,this._onWillDispose=this._register(new fe),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new xL((t=>this.handleBeforeFireDecorationsChangedEvent(t)))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new fe),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new fe),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new fe),this._eventEmitter=this._register(new CL),this._languageSelectionListener=this._register(new ee),this._deltaDecorationCallCnt=0,this._attachedViews=new SL,rL++,this.id="$model"+rL,this.isForSimpleWidget=e.isForSimpleWidget,this._associatedResource=null==s?ms.parse("inmemory://model/"+rL):s,this._attachedEditorCount=0;const{textBuffer:h,disposable:c}=oL(t,e.defaultEOL);this._buffer=h,this._bufferDisposable=c,this._options=sL.resolveOptions(this._buffer,e);const a="string"==typeof i?i:i.languageId;"string"!=typeof i&&(this._languageSelectionListener.value=i.onDidChange((()=>this._setLanguage(i.languageId)))),this._bracketPairs=this._register(new KE(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new MS(this,this._languageConfigurationService)),this._decorationProvider=this._register(new JE(this)),this._tokenizationTextModelPart=new jM(this._languageService,this._languageConfigurationService,this,this._bracketPairs,a,this._attachedViews);const l=this._buffer.getLineCount(),u=this._buffer.getValueLengthInRange(new Ms(1,1,l,this._buffer.getLineLength(l)+1),0);e.largeFileOptimizations?(this._isTooLargeForTokenization=u>sL.LARGE_FILE_SIZE_THRESHOLD||l>sL.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=u>sL.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=u>sL._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=Oo(rL),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new dL,this._commandManager=new AA(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(a)}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const t=new xM([],"","\n",!1,!1,!0,!0);t.dispose(),this._buffer=t,this._bufferDisposable=ie.None}_assertNotDisposed(){if(this._isDisposed)throw new Error("Model is disposed!")}_emitContentChangedEvent(t,i){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(i),this._bracketPairs.handleDidChangeContent(i),this._eventEmitter.fire(new YM(t,i)))}setValue(t){if(this._assertNotDisposed(),null==t)throw Vi();const{textBuffer:i,disposable:e}=oL(t,this._options.defaultEOL);this._setValueFromTextBuffer(i,e)}_createContentChanged2(t,i,e,s,n,o,r,h){return{changes:[{range:t,rangeOffset:i,rangeLength:e,text:s}],eol:this._buffer.getEOL(),isEolChange:h,versionId:this.getVersionId(),isUndoing:n,isRedoing:o,isFlush:r}}_setValueFromTextBuffer(t,i){this._assertNotDisposed();const e=this.getFullModelRange(),s=this.getValueLengthInRange(e),n=this.getLineCount(),o=this.getLineMaxColumn(n);this._buffer=t,this._bufferDisposable.dispose(),this._bufferDisposable=i,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new dL,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new QM([new VM],this._versionId,!1,!1),this._createContentChanged2(new Ms(1,1,n,o),0,s,this.getValue(),!1,!1,!0,!1))}setEOL(t){this._assertNotDisposed();const i=1===t?"\r\n":"\n";if(this._buffer.getEOL()===i)return;const e=this.getFullModelRange(),s=this.getValueLengthInRange(e),n=this.getLineCount(),o=this.getLineMaxColumn(n);this._onBeforeEOLChange(),this._buffer.setEOL(i),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new QM([new ZM],this._versionId,!1,!1),this._createContentChanged2(new Ms(1,1,n,o),0,s,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const t=this.getVersionId(),i=this._decorationsTree.collectNodesPostOrder();for(let e=0,s=i.length;e0}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 t=0,i=0;const e=this._buffer.getLineCount();for(let s=1;s<=e;s++){const e=this._buffer.getLineLength(s);e>=1e4?i+=e:t+=e}return i>t}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(t){this._assertNotDisposed();const i=new If({tabSize:void 0!==t.tabSize?t.tabSize:this._options.tabSize,indentSize:void 0!==t.indentSize?t.indentSize:this._options.originalIndentSize,insertSpaces:void 0!==t.insertSpaces?t.insertSpaces:this._options.insertSpaces,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:void 0!==t.trimAutoWhitespace?t.trimAutoWhitespace:this._options.trimAutoWhitespace,bracketPairColorizationOptions:void 0!==t.bracketColorizationOptions?t.bracketColorizationOptions:this._options.bracketPairColorizationOptions});if(this._options.equals(i))return;const e=this._options.createChangeEvent(i);this._options=i,this._bracketPairs.handleDidChangeOptions(e),this._decorationProvider.handleDidChangeOptions(e),this._onDidChangeOptions.fire(e)}detectIndentation(t,i){this._assertNotDisposed();const e=FA(this._buffer,i,t);this.updateOptions({insertSpaces:e.insertSpaces,tabSize:e.tabSize,indentSize:e.tabSize})}normalizeIndentation(t){return this._assertNotDisposed(),sC(t,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(t=null){const i=this.findMatches(Ao.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(t,i.map((t=>({range:t.range,text:null}))),(()=>null))}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(t){this._assertNotDisposed();const i=this._validatePosition(t.lineNumber,t.column,0);return this._buffer.getOffsetAt(i.lineNumber,i.column)}getPositionAt(t){this._assertNotDisposed();const i=Math.min(this._buffer.getLength(),Math.max(0,t));return this._buffer.getPositionAt(i)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(t){this._versionId=t}_overwriteAlternativeVersionId(t){this._alternativeVersionId=t}_overwriteInitialUndoRedoSnapshot(t){this._initialUndoRedoSnapshot=t}getValue(t,i=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new Gi("Operation would exceed heap memory limits");const e=this.getFullModelRange(),s=this.getValueInRange(e,t);return i?this._buffer.getBOM()+s:s}createSnapshot(t=!1){return new hL(this._buffer.createSnapshot(t))}getValueLength(t,i=!1){this._assertNotDisposed();const e=this.getFullModelRange(),s=this.getValueLengthInRange(e,t);return i?this._buffer.getBOM().length+s:s}getValueInRange(t,i=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(t),i)}getValueLengthInRange(t,i=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(t),i)}getCharacterCountInRange(t,i=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(t),i)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Gi("Illegal value for lineNumber");return this._buffer.getLineContent(t)}getLineLength(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Gi("Illegal value for lineNumber");return this._buffer.getLineLength(t)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new Gi("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(t){return this._assertNotDisposed(),1}getLineMaxColumn(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Gi("Illegal value for lineNumber");return this._buffer.getLineLength(t)+1}getLineFirstNonWhitespaceColumn(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Gi("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(t)}getLineLastNonWhitespaceColumn(t){if(this._assertNotDisposed(),t<1||t>this.getLineCount())throw new Gi("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(t)}_validateRangeRelaxedNoAllocations(t){const i=this._buffer.getLineCount(),e=t.startLineNumber,s=t.startColumn;let n=Math.floor("number"!=typeof e||isNaN(e)?1:e),o=Math.floor("number"!=typeof s||isNaN(s)?1:s);if(n<1)n=1,o=1;else if(n>i)n=i,o=this.getLineMaxColumn(n);else if(o<=1)o=1;else{const t=this.getLineMaxColumn(n);o>=t&&(o=t)}const r=t.endLineNumber,h=t.endColumn;let c=Math.floor("number"!=typeof r||isNaN(r)?1:r),a=Math.floor("number"!=typeof h||isNaN(h)?1:h);if(c<1)c=1,a=1;else if(c>i)c=i,a=this.getLineMaxColumn(c);else if(a<=1)a=1;else{const t=this.getLineMaxColumn(c);a>=t&&(a=t)}return e===n&&s===o&&r===c&&h===a&&t instanceof Ms&&!(t instanceof Ls)?t:new Ms(n,o,c,a)}_isValidPosition(t,i,e){return"number"==typeof t&&"number"==typeof i&&(!isNaN(t)&&!isNaN(i)&&(!(t<1||i<1)&&((0|t)===t&&(0|i)===i&&(!(t>this._buffer.getLineCount())&&(1===i||!(i>this.getLineMaxColumn(t))&&(1!==e||!go(this._buffer.getLineCharCode(t,i-2))))))))}_validatePosition(t,i,e){const s=Math.floor("number"!=typeof t||isNaN(t)?1:t),n=Math.floor("number"!=typeof i||isNaN(i)?1:i),o=this._buffer.getLineCount();if(s<1)return new As(1,1);if(s>o)return new As(o,this.getLineMaxColumn(o));if(n<=1)return new As(s,1);const r=this.getLineMaxColumn(s);return n>=r?new As(s,r):1===e&&go(this._buffer.getLineCharCode(s,n-2))?new As(s,n-1):new As(s,n)}validatePosition(t){return this._assertNotDisposed(),t instanceof As&&this._isValidPosition(t.lineNumber,t.column,1)?t:this._validatePosition(t.lineNumber,t.column,1)}_isValidRange(t,i){const e=t.startLineNumber,s=t.startColumn,n=t.endLineNumber,o=t.endColumn;if(!this._isValidPosition(e,s,0))return!1;if(!this._isValidPosition(n,o,0))return!1;if(1===i){const t=s>1?this._buffer.getLineCharCode(e,s-2):0,i=o>1&&o<=this._buffer.getLineLength(n)?this._buffer.getLineCharCode(n,o-2):0,r=go(t),h=go(i);return!r&&!h}return!0}validateRange(t){if(this._assertNotDisposed(),t instanceof Ms&&!(t instanceof Ls)&&this._isValidRange(t,1))return t;const i=this._validatePosition(t.startLineNumber,t.startColumn,0),e=this._validatePosition(t.endLineNumber,t.endColumn,0),s=i.lineNumber,n=i.column,o=e.lineNumber,r=e.column;{const t=n>1?this._buffer.getLineCharCode(s,n-2):0,i=r>1&&r<=this._buffer.getLineLength(o)?this._buffer.getLineCharCode(o,r-2):0,e=go(t),h=go(i);return e||h?s===o&&n===r?new Ms(s,n-1,o,r-1):e&&h?new Ms(s,n-1,o,r+1):e?new Ms(s,n-1,o,r):new Ms(s,n,o,r+1):new Ms(s,n,o,r)}}modifyPosition(t,i){this._assertNotDisposed();const e=this.getOffsetAt(t)+i;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,e)))}getFullModelRange(){this._assertNotDisposed();const t=this.getLineCount();return new Ms(1,1,t,this.getLineMaxColumn(t))}findMatchesLineByLine(t,i,e,s){return this._buffer.findMatchesLineByLine(t,i,e,s)}findMatches(t,i,e,s,n,o,r=999){this._assertNotDisposed();let h=null;null!==i&&(Array.isArray(i)||(i=[i]),i.every((t=>Ms.isIRange(t)))&&(h=i.map((t=>this.validateRange(t))))),null===h&&(h=[this.getFullModelRange()]),h=h.sort(((t,i)=>t.startLineNumber-i.startLineNumber||t.startColumn-i.startColumn));const c=[];let a;if(c.push(h.reduce(((t,i)=>Ms.areIntersecting(t,i)?t.plusRange(i):(c.push(t),i)))),!e&&t.indexOf("\n")<0){const i=new Wf(t,e,s,n).parseSearchRequest();if(!i)return[];a=t=>this.findMatchesLineByLine(t,i,o,r)}else a=i=>Hf.findMatches(this,new Wf(t,e,s,n),i,o,r);return c.map(a).reduce(((t,i)=>t.concat(i)),[])}findNextMatch(t,i,e,s,n,o){this._assertNotDisposed();const r=this.validatePosition(i);if(!e&&t.indexOf("\n")<0){const i=new Wf(t,e,s,n).parseSearchRequest();if(!i)return null;const h=this.getLineCount();let c=new Ms(r.lineNumber,r.column,h,this.getLineMaxColumn(h)),a=this.findMatchesLineByLine(c,i,o,1);return Hf.findNextMatch(this,new Wf(t,e,s,n),r,o),a.length>0?a[0]:(c=new Ms(1,1,r.lineNumber,this.getLineMaxColumn(r.lineNumber)),a=this.findMatchesLineByLine(c,i,o,1),a.length>0?a[0]:null)}return Hf.findNextMatch(this,new Wf(t,e,s,n),r,o)}findPreviousMatch(t,i,e,s,n,o){this._assertNotDisposed();const r=this.validatePosition(i);return Hf.findPreviousMatch(this,new Wf(t,e,s,n),r,o)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(t){if(("\n"===this.getEOL()?0:1)!==t)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(t){return t instanceof Nf?t:new Nf(t.identifier||null,this.validateRange(t.range),t.text,t.forceMoveMarkers||!1,t.isAutoWhitespaceEdit||!1,t._isTracked||!1)}_validateEditOperations(t){const i=[];for(let e=0,s=t.length;e({range:this.validateRange(t.range),text:t.text})));let s=!0;if(t)for(let i=0,n=t.length;in.endLineNumber||n.startLineNumber>i.endLineNumber)){o=!0;break}}if(!o){s=!1;break}}if(s)for(let t=0,s=this._trimAutoWhitespaceLines.length;ti.endLineNumber||s===i.startLineNumber&&i.startColumn===n&&i.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(0)||s===i.startLineNumber&&1===i.startColumn&&i.isEmpty()&&r&&r.length>0&&"\n"===r.charAt(r.length-1))){o=!1;break}}if(o){const t=new Ms(s,1,s,n);i.push(new Nf(null,t,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return null===this._initialUndoRedoSnapshot&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(t,i,e,s)}_applyUndo(t,i,e,s){const n=t.map((t=>{const i=this.getPositionAt(t.newPosition),e=this.getPositionAt(t.newEnd);return{range:new Ms(i.lineNumber,i.column,e.lineNumber,e.column),text:t.oldText}}));this._applyUndoRedoEdits(n,i,!0,!1,e,s)}_applyRedo(t,i,e,s){const n=t.map((t=>{const i=this.getPositionAt(t.oldPosition),e=this.getPositionAt(t.oldEnd);return{range:new Ms(i.lineNumber,i.column,e.lineNumber,e.column),text:t.newText}}));this._applyUndoRedoEdits(n,i,!1,!0,e,s)}_applyUndoRedoEdits(t,i,e,s,n,o){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=e,this._isRedoing=s,this.applyEdits(t,!1),this.setEOL(i),this._overwriteAlternativeVersionId(n)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(o),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(t,i=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const e=this._validateEditOperations(t);return this._doApplyEdits(e,i)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(t,i){const e=this._buffer.getLineCount(),s=this._buffer.applyEdits(t,this._options.trimAutoWhitespace,i),n=this._buffer.getLineCount(),o=s.changes;if(this._trimAutoWhitespaceLines=s.trimAutoWhitespaceLineNumbers,0!==o.length){for(let t=0,i=o.length;t=0;i--){const e=h+i,s=f+i;w.takeFromEndWhile((t=>t.lineNumber>s));const n=w.takeFromEndWhile((t=>t.lineNumber===s));t.push(new qM(e,this.getLineContent(s),n))}if(ut.lineNumbert.lineNumber===i))}t.push(new GM(s+1,h+l,a,c))}i+=d}this._emitContentChangedEvent(new QM(t,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:o,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return null===s.reverseEdits?void 0:s.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(t){if(null===t||0===t.size)return;const i=Array.from(t).map((t=>new qM(t,this.getLineContent(t),this._getInjectedTextInLine(t))));this._onDidChangeInjectedText.fire(new JM(i))}changeDecorations(t,i=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(i,t)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(t,i){const e={addDecoration:(i,e)=>this._deltaDecorationsImpl(t,[],[{range:i,options:e}])[0],changeDecoration:(t,i)=>{this._changeDecorationImpl(t,i)},changeDecorationOptions:(t,i)=>{this._changeDecorationOptionsImpl(t,kL(i))},removeDecoration:i=>{this._deltaDecorationsImpl(t,[i],[])},deltaDecorations:(i,e)=>0===i.length&&0===e.length?[]:this._deltaDecorationsImpl(t,i,e)};let s=null;try{s=i(e)}catch(t){Pi(t)}return e.addDecoration=cL,e.changeDecoration=cL,e.changeDecorationOptions=cL,e.removeDecoration=cL,e.deltaDecorations=cL,s}deltaDecorations(t,i,e=0){if(this._assertNotDisposed(),t||(t=[]),0===t.length&&0===i.length)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),Pi(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(e,t,i)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(t){return this.getDecorationRange(t)}_setTrackedRange(t,i,e){const s=t?this._decorations[t]:null;if(!s)return i?this._deltaDecorationsImpl(0,[],[{range:i,options:yL[e]}],!0)[0]:null;if(!i)return this._decorationsTree.delete(s),delete this._decorations[s.id],null;const n=this._validateRangeRelaxedNoAllocations(i),o=this._buffer.getOffsetAt(n.startLineNumber,n.startColumn),r=this._buffer.getOffsetAt(n.endLineNumber,n.endColumn);return this._decorationsTree.delete(s),s.reset(this.getVersionId(),o,r,n),s.setOptions(yL[e]),this._decorationsTree.insert(s),s.id}removeAllDecorationsWithOwnerId(t){if(this._isDisposed)return;const i=this._decorationsTree.collectNodesFromOwner(t);for(let t=0,e=i.length;tthis.getLineCount()?[]:this.getLinesDecorations(t,t,i,e)}getLinesDecorations(t,i,e=0,s=!1,n=!1){const o=this.getLineCount(),r=Math.min(o,Math.max(1,t)),h=Math.min(o,Math.max(1,i)),c=this.getLineMaxColumn(h),a=new Ms(r,1,h,c),l=this._getDecorationsInRange(a,e,s,n);return A(l,this._decorationProvider.getDecorationsInRange(a,e,s)),l}getDecorationsInRange(t,i=0,e=!1,s=!1,n=!1){const o=this.validateRange(t),r=this._getDecorationsInRange(o,i,e,n);return A(r,this._decorationProvider.getDecorationsInRange(o,i,e,s)),r}getOverviewRulerDecorations(t=0,i=!1){return this._decorationsTree.getAll(this,t,i,!0,!1)}getInjectedTextDecorations(t=0){return this._decorationsTree.getAllInjectedText(this,t)}_getInjectedTextInLine(t){const i=this._buffer.getOffsetAt(t,1),e=i+this._buffer.getLineLength(t),s=this._decorationsTree.getInjectedTextInInterval(this,i,e,0);return UM.fromDecorations(s).filter((i=>i.lineNumber===t))}getAllDecorations(t=0,i=!1){let e=this._decorationsTree.getAll(this,t,i,!1,!1);return e=e.concat(this._decorationProvider.getAllDecorations(t,i)),e}getAllMarginDecorations(t=0){return this._decorationsTree.getAll(this,t,!1,!1,!0)}_getDecorationsInRange(t,i,e,s){const n=this._buffer.getOffsetAt(t.startLineNumber,t.startColumn),o=this._buffer.getOffsetAt(t.endLineNumber,t.endColumn);return this._decorationsTree.getAllInInterval(this,n,o,i,e,s)}getRangeAt(t,i){return this._buffer.getRangeAt(t,i-t)}_changeDecorationImpl(t,i){const e=this._decorations[t];if(!e)return;if(e.options.after){const i=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.endLineNumber)}if(e.options.before){const i=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.startLineNumber)}const s=this._validateRangeRelaxedNoAllocations(i),n=this._buffer.getOffsetAt(s.startLineNumber,s.startColumn),o=this._buffer.getOffsetAt(s.endLineNumber,s.endColumn);this._decorationsTree.delete(e),e.reset(this.getVersionId(),n,o,s),this._decorationsTree.insert(e),this._onDidChangeDecorations.checkAffectedAndFire(e.options),e.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.endLineNumber),e.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(s.startLineNumber)}_changeDecorationOptionsImpl(t,i){const e=this._decorations[t];if(!e)return;const s=!(!e.options.overviewRuler||!e.options.overviewRuler.color),n=!(!i.overviewRuler||!i.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(e.options),this._onDidChangeDecorations.checkAffectedAndFire(i),e.options.after||i.after){const t=this._decorationsTree.getNodeRange(this,e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.endLineNumber)}if(e.options.before||i.before){const t=this._decorationsTree.getNodeRange(this,e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(t.startLineNumber)}s!==n?(this._decorationsTree.delete(e),e.setOptions(i),this._decorationsTree.insert(e)):e.setOptions(i)}_deltaDecorationsImpl(t,i,e,s=!1){const n=this.getVersionId(),o=i.length;let r=0;const h=e.length;let c=0;this._onDidChangeDecorations.beginDeferredEmit();try{const a=new Array(h);for(;rthis._setLanguage(t.languageId,i))),this._setLanguage(t.languageId,i))}_setLanguage(t,i){this.tokenization.setLanguageId(t,i),this._languageService.requestRichLanguageFeatures(t)}getLanguageIdAtPosition(t,i){return this.tokenization.getLanguageIdAtPosition(t,i)}getWordAtPosition(t){return this._tokenizationTextModelPart.getWordAtPosition(t)}getWordUntilPosition(t){return this._tokenizationTextModelPart.getWordUntilPosition(t)}normalizePosition(t,i){return t}getLineIndentColumn(t){return function(t){let i=0;for(const e of t){if(" "!==e&&"\t"!==e)break;i++}return i}(this.getLineContent(t))+1}};function lL(t){return!(!t.options.overviewRuler||!t.options.overviewRuler.color)}function uL(t){return!!t.options.after||!!t.options.before}aL._MODEL_SYNC_LIMIT=52428800,aL.LARGE_FILE_SIZE_THRESHOLD=20971520,aL.LARGE_FILE_LINE_COUNT_THRESHOLD=3e5,aL.LARGE_FILE_HEAP_OPERATION_THRESHOLD=268435456,aL.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:Ht.tabSize,indentSize:Ht.indentSize,insertSpaces:Ht.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:Ht.trimAutoWhitespace,largeFileOptimizations:Ht.largeFileOptimizations,bracketPairColorizationOptions:Ht.bracketPairColorizationOptions},aL=sL=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([nL(4,XM),nL(5,yd),nL(6,qd)],aL);class dL{constructor(){this._decorationsTree0=new HA,this._decorationsTree1=new HA,this._injectedTextDecorationsTree=new HA}ensureAllNodesHaveRanges(t){this.getAll(t,0,!1,!1,!1)}_ensureNodesHaveRanges(t,i){for(const e of i)null===e.range&&(e.range=t.getRangeAt(e.cachedAbsoluteStart,e.cachedAbsoluteEnd));return i}getAllInInterval(t,i,e,s,n,o){const r=t.getVersionId(),h=this._intervalSearch(i,e,s,n,r,o);return this._ensureNodesHaveRanges(t,h)}_intervalSearch(t,i,e,s,n,o){const r=this._decorationsTree0.intervalSearch(t,i,e,s,n,o),h=this._decorationsTree1.intervalSearch(t,i,e,s,n,o),c=this._injectedTextDecorationsTree.intervalSearch(t,i,e,s,n,o);return r.concat(h).concat(c)}getInjectedTextInInterval(t,i,e,s){const n=t.getVersionId(),o=this._injectedTextDecorationsTree.intervalSearch(i,e,s,!1,n,!1);return this._ensureNodesHaveRanges(t,o).filter((t=>t.options.showIfCollapsed||!t.range.isEmpty()))}getAllInjectedText(t,i){const e=t.getVersionId(),s=this._injectedTextDecorationsTree.search(i,!1,e,!1);return this._ensureNodesHaveRanges(t,s).filter((t=>t.options.showIfCollapsed||!t.range.isEmpty()))}getAll(t,i,e,s,n){const o=t.getVersionId(),r=this._search(i,e,s,o,n);return this._ensureNodesHaveRanges(t,r)}_search(t,i,e,s,n){if(e)return this._decorationsTree1.search(t,i,s,n);{const e=this._decorationsTree0.search(t,i,s,n),o=this._decorationsTree1.search(t,i,s,n),r=this._injectedTextDecorationsTree.search(t,i,s,n);return e.concat(o).concat(r)}}collectNodesFromOwner(t){const i=this._decorationsTree0.collectNodesFromOwner(t),e=this._decorationsTree1.collectNodesFromOwner(t),s=this._injectedTextDecorationsTree.collectNodesFromOwner(t);return i.concat(e).concat(s)}collectNodesPostOrder(){const t=this._decorationsTree0.collectNodesPostOrder(),i=this._decorationsTree1.collectNodesPostOrder(),e=this._injectedTextDecorationsTree.collectNodesPostOrder();return t.concat(i).concat(e)}insert(t){uL(t)?this._injectedTextDecorationsTree.insert(t):lL(t)?this._decorationsTree1.insert(t):this._decorationsTree0.insert(t)}delete(t){uL(t)?this._injectedTextDecorationsTree.delete(t):lL(t)?this._decorationsTree1.delete(t):this._decorationsTree0.delete(t)}getNodeRange(t,i){const e=t.getVersionId();return i.cachedVersionId!==e&&this._resolveNode(i,e),null===i.range&&(i.range=t.getRangeAt(i.cachedAbsoluteStart,i.cachedAbsoluteEnd)),i.range}_resolveNode(t,i){uL(t)?this._injectedTextDecorationsTree.resolveNode(t,i):lL(t)?this._decorationsTree1.resolveNode(t,i):this._decorationsTree0.resolveNode(t,i)}acceptReplace(t,i,e,s){this._decorationsTree0.acceptReplace(t,i,e,s),this._decorationsTree1.acceptReplace(t,i,e,s),this._injectedTextDecorationsTree.acceptReplace(t,i,e,s)}}function fL(t){return t.replace(/[^a-z0-9\-_]/gi," ")}class pL{constructor(t){this.color=t.color||"",this.darkColor=t.darkColor||""}}class gL extends pL{constructor(t){super(t),this._resolvedColor=null,this.position="number"==typeof t.position?t.position:Mf.Center}getColor(t){return this._resolvedColor||(this._resolvedColor=this._resolveColor("light"!==t.type&&this.darkColor?this.darkColor:this.color,t)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(t,i){if("string"==typeof t)return t;const e=t?i.getColor(t.id):null;return e?e.toString():""}}class mL{constructor(t){var i;this.position=null!==(i=null==t?void 0:t.position)&&void 0!==i?i:Lf.Left}}class wL extends pL{constructor(t){super(t),this.position=t.position}getColor(t){return this._resolvedColor||(this._resolvedColor=this._resolveColor("light"!==t.type&&this.darkColor?this.darkColor:this.color,t)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(t,i){return"string"==typeof t?sg.fromHex(t):i.getColor(t.id)}}class vL{static from(t){return t instanceof vL?t:new vL(t)}constructor(t){this.content=t.content||"",this.inlineClassName=t.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=t.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=t.attachedData||null,this.cursorStops=t.cursorStops||null}}class bL{static register(t){return new bL(t)}static createDynamic(t){return new bL(t)}constructor(t){var i,e,s,n,o,r;this.description=t.description,this.blockClassName=t.blockClassName?fL(t.blockClassName):null,this.blockDoesNotCollapse=null!==(i=t.blockDoesNotCollapse)&&void 0!==i?i:null,this.blockIsAfterEnd=null!==(e=t.blockIsAfterEnd)&&void 0!==e?e:null,this.blockPadding=null!==(s=t.blockPadding)&&void 0!==s?s:null,this.stickiness=t.stickiness||0,this.zIndex=t.zIndex||0,this.className=t.className?fL(t.className):null,this.shouldFillLineOnLineBreak=null!==(n=t.shouldFillLineOnLineBreak)&&void 0!==n?n:null,this.hoverMessage=t.hoverMessage||null,this.glyphMarginHoverMessage=t.glyphMarginHoverMessage||null,this.isWholeLine=t.isWholeLine||!1,this.showIfCollapsed=t.showIfCollapsed||!1,this.collapseOnReplaceEdit=t.collapseOnReplaceEdit||!1,this.overviewRuler=t.overviewRuler?new gL(t.overviewRuler):null,this.minimap=t.minimap?new wL(t.minimap):null,this.glyphMargin=t.glyphMarginClassName?new mL(t.glyphMargin):null,this.glyphMarginClassName=t.glyphMarginClassName?fL(t.glyphMarginClassName):null,this.linesDecorationsClassName=t.linesDecorationsClassName?fL(t.linesDecorationsClassName):null,this.firstLineDecorationClassName=t.firstLineDecorationClassName?fL(t.firstLineDecorationClassName):null,this.marginClassName=t.marginClassName?fL(t.marginClassName):null,this.inlineClassName=t.inlineClassName?fL(t.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=t.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=t.beforeContentClassName?fL(t.beforeContentClassName):null,this.afterContentClassName=t.afterContentClassName?fL(t.afterContentClassName):null,this.after=t.after?vL.from(t.after):null,this.before=t.before?vL.from(t.before):null,this.hideInCommentTokens=null!==(o=t.hideInCommentTokens)&&void 0!==o&&o,this.hideInStringTokens=null!==(r=t.hideInStringTokens)&&void 0!==r&&r}}bL.EMPTY=bL.register({description:"empty"});const yL=[bL.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),bL.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),bL.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),bL.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function kL(t){return t instanceof bL?t:bL.createDynamic(t)}class xL extends ie{constructor(t){super(),this.handleBeforeFire=t,this._actual=this._register(new fe),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var t;this._deferredCnt--,0===this._deferredCnt&&(this._shouldFireDeferred&&this.doFire(),null===(t=this._affectedInjectedTextLines)||void 0===t||t.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(t){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(t)}checkAffectedAndFire(t){this._affectsMinimap||(this._affectsMinimap=!(!t.minimap||!t.minimap.position)),this._affectsOverviewRuler||(this._affectsOverviewRuler=!(!t.overviewRuler||!t.overviewRuler.color)),this._affectsGlyphMargin||(this._affectsGlyphMargin=!!t.glyphMarginClassName),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 t={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(t)}}class CL extends ie{constructor(){super(),this._fastEmitter=this._register(new fe),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new fe),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(t=null){if(this._deferredCnt--,0===this._deferredCnt&&null!==this._deferredEvent){this._deferredEvent.rawContentChangedEvent.resultingSelection=t;const i=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(i),this._slowEmitter.fire(i)}}fire(t){this._deferredCnt>0?this._deferredEvent=this._deferredEvent?this._deferredEvent.merge(t):t:(this._fastEmitter.fire(t),this._slowEmitter.fire(t))}}class SL{constructor(){this._onDidChangeVisibleRanges=new fe,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const t=new DL((i=>{this._onDidChangeVisibleRanges.fire({view:t,state:i})}));return this._views.add(t),t}detachView(t){this._views.delete(t),this._onDidChangeVisibleRanges.fire({view:t,state:void 0})}}class DL{constructor(t){this.handleStateChange=t}setVisibleLines(t,i){const e=t.map((t=>new rp(t.startLineNumber,t.endLineNumber+1)));this.handleStateChange({visibleLineRanges:e,stabilized:i})}}class EL{constructor(t){this._selTrackedRange=null,this._trackSelection=!0,this._setState(t,new uC(new Ms(1,1,1,1),0,0,new As(1,1),0),new uC(new Ms(1,1,1,1),0,0,new As(1,1),0))}dispose(t){this._removeTrackedRange(t)}startTrackingSelection(t){this._trackSelection=!0,this._updateTrackedRange(t)}stopTrackingSelection(t){this._trackSelection=!1,this._removeTrackedRange(t)}_updateTrackedRange(t){this._trackSelection&&(this._selTrackedRange=t.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(t){this._selTrackedRange=t.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new cC(this.modelState,this.viewState)}readSelectionFromMarkers(t){const i=t.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!i.isEmpty()?Ls.fromRange(i.collapseToEnd(),this.modelState.selection.getDirection()):Ls.fromRange(i,this.modelState.selection.getDirection())}ensureValidState(t){this._setState(t,this.modelState,this.viewState)}setState(t,i,e){this._setState(t,i,e)}static _validatePositionWithCache(t,i,e,s){return i.equals(e)?s:t.normalizePosition(i,2)}static _validateViewState(t,i){const e=i.position,s=i.selectionStart.getStartPosition(),n=i.selectionStart.getEndPosition(),o=t.normalizePosition(e,2),r=this._validatePositionWithCache(t,s,e,o),h=this._validatePositionWithCache(t,n,s,r);return e.equals(o)&&s.equals(r)&&n.equals(h)?i:new uC(Ms.fromPositions(r,h),i.selectionStartKind,i.selectionStartLeftoverVisibleColumns+s.column-r.column,o,i.leftoverVisibleColumns+e.column-o.column)}_setState(t,i,e){if(e&&(e=EL._validateViewState(t.viewModel,e)),i){const e=t.model.validateRange(i.selectionStart),s=i.selectionStart.equalsRange(e)?i.selectionStartLeftoverVisibleColumns:0,n=t.model.validatePosition(i.position),o=i.position.equals(n)?i.leftoverVisibleColumns:0;i=new uC(e,i.selectionStartKind,s,n,o)}else{if(!e)return;const s=t.model.validateRange(t.coordinatesConverter.convertViewRangeToModelRange(e.selectionStart)),n=t.model.validatePosition(t.coordinatesConverter.convertViewPositionToModelPosition(e.position));i=new uC(s,e.selectionStartKind,e.selectionStartLeftoverVisibleColumns,n,e.leftoverVisibleColumns)}if(e){const s=t.coordinatesConverter.validateViewRange(e.selectionStart,i.selectionStart),n=t.coordinatesConverter.validateViewPosition(e.position,i.position);e=new uC(s,i.selectionStartKind,i.selectionStartLeftoverVisibleColumns,n,i.leftoverVisibleColumns)}else{const s=t.coordinatesConverter.convertModelPositionToViewPosition(new As(i.selectionStart.startLineNumber,i.selectionStart.startColumn)),n=t.coordinatesConverter.convertModelPositionToViewPosition(new As(i.selectionStart.endLineNumber,i.selectionStart.endColumn)),o=new Ms(s.lineNumber,s.column,n.lineNumber,n.column),r=t.coordinatesConverter.convertModelPositionToViewPosition(i.position);e=new uC(o,i.selectionStartKind,i.selectionStartLeftoverVisibleColumns,r,i.leftoverVisibleColumns)}this.modelState=i,this.viewState=e,this._updateTrackedRange(t)}}class AL{constructor(t){this.context=t,this.cursors=[new EL(t)],this.lastAddedCursorIndex=0}dispose(){for(const t of this.cursors)t.dispose(this.context)}startTrackingSelections(){for(const t of this.cursors)t.startTrackingSelection(this.context)}stopTrackingSelections(){for(const t of this.cursors)t.stopTrackingSelection(this.context)}updateContext(t){this.context=t}ensureValidState(){for(const t of this.cursors)t.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map((t=>t.readSelectionFromMarkers(this.context)))}getAll(){return this.cursors.map((t=>t.asCursorState()))}getViewPositions(){return this.cursors.map((t=>t.viewState.position))}getTopMostViewPosition(){return function(t,i){return np(t,((t,e)=>-i(t,e)))}(this.cursors,R((t=>t.viewState.position),As.compare)).viewState.position}getBottomMostViewPosition(){return function(t,i){if(0===t.length)return;let e=t[0];for(let s=1;s=0&&(e=n)}return e}(this.cursors,R((t=>t.viewState.position),As.compare)).viewState.position}getSelections(){return this.cursors.map((t=>t.modelState.selection))}getViewSelections(){return this.cursors.map((t=>t.viewState.selection))}setSelections(t){this.setStates(cC.fromModelSelections(t))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(t){null!==t&&(this.cursors[0].setState(this.context,t[0].modelState,t[0].viewState),this._setSecondaryStates(t.slice(1)))}_setSecondaryStates(t){const i=this.cursors.length-1,e=t.length;if(ie){const t=i-e;for(let i=0;i=t+1&&this.lastAddedCursorIndex--,this.cursors[t+1].dispose(this.context),this.cursors.splice(t+1,1)}normalize(){if(1===this.cursors.length)return;const t=this.cursors.slice(0),i=[];for(let e=0,s=t.length;et.selection),Ms.compareRangesUsingStarts));for(let e=0;eh&&t.index--;t.splice(h,1),i.splice(r,1),this._removeSecondaryCursor(h-1),e--}}}}class ML{constructor(t,i,e,s){this._cursorContextBrand=void 0,this.model=t,this.viewModel=i,this.coordinatesConverter=e,this.cursorConfig=s}}class LL{constructor(){this.type=0}}class FL{constructor(){this.type=1}}class TL{constructor(t){this.type=2,this._source=t}hasChanged(t){return this._source.hasChanged(t)}}class RL{constructor(t,i,e){this.selections=t,this.modelSelections=i,this.reason=e,this.type=3}}class OL{constructor(t){this.type=4,t?(this.affectsMinimap=t.affectsMinimap,this.affectsOverviewRuler=t.affectsOverviewRuler,this.affectsGlyphMargin=t.affectsGlyphMargin):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0)}}class IL{constructor(){this.type=5}}class _L{constructor(t){this.type=6,this.isFocused=t}}class NL{constructor(){this.type=7}}class BL{constructor(){this.type=8}}class PL{constructor(t,i){this.fromLineNumber=t,this.count=i,this.type=9}}class $L{constructor(t,i){this.type=10,this.fromLineNumber=t,this.toLineNumber=i}}class WL{constructor(t,i){this.type=11,this.fromLineNumber=t,this.toLineNumber=i}}class jL{constructor(t,i,e,s,n,o,r){this.source=t,this.minimalReveal=i,this.range=e,this.selections=s,this.verticalType=n,this.revealHorizontal=o,this.scrollType=r,this.type=12}}class zL{constructor(t){this.type=13,this.scrollWidth=t.scrollWidth,this.scrollLeft=t.scrollLeft,this.scrollHeight=t.scrollHeight,this.scrollTop=t.scrollTop,this.scrollWidthChanged=t.scrollWidthChanged,this.scrollLeftChanged=t.scrollLeftChanged,this.scrollHeightChanged=t.scrollHeightChanged,this.scrollTopChanged=t.scrollTopChanged}}class HL{constructor(t){this.theme=t,this.type=14}}class VL{constructor(t){this.type=15,this.ranges=t}}class UL{constructor(){this.type=16}}class qL{constructor(){this.type=17}}class KL extends ie{constructor(){super(),this._onEvent=this._register(new fe),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(t){this._addOutgoingEvent(t),this._emitOutgoingEvents()}_addOutgoingEvent(t){for(let i=0,e=this._outgoingEvents.length;i0;){if(this._collector||this._isConsumingViewEventQueue)return;const t=this._outgoingEvents.shift();t.isNoOp()||this._onEvent.fire(t)}}addViewEventHandler(t){for(let i=0,e=this._eventHandlers.length;i0&&this._emitMany(i)}this._emitOutgoingEvents()}emitSingleViewEvent(t){try{this.beginEmitViewEvents().emitViewEvent(t)}finally{this.endEmitViewEvents()}}_emitMany(t){this._viewEventQueue=this._viewEventQueue?this._viewEventQueue.concat(t):t,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const t=this._viewEventQueue;this._viewEventQueue=null;const i=this._eventHandlers.slice(0);for(const e of i)e.handleEvents(t)}}}class GL{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(t){this.viewEvents.push(t)}emitOutgoingEvent(t){this.outgoingEvents.push(t)}}class ZL{constructor(t,i,e,s){this.kind=0,this._oldContentWidth=t,this._oldContentHeight=i,this.contentWidth=e,this.contentHeight=s,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(t){return t.kind!==this.kind?null:new ZL(this._oldContentWidth,this._oldContentHeight,t.contentWidth,t.contentHeight)}}class QL{constructor(t,i){this.kind=1,this.oldHasFocus=t,this.hasFocus=i}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(t){return t.kind!==this.kind?null:new QL(this.oldHasFocus,t.hasFocus)}}class JL{constructor(t,i,e,s,n,o,r,h){this.kind=2,this._oldScrollWidth=t,this._oldScrollLeft=i,this._oldScrollHeight=e,this._oldScrollTop=s,this.scrollWidth=n,this.scrollLeft=o,this.scrollHeight=r,this.scrollTop=h,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!(this.scrollWidthChanged||this.scrollLeftChanged||this.scrollHeightChanged||this.scrollTopChanged)}attemptToMerge(t){return t.kind!==this.kind?null:new JL(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,t.scrollWidth,t.scrollLeft,t.scrollHeight,t.scrollTop)}}class YL{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(t){return t.kind!==this.kind?null:this}}class XL{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(t){return t.kind!==this.kind?null:this}}class tF{constructor(t,i,e,s,n,o,r){this.kind=6,this.oldSelections=t,this.selections=i,this.oldModelVersionId=e,this.modelVersionId=s,this.source=n,this.reason=o,this.reachedMaxCursorCount=r}static _selectionsAreEqual(t,i){if(!t&&!i)return!0;if(!t||!i)return!1;const e=t.length;if(e!==i.length)return!1;for(let s=0;s0){const t=this._cursors.getSelections();for(let i=0;io&&(s=s.slice(0,o),n=!0);const r=aF.from(this._model,this);return this._cursors.setStates(s),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,e,r,n)}setCursorColumnSelectData(t){this._columnSelectData=t}revealPrimary(t,i,e,s,n,o){const r=this._cursors.getViewPositions();let h=null,c=null;r.length>1?c=this._cursors.getViewSelections():h=Ms.fromPositions(r[0],r[0]),t.emitViewEvent(new jL(i,e,h,c,s,n,o))}saveState(){const t=[],i=this._cursors.getSelections();for(let e=0,s=i.length;e0){const i=cC.fromModelSelections(e.resultingSelection);this.setStates(t,"modelChange",e.isUndoing?5:e.isRedoing?6:2,i)&&this.revealPrimary(t,"modelChange",!1,0,!0,0)}else{const i=this._cursors.readSelectionFromMarkers();this.setStates(t,"modelChange",2,cC.fromModelSelections(i))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const t=this._cursors.getPrimaryCursor(),i=t.viewState.selectionStart.getStartPosition(),e=t.viewState.position;return{isReal:!1,fromViewLineNumber:i.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,i),toViewLineNumber:e.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,e)}}getSelections(){return this._cursors.getSelections()}setSelections(t,i,e,s){this.setStates(t,i,s,cC.fromModelSelections(e))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(t){this._prevEditOperationType=t}_pushAutoClosedAction(t,i){const e=[],s=[];for(let n=0,o=t.length;n0&&this._pushAutoClosedAction(e,s),this._prevEditOperationType=t.type}t.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(t){t&&0!==t.length||(t=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(t),this._cursors.normalize()}_emitStateChangedIfNecessary(t,i,e,s,n){const o=aF.from(this._model,this);if(o.equals(s))return!1;const r=this._cursors.getSelections(),h=this._cursors.getViewSelections();if(t.emitViewEvent(new RL(h,r,e)),!s||s.cursorState.length!==o.cursorState.length||o.cursorState.some(((t,i)=>!t.modelState.equals(s.cursorState[i].modelState)))){const h=s?s.cursorState.map((t=>t.modelState.selection)):null;t.emitOutgoingEvent(new tF(h,r,s?s.modelVersionId:0,o.modelVersionId,i||"keyboard",e,n))}return!0}_findAutoClosingPairs(t){if(!t.length)return null;const i=[];for(let e=0,s=t.length;e=0)return null;const n=s.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!n)return null;const o=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(n[1]);if(!o||1!==o.length)return null;const r=s.text.length-n[2].length-1,h=s.text.lastIndexOf(o[0].open,r-1);if(-1===h)return null;i.push([h,r])}return i}executeEdits(t,i,e,s){let n=null;"snippet"===i&&(n=this._findAutoClosingPairs(e)),n&&(e[0]._isTracked=!0);const o=[],r=[],h=this._model.pushEditOperations(this.getSelections(),e,(t=>{if(n)for(let i=0,e=n.length;i0&&this._pushAutoClosedAction(o,r)}_executeEdit(t,i,e,s=0){if(this.context.cursorConfig.readOnly)return;const n=aF.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),t()}catch(t){Pi(t)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(i,e,s,n,!1)&&this.revealPrimary(i,e,!1,0,!0,0)}getAutoClosedCharacters(){return lF.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(t){this._compositionState=new fF(this._model,this.getSelections())}endComposition(t,i){const e=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit((()=>{"keyboard"===i&&this._executeEditOperation(PC.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,e,this.getSelections(),this.getAutoClosedCharacters()))}),t,i)}type(t,i,e){this._executeEdit((()=>{if("keyboard"===e){const t=i.length;let e=0;for(;e{this._executeEditOperation(PC.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),i,e,s,n))}),t,o);else if(0!==n){const i=this.getSelections().map((t=>{const i=t.getPosition();return new Ls(i.lineNumber,i.column+n,i.lineNumber,i.column+n)}));this.setSelections(t,o,i,0)}}paste(t,i,e,s,n){this._executeEdit((()=>{this._executeEditOperation(PC.paste(this.context.cursorConfig,this._model,this.getSelections(),i,e,s||[]))}),t,n,4)}cut(t,i){this._executeEdit((()=>{this._executeEditOperation(xC.cut(this.context.cursorConfig,this._model,this.getSelections()))}),t,i)}executeCommand(t,i,e){this._executeEdit((()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new dC(0,[i],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),t,e)}executeCommands(t,i,e){this._executeEdit((()=>{this._executeEditOperation(new dC(0,i,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))}),t,e)}}class aF{static from(t,i){return new aF(t.getVersionId(),i.getCursorStates())}constructor(t,i){this.modelVersionId=t,this.cursorState=i}equals(t){if(!t)return!1;if(this.modelVersionId!==t.modelVersionId)return!1;if(this.cursorState.length!==t.cursorState.length)return!1;for(let i=0,e=this.cursorState.length;i=i.length)return!1;if(!i[e].strictContainsRange(t[e]))return!1}return!0}}class uF{static executeCommands(t,i,e){const s={model:t,selectionsBefore:i,trackedRanges:[],trackedRangesDirection:[]},n=this._innerExecuteCommands(s,e);for(let t=0,i=s.trackedRanges.length;t0&&(o[0]._isTracked=!0);let r=t.model.pushEditOperations(t.selectionsBefore,o,(e=>{const s=[];for(let i=0;it.identifier.minor-i.identifier.minor,o=[];for(let e=0;e0?(s[e].sort(n),o[e]=i[e].computeCursorState(t.model,{getInverseEditOperations:()=>s[e],getTrackedSelection:i=>{const e=parseInt(i,10),s=t.model._getTrackedRange(t.trackedRanges[e]);return 0===t.trackedRangesDirection[e]?new Ls(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn):new Ls(s.endLineNumber,s.endColumn,s.startLineNumber,s.startColumn)}})):o[e]=t.selectionsBefore[e];return o}));r||(r=t.selectionsBefore);const h=[];for(const t in n)n.hasOwnProperty(t)&&h.push(parseInt(t,10));h.sort(((t,i)=>i-t));for(const t of h)r.splice(t,1);return r}static _arrayIsEmpty(t){for(let i=0,e=t.length;i{Ms.isEmpty(t)&&""===o||s.push({identifier:{major:i,minor:n++},range:t,text:o,forceMoveMarkers:r,isAutoWhitespaceEdit:e.insertsAutoWhitespace})};let r=!1;const h={addEditOperation:o,addTrackedEditOperation:(t,i,e)=>{r=!0,o(t,i,e)},trackSelection:(i,e)=>{const s=Ls.liftSelection(i);let n;if(s.isEmpty())if("boolean"==typeof e)n=e?2:3;else{const i=t.model.getLineMaxColumn(s.startLineNumber);n=s.startColumn===i?2:3}else n=1;const o=t.trackedRanges.length,r=t.model._setTrackedRange(null,s,n);return t.trackedRanges[o]=r,t.trackedRangesDirection[o]=s.getDirection(),o.toString()}};try{e.getEditOperations(t.model,h)}catch(t){return Pi(t),{operations:[],hadTrackedEditOperation:!1}}return{operations:s,hadTrackedEditOperation:r}}static _getLoserCursorMap(t){(t=t.slice(0)).sort(((t,i)=>-Ms.compareRangesUsingEnds(t.range,i.range)));const i={};for(let e=1;en.identifier.major?s.identifier.major:n.identifier.major,i[o.toString()]=!0;for(let i=0;i0&&e--}}return i}}class dF{constructor(t,i,e){this.text=t,this.startSelection=i,this.endSelection=e}}class fF{static _capture(t,i){const e=[];for(const s of i){if(s.startLineNumber!==s.endLineNumber)return null;e.push(new dF(t.getLineContent(s.startLineNumber),s.startColumn-1,s.endColumn-1))}return e}constructor(t,i){this._original=fF._capture(t,i)}deduceOutcome(t,i){if(!this._original)return null;const e=fF._capture(t,i);if(!e)return null;if(this._original.length!==e.length)return null;const s=[];for(let t=0,i=this._original.length;tAg,tokenizeEncoded:(t,i,e)=>Lg(0,e)};function gF(t,i,e,s,n,o,r){let h="
",c=s,a=0,l=!0;for(let u=0,d=i.getCount();u0;)r&&l?(f+=" ",l=!1):(f+=" ",l=!0),t--;break}case 60:f+="<",l=!1;break;case 62:f+=">",l=!1;break;case 38:f+="&",l=!1;break;case 0:f+="�",l=!1;break;case 65279:case 8232:case 8233:case 133:f+="�",l=!1;break;case 13:f+="​",l=!1;break;case 32:r&&l?(f+=" ",l=!1):(f+=" ",l=!0);break;default:f+=String.fromCharCode(i),l=!1}}if(h+=`${f}`,d>n||c>=n)break}return h+="
",h}function mF(t,i,e){let s='
';const n=Xn(t);let o=e.getInitialState();for(let t=0,r=n.length;t0&&(s+="
");const h=e.tokenizeEncoded(r,!0,o);Tg.convertToEndOffset(h.tokens,r.length);const c=new Tg(h.tokens,r,i).inflate();let a=0;for(let t=0,i=c.getCount();t${Kn(r.substring(a,e))}`,a=e}o=h.endState}return s+="
",s}class wF{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(t){this._hasPending=!0,this._inserts.push(t)}change(t){this._hasPending=!0,this._changes.push(t)}remove(t){this._hasPending=!0,this._removes.push(t)}mustCommit(){return this._hasPending}commit(t){if(!this._hasPending)return;const i=this._inserts,e=this._changes,s=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],t._commitPendingChanges(i,e,s)}}class vF{constructor(t,i,e,s,n){this.id=t,this.afterLineNumber=i,this.ordinal=e,this.height=s,this.minWidth=n,this.prefixSum=0}}class bF{constructor(t,i,e,s){this._instanceId=Oo(++bF.INSTANCE_COUNT),this._pendingChanges=new wF,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._lineHeight=i,this._paddingTop=e,this._paddingBottom=s}static findInsertionIndex(t,i,e){let s=0,n=t.length;for(;s>>1;i===t[o].afterLineNumber?e{i=!0,t|=0,e|=0,s|=0,n|=0;const o=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new vF(o,t,e,s,n)),o},changeOneWhitespace:(t,e,s)=>{i=!0,this._pendingChanges.change({id:t,newAfterLineNumber:e|=0,newHeight:s|=0})},removeWhitespace:t=>{i=!0,this._pendingChanges.remove({id:t})}})}finally{this._pendingChanges.commit(this)}return i}_commitPendingChanges(t,i,e){if((t.length>0||e.length>0)&&(this._minWidth=-1),t.length+i.length+e.length<=1){for(const i of t)this._insertWhitespace(i);for(const t of i)this._changeOneWhitespace(t.id,t.newAfterLineNumber,t.newHeight);for(const t of e){const i=this._findWhitespaceIndex(t.id);-1!==i&&this._removeWhitespace(i)}return}const s=new Set;for(const t of e)s.add(t.id);const n=new Map;for(const t of i)n.set(t.id,t);const o=t=>{const i=[];for(const e of t)if(!s.has(e.id)){if(n.has(e.id)){const t=n.get(e.id);e.afterLineNumber=t.newAfterLineNumber,e.height=t.newHeight}i.push(e)}return i},r=o(this._arr).concat(o(t));r.sort(((t,i)=>t.afterLineNumber===i.afterLineNumber?t.ordinal-i.ordinal:t.afterLineNumber-i.afterLineNumber)),this._arr=r,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(t){const i=bF.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(i,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,i-1)}_findWhitespaceIndex(t){const i=this._arr;for(let e=0,s=i.length;ei&&(this._arr[e].afterLineNumber-=i-t+1)}}onLinesInserted(t,i){this._checkPendingChanges(),this._lineCount+=(i|=0)-(t|=0)+1;for(let e=0,s=this._arr.length;e=i.length||i[n+1].afterLineNumber>=t)return n;e=n+1|0}else s=n-1|0}return-1}_findFirstWhitespaceAfterLineNumber(t){const i=this._findLastWhitespaceBeforeLineNumber(t|=0)+1;return i1?this._lineHeight*(t-1):0,e+this.getWhitespaceAccumulatedHeightBeforeLineNumber(t-(i?1:0))+this._paddingTop}getVerticalOffsetAfterLineNumber(t,i=!1){return this._checkPendingChanges(),this._lineHeight*(t|=0)+this.getWhitespaceAccumulatedHeightBeforeLineNumber(t+(i?1:0))+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),-1===this._minWidth){let t=0;for(let i=0,e=this._arr.length;ithis.getLinesTotalHeight()}isInTopPadding(t){return 0!==this._paddingTop&&(this._checkPendingChanges(),t=this.getLinesTotalHeight()-this._paddingBottom)}getLineNumberAtOrAfterVerticalOffset(t){if(this._checkPendingChanges(),(t|=0)<0)return 1;const i=0|this._lineCount,e=this._lineHeight;let s=1,n=i;for(;s=o+e)s=i+1;else{if(t>=o)return i;n=i}}return s>i?i:s}getLinesViewportData(t,i){this._checkPendingChanges(),i|=0;const e=this._lineHeight,s=0|this.getLineNumberAtOrAfterVerticalOffset(t|=0),n=0|this.getVerticalOffsetForLineNumber(s);let o=0|this._lineCount,r=0|this.getFirstWhitespaceIndexAfterLineNumber(s);const h=0|this.getWhitespacesCount();let c,a;-1===r?(r=h,a=o+1,c=0):(a=0|this.getAfterLineNumberForWhitespaceIndex(r),c=0|this.getHeightForWhitespaceIndex(r));let l=n,u=l;const d=5e5;let f=0;n>=d&&(f=Math.floor(n/d)*d,f=Math.floor(f/e)*e,u-=f);const p=[],g=t+(i-t)/2;let m=-1;for(let t=s;t<=o;t++){for(-1===m&&(l<=g&&gg)&&(m=t),l+=e,p[t-s]=u,u+=e;a===t;)u+=c,l+=c,r++,r>=h?a=o+1:(a=0|this.getAfterLineNumberForWhitespaceIndex(r),c=0|this.getHeightForWhitespaceIndex(r));if(l>=i){o=t;break}}-1===m&&(m=o);const w=0|this.getVerticalOffsetForLineNumber(o);let v=s,b=o;return vi&&b--,{bigNumbersDelta:f,startLineNumber:s,endLineNumber:o,relativeVerticalOffset:p,centeredLineNumber:m,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:b}}getVerticalOffsetForWhitespaceIndex(t){this._checkPendingChanges();const i=this.getAfterLineNumberForWhitespaceIndex(t|=0);let e,s;return e=i>=1?this._lineHeight*i:0,s=t>0?this.getWhitespacesAccumulatedHeight(t-1):0,e+s+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(t){this._checkPendingChanges(),t|=0;let i=0,e=this.getWhitespacesCount()-1;if(e<0)return-1;if(t>=this.getVerticalOffsetForWhitespaceIndex(e)+this.getHeightForWhitespaceIndex(e))return-1;for(;i=n+this.getHeightForWhitespaceIndex(s))i=s+1;else{if(t>=n)return s;e=s}}return i}getWhitespaceAtVerticalOffset(t){this._checkPendingChanges();const i=this.getWhitespaceIndexAtOrAfterVerticallOffset(t|=0);if(i<0)return null;if(i>=this.getWhitespacesCount())return null;const e=this.getVerticalOffsetForWhitespaceIndex(i);if(e>t)return null;const s=this.getHeightForWhitespaceIndex(i);return{id:this.getIdForWhitespaceIndex(i),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(i),verticalOffset:e,height:s}}getWhitespaceViewportData(t,i){this._checkPendingChanges(),i|=0;const e=this.getWhitespaceIndexAtOrAfterVerticallOffset(t|=0),s=this.getWhitespacesCount()-1;if(e<0)return[];const n=[];for(let t=e;t<=s;t++){const e=this.getVerticalOffsetForWhitespaceIndex(t),s=this.getHeightForWhitespaceIndex(t);if(e>=i)break;n.push({id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:e,height:s})}return n}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(t){return this._checkPendingChanges(),this._arr[t|=0].id}getAfterLineNumberForWhitespaceIndex(t){return this._checkPendingChanges(),this._arr[t|=0].afterLineNumber}getHeightForWhitespaceIndex(t){return this._checkPendingChanges(),this._arr[t|=0].height}}bF.INSTANCE_COUNT=0;class yF{constructor(t,i,e,s){(t|=0)<0&&(t=0),(i|=0)<0&&(i=0),(e|=0)<0&&(e=0),(s|=0)<0&&(s=0),this.width=t,this.contentWidth=i,this.scrollWidth=Math.max(t,i),this.height=e,this.contentHeight=s,this.scrollHeight=Math.max(e,s)}equals(t){return this.width===t.width&&this.contentWidth===t.contentWidth&&this.height===t.height&&this.contentHeight===t.contentHeight}}class kF extends ie{constructor(t,i){super(),this._onDidContentSizeChange=this._register(new fe),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new yF(0,0,0,0),this._scrollable=this._register(new gk({forceIntegerValues:!0,smoothScrollDuration:t,scheduleAtNextAnimationFrame:i})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(t){this._scrollable.setSmoothScrollDuration(t)}validateScrollPosition(t){return this._scrollable.validateScrollPosition(t)}getScrollDimensions(){return this._dimensions}setScrollDimensions(t){if(this._dimensions.equals(t))return;const i=this._dimensions;this._dimensions=t,this._scrollable.setScrollDimensions({width:t.width,scrollWidth:t.scrollWidth,height:t.height,scrollHeight:t.scrollHeight},!0),(i.contentWidth!==t.contentWidth||i.contentHeight!==t.contentHeight)&&this._onDidContentSizeChange.fire(new ZL(i.contentWidth,i.contentHeight,t.contentWidth,t.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(t){this._scrollable.setScrollPositionNow(t)}setScrollPositionSmooth(t){this._scrollable.setScrollPositionSmooth(t)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}}class xF extends ie{constructor(t,i,e){super(),this._configuration=t;const s=this._configuration.options,n=s.get(143),o=s.get(83);this._linesLayout=new bF(i,s.get(66),o.top,o.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new kF(0,e)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new yF(n.contentWidth,0,n.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(113)?125:0)}onConfigurationChanged(t){const i=this._configuration.options;if(t.hasChanged(66)&&this._linesLayout.setLineHeight(i.get(66)),t.hasChanged(83)){const t=i.get(83);this._linesLayout.setPadding(t.top,t.bottom)}if(t.hasChanged(143)){const t=i.get(143),e=t.contentWidth,s=t.height,n=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new yF(e,n.contentWidth,s,this._getContentHeight(e,s,n.contentWidth)))}else this._updateHeight();t.hasChanged(113)&&this._configureSmoothScrollDuration()}onFlushed(t){this._linesLayout.onFlushed(t)}onLinesDeleted(t,i){this._linesLayout.onLinesDeleted(t,i)}onLinesInserted(t,i){this._linesLayout.onLinesInserted(t,i)}_getHorizontalScrollbarHeight(t,i){const e=this._configuration.options.get(102);return 2===e.horizontal||t>=i?0:e.horizontalScrollbarSize}_getContentHeight(t,i,e){const s=this._configuration.options;let n=this._linesLayout.getLinesTotalHeight();return s.get(104)?n+=Math.max(0,i-s.get(66)-s.get(83).bottom):s.get(102).ignoreHorizontalScrollbarInContentHeight||(n+=this._getHorizontalScrollbarHeight(t,e)),n}_updateHeight(){const t=this._scrollable.getScrollDimensions(),i=t.width,e=t.height;this._scrollable.setScrollDimensions(new yF(i,t.contentWidth,e,this._getContentHeight(i,e,t.contentWidth)))}getCurrentViewport(){const t=this._scrollable.getScrollDimensions(),i=this._scrollable.getCurrentScrollPosition();return new Gg(i.scrollTop,i.scrollLeft,t.width,t.height)}getFutureViewport(){const t=this._scrollable.getScrollDimensions(),i=this._scrollable.getFutureScrollPosition();return new Gg(i.scrollTop,i.scrollLeft,t.width,t.height)}_computeContentWidth(){const t=this._configuration.options,i=this._maxLineWidth,e=t.get(144),s=t.get(50),n=t.get(143);if(e.isViewportWrapping){const e=t.get(72);return i>n.contentWidth+s.typicalHalfwidthCharacterWidth&&e.enabled&&"right"===e.side?i+n.verticalScrollbarWidth:i}{const e=t.get(103)*s.typicalHalfwidthCharacterWidth,o=this._linesLayout.getWhitespaceMinWidth();return Math.max(i+e+n.verticalScrollbarWidth,o,this._overlayWidgetsMinWidth)}}setMaxLineWidth(t){this._maxLineWidth=t,this._updateContentWidth()}setOverlayWidgetsMinWidth(t){this._overlayWidgetsMinWidth=t,this._updateContentWidth()}_updateContentWidth(){const t=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new yF(t.width,this._computeContentWidth(),t.height,t.contentHeight)),this._updateHeight()}saveState(){const t=this._scrollable.getFutureScrollPosition(),i=t.scrollTop,e=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(i);return{scrollTop:i,scrollTopWithoutViewZones:i-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(e),scrollLeft:t.scrollLeft}}changeWhitespace(t){const i=this._linesLayout.changeWhitespace(t);return i&&this.onHeightMaybeChanged(),i}getVerticalOffsetForLineNumber(t,i=!1){return this._linesLayout.getVerticalOffsetForLineNumber(t,i)}getVerticalOffsetAfterLineNumber(t,i=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(t,i)}isAfterLines(t){return this._linesLayout.isAfterLines(t)}isInTopPadding(t){return this._linesLayout.isInTopPadding(t)}isInBottomPadding(t){return this._linesLayout.isInBottomPadding(t)}getLineNumberAtVerticalOffset(t){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t)}getWhitespaceAtVerticalOffset(t){return this._linesLayout.getWhitespaceAtVerticalOffset(t)}getLinesViewportData(){const t=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(t.top,t.top+t.height)}getLinesViewportDataAtScrollTop(t){const i=this._scrollable.getScrollDimensions();return t+i.height>i.scrollHeight&&(t=i.scrollHeight-i.height),t<0&&(t=0),this._linesLayout.getLinesViewportData(t,t+i.height)}getWhitespaceViewportData(){const t=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(t.top,t.top+t.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(t){return this._scrollable.validateScrollPosition(t)}setScrollPosition(t,i){1===i?this._scrollable.setScrollPositionNow(t):this._scrollable.setScrollPositionSmooth(t)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(t,i){const e=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:e.scrollLeft+t,scrollTop:e.scrollTop+i})}}class CF{constructor(t,i,e,s,n){this.editorId=t,this.model=i,this.configuration=e,this._linesCollection=s,this._coordinatesConverter=n,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(t){const i=t.id;let e=this._decorationsCache[i];if(!e){const s=t.range,n=t.options;let o;if(n.isWholeLine){const t=this._coordinatesConverter.convertModelPositionToViewPosition(new As(s.startLineNumber,1),0,!1,!0),i=this._coordinatesConverter.convertModelPositionToViewPosition(new As(s.endLineNumber,this.model.getLineMaxColumn(s.endLineNumber)),1);o=new Ms(t.lineNumber,t.column,i.lineNumber,i.column)}else o=this._coordinatesConverter.convertModelRangeToViewRange(s,1);e=new tm(o,n),this._decorationsCache[i]=e}return e}getMinimapDecorationsInRange(t){return this._getDecorationsInRange(t,!0,!1).decorations}getDecorationsViewportData(t){let i=null!==this._cachedModelDecorationsResolver;return i=i&&t.equalsRange(this._cachedModelDecorationsResolverViewRange),i||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(t,!1,!1),this._cachedModelDecorationsResolverViewRange=t),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(t,i=!1,e=!1){const s=new Ms(t,this._linesCollection.getViewLineMinColumn(t),t,this._linesCollection.getViewLineMaxColumn(t));return this._getDecorationsInRange(s,i,e).inlineDecorations[0]}_getDecorationsInRange(t,i,e){const s=this._linesCollection.getDecorationsInRange(t,this.editorId,xi(this.configuration.options),i,e),n=t.startLineNumber,o=t.endLineNumber,r=[];let h=0;const c=[];for(let t=n;t<=o;t++)c[t-n]=[];for(let t=0,i=s.length;t1===t))}function EF(t,i){return AF(t,i.range,(t=>2===t))}function AF(t,i,e){for(let s=i.startLineNumber;s<=i.endLineNumber;s++){const n=t.tokenization.getLineTokens(s),o=s===i.endLineNumber;let r=s===i.startLineNumber?n.findTokenIndexAtOffset(i.startColumn-1):0;for(;ri.endColumn-1);){if(!e(n.getStandardTokenType(r)))return!1;r++}}return!0}function MF(t,i){return null===t?i?FF.INSTANCE:TF.INSTANCE:new LF(t,i)}class LF{constructor(t,i){this._projectionData=t,this._isVisible=i}isVisible(){return this._isVisible}setVisible(t){return this._isVisible=t,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(t,i,e){this._assertVisible();const s=e>0?this._projectionData.breakOffsets[e-1]:0,n=this._projectionData.breakOffsets[e];let o;if(null!==this._projectionData.injectionOffsets){const e=this._projectionData.injectionOffsets.map(((t,i)=>new UM(0,0,t+1,this._projectionData.injectionOptions[i],0)));o=UM.applyInjectedText(t.getLineContent(i),e).substring(s,n)}else o=t.getValueInRange({startLineNumber:i,startColumn:s+1,endLineNumber:i,endColumn:n+1});return e>0&&(o=OF(this._projectionData.wrappedTextIndentLength)+o),o}getViewLineLength(t,i,e){return this._assertVisible(),this._projectionData.getLineLength(e)}getViewLineMinColumn(t,i,e){return this._assertVisible(),this._projectionData.getMinOutputOffset(e)+1}getViewLineMaxColumn(t,i,e){return this._assertVisible(),this._projectionData.getMaxOutputOffset(e)+1}getViewLineData(t,i,e){const s=new Array;return this.getViewLinesData(t,i,e,1,0,[!0],s),s[0]}getViewLinesData(t,i,e,s,n,o,r){this._assertVisible();const h=this._projectionData,c=h.injectionOffsets,a=h.injectionOptions;let l,u=null;if(c){u=[];let t=0,i=0;for(let e=0;e0?h.breakOffsets[e-1]:0,o=h.breakOffsets[e];for(;io)break;if(n0?h.wrappedTextIndentLength:0,r=i+Math.max(l-n,0),c=i+Math.min(u-n,o-n);r!==c&&s.push(new Xg(r,c,t.inlineClassName,t.inlineClassNameAffectsLetterSpacing))}}if(!(u<=o))break;t+=r,i++}}}l=c?t.tokenization.getLineTokens(i).withInserted(c.map(((t,i)=>({offset:t,text:a[i].content,tokenMetadata:Tg.defaultTokenMetadata})))):t.tokenization.getLineTokens(i);for(let t=e;t0?s.breakOffsets[e-1]:0,s.breakOffsets[e],e>0?s.wrappedTextIndentLength:0);let o=n.getLineContent();e>0&&(o=OF(s.wrappedTextIndentLength)+o);const r=this._projectionData.getMinOutputOffset(e)+1,h=o.length+1,c=e+1=RF.length)for(let i=1;i<=t;i++)RF[i]=IF(i);return RF[t]}function IF(t){return new Array(t+1).join(" ")}class _F{constructor(t,i,e,s,n,o,r,h,c,a){this._editorId=t,this.model=i,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=e,this._monospaceLineBreaksComputerFactory=s,this.fontInfo=n,this.tabSize=o,this.wrappingStrategy=r,this.wrappingColumn=h,this.wrappingIndent=c,this.wordBreak=a,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new PF(this)}_constructLines(t,i){this.modelLineProjections=[],t&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const e=this.model.getLinesContent(),s=this.model.getInjectedTextDecorations(this._editorId),n=e.length,o=this.createLineBreaksComputer(),r=new N(UM.fromDecorations(s));for(let t=0;ti.lineNumber===t+1));o.addRequest(e[t],s,i?i[t]:null)}const h=o.finalize(),c=[],a=this.hiddenAreasDecorationIds.map((t=>this.model.getDecorationRange(t))).sort(Ms.compareRangesUsingStarts);let l=1,u=0,d=-1,f=d+1=l&&i<=u));c[t]=e.getViewLineCount(),this.modelLineProjections[t]=e}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new gf(c)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map((t=>this.model.getDecorationRange(t)))}setHiddenAreas(t){const i=function(t){if(0===t.length)return[];const i=t.slice();i.sort(Ms.compareRangesUsingStarts);const e=[];let s=i[0].startLineNumber,n=i[0].endLineNumber;for(let t=1,o=i.length;tn+1?(e.push(new Ms(s,1,n,1)),s=o.startLineNumber,n=o.endLineNumber):o.endLineNumber>n&&(n=o.endLineNumber)}return e.push(new Ms(s,1,n,1)),e}(t.map((t=>this.model.validateRange(t)))),e=this.hiddenAreasDecorationIds.map((t=>this.model.getDecorationRange(t))).sort(Ms.compareRangesUsingStarts);if(i.length===e.length){let t=!1;for(let s=0;s({range:t,options:bL.EMPTY})));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,s);const n=i;let o=1,r=0,h=-1,c=h+1=o&&i<=r?this.modelLineProjections[t].isVisible()&&(this.modelLineProjections[t]=this.modelLineProjections[t].setVisible(!1),e=!0):(a=!0,this.modelLineProjections[t].isVisible()||(this.modelLineProjections[t]=this.modelLineProjections[t].setVisible(!0),e=!0)),e){const i=this.modelLineProjections[t].getViewLineCount();this.projectedModelLineLineCounts.setValue(t,i)}}return a||this.setHiddenAreas([]),!0}modelPositionIsVisible(t,i){return!(t<1||t>this.modelLineProjections.length)&&this.modelLineProjections[t-1].isVisible()}getModelLineViewLineCount(t){return t<1||t>this.modelLineProjections.length?1:this.modelLineProjections[t-1].getViewLineCount()}setTabSize(t){return this.tabSize!==t&&(this.tabSize=t,this._constructLines(!1,null),!0)}setWrappingSettings(t,i,e,s,n){const o=this.fontInfo.equals(t),r=this.wrappingStrategy===i,h=this.wrappingColumn===e,c=this.wrappingIndent===s,a=this.wordBreak===n;if(o&&r&&h&&c&&a)return!1;const l=o&&r&&!h&&c&&a;this.fontInfo=t,this.wrappingStrategy=i,this.wrappingColumn=e,this.wrappingIndent=s,this.wordBreak=n;let u=null;if(l){u=[];for(let t=0,i=this.modelLineProjections.length;t2&&!this.modelLineProjections[i-2].isVisible(),o=1===i?1:this.projectedModelLineLineCounts.getPrefixSum(i-1)+1;let r=0;const h=[],c=[];for(let t=0,i=s.length;tr?(c=this.projectedModelLineLineCounts.getPrefixSum(i-1)+1,a=c+r-1,d=a+1,f=d+(n-r)-1,h=!0):ni?i:0|t}getActiveIndentGuide(t,i,e){t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i),e=this._toValidViewLineNumber(e);const s=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),n=this.convertViewPositionToModelPosition(i,this.getViewLineMinColumn(i)),o=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.model.guides.getActiveIndentGuide(s.lineNumber,n.lineNumber,o.lineNumber),h=this.convertModelPositionToViewPosition(r.startLineNumber,1),c=this.convertModelPositionToViewPosition(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber));return{startLineNumber:h.lineNumber,endLineNumber:c.lineNumber,indent:r.indent}}getViewLineInfo(t){t=this._toValidViewLineNumber(t);const i=this.projectedModelLineLineCounts.getIndexOf(t-1);return new NF(i.index+1,i.remainder)}getMinColumnOfViewLine(t){return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(t){return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(t){const i=this.modelLineProjections[t.modelLineNumber-1],e=i.getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx),s=i.getModelColumnOfViewPosition(t.modelLineWrappedLineIdx,e);return new As(t.modelLineNumber,s)}getModelEndPositionOfViewLine(t){const i=this.modelLineProjections[t.modelLineNumber-1],e=i.getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx),s=i.getModelColumnOfViewPosition(t.modelLineWrappedLineIdx,e);return new As(t.modelLineNumber,s)}getViewLineInfosGroupedByModelRanges(t,i){const e=this.getViewLineInfo(t),s=this.getViewLineInfo(i),n=new Array;let o=this.getModelStartPositionOfViewLine(e),r=new Array;for(let t=e.modelLineNumber;t<=s.modelLineNumber;t++){const i=this.modelLineProjections[t-1];if(i.isVisible()){const n=t===e.modelLineNumber?e.modelLineWrappedLineIdx:0,o=t===s.modelLineNumber?s.modelLineWrappedLineIdx+1:i.getViewLineCount();for(let i=n;i{if(-1!==t.forWrappedLinesAfterColumn&&this.modelLineProjections[s.modelLineNumber-1].getViewPositionOfModelPosition(0,t.forWrappedLinesAfterColumn).lineNumber>=s.modelLineWrappedLineIdx)return;if(-1!==t.forWrappedLinesBeforeOrAtColumn&&this.modelLineProjections[s.modelLineNumber-1].getViewPositionOfModelPosition(0,t.forWrappedLinesBeforeOrAtColumn).lineNumbers.modelLineWrappedLineIdx)return}const e=this.convertModelPositionToViewPosition(s.modelLineNumber,t.horizontalLine.endColumn),n=this.modelLineProjections[s.modelLineNumber-1].getViewPositionOfModelPosition(0,t.horizontalLine.endColumn);return n.lineNumber===s.modelLineWrappedLineIdx?new ES(t.visibleColumn,i,t.className,new AS(t.horizontalLine.top,e.column),-1,-1):n.lineNumber!!t)))}}return o}getViewLinesIndentGuides(t,i){t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i);const e=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),s=this.convertViewPositionToModelPosition(i,this.getViewLineMaxColumn(i));let n=[];const o=[],r=[],h=e.lineNumber-1,c=s.lineNumber-1;let a=null;for(let t=h;t<=c;t++){const i=this.modelLineProjections[t];if(i.isVisible()){const s=i.getViewLineNumberOfModelPosition(0,t===h?e.column:1),n=i.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(t+1)),c=n-s+1;let l=0;c>1&&1===i.getViewLineMinColumn(this.model,t+1,n)&&(l=0===s?1:2),o.push(c),r.push(l),null===a&&(a=new As(t+1,0))}else null!==a&&(n=n.concat(this.model.guides.getLinesIndentGuides(a.lineNumber,t)),a=null)}null!==a&&(n=n.concat(this.model.guides.getLinesIndentGuides(a.lineNumber,s.lineNumber)),a=null);const l=i-t+1,u=new Array(l);let d=0;for(let t=0,i=n.length;ti&&(u=!0,l=i-n+1),c.getViewLinesData(this.model,s+1,a,l,n-t,e,h),n+=l,u)break}return h}validateViewPosition(t,i,e){t=this._toValidViewLineNumber(t);const s=this.projectedModelLineLineCounts.getIndexOf(t-1),n=s.index,o=s.remainder,r=this.modelLineProjections[n],h=r.getViewLineMinColumn(this.model,n+1,o),c=r.getViewLineMaxColumn(this.model,n+1,o);ic&&(i=c);const a=r.getModelColumnOfViewPosition(o,i);return this.model.validatePosition(new As(n+1,a)).equals(e)?new As(t,i):this.convertModelPositionToViewPosition(e.lineNumber,e.column)}validateViewRange(t,i){const e=this.validateViewPosition(t.startLineNumber,t.startColumn,i.getStartPosition()),s=this.validateViewPosition(t.endLineNumber,t.endColumn,i.getEndPosition());return new Ms(e.lineNumber,e.column,s.lineNumber,s.column)}convertViewPositionToModelPosition(t,i){const e=this.getViewLineInfo(t),s=this.modelLineProjections[e.modelLineNumber-1].getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return this.model.validatePosition(new As(e.modelLineNumber,s))}convertViewRangeToModelRange(t){const i=this.convertViewPositionToModelPosition(t.startLineNumber,t.startColumn),e=this.convertViewPositionToModelPosition(t.endLineNumber,t.endColumn);return new Ms(i.lineNumber,i.column,e.lineNumber,e.column)}convertModelPositionToViewPosition(t,i,e=2,s=!1,n=!1){const o=this.model.validatePosition(new As(t,i)),r=o.lineNumber,h=o.column;let c=r-1,a=!1;if(n)for(;c0&&!this.modelLineProjections[c].isVisible();)c--,a=!0;if(0===c&&!this.modelLineProjections[c].isVisible())return new As(s?0:1,1);const l=1+this.projectedModelLineLineCounts.getPrefixSum(c);let u;return u=a?this.modelLineProjections[c].getViewPositionOfModelPosition(l,n?1:this.model.getLineMaxColumn(c+1),e):this.modelLineProjections[r-1].getViewPositionOfModelPosition(l,h,e),u}convertModelRangeToViewRange(t,i=0){if(t.isEmpty()){const e=this.convertModelPositionToViewPosition(t.startLineNumber,t.startColumn,i);return Ms.fromPositions(e)}{const i=this.convertModelPositionToViewPosition(t.startLineNumber,t.startColumn,1),e=this.convertModelPositionToViewPosition(t.endLineNumber,t.endColumn,0);return new Ms(i.lineNumber,i.column,e.lineNumber,e.column)}}getViewLineNumberOfModelPosition(t,i){let e=t-1;if(this.modelLineProjections[e].isVisible()){const t=1+this.projectedModelLineLineCounts.getPrefixSum(e);return this.modelLineProjections[e].getViewLineNumberOfModelPosition(t,i)}for(;e>0&&!this.modelLineProjections[e].isVisible();)e--;if(0===e&&!this.modelLineProjections[e].isVisible())return 1;const s=1+this.projectedModelLineLineCounts.getPrefixSum(e);return this.modelLineProjections[e].getViewLineNumberOfModelPosition(s,this.model.getLineMaxColumn(e+1))}getDecorationsInRange(t,i,e,s,n){const o=this.convertViewPositionToModelPosition(t.startLineNumber,t.startColumn),r=this.convertViewPositionToModelPosition(t.endLineNumber,t.endColumn);if(r.lineNumber-o.lineNumber<=t.endLineNumber-t.startLineNumber)return this.model.getDecorationsInRange(new Ms(o.lineNumber,1,r.lineNumber,r.column),i,e,s,n);let h=[];const c=o.lineNumber-1,a=r.lineNumber-1;let l=null;for(let t=c;t<=a;t++)if(this.modelLineProjections[t].isVisible())null===l&&(l=new As(t+1,t===c?o.column:1));else if(null!==l){const n=this.model.getLineMaxColumn(t);h=h.concat(this.model.getDecorationsInRange(new Ms(l.lineNumber,l.column,t,n),i,e,s)),l=null}null!==l&&(h=h.concat(this.model.getDecorationsInRange(new Ms(l.lineNumber,l.column,r.lineNumber,r.column),i,e,s)),l=null),h.sort(((t,i)=>{const e=Ms.compareRangesUsingStarts(t.range,i.range);return 0===e?t.idi.id?1:0:e}));const u=[];let d=0,f=null;for(const t of h){const i=t.id;f!==i&&(f=i,u[d++]=t)}return u}getInjectedTextAt(t){const i=this.getViewLineInfo(t.lineNumber);return this.modelLineProjections[i.modelLineNumber-1].getInjectedTextAt(i.modelLineWrappedLineIdx,t.column)}normalizePosition(t,i){const e=this.getViewLineInfo(t.lineNumber);return this.modelLineProjections[e.modelLineNumber-1].normalizePosition(e.modelLineWrappedLineIdx,t,i)}getLineIndentColumn(t){const i=this.getViewLineInfo(t);return 0===i.modelLineWrappedLineIdx?this.model.getLineIndentColumn(i.modelLineNumber):0}}class NF{constructor(t,i){this.modelLineNumber=t,this.modelLineWrappedLineIdx=i}}class BF{constructor(t,i){this.modelRange=t,this.viewLines=i}}class PF{constructor(t){this._lines=t}convertViewPositionToModelPosition(t){return this._lines.convertViewPositionToModelPosition(t.lineNumber,t.column)}convertViewRangeToModelRange(t){return this._lines.convertViewRangeToModelRange(t)}validateViewPosition(t,i){return this._lines.validateViewPosition(t.lineNumber,t.column,i)}validateViewRange(t,i){return this._lines.validateViewRange(t,i)}convertModelPositionToViewPosition(t,i,e,s){return this._lines.convertModelPositionToViewPosition(t.lineNumber,t.column,i,e,s)}convertModelRangeToViewRange(t,i){return this._lines.convertModelRangeToViewRange(t,i)}modelPositionIsVisible(t){return this._lines.modelPositionIsVisible(t.lineNumber,t.column)}getModelLineViewLineCount(t){return this._lines.getModelLineViewLineCount(t)}getViewLineNumberOfModelPosition(t,i){return this._lines.getViewLineNumberOfModelPosition(t,i)}}class $F{constructor(t){this.model=t}dispose(){}createCoordinatesConverter(){return new WF(this)}getHiddenAreas(){return[]}setHiddenAreas(t){return!1}setTabSize(t){return!1}setWrappingSettings(t,i,e,s){return!1}createLineBreaksComputer(){const t=[];return{addRequest:()=>{t.push(null)},finalize:()=>t}}onModelFlushed(){}onModelLinesDeleted(t,i,e){return new $L(i,e)}onModelLinesInserted(t,i,e,s){return new WL(i,e)}onModelLineChanged(t,i,e){return[!1,new PL(i,1),null,null]}acceptVersionId(t){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(t,i,e){return{startLineNumber:t,endLineNumber:t,indent:0}}getViewLinesBracketGuides(t,i,e){return new Array(i-t+1).fill([])}getViewLinesIndentGuides(t,i){const e=i-t+1,s=new Array(e);for(let t=0;ti)}getModelLineViewLineCount(t){return 1}getViewLineNumberOfModelPosition(t,i){return t}}class jF extends ie{constructor(t,i,e,s,n,o,r,h,c){if(super(),this.languageConfigurationService=r,this._themeService=h,this._attachedView=c,this.hiddenAreasModel=new VF,this.previousHiddenAreas=[],this._editorId=t,this._configuration=i,this.model=e,this._eventDispatcher=new KL,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new hC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new pc((()=>this._updateConfigurationViewLineCountNow()),0)),this._hasFocus=!1,this._viewportStart=zF.create(this.model),this.model.isTooLargeForTokenization())this._lines=new $F(this.model);else{const t=this._configuration.options,i=t.get(50),e=t.get(137),o=t.get(144),r=t.get(136),h=t.get(128);this._lines=new _F(this._editorId,this.model,s,n,i,this.model.getOptions().tabSize,e,o.wrappingColumn,r,h)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new cF(e,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new xF(this._configuration,this.getLineCount(),o)),this._register(this.viewLayout.onDidScroll((t=>{t.scrollTopChanged&&this._handleVisibleLinesChanged(),t.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new zL(t)),this._eventDispatcher.emitOutgoingEvent(new JL(t.oldScrollWidth,t.oldScrollLeft,t.oldScrollHeight,t.oldScrollTop,t.scrollWidth,t.scrollLeft,t.scrollHeight,t.scrollTop))}))),this._register(this.viewLayout.onDidContentSizeChange((t=>{this._eventDispatcher.emitOutgoingEvent(t)}))),this._decorations=new CF(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast((t=>{try{const i=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(i,t)}finally{this._eventDispatcher.endEmitViewEvents()}}))),this._register(GS.getInstance().onDidChange((()=>{this._eventDispatcher.emitSingleViewEvent(new UL)}))),this._register(this._themeService.onDidColorThemeChange((t=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new HL(t))}))),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(t){this._eventDispatcher.addViewEventHandler(t)}removeViewEventHandler(t){this._eventDispatcher.removeViewEventHandler(t)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const t=this.viewLayout.getLinesViewportData(),i=new Ms(t.startLineNumber,this.getLineMinColumn(t.startLineNumber),t.endLineNumber,this.getLineMaxColumn(t.endLineNumber));return this._toModelVisibleRanges(i)}visibleLinesStabilized(){const t=this.getModelVisibleRanges();this._attachedView.setVisibleLines(t,!0)}_handleVisibleLinesChanged(){const t=this.getModelVisibleRanges();this._attachedView.setVisibleLines(t,!1)}setHasFocus(t){this._hasFocus=t,this._cursor.setHasFocus(t),this._eventDispatcher.emitSingleViewEvent(new _L(t)),this._eventDispatcher.emitOutgoingEvent(new QL(!t,t))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new LL)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new FL)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const t=new As(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),i=this.coordinatesConverter.convertViewPositionToModelPosition(t);return new qF(i,this._viewportStart.startLineDelta)}return new qF(null,0)}_onConfigurationChanged(t,i){const e=this._captureStableViewport(),s=this._configuration.options,n=s.get(50),o=s.get(137),r=s.get(144),h=s.get(136),c=s.get(128);this._lines.setWrappingSettings(n,o,r.wrappingColumn,h,c)&&(t.emitViewEvent(new IL),t.emitViewEvent(new BL),t.emitViewEvent(new OL(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),i.hasChanged(90)&&(this._decorations.reset(),t.emitViewEvent(new OL(null))),i.hasChanged(97)&&(this._decorations.reset(),t.emitViewEvent(new OL(null))),t.emitViewEvent(new TL(i)),this.viewLayout.onConfigurationChanged(i),e.recoverViewportStart(this.coordinatesConverter,this.viewLayout),hC.shouldRecreate(i)&&(this.cursorConfig=new hC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText((t=>{try{const i=this._eventDispatcher.beginEmitViewEvents();let e=!1,s=!1;const n=t instanceof YM?t.rawContentChangedEvent.changes:t.changes,o=t instanceof YM?t.rawContentChangedEvent.versionId:null,r=this._lines.createLineBreaksComputer();for(const t of n)switch(t.changeType){case 4:for(let i=0;i!t.ownerId||t.ownerId===this._editorId))),r.addRequest(e,s,null)}break;case 2:{let i=null;t.injectedText&&(i=t.injectedText.filter((t=>!t.ownerId||t.ownerId===this._editorId))),r.addRequest(t.detail,i,null);break}}const h=r.finalize(),c=new N(h);for(const t of n)switch(t.changeType){case 1:this._lines.onModelFlushed(),i.emitViewEvent(new IL),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),e=!0;break;case 3:{const s=this._lines.onModelLinesDeleted(o,t.fromLineNumber,t.toLineNumber);null!==s&&(i.emitViewEvent(s),this.viewLayout.onLinesDeleted(s.fromLineNumber,s.toLineNumber)),e=!0;break}case 4:{const s=c.takeCount(t.detail.length),n=this._lines.onModelLinesInserted(o,t.fromLineNumber,t.toLineNumber,s);null!==n&&(i.emitViewEvent(n),this.viewLayout.onLinesInserted(n.fromLineNumber,n.toLineNumber)),e=!0;break}case 2:{const e=c.dequeue(),[n,r,h,a]=this._lines.onModelLineChanged(o,t.lineNumber,e);s=n,r&&i.emitViewEvent(r),h&&(i.emitViewEvent(h),this.viewLayout.onLinesInserted(h.fromLineNumber,h.toLineNumber)),a&&(i.emitViewEvent(a),this.viewLayout.onLinesDeleted(a.fromLineNumber,a.toLineNumber));break}}null!==o&&this._lines.acceptVersionId(o),this.viewLayout.onHeightMaybeChanged(),!e&&s&&(i.emitViewEvent(new BL),i.emitViewEvent(new OL(null)),this._cursor.onLineMappingChanged(i),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const i=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&i){const t=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(t){const i=this.coordinatesConverter.convertModelPositionToViewPosition(t.getStartPosition()),e=this.viewLayout.getVerticalOffsetForLineNumber(i.lineNumber);this.viewLayout.setScrollPosition({scrollTop:e+this._viewportStart.startLineDelta},1)}}try{const i=this._eventDispatcher.beginEmitViewEvents();t instanceof YM&&i.emitOutgoingEvent(new oF(t.contentChangedEvent)),this._cursor.onModelContentChanged(i,t)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()}))),this._register(this.model.onDidChangeTokens((t=>{const i=[];for(let e=0,s=t.ranges.length;e{this._eventDispatcher.emitSingleViewEvent(new NL),this.cursorConfig=new hC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new nF(t))}))),this._register(this.model.onDidChangeLanguage((t=>{this.cursorConfig=new hC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new sF(t))}))),this._register(this.model.onDidChangeOptions((t=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const t=this._eventDispatcher.beginEmitViewEvents();t.emitViewEvent(new IL),t.emitViewEvent(new BL),t.emitViewEvent(new OL(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new hC(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new rF(t))}))),this._register(this.model.onDidChangeDecorations((t=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new OL(t)),this._eventDispatcher.emitOutgoingEvent(new eF(t))})))}setHiddenAreas(t,i){var e;this.hiddenAreasModel.setHiddenAreas(i,t);const s=this.hiddenAreasModel.getMergedRanges();if(s===this.previousHiddenAreas)return;this.previousHiddenAreas=s;const n=this._captureStableViewport();let o=!1;try{const t=this._eventDispatcher.beginEmitViewEvents();o=this._lines.setHiddenAreas(s),o&&(t.emitViewEvent(new IL),t.emitViewEvent(new BL),t.emitViewEvent(new OL(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const i=null===(e=n.viewportStartModelPosition)||void 0===e?void 0:e.lineNumber,r=i&&s.some((t=>t.startLineNumber<=i&&i<=t.endLineNumber));r||n.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),o&&this._eventDispatcher.emitOutgoingEvent(new XL)}getVisibleRangesPlusViewportAboveBelow(){const t=this._configuration.options.get(143),i=this._configuration.options.get(66),e=Math.max(20,Math.round(t.height/i)),s=this.viewLayout.getLinesViewportData(),n=Math.max(1,s.completelyVisibleStartLineNumber-e),o=Math.min(this.getLineCount(),s.completelyVisibleEndLineNumber+e);return this._toModelVisibleRanges(new Ms(n,this.getLineMinColumn(n),o,this.getLineMaxColumn(o)))}getVisibleRanges(){const t=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(t)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(t){const i=this.coordinatesConverter.convertViewRangeToModelRange(t),e=this._lines.getHiddenAreas();if(0===e.length)return[i];const s=[];let n=0,o=i.startLineNumber,r=i.startColumn;const h=i.endLineNumber,c=i.endColumn;for(let t=0,i=e.length;th||(oi.toInlineDecoration(t)))]),new Jg(o.minColumn,o.maxColumn,o.content,o.continuesWithWrappedLine,e,s,o.tokens,i,n,o.startVisibleColumn)}getViewLineData(t){return this._lines.getViewLineData(t)}getMinimapLinesRenderingData(t,i,e){const s=this._lines.getViewLinesData(t,i,e);return new Zg(this.getTabSize(),s)}getAllOverviewRulerDecorations(t){const i=this.model.getOverviewRulerDecorations(this._editorId,xi(this._configuration.options)),e=new HF;for(const s of i){const i=s.options,n=i.overviewRuler;if(!n)continue;const o=n.position;if(0===o)continue;const r=n.getColor(t.value),h=this.coordinatesConverter.getViewLineNumberOfModelPosition(s.range.startLineNumber,s.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(s.range.endLineNumber,s.range.endColumn);e.accept(r,i.zIndex,h,c,o)}return e.asArray}_invalidateDecorationsColorCache(){const t=this.model.getOverviewRulerDecorations();for(const i of t){const t=i.options.overviewRuler;null==t||t.invalidateCachedColor();const e=i.options.minimap;null==e||e.invalidateCachedColor()}}getValueInRange(t,i){const e=this.coordinatesConverter.convertViewRangeToModelRange(t);return this.model.getValueInRange(e,i)}getValueLengthInRange(t,i){const e=this.coordinatesConverter.convertViewRangeToModelRange(t);return this.model.getValueLengthInRange(e,i)}modifyPosition(t,i){const e=this.coordinatesConverter.convertViewPositionToModelPosition(t);return this.model.modifyPosition(e,i)}deduceModelPositionRelativeToViewPosition(t,i,e){const s=this.coordinatesConverter.convertViewPositionToModelPosition(t);2===this.model.getEOL().length&&(i<0?i-=e:i+=e);const n=this.model.getOffsetAt(s);return this.model.getPositionAt(n+i)}getPlainTextToCopy(t,i,e){const s=e?"\r\n":this.model.getEOL();(t=t.slice(0)).sort(Ms.compareRangesUsingStarts);let n=!1,o=!1;for(const i of t)i.isEmpty()?n=!0:o=!0;if(!o){if(!i)return"";const e=t.map((t=>t.startLineNumber));let n="";for(let t=0;t0&&e[t-1]===e[t]||(n+=this.model.getLineContent(e[t])+s);return n}if(n&&i){const i=[];let s=0;for(const n of t){const t=n.startLineNumber;n.isEmpty()?t!==s&&i.push(this.model.getLineContent(t)):i.push(this.model.getValueInRange(n,e?2:0)),s=t}return 1===i.length?i[0]:i}const r=[];for(const i of t)i.isEmpty()||r.push(this.model.getValueInRange(i,e?2:0));return 1===r.length?r[0]:r}getRichTextToCopy(t,i){const e=this.model.getLanguageId();if(e===Pd)return null;if(1!==t.length)return null;let s=t[0];if(s.isEmpty()){if(!i)return null;const t=s.startLineNumber;s=new Ms(t,this.model.getLineMinColumn(t),t,this.model.getLineMaxColumn(t))}const n=this._configuration.options.get(50),o=this._getColorMap();let r;return/[:;\\\/<>]/.test(n.fontFamily)||n.fontFamily===Oi.fontFamily?r=Oi.fontFamily:(r=n.fontFamily,r=r.replace(/"/g,"'"),/[,']/.test(r)||/[+ ]/.test(r)&&(r=`'${r}'`),r=`${r}, ${Oi.fontFamily}`),{mode:e,html:`
`+this._getHTMLToCopy(s,o)+"
"}}_getHTMLToCopy(t,i){const e=t.startLineNumber,s=t.startColumn,n=t.endLineNumber,o=t.endColumn,r=this.getTabSize();let h="";for(let t=e;t<=n;t++){const c=this.model.tokenization.getLineTokens(t),a=c.getLineContent(),l=t===e?s-1:0,u=t===n?o-1:a.length;h+=""===a?"
":gF(a,c.inflate(),i,l,u,r,Ct)}return h}_getColorMap(){const t=Zs.getColorMap(),i=["#000000"];if(t)for(let e=1,s=t.length;ethis._cursor.setStates(s,t,i,e)))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(t){this._cursor.setCursorColumnSelectData(t)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(t){this._cursor.setPrevEditOperationType(t)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(t,i,e=0){this._withViewEventsCollector((s=>this._cursor.setSelections(s,t,i,e)))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(t){this._withViewEventsCollector((i=>this._cursor.restoreState(i,t)))}_executeCursorEdit(t){this._cursor.context.cursorConfig.readOnly?this._eventDispatcher.emitOutgoingEvent(new iF):this._withViewEventsCollector(t)}executeEdits(t,i,e){this._executeCursorEdit((s=>this._cursor.executeEdits(s,t,i,e)))}startComposition(){this._executeCursorEdit((t=>this._cursor.startComposition(t)))}endComposition(t){this._executeCursorEdit((i=>this._cursor.endComposition(i,t)))}type(t,i){this._executeCursorEdit((e=>this._cursor.type(e,t,i)))}compositionType(t,i,e,s,n){this._executeCursorEdit((o=>this._cursor.compositionType(o,t,i,e,s,n)))}paste(t,i,e,s){this._executeCursorEdit((n=>this._cursor.paste(n,t,i,e,s)))}cut(t){this._executeCursorEdit((i=>this._cursor.cut(i,t)))}executeCommand(t,i){this._executeCursorEdit((e=>this._cursor.executeCommand(e,t,i)))}executeCommands(t,i){this._executeCursorEdit((e=>this._cursor.executeCommands(e,t,i)))}revealPrimaryCursor(t,i,e=!1){this._withViewEventsCollector((s=>this._cursor.revealPrimary(s,t,e,0,i,0)))}revealTopMostCursor(t){const i=this._cursor.getTopMostViewPosition(),e=new Ms(i.lineNumber,i.column,i.lineNumber,i.column);this._withViewEventsCollector((i=>i.emitViewEvent(new jL(t,!1,e,null,0,!0,0))))}revealBottomMostCursor(t){const i=this._cursor.getBottomMostViewPosition(),e=new Ms(i.lineNumber,i.column,i.lineNumber,i.column);this._withViewEventsCollector((i=>i.emitViewEvent(new jL(t,!1,e,null,0,!0,0))))}revealRange(t,i,e,s,n){this._withViewEventsCollector((o=>o.emitViewEvent(new jL(t,!1,e,null,s,i,n))))}changeWhitespace(t){this.viewLayout.changeWhitespace(t)&&(this._eventDispatcher.emitSingleViewEvent(new qL),this._eventDispatcher.emitOutgoingEvent(new YL))}_withViewEventsCollector(t){try{return t(this._eventDispatcher.beginEmitViewEvents())}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(t,i){return this._lines.normalizePosition(t,i)}getLineIndentColumn(t){return this._lines.getLineIndentColumn(t)}}class zF{static create(t){const i=t._setTrackedRange(null,new Ms(1,1,1,1),1);return new zF(t,1,!1,i,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(t,i,e,s,n){this._model=t,this._viewLineNumber=i,this._isValid=e,this._modelTrackedRange=s,this._startLineDelta=n}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(t,i){const e=t.coordinatesConverter.convertViewPositionToModelPosition(new As(i,t.getLineMinColumn(i))),s=t.model._setTrackedRange(this._modelTrackedRange,new Ms(e.lineNumber,e.column,e.lineNumber,e.column),1),n=t.viewLayout.getVerticalOffsetForLineNumber(i),o=t.viewLayout.getCurrentScrollTop();this._viewLineNumber=i,this._isValid=!0,this._modelTrackedRange=s,this._startLineDelta=o-n}invalidate(){this._isValid=!1}}class HF{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(t,i,e,s,n){const o=this._asMap[t];if(o){const t=o.data,i=t[t.length-1];if(t[t.length-3]===n&&i+1>=e)return void(s>i&&(t[t.length-1]=s));t.push(n,e,s)}else{const o=new im(t,i,[n,e,s]);this._asMap[t]=o,this.asArray.push(o)}}}class VF{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(t,i){const e=this.hiddenAreas.get(t);e&&UF(e,i)||(this.hiddenAreas.set(t,i),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const t=Array.from(this.hiddenAreas.values()).reduce(((t,i)=>function(t,i){const e=[];let s=0,n=0;for(;s0?this.wrappedTextIndentLength:0}getLineLength(t){let i=this.breakOffsets[t]-(t>0?this.breakOffsets[t-1]:0);return t>0&&(i+=this.wrappedTextIndentLength),i}getMaxOutputOffset(t){return this.getLineLength(t)}translateToInputOffset(t,i){t>0&&(i=Math.max(0,i-this.wrappedTextIndentLength));let e=0===t?i:this.breakOffsets[t-1]+i;if(null!==this.injectionOffsets)for(let t=0;tthis.injectionOffsets[t];t++)e0?this.breakOffsets[n-1]:0,0===i)if(t<=o)s=n-1;else{if(!(t>r))break;e=n+1}else if(t=r))break;e=n+1}}let r=t-o;return n>0&&(r+=this.wrappedTextIndentLength),new iT(n,r)}normalizeOutputPosition(t,i,e){if(null!==this.injectionOffsets){const s=this.outputPositionToOffsetInInputWithInjections(t,i),n=this.normalizeOffsetInInputWithInjectionsAroundInjections(s,e);if(n!==s)return this.offsetInInputWithInjectionsToOutputPosition(n,e)}if(0===e){if(t>0&&i===this.getMinOutputOffset(t))return new iT(t-1,this.getMaxOutputOffset(t-1))}else if(1===e&&t0&&(i=Math.max(0,i-this.wrappedTextIndentLength)),(t>0?this.breakOffsets[t-1]:0)+i}normalizeOffsetInInputWithInjectionsAroundInjections(t,i){const e=this.getInjectedTextAtOffset(t);if(!e)return t;if(2===i){if(t===e.offsetInInputWithInjections+e.length&&XF(this.injectionOptions[e.injectedTextIndex].cursorStops))return e.offsetInInputWithInjections+e.length;{let t=e.offsetInInputWithInjections;if(tT(this.injectionOptions[e.injectedTextIndex].cursorStops))return t;let i=e.injectedTextIndex-1;for(;i>=0&&this.injectionOffsets[i]===this.injectionOffsets[e.injectedTextIndex]&&!XF(this.injectionOptions[i].cursorStops)&&(t-=this.injectionOptions[i].content.length,!tT(this.injectionOptions[i].cursorStops));)i--;return t}}if(1===i||4===i){let t=e.offsetInInputWithInjections+e.length,i=e.injectedTextIndex;for(;i+1=0&&this.injectionOffsets[i-1]===this.injectionOffsets[i];)t-=this.injectionOptions[i-1].content.length,i--;return t}xh()}getInjectedText(t,i){const e=this.outputPositionToOffsetInInputWithInjections(t,i),s=this.getInjectedTextAtOffset(e);return s?{options:this.injectionOptions[s.injectedTextIndex]}:null}getInjectedTextAtOffset(t){const i=this.injectionOffsets,e=this.injectionOptions;if(null!==i){let s=0;for(let n=0;nt)break;if(t<=h)return{injectedTextIndex:n,offsetInInputWithInjections:r,length:o};s+=o}}}}function XF(t){return null==t||t===Tf.Right||t===Tf.Both}function tT(t){return null==t||t===Tf.Left||t===Tf.Both}class iT{constructor(t,i){this.outputLineIndex=t,this.outputOffset=i}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(t){return new As(t+this.outputLineIndex,this.outputOffset+1)}}class eT{static create(t){return new eT(t.get(132),t.get(131))}constructor(t,i){this.classifier=new sT(t,i)}createLineBreaksComputer(t,i,e,s,n){const o=[],r=[],h=[];return{addRequest:(t,i,e)=>{o.push(t),r.push(i),h.push(e)},finalize:()=>{const c=t.typicalFullwidthCharacterWidth/t.typicalHalfwidthCharacterWidth,a=[];for(let t=0,l=o.length;t=0&&t<256?this._asciiMap[t]:t>=12352&&t<=12543||t>=13312&&t<=19903||t>=19968&&t<=40959?3:this._map.get(t)||this._defaultValue}}let nT=[],oT=[];function rT(t,i,e,s,n,o,r,h){if(-1===n)return null;const c=e.length;if(c<=1)return null;const a="keepAll"===h,l=i.breakOffsets,u=i.breakOffsetsVisibleColumn,d=uT(e,s,n,o,r),f=n-d,p=nT,g=oT;let m=0,w=0,v=0,b=n;const y=l.length;let k=0;if(k>=0){let t=Math.abs(u[k]-b);for(;k+1=t)break;t=i,k++}}for(;ki&&(i=w,n=v);let r=0,h=0,d=0,x=0;if(n<=b){let v=n,y=0===i?0:e.charCodeAt(i-1),k=0===i?0:t.get(y),C=!0;for(let n=i;nw&&lT(0,k,c,l,a)&&(r=i,h=v),v+=u,v>b){i>w?(d=i,x=v-u):(d=n+1,x=v),v-h>f&&(r=0),C=!1;break}y=c,k=l}if(C){m>0&&(p[m]=l[l.length-1],g[m]=u[l.length-1],m++);break}}if(0===r){let c=n,l=e.charCodeAt(i),u=t.get(l),p=!1;for(let s=i-1;s>=w;s--){const i=s+1,n=e.charCodeAt(s);if(9===n){p=!0;break}let g,m;if(mo(n)?(s--,g=0,m=2):(g=t.get(n),m=Lo(n)?o:1),c<=b){if(0===d&&(d=i,x=c),c<=b-f)break;if(lT(0,g,l,u,a)){r=i,h=c;break}}c-=m,l=n,u=g}if(0!==r){const t=f-(x-h);if(t<=s){const i=e.charCodeAt(d);let n;n=go(i)?2:cT(i,x,s,o),t-n<0&&(r=0)}}if(p){k--;continue}}if(0===r&&(r=d,h=x),r<=w){const t=e.charCodeAt(w);go(t)?(r=w+2,h=v+2):(r=w+1,h=v+cT(t,v,s,o))}for(w=r,p[m]=r,v=h,g[m]=h,m++,b=h+f;k<0||k=C)break;C=t,k++}}return 0===m?null:(p.length=m,g.length=m,nT=i.breakOffsets,oT=i.breakOffsetsVisibleColumn,i.breakOffsets=p,i.breakOffsetsVisibleColumn=g,i.wrappedTextIndentLength=d,i)}function hT(t,i,e,s,n,o,r,h){const c=UM.applyInjectedText(i,e);let a,l;if(e&&e.length>0?(a=e.map((t=>t.options)),l=e.map((t=>t.column-1))):(a=null,l=null),-1===n)return a?new YF(l,a,[c.length],[],0):null;const u=c.length;if(u<=1)return a?new YF(l,a,[c.length],[],0):null;const d="keepAll"===h,f=uT(c,s,n,o,r),p=n-f,g=[],m=[];let w=0,v=0,b=0,y=n,k=c.charCodeAt(0),x=t.get(k),C=cT(k,0,s,o),S=1;go(k)&&(C+=1,k=c.charCodeAt(1),x=t.get(k),S++);for(let i=S;iy&&((0===v||C-b>p)&&(v=e,b=C-h),g[w]=v,m[w]=b,w++,y=b+p,v=0),k=n,x=r}return 0!==w||e&&0!==e.length?(g[w]=u,m[w]=C,new YF(l,a,g,m,f)):null}function cT(t,i,e,s){return 9===t?e-i%e:Lo(t)||t<32?s:1}function aT(t,i){return i-t%i}function lT(t,i,e,s,n){return 32!==e&&(2===i&&2!==s||1!==i&&1===s||!n&&3===i&&2!==s||!n&&3===s&&1!==i)}function uT(t,i,e,s,n){let o=0;if(0!==n){const r=to(t);if(-1!==r){for(let e=0;ee&&(o=0)}}return o}const dT=Mu("domLineBreaksComputer",{createHTML:t=>t});class fT{static create(t){return new fT(new WeakRef(t))}constructor(t){this.targetWindow=t}createLineBreaksComputer(t,i,e,s,n){const o=[],r=[];return{addRequest:(t,i)=>{o.push(t),r.push(i)},finalize:()=>function(t,i,e,s,n,o,r,h){var c;function a(t){const e=h[t];if(e){const s=UM.applyInjectedText(i[t],e),n=e.map((t=>t.options)),o=e.map((t=>t.column-1));return new YF(o,n,[s.length],[],0)}return null}if(-1===n){const t=[];for(let e=0,s=i.length;el?(r=0,c=0):a=l-t}const u=n.substr(r),f=pT(u,c,s,a,p,d);g[t]=r,m[t]=c,w[t]=u,v[t]=f[0],b[t]=f[1]}const y=p.build(),k=null!==(c=null==dT?void 0:dT.createHTML(y))&&void 0!==c?c:y;f.innerHTML=k,f.style.position="absolute",f.style.top="10000","keepAll"===r?(f.style.wordBreak="keep-all",f.style.overflowWrap="anywhere"):(f.style.wordBreak="inherit",f.style.overflowWrap="break-word"),t.document.body.appendChild(f);const x=document.createRange(),C=Array.prototype.slice.call(f.children,0),S=[];for(let t=0;tt.options)),c=l.map((t=>t.column-1))):(r=null,c=null),S[t]=new YF(c,r,i,o,s)}return t.document.body.removeChild(f),S}(G(this.targetWindow.deref()),o,t,i,e,s,n,r)}}}function pT(t,i,e,s,n,o){if(0!==o){const t=String(o);n.appendString('
');const r=t.length;let h=i,c=0;const a=[],l=[];let u=0");for(let i=0;i"),a[i]=c,l[i]=h;const s=u;u=i+1"),a[t.length]=c,l[t.length]=h,n.appendString("
"),[a,l]}function gT(t,i,e,s){if(e.length<=1)return null;const n=Array.prototype.slice.call(i.children,0),o=[];try{mT(t,n,s,0,null,e.length-1,null,o)}catch(t){return console.log(t),null}return 0===o.length?null:(o.push(e.length),o)}function mT(t,i,e,s,n,o,r,h){if(s===o)return;if(n=n||wT(t,i,e[s],e[s+1]),r=r||wT(t,i,e[o],e[o+1]),Math.abs(n[0].top-r[0].top)<=.1)return;if(s+1===o)return void h.push(o);const c=s+(o-s)/2|0,a=wT(t,i,e[c],e[c+1]);mT(t,i,e,s,n,c,a,h),mT(t,i,e,c,a,o,r,h)}function wT(t,i,e,s){return t.setStart(i[e/16384|0].firstChild,e%16384),t.setEnd(i[s/16384|0].firstChild,s%16384),t.getClientRects()}class vT extends ie{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new oe),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(t,i,e){this._editor=t,this._instantiationService=e;for(const t of i)this._pending.has(t.id)?Pi(new Error(`Cannot have two contributions with the same id ${t.id}`)):this._pending.set(t.id,t);this._instantiateSome(0),this._register(Ka(Na(this._editor.getDomNode()),(()=>{this._instantiateSome(1)}))),this._register(Ka(Na(this._editor.getDomNode()),(()=>{this._instantiateSome(2)}))),this._register(Ka(Na(this._editor.getDomNode()),(()=>{this._instantiateSome(3)}),5e3))}saveViewState(){const t={};for(const[i,e]of this._instances)"function"==typeof e.saveViewState&&(t[i]=e.saveViewState());return t}restoreViewState(t){for(const[i,e]of this._instances)"function"==typeof e.restoreViewState&&e.restoreViewState(t[i])}get(t){return this._instantiateById(t),this._instances.get(t)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){var t;this._register(Ka(Na(null===(t=this._editor)||void 0===t?void 0:t.getDomNode()),(()=>{this._instantiateSome(1)}),50))}_instantiateSome(t){if(this._finishedInstantiation[t])return;this._finishedInstantiation[t]=!0;const i=this._findPendingContributionsByInstantiation(t);for(const t of i)this._instantiateById(t.id)}_findPendingContributionsByInstantiation(t){const i=[];for(const[,e]of this._pending)e.instantiation===t&&i.push(e);return i}_instantiateById(t){const i=this._pending.get(t);if(i){if(this._pending.delete(t),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const t=this._instantiationService.createInstance(i.ctor,this._editor);this._instances.set(i.id,t),"function"==typeof t.restoreViewState&&0!==i.instantiation&&console.warn(`Editor contribution '${i.id}' should be eager instantiated because it uses saveViewState / restoreViewState.`)}catch(t){Pi(t)}}}}var bT,yT=function(t,i){return function(e,s){i(e,s,t)}};let kT=0;class xT{constructor(t,i,e,s,n,o){this.model=t,this.viewModel=i,this.view=e,this.hasRealView=s,this.listenersToRemove=n,this.attachedView=o}dispose(){Ji(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}}let CT=bT=class extends ie{get isSimpleWidget(){return this._configuration.isSimpleWidget}constructor(t,i,e,s,n,o,r,h,c,a,l,u){var d;super(),this.languageConfigurationService=l,this._deliveryQueue=new pe,this._contributions=this._register(new vT),this._onDidDispose=this._register(new fe),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onDidChangeModel=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new DT(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new ST({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new ST({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new DT(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new DT(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new DT(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new DT(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new DT(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new DT(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new DT(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new DT(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new DT(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new DT(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new DT(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new DT(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new DT(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new DT(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new DT(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new DT(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new DT(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new fe({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),n.willCreateCodeEditor();const f={...i};let p;this._domElement=t,this._overflowWidgetsDomNode=f.overflowWidgetsDomNode,delete f.overflowWidgetsDomNode,this._id=++kT,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=e.telemetryData,this._configuration=this._register(this._createConfiguration(e.isSimpleWidget||!1,f,a)),this._register(this._configuration.onDidChange((t=>{this._onDidChangeConfiguration.fire(t);const i=this._configuration.options;if(t.hasChanged(143)){const t=i.get(143);this._onDidLayoutChange.fire(t)}}))),this._contextKeyService=this._register(r.createScoped(this._domElement)),this._notificationService=c,this._codeEditorService=n,this._commandService=o,this._themeService=h,this._register(new ET(this,this._contextKeyService)),this._register(new AT(this,this._contextKeyService,u)),this._instantiationService=s.createChild(new KF([ah,this._contextKeyService])),this._modelData=null,this._focusTracker=new MT(t),this._register(this._focusTracker.onChange((()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())}))),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={},p=Array.isArray(e.contributions)?e.contributions:uu.getEditorContributions(),this._contributions.initialize(this,p,this._instantiationService);for(const t of uu.getEditorActions()){if(this._actions.has(t.id)){Pi(new Error(`Cannot have two actions with the same id ${t.id}`));continue}const i=new $D(t.id,t.label,t.alias,t.metadata,null!==(d=t.precondition)&&void 0!==d?d:void 0,(()=>this._instantiationService.invokeFunction((i=>Promise.resolve(t.runEditorCommand(i,this,null))))),this._contextKeyService);this._actions.set(i.id,i)}const g=()=>!this._configuration.options.get(90)&&this._configuration.options.get(36).enabled;this._register(new Zl(this._domElement,{onDragOver:t=>{if(!g())return;const i=this.getTargetAtClientPoint(t.clientX,t.clientY);(null==i?void 0:i.position)&&this.showDropIndicatorAt(i.position)},onDrop:async t=>{if(!g())return;if(this.removeDropIndicator(),!t.dataTransfer)return;const i=this.getTargetAtClientPoint(t.clientX,t.clientY);(null==i?void 0:i.position)&&this._onDropIntoEditor.fire({position:i.position,event:t})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(t){var i;null===(i=this._modelData)||void 0===i||i.view.writeScreenReaderContent(t)}_createConfiguration(t,i,e){return new Um(t,i,this._domElement,e)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return Eg.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose(),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(t){return this._instantiationService.invokeFunction(t)}updateOptions(t){this._configuration.updateOptions(t||{})}getOptions(){return this._configuration.options}getOption(t){return this._configuration.options.get(t)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(t){return this._modelData?CC.getWordAtPosition(this._modelData.model,this._configuration.options.get(129),t):null}getValue(t=null){if(!this._modelData)return"";let i=0;return t&&t.lineEnding&&"\n"===t.lineEnding?i=1:t&&t.lineEnding&&"\r\n"===t.lineEnding&&(i=2),this._modelData.model.getValue(i,!(!t||!t.preserveBOM))}setValue(t){this._modelData&&this._modelData.model.setValue(t)}getModel(){return this._modelData?this._modelData.model:null}setModel(t=null){const i=t;if(null===this._modelData&&null===i)return;if(this._modelData&&this._modelData.model===i)return;const e=this.hasTextFocus(),s=this._detachModel();this._attachModel(i),e&&this.hasModel()&&this.focus();const n={oldModelUrl:s?s.uri:null,newModelUrl:i?i.uri:null};this._removeDecorationTypes(),this._onDidChangeModel.fire(n),this._postDetachModelCleanup(s),this._contributions.onAfterModelAttached()}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const t in this._decorationTypeSubtypes){const i=this._decorationTypeSubtypes[t];for(const e in i)this._removeDecorationType(t+"-"+e)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(t,i,e,s){const n=t.model.validatePosition({lineNumber:i,column:e}),o=t.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n);return t.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(o.lineNumber,s)}getTopForLineNumber(t,i=!1){return this._modelData?bT._getVerticalOffsetForPosition(this._modelData,t,1,i):-1}getTopForPosition(t,i){return this._modelData?bT._getVerticalOffsetForPosition(this._modelData,t,i,!1):-1}static _getVerticalOffsetForPosition(t,i,e,s=!1){const n=t.model.validatePosition({lineNumber:i,column:e}),o=t.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n);return t.viewModel.viewLayout.getVerticalOffsetForLineNumber(o.lineNumber,s)}getBottomForLineNumber(t,i=!1){return this._modelData?bT._getVerticalOffsetAfterPosition(this._modelData,t,1,i):-1}setHiddenAreas(t,i){var e;null===(e=this._modelData)||void 0===e||e.viewModel.setHiddenAreas(t.map((t=>Ms.lift(t))),i)}getVisibleColumnFromPosition(t){if(!this._modelData)return t.column;const i=this._modelData.model.validatePosition(t),e=this._modelData.model.getOptions().tabSize;return qy.visibleColumnFromColumn(this._modelData.model.getLineContent(i.lineNumber),i.column,e)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(t,i="api"){if(this._modelData){if(!As.isIPosition(t))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(i,[{selectionStartLineNumber:t.lineNumber,selectionStartColumn:t.column,positionLineNumber:t.lineNumber,positionColumn:t.column}])}}_sendRevealRange(t,i,e,s){if(!this._modelData)return;if(!Ms.isIRange(t))throw new Error("Invalid arguments");const n=this._modelData.model.validateRange(t),o=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(n);this._modelData.viewModel.revealRange("api",e,o,i,s)}revealLine(t,i=0){this._revealLine(t,0,i)}revealLineInCenter(t,i=0){this._revealLine(t,1,i)}revealLineInCenterIfOutsideViewport(t,i=0){this._revealLine(t,2,i)}revealLineNearTop(t,i=0){this._revealLine(t,5,i)}_revealLine(t,i,e){if("number"!=typeof t)throw new Error("Invalid arguments");this._sendRevealRange(new Ms(t,1,t,1),i,!1,e)}revealPosition(t,i=0){this._revealPosition(t,0,!0,i)}revealPositionInCenter(t,i=0){this._revealPosition(t,1,!0,i)}revealPositionInCenterIfOutsideViewport(t,i=0){this._revealPosition(t,2,!0,i)}revealPositionNearTop(t,i=0){this._revealPosition(t,5,!0,i)}_revealPosition(t,i,e,s){if(!As.isIPosition(t))throw new Error("Invalid arguments");this._sendRevealRange(new Ms(t.lineNumber,t.column,t.lineNumber,t.column),i,e,s)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(t,i="api"){const e=Ls.isISelection(t),s=Ms.isIRange(t);if(!e&&!s)throw new Error("Invalid arguments");e?this._setSelectionImpl(t,i):s&&this._setSelectionImpl({selectionStartLineNumber:t.startLineNumber,selectionStartColumn:t.startColumn,positionLineNumber:t.endLineNumber,positionColumn:t.endColumn},i)}_setSelectionImpl(t,i){if(!this._modelData)return;const e=new Ls(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn);this._modelData.viewModel.setSelections(i,[e])}revealLines(t,i,e=0){this._revealLines(t,i,0,e)}revealLinesInCenter(t,i,e=0){this._revealLines(t,i,1,e)}revealLinesInCenterIfOutsideViewport(t,i,e=0){this._revealLines(t,i,2,e)}revealLinesNearTop(t,i,e=0){this._revealLines(t,i,5,e)}_revealLines(t,i,e,s){if("number"!=typeof t||"number"!=typeof i)throw new Error("Invalid arguments");this._sendRevealRange(new Ms(t,1,i,1),e,!1,s)}revealRange(t,i=0,e=!1,s=!0){this._revealRange(t,e?1:0,s,i)}revealRangeInCenter(t,i=0){this._revealRange(t,1,!0,i)}revealRangeInCenterIfOutsideViewport(t,i=0){this._revealRange(t,2,!0,i)}revealRangeNearTop(t,i=0){this._revealRange(t,5,!0,i)}revealRangeNearTopIfOutsideViewport(t,i=0){this._revealRange(t,6,!0,i)}revealRangeAtTop(t,i=0){this._revealRange(t,3,!0,i)}_revealRange(t,i,e,s){if(!Ms.isIRange(t))throw new Error("Invalid arguments");this._sendRevealRange(Ms.lift(t),i,e,s)}setSelections(t,i="api",e=0){if(this._modelData){if(!t||0===t.length)throw new Error("Invalid arguments");for(let i=0,e=t.length;i0&&this._modelData.viewModel.restoreCursorState(t):this._modelData.viewModel.restoreCursorState([t]),this._contributions.restoreViewState(i.contributionsState||{});const e=this._modelData.viewModel.reduceRestoreState(i.viewState);this._modelData.view.restoreState(e)}}handleInitialized(){var t;null===(t=this._getViewModel())||void 0===t||t.visibleLinesStabilized()}getContribution(t){return this._contributions.get(t)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let t=this.getActions();return t=t.filter((t=>t.isSupported())),t}getAction(t){return this._actions.get(t)||null}trigger(t,i,e){switch(e=e||{},i){case"compositionStart":return void this._startComposition();case"compositionEnd":return void this._endComposition(t);case"type":return void this._type(t,e.text||"");case"replacePreviousChar":return void this._compositionType(t,e.text||"",e.replaceCharCnt||0,0,0);case"compositionType":return void this._compositionType(t,e.text||"",e.replacePrevCharCnt||0,e.replaceNextCharCnt||0,e.positionDelta||0);case"paste":return void this._paste(t,e.text||"",e.pasteOnNewLine||!1,e.multicursorText||null,e.mode||null);case"cut":return void this._cut(t)}const s=this.getAction(i);s?Promise.resolve(s.run(e)).then(void 0,Pi):this._modelData&&(this._triggerEditorCommand(t,i,e)||this._triggerCommand(i,e))}_triggerCommand(t,i){this._commandService.executeCommand(t,i)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(t){this._modelData&&(this._modelData.viewModel.endComposition(t),this._onDidCompositionEnd.fire())}_type(t,i){this._modelData&&0!==i.length&&("keyboard"===t&&this._onWillType.fire(i),this._modelData.viewModel.type(i,t),"keyboard"===t&&this._onDidType.fire(i))}_compositionType(t,i,e,s,n){this._modelData&&this._modelData.viewModel.compositionType(i,e,s,n,t)}_paste(t,i,e,s,n){if(!this._modelData||0===i.length)return;const o=this._modelData.viewModel,r=o.getSelection().getStartPosition();o.paste(i,e,s,t);const h=o.getSelection().getStartPosition();"keyboard"===t&&this._onDidPaste.fire({range:new Ms(r.lineNumber,r.column,h.lineNumber,h.column),languageId:n})}_cut(t){this._modelData&&this._modelData.viewModel.cut(t)}_triggerEditorCommand(t,i,e){const s=uu.getEditorCommand(i);return!!s&&((e=e||{}).source=t,this._instantiationService.invokeFunction((t=>{Promise.resolve(s.runEditorCommand(t,this,e)).then(void 0,Pi)})),!0)}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!!this._modelData&&!this._configuration.options.get(90)&&(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!!this._modelData&&!this._configuration.options.get(90)&&(this._modelData.model.popStackElement(),!0)}executeEdits(t,i,e){if(!this._modelData)return!1;if(this._configuration.options.get(90))return!1;let s;return s=e?Array.isArray(e)?()=>e:e:()=>null,this._modelData.viewModel.executeEdits(t,i,s),!0}executeCommand(t,i){this._modelData&&this._modelData.viewModel.executeCommand(i,t)}executeCommands(t,i){this._modelData&&this._modelData.viewModel.executeCommands(i,t)}createDecorationsCollection(t){return new LT(this,t)}changeDecorations(t){return this._modelData?this._modelData.model.changeDecorations(t,this._id):null}getLineDecorations(t){return this._modelData?this._modelData.model.getLineDecorations(t,this._id,xi(this._configuration.options)):null}getDecorationsInRange(t){return this._modelData?this._modelData.model.getDecorationsInRange(t,this._id,xi(this._configuration.options)):null}deltaDecorations(t,i){return this._modelData?0===t.length&&0===i.length?t:this._modelData.model.deltaDecorations(t,i,this._id):[]}removeDecorations(t){this._modelData&&0!==t.length&&this._modelData.model.changeDecorations((i=>{i.deltaDecorations(t,[])}))}removeDecorationsByType(t){const i=this._decorationTypeKeysToIds[t];i&&this.deltaDecorations(i,[]),this._decorationTypeKeysToIds.hasOwnProperty(t)&&delete this._decorationTypeKeysToIds[t],this._decorationTypeSubtypes.hasOwnProperty(t)&&delete this._decorationTypeSubtypes[t]}getLayoutInfo(){return this._configuration.options.get(143)}createOverviewRuler(t){return this._modelData&&this._modelData.hasRealView?this._modelData.view.createOverviewRuler(t):null}getContainerDomNode(){return this._domElement}getDomNode(){return this._modelData&&this._modelData.hasRealView?this._modelData.view.domNode.domNode:null}delegateVerticalScrollbarPointerDown(t){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateVerticalScrollbarPointerDown(t)}delegateScrollFromMouseWheelEvent(t){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateScrollFromMouseWheelEvent(t)}layout(t,i=!1){this._configuration.observeContainer(t),i||this.render()}focus(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.focus()}hasTextFocus(){return!(!this._modelData||!this._modelData.hasRealView)&&this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(t){const i={widget:t,position:t.getPosition()};this._contentWidgets.hasOwnProperty(t.getId())&&console.warn("Overwriting a content widget with the same id:"+t.getId()),this._contentWidgets[t.getId()]=i,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(i)}layoutContentWidget(t){const i=t.getId();if(this._contentWidgets.hasOwnProperty(i)){const e=this._contentWidgets[i];e.position=t.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(e)}}removeContentWidget(t){const i=t.getId();if(this._contentWidgets.hasOwnProperty(i)){const t=this._contentWidgets[i];delete this._contentWidgets[i],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(t)}}addOverlayWidget(t){const i={widget:t,position:t.getPosition()};this._overlayWidgets.hasOwnProperty(t.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[t.getId()]=i,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(i)}layoutOverlayWidget(t){const i=t.getId();if(this._overlayWidgets.hasOwnProperty(i)){const e=this._overlayWidgets[i];e.position=t.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(e)}}removeOverlayWidget(t){const i=t.getId();if(this._overlayWidgets.hasOwnProperty(i)){const t=this._overlayWidgets[i];delete this._overlayWidgets[i],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(t)}}addGlyphMarginWidget(t){const i={widget:t,position:t.getPosition()};this._glyphMarginWidgets.hasOwnProperty(t.getId())&&console.warn("Overwriting a glyph margin widget with the same id."),this._glyphMarginWidgets[t.getId()]=i,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(i)}layoutGlyphMarginWidget(t){const i=t.getId();if(this._glyphMarginWidgets.hasOwnProperty(i)){const e=this._glyphMarginWidgets[i];e.position=t.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(e)}}removeGlyphMarginWidget(t){const i=t.getId();if(this._glyphMarginWidgets.hasOwnProperty(i)){const t=this._glyphMarginWidgets[i];delete this._glyphMarginWidgets[i],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(t)}}changeViewZones(t){this._modelData&&this._modelData.hasRealView&&this._modelData.view.change(t)}getTargetAtClientPoint(t,i){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getTargetAtClientPoint(t,i):null}getScrolledVisiblePosition(t){if(!this._modelData||!this._modelData.hasRealView)return null;const i=this._modelData.model.validatePosition(t),e=this._configuration.options,s=e.get(143);return{top:bT._getVerticalOffsetForPosition(this._modelData,i.lineNumber,i.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(i.lineNumber,i.column)+s.glyphMarginWidth+s.lineNumbersWidth+s.decorationsWidth-this.getScrollLeft(),height:e.get(66)}}getOffsetForColumn(t,i){return this._modelData&&this._modelData.hasRealView?this._modelData.view.getOffsetForColumn(t,i):-1}render(t=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.view.render(!0,t)}setAriaOptions(t){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(t)}applyFontInfo(t){ir(t,this._configuration.options.get(50))}setBanner(t,i){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),this._bannerDomNode=t,this._configuration.setReservedHeight(t?i:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(t){if(!t)return void(this._modelData=null);const i=[];this._domElement.setAttribute("data-mode-id",t.getLanguageId()),this._configuration.setIsDominatedByLongLines(t.isDominatedByLongLines()),this._configuration.setModelLineCount(t.getLineCount());const e=t.onBeforeAttached(),s=new jF(this._id,this._configuration,t,fT.create(Na(this._domElement)),eT.create(this._configuration.options),(t=>Qa(Na(this._domElement),t)),this.languageConfigurationService,this._themeService,e);i.push(t.onWillDispose((()=>this.setModel(null)))),i.push(s.onEvent((i=>{switch(i.kind){case 0:this._onDidContentSizeChange.fire(i);break;case 1:this._editorTextFocus.setValue(i.hasFocus);break;case 2:this._onDidScrollChange.fire(i);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(i.reachedMaxCursorCount){const t=rt(0,"The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.",this.getOption(79));this._notificationService.prompt(QF.Warning,t,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:rt(0,"Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const t=[];for(let e=0,s=i.selections.length;e{this._paste("keyboard",t,i,e,s)},type:t=>{this._type("keyboard",t)},compositionType:(t,i,e,s)=>{this._compositionType("keyboard",t,i,e,s)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:{paste:(t,i,e,s)=>{this._commandService.executeCommand("paste",{text:t,pasteOnNewLine:i,multicursorText:e,mode:s})},type:t=>{this._commandService.executeCommand("type",{text:t})},compositionType:(t,i,e,s)=>{e||s?this._commandService.executeCommand("compositionType",{text:t,replacePrevCharCnt:i,replaceNextCharCnt:e,positionDelta:s}):this._commandService.executeCommand("replacePreviousChar",{text:t,replaceCharCnt:i})},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const e=new oS(t.coordinatesConverter);return e.onKeyDown=t=>this._onKeyDown.fire(t),e.onKeyUp=t=>this._onKeyUp.fire(t),e.onContextMenu=t=>this._onContextMenu.fire(t),e.onMouseMove=t=>this._onMouseMove.fire(t),e.onMouseLeave=t=>this._onMouseLeave.fire(t),e.onMouseDown=t=>this._onMouseDown.fire(t),e.onMouseUp=t=>this._onMouseUp.fire(t),e.onMouseDrag=t=>this._onMouseDrag.fire(t),e.onMouseDrop=t=>this._onMouseDrop.fire(t),e.onMouseDropCanceled=t=>this._onMouseDropCanceled.fire(t),e.onMouseWheel=t=>this._onMouseWheel.fire(t),[new ND(i,this._configuration,this._themeService.getColorTheme(),t,e,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(t){null==t||t.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(!this._modelData)return null;const t=this._modelData.model,i=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),i&&this._domElement.contains(i)&&this._domElement.removeChild(i),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),t}_removeDecorationType(t){this._codeEditorService.removeDecorationType(t)}hasModel(){return null!==this._modelData}showDropIndicatorAt(t){const i=[{range:new Ms(t.lineNumber,t.column,t.lineNumber,t.column),options:bT.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(i),this.revealPosition(t,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(t,i){this._contextKeyService.createKey(t,i)}};CT.dropIntoEditorDecorationOptions=bL.register({description:"workbench-dnd-target",className:"dnd-target"}),CT=bT=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([yT(3,ur),yT(4,fr),yT(5,Sr),yT(6,ah),yT(7,qk),yT(8,JF),yT(9,zm),yT(10,qd),yT(11,gg)],CT);class ST extends ie{constructor(t){super(),this._emitterOptions=t,this._onDidChangeToTrue=this._register(new fe(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new fe(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(t){const i=t?2:1;this._value!==i&&(this._value=i,2===this._value?this._onDidChangeToTrue.fire():1===this._value&&this._onDidChangeToFalse.fire())}}class DT extends fe{constructor(t,i){super({deliveryQueue:i}),this._contributions=t}fire(t){this._contributions.onBeforeInteractionEvent(),super.fire(t)}}class ET extends ie{constructor(t,i){super(),this._editor=t,i.createKey("editorId",t.getId()),this._editorSimpleInput=UC.editorSimpleInput.bindTo(i),this._editorFocus=UC.focus.bindTo(i),this._textInputFocus=UC.textInputFocus.bindTo(i),this._editorTextFocus=UC.editorTextFocus.bindTo(i),this._tabMovesFocus=UC.tabMovesFocus.bindTo(i),this._editorReadonly=UC.readOnly.bindTo(i),this._inDiffEditor=UC.inDiffEditor.bindTo(i),this._editorColumnSelection=UC.columnSelection.bindTo(i),this._hasMultipleSelections=UC.hasMultipleSelections.bindTo(i),this._hasNonEmptySelection=UC.hasNonEmptySelection.bindTo(i),this._canUndo=UC.canUndo.bindTo(i),this._canRedo=UC.canRedo.bindTo(i),this._register(this._editor.onDidChangeConfiguration((()=>this._updateFromConfig()))),this._register(this._editor.onDidChangeCursorSelection((()=>this._updateFromSelection()))),this._register(this._editor.onDidFocusEditorWidget((()=>this._updateFromFocus()))),this._register(this._editor.onDidBlurEditorWidget((()=>this._updateFromFocus()))),this._register(this._editor.onDidFocusEditorText((()=>this._updateFromFocus()))),this._register(this._editor.onDidBlurEditorText((()=>this._updateFromFocus()))),this._register(this._editor.onDidChangeModel((()=>this._updateFromModel()))),this._register(this._editor.onDidChangeConfiguration((()=>this._updateFromModel()))),this._register(jm.onDidChangeTabFocus((t=>this._tabMovesFocus.set(t)))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const t=this._editor.getOptions();this._tabMovesFocus.set(jm.getTabFocusMode()),this._editorReadonly.set(t.get(90)),this._inDiffEditor.set(t.get(61)),this._editorColumnSelection.set(t.get(22))}_updateFromSelection(){const t=this._editor.getSelections();t?(this._hasMultipleSelections.set(t.length>1),this._hasNonEmptySelection.set(t.some((t=>!t.isEmpty())))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const t=this._editor.getModel();this._canUndo.set(Boolean(t&&t.canUndo())),this._canRedo.set(Boolean(t&&t.canRedo()))}}class AT extends ie{constructor(t,i,e){super(),this._editor=t,this._contextKeyService=i,this._languageFeaturesService=e,this._langId=UC.languageId.bindTo(i),this._hasCompletionItemProvider=UC.hasCompletionItemProvider.bindTo(i),this._hasCodeActionsProvider=UC.hasCodeActionsProvider.bindTo(i),this._hasCodeLensProvider=UC.hasCodeLensProvider.bindTo(i),this._hasDefinitionProvider=UC.hasDefinitionProvider.bindTo(i),this._hasDeclarationProvider=UC.hasDeclarationProvider.bindTo(i),this._hasImplementationProvider=UC.hasImplementationProvider.bindTo(i),this._hasTypeDefinitionProvider=UC.hasTypeDefinitionProvider.bindTo(i),this._hasHoverProvider=UC.hasHoverProvider.bindTo(i),this._hasDocumentHighlightProvider=UC.hasDocumentHighlightProvider.bindTo(i),this._hasDocumentSymbolProvider=UC.hasDocumentSymbolProvider.bindTo(i),this._hasReferenceProvider=UC.hasReferenceProvider.bindTo(i),this._hasRenameProvider=UC.hasRenameProvider.bindTo(i),this._hasSignatureHelpProvider=UC.hasSignatureHelpProvider.bindTo(i),this._hasInlayHintsProvider=UC.hasInlayHintsProvider.bindTo(i),this._hasDocumentFormattingProvider=UC.hasDocumentFormattingProvider.bindTo(i),this._hasDocumentSelectionFormattingProvider=UC.hasDocumentSelectionFormattingProvider.bindTo(i),this._hasMultipleDocumentFormattingProvider=UC.hasMultipleDocumentFormattingProvider.bindTo(i),this._hasMultipleDocumentSelectionFormattingProvider=UC.hasMultipleDocumentSelectionFormattingProvider.bindTo(i),this._isInWalkThrough=UC.isInWalkThroughSnippet.bindTo(i);const s=()=>this._update();this._register(t.onDidChangeModel(s)),this._register(t.onDidChangeModelLanguage(s)),this._register(e.completionProvider.onDidChange(s)),this._register(e.codeActionProvider.onDidChange(s)),this._register(e.codeLensProvider.onDidChange(s)),this._register(e.definitionProvider.onDidChange(s)),this._register(e.declarationProvider.onDidChange(s)),this._register(e.implementationProvider.onDidChange(s)),this._register(e.typeDefinitionProvider.onDidChange(s)),this._register(e.hoverProvider.onDidChange(s)),this._register(e.documentHighlightProvider.onDidChange(s)),this._register(e.documentSymbolProvider.onDidChange(s)),this._register(e.referenceProvider.onDidChange(s)),this._register(e.renameProvider.onDidChange(s)),this._register(e.documentFormattingEditProvider.onDidChange(s)),this._register(e.documentRangeFormattingEditProvider.onDidChange(s)),this._register(e.signatureHelpProvider.onDidChange(s)),this._register(e.inlayHintsProvider.onDidChange(s)),s()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents((()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInWalkThrough.reset()}))}_update(){const t=this._editor.getModel();t?this._contextKeyService.bufferChangeEvents((()=>{this._langId.set(t.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(t)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(t)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(t)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(t)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(t)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(t)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(t)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(t)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(t)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(t)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(t)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(t)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(t)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(t)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(t)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(t)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(t)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(t).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(t).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(t).length>1),this._isInWalkThrough.set(t.uri.scheme===ka.walkThroughSnippet)})):this.reset()}}class MT extends ie{constructor(t){super(),this._onChange=this._register(new fe),this.onChange=this._onChange.event,this._hasFocus=!1,this._domFocusTracker=this._register(Rl(t)),this._register(this._domFocusTracker.onDidFocus((()=>{this._hasFocus=!0,this._onChange.fire(void 0)}))),this._register(this._domFocusTracker.onDidBlur((()=>{this._hasFocus=!1,this._onChange.fire(void 0)})))}hasFocus(){return this._hasFocus}}class LT{get length(){return this._decorationIds.length}constructor(t,i){this._editor=t,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(i)&&i.length>0&&this.set(i)}onDidChange(t,i,e){return this._editor.onDidChangeModelDecorations((e=>{this._isChangingDecorations||t.call(i,e)}),e)}getRange(t){return this._editor.hasModel()?t>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[t]):null}getRanges(){if(!this._editor.hasModel())return[];const t=this._editor.getModel(),i=[];for(const e of this._decorationIds){const s=t.getDecorationRange(e);s&&i.push(s)}return i}has(t){return this._decorationIds.includes(t.id)}clear(){0!==this._decorationIds.length&&this.set([])}set(t){try{this._isChangingDecorations=!0,this._editor.changeDecorations((i=>{this._decorationIds=i.deltaDecorations(this._decorationIds,t)}))}finally{this._isChangingDecorations=!1}return this._decorationIds}append(t){let i=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations((e=>{i=e.deltaDecorations([],t),this._decorationIds=this._decorationIds.concat(i)}))}finally{this._isChangingDecorations=!1}return i}}const FT=encodeURIComponent("");function RT(t){return FT+encodeURIComponent(t.toString())+TT}const OT=encodeURIComponent('');Jk(((t,i)=>{const e=t.getColor(Zw);e&&i.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${RT(e)}") repeat-x bottom left; }`);const s=t.getColor(Jw);s&&i.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${RT(s)}") repeat-x bottom left; }`);const n=t.getColor(Xw);n&&i.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${RT(n)}") repeat-x bottom left; }`);const o=t.getColor(iv);var r;o&&i.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${r=o,OT+encodeURIComponent(r.toString())+IT}") no-repeat bottom left; }`);const h=t.getColor(Cx);h&&i.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${h.rgba.a}; }`)}));let _T=class extends ie{constructor(t){super(),this._themeService=t,this._onWillCreateCodeEditor=this._register(new fe),this._onCodeEditorAdd=this._register(new fe),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new fe),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new fe),this._onDiffEditorAdd=this._register(new fe),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new fe),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new qt,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(t){this._codeEditors[t.getId()]=t,this._onCodeEditorAdd.fire(t)}removeCodeEditor(t){delete this._codeEditors[t.getId()]&&this._onCodeEditorRemove.fire(t)}listCodeEditors(){return Object.keys(this._codeEditors).map((t=>this._codeEditors[t]))}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(t){this._diffEditors[t.getId()]=t,this._onDiffEditorAdd.fire(t)}listDiffEditors(){return Object.keys(this._diffEditors).map((t=>this._diffEditors[t]))}getFocusedCodeEditor(){let t=null;const i=this.listCodeEditors();for(const e of i){if(e.hasTextFocus())return e;e.hasWidgetFocus()&&(t=e)}return t}removeDecorationType(t){const i=this._decorationOptionProviders.get(t);i&&(i.refCount--,i.refCount<=0&&(this._decorationOptionProviders.delete(t),i.dispose(),this.listCodeEditors().forEach((i=>i.removeDecorationsByType(t)))))}setModelProperty(t,i,e){const s=t.toString();let n;this._modelProperties.has(s)?n=this._modelProperties.get(s):(n=new Map,this._modelProperties.set(s,n)),n.set(i,e)}getModelProperty(t,i){const e=t.toString();if(this._modelProperties.has(e))return this._modelProperties.get(e).get(i)}async openCodeEditor(t,i,e){for(const s of this._codeEditorOpenHandlers){const n=await s(t,i,e);if(null!==n)return n}return null}registerCodeEditorOpenHandler(t){return Xi(this._codeEditorOpenHandlers.unshift(t))}};_T=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,qk)],_T);var NT=function(t,i){return function(e,s){i(e,s,t)}};let BT=class extends _T{constructor(t,i){super(i),this._register(this.onCodeEditorAdd((()=>this._checkContextKey()))),this._register(this.onCodeEditorRemove((()=>this._checkContextKey()))),this._editorIsOpen=t.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler((async(t,i)=>i?this.doOpenEditor(i,t):null)))}_checkContextKey(){let t=!1;for(const i of this.listCodeEditors())if(!i.isSimpleWidget){t=!0;break}this._editorIsOpen.set(t)}setActiveCodeEditor(t){this._activeCodeEditor=t}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(t,i){if(!this.findModel(t,i.resource)){if(i.resource){const e=i.resource.scheme;if(e===ka.http||e===ka.https)return Hl(i.resource.toString()),t}return null}const e=i.options?i.options.selection:null;if(e)if("number"==typeof e.endLineNumber&&"number"==typeof e.endColumn)t.setSelection(e),t.revealRangeInCenter(e,1);else{const i={lineNumber:e.startLineNumber,column:e.startColumn};t.setPosition(i),t.revealPositionInCenter(i,1)}return t}findModel(t,i){const e=t.getModel();return e&&e.uri.toString()!==i.toString()?null:e}};BT=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([NT(0,ah),NT(1,qk)],BT),Cd(fr,BT,0);const PT=dr("layoutService");var $T=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},WT=function(t,i){return function(e,s){i(e,s,t)}};let jT=class{get mainContainer(){var t,i;return null!==(i=null===(t=x(this._codeEditorService.listCodeEditors()))||void 0===t?void 0:t.getContainerDomNode())&&void 0!==i?i:$n.document.body}get activeContainer(){var t,i;const e=null!==(t=this._codeEditorService.getFocusedCodeEditor())&&void 0!==t?t:this._codeEditorService.getActiveCodeEditor();return null!==(i=null==e?void 0:e.getContainerDomNode())&&void 0!==i?i:this.mainContainer}get mainContainerDimension(){return tl(this.mainContainer)}get activeContainerDimension(){return tl(this.activeContainer)}get containers(){return w(this._codeEditorService.listCodeEditors().map((t=>t.getContainerDomNode())))}getContainer(){return this.activeContainer}focus(){var t;null===(t=this._codeEditorService.getFocusedCodeEditor())||void 0===t||t.focus()}constructor(t){this._codeEditorService=t,this.onDidLayoutMainContainer=ce.None,this.onDidLayoutActiveContainer=ce.None,this.onDidLayoutContainer=ce.None,this.onDidChangeActiveContainer=ce.None,this.onDidAddContainer=ce.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};jT=$T([WT(0,fr)],jT);let zT=class extends jT{get mainContainer(){return this._container}constructor(t,i){super(i),this._container=t}};zT=$T([WT(1,fr)],zT),Cd(PT,jT,1);const HT=dr("dialogService");var VT=function(t,i){return function(e,s){i(e,s,t)}};function UT(t){return t.scheme===ka.file?t.fsPath:t.path}let qT=0;class KT{constructor(t,i,e,s,n,o,r){this.id=++qT,this.type=0,this.actual=t,this.label=t.label,this.confirmBeforeUndo=t.confirmBeforeUndo||!1,this.resourceLabel=i,this.strResource=e,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=s,this.groupOrder=n,this.sourceId=o,this.sourceOrder=r,this.isValid=!0}setValid(t){this.isValid=t}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class GT{constructor(t,i){this.resourceLabel=t,this.reason=i}}class ZT{constructor(){this.elements=new Map}createMessage(){const t=[],i=[];for(const[,e]of this.elements)(0===e.reason?t:i).push(e.resourceLabel);const e=[];return t.length>0&&e.push(rt(0,"The following files have been closed and modified on disk: {0}.",t.join(", "))),i.length>0&&e.push(rt(0,"The following files have been modified in an incompatible way: {0}.",i.join(", "))),e.join("\n")}get size(){return this.elements.size}has(t){return this.elements.has(t)}set(t,i){this.elements.set(t,i)}delete(t){return this.elements.delete(t)}}class QT{constructor(t,i,e,s,n,o,r){this.id=++qT,this.type=1,this.actual=t,this.label=t.label,this.confirmBeforeUndo=t.confirmBeforeUndo||!1,this.resourceLabels=i,this.strResources=e,this.groupId=s,this.groupOrder=n,this.sourceId=o,this.sourceOrder=r,this.removedResources=null,this.invalidatedResources=null}canSplit(){return"function"==typeof this.actual.split}removeResource(t,i,e){this.removedResources||(this.removedResources=new ZT),this.removedResources.has(i)||this.removedResources.set(i,new GT(t,e))}setValid(t,i,e){e?this.invalidatedResources&&(this.invalidatedResources.delete(i),0===this.invalidatedResources.size&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new ZT),this.invalidatedResources.has(i)||this.invalidatedResources.set(i,new GT(t,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class JT{constructor(t,i){this.resourceLabel=t,this.strResource=i,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const t of this._past)1===t.type&&t.removeResource(this.resourceLabel,this.strResource,0);for(const t of this._future)1===t.type&&t.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const t=[];t.push(`* ${this.strResource}:`);for(let i=0;i=0;i--)t.push(` * [REDO] ${this._future[i]}`);return t.join("\n")}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(t,i){1===t.type?t.setValid(this.resourceLabel,this.strResource,i):t.setValid(i)}setElementsValidFlag(t,i){for(const e of this._past)i(e.actual)&&this._setElementValidFlag(e,t);for(const e of this._future)i(e.actual)&&this._setElementValidFlag(e,t)}pushElement(t){for(const t of this._future)1===t.type&&t.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(t),this.versionId++}createSnapshot(t){const i=[];for(let t=0,e=this._past.length;t=0;t--)i.push(this._future[t].id);return new tL(t,i)}restoreSnapshot(t){const i=t.elements.length;let e=!0,s=0,n=-1;for(let o=0,r=this._past.length;o=i||r.id!==t.elements[s])&&(e=!1,n=0),e||1!==r.type||r.removeResource(this.resourceLabel,this.strResource,0)}let o=-1;for(let n=this._future.length-1;n>=0;n--,s++){const r=this._future[n];e&&(s>=i||r.id!==t.elements[s])&&(e=!1,o=n),e||1!==r.type||r.removeResource(this.resourceLabel,this.strResource,0)}-1!==n&&(this._past=this._past.slice(0,n)),-1!==o&&(this._future=this._future.slice(o+1)),this.versionId++}getElements(){const t=[],i=[];for(const i of this._past)t.push(i.actual);for(const t of this._future)i.push(t.actual);return{past:t,future:i}}getClosestPastElement(){return 0===this._past.length?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return 0===this._future.length?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(t,i){for(let e=this._past.length-1;e>=0;e--)if(this._past[e]===t){i.has(this.strResource)?this._past[e]=i.get(this.strResource):this._past.splice(e,1);break}this.versionId++}splitFutureWorkspaceElement(t,i){for(let e=this._future.length-1;e>=0;e--)if(this._future[e]===t){i.has(this.strResource)?this._future[e]=i.get(this.strResource):this._future.splice(e,1);break}this.versionId++}moveBackward(t){this._past.pop(),this._future.push(t),this.versionId++}moveForward(t){this._future.pop(),this._past.push(t),this.versionId++}}class YT{constructor(t){this.editStacks=t,this._versionIds=[];for(let t=0,i=this.editStacks.length;ti.sourceOrder)&&(i=o,e=s)}return[i,e]}canUndo(t){if(t instanceof eL){const[,i]=this._findClosestUndoElementWithSource(t.id);return!!i}const i=this.getUriComparisonKey(t);return!!this._editStacks.has(i)&&this._editStacks.get(i).hasPastElements()}_onError(t,i){Pi(t);for(const t of i.strResources)this.removeElements(t);this._notificationService.error(t)}_acquireLocks(t){for(const i of t.editStacks)if(i.locked)throw new Error("Cannot acquire edit stack lock");for(const i of t.editStacks)i.locked=!0;return()=>{for(const i of t.editStacks)i.locked=!1}}_safeInvokeWithLocks(t,i,e,s,n){const o=this._acquireLocks(e);let r;try{r=i()}catch(i){return o(),s.dispose(),this._onError(i,t)}return r?r.then((()=>(o(),s.dispose(),n())),(i=>(o(),s.dispose(),this._onError(i,t)))):(o(),s.dispose(),n())}async _invokeWorkspacePrepare(t){if(void 0===t.actual.prepareUndoRedo)return ie.None;const i=t.actual.prepareUndoRedo();return void 0===i?ie.None:i}_invokeResourcePrepare(t,i){if(1!==t.actual.type||void 0===t.actual.prepareUndoRedo)return i(ie.None);const e=t.actual.prepareUndoRedo();return e?Qi(e)?i(e):e.then((t=>i(t))):i(ie.None)}_getAffectedEditStacks(t){const i=[];for(const e of t.strResources)i.push(this._editStacks.get(e)||XT);return new YT(i)}_tryToSplitAndUndo(t,i,e,s){if(i.canSplit())return this._splitPastWorkspaceElement(i,e),this._notificationService.warn(s),new iR(this._undo(t,0,!0));for(const t of i.strResources)this.removeElements(t);return this._notificationService.warn(s),new iR}_checkWorkspaceUndo(t,i,e,s){if(i.removedResources)return this._tryToSplitAndUndo(t,i,i.removedResources,rt(0,"Could not undo '{0}' across all files. {1}",i.label,i.removedResources.createMessage()));if(s&&i.invalidatedResources)return this._tryToSplitAndUndo(t,i,i.invalidatedResources,rt(0,"Could not undo '{0}' across all files. {1}",i.label,i.invalidatedResources.createMessage()));const n=[];for(const t of e.editStacks)t.getClosestPastElement()!==i&&n.push(t.resourceLabel);if(n.length>0)return this._tryToSplitAndUndo(t,i,null,rt(0,"Could not undo '{0}' across all files because changes were made to {1}",i.label,n.join(", ")));const o=[];for(const t of e.editStacks)t.locked&&o.push(t.resourceLabel);return o.length>0?this._tryToSplitAndUndo(t,i,null,rt(0,"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",i.label,o.join(", "))):e.isValid()?null:this._tryToSplitAndUndo(t,i,null,rt(0,"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",i.label))}_workspaceUndo(t,i,e){const s=this._getAffectedEditStacks(i),n=this._checkWorkspaceUndo(t,i,s,!1);return n?n.returnValue:this._confirmAndExecuteWorkspaceUndo(t,i,s,e)}_isPartOfUndoGroup(t){if(!t.groupId)return!1;for(const[,i]of this._editStacks){const e=i.getClosestPastElement();if(e){if(e===t){const e=i.getSecondClosestPastElement();if(e&&e.groupId===t.groupId)return!0}if(e.groupId===t.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(t,i,e,s){if(i.canSplit()&&!this._isPartOfUndoGroup(i)){let n;!function(t){t[t.All=0]="All",t[t.This=1]="This",t[t.Cancel=2]="Cancel"}(n||(n={}));const{result:o}=await this._dialogService.prompt({type:ZF.Info,message:rt(0,"Would you like to undo '{0}' across all files?",i.label),buttons:[{label:rt(0,"&&Undo in {0} Files",e.editStacks.length),run:()=>n.All},{label:rt(0,"Undo this &&File"),run:()=>n.This}],cancelButton:{run:()=>n.Cancel}});if(o===n.Cancel)return;if(o===n.This)return this._splitPastWorkspaceElement(i,null),this._undo(t,0,!0);const r=this._checkWorkspaceUndo(t,i,e,!1);if(r)return r.returnValue;s=!0}let n;try{n=await this._invokeWorkspacePrepare(i)}catch(t){return this._onError(t,i)}const o=this._checkWorkspaceUndo(t,i,e,!0);if(o)return n.dispose(),o.returnValue;for(const t of e.editStacks)t.moveBackward(i);return this._safeInvokeWithLocks(i,(()=>i.actual.undo()),e,n,(()=>this._continueUndoInGroup(i.groupId,s)))}_resourceUndo(t,i,e){if(i.isValid){if(!t.locked)return this._invokeResourcePrepare(i,(s=>(t.moveBackward(i),this._safeInvokeWithLocks(i,(()=>i.actual.undo()),new YT([t]),s,(()=>this._continueUndoInGroup(i.groupId,e))))));{const t=rt(0,"Could not undo '{0}' because there is already an undo or redo operation running.",i.label);this._notificationService.warn(t)}}else t.flushAllElements()}_findClosestUndoElementInGroup(t){if(!t)return[null,null];let i=null,e=null;for(const[s,n]of this._editStacks){const o=n.getClosestPastElement();o&&o.groupId===t&&(!i||o.groupOrder>i.groupOrder)&&(i=o,e=s)}return[i,e]}_continueUndoInGroup(t,i){if(!t)return;const[,e]=this._findClosestUndoElementInGroup(t);return e?this._undo(e,0,i):void 0}undo(t){if(t instanceof eL){const[,i]=this._findClosestUndoElementWithSource(t.id);return i?this._undo(i,t.id,!1):void 0}return this._undo("string"==typeof t?t:this.getUriComparisonKey(t),0,!1)}_undo(t,i=0,e){if(!this._editStacks.has(t))return;const s=this._editStacks.get(t),n=s.getClosestPastElement();if(n){if(n.groupId){const[t,s]=this._findClosestUndoElementInGroup(n.groupId);if(n!==t&&s)return this._undo(s,i,e)}if((n.sourceId!==i||n.confirmBeforeUndo)&&!e)return this._confirmAndContinueUndo(t,i,n);try{return 1===n.type?this._workspaceUndo(t,n,e):this._resourceUndo(s,n,e)}finally{}}}async _confirmAndContinueUndo(t,i,e){if((await this._dialogService.confirm({message:rt(0,"Would you like to undo '{0}'?",e.label),primaryButton:rt(0,"&&Yes"),cancelButton:rt(0,"No")})).confirmed)return this._undo(t,i,!0)}_findClosestRedoElementWithSource(t){if(!t)return[null,null];let i=null,e=null;for(const[s,n]of this._editStacks){const o=n.getClosestFutureElement();o&&o.sourceId===t&&(!i||o.sourceOrder0)return this._tryToSplitAndRedo(t,i,null,rt(0,"Could not redo '{0}' across all files because changes were made to {1}",i.label,n.join(", ")));const o=[];for(const t of e.editStacks)t.locked&&o.push(t.resourceLabel);return o.length>0?this._tryToSplitAndRedo(t,i,null,rt(0,"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",i.label,o.join(", "))):e.isValid()?null:this._tryToSplitAndRedo(t,i,null,rt(0,"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",i.label))}_workspaceRedo(t,i){const e=this._getAffectedEditStacks(i),s=this._checkWorkspaceRedo(t,i,e,!1);return s?s.returnValue:this._executeWorkspaceRedo(t,i,e)}async _executeWorkspaceRedo(t,i,e){let s;try{s=await this._invokeWorkspacePrepare(i)}catch(t){return this._onError(t,i)}const n=this._checkWorkspaceRedo(t,i,e,!0);if(n)return s.dispose(),n.returnValue;for(const t of e.editStacks)t.moveForward(i);return this._safeInvokeWithLocks(i,(()=>i.actual.redo()),e,s,(()=>this._continueRedoInGroup(i.groupId)))}_resourceRedo(t,i){if(i.isValid){if(!t.locked)return this._invokeResourcePrepare(i,(e=>(t.moveForward(i),this._safeInvokeWithLocks(i,(()=>i.actual.redo()),new YT([t]),e,(()=>this._continueRedoInGroup(i.groupId))))));{const t=rt(0,"Could not redo '{0}' because there is already an undo or redo operation running.",i.label);this._notificationService.warn(t)}}else t.flushAllElements()}_findClosestRedoElementInGroup(t){if(!t)return[null,null];let i=null,e=null;for(const[s,n]of this._editStacks){const o=n.getClosestFutureElement();o&&o.groupId===t&&(!i||o.groupOrder=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([VT(0,HT),VT(1,JF)],tR);class iR{constructor(t){this.returnValue=t}}function eR(t,i,e){return Math.min(Math.max(t,i),e)}Cd(XM,tR,1);class sR{constructor(){this._n=1,this._val=0}update(t){return this._val=this._val+(t-this._val)/this._n,this._n+=1,this._val}get value(){return this._val}}class nR{constructor(t){this._n=0,this._val=0,this._values=[],this._index=0,this._sum=0,this._values=new Array(t),this._values.fill(0,0,t)}update(t){const i=this._values[this._index];return this._values[this._index]=t,this._index=(this._index+1)%this._values.length,this._sum-=i,this._sum+=t,this._nLa(cR.of(i),t)),0)}get(t){const i=this._key(t),e=this._cache.get(i);return e?eR(e.value,this._min,this._max):this.default()}update(t,i){const e=this._key(t);let s=this._cache.get(e);s||(s=new nR(6),this._cache.set(e,s));const n=eR(s.update(i),this._min,this._max);return xa(t.uri,"output")||this._logService.trace(`[DEBOUNCE: ${this._name}] for ${t.uri.toString()} is ${n}ms`),n}_overall(){const t=new sR;for(const[,i]of this._cache)t.update(i.value);return t.value}default(){return eR(0|this._overall()||this._default,this._min,this._max)}}let uR=class{constructor(t,i){this._logService=t,this._data=new Map,this._isDev=i.isExtensionDevelopment||!i.isBuilt}for(t,i,e){var s,n,o;const r=null!==(s=null==e?void 0:e.min)&&void 0!==s?s:50,h=null!==(n=null==e?void 0:e.max)&&void 0!==n?n:r**2,c=null!==(o=null==e?void 0:e.key)&&void 0!==o?o:void 0,a=`${cR.of(t)},${r}${c?","+c:""}`;let l=this._data.get(a);return l||(this._isDev?l=new lR(this._logService,i,t,0|this._overallAverage()||1.5*r,r,h):(this._logService.debug(`[DEBOUNCE: ${i}] is disabled in developed mode`),l=new aR(1.5*r)),this._data.set(a,l)),l}_overallAverage(){const t=new sR;for(const i of this._data.values())t.update(i.default());return t.value}};uR=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([rR(0,jh),rR(1,oR)],uR),Cd(hR,uR,1);class dR{static create(t,i){return new dR(t,new fR(i))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(t,i){this._startLineNumber=t,this._tokens=i,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(t){return this._startLineNumber<=t&&t<=this._endLineNumber?this._tokens.getLineTokens(t-this._startLineNumber):null}getRange(){const t=this._tokens.getRange();return t?new Ms(this._startLineNumber+t.startLineNumber,t.startColumn,this._startLineNumber+t.endLineNumber,t.endColumn):t}removeTokens(t){this._startLineNumber+=this._tokens.removeTokens(t.startLineNumber-this._startLineNumber,t.startColumn-1,t.endLineNumber-this._startLineNumber,t.endColumn-1),this._updateEndLineNumber()}split(t){const i=t.startLineNumber-this._startLineNumber,e=t.endLineNumber-this._startLineNumber,[s,n,o]=this._tokens.split(i,t.startColumn-1,e,t.endColumn-1);return[new dR(this._startLineNumber,s),new dR(this._startLineNumber+o,n)]}applyEdit(t,i){const[e,s,n]=WD(i);this.acceptEdit(t,e,s,n,i.length>0?i.charCodeAt(0):0)}acceptEdit(t,i,e,s,n){this._acceptDeleteRange(t),this._acceptInsertText(new As(t.startLineNumber,t.startColumn),i,e,s,n),this._updateEndLineNumber()}_acceptDeleteRange(t){if(t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn)return;const i=t.startLineNumber-this._startLineNumber,e=t.endLineNumber-this._startLineNumber;if(e<0)return void(this._startLineNumber-=e-i);const s=this._tokens.getMaxDeltaLine();if(!(i>=s+1)){if(i<0&&e>=s+1)return this._startLineNumber=0,void this._tokens.clear();i<0?(this._startLineNumber-=-i,this._tokens.acceptDeleteRange(t.startColumn-1,0,0,e,t.endColumn-1)):this._tokens.acceptDeleteRange(0,i,t.startColumn-1,e,t.endColumn-1)}}_acceptInsertText(t,i,e,s,n){if(0===i&&0===e)return;const o=t.lineNumber-this._startLineNumber;o<0?this._startLineNumber+=i:o>=this._tokens.getMaxDeltaLine()+1||this._tokens.acceptInsertText(o,t.column-1,i,e,s,n)}}class fR{constructor(t){this._tokens=t,this._tokenCount=t.length/4}toString(t){const i=[];for(let e=0;et)){let n=s;for(;n>i&&this._getDeltaLine(n-1)===t;)n--;let o=s;for(;ot||l===t&&d>=i)&&(lt||u===t&&f>=i){if(un?p-=n-e:p=e;else if(d===i&&f===e){if(!(d===s&&p>n)){a=!0;continue}p-=n-e}else if(dn)){a=!0;continue}d=i,f=e,p=f+(p-n)}else if(d>s){if(0===h&&!a){c=r;break}d-=h}else{if(!(d===s&&f>=n))throw new Error("Not possible!");t&&0===d&&(f+=t,p+=t),d-=h,f-=n-e,p-=n-e}const m=4*c;o[m]=d,o[m+1]=f,o[m+2]=p,o[m+3]=g,c++}this._tokenCount=c}acceptInsertText(t,i,e,s,n,o){const r=0===e&&1===s&&(o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122),h=this._tokens,c=this._tokenCount;for(let o=0;o0&&i>=1;t>0&&this._logService.getLevel()===zh.Trace&&(this._logService.trace(`SemanticTokensProviderStyling: unknown token modifier index: ${i.toString(2)} for legend: ${JSON.stringify(this._legend.tokenModifiers)}`),r.push("not-in-legend"));const s=this._themeService.getColorTheme().getTokenStyleMetadata(n,r,e);void 0===s?o=2147483647:(o=0,void 0!==s.italic&&(o|=1|(s.italic?1:0)<<11),void 0!==s.bold&&(o|=2|(s.bold?2:0)<<11),void 0!==s.underline&&(o|=4|(s.underline?4:0)<<11),void 0!==s.strikethrough&&(o|=8|(s.strikethrough?8:0)<<11),s.foreground&&(o|=16|s.foreground<<15),0===o&&(o=2147483647))}else this._logService.getLevel()===zh.Trace&&this._logService.trace(`SemanticTokensProviderStyling: unknown token type index: ${t} for legend: ${JSON.stringify(this._legend.tokenTypes)}`),o=2147483647,n="not-in-legend";this._hashTable.add(t,i,s,o),this._logService.getLevel()===zh.Trace&&this._logService.trace(`SemanticTokensProviderStyling ${t} (${n}) / ${i} (${r.join(" ")}): foreground ${Fg.getForeground(o)}, fontStyle ${Fg.getFontStyle(o).toString(2)}`)}return o}warnOverlappingSemanticTokens(t,i){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,console.warn(`Overlapping semantic tokens detected at lineNumber ${t}, column ${i}`))}warnInvalidLengthSemanticTokens(t,i){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,console.warn(`Semantic token with invalid length detected at lineNumber ${t}, column ${i}`))}warnInvalidEditStart(t,i,e,s,n){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,console.warn(`Invalid semantic tokens edit detected (previousResultId: ${t}, resultId: ${i}) at edit #${e}: The provided start offset ${s} is outside the previous data (length ${n}).`))}};function wR(t,i,e){const s=t.data,n=t.data.length/5|0,o=Math.max(Math.ceil(n/1024),400),r=[];let h=0,c=1,a=0;for(;ht&&0===s[5*i];)i--;if(i-1===t){let t=l;for(;t+1l)i.warnOverlappingSemanticTokens(r,l+1);else{const t=i.getMetadata(w,v,e);2147483647!==t&&(0===f&&(f=r),u[d]=r-f,u[d+1]=l,u[d+2]=m,u[d+3]=t,d+=4,p=r,g=m)}c=r,a=l,h++}d!==u.length&&(u=u.subarray(0,d));const m=dR.create(f,u);r.push(m)}return r}mR=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([gR(1,qk),gR(2,yd),gR(3,jh)],mR);class vR{constructor(t,i,e,s){this.tokenTypeIndex=t,this.tokenModifierSet=i,this.languageId=e,this.metadata=s,this.next=null}}class bR{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=bR._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const t=this._elements;this._currentLengthIndex++,this._currentLength=bR._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1{this._caches=new WeakMap})))}getStyling(t){return this._caches.has(t)||this._caches.set(t,new mR(t.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(t)}};xR=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([kR(0,qk),kR(1,jh),kR(2,yd)],xR),Cd(yR,xR,1);const CR="**",SR="/",DR="[/\\\\]",ER="[^/\\\\]",AR=/\//g;function MR(t,i){switch(t){case 0:return"";case 1:return`${ER}*?`;default:return`(?:${DR}|${ER}+${DR}${i?`|${DR}${ER}+`:""})*?`}}function LR(t,i){if(!t)return[];const e=[];let s=!1,n=!1,o="";for(const r of t){switch(r){case i:if(!s&&!n){e.push(o),o="";continue}break;case"{":s=!0;break;case"}":s=!1;break;case"[":n=!0;break;case"]":n=!1}o+=r}return o&&e.push(o),e}function FR(t){if(!t)return"";let i="";const e=LR(t,SR);if(e.every((t=>t===CR)))i=".*";else{let t=!1;e.forEach(((s,n)=>{if(s===CR){if(t)return;i+=MR(2,n===e.length-1)}else{let t=!1,o="",r=!1,h="";for(const e of s)if("}"!==e&&t)o+=e;else if(!r||"]"===e&&h)switch(e){case"{":t=!0;continue;case"[":r=!0;continue;case"}":{const e=`(?:${LR(o,",").map((t=>FR(t))).join("|")})`;i+=e,t=!1,o="";break}case"]":i+="["+h+"]",r=!1,h="";break;case"?":i+=ER;continue;case"*":i+=MR(1);continue;default:i+=Gn(e)}else{let t;t="-"===e?e:"^"!==e&&"!"!==e||h?e===SR?"":Gn(e):"^",h+=t}nWR(t,i))).filter((t=>t!==$R)),t),s=e.length;if(!s)return $R;if(1===s)return e[0];const n=function(i,s){for(let n=0,o=e.length;n!!t.allBasenames));o&&(n.allBasenames=o.allBasenames);const r=e.reduce(((t,i)=>i.allPaths?t.concat(i.allPaths):t),[]);return r.length&&(n.allPaths=r),n}(e,i):(n=_R.exec(jR(e,i)))?zR(n[1].substr(1),e,!0):(n=NR.exec(jR(e,i)))?zR(n[1],e,!1):function(t){try{const i=new RegExp(`^${FR(t)}$`);return function(e){return i.lastIndex=0,"string"==typeof e&&i.test(e)?t:null}}catch(t){return $R}}(e),BR.set(s,o)),function(t,i){if("string"==typeof i)return t;const e=function(e,s){return oA(e,i.base,!Dt)?t(Qn(e.substr(i.base.length),as),s):null};return e.allBasenames=t.allBasenames,e.allPaths=t.allPaths,e.basenames=t.basenames,e.patterns=t.patterns,e}(o,t)}function jR(t,i){return i.trimForExclusions&&t.endsWith("/**")?t.substr(0,t.length-2):t}function zR(t,i,e){const s=as===es.sep,n=s?t:t.replace(AR,as),o=as+n,r=es.sep+t;let h;return h=e?function(e){return"string"!=typeof e||e!==n&&!e.endsWith(o)&&(s||e!==t&&!e.endsWith(r))?null:i}:function(e){return"string"!=typeof e||e!==n&&(s||e!==t)?null:i},h.allPaths=[(e?"*/":"./")+t],h}function HR(t,i={}){if(!t)return PR;if("string"==typeof t||(e=t)&&"string"==typeof e.base&&"string"==typeof e.pattern){const e=WR(t,i);if(e===$R)return PR;const s=function(t,i){return!!e(t,i)};return e.allBasenames&&(s.allBasenames=e.allBasenames),e.allPaths&&(s.allPaths=e.allPaths),s}var e;return function(t,i){const e=VR(Object.getOwnPropertyNames(t).map((e=>function(t,i,e){if(!1===i)return $R;const s=WR(t,e);if(s===$R)return $R;if("boolean"==typeof i)return s;if(i){const e=i.when;if("string"==typeof e){const i=(i,n,o,r)=>{if(!r||!s(i,n))return null;const h=r(e.replace("$(basename)",(()=>o)));return sc(h)?h.then((i=>i?t:null)):h?t:null};return i.requiresSiblings=!0,i}}return s}(e,t[e],i))).filter((t=>t!==$R))),s=e.length;if(!s)return $R;if(!e.some((t=>!!t.requiresSiblings))){if(1===s)return e[0];const t=function(t,i){let s;for(let n=0,o=e.length;n{for(const t of s){const i=await t;if("string"==typeof i)return i}return null})():null},i=e.find((t=>!!t.allBasenames));i&&(t.allBasenames=i.allBasenames);const n=e.reduce(((t,i)=>i.allPaths?t.concat(i.allPaths):t),[]);return n.length&&(t.allPaths=n),t}const n=function(t,i,s){let n,o;for(let r=0,h=e.length;r{for(const t of o){const i=await t;if("string"==typeof i)return i}return null})():null},o=e.find((t=>!!t.allBasenames));o&&(n.allBasenames=o.allBasenames);const r=e.reduce(((t,i)=>i.allPaths?t.concat(i.allPaths):t),[]);return r.length&&(n.allPaths=r),n}(t,i)}function VR(t,i){const e=t.filter((t=>!!t.basenames));if(e.length<2)return t;const s=e.reduce(((t,i)=>{const e=i.basenames;return e?t.concat(e):t}),[]);let n;if(i){n=[];for(let t=0,e=s.length;t{const e=i.patterns;return e?t.concat(e):t}),[]);const o=function(t,i){if("string"!=typeof t)return null;if(!i){let e;for(e=t.length;e>0;e--){const i=t.charCodeAt(e-1);if(47===i||92===i)break}i=t.substr(e)}const e=s.indexOf(i);return-1!==e?n[e]:null};o.basenames=s,o.patterns=n,o.allBasenames=s;const r=t.filter((t=>!t.basenames));return r.push(o),r}function UR(t,i,e,s,n,o){if(Array.isArray(t)){let r=0;for(const h of t){const t=UR(h,i,e,s,n,o);if(10===t)return t;t>r&&(r=t)}return r}if("string"==typeof t)return s?"*"===t?5:t===e?10:0:0;if(t){const{language:c,pattern:a,scheme:l,hasAccessToAllModels:u,notebookType:d}=t;if(!s&&!u)return 0;d&&n&&(i=n);let f=0;if(l)if(l===i.scheme)f=10;else{if("*"!==l)return 0;f=5}if(c)if(c===e)f=10;else{if("*"!==c)return 0;f=Math.max(f,5)}if(d)if(d===o)f=10;else{if("*"!==d||void 0===o)return 0;f=Math.max(f,5)}if(a){let t;if(t="string"==typeof a?a:{...a,base:ss(a.base)},t!==i.fsPath&&(h=i.fsPath,!(r=t)||"string"!=typeof h||!HR(r)(h,void 0,undefined)))return 0;f=10}return f}return 0;var r,h}function qR(t){return"string"!=typeof t&&(Array.isArray(t)?t.every(qR):!!t.exclusive)}class KR{constructor(t,i,e,s){this.uri=t,this.languageId=i,this.notebookUri=e,this.notebookType=s}equals(t){var i,e;return this.notebookType===t.notebookType&&this.languageId===t.languageId&&this.uri.toString()===t.uri.toString()&&(null===(i=this.notebookUri)||void 0===i?void 0:i.toString())===(null===(e=t.notebookUri)||void 0===e?void 0:e.toString())}}class GR{constructor(t){this._notebookInfoResolver=t,this._clock=0,this._entries=[],this._onDidChange=new fe,this.onDidChange=this._onDidChange.event}register(t,i){let e={selector:t,provider:i,_score:-1,_time:this._clock++};return this._entries.push(e),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),Xi((()=>{if(e){const t=this._entries.indexOf(e);t>=0&&(this._entries.splice(t,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),e=void 0)}}))}has(t){return this.all(t).length>0}all(t){if(!t)return[];this._updateScores(t);const i=[];for(const t of this._entries)t._score>0&&i.push(t.provider);return i}ordered(t){const i=[];return this._orderedForEach(t,(t=>i.push(t.provider))),i}orderedGroups(t){const i=[];let e,s;return this._orderedForEach(t,(t=>{e&&s===t._score?e.push(t.provider):(s=t._score,e=[t.provider],i.push(e))})),i}_orderedForEach(t,i){this._updateScores(t);for(const t of this._entries)t._score>0&&i(t)}_updateScores(t){var i,e;const s=null===(i=this._notebookInfoResolver)||void 0===i?void 0:i.call(this,t.uri),n=s?new KR(t.uri,t.getLanguageId(),s.uri,s.type):new KR(t.uri,t.getLanguageId(),void 0,void 0);if(!(null===(e=this._lastCandidate)||void 0===e?void 0:e.equals(n))){this._lastCandidate=n;for(const i of this._entries)if(i._score=UR(i.selector,n.uri,n.languageId,$f(t),n.notebookUri,n.notebookType),qR(i.selector)&&i._score>0){for(const t of this._entries)t._score=0;i._score=1e3;break}this._entries.sort(GR._compareByScoreAndTime)}}static _compareByScoreAndTime(t,i){return t._scorei._score?-1:ZR(t.selector)&&!ZR(i.selector)?1:!ZR(t.selector)&&ZR(i.selector)?-1:t._timei._time?-1:0}}function ZR(t){return"string"!=typeof t&&(Array.isArray(t)?t.some(ZR):Boolean(t.isBuiltin))}Cd(gg,class{constructor(){this.referenceProvider=new GR(this._score.bind(this)),this.renameProvider=new GR(this._score.bind(this)),this.codeActionProvider=new GR(this._score.bind(this)),this.definitionProvider=new GR(this._score.bind(this)),this.typeDefinitionProvider=new GR(this._score.bind(this)),this.declarationProvider=new GR(this._score.bind(this)),this.implementationProvider=new GR(this._score.bind(this)),this.documentSymbolProvider=new GR(this._score.bind(this)),this.inlayHintsProvider=new GR(this._score.bind(this)),this.colorProvider=new GR(this._score.bind(this)),this.codeLensProvider=new GR(this._score.bind(this)),this.documentFormattingEditProvider=new GR(this._score.bind(this)),this.documentRangeFormattingEditProvider=new GR(this._score.bind(this)),this.onTypeFormattingEditProvider=new GR(this._score.bind(this)),this.signatureHelpProvider=new GR(this._score.bind(this)),this.hoverProvider=new GR(this._score.bind(this)),this.documentHighlightProvider=new GR(this._score.bind(this)),this.multiDocumentHighlightProvider=new GR(this._score.bind(this)),this.selectionRangeProvider=new GR(this._score.bind(this)),this.foldingRangeProvider=new GR(this._score.bind(this)),this.linkProvider=new GR(this._score.bind(this)),this.inlineCompletionsProvider=new GR(this._score.bind(this)),this.completionProvider=new GR(this._score.bind(this)),this.linkedEditingRangeProvider=new GR(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new GR(this._score.bind(this)),this.documentSemanticTokensProvider=new GR(this._score.bind(this)),this.documentOnDropEditProvider=new GR(this._score.bind(this)),this.documentPasteEditProvider=new GR(this._score.bind(this))}_score(t){var i;return null===(i=this._notebookTypeResolver)||void 0===i?void 0:i.call(this,t)}},1);const QR=dr("IWorkspaceEditService");class JR{constructor(t){this.metadata=t}static convert(t){return t.edits.map((t=>{if(YR.is(t))return YR.lift(t);if(XR.is(t))return XR.lift(t);throw new Error("Unsupported edit")}))}}class YR extends JR{static is(t){return t instanceof YR||$(t)&&ms.isUri(t.resource)&&$(t.textEdit)}static lift(t){return t instanceof YR?t:new YR(t.resource,t.textEdit,t.versionId,t.metadata)}constructor(t,i,e,s){super(s),this.resource=t,this.textEdit=i,this.versionId=e}}class XR extends JR{static is(t){return t instanceof XR||$(t)&&(Boolean(t.newResource)||Boolean(t.oldResource))}static lift(t){return t instanceof XR?t:new XR(t.oldResource,t.newResource,t.options,t.metadata)}constructor(t,i,e={},s){super(s),this.oldResource=t,this.newResource=i,this.options=e}}const tO={enableSplitViewResizing:!0,splitViewDefaultRatio:.5,renderSideBySide:!0,renderMarginRevertIcon:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0},iO=Object.freeze({id:"editor",order:5,type:"object",title:rt(0,"Editor"),scope:5}),eO={...iO,properties:{"editor.tabSize":{type:"number",default:Ht.tabSize,minimum:1,markdownDescription:rt(0,"The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:rt(0,'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:Ht.insertSpaces,markdownDescription:rt(0,"Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:Ht.detectIndentation,markdownDescription:rt(0,"Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:Ht.trimAutoWhitespace,description:rt(0,"Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:Ht.largeFileOptimizations,description:rt(0,"Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[rt(0,"Turn off Word Based Suggestions."),rt(0,"Only suggest words from the active document."),rt(0,"Suggest words from all open documents of the same language."),rt(0,"Suggest words from all open documents.")],description:rt(0,"Controls whether completions should be computed based on words in the document and from which documents they are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[rt(0,"Semantic highlighting enabled for all color themes."),rt(0,"Semantic highlighting disabled for all color themes."),rt(0,"Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:rt(0,"Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:rt(0,"Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:rt(0,"Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!1,description:rt(0,"Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:rt(0,"Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:rt(0,"Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.language.brackets":{type:["array","null"],default:null,description:rt(0,"Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:rt(0,"The opening bracket character or string sequence.")},{type:"string",description:rt(0,"The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:rt(0,"Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:rt(0,"The opening bracket character or string sequence.")},{type:"string",description:rt(0,"The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:tO.maxComputationTime,description:rt(0,"Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:tO.maxFileSize,description:rt(0,"Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:tO.renderSideBySide,description:rt(0,"Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:tO.renderSideBySideInlineBreakpoint,description:rt(0,"If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:tO.useInlineViewWhenSpaceIsLimited,description:rt(0,"If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:tO.renderMarginRevertIcon,description:rt(0,"When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:tO.ignoreTrimWhitespace,description:rt(0,"When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:tO.renderIndicators,description:rt(0,"Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:tO.diffCodeLens,description:rt(0,"Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:tO.diffWordWrap,markdownEnumDescriptions:[rt(0,"Lines will never wrap."),rt(0,"Lines will wrap at the viewport width."),rt(0,"Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:tO.diffAlgorithm,markdownEnumDescriptions:[rt(0,"Uses the legacy diffing algorithm."),rt(0,"Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:tO.hideUnchangedRegions.enabled,markdownDescription:rt(0,"Controls whether the diff editor shows unchanged regions.")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:tO.hideUnchangedRegions.revealLineCount,markdownDescription:rt(0,"Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:tO.hideUnchangedRegions.minimumLineCount,markdownDescription:rt(0,"Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:tO.hideUnchangedRegions.contextLineCount,markdownDescription:rt(0,"Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:tO.experimental.showMoves,markdownDescription:rt(0,"Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:tO.experimental.showEmptyDecorations,description:rt(0,"Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")}}};for(const t of Ii){const i=t.schema;if(void 0!==i)if(void 0!==(sO=i).type||void 0!==sO.anyOf)eO.properties[`editor.${t.name}`]=i;else for(const t in i)Object.hasOwnProperty.call(i,t)&&(eO.properties[t]=i[t])}var sO;let nO=null;function oO(){return null===nO&&(nO=Object.create(null),Object.keys(eO.properties).forEach((t=>{nO[t]=!0}))),nO}Dh.as(Md).registerConfiguration(eO);class rO{static insert(t,i){return{range:new Ms(t.lineNumber,t.column,t.lineNumber,t.column),text:i,forceMoveMarkers:!0}}static delete(t){return{range:t,text:null}}static replace(t,i){return{range:t,text:i}}static replaceMove(t,i){return{range:t,text:i,forceMoveMarkers:!0}}}function hO(t){return Object.isFrozen(t)?t:function(t){if(!t||"object"!=typeof t)return t;const i=[t];for(;i.length>0;){const t=i.shift();Object.freeze(t);for(const e in t)if(Y.call(t,e)){const s=t[e];"object"!=typeof s||Object.isFrozen(s)||W(s)||i.push(s)}}return t}(t)}class cO{constructor(t={},i=[],e=[],s){this._contents=t,this._keys=i,this._overrides=e,this.raw=s,this.overrideConfigurations=new Map}get rawConfiguration(){var t;if(!this._rawConfiguration)if(null===(t=this.raw)||void 0===t?void 0:t.length){const t=this.raw.map((t=>{if(t instanceof cO)return t;const i=new aO("");return i.parseRaw(t),i.configurationModel}));this._rawConfiguration=t.reduce(((t,i)=>i===t?i:t.merge(i)),t[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return 0===this._keys.length&&0===Object.keys(this._contents).length&&0===this._overrides.length}getValue(t){return t?bd(this.contents,t):this.contents}inspect(t,i){const e=this.rawConfiguration.getValue(t);return{value:e,override:i?this.rawConfiguration.getOverrideValue(t,i):void 0,merged:i?this.rawConfiguration.override(i).getValue(t):e}}getOverrideValue(t,i){const e=this.getContentsForOverrideIdentifer(i);return e?t?bd(e,t):e:void 0}override(t){let i=this.overrideConfigurations.get(t);return i||(i=this.createOverrideConfigurationModel(t),this.overrideConfigurations.set(t,i)),i}merge(...t){var i,e;const s=J(this.contents),n=J(this.overrides),o=[...this.keys],r=(null===(i=this.raw)||void 0===i?void 0:i.length)?[...this.raw]:[this];for(const i of t)if(r.push(...(null===(e=i.raw)||void 0===e?void 0:e.length)?i.raw:[i]),!i.isEmpty()){this.mergeContents(s,i.contents);for(const t of i.overrides){const[i]=n.filter((i=>u(i.identifiers,t.identifiers)));i?(this.mergeContents(i.contents,t.contents),i.keys.push(...t.keys),i.keys=k(i.keys)):n.push(J(t))}for(const t of i.keys)-1===o.indexOf(t)&&o.push(t)}return new cO(s,o,n,r.every((t=>t instanceof cO))?void 0:r)}createOverrideConfigurationModel(t){const i=this.getContentsForOverrideIdentifer(t);if(!i||"object"!=typeof i||!Object.keys(i).length)return this;const e={};for(const t of k([...Object.keys(this.contents),...Object.keys(i)])){let s=this.contents[t];const n=i[t];n&&("object"==typeof s&&"object"==typeof n?(s=J(s),this.mergeContents(s,n)):s=n),e[t]=s}return new cO(e,this.keys,this.overrides)}mergeContents(t,i){for(const e of Object.keys(i))e in t&&$(t[e])&&$(i[e])?this.mergeContents(t[e],i[e]):t[e]=J(i[e])}getContentsForOverrideIdentifer(t){let i=null,e=null;const s=t=>{t&&(e?this.mergeContents(e,t):e=J(t))};for(const e of this.overrides)1===e.identifiers.length&&e.identifiers[0]===t?i=e.contents:e.identifiers.includes(t)&&s(e.contents);return s(i),e}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}addValue(t,i){this.updateValue(t,i,!0)}setValue(t,i){this.updateValue(t,i,!1)}removeValue(t){const i=this.keys.indexOf(t);-1!==i&&(this.keys.splice(i,1),wd(this.contents,t),Od.test(t)&&this.overrides.splice(this.overrides.findIndex((i=>u(i.identifiers,Id(t)))),1))}updateValue(t,i,e){md(this.contents,t,i,(t=>console.error(t))),(e=e||-1===this.keys.indexOf(t))&&this.keys.push(t),Od.test(t)&&this.overrides.push({identifiers:Id(t),keys:Object.keys(this.contents[t]),contents:gd(this.contents[t],(t=>console.error(t)))})}}class aO{constructor(t){this._name=t,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||new cO}parseRaw(t,i){this._raw=t;const{contents:e,keys:s,overrides:n,restricted:o,hasExcludedProperties:r}=this.doParseRaw(t,i);this._configurationModel=new cO(e,s,n,r?[t]:void 0),this._restrictedConfigurations=o||[]}doParseRaw(t,i){const e=Dh.as(Md).getConfigurationProperties(),s=this.filter(t,e,!0,i);return{contents:gd(t=s.raw,(t=>console.error(`Conflict in settings file ${this._name}: ${t}`))),keys:Object.keys(t),overrides:this.toOverrides(t,(t=>console.error(`Conflict in settings file ${this._name}: ${t}`))),restricted:s.restricted,hasExcludedProperties:s.hasExcludedProperties}}filter(t,i,e,s){var n,o,r;let h=!1;if(!(null==s?void 0:s.scopes)&&!(null==s?void 0:s.skipRestricted)&&!(null===(n=null==s?void 0:s.exclude)||void 0===n?void 0:n.length))return{raw:t,restricted:[],hasExcludedProperties:h};const c={},a=[];for(const n in t)if(Od.test(n)&&e){const e=this.filter(t[n],i,!1,s);c[n]=e.raw,h=h||e.hasExcludedProperties,a.push(...e.restricted)}else{const e=i[n],l=e?void 0!==e.scope?e.scope:3:void 0;(null==e?void 0:e.restricted)&&a.push(n),(null===(o=s.exclude)||void 0===o?void 0:o.includes(n))||!(null===(r=s.include)||void 0===r?void 0:r.includes(n))&&(void 0!==l&&void 0!==s.scopes&&!s.scopes.includes(l)||s.skipRestricted&&(null==e?void 0:e.restricted))?h=!0:c[n]=t[n]}return{raw:c,restricted:a,hasExcludedProperties:h}}toOverrides(t,i){const e=[];for(const s of Object.keys(t))if(Od.test(s)){const n={};for(const i in t[s])n[i]=t[s][i];e.push({identifiers:Id(s),keys:Object.keys(n),contents:gd(n,i)})}return e}}class lO{constructor(t,i,e,s,n,o,r,h,c,a,l,u,d){this.key=t,this.overrides=i,this._value=e,this.overrideIdentifiers=s,this.defaultConfiguration=n,this.policyConfiguration=o,this.applicationConfiguration=r,this.userConfiguration=h,this.localUserConfiguration=c,this.remoteUserConfiguration=a,this.workspaceConfiguration=l,this.folderConfigurationModel=u,this.memoryConfigurationModel=d}inspect(t,i,e){const s=t.inspect(i,e);return{get value(){return hO(s.value)},get override(){return hO(s.override)},get merged(){return hO(s.merged)}}}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.inspect(this.userConfiguration,this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get user(){return void 0!==this.userInspectValue.value||void 0!==this.userInspectValue.override?{value:this.userInspectValue.value,override:this.userInspectValue.override}:void 0}}class uO{constructor(t,i,e,s,n=new cO,o=new cO,r=new _p,h=new cO,c=new _p){this._defaultConfiguration=t,this._policyConfiguration=i,this._applicationConfiguration=e,this._localUserConfiguration=s,this._remoteUserConfiguration=n,this._workspaceConfiguration=o,this._folderConfigurations=r,this._memoryConfiguration=h,this._memoryConfigurationByResource=c,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new _p,this._userConfiguration=null}getValue(t,i,e){return this.getConsolidatedConfigurationModel(t,i,e).getValue(t)}updateValue(t,i,e={}){let s;e.resource?(s=this._memoryConfigurationByResource.get(e.resource),s||(s=new cO,this._memoryConfigurationByResource.set(e.resource,s))):s=this._memoryConfiguration,void 0===i?s.removeValue(t):s.setValue(t,i),e.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(t,i,e){const s=this.getConsolidatedConfigurationModel(t,i,e),n=this.getFolderConfigurationModelForResource(i.resource,e),o=i.resource&&this._memoryConfigurationByResource.get(i.resource)||this._memoryConfiguration,r=new Set;for(const i of s.overrides)for(const e of i.identifiers)void 0!==s.getOverrideValue(t,e)&&r.add(e);return new lO(t,i,s.getValue(t),r.size?[...r]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,e?this._workspaceConfiguration:void 0,n||void 0,o)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration)),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(t,i,e){let s=this.getConsolidatedConfigurationModelForResource(i,e);return i.overrideIdentifier&&(s=s.override(i.overrideIdentifier)),this._policyConfiguration.isEmpty()||void 0===this._policyConfiguration.getValue(t)||(s=s.merge(this._policyConfiguration)),s}getConsolidatedConfigurationModelForResource({resource:t},i){let e=this.getWorkspaceConsolidatedConfiguration();if(i&&t){const s=i.getFolder(t);s&&(e=this.getFolderConsolidatedConfiguration(s.uri)||e);const n=this._memoryConfigurationByResource.get(t);n&&(e=e.merge(n))}return e}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(t){let i=this._foldersConsolidatedConfigurations.get(t);if(!i){const e=this.getWorkspaceConsolidatedConfiguration(),s=this._folderConfigurations.get(t);s?(i=e.merge(s),this._foldersConsolidatedConfigurations.set(t,i)):i=e}return i}getFolderConfigurationModelForResource(t,i){if(i&&t){const e=i.getFolder(t);if(e)return this._folderConfigurations.get(e.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce(((t,i)=>{const{contents:e,overrides:s,keys:n}=this._folderConfigurations.get(i);return t.push([i,{contents:e,overrides:s,keys:n}]),t}),[])}}static parse(t){const i=this.parseConfigurationModel(t.defaults),e=this.parseConfigurationModel(t.policy),s=this.parseConfigurationModel(t.application),n=this.parseConfigurationModel(t.user),o=this.parseConfigurationModel(t.workspace),r=t.folders.reduce(((t,i)=>(t.set(ms.revive(i[0]),this.parseConfigurationModel(i[1])),t)),new _p);return new uO(i,e,s,n,new cO,o,r,new cO,new _p)}static parseConfigurationModel(t){return new cO(t.contents,t.keys,t.overrides)}}class dO{constructor(t,i,e,s){this.change=t,this.previous=i,this.currentConfiguraiton=e,this.currentWorkspace=s,this._marker="\n",this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=".".charCodeAt(0),this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const i of t.keys)this.affectedKeys.add(i);for(const[,i]of t.overrides)for(const t of i)this.affectedKeys.add(t);this._affectsConfigStr=this._marker;for(const t of this.affectedKeys)this._affectsConfigStr+=t+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=uO.parse(this.previous.data)),this._previousConfiguration}affectsConfiguration(t,i){var e;const s=this._marker+t,n=this._affectsConfigStr.indexOf(s);if(n<0)return!1;const o=n+s.length;if(o>=this._affectsConfigStr.length)return!1;const r=this._affectsConfigStr.charCodeAt(o);return(r===this._markerCode1||r===this._markerCode2)&&(!i||!et(this.previousConfiguration?this.previousConfiguration.getValue(t,i,null===(e=this.previous)||void 0===e?void 0:e.workspace):void 0,this.currentConfiguraiton.getValue(t,i,this.currentWorkspace)))}}const fO={kind:0},pO={kind:1};class gO{constructor(t,i,e){var s;this._log=e,this._defaultKeybindings=t,this._defaultBoundCommands=new Map;for(const i of t){const t=i.command;t&&"-"!==t.charAt(0)&&this._defaultBoundCommands.set(t,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=gO.handleRemovals([].concat(t).concat(i));for(let t=0,i=this._keybindings.length;t=0;t--){const s=e[t];if(s.command===i.command)continue;let n=!0;for(let t=1;t=0;t--){const s=e[t];if(i.contextMatchesRules(s.when))return s}return e[e.length-1]}resolve(t,i,e){const s=[...i,e];this._log(`| Resolving ${s}`);const n=this._map.get(s[0]);if(void 0===n)return this._log("\\ No keybinding entries."),fO;let o=null;if(s.length<2)o=n;else{o=[];for(let t=0,i=n.length;ti.chords.length)continue;let e=!0;for(let t=1;t=0;e--){const s=i[e];if(gO._contextMatchesRules(t,s.when))return s}return null}static _contextMatchesRules(t,i){return!i||i.evaluate(t)}}function mO(t){return t?`${t.serialize()}`:"no when condition"}function wO(t){return t.extensionId?t.isBuiltinExtension?`built-in extension ${t.extensionId}`:`user extension ${t.extensionId}`:t.isDefault?"built-in":"user"}const vO=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class bO extends ie{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:ce.None}get inChordMode(){return this._currentChords.length>0}constructor(t,i,e,s,n){super(),this._contextKeyService=t,this._commandService=i,this._telemetryService=e,this._notificationService=s,this._logService=n,this._onDidUpdateKeybindings=this._register(new fe),this._currentChords=[],this._currentChordChecker=new fc,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=yO.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new dc,this._logging=!1}dispose(){super.dispose()}_log(t){this._logging&&this._logService.info(`[KeybindingService]: ${t}`)}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(t,i){const e=this._getResolver().lookupPrimaryKeybinding(t,i||this._contextKeyService);if(e)return e.resolvedKeybinding}dispatchEvent(t,i){return this._dispatch(t,i)}softDispatch(t,i){this._log("/ Soft dispatching keyboard event");const e=this.resolveKeyboardEvent(t);if(e.hasMultipleChords())return console.warn("keyboard event should not be mapped to multiple chords"),fO;const[s]=e.getDispatchChords();if(null===s)return this._log("\\ Keyboard event cannot be dispatched"),fO;const n=this._contextKeyService.getContext(i),o=this._currentChords.map((({keypress:t})=>t));return this._getResolver().resolve(n,o,s)}_scheduleLeaveChordMode(){const t=Date.now();this._currentChordChecker.cancelAndSet((()=>{this._documentHasFocus()?Date.now()-t>5e3&&this._leaveChordMode():this._leaveChordMode()}),500)}_expectAnotherChord(t,i){switch(this._currentChords.push({keypress:t,label:i}),this._currentChords.length){case 0:throw Ui("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status(rt(0,"({0}) was pressed. Waiting for second key of chord...",i));break;default:{const t=this._currentChords.map((({label:t})=>t)).join(", ");this._currentChordStatusMessage=this._notificationService.status(rt(0,"({0}) was pressed. Waiting for next key of chord...",t))}}this._scheduleLeaveChordMode(),Jx.enabled&&Jx.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],Jx.enable()}_dispatch(t,i){return this._doDispatch(this.resolveKeyboardEvent(t),i,!1)}_singleModifierDispatch(t,i){const e=this.resolveKeyboardEvent(t),[s]=e.getSingleModifierDispatchChords();if(s)return this._ignoreSingleModifiers.has(s)?(this._log(`+ Ignoring single modifier ${s} due to it being pressed together with other keys.`),this._ignoreSingleModifiers=yO.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=yO.EMPTY,null===this._currentSingleModifier?(this._log(`+ Storing single modifier for possible chord ${s}.`),this._currentSingleModifier=s,this._currentSingleModifierClearTimeout.cancelAndSet((()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null}),300),!1):s===this._currentSingleModifier?(this._log(`/ Dispatching single modifier chord ${s} ${s}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(e,i,!0)):(this._log(`+ Clearing single modifier due to modifier mismatch: ${this._currentSingleModifier} ${s}`),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[n]=e.getChords();return this._ignoreSingleModifiers=new yO(n),null!==this._currentSingleModifier&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(t,i,e=!1){var s;let n=!1;if(t.hasMultipleChords())return console.warn("Unexpected keyboard event mapped to multiple chords"),!1;let o=null,r=null;if(e){const[i]=t.getSingleModifierDispatchChords();o=i,r=i?[i]:[]}else[o]=t.getDispatchChords(),r=this._currentChords.map((({keypress:t})=>t));if(null===o)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),n;const h=this._contextKeyService.getContext(i),c=t.getLabel(),a=this._getResolver().resolve(h,r,o);switch(a.kind){case 0:if(this._logService.trace("KeybindingService#dispatch",c,"[ No matching keybinding ]"),this.inChordMode){const t=this._currentChords.map((({label:t})=>t)).join(", ");this._log(`+ Leaving multi-chord mode: Nothing bound to "${t}, ${c}".`),this._notificationService.status(rt(0,"The key combination ({0}, {1}) is not a command.",t,c),{hideAfter:1e4}),this._leaveChordMode(),n=!0}return n;case 1:return this._logService.trace("KeybindingService#dispatch",c,"[ Several keybindings match - more chords needed ]"),n=!0,this._expectAnotherChord(o,c),this._log(1===this._currentChords.length?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),n;case 2:if(this._logService.trace("KeybindingService#dispatch",c,`[ Will dispatch command ${a.commandId} ]`),null===a.commandId||""===a.commandId){if(this.inChordMode){const t=this._currentChords.map((({label:t})=>t)).join(", ");this._log(`+ Leaving chord mode: Nothing bound to "${t}, ${c}".`),this._notificationService.status(rt(0,"The key combination ({0}, {1}) is not a command.",t,c),{hideAfter:1e4}),this._leaveChordMode(),n=!0}}else this.inChordMode&&this._leaveChordMode(),a.isBubble||(n=!0),this._log(`+ Invoking command ${a.commandId}.`),void 0===a.commandArgs?this._commandService.executeCommand(a.commandId).then(void 0,(t=>this._notificationService.warn(t))):this._commandService.executeCommand(a.commandId,a.commandArgs).then(void 0,(t=>this._notificationService.warn(t))),vO.test(a.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:a.commandId,from:"keybinding",detail:null!==(s=t.getUserSettingsLabel())&&void 0!==s?s:void 0});return n}}mightProducePrintableCharacter(t){return!t.ctrlKey&&!t.metaKey&&(t.keyCode>=31&&t.keyCode<=56||t.keyCode>=21&&t.keyCode<=30)}}class yO{constructor(t){this._ctrlKey=!!t&&t.ctrlKey,this._shiftKey=!!t&&t.shiftKey,this._altKey=!!t&&t.altKey,this._metaKey=!!t&&t.metaKey}has(t){switch(t){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}yO.EMPTY=new yO(null);class kO{constructor(t,i,e,s,n,o,r){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=t,this.chords=t?xO(t.getDispatchChords()):[],t&&0===this.chords.length&&(this.chords=xO(t.getSingleModifierDispatchChords())),this.bubble=!!i&&94===i.charCodeAt(0),this.command=this.bubble?i.substr(1):i,this.commandArgs=e,this.when=s,this.isDefault=n,this.extensionId=o,this.isBuiltinExtension=r}}function xO(t){const i=[];for(let e=0,s=t.length;ethis._getLabel(t)))}getAriaLabel(){return DO.toLabel(this._os,this._chords,(t=>this._getAriaLabel(t)))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:EO.toLabel(this._os,this._chords,(t=>this._getElectronAccelerator(t)))}getUserSettingsLabel(){return AO.toLabel(this._os,this._chords,(t=>this._getUserSettingsLabel(t)))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map((t=>this._getChord(t)))}_getChord(t){return new bh(t.ctrlKey,t.shiftKey,t.altKey,t.metaKey,this._getLabel(t),this._getAriaLabel(t))}getDispatchChords(){return this._chords.map((t=>this._getChordDispatch(t)))}getSingleModifierDispatchChords(){return this._chords.map((t=>this._getSingleModifierChordDispatch(t)))}}class FO extends LO{constructor(t,i){super(i,t)}_keyCodeToUILabel(t){if(2===this._os)switch(t){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}return _e.toString(t)}_getLabel(t){return t.isDuplicateModifierCase()?"":this._keyCodeToUILabel(t.keyCode)}_getAriaLabel(t){return t.isDuplicateModifierCase()?"":_e.toString(t.keyCode)}_getElectronAccelerator(t){return _e.toElectronAccelerator(t.keyCode)}_getUserSettingsLabel(t){if(t.isDuplicateModifierCase())return"";const i=_e.toUserSettingsUS(t.keyCode);return i?i.toLowerCase():i}_getChordDispatch(t){return FO.getDispatchStr(t)}static getDispatchStr(t){if(t.isModifierKey())return null;let i="";return t.ctrlKey&&(i+="ctrl+"),t.shiftKey&&(i+="shift+"),t.altKey&&(i+="alt+"),t.metaKey&&(i+="meta+"),i+=_e.toString(t.keyCode),i}_getSingleModifierChordDispatch(t){return 5!==t.keyCode||t.shiftKey||t.altKey||t.metaKey?4!==t.keyCode||t.ctrlKey||t.altKey||t.metaKey?6!==t.keyCode||t.ctrlKey||t.shiftKey||t.metaKey?57!==t.keyCode||t.ctrlKey||t.shiftKey||t.altKey?null:"meta":"alt":"shift":"ctrl"}static _scanCodeToKeyCode(t){const i=Oe[t];if(-1!==i)return i;switch(t){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(t){if(!t)return null;if(t instanceof wh)return t;const i=this._scanCodeToKeyCode(t.scanCode);return 0===i?null:new wh(t.ctrlKey,t.shiftKey,t.altKey,t.metaKey,i)}static resolveKeybinding(t,i){const e=xO(t.chords.map((t=>this._toKeyCodeChord(t))));return e.length>0?[new FO(e,i)]:[]}}const TO=dr("labelService"),RO=dr("progressService");Object.freeze({total(){},worked(){},done(){}});class OO{constructor(t){this.callback=t}report(t){this._value=t,this.callback(this._value)}}OO.None=Object.freeze({report(){}});const IO=dr("editorProgressService");class _O{constructor(){this._value="",this._pos=0}reset(t){return this._value=t,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;i--,this._valueLen--){const t=this._value.charCodeAt(i);if(!(47===t||this._splitOnBackslash&&92===t))break}return this.next()}hasNext(){return this._to!1),i=(()=>!1)){return new WO(new PO(t,i))}static forStrings(){return new WO(new _O)}static forConfigKeys(){return new WO(new NO)}constructor(t){this._iter=t}clear(){this._root=void 0}set(t,i){const e=this._iter.reset(t);let s;this._root||(this._root=new $O,this._root.segment=e.value());const n=[];for(s=this._root;;){const t=e.cmp(s.segment);if(t>0)s.left||(s.left=new $O,s.left.segment=e.value()),n.push([-1,s]),s=s.left;else if(t<0)s.right||(s.right=new $O,s.right.segment=e.value()),n.push([1,s]),s=s.right;else{if(!e.hasNext())break;e.next(),s.mid||(s.mid=new $O,s.mid.segment=e.value()),n.push([0,s]),s=s.mid}}const o=s.value;s.value=i,s.key=t;for(let t=n.length-1;t>=0;t--){const i=n[t][1];i.updateHeight();const e=i.balanceFactor();if(e<-1||e>1){const e=n[t][0],s=n[t+1][0];if(1===e&&1===s)n[t][1]=i.rotateLeft();else if(-1===e&&-1===s)n[t][1]=i.rotateRight();else if(1===e&&-1===s)i.right=n[t+1][1]=n[t+1][1].rotateRight(),n[t][1]=i.rotateLeft();else{if(-1!==e||1!==s)throw new Error;i.left=n[t+1][1]=n[t+1][1].rotateLeft(),n[t][1]=i.rotateRight()}if(t>0)switch(n[t-1][0]){case-1:n[t-1][1].left=n[t][1];break;case 1:n[t-1][1].right=n[t][1];break;case 0:n[t-1][1].mid=n[t][1]}else this._root=n[0][1]}}return o}get(t){var i;return null===(i=this._getNode(t))||void 0===i?void 0:i.value}_getNode(t){const i=this._iter.reset(t);let e=this._root;for(;e;){const t=i.cmp(e.segment);if(t>0)e=e.left;else if(t<0)e=e.right;else{if(!i.hasNext())break;i.next(),e=e.mid}}return e}has(t){const i=this._getNode(t);return!(void 0===(null==i?void 0:i.value)&&void 0===(null==i?void 0:i.mid))}delete(t){return this._delete(t,!1)}deleteSuperstr(t){return this._delete(t,!0)}_delete(t,i){var e;const s=this._iter.reset(t),n=[];let o=this._root;for(;o;){const t=s.cmp(o.segment);if(t>0)n.push([-1,o]),o=o.left;else if(t<0)n.push([1,o]),o=o.right;else{if(!s.hasNext())break;s.next(),n.push([0,o]),o=o.mid}}if(o){if(i?(o.left=void 0,o.mid=void 0,o.right=void 0,o.height=1):(o.key=void 0,o.value=void 0),!o.mid&&!o.value)if(o.left&&o.right){const t=this._min(o.right);if(t.key){const{key:i,value:e,segment:s}=t;this._delete(t.key,!1),o.key=i,o.value=e,o.segment=s}}else{const t=null!==(e=o.left)&&void 0!==e?e:o.right;if(n.length>0){const[i,e]=n[n.length-1];switch(i){case-1:e.left=t;break;case 0:e.mid=t;break;case 1:e.right=t}}else this._root=t}for(let t=n.length-1;t>=0;t--){const i=n[t][1];i.updateHeight();const e=i.balanceFactor();if(e>1?(i.right.balanceFactor()>=0||(i.right=i.right.rotateRight()),n[t][1]=i.rotateLeft()):e<-1&&(i.left.balanceFactor()<=0||(i.left=i.left.rotateLeft()),n[t][1]=i.rotateRight()),t>0)switch(n[t-1][0]){case-1:n[t-1][1].left=n[t][1];break;case 1:n[t-1][1].right=n[t][1];break;case 0:n[t-1][1].mid=n[t][1]}else this._root=n[0][1]}}}_min(t){for(;t.left;)t=t.left;return t}findSubstr(t){const i=this._iter.reset(t);let e,s=this._root;for(;s;){const t=i.cmp(s.segment);if(t>0)s=s.left;else if(t<0)s=s.right;else{if(!i.hasNext())break;i.next(),e=s.value||e,s=s.mid}}return s&&s.value||e}findSuperstr(t){return this._findSuperstrOrElement(t,!1)}_findSuperstrOrElement(t,i){const e=this._iter.reset(t);let s=this._root;for(;s;){const t=e.cmp(s.segment);if(t>0)s=s.left;else if(t<0)s=s.right;else{if(!e.hasNext())return s.mid?this._entries(s.mid):i?s.value:void 0;e.next(),s=s.mid}}}forEach(t){for(const[i,e]of this)t(e,i)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(t){const i=[];return this._dfsEntries(t,i),i[Symbol.iterator]()}_dfsEntries(t,i){t&&(t.left&&this._dfsEntries(t.left,i),t.value&&i.push([t.key,t.value]),t.mid&&this._dfsEntries(t.mid,i),t.right&&this._dfsEntries(t.right,i))}}const jO=dr("contextService");function zO(t){return"string"==typeof(null==t?void 0:t.id)&&ms.isUri(t.uri)}const HO={id:"empty-window"};class VO{constructor(t,i){this.raw=i,this.uri=t.uri,this.index=t.index,this.name=t.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}rt(0,"Code Workspace");const UO="4064f6ec-cb38-4ad0-af64-ee6467e63c82";var qO,KO,GO,ZO,QO,JO,YO,XO;!function(t){t.inspectTokensAction=rt(0,"Developer: Inspect Tokens")}(qO||(qO={})),function(t){t.gotoLineActionLabel=rt(0,"Go to Line/Column...")}(KO||(KO={})),function(t){t.helpQuickAccessActionLabel=rt(0,"Show all Quick Access Providers")}(GO||(GO={})),function(t){t.quickCommandActionLabel=rt(0,"Command Palette"),t.quickCommandHelp=rt(0,"Show And Run Commands")}(ZO||(ZO={})),function(t){t.quickOutlineActionLabel=rt(0,"Go to Symbol..."),t.quickOutlineByCategoryActionLabel=rt(0,"Go to Symbol by Category...")}(QO||(QO={})),function(t){t.editorViewAccessibleLabel=rt(0,"Editor content"),t.accessibilityHelpMessage=rt(0,"Press Alt+F1 for Accessibility Options.")}(JO||(JO={})),function(t){t.toggleHighContrast=rt(0,"Toggle High Contrast Theme")}(YO||(YO={})),function(t){t.bulkEditServiceSummary=rt(0,"Made {0} edits in {1} files")}(XO||(XO={}));const tI=dr("workspaceTrustManagementService"),iI=dr("contextViewService"),eI=dr("contextMenuService");var sI,nI;function oI(t,i,e){const s=e.mode===nI.ALIGN?e.offset:e.offset+e.size,n=e.mode===nI.ALIGN?e.offset+e.size:e.offset;return 0===e.position?i<=t-s?s:i<=n?n-i:Math.max(t-i,0):i<=n?n-i:i<=t-s?s:0}!function(t){function i(t,i){if(t.start>=i.end||i.start>=t.end)return{start:0,end:0};const e=Math.max(t.start,i.start),s=Math.min(t.end,i.end);return s-e<=0?{start:0,end:0}:{start:e,end:s}}function e(t){return t.end-t.start<=0}t.intersect=i,t.isEmpty=e,t.intersects=function(t,s){return!e(i(t,s))},t.relativeComplement=function(t,i){const s=[],n={start:t.start,end:Math.min(i.start,t.end)},o={start:Math.max(i.end,t.start),end:t.end};return e(n)||s.push(n),e(o)||s.push(o),s}}(sI||(sI={})),function(t){t[t.AVOID=0]="AVOID",t[t.ALIGN=1]="ALIGN"}(nI||(nI={}));class rI extends ie{constructor(t,i){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=ie.None,this.toDisposeOnSetContainer=ie.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=$l(".context-view"),jl(this.view),this.setContainer(t,i),this._register(Xi((()=>this.setContainer(null,1))))}setContainer(t,i){var e;this.useFixedPosition=1!==i;const s=this.useShadowDOM;if(this.useShadowDOM=3===i,(t!==this.container||s===this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.shadowRoot?(this.shadowRoot.removeChild(this.view),this.shadowRoot=null,null===(e=this.shadowRootHostElement)||void 0===e||e.remove(),this.shadowRootHostElement=null):this.container.removeChild(this.view),this.container=null),t)){if(this.container=t,this.useShadowDOM){this.shadowRootHostElement=$l(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const t=document.createElement("style");t.textContent=hI,this.shadowRoot.appendChild(t),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild($l("slot"))}else this.container.appendChild(this.view);const i=new te;rI.BUBBLE_UP_EVENTS.forEach((t=>{i.add(qa(this.container,t,(t=>{this.onDOMEvent(t,!1)})))})),rI.BUBBLE_DOWN_EVENTS.forEach((t=>{i.add(qa(this.container,t,(t=>{this.onDOMEvent(t,!0)}),!0))})),this.toDisposeOnSetContainer=i}}show(t){var i,e;this.isVisible()&&this.hide(),za(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex="2575",this.view.style.position=this.useFixedPosition?"fixed":"absolute",Wl(this.view),this.toDisposeOnClean=t.render(this.view)||ie.None,this.delegate=t,this.doLayout(),null===(e=(i=this.delegate).focus)||void 0===e||e.call(i)}getViewElement(){return this.view}layout(){this.isVisible()&&(!1!==this.delegate.canRelayout||Lt&&Kh?(this.delegate.layout&&this.delegate.layout(),this.doLayout()):this.hide())}doLayout(){if(!this.isVisible())return;const t=this.delegate.getAnchor();let i;if(t instanceof HTMLElement){const e=nl(t),s=function(t){let i=t,e=1;do{const t=Xa(i).zoom;null!=t&&"1"!==t&&(e*=t),i=i.parentElement}while(null!==i&&i!==i.ownerDocument.documentElement);return e}(t);i={top:e.top*s,left:e.left*s,width:e.width*s,height:e.height*s}}else i=(e=t)&&"number"==typeof e.x&&"number"==typeof e.y?{top:t.y,left:t.x,width:t.width||1,height:t.height||2}:{top:t.posy,left:t.posx,width:2,height:2};var e;const s=ol(this.view),n=cl(this.view),o=this.delegate.anchorPosition||0,r=this.delegate.anchorAlignment||0,h=this.delegate.anchorAxisAlignment||0;let c,a;const l=function(){var t,i;return null!==(i=null===(t=ml().defaultView)||void 0===t?void 0:t.window)&&void 0!==i?i:$n}();if(0===h){const t={offset:i.top-l.pageYOffset,size:i.height,position:0===o?0:1},e={offset:i.left,size:i.width,position:0===r?0:1,mode:nI.ALIGN};c=oI(l.innerHeight,n,t)+l.pageYOffset,sI.intersects({start:c,end:c+n},{start:t.offset,end:t.offset+t.size})&&(e.mode=nI.AVOID),a=oI(l.innerWidth,s,e)}else{const t={offset:i.left,size:i.width,position:0===r?0:1},e={offset:i.top,size:i.height,position:0===o?0:1,mode:nI.ALIGN};a=oI(l.innerWidth,s,t),sI.intersects({start:a,end:a+s},{start:t.offset,end:t.offset+t.size})&&(e.mode=nI.AVOID),c=oI(l.innerHeight,n,e)+l.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(0===o?"bottom":"top"),this.view.classList.add(0===r?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const u=nl(this.container);this.view.style.top=c-(this.useFixedPosition?nl(this.view).top:u.top)+"px",this.view.style.left=a-(this.useFixedPosition?nl(this.view).left:u.left)+"px",this.view.style.width="initial"}hide(t){const i=this.delegate;this.delegate=null,(null==i?void 0:i.onHide)&&i.onHide(t),this.toDisposeOnClean.dispose(),jl(this.view)}isVisible(){return!!this.delegate}onDOMEvent(t,i){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(t,Na(t).document.activeElement):i&&!al(t.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}rI.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],rI.BUBBLE_DOWN_EVENTS=["click"];const hI='\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t.codicon[class*=\'codicon-\'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }\n\n\t:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }\n';let cI=class extends ie{constructor(t){super(),this.layoutService=t,this.currentViewDisposable=ie.None,this.contextView=this._register(new rI(this.layoutService.mainContainer,1)),this.layout(),this._register(t.onDidLayoutContainer((()=>this.layout())))}showContextView(t,i,e){let s;s=i?i===this.layoutService.getContainer(Na(i))?1:e?3:2:1,this.contextView.setContainer(null!=i?i:this.layoutService.activeContainer,s),this.contextView.show(t);const n=Xi((()=>{this.currentViewDisposable===n&&this.hideContextView()}));return this.currentViewDisposable=n,n}getContextViewElement(){return this.contextView.getViewElement()}layout(){this.contextView.layout()}hideContextView(t){this.contextView.hide(t)}dispose(){super.dispose(),this.currentViewDisposable.dispose(),this.currentViewDisposable=ie.None}};cI=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,PT)],cI);let aI=[],lI=[],uI=[];function dI(t,i=!1){!function(t,i,e){const s=function(t){return{id:t.id,mime:t.mime,filename:t.filename,extension:t.extension,filepattern:t.filepattern,firstline:t.firstline,userConfigured:false,filenameLowercase:t.filename?t.filename.toLowerCase():void 0,extensionLowercase:t.extension?t.extension.toLowerCase():void 0,filepatternLowercase:t.filepattern?HR(t.filepattern.toLowerCase()):void 0,filepatternOnPath:!!t.filepattern&&t.filepattern.indexOf(es.sep)>=0}}(t);aI.push(s),s.userConfigured?uI.push(s):lI.push(s),e&&!s.userConfigured&&aI.forEach((t=>{t.mime===s.mime||t.userConfigured||(s.extension&&t.extension===s.extension&&console.warn(`Overwriting extension <<${s.extension}>> to now point to mime <<${s.mime}>>`),s.filename&&t.filename===s.filename&&console.warn(`Overwriting filename <<${s.filename}>> to now point to mime <<${s.mime}>>`),s.filepattern&&t.filepattern===s.filepattern&&console.warn(`Overwriting filepattern <<${s.filepattern}>> to now point to mime <<${s.mime}>>`),s.firstline&&t.firstline===s.firstline&&console.warn(`Overwriting firstline <<${s.firstline}>> to now point to mime <<${s.mime}>>`))}))}(t,0,i)}function fI(t,i,e){var s;let n,o,r;for(let h=e.length-1;h>=0;h--){const c=e[h];if(i===c.filenameLowercase){n=c;break}c.filepattern&&(!o||c.filepattern.length>o.filepattern.length)&&(null===(s=c.filepatternLowercase)||void 0===s?void 0:s.call(c,c.filepatternOnPath?t:i))&&(o=c),c.extension&&(!r||c.extension.length>r.extension.length)&&i.endsWith(c.extensionLowercase)&&(r=c)}return n||o||r||void 0}const pI=Object.prototype.hasOwnProperty,gI="vs.editor.nullLanguage";class mI{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(gI,0),this._register(Pd,1),this._nextLanguageId=2}_register(t,i){this._languageIdToLanguage[i]=t,this._languageToLanguageId.set(t,i)}register(t){if(this._languageToLanguageId.has(t))return;const i=this._nextLanguageId++;this._register(t,i)}encodeLanguageId(t){return this._languageToLanguageId.get(t)||0}decodeLanguageId(t){return this._languageIdToLanguage[t]||gI}}class wI extends ie{constructor(t=!0,i=!1){super(),this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,wI.instanceCount++,this._warnOnOverwrite=i,this.languageIdCodec=new mI,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},t&&(this._initializeFromRegistry(),this._register(Bd.onDidChangeLanguages((()=>{this._initializeFromRegistry()}))))}dispose(){wI.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},aI=aI.filter((t=>t.userConfigured)),lI=[];const t=[].concat(Bd.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(t)}_registerLanguages(t){for(const i of t)this._registerLanguage(i);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach((t=>{const i=this._languages[t];i.name&&(this._nameMap[i.name]=i.identifier),i.aliases.forEach((t=>{this._lowercaseNameMap[t.toLowerCase()]=i.identifier})),i.mimetypes.forEach((t=>{this._mimeTypesMap[t]=i.identifier}))})),Dh.as(Md).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(t){const i=t.id;let e;pI.call(this._languages,i)?e=this._languages[i]:(this.languageIdCodec.register(i),e={identifier:i,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[i]=e),this._mergeLanguage(e,t)}_mergeLanguage(t,i){const e=i.id;let s=null;if(Array.isArray(i.mimetypes)&&i.mimetypes.length>0&&(t.mimetypes.push(...i.mimetypes),s=i.mimetypes[0]),s||(s=`text/x-${e}`,t.mimetypes.push(s)),Array.isArray(i.extensions)){t.extensions=i.configuration?i.extensions.concat(t.extensions):t.extensions.concat(i.extensions);for(const t of i.extensions)dI({id:e,mime:s,extension:t},this._warnOnOverwrite)}if(Array.isArray(i.filenames))for(const n of i.filenames)dI({id:e,mime:s,filename:n},this._warnOnOverwrite),t.filenames.push(n);if(Array.isArray(i.filenamePatterns))for(const t of i.filenamePatterns)dI({id:e,mime:s,filepattern:t},this._warnOnOverwrite);if("string"==typeof i.firstLine&&i.firstLine.length>0){let t=i.firstLine;"^"!==t.charAt(0)&&(t="^"+t);try{const i=new RegExp(t);"^"!==(n=i).source&&"^$"!==n.source&&"$"!==n.source&&"^\\s*$"!==n.source&&n.exec("")&&0===n.lastIndex||dI({id:e,mime:s,firstline:i},this._warnOnOverwrite)}catch(e){console.warn(`[${i.id}]: Invalid regular expression \`${t}\`: `,e)}}var n;t.aliases.push(e);let o=null;if(void 0!==i.aliases&&Array.isArray(i.aliases)&&(o=0===i.aliases.length?[null]:i.aliases),null!==o)for(const i of o)i&&0!==i.length&&t.aliases.push(i);const r=null!==o&&o.length>0;r&&null===o[0]||!r&&t.name||(t.name=(r?o[0]:null)||e),i.configuration&&t.configurationFiles.push(i.configuration),i.icon&&t.icons.push(i.icon)}isRegisteredLanguageId(t){return!!t&&pI.call(this._languages,t)}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(t){const i=t.toLowerCase();return pI.call(this._lowercaseNameMap,i)?this._lowercaseNameMap[i]:null}getLanguageIdByMimeType(t){return t&&pI.call(this._mimeTypesMap,t)?this._mimeTypesMap[t]:null}guessLanguageIdByFilepathOrFirstLine(t,i){return t||i?function(t,i){return function(t,i){let e;if(t)switch(t.scheme){case ka.file:e=t.fsPath;break;case ka.data:e=yA.parseMetaData(t).get(yA.META_DATA_LABEL);break;case ka.vscodeNotebookCell:e=void 0;break;default:e=t.path}if(!e)return[{id:"unknown",mime:Dd.unknown}];e=e.toLowerCase();const s=hs(e),n=fI(e,s,uI);if(n)return[n,{id:Pd,mime:Dd.text}];const o=fI(e,s,lI);if(o)return[o,{id:Pd,mime:Dd.text}];if(i){const t=function(t){if(Ro(t)&&(t=t.substr(1)),t.length>0)for(let i=aI.length-1;i>=0;i--){const e=aI[i];if(!e.firstline)continue;const s=t.match(e.firstline);if(s&&s.length>0)return e}}(i);if(t)return[t,{id:Pd,mime:Dd.text}]}return[{id:"unknown",mime:Dd.unknown}]}(t,i).map((t=>t.id))}(t,i):[]}}wI.instanceCount=0;class vI extends ie{constructor(t=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new fe),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new fe),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new fe({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,vI.instanceCount++,this._registry=this._register(new wI(!0,t)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange((()=>this._onDidChange.fire())))}dispose(){vI.instanceCount--,super.dispose()}isRegisteredLanguageId(t){return this._registry.isRegisteredLanguageId(t)}getLanguageIdByLanguageName(t){return this._registry.getLanguageIdByLanguageName(t)}getLanguageIdByMimeType(t){return this._registry.getLanguageIdByMimeType(t)}guessLanguageIdByFilepathOrFirstLine(t,i){return x(this._registry.guessLanguageIdByFilepathOrFirstLine(t,i),null)}createById(t){return new bI(this.onDidChange,(()=>this._createAndGetLanguageIdentifier(t)))}createByFilepathOrFirstLine(t,i){return new bI(this.onDidChange,(()=>{const e=this.guessLanguageIdByFilepathOrFirstLine(t,i);return this._createAndGetLanguageIdentifier(e)}))}_createAndGetLanguageIdentifier(t){return t&&this.isRegisteredLanguageId(t)||(t=Pd),t}requestBasicLanguageFeatures(t){this._requestedBasicLanguages.has(t)||(this._requestedBasicLanguages.add(t),this._onDidRequestBasicLanguageFeatures.fire(t))}requestRichLanguageFeatures(t){this._requestedRichLanguages.has(t)||(this._requestedRichLanguages.add(t),this.requestBasicLanguageFeatures(t),Zs.getOrCreate(t),this._onDidRequestRichLanguageFeatures.fire(t))}}vI.instanceCount=0;class bI{constructor(t,i){this._onDidChangeLanguages=t,this._selector=i,this._listener=null,this._emitter=null,this.languageId=this._selector()}_dispose(){this._listener&&(this._listener.dispose(),this._listener=null),this._emitter&&(this._emitter.dispose(),this._emitter=null)}get onDidChange(){return this._listener||(this._listener=this._onDidChangeLanguages((()=>this._evaluate()))),this._emitter||(this._emitter=new fe({onDidRemoveLastListener:()=>{this._dispose()}})),this._emitter.event}_evaluate(){var t;const i=this._selector();i!==this.languageId&&(this.languageId=i,null===(t=this._emitter)||void 0===t||t.fire(this.languageId))}}const yI={RESOURCES:"ResourceURLs",DOWNLOAD_URL:"DownloadURL",FILES:"Files",TEXT:Dd.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"};let kI=0;const xI=new Uint32Array(10);function CI(t,i,e){var s;t>=e&&t>8&&(xI[kI++]=s>>8&255),s>>16&&(xI[kI++]=s>>16&255)))}const SI=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),DI=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),EI=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),AI=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]);function MI(...t){return function(i,e){for(let s=0,n=t.length;s0?[{start:0,end:i.length}]:[]:null}function TI(t,i){const e=i.toLowerCase().indexOf(t.toLowerCase());return-1===e?null:[{start:e,end:e+t.length}]}function RI(t,i){return OI(t.toLowerCase(),i.toLowerCase(),0,0)}function OI(t,i,e,s){if(e===t.length)return[];if(s===i.length)return null;if(t[e]===i[s]){let n=null;return(n=OI(t,i,e+1,s+1))?VI({start:s,end:s+1},n):null}return OI(t,i,e,s+1)}function II(t){return 97<=t&&t<=122}function _I(t){return 65<=t&&t<=90}function NI(t){return 48<=t&&t<=57}function BI(t){return 32===t||9===t||10===t||13===t}const PI=new Set;function $I(t){return BI(t)||PI.has(t)}function WI(t,i){return t===i||$I(t)&&$I(i)}"()[]{}<>`'\"-/;:,.?!".split("").forEach((t=>PI.add(t.charCodeAt(0))));const jI=new Map;function zI(t){if(jI.has(t))return jI.get(t);let i;const e=function(t){const i=function(t){if(kI=0,CI(t,SI,4352),kI>0)return xI.subarray(0,kI);if(CI(t,DI,4449),kI>0)return xI.subarray(0,kI);if(CI(t,EI,4520),kI>0)return xI.subarray(0,kI);if(CI(t,AI,12593),kI)return xI.subarray(0,kI);if(t>=44032&&t<=55203){const i=t-44032,e=i%588,s=Math.floor(i/588),n=Math.floor(e/28),o=e%28-1;if(s=0&&(o0)return xI.subarray(0,kI)}}(t);if(i&&i.length>0)return new Uint32Array(i)}(t);return e&&(i=e),jI.set(t,i),i}function HI(t){return II(t)||_I(t)||NI(t)}function VI(t,i){return 0===i.length?i=[t]:t.end===i[0].start?i[0].start=t.start:i.unshift(t),i}function UI(t,i){for(let e=i;e0&&!HI(t.charCodeAt(e-1)))return e}return t.length}function qI(t,i,e,s){if(e===t.length)return[];if(s===i.length)return null;if(t[e]!==i[s].toLowerCase())return null;{let n=null,o=s+1;for(n=qI(t,i,e+1,s+1);!n&&(o=UI(i,o))60)return null;const e=function(t){let i=0,e=0,s=0,n=0,o=0;for(let r=0;r.2&&i<.8&&s>.6&&n<.2}(e)){if(!function(t){const{upperPercent:i,lowerPercent:e}=t;return 0===e&&i>.6}(e))return null;i=i.toLowerCase()}let s=null,n=0;for(t=t.toLowerCase();n0&&$I(t.charCodeAt(e-1)))return e;return t.length}const QI=MI(LI,KI,TI),JI=MI(LI,KI,RI),YI=new Bp(1e4);function XI(t,i,e=!1){if("string"!=typeof t||"string"!=typeof i)return null;let s=YI.get(t);s||(s=new RegExp(t.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*"),"i"),YI.set(t,s));const n=s.exec(i);return n?[{start:n.index,end:n.index+n[0].length}]:e?JI(t,i):QI(t,i)}function t_(t,i){const e=m_(t,t.toLowerCase(),0,i,i.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return e?e_(e):null}function i_(t,i,e,s,n,o){const r=Math.min(13,t.length);for(;e1;s--){const n=t[s]+e,o=i[i.length-1];o&&o.end===n?o.end=n+1:i.push({start:n,end:n+1})}return i}const s_=128;function n_(){const t=[],i=[];for(let t=0;t<=s_;t++)i[t]=0;for(let e=0;e<=s_;e++)t.push(i.slice(0));return t}function o_(t){const i=[];for(let e=0;e<=t;e++)i[e]=0;return i}const r_=o_(2*s_),h_=o_(2*s_),c_=n_(),a_=n_(),l_=n_();function u_(t,i){if(i<0||i>=t.length)return!1;const e=t.codePointAt(i);switch(e){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!Fo(e)}}function d_(t,i){if(i<0||i>=t.length)return!1;switch(t.charCodeAt(i)){case 32:case 9:return!0;default:return!1}}function f_(t,i,e){return i[t]!==e[t]}var p_;!function(t){t.Default=[-100,0],t.isDefault=function(t){return!t||2===t.length&&-100===t[0]&&0===t[1]}}(p_||(p_={}));class g_{constructor(t,i){this.firstMatchCanBeWeak=t,this.boostFullMatch=i}}function m_(t,i,e,s,n,o,r=g_.default){const h=t.length>s_?s_:t.length,c=s.length>s_?s_:s.length;if(e>=h||o>=c||h-e>c-o)return;if(!function(t,i,e,s,n,o,r=!1){for(;i=e&&h>=s;)n[r]===o[h]&&(h_[r]=h,r--),h--}(h,c,e,o,i,n);let a=1,l=1,u=e,d=o;const f=[!1];for(a=1,u=e;ur,v=w?a_[a][l-1]+(c_[a][l-1]>0?-5:0):0,b=d>r+1&&c_[a][l-1]>0,y=b?a_[a][l-2]+(c_[a][l-2]>0?-5:0):0;if(b&&(!w||y>=v)&&(!g||y>=m))a_[a][l]=y,l_[a][l]=3,c_[a][l]=0;else if(w&&(!g||v>=m))a_[a][l]=v,l_[a][l]=2,c_[a][l]=0;else{if(!g)throw new Error("not possible");a_[a][l]=m,l_[a][l]=1,c_[a][l]=c_[a-1][l-1]+1}}}if(!f[0]&&!r.firstMatchCanBeWeak)return;a--,l--;const p=[a_[a][l],o];let g=0,m=0;for(;a>=1;){let t=l;do{const i=l_[a][t];if(3===i)t-=2;else{if(2!==i)break;t-=1}}while(t>=1);g>1&&i[e+a-1]===n[o+l-1]&&!f_(t+o-1,s,n)&&g+1>c_[a][t]&&(t=l),t===l?g++:g=1,m||(m=t),a--,l=t-1,p.push(l)}return c===h&&r.boostFullMatch&&(p[0]+=2),p[0]-=m-h,p}function w_(t,i,e,s,n,o,r,h,c,a,l){if(i[e]!==o[r])return Number.MIN_SAFE_INTEGER;let u=1,d=!1;return r===e-s?u=t[e]===n[r]?7:5:!f_(r,n,o)||0!==r&&f_(r-1,n,o)?!u_(o,r)||0!==r&&u_(o,r-1)?(u_(o,r-1)||d_(o,r-1))&&(u=5,d=!0):u=5:(u=t[e]===n[r]?7:5,d=!0),u>1&&e===s&&(l[0]=!0),d||(d=f_(r,n,o)||u_(o,r-1)||d_(o,r-1)),e===s?r>c&&(u-=d?3:5):u+=a?d?2:0:d?0:1,r+1===h&&(u-=d?3:5),u}function v_(t,i,e,s,n,o,r){return function(t,i,e,s,n,o,r,h){let c=m_(t,i,e,s,n,o,h);if(t.length>=3){const i=Math.min(7,t.length-1);for(let r=e+1;rc[0])&&(c=t))}}}return c}(t,i,e,s,n,o,0,r)}function b_(t,i){if(i+1>=t.length)return;const e=t[i],s=t[i+1];return e!==s?t.slice(0,i)+s+e+t.slice(i+2):void 0}g_.default={boostFullMatch:!0,firstMatchCanBeWeak:!1};const y_=new RegExp(`\\$\\(${Cr.iconNameExpression}(?:${Cr.iconModifierExpression})?\\)`,"g"),k_=new RegExp(`(\\\\)?${y_.source}`,"g"),x_=new RegExp(`\\\\${y_.source}`,"g"),C_=new RegExp(`(\\s)?(\\\\)?${y_.source}(\\s)?`,"g");function S_(t){return-1===t.indexOf("$(")?t:t.replace(C_,((t,i,e,s)=>e?t:i||s||""))}const D_=new RegExp(`\\$\\(${Cr.iconNameCharacter}+\\)`,"g");function E_(t){D_.lastIndex=0;let i="";const e=[];let s=0;for(;;){const n=D_.lastIndex,o=D_.exec(t),r=t.substring(n,null==o?void 0:o.index);if(r.length>0){i+=r;for(let t=0;ti?t:`\\${t}`))}(t):t).replace(/([ \t]+)/g,((t,i)=>" ".repeat(i.length))).replace(/\>/gm,"\\>").replace(/\n/g,1===i?"\\\n":"\n\n"),this}appendMarkdown(t){return this.value+=t,this}appendCodeblock(t,i){return this.value+="\n```",this.value+=t,this.value+="\n",this.value+=i,this.value+="\n```\n",this}appendLink(t,i,e){return this.value+="[",this.value+=this._escape(i,"]"),this.value+="](",this.value+=this._escape(String(t),")"),e&&(this.value+=` "${this._escape(this._escape(e,'"'),")")}"`),this.value+=")",this}_escape(t,i){const e=new RegExp(Gn(i),"g");return t.replace(e,((i,e)=>"\\"!==t.charAt(e-1)?`\\${i}`:i))}}function L_(t){return F_(t)?!t.value:!Array.isArray(t)||t.every(L_)}function F_(t){return t instanceof M_||!(!t||"object"!=typeof t)&&!("string"!=typeof t.value||"boolean"!=typeof t.isTrusted&&"object"!=typeof t.isTrusted&&void 0!==t.isTrusted||"boolean"!=typeof t.supportThemeIcons&&void 0!==t.supportThemeIcons)}function T_(t){return t.replace(/"/g,""")}function R_(t){return t?t.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1"):t}class O_{constructor(t,i,e){this.hoverDelegate=t,this.target=i,this.fadeInAnimation=e}async update(t,i,e){var s;if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let n;if(void 0===t||P(t)||t instanceof HTMLElement)n=t;else if(Z(t.markdown)){this._hoverWidget||this.show(rt(0,"Loading..."),i),this._cancellationTokenSource=new Se;const e=this._cancellationTokenSource.token;if(n=await t.markdown(e),void 0===n&&(n=t.markdownNotSupportedFallback),this.isDisposed||e.isCancellationRequested)return}else n=null!==(s=t.markdown)&&void 0!==s?s:t.markdownNotSupportedFallback;this.show(n,i,e)}show(t,i,e){const s=this._hoverWidget;if(this.hasContent(t)){const n={content:t,target:this.target,appearance:{showPointer:"element"===this.hoverDelegate.placement,skipFadeInAnimation:!this.fadeInAnimation||!!s},position:{hoverPosition:2},...e};this._hoverWidget=this.hoverDelegate.showHover(n,i)}null==s||s.dispose()}hasContent(t){return!(!t||F_(t)&&!t.value)}get isDisposed(){var t;return null===(t=this._hoverWidget)||void 0===t?void 0:t.isDisposed}dispose(){var t,i;null===(t=this._hoverWidget)||void 0===t||t.dispose(),null===(i=this._cancellationTokenSource)||void 0===i||i.dispose(!0),this._cancellationTokenSource=void 0}}function I_(t,i,e,s){let n,o;const r=(i,e)=>{var s;const r=void 0!==o;i&&(null==o||o.dispose(),o=void 0),e&&(null==n||n.dispose(),n=void 0),r&&(null===(s=t.onDidHideHover)||void 0===s||s.call(t))},h=(n,r,h)=>new dc((async()=>{o&&!o.isDisposed||(o=new O_(t,h||i,n>0),await o.update(e,r,s))}),n),c=Va(i,Ll.MOUSE_OVER,(()=>{if(n)return;const e=new te;e.add(Va(i,Ll.MOUSE_LEAVE,(t=>r(!1,t.fromElement===i)),!0)),e.add(Va(i,Ll.MOUSE_DOWN,(()=>r(!0,!0)),!0));const s={targetElements:[i],dispose:()=>{}};void 0!==t.placement&&"mouse"!==t.placement||e.add(Va(i,Ll.MOUSE_MOVE,(t=>{s.x=t.x+10,t.target instanceof HTMLElement&&t.target.classList.contains("action-label")&&r(!0,!0)}),!0)),e.add(h(t.delay,!1,s)),n=e}),!0),a=Va(i,Ll.FOCUS,(()=>{if(n)return;const e={targetElements:[i],dispose:()=>{}},s=new te;s.add(Va(i,Ll.BLUR,(()=>r(!0,!0)),!0)),s.add(h(t.delay,!1,e)),n=s}),!0);return{show:t=>{r(!1,!0),h(0,t)},hide:()=>{r(!0,!0)},update:async(t,i)=>{e=t,await(null==o?void 0:o.update(e,void 0,i))},dispose:()=>{c.dispose(),a.dispose(),r(!0,!0)}}}function __(t,i={}){const e=N_(i);return P_(e,function(t,i){const e={type:1,children:[]};let s=0,n=e;const o=[],r=new B_(t);for(;!r.eos();){let t=r.next();const e="\\"===t&&0!==$_(r.peek(),i);if(e&&(t=r.next()),e||0===$_(t,i)||t!==r.peek())if("\n"===t)2===n.type&&(n=o.pop()),n.children.push({type:8});else if(2!==n.type){const i={type:2,content:t};n.children.push(i),o.push(n),n=i}else n.content+=t;else{r.advance(),2===n.type&&(n=o.pop());const e=$_(t,i);if(n.type===e||5===n.type&&6===e)n=o.pop();else{const t={type:e,children:[]};5===e&&(t.index=s,s++),n.children.push(t),o.push(n),n=t}}}return 2===n.type&&(n=o.pop()),e}(t,!!i.renderCodeSegments),i.actionHandler,i.renderCodeSegments),e}function N_(t){const i=document.createElement(t.inline?"span":"div");return t.className&&(i.className=t.className),i}class B_{constructor(t){this.source=t,this.index=0}eos(){return this.index>=this.source.length}next(){const t=this.peek();return this.advance(),t}peek(){return this.source[this.index]}advance(){this.index++}}function P_(t,i,e,s){let n;if(2===i.type)n=document.createTextNode(i.content||"");else if(3===i.type)n=document.createElement("b");else if(4===i.type)n=document.createElement("i");else if(7===i.type&&s)n=document.createElement("code");else if(5===i.type&&e){const t=document.createElement("a");e.disposables.add(qa(t,"click",(t=>{e.callback(String(i.index),t)}))),n=t}else 8===i.type?n=document.createElement("br"):1===i.type&&(n=t);n&&t!==n&&t.appendChild(n),n&&Array.isArray(i.children)&&i.children.forEach((t=>{P_(n,t,e,s)}))}function $_(t,i){switch(t){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return i?7:0;default:return 0}}const W_=new RegExp(`(\\\\)?\\$\\((${Cr.iconNameExpression}(?:${Cr.iconModifierExpression})?)\\)`,"g");function j_(t){const i=new Array;let e,s=0,n=0;for(;null!==(e=W_.exec(t));){n=e.index||0,st.length)&&(i=t.length);for(var e=0,s=new Array(i);e=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function n(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}t.defaults={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var o=/[&<>"']/,r=/[&<>"']/g,h=/[<>"']|&(?!#?\w+;)/,c=/[<>"']|&(?!#?\w+;)/g,a={"&":"&","<":"<",">":">",'"':""","'":"'"},l=function(t){return a[t]};function u(t,i){if(i){if(o.test(t))return t.replace(r,l)}else if(h.test(t))return t.replace(c,l);return t}var d=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function f(t){return t.replace(d,(function(t,i){return"colon"===(i=i.toLowerCase())?":":"#"===i.charAt(0)?"x"===i.charAt(1)?String.fromCharCode(parseInt(i.substring(2),16)):String.fromCharCode(+i.substring(1)):""}))}var p=/(^|[^\[])\^/g;function g(t,i){t="string"==typeof t?t:t.source,i=i||"";var e={replace:function(i,s){return s=(s=s.source||s).replace(p,"$1"),t=t.replace(i,s),e},getRegex:function(){return new RegExp(t,i)}};return e}var m=/[^\w:]/g,w=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function v(t,i,e){if(t){var s;try{s=decodeURIComponent(f(e)).replace(m,"").toLowerCase()}catch(t){return null}if(0===s.indexOf("javascript:")||0===s.indexOf("vbscript:")||0===s.indexOf("data:"))return null}i&&!w.test(e)&&(e=function(t,i){b[" "+t]||(b[" "+t]=y.test(t)?t+"/":E(t,"/",!0));var e=-1===(t=b[" "+t]).indexOf(":");return"//"===i.substring(0,2)?e?i:t.replace(k,"$1")+i:"/"===i.charAt(0)?e?i:t.replace(x,"$1")+i:t+i}(i,e));try{e=encodeURI(e).replace(/%25/g,"%")}catch(t){return null}return e}var b={},y=/^[^:]+:\/*[^/]*$/,k=/^([^:]+:)[\s\S]*$/,x=/^([^:]+:\/*[^/]*)[\s\S]*$/,C={exec:function(){}};function S(t){for(var i,e,s=1;s=0&&"\\"===e[n];)s=!s;return s?"|":" |"})).split(/ \|/),s=0;if(e[0].trim()||e.shift(),e.length>0&&!e[e.length-1].trim()&&e.pop(),e.length>i)e.splice(i);else for(;e.length1;)1&i&&(e+=t),i>>=1,t+=t;return e+t}function L(t,i,e,s){var n=i.href,o=i.title?u(i.title):null,r=t[1].replace(/\\([\[\]])/g,"$1");if("!"!==t[0].charAt(0)){s.state.inLink=!0;var h={type:"link",raw:e,href:n,title:o,text:r,tokens:s.inlineTokens(r)};return s.state.inLink=!1,h}return{type:"image",raw:e,href:n,title:o,text:u(r)}}var F=function(){function i(i){this.options=i||t.defaults}var e=i.prototype;return e.space=function(t){var i=this.rules.block.newline.exec(t);if(i&&i[0].length>0)return{type:"space",raw:i[0]}},e.code=function(t){var i=this.rules.block.code.exec(t);if(i){var e=i[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:i[0],codeBlockStyle:"indented",text:this.options.pedantic?e:E(e,"\n")}}},e.fences=function(t){var i=this.rules.block.fences.exec(t);if(i){var e=i[0],s=function(t,i){var e=t.match(/^(\s+)(?:```)/);if(null===e)return i;var s=e[1];return i.split("\n").map((function(t){var i=t.match(/^\s+/);return null===i?t:i[0].length>=s.length?t.slice(s.length):t})).join("\n")}(e,i[3]||"");return{type:"code",raw:e,lang:i[2]?i[2].trim():i[2],text:s}}},e.heading=function(t){var i=this.rules.block.heading.exec(t);if(i){var e=i[2].trim();if(/#$/.test(e)){var s=E(e,"#");this.options.pedantic?e=s.trim():s&&!/ $/.test(s)||(e=s.trim())}return{type:"heading",raw:i[0],depth:i[1].length,text:e,tokens:this.lexer.inline(e)}}},e.hr=function(t){var i=this.rules.block.hr.exec(t);if(i)return{type:"hr",raw:i[0]}},e.blockquote=function(t){var i=this.rules.block.blockquote.exec(t);if(i){var e=i[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:i[0],tokens:this.lexer.blockTokens(e,[]),text:e}}},e.list=function(t){var i=this.rules.block.list.exec(t);if(i){var e,n,o,r,h,c,a,l,u,d,f,p,g=i[1].trim(),m=g.length>1,w={type:"list",raw:"",ordered:m,start:m?+g.slice(0,-1):"",loose:!1,items:[]};g=m?"\\d{1,9}\\"+g.slice(-1):"\\"+g,this.options.pedantic&&(g=m?g:"[*+-]");for(var v=new RegExp("^( {0,3}"+g+")((?:[\t ][^\\n]*)?(?:\\n|$))");t&&(p=!1,i=v.exec(t))&&!this.rules.block.hr.test(t);){if(t=t.substring((e=i[0]).length),l=i[2].split("\n",1)[0],u=t.split("\n",1)[0],this.options.pedantic?(r=2,f=l.trimLeft()):(r=i[2].search(/[^ ]/),f=l.slice(r=r>4?1:r),r+=i[1].length),c=!1,!l&&/^ *$/.test(u)&&(e+=u+"\n",t=t.substring(u.length+1),p=!0),!p)for(var b=new RegExp("^ {0,"+Math.min(3,r-1)+"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))"),y=new RegExp("^ {0,"+Math.min(3,r-1)+"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"),k=new RegExp("^ {0,"+Math.min(3,r-1)+"}(?:```|~~~)"),x=new RegExp("^ {0,"+Math.min(3,r-1)+"}#");t&&(l=d=t.split("\n",1)[0],this.options.pedantic&&(l=l.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!k.test(l))&&!x.test(l)&&!b.test(l)&&!y.test(t);){if(l.search(/[^ ]/)>=r||!l.trim())f+="\n"+l.slice(r);else{if(c)break;f+="\n"+l}c||l.trim()||(c=!0),e+=d+"\n",t=t.substring(d.length+1)}w.loose||(a?w.loose=!0:/\n *\n *$/.test(e)&&(a=!0)),this.options.gfm&&(n=/^\[[ xX]\] /.exec(f))&&(o="[ ] "!==n[0],f=f.replace(/^\[[ xX]\] +/,"")),w.items.push({type:"list_item",raw:e,task:!!n,checked:o,loose:!1,text:f}),w.raw+=e}w.items[w.items.length-1].raw=e.trimRight(),w.items[w.items.length-1].text=f.trimRight(),w.raw=w.raw.trimRight();var C=w.items.length;for(h=0;h1)return!0;return!1}));!w.loose&&S.length&&D&&(w.loose=!0,w.items[h].loose=!0)}return w}},e.html=function(t){var i=this.rules.block.html.exec(t);if(i){var e={type:"html",raw:i[0],pre:!this.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]};if(this.options.sanitize){var s=this.options.sanitizer?this.options.sanitizer(i[0]):u(i[0]);e.type="paragraph",e.text=s,e.tokens=this.lexer.inline(s)}return e}},e.def=function(t){var i=this.rules.block.def.exec(t);if(i)return i[3]&&(i[3]=i[3].substring(1,i[3].length-1)),{type:"def",tag:i[1].toLowerCase().replace(/\s+/g," "),raw:i[0],href:i[2],title:i[3]}},e.table=function(t){var i=this.rules.block.table.exec(t);if(i){var e={type:"table",header:D(i[1]).map((function(t){return{text:t}})),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:i[3]&&i[3].trim()?i[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(e.header.length===e.align.length){e.raw=i[0];var s,n,o,r,h=e.align.length;for(s=0;s/i.test(i[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:i[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):u(i[0]):i[0]}},e.link=function(t){var i=this.rules.inline.link.exec(t);if(i){var e=i[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;var s=E(e.slice(0,-1),"\\");if((e.length-s.length)%2==0)return}else{var n=function(t,i){if(-1===t.indexOf(i[1]))return-1;for(var e=t.length,s=0,n=0;n-1){var o=(0===i[0].indexOf("!")?5:4)+i[1].length+n;i[2]=i[2].substring(0,n),i[0]=i[0].substring(0,o).trim(),i[3]=""}}var r=i[2],h="";if(this.options.pedantic){var c=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);c&&(r=c[1],h=c[3])}else h=i[3]?i[3].slice(1,-1):"";return r=r.trim(),/^$/.test(e)?r.slice(1):r.slice(1,-1)),L(i,{href:r?r.replace(this.rules.inline._escapes,"$1"):r,title:h?h.replace(this.rules.inline._escapes,"$1"):h},i[0],this.lexer)}},e.reflink=function(t,i){var e;if((e=this.rules.inline.reflink.exec(t))||(e=this.rules.inline.nolink.exec(t))){var s=(e[2]||e[1]).replace(/\s+/g," ");if(!(s=i[s.toLowerCase()])||!s.href){var n=e[0].charAt(0);return{type:"text",raw:n,text:n}}return L(e,s,e[0],this.lexer)}},e.emStrong=function(t,i,e){void 0===e&&(e="");var s=this.rules.inline.emStrong.lDelim.exec(t);if(s&&(!s[3]||!e.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var n=s[1]||s[2]||"";if(!n||n&&(""===e||this.rules.inline.punctuation.exec(e))){var o,r,h=s[0].length-1,c=h,a=0,l="*"===s[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(l.lastIndex=0,i=i.slice(-1*t.length+h);null!=(s=l.exec(i));)if(o=s[1]||s[2]||s[3]||s[4]||s[5]||s[6])if(r=o.length,s[3]||s[4])c+=r;else if(!((s[5]||s[6])&&h%3)||(h+r)%3){if(!((c-=r)>0)){if(r=Math.min(r,r+c+a),Math.min(h,r)%2){var u=t.slice(1,h+s.index+r);return{type:"em",raw:t.slice(0,h+s.index+r+1),text:u,tokens:this.lexer.inlineTokens(u)}}var d=t.slice(2,h+s.index+r-1);return{type:"strong",raw:t.slice(0,h+s.index+r+1),text:d,tokens:this.lexer.inlineTokens(d)}}}else a+=r}}},e.codespan=function(t){var i=this.rules.inline.code.exec(t);if(i){var e=i[2].replace(/\n/g," "),s=/[^ ]/.test(e),n=/^ /.test(e)&&/ $/.test(e);return s&&n&&(e=e.substring(1,e.length-1)),e=u(e,!0),{type:"codespan",raw:i[0],text:e}}},e.br=function(t){var i=this.rules.inline.br.exec(t);if(i)return{type:"br",raw:i[0]}},e.del=function(t){var i=this.rules.inline.del.exec(t);if(i)return{type:"del",raw:i[0],text:i[2],tokens:this.lexer.inlineTokens(i[2])}},e.autolink=function(t,i){var e,s,n=this.rules.inline.autolink.exec(t);if(n)return s="@"===n[2]?"mailto:"+(e=u(this.options.mangle?i(n[1]):n[1])):e=u(n[1]),{type:"link",raw:n[0],text:e,href:s,tokens:[{type:"text",raw:e,text:e}]}},e.url=function(t,i){var e;if(e=this.rules.inline.url.exec(t)){var s,n;if("@"===e[2])n="mailto:"+(s=u(this.options.mangle?i(e[0]):e[0]));else{var o;do{o=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])[0]}while(o!==e[0]);s=u(e[0]),n="www."===e[1]?"http://"+s:s}return{type:"link",raw:e[0],text:s,href:n,tokens:[{type:"text",raw:s,text:s}]}}},e.inlineText=function(t,i){var e,s=this.rules.inline.text.exec(t);if(s)return e=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(s[0]):u(s[0]):s[0]:u(this.options.smartypants?i(s[0]):s[0]),{type:"text",raw:s[0],text:e}},i}(),T={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:C,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};T.def=g(T.def).replace("label",T._label).replace("title",T._title).getRegex(),T.bullet=/(?:[*+-]|\d{1,9}[.)])/,T.listItemStart=g(/^( *)(bull) */).replace("bull",T.bullet).getRegex(),T.list=g(T.list).replace(/bull/g,T.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+T.def.source+")").getRegex(),T._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",T._comment=/|$)/,T.html=g(T.html,"i").replace("comment",T._comment).replace("tag",T._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),T.paragraph=g(T._paragraph).replace("hr",T.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",T._tag).getRegex(),T.blockquote=g(T.blockquote).replace("paragraph",T.paragraph).getRegex(),T.normal=S({},T),T.gfm=S({},T.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),T.gfm.table=g(T.gfm.table).replace("hr",T.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",T._tag).getRegex(),T.gfm.paragraph=g(T._paragraph).replace("hr",T.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",T.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",T._tag).getRegex(),T.pedantic=S({},T.normal,{html:g("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",T._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:C,paragraph:g(T.normal._paragraph).replace("hr",T.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",T.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var R={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:C,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:C,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(e="x"+e.toString(16)),s+="&#"+e+";";return s}R._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",R.punctuation=g(R.punctuation).replace(/punctuation/g,R._punctuation).getRegex(),R.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,R.escapedEmSt=/\\\*|\\_/g,R._comment=g(T._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),R.emStrong.lDelim=g(R.emStrong.lDelim).replace(/punct/g,R._punctuation).getRegex(),R.emStrong.rDelimAst=g(R.emStrong.rDelimAst,"g").replace(/punct/g,R._punctuation).getRegex(),R.emStrong.rDelimUnd=g(R.emStrong.rDelimUnd,"g").replace(/punct/g,R._punctuation).getRegex(),R._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,R._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,R._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,R.autolink=g(R.autolink).replace("scheme",R._scheme).replace("email",R._email).getRegex(),R._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,R.tag=g(R.tag).replace("comment",R._comment).replace("attribute",R._attribute).getRegex(),R._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,R._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,R._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,R.link=g(R.link).replace("label",R._label).replace("href",R._href).replace("title",R._title).getRegex(),R.reflink=g(R.reflink).replace("label",R._label).replace("ref",T._label).getRegex(),R.nolink=g(R.nolink).replace("ref",T._label).getRegex(),R.reflinkSearch=g(R.reflinkSearch,"g").replace("reflink",R.reflink).replace("nolink",R.nolink).getRegex(),R.normal=S({},R),R.pedantic=S({},R.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:g(/^!?\[(label)\]\((.*?)\)/).replace("label",R._label).getRegex(),reflink:g(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",R._label).getRegex()}),R.gfm=S({},R.normal,{escape:g(R.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\0?i[i.length-1].raw+="\n":i.push(e);else if(e=this.tokenizer.code(t))t=t.substring(e.raw.length),!(s=i[i.length-1])||"paragraph"!==s.type&&"text"!==s.type?i.push(e):(s.raw+="\n"+e.raw,s.text+="\n"+e.text,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(e=this.tokenizer.fences(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.heading(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.hr(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.blockquote(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.list(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.html(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.def(t))t=t.substring(e.raw.length),!(s=i[i.length-1])||"paragraph"!==s.type&&"text"!==s.type?this.tokens.links[e.tag]||(this.tokens.links[e.tag]={href:e.href,title:e.title}):(s.raw+="\n"+e.raw,s.text+="\n"+e.raw,this.inlineQueue[this.inlineQueue.length-1].src=s.text);else if(e=this.tokenizer.table(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.lheading(t))t=t.substring(e.raw.length),i.push(e);else if(n=t,this.options.extensions&&this.options.extensions.startBlock&&function(){var i=1/0,e=t.slice(1),s=void 0;r.options.extensions.startBlock.forEach((function(t){"number"==typeof(s=t.call({lexer:this},e))&&s>=0&&(i=Math.min(i,s))})),i<1/0&&i>=0&&(n=t.substring(0,i+1))}(),this.state.top&&(e=this.tokenizer.paragraph(n)))s=i[i.length-1],o&&"paragraph"===s.type?(s.raw+="\n"+e.raw,s.text+="\n"+e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):i.push(e),o=n.length!==t.length,t=t.substring(e.raw.length);else if(e=this.tokenizer.text(t))t=t.substring(e.raw.length),(s=i[i.length-1])&&"text"===s.type?(s.raw+="\n"+e.raw,s.text+="\n"+e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=s.text):i.push(e);else if(t){var h="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(h);break}throw new Error(h)}return this.state.top=!0,i},o.inline=function(t,i){return void 0===i&&(i=[]),this.inlineQueue.push({src:t,tokens:i}),i},o.inlineTokens=function(t,i){var e,s,n,o=this;void 0===i&&(i=[]);var r,h,c,a=t;if(this.tokens.links){var l=Object.keys(this.tokens.links);if(l.length>0)for(;null!=(r=this.tokenizer.rules.inline.reflinkSearch.exec(a));)l.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(a=a.slice(0,r.index)+"["+M("a",r[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(r=this.tokenizer.rules.inline.blockSkip.exec(a));)a=a.slice(0,r.index)+"["+M("a",r[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(r=this.tokenizer.rules.inline.escapedEmSt.exec(a));)a=a.slice(0,r.index)+"++"+a.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;t;)if(h||(c=""),h=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((function(s){return!!(e=s.call({lexer:o},t,i))&&(t=t.substring(e.raw.length),i.push(e),!0)}))))if(e=this.tokenizer.escape(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.tag(t))t=t.substring(e.raw.length),(s=i[i.length-1])&&"text"===e.type&&"text"===s.type?(s.raw+=e.raw,s.text+=e.text):i.push(e);else if(e=this.tokenizer.link(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.reflink(t,this.tokens.links))t=t.substring(e.raw.length),(s=i[i.length-1])&&"text"===e.type&&"text"===s.type?(s.raw+=e.raw,s.text+=e.text):i.push(e);else if(e=this.tokenizer.emStrong(t,a,c))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.codespan(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.br(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.del(t))t=t.substring(e.raw.length),i.push(e);else if(e=this.tokenizer.autolink(t,I))t=t.substring(e.raw.length),i.push(e);else if(this.state.inLink||!(e=this.tokenizer.url(t,I))){if(n=t,this.options.extensions&&this.options.extensions.startInline&&function(){var i=1/0,e=t.slice(1),s=void 0;o.options.extensions.startInline.forEach((function(t){"number"==typeof(s=t.call({lexer:this},e))&&s>=0&&(i=Math.min(i,s))})),i<1/0&&i>=0&&(n=t.substring(0,i+1))}(),e=this.tokenizer.inlineText(n,O))t=t.substring(e.raw.length),"_"!==e.raw.slice(-1)&&(c=e.raw.slice(-1)),h=!0,(s=i[i.length-1])&&"text"===s.type?(s.raw+=e.raw,s.text+=e.text):i.push(e);else if(t){var u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}}else t=t.substring(e.raw.length),i.push(e);return i},s=e,n=[{key:"rules",get:function(){return{block:T,inline:R}}}],null&&i(s.prototype,null),n&&i(s,n),Object.defineProperty(s,"prototype",{writable:!1}),e}(),N=function(){function i(i){this.options=i||t.defaults}var e=i.prototype;return e.code=function(t,i,e){var s=(i||"").match(/\S*/)[0];if(this.options.highlight){var n=this.options.highlight(t,s);null!=n&&n!==t&&(e=!0,t=n)}return t=t.replace(/\n$/,"")+"\n",s?'
'+(e?t:u(t,!0))+"
\n":"
"+(e?t:u(t,!0))+"
\n"},e.blockquote=function(t){return"
\n"+t+"
\n"},e.html=function(t){return t},e.heading=function(t,i,e,s){return this.options.headerIds?"'+t+"\n":""+t+"\n"},e.hr=function(){return this.options.xhtml?"
\n":"
\n"},e.list=function(t,i,e){var s=i?"ol":"ul";return"<"+s+(i&&1!==e?' start="'+e+'"':"")+">\n"+t+"\n"},e.listitem=function(t){return"
  • "+t+"
  • \n"},e.checkbox=function(t){return" "},e.paragraph=function(t){return"

    "+t+"

    \n"},e.table=function(t,i){return i&&(i=""+i+""),"\n\n"+t+"\n"+i+"
    \n"},e.tablerow=function(t){return"\n"+t+"\n"},e.tablecell=function(t,i){var e=i.header?"th":"td";return(i.align?"<"+e+' align="'+i.align+'">':"<"+e+">")+t+"\n"},e.strong=function(t){return""+t+""},e.em=function(t){return""+t+""},e.codespan=function(t){return""+t+""},e.br=function(){return this.options.xhtml?"
    ":"
    "},e.del=function(t){return""+t+""},e.link=function(t,i,e){if(null===(t=v(this.options.sanitize,this.options.baseUrl,t)))return e;var s='"+e+""},e.image=function(t,i,e){if(null===(t=v(this.options.sanitize,this.options.baseUrl,t)))return e;var s=''+e+'":">")},e.text=function(t){return t},i}(),B=function(){function t(){}var i=t.prototype;return i.strong=function(t){return t},i.em=function(t){return t},i.codespan=function(t){return t},i.del=function(t){return t},i.html=function(t){return t},i.text=function(t){return t},i.link=function(t,i,e){return""+e},i.image=function(t,i,e){return""+e},i.br=function(){return""},t}(),P=function(){function t(){this.seen={}}var i=t.prototype;return i.serialize=function(t){return t.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},i.getNextSafeSlug=function(t,i){var e=t,s=0;if(this.seen.hasOwnProperty(e)){s=this.seen[t];do{e=t+"-"+ ++s}while(this.seen.hasOwnProperty(e))}return i||(this.seen[t]=s,this.seen[e]=0),e},i.slug=function(t,i){void 0===i&&(i={});var e=this.serialize(t);return this.getNextSafeSlug(e,i.dryrun)},t}(),$=function(){function i(i){this.options=i||t.defaults,this.options.renderer=this.options.renderer||new N,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new B,this.slugger=new P}i.parse=function(t,e){return new i(e).parse(t)},i.parseInline=function(t,e){return new i(e).parseInline(t)};var e=i.prototype;return e.parse=function(t,i){void 0===i&&(i=!0);var e,s,n,o,r,h,c,a,l,u,d,p,g,m,w,v,b,y,k,x="",C=t.length;for(e=0;e0&&"paragraph"===w.tokens[0].type?(w.tokens[0].text=y+" "+w.tokens[0].text,w.tokens[0].tokens&&w.tokens[0].tokens.length>0&&"text"===w.tokens[0].tokens[0].type&&(w.tokens[0].tokens[0].text=y+" "+w.tokens[0].tokens[0].text)):w.tokens.unshift({type:"text",text:y}):m+=y),m+=this.parse(w.tokens,g),l+=this.renderer.listitem(m,b,v);x+=this.renderer.list(l,d,p);continue;case"html":x+=this.renderer.html(u.text);continue;case"paragraph":x+=this.renderer.paragraph(this.parseInline(u.tokens));continue;case"text":for(l=u.tokens?this.parseInline(u.tokens):u.text;e+1An error occurred:

    "+u(t.message+"",!0)+"
    ";throw t}try{var c=_.lex(t,i);if(i.walkTokens){if(i.async)return Promise.all(W.walkTokens(c,i.walkTokens)).then((function(){return $.parse(c,i)})).catch(h);W.walkTokens(c,i.walkTokens)}return $.parse(c,i)}catch(t){h(t)}}W.options=W.setOptions=function(i){return S(W.defaults,i),t.defaults=W.defaults,W},W.getDefaults=n,W.defaults=t.defaults,W.use=function(){for(var t=arguments.length,i=new Array(t),e=0;eAn error occurred:

    "+u(t.message+"",!0)+"
    ";throw t}},W.Parser=$,W.parser=$.parse,W.Renderer=N,W.TextRenderer=B,W.Lexer=_,W.lexer=_.lex,W.Tokenizer=F,W.Slugger=P,W.parse=W;var j=W.options,z=W.setOptions,H=W.use,V=W.walkTokens,U=W.parseInline,q=W,K=$.parse,G=_.lex;t.Lexer=_,t.Parser=$,t.Renderer=N,t.Slugger=P,t.TextRenderer=B,t.Tokenizer=F,t.getDefaults=n,t.lexer=G,t.marked=W,t.options=j,t.parse=q,t.parseInline=U,t.parser=K,t.setOptions=z,t.use=H,t.walkTokens=V,Object.defineProperty(t,"__esModule",{value:!0})},(t.amd=!0)?t(0,e):"object"==typeof exports&&"undefined"!=typeof module?e(exports):e((i="undefined"!=typeof globalThis?globalThis:i||self).marked={})}(),U_.Lexer||exports,U_.Parser||exports,U_.Renderer||exports,U_.Slugger||exports,U_.TextRenderer||exports,U_.Tokenizer||exports,U_.getDefaults||exports,U_.lexer||exports;var q_=U_.marked||exports.marked;function K_(t){let i=JSON.parse(t);return i=Z_(i),i}function G_(t,i){return i instanceof RegExp?{$mid:2,source:i.source,flags:i.flags}:i}function Z_(t,i=0){if(!t||i>200)return t;if("object"==typeof t){switch(t.$mid){case 1:return ms.revive(t);case 2:return new RegExp(t.source,t.flags);case 17:return new Date(t.source)}if(t instanceof Uu||t instanceof Uint8Array)return t;if(Array.isArray(t))for(let e=0;e{let s=[],n=[];return t&&(({href:t,dimensions:s}=function(t){const i=[],e=t.split("|").map((t=>t.trim()));t=e[0];const s=e[1];if(s){const t=/height=(\d+)/.exec(s),e=/width=(\d+)/.exec(s),n=t?t[1]:"",o=e?e[1]:"",r=isFinite(parseInt(o)),h=isFinite(parseInt(n));r&&i.push(`width="${o}"`),h&&i.push(`height="${n}"`)}return{href:t,dimensions:i}}(t)),n.push(`src="${T_(t)}"`)),e&&n.push(`alt="${T_(e)}"`),i&&n.push(`title="${T_(i)}"`),s.length&&(n=n.concat(s)),""},paragraph:t=>`

    ${t}

    `,link:(t,i,e)=>"string"!=typeof t?"":(t===e&&(e=R_(e)),i="string"==typeof i?T_(R_(i)):"",`/g,">").replace(/"/g,""").replace(/'/g,"'")}" title="${i||t}" draggable="false">${e}`)});function J_(t,i={},e={}){var s,n;const o=new te;let r=!1;const h=N_(i),c=function(i){let e;try{e=K_(decodeURIComponent(i))}catch(t){}return e?(e=X(e,(i=>t.uris&&t.uris[i]?ms.revive(t.uris[i]):void 0)),encodeURIComponent(JSON.stringify(e))):i},a=function(i,e){let s=ms.revive(t.uris&&t.uris[i]);return e?i.startsWith(ka.data+":")?i:(s||(s=ms.parse(i)),Ea.uriToBrowserUri(s).toString(!0)):s?ms.parse(i).toString()===s.toString()?i:(s.query&&(s=s.with({query:c(s.query)})),s.toString()):i},l=new q_.Renderer;l.image=Q_.image,l.link=Q_.link,l.paragraph=Q_.paragraph;const u=[],d=[];if(i.codeBlockRendererSync?l.code=(t,e)=>{const s=V_.nextId(),n=i.codeBlockRendererSync(Y_(e),t);return d.push([s,n]),`
    ${Kn(t)}
    `}:i.codeBlockRenderer&&(l.code=(t,e)=>{const s=V_.nextId(),n=i.codeBlockRenderer(Y_(e),t);return u.push(n.then((t=>[s,t]))),`
    ${Kn(t)}
    `}),i.actionHandler){const e=function(e){let s=e.target;if("A"===s.tagName||(s=s.parentElement,s&&"A"===s.tagName))try{let n=s.dataset.href;n&&(t.baseUri&&(n=X_(ms.from(t.baseUri),n)),i.actionHandler.callback(n,e))}catch(t){Pi(t)}finally{e.preventDefault()}},s=i.actionHandler.disposables.add(new Fk(h,"click")),n=i.actionHandler.disposables.add(new Fk(h,"auxclick"));i.actionHandler.disposables.add(ce.any(s.event,n.event)((t=>{const i=new tc(Na(h),t);(i.leftButton||i.middleButton)&&e(i)}))),i.actionHandler.disposables.add(Va(h,"keydown",(t=>{const i=new Qh(t);(i.equals(10)||i.equals(3))&&e(i)})))}t.supportHtml||(e.sanitizer=i=>(t.isTrusted?i.match(/^(]+>)|(<\/\s*span>)$/):void 0)?i:"",e.sanitize=!0,e.silent=!0),e.renderer=l;let f,p=null!==(s=t.value)&&void 0!==s?s:"";if(p.length>1e5&&(p=`${p.substr(0,1e5)}…`),t.supportThemeIcons&&(p=function(t){return t.replace(x_,(t=>`\\${t}`))}(p)),i.fillInIncompleteTokens){const t={...q_.defaults,...e},i=function(t){let i,e;for(i=0;i"string"==typeof t?t:t.outerHTML)).join(""));const g=(new DOMParser).parseFromString(tN(t,f),"text/html");if(g.body.querySelectorAll("img").forEach((i=>{const e=i.getAttribute("src");if(e){let s=e;try{t.baseUri&&(s=X_(ms.from(t.baseUri),s))}catch(t){}i.src=a(s,!0)}})),g.body.querySelectorAll("a").forEach((i=>{const e=i.getAttribute("href");if(i.setAttribute("href",""),!e||/^data:|javascript:/i.test(e)||/^command:/i.test(e)&&!t.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(e))i.replaceWith(...i.childNodes);else{let s=a(e,!1);t.baseUri&&(s=X_(ms.from(t.baseUri),e)),i.dataset.href=s}})),h.innerHTML=tN(t,g.body.innerHTML),u.length>0)Promise.all(u).then((t=>{var e,s;if(r)return;const n=new Map(t),o=h.querySelectorAll("div[data-code]");for(const t of o){const i=n.get(null!==(e=t.dataset.code)&&void 0!==e?e:"");i&&_l(t,i)}null===(s=i.asyncRenderCallback)||void 0===s||s.call(i)}));else if(d.length>0){const t=new Map(d),i=h.querySelectorAll("div[data-code]");for(const e of i){const i=t.get(null!==(n=e.dataset.code)&&void 0!==n?n:"");i&&_l(e,i)}}if(i.asyncRenderCallback)for(const t of h.getElementsByTagName("img")){const e=o.add(Va(t,"load",(()=>{e.dispose(),i.asyncRenderCallback()})))}return{element:h,dispose:()=>{r=!0,o.dispose()}}}function Y_(t){if(!t)return"";const i=t.split(/[\s+|:|,|\{|\?]/,1);return i.length?i[0]:t}function X_(t,i){return/^\w[\w\d+.-]*:/.test(i)?i:t.path.endsWith("/")?wA(t,i).toString():wA(fA(t),i).toString()}function tN(t,i){const{config:e,allowedSchemes:s}=function(t){const i=[ka.http,ka.https,ka.mailto,ka.data,ka.file,ka.vscodeFileResource,ka.vscodeRemote,ka.vscodeRemoteResource];return t.isTrusted&&i.push(ka.command),{config:{ALLOWED_TAGS:[...Kl],ALLOWED_ATTR:iN,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:i}}(t);ba("uponSanitizeAttribute",((t,i)=>{if("style"!==i.attrName&&"class"!==i.attrName);else{if("SPAN"===t.tagName){if("style"===i.attrName)return void(i.keepAttr=/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?$/.test(i.attrValue));if("class"===i.attrName)return void(i.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(i.attrValue))}i.keepAttr=!1}}));const n=function(t,i=!1){const e=document.createElement("a");return ba("afterSanitizeAttributes",(s=>{for(const n of["href","src"])if(s.hasAttribute(n)){const o=s.getAttribute(n);if("href"===n&&o.startsWith("#"))continue;if(e.href=o,!t.includes(e.protocol.replace(/:$/,""))){if(i&&"src"===n&&e.href.startsWith("data:"))continue;s.removeAttribute(n)}}})),Xi((()=>{ya("afterSanitizeAttributes")}))}(s);try{return va(i,{...e,RETURN_TRUSTED_TYPE:!0})}finally{ya("uponSanitizeAttribute"),n.dispose()}}const iN=["align","autoplay","alt","class","controls","data-code","data-href","draggable","height","href","loop","muted","playsinline","poster","src","style","target","title","width","start"];const eN=new Map([[""",'"'],[" "," "],["&","&"],["'","'"],["<","<"],[">",">"]]),sN=new zn((()=>{const t=new q_.Renderer;return t.code=t=>t,t.blockquote=t=>t,t.html=()=>"",t.heading=t=>t+"\n",t.hr=()=>"",t.list=t=>t,t.listitem=t=>t+"\n",t.paragraph=t=>t+"\n",t.table=(t,i)=>t+i+"\n",t.tablerow=t=>t,t.tablecell=t=>t+" ",t.strong=t=>t,t.em=t=>t,t.codespan=t=>t,t.br=()=>"\n",t.del=t=>t,t.image=()=>"",t.text=t=>t,t.link=(t,i,e)=>e,t}));function nN(t){let i="";return t.forEach((t=>{i+=t.raw})),i}function oN(t){for(const i of t.tokens)if("text"===i.type){const e=i.raw.split("\n"),s=e[e.length-1];if(s.includes("`"))return hN(t);if(s.includes("**"))return dN(t,"**");if(s.match(/\*\w/))return dN(t,"*");if(s.match(/(^|\s)__\w/))return uN(t);if(s.match(/(^|\s)_\w/))return cN(t);if(s.match(/(^|\s)\[.*\]\(\w*/))return aN(t);if(s.match(/(^|\s)\[\w/))return lN(t)}}function rN(t){const i=nN(t);return q_.lexer(i+"\n```")}function hN(t){return dN(t,"`")}function cN(t){return dN(t,"_")}function aN(t){return dN(t,")")}function lN(t){return dN(t,"](about:blank)")}function uN(t){return dN(t,"__")}function dN(t,i){const e=nN(Array.isArray(t)?t:[t]);return q_.lexer(e+i)[0]}function fN(t){const i=nN(t),e=i.split("\n");let s,n=!1;for(let t=0;t0){const t=n?e.slice(0,-1).join("\n"):i,o=!!t.match(/\|\s*$/),r=t+(o?"":"|")+`\n|${" --- |".repeat(s)}`;return q_.lexer(r)}}class pN{constructor(t){this.spliceables=t}splice(t,i,e){this.spliceables.forEach((s=>s.splice(t,i,e)))}}class gN extends Error{constructor(t,i){super(`ListError [${t}] ${i}`)}}function mN(t,i){const e=[];for(const s of i){if(t.start>=s.range.end)continue;if(t.end({range:wN(t.range,s),size:t.size}))),r=e.map(((i,e)=>({range:{start:t+e,end:t+e+1},size:i.size})));this.groups=function(...t){return function(t){const i=[];let e=null;for(const s of t){const t=s.range.start,n=s.range.end,o=s.size;e&&o===e.size?e.range.end=n:(e={range:{start:t,end:n},size:o},i.push(e))}return i}(t.reduce(((t,i)=>t.concat(i)),[]))}(n,r,o),this._size=this._paddingTop+this.groups.reduce(((t,i)=>t+i.size*(i.range.end-i.range.start)),0)}get count(){const t=this.groups.length;return t?this.groups[t-1].range.end:0}get size(){return this._size}indexAt(t){if(t<0)return-1;if(t{for(const e of t)this.getRenderer(i).disposeTemplate(e.templateData),e.templateData=null})),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(t){const i=this.renderers.get(t);if(!i)throw new Error(`No renderer found for ${t}`);return i}}var yN=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};const kN={CurrentDragAndDropData:void 0},xN={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements:t=>[t],getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class CN{constructor(t){this.elements=t}update(){}getData(){return this.elements}}class SN{constructor(t){this.elements=t}update(){}getData(){return this.elements}}class DN{constructor(){this.types=[],this.files=[]}update(t){if(t.types&&this.types.splice(0,this.types.length,...t.types),t.files){this.files.splice(0,this.files.length);for(let i=0;ie,this.getPosInSet=(null==t?void 0:t.getPosInSet)?t.getPosInSet.bind(t):(t,i)=>i+1,this.getRole=(null==t?void 0:t.getRole)?t.getRole.bind(t):()=>"listitem",this.isChecked=(null==t?void 0:t.isChecked)?t.isChecked.bind(t):()=>{}}}class AN{get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(t){if(t!==this._horizontalScrolling){if(t&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=t,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const t of this.items)this.measureItemWidth(t);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:rl(this.domNode)}),this.rowsContainer.style.width=`${Math.max(this.scrollWidth||0,this.renderWidth)}px`}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}constructor(t,i,e,s=xN){var n,o,r,h,c,a,l,u,d,f,p,g,m;if(this.virtualDelegate=i,this.domId="list_id_"+ ++AN.InstanceCount,this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new hc(50),this.splicing=!1,this.dragOverAnimationStopDisposable=ie.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=ie.None,this.onDragLeaveTimeout=ie.None,this.disposables=new te,this._onDidChangeContentHeight=new fe,this._onDidChangeContentWidth=new fe,this.onDidChangeContentHeight=ce.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,s.horizontalScrolling&&s.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=new vN(null!==(n=s.paddingTop)&&void 0!==n?n:0);for(const t of e)this.renderers.set(t.templateId,t);this.cache=this.disposables.add(new bN(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support","boolean"!=typeof s.mouseSupport||s.mouseSupport),this._horizontalScrolling=null!==(o=s.horizontalScrolling)&&void 0!==o?o:xN.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=void 0===s.paddingBottom?0:s.paddingBottom,this.accessibilityProvider=new EN(s.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",(null!==(r=s.transformOptimization)&&void 0!==r?r:xN.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(Xm.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new gk({forceIntegerValues:!0,smoothScrollDuration:null!==(h=s.smoothScrolling)&&void 0!==h&&h?125:0,scheduleAtNextAnimationFrame:t=>Qa(Na(this.domNode),t)})),this.scrollableElement=this.disposables.add(new Ck(this.rowsContainer,{alwaysConsumeMouseWheel:null!==(c=s.alwaysConsumeMouseWheel)&&void 0!==c?c:xN.alwaysConsumeMouseWheel,horizontal:1,vertical:null!==(a=s.verticalScrollMode)&&void 0!==a?a:xN.verticalScrollMode,useShadows:null!==(l=s.useShadows)&&void 0!==l?l:xN.useShadows,mouseWheelScrollSensitivity:s.mouseWheelScrollSensitivity,fastScrollSensitivity:s.fastScrollSensitivity,scrollByPage:s.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),t.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(Va(this.rowsContainer,Ym.Change,(t=>this.onTouchChange(t)))),this.disposables.add(Va(this.scrollableElement.getDomNode(),"scroll",(t=>t.target.scrollTop=0))),this.disposables.add(Va(this.domNode,"dragover",(t=>this.onDragOver(this.toDragEvent(t))))),this.disposables.add(Va(this.domNode,"drop",(t=>this.onDrop(this.toDragEvent(t))))),this.disposables.add(Va(this.domNode,"dragleave",(t=>this.onDragLeave(this.toDragEvent(t))))),this.disposables.add(Va(this.domNode,"dragend",(t=>this.onDragEnd(t)))),this.setRowLineHeight=null!==(u=s.setRowLineHeight)&&void 0!==u?u:xN.setRowLineHeight,this.setRowHeight=null!==(d=s.setRowHeight)&&void 0!==d?d:xN.setRowHeight,this.supportDynamicHeights=null!==(f=s.supportDynamicHeights)&&void 0!==f?f:xN.supportDynamicHeights,this.dnd=null!==(p=s.dnd)&&void 0!==p?p:this.disposables.add(xN.dnd),this.layout(null===(g=s.initialSize)||void 0===g?void 0:g.height,null===(m=s.initialSize)||void 0===m?void 0:m.width)}updateOptions(t){let i;if(void 0!==t.paddingBottom&&(this.paddingBottom=t.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),void 0!==t.smoothScrolling&&this.scrollable.setSmoothScrollDuration(t.smoothScrolling?125:0),void 0!==t.horizontalScrolling&&(this.horizontalScrolling=t.horizontalScrolling),void 0!==t.scrollByPage&&(i={...null!=i?i:{},scrollByPage:t.scrollByPage}),void 0!==t.mouseWheelScrollSensitivity&&(i={...null!=i?i:{},mouseWheelScrollSensitivity:t.mouseWheelScrollSensitivity}),void 0!==t.fastScrollSensitivity&&(i={...null!=i?i:{},fastScrollSensitivity:t.fastScrollSensitivity}),i&&this.scrollableElement.updateOptions(i),void 0!==t.paddingTop&&t.paddingTop!==this.rangeMap.paddingTop){const i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),e=t.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=t.paddingTop,this.render(i,Math.max(0,this.lastRenderTop+e),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}splice(t,i,e=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(t,i,e)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(t,i,e=[]){const s=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),n=sI.intersect(s,{start:t,end:t+i}),o=new Map;for(let t=n.end-1;t>=n.start;t--){const i=this.items[t];if(i.dragStartDisposable.dispose(),i.checkedDisposable.dispose(),i.row){let e=o.get(i.templateId);e||(e=[],o.set(i.templateId,e));const s=this.renderers.get(i.templateId);s&&s.disposeElement&&s.disposeElement(i.element,t,i.row.templateData,i.size),e.push(i.row)}i.row=null}const r={start:t+i,end:this.items.length},h=sI.intersect(r,s),c=sI.relativeComplement(r,s),a=e.map((t=>({id:String(this.itemId++),element:t,templateId:this.virtualDelegate.getTemplateId(t),size:this.virtualDelegate.getHeight(t),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(t),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:ie.None,checkedDisposable:ie.None})));let l;0===t&&i>=this.items.length?(this.rangeMap=new vN(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,a),l=this.items,this.items=a):(this.rangeMap.splice(t,i,a),l=this.items.splice(t,i,...a));const u=e.length-i,d=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),f=wN(h,u),p=sI.intersect(d,f);for(let t=p.start;twN(t,u))),w=[{start:t,end:t+e.length},...m].map((t=>sI.intersect(d,t))),v=this.getNextToLastElement(w);for(const t of w)for(let i=t.start;it.element))}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height=`${this._scrollHeight}px`,this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=Qa(Na(this.domNode),(()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null})))}eventuallyUpdateScrollWidth(){this.horizontalScrolling?this.scrollableElementWidthDelayer.trigger((()=>this.updateScrollWidth())):this.scrollableElementWidthDelayer.cancel()}updateScrollWidth(){if(!this.horizontalScrolling)return;let t=0;for(const i of this.items)void 0!==i.width&&(t=Math.max(t,i.width));this.scrollWidth=t,this.scrollableElement.setScrollDimensions({scrollWidth:0===t?0:t+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const t of this.items)t.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getRenderRange(this.lastRenderTop,this.lastRenderHeight).start}element(t){return this.items[t].element}indexOf(t){return this.items.findIndex((i=>i.element===t))}domElement(t){const i=this.items[t].row;return i&&i.domNode}elementHeight(t){return this.items[t].size}elementTop(t){return this.rangeMap.positionAt(t)}indexAt(t){return this.rangeMap.indexAt(t)}indexAfter(t){return this.rangeMap.indexAfter(t)}layout(t,i){const e={height:"number"==typeof t?t:hl(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,e.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(e),void 0!==i&&(this.renderWidth=i,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:"number"==typeof i?i:rl(this.domNode)})}render(t,i,e,s,n,o=!1){const r=this.getRenderRange(i,e),h=sI.relativeComplement(r,t),c=sI.relativeComplement(t,r),a=this.getNextToLastElement(h);if(o){const i=sI.intersect(t,r);for(let t=i.start;t{for(const t of c)for(let i=t.start;is.row.domNode.setAttribute("aria-checked",String(!!t));t(r.value),s.checkedDisposable=r.onDidChange(t)}!n&&s.row.domNode.parentElement||(i?this.rowsContainer.insertBefore(s.row.domNode,i):this.rowsContainer.appendChild(s.row.domNode)),this.updateItemInDOM(s,t);const h=this.renderers.get(s.templateId);if(!h)throw new Error(`No renderer found for template id ${s.templateId}`);null==h||h.renderElement(s.element,t,s.row.templateData,s.size);const c=this.dnd.getDragURI(s.element);s.dragStartDisposable.dispose(),s.row.domNode.draggable=!!c,c&&(s.dragStartDisposable=Va(s.row.domNode,"dragstart",(t=>this.onDragStart(s.element,c,t)))),this.horizontalScrolling&&(this.measureItemWidth(s),this.eventuallyUpdateScrollWidth())}measureItemWidth(t){if(!t.row||!t.row.domNode)return;t.row.domNode.style.width="fit-content",t.width=rl(t.row.domNode);const i=Na(t.row.domNode).getComputedStyle(t.row.domNode);i.paddingLeft&&(t.width+=parseFloat(i.paddingLeft)),i.paddingRight&&(t.width+=parseFloat(i.paddingRight)),t.row.domNode.style.width=""}updateItemInDOM(t,i){t.row.domNode.style.top=`${this.elementTop(i)}px`,this.setRowHeight&&(t.row.domNode.style.height=`${t.size}px`),this.setRowLineHeight&&(t.row.domNode.style.lineHeight=`${t.size}px`),t.row.domNode.setAttribute("data-index",`${i}`),t.row.domNode.setAttribute("data-last-element",i===this.length-1?"true":"false"),t.row.domNode.setAttribute("data-parity",i%2==0?"even":"odd"),t.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(t.element,i,this.length))),t.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(t.element,i))),t.row.domNode.setAttribute("id",this.getElementDomId(i)),t.row.domNode.classList.toggle("drop-target",t.dropTarget)}removeItemFromDOM(t){const i=this.items[t];if(i.dragStartDisposable.dispose(),i.checkedDisposable.dispose(),i.row){const e=this.renderers.get(i.templateId);e&&e.disposeElement&&e.disposeElement(i.element,t,i.row.templateData,i.size),this.cache.release(i.row),i.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(t,i){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:t,reuseAnimation:i})}get scrollTop(){return this.getScrollTop()}set scrollTop(t){this.setScrollTop(t)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return ce.map(this.disposables.add(new Fk(this.domNode,"click")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onMouseDblClick(){return ce.map(this.disposables.add(new Fk(this.domNode,"dblclick")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onMouseMiddleClick(){return ce.filter(ce.map(this.disposables.add(new Fk(this.domNode,"auxclick")).event,(t=>this.toMouseEvent(t)),this.disposables),(t=>1===t.browserEvent.button),this.disposables)}get onMouseDown(){return ce.map(this.disposables.add(new Fk(this.domNode,"mousedown")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onMouseOver(){return ce.map(this.disposables.add(new Fk(this.domNode,"mouseover")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onMouseOut(){return ce.map(this.disposables.add(new Fk(this.domNode,"mouseout")).event,(t=>this.toMouseEvent(t)),this.disposables)}get onContextMenu(){return ce.any(ce.map(this.disposables.add(new Fk(this.domNode,"contextmenu")).event,(t=>this.toMouseEvent(t)),this.disposables),ce.map(this.disposables.add(new Fk(this.domNode,Ym.Contextmenu)).event,(t=>this.toGestureEvent(t)),this.disposables))}get onTouchStart(){return ce.map(this.disposables.add(new Fk(this.domNode,"touchstart")).event,(t=>this.toTouchEvent(t)),this.disposables)}get onTap(){return ce.map(this.disposables.add(new Fk(this.rowsContainer,Ym.Tap)).event,(t=>this.toGestureEvent(t)),this.disposables)}toMouseEvent(t){const i=this.getItemIndexFromEventTarget(t.target||null),e=void 0===i?void 0:this.items[i];return{browserEvent:t,index:i,element:e&&e.element}}toTouchEvent(t){const i=this.getItemIndexFromEventTarget(t.target||null),e=void 0===i?void 0:this.items[i];return{browserEvent:t,index:i,element:e&&e.element}}toGestureEvent(t){const i=this.getItemIndexFromEventTarget(t.initialTarget||null),e=void 0===i?void 0:this.items[i];return{browserEvent:t,index:i,element:e&&e.element}}toDragEvent(t){const i=this.getItemIndexFromEventTarget(t.target||null),e=void 0===i?void 0:this.items[i];return{browserEvent:t,index:i,element:e&&e.element}}onScroll(t){try{const i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(i,t.scrollTop,t.height,t.scrollLeft,t.scrollWidth),this.supportDynamicHeights&&this._rerender(t.scrollTop,t.height,t.inSmoothScrolling)}catch(i){throw console.error("Got bad scroll event:",t),i}}onTouchChange(t){t.preventDefault(),t.stopPropagation(),this.scrollTop-=t.translationY}onDragStart(t,i,e){var s,n;if(!e.dataTransfer)return;const o=this.dnd.getDragElements(t);if(e.dataTransfer.effectAllowed="copyMove",e.dataTransfer.setData(yI.TEXT,i),e.dataTransfer.setDragImage){let t;this.dnd.getDragLabel&&(t=this.dnd.getDragLabel(o,e)),void 0===t&&(t=String(o.length));const i=$l(".monaco-drag-image");i.textContent=t;const s=(t=>{for(;t&&!t.classList.contains("monaco-workbench");)t=t.parentElement;return t||this.domNode.ownerDocument})(this.domNode);s.appendChild(i),e.dataTransfer.setDragImage(i,-10,-10),setTimeout((()=>s.removeChild(i)),0)}this.domNode.classList.add("dragging"),this.currentDragData=new CN(o),kN.CurrentDragAndDropData=new SN(o),null===(n=(s=this.dnd).onDragStart)||void 0===n||n.call(s,this.currentDragData,e)}onDragOver(t){var i;if(t.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),kN.CurrentDragAndDropData&&"vscode-ui"===kN.CurrentDragAndDropData.getData())return!1;if(this.setupDragAndDropScrollTopAnimation(t.browserEvent),!t.browserEvent.dataTransfer)return!1;if(!this.currentDragData)if(kN.CurrentDragAndDropData)this.currentDragData=kN.CurrentDragAndDropData;else{if(!t.browserEvent.dataTransfer.types)return!1;this.currentDragData=new DN}const e=this.dnd.onDragOver(this.currentDragData,t.element,t.index,t.browserEvent);if(this.canDrop="boolean"==typeof e?e:e.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;let s;if(t.browserEvent.dataTransfer.dropEffect="boolean"!=typeof e&&0===e.effect?"copy":"move",s="boolean"!=typeof e&&e.feedback?e.feedback:void 0===t.index?[-1]:[t.index],s=k(s).filter((t=>t>=-1&&tt-i)),s=-1===s[0]?[-1]:s,n=this.currentDragFeedback,o=s,Array.isArray(n)&&Array.isArray(o)?u(n,o):n===o)return!0;var n,o;if(this.currentDragFeedback=s,this.currentDragFeedbackDisposable.dispose(),-1===s[0])this.domNode.classList.add("drop-target"),this.rowsContainer.classList.add("drop-target"),this.currentDragFeedbackDisposable=Xi((()=>{this.domNode.classList.remove("drop-target"),this.rowsContainer.classList.remove("drop-target")}));else{for(const t of s){const e=this.items[t];e.dropTarget=!0,null===(i=e.row)||void 0===i||i.domNode.classList.add("drop-target")}this.currentDragFeedbackDisposable=Xi((()=>{var t;for(const i of s){const e=this.items[i];e.dropTarget=!1,null===(t=e.row)||void 0===t||t.domNode.classList.remove("drop-target")}}))}return!0}onDragLeave(t){var i,e;this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=lc((()=>this.clearDragOverFeedback()),100,this.disposables),this.currentDragData&&(null===(e=(i=this.dnd).onDragLeave)||void 0===e||e.call(i,this.currentDragData,t.element,t.index,t.browserEvent))}onDrop(t){if(!this.canDrop)return;const i=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,kN.CurrentDragAndDropData=void 0,i&&t.browserEvent.dataTransfer&&(t.browserEvent.preventDefault(),i.update(t.browserEvent.dataTransfer),this.dnd.drop(i,t.element,t.index,t.browserEvent))}onDragEnd(t){var i,e;this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,kN.CurrentDragAndDropData=void 0,null===(e=(i=this.dnd).onDragEnd)||void 0===e||e.call(i,t)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=ie.None}setupDragAndDropScrollTopAnimation(t){if(!this.dragOverAnimationDisposable){const t=sl(this.domNode).top;this.dragOverAnimationDisposable=function(t,i){const e=()=>{i(),s=Qa(t,e)};let s=Qa(t,e);return Xi((()=>s.dispose()))}(Na(this.domNode),this.animateDragAndDropScrollTop.bind(this,t))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=lc((()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}),1e3,this.disposables),this.dragOverMouseY=t.pageY}animateDragAndDropScrollTop(t){if(void 0===this.dragOverMouseY)return;const i=this.dragOverMouseY-t,e=this.renderHeight-35;i<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(i-35))):i>e&&(this.scrollTop+=Math.min(14,Math.floor(.3*(i-e))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getItemIndexFromEventTarget(t){const i=this.scrollableElement.getDomNode();let e=t;for(;e instanceof HTMLElement&&e!==this.rowsContainer&&i.contains(e);){const t=e.getAttribute("data-index");if(t){const i=Number(t);if(!isNaN(i))return i}e=e.parentElement}}getRenderRange(t,i){return{start:this.rangeMap.indexAt(t),end:this.rangeMap.indexAfter(t+i-1)}}_rerender(t,i,e){const s=this.getRenderRange(t,i);let n,o;t===this.elementTop(s.start)?(n=s.start,o=0):s.end-s.start>1&&(n=s.start+1,o=this.elementTop(n)-t);let r=0;for(;;){const h=this.getRenderRange(t,i);let c=!1;for(let t=h.start;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};class TN{constructor(t){this.trait=t,this.renderedElements=[]}get templateId(){return`template:${this.trait.name}`}renderTemplate(t){return t}renderElement(t,i,e){const s=this.renderedElements.findIndex((t=>t.templateData===e));if(s>=0){const t=this.renderedElements[s];this.trait.unrender(e),t.index=i}else this.renderedElements.push({index:i,templateData:e});this.trait.renderIndex(i,e)}splice(t,i,e){const s=[];for(const n of this.renderedElements)n.index=t+i&&s.push({index:n.index+e-i,templateData:n.templateData});this.renderedElements=s}renderIndexes(t){for(const{index:i,templateData:e}of this.renderedElements)t.indexOf(i)>-1&&this.trait.renderIndex(i,e)}disposeTemplate(t){const i=this.renderedElements.findIndex((i=>i.templateData===t));i<0||this.renderedElements.splice(i,1)}}class RN{get name(){return this._trait}get renderer(){return new TN(this)}constructor(t){this._trait=t,this.length=0,this.indexes=[],this.sortedIndexes=[],this._onChange=new fe,this.onChange=this._onChange.event}splice(t,i,e){var s;i=Math.max(0,Math.min(i,this.length-t));const n=e.length-i,o=t+i,r=[];let h=0;for(;h=o;)r.push(this.sortedIndexes[h++]+n);const c=this.length+n;if(this.sortedIndexes.length>0&&0===r.length&&c>0){const i=null!==(s=this.sortedIndexes.find((i=>i>=t)))&&void 0!==s?s:c-1;r.push(Math.min(i,c-1))}this.renderer.splice(t,i,e.length),this._set(r,r),this.length=c}renderIndex(t,i){i.classList.toggle(this._trait,this.contains(t))}unrender(t){t.classList.remove(this._trait)}set(t,i){return this._set(t,[...t].sort(JN),i)}_set(t,i,e){const s=this.indexes,n=this.sortedIndexes;this.indexes=t,this.sortedIndexes=i;const o=QN(n,t);return this.renderer.renderIndexes(o),this._onChange.fire({indexes:t,browserEvent:e}),s}get(){return this.indexes}contains(t){return d(this.sortedIndexes,t,JN)>=0}dispose(){Ji(this._onChange)}}FN([Jm],RN.prototype,"renderer",null);class ON extends RN{constructor(t){super("selected"),this.setAriaSelected=t}renderIndex(t,i){super.renderIndex(t,i),this.setAriaSelected&&(this.contains(t)?i.setAttribute("aria-selected","true"):i.setAttribute("aria-selected","false"))}}class IN{constructor(t,i,e){this.trait=t,this.view=i,this.identityProvider=e}splice(t,i,e){if(!this.identityProvider)return this.trait.splice(t,i,new Array(e.length).fill(!1));const s=this.trait.get().map((t=>this.identityProvider.getId(this.view.element(t)).toString()));if(0===s.length)return this.trait.splice(t,i,new Array(e.length).fill(!1));const n=new Set(s),o=e.map((t=>n.has(this.identityProvider.getId(t).toString())));this.trait.splice(t,i,o)}}function _N(t){return"INPUT"===t.tagName||"TEXTAREA"===t.tagName}function NN(t,i){return!!t.classList.contains(i)||!t.classList.contains("monaco-list")&&!!t.parentElement&&NN(t.parentElement,i)}function BN(t){return NN(t,"monaco-editor")}function PN(t){return!!("A"===t.tagName&&t.classList.contains("monaco-button")||"DIV"===t.tagName&&t.classList.contains("monaco-button-dropdown"))||!t.classList.contains("monaco-list")&&!!t.parentElement&&PN(t.parentElement)}class $N{get onKeyDown(){return ce.chain(this.disposables.add(new Fk(this.view.domNode,"keydown")).event,(t=>t.filter((t=>!_N(t.target))).map((t=>new Qh(t)))))}constructor(t,i,e){this.list=t,this.view=i,this.disposables=new te,this.multipleSelectionDisposables=new te,this.multipleSelectionSupport=e.multipleSelectionSupport,this.disposables.add(this.onKeyDown((t=>{switch(t.keyCode){case 3:return this.onEnter(t);case 16:return this.onUpArrow(t);case 18:return this.onDownArrow(t);case 11:return this.onPageUpArrow(t);case 12:return this.onPageDownArrow(t);case 9:return this.onEscape(t);case 31:this.multipleSelectionSupport&&(St?t.metaKey:t.ctrlKey)&&this.onCtrlA(t)}})))}updateOptions(t){void 0!==t.multipleSelectionSupport&&(this.multipleSelectionSupport=t.multipleSelectionSupport)}onEnter(t){t.preventDefault(),t.stopPropagation(),this.list.setSelection(this.list.getFocus(),t.browserEvent)}onUpArrow(t){t.preventDefault(),t.stopPropagation(),this.list.focusPrevious(1,!1,t.browserEvent);const i=this.list.getFocus()[0];this.list.setAnchor(i),this.list.reveal(i),this.view.domNode.focus()}onDownArrow(t){t.preventDefault(),t.stopPropagation(),this.list.focusNext(1,!1,t.browserEvent);const i=this.list.getFocus()[0];this.list.setAnchor(i),this.list.reveal(i),this.view.domNode.focus()}onPageUpArrow(t){t.preventDefault(),t.stopPropagation(),this.list.focusPreviousPage(t.browserEvent);const i=this.list.getFocus()[0];this.list.setAnchor(i),this.list.reveal(i),this.view.domNode.focus()}onPageDownArrow(t){t.preventDefault(),t.stopPropagation(),this.list.focusNextPage(t.browserEvent);const i=this.list.getFocus()[0];this.list.setAnchor(i),this.list.reveal(i),this.view.domNode.focus()}onCtrlA(t){t.preventDefault(),t.stopPropagation(),this.list.setSelection(C(this.list.length),t.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(t){this.list.getSelection().length&&(t.preventDefault(),t.stopPropagation(),this.list.setSelection([],t.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}FN([Jm],$N.prototype,"onKeyDown",null),function(t){t[t.Automatic=0]="Automatic",t[t.Trigger=1]="Trigger"}(MN||(MN={})),function(t){t[t.Idle=0]="Idle",t[t.Typing=1]="Typing"}(LN||(LN={}));const WN=new class{mightProducePrintableCharacter(t){return!(t.ctrlKey||t.metaKey||t.altKey)&&(t.keyCode>=31&&t.keyCode<=56||t.keyCode>=21&&t.keyCode<=30||t.keyCode>=98&&t.keyCode<=107||t.keyCode>=85&&t.keyCode<=95)}};class jN{constructor(t,i,e,s,n){this.list=t,this.view=i,this.keyboardNavigationLabelProvider=e,this.keyboardNavigationEventFilter=s,this.delegate=n,this.enabled=!1,this.state=LN.Idle,this.mode=MN.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new te,this.disposables=new te,this.updateOptions(t.options)}updateOptions(t){var i,e;null===(i=t.typeNavigationEnabled)||void 0===i||i?this.enable():this.disable(),this.mode=null!==(e=t.typeNavigationMode)&&void 0!==e?e:MN.Automatic}enable(){if(this.enabled)return;let t=!1;const i=ce.chain(this.enabledDisposables.add(new Fk(this.view.domNode,"keydown")).event,(i=>i.filter((t=>!_N(t.target))).filter((()=>this.mode===MN.Automatic||this.triggered)).map((t=>new Qh(t))).filter((i=>t||this.keyboardNavigationEventFilter(i))).filter((t=>this.delegate.mightProducePrintableCharacter(t))).forEach((t=>Fl(t,!0))).map((t=>t.browserEvent.key)))),e=ce.debounce(i,(()=>null),800,void 0,void 0,void 0,this.enabledDisposables);ce.reduce(ce.any(i,e),((t,i)=>null===i?null:(t||"")+i),void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),e(this.onClear,this,this.enabledDisposables),i((()=>t=!0),void 0,this.enabledDisposables),e((()=>t=!1),void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){var t;const i=this.list.getFocus();if(i.length>0&&i[0]===this.previouslyFocused){const e=null===(t=this.list.options.accessibilityProvider)||void 0===t?void 0:t.getAriaLabel(this.list.element(i[0]));e&&Tm(e)}this.previouslyFocused=-1}onInput(t){if(!t)return this.state=LN.Idle,void(this.triggered=!1);const i=this.list.getFocus(),e=i.length>0?i[0]:0,s=this.state===LN.Idle?1:0;this.state=LN.Typing;for(let i=0;i1&&1===i.length)return this.previouslyFocused=e,this.list.setFocus([n]),void this.list.reveal(n)}}else if(void 0===r||LI(t,r))return this.previouslyFocused=e,this.list.setFocus([n]),void this.list.reveal(n)}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class zN{constructor(t,i){this.list=t,this.view=i,this.disposables=new te;const e=ce.chain(this.disposables.add(new Fk(i.domNode,"keydown")).event,(t=>t.filter((t=>!_N(t.target))).map((t=>new Qh(t))))),s=ce.chain(e,(t=>t.filter((t=>!(2!==t.keyCode||t.ctrlKey||t.metaKey||t.shiftKey||t.altKey)))));s(this.onTab,this,this.disposables)}onTab(t){if(t.target!==this.view.domNode)return;const i=this.list.getFocus();if(0===i.length)return;const e=this.view.domElement(i[0]);if(!e)return;const s=e.querySelector("[tabIndex]");if(!(s&&s instanceof HTMLElement&&-1!==s.tabIndex))return;const n=Na(s).getComputedStyle(s);"hidden"!==n.visibility&&"none"!==n.display&&(t.preventDefault(),t.stopPropagation(),s.focus())}dispose(){this.disposables.dispose()}}function HN(t){return St?t.browserEvent.metaKey:t.browserEvent.ctrlKey}function VN(t){return t.browserEvent.shiftKey}const UN={isSelectionSingleChangeEvent:HN,isSelectionRangeChangeEvent:VN};class qN{constructor(t){this.list=t,this.disposables=new te,this._onPointer=new fe,this.onPointer=this._onPointer.event,!1!==t.options.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||UN),this.mouseSupport=void 0===t.options.mouseSupport||!!t.options.mouseSupport,this.mouseSupport&&(t.onMouseDown(this.onMouseDown,this,this.disposables),t.onContextMenu(this.onContextMenu,this,this.disposables),t.onMouseDblClick(this.onDoubleClick,this,this.disposables),t.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(Xm.addTarget(t.getHTMLElement()))),ce.any(t.onMouseClick,t.onMouseMiddleClick,t.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(t){void 0!==t.multipleSelectionSupport&&(this.multipleSelectionController=void 0,t.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||UN))}isSelectionSingleChangeEvent(t){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionSingleChangeEvent(t)}isSelectionRangeChangeEvent(t){return!!this.multipleSelectionController&&this.multipleSelectionController.isSelectionRangeChangeEvent(t)}isSelectionChangeEvent(t){return this.isSelectionSingleChangeEvent(t)||this.isSelectionRangeChangeEvent(t)}onMouseDown(t){BN(t.browserEvent.target)||pl()!==t.browserEvent.target&&this.list.domFocus()}onContextMenu(t){_N(t.browserEvent.target)||BN(t.browserEvent.target)||this.list.setFocus(void 0===t.index?[]:[t.index],t.browserEvent)}onViewPointer(t){if(!this.mouseSupport)return;if(_N(t.browserEvent.target)||BN(t.browserEvent.target))return;if(t.browserEvent.isHandledByList)return;t.browserEvent.isHandledByList=!0;const i=t.index;return void 0===i?(this.list.setFocus([],t.browserEvent),this.list.setSelection([],t.browserEvent),void this.list.setAnchor(void 0)):this.isSelectionChangeEvent(t)?this.changeSelection(t):(this.list.setFocus([i],t.browserEvent),this.list.setAnchor(i),Al(e=t.browserEvent)&&2===e.button||this.list.setSelection([i],t.browserEvent),void this._onPointer.fire(t));var e}onDoubleClick(t){if(_N(t.browserEvent.target)||BN(t.browserEvent.target))return;if(this.isSelectionChangeEvent(t))return;if(t.browserEvent.isHandledByList)return;t.browserEvent.isHandledByList=!0;const i=this.list.getFocus();this.list.setSelection(i,t.browserEvent)}changeSelection(t){const i=t.index;let e=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(t)){if(void 0===e){const t=this.list.getFocus()[0];e=null!=t?t:i,this.list.setAnchor(e)}const s=C(Math.min(e,i),Math.max(e,i)+1),n=this.list.getSelection(),o=function(t,i){const e=t.indexOf(i);if(-1===e)return[];const s=[];let n=e-1;for(;n>=0&&t[n]===i-(e-n);)s.push(t[n--]);for(s.reverse(),n=e;n=t.length)e.push(i[n++]);else if(n>=i.length)e.push(t[s++]);else{if(t[s]===i[n]){s++,n++;continue}t[s]t!==i));this.list.setFocus([i]),this.list.setAnchor(i),this.list.setSelection(e.length===s.length?[...s,i]:s,t.browserEvent)}}dispose(){this.disposables.dispose()}}class KN{constructor(t,i){this.styleElement=t,this.selectorSuffix=i}style(t){var i,e;const s=this.selectorSuffix&&`.${this.selectorSuffix}`,n=[];t.listBackground&&n.push(`.monaco-list${s} .monaco-list-rows { background: ${t.listBackground}; }`),t.listFocusBackground&&(n.push(`.monaco-list${s}:focus .monaco-list-row.focused { background-color: ${t.listFocusBackground}; }`),n.push(`.monaco-list${s}:focus .monaco-list-row.focused:hover { background-color: ${t.listFocusBackground}; }`)),t.listFocusForeground&&n.push(`.monaco-list${s}:focus .monaco-list-row.focused { color: ${t.listFocusForeground}; }`),t.listActiveSelectionBackground&&(n.push(`.monaco-list${s}:focus .monaco-list-row.selected { background-color: ${t.listActiveSelectionBackground}; }`),n.push(`.monaco-list${s}:focus .monaco-list-row.selected:hover { background-color: ${t.listActiveSelectionBackground}; }`)),t.listActiveSelectionForeground&&n.push(`.monaco-list${s}:focus .monaco-list-row.selected { color: ${t.listActiveSelectionForeground}; }`),t.listActiveSelectionIconForeground&&n.push(`.monaco-list${s}:focus .monaco-list-row.selected .codicon { color: ${t.listActiveSelectionIconForeground}; }`),t.listFocusAndSelectionBackground&&n.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${s}:focus .monaco-list-row.selected.focused { background-color: ${t.listFocusAndSelectionBackground}; }\n\t\t\t`),t.listFocusAndSelectionForeground&&n.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${s}:focus .monaco-list-row.selected.focused { color: ${t.listFocusAndSelectionForeground}; }\n\t\t\t`),t.listInactiveFocusForeground&&(n.push(`.monaco-list${s} .monaco-list-row.focused { color: ${t.listInactiveFocusForeground}; }`),n.push(`.monaco-list${s} .monaco-list-row.focused:hover { color: ${t.listInactiveFocusForeground}; }`)),t.listInactiveSelectionIconForeground&&n.push(`.monaco-list${s} .monaco-list-row.focused .codicon { color: ${t.listInactiveSelectionIconForeground}; }`),t.listInactiveFocusBackground&&(n.push(`.monaco-list${s} .monaco-list-row.focused { background-color: ${t.listInactiveFocusBackground}; }`),n.push(`.monaco-list${s} .monaco-list-row.focused:hover { background-color: ${t.listInactiveFocusBackground}; }`)),t.listInactiveSelectionBackground&&(n.push(`.monaco-list${s} .monaco-list-row.selected { background-color: ${t.listInactiveSelectionBackground}; }`),n.push(`.monaco-list${s} .monaco-list-row.selected:hover { background-color: ${t.listInactiveSelectionBackground}; }`)),t.listInactiveSelectionForeground&&n.push(`.monaco-list${s} .monaco-list-row.selected { color: ${t.listInactiveSelectionForeground}; }`),t.listHoverBackground&&n.push(`.monaco-list${s}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ${t.listHoverBackground}; }`),t.listHoverForeground&&n.push(`.monaco-list${s}:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ${t.listHoverForeground}; }`);const o=ql(t.listFocusAndSelectionOutline,ql(t.listSelectionOutline,null!==(i=t.listFocusOutline)&&void 0!==i?i:""));o&&n.push(`.monaco-list${s}:focus .monaco-list-row.focused.selected { outline: 1px solid ${o}; outline-offset: -1px;}`),t.listFocusOutline&&n.push(`\n\t\t\t\t.monaco-drag-image,\n\t\t\t\t.monaco-list${s}:focus .monaco-list-row.focused { outline: 1px solid ${t.listFocusOutline}; outline-offset: -1px; }\n\t\t\t\t.monaco-workbench.context-menu-visible .monaco-list${s}.last-focused .monaco-list-row.focused { outline: 1px solid ${t.listFocusOutline}; outline-offset: -1px; }\n\t\t\t`);const r=ql(t.listSelectionOutline,null!==(e=t.listInactiveFocusOutline)&&void 0!==e?e:"");r&&n.push(`.monaco-list${s} .monaco-list-row.focused.selected { outline: 1px dotted ${r}; outline-offset: -1px; }`),t.listSelectionOutline&&n.push(`.monaco-list${s} .monaco-list-row.selected { outline: 1px dotted ${t.listSelectionOutline}; outline-offset: -1px; }`),t.listInactiveFocusOutline&&n.push(`.monaco-list${s} .monaco-list-row.focused { outline: 1px dotted ${t.listInactiveFocusOutline}; outline-offset: -1px; }`),t.listHoverOutline&&n.push(`.monaco-list${s} .monaco-list-row:hover { outline: 1px dashed ${t.listHoverOutline}; outline-offset: -1px; }`),t.listDropBackground&&n.push(`\n\t\t\t\t.monaco-list${s}.drop-target,\n\t\t\t\t.monaco-list${s} .monaco-list-rows.drop-target,\n\t\t\t\t.monaco-list${s} .monaco-list-row.drop-target { background-color: ${t.listDropBackground} !important; color: inherit !important; }\n\t\t\t`),t.tableColumnsBorder&&n.push(`\n\t\t\t\t.monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: ${t.tableColumnsBorder};\n\t\t\t\t}\n\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n\t\t\t\t.monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\t\t\tborder-color: transparent;\n\t\t\t\t}\n\t\t\t`),t.tableOddRowsBackgroundColor&&n.push(`\n\t\t\t\t.monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n\t\t\t\t.monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n\t\t\t\t\tbackground-color: ${t.tableOddRowsBackgroundColor};\n\t\t\t\t}\n\t\t\t`),this.styleElement.textContent=n.join("\n")}}const GN={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropBackground:"#383B3D",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:sg.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:sg.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:sg.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0},ZN={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI:()=>null,onDragStart(){},onDragOver:()=>!1,drop(){},dispose(){}}};function QN(t,i){const e=[];let s=0,n=0;for(;s=t.length)e.push(i[n++]);else if(n>=i.length)e.push(t[s++]);else{if(t[s]===i[n]){e.push(t[s]),s++,n++;continue}e.push(t[s]t-i;class YN{constructor(t,i){this._templateId=t,this.renderers=i}get templateId(){return this._templateId}renderTemplate(t){return this.renderers.map((i=>i.renderTemplate(t)))}renderElement(t,i,e,s){let n=0;for(const o of this.renderers)o.renderElement(t,i,e[n++],s)}disposeElement(t,i,e,s){var n;let o=0;for(const r of this.renderers)null===(n=r.disposeElement)||void 0===n||n.call(r,t,i,e[o],s),o+=1}disposeTemplate(t){let i=0;for(const e of this.renderers)e.disposeTemplate(t[i++])}}class XN{constructor(t){this.accessibilityProvider=t,this.templateId="a18n"}renderTemplate(t){return t}renderElement(t,i,e){const s=this.accessibilityProvider.getAriaLabel(t);s?e.setAttribute("aria-label",s):e.removeAttribute("aria-label");const n=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(t);"number"==typeof n?e.setAttribute("aria-level",`${n}`):e.removeAttribute("aria-level")}disposeTemplate(t){}}class tB{constructor(t,i){this.list=t,this.dnd=i}getDragElements(t){const i=this.list.getSelectedElements();return i.indexOf(t)>-1?i:[t]}getDragURI(t){return this.dnd.getDragURI(t)}getDragLabel(t,i){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(t,i)}onDragStart(t,i){var e,s;null===(s=(e=this.dnd).onDragStart)||void 0===s||s.call(e,t,i)}onDragOver(t,i,e,s){return this.dnd.onDragOver(t,i,e,s)}onDragLeave(t,i,e,s){var n,o;null===(o=(n=this.dnd).onDragLeave)||void 0===o||o.call(n,t,i,e,s)}onDragEnd(t){var i,e;null===(e=(i=this.dnd).onDragEnd)||void 0===e||e.call(i,t)}drop(t,i,e,s){this.dnd.drop(t,i,e,s)}dispose(){this.dnd.dispose()}}class iB{get onDidChangeFocus(){return ce.map(this.eventBufferer.wrapEvent(this.focus.onChange),(t=>this.toListEvent(t)),this.disposables)}get onDidChangeSelection(){return ce.map(this.eventBufferer.wrapEvent(this.selection.onChange),(t=>this.toListEvent(t)),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let t=!1;const i=ce.chain(this.disposables.add(new Fk(this.view.domNode,"keydown")).event,(i=>i.map((t=>new Qh(t))).filter((i=>t=58===i.keyCode||i.shiftKey&&68===i.keyCode)).map((t=>Fl(t,!0))).filter((()=>!1)))),e=ce.chain(this.disposables.add(new Fk(this.view.domNode,"keyup")).event,(i=>i.forEach((()=>t=!1)).map((t=>new Qh(t))).filter((t=>58===t.keyCode||t.shiftKey&&68===t.keyCode)).map((t=>Fl(t,!0))).map((({browserEvent:t})=>{const i=this.getFocus(),e=i.length?i[0]:void 0;return{index:e,element:void 0!==e?this.view.element(e):void 0,anchor:void 0!==e?this.view.domElement(e):this.view.domNode,browserEvent:t}})))),s=ce.chain(this.view.onContextMenu,(i=>i.filter((()=>!t)).map((({element:t,index:i,browserEvent:e})=>({element:t,index:i,anchor:new tc(Na(this.view.domNode),e),browserEvent:e})))));return ce.any(i,e,s)}get onKeyDown(){return this.disposables.add(new Fk(this.view.domNode,"keydown")).event}get onDidFocus(){return ce.signal(this.disposables.add(new Fk(this.view.domNode,"focus",!0)).event)}constructor(t,i,e,s,n=ZN){var o,r,h,c;this.user=t,this._options=n,this.focus=new RN("focused"),this.anchor=new RN("anchor"),this.eventBufferer=new be,this._ariaLabel="",this.disposables=new te,this._onDidDispose=new fe,this.onDidDispose=this._onDidDispose.event;const a=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?null===(o=this._options.accessibilityProvider)||void 0===o?void 0:o.getWidgetRole():"list";this.selection=new ON("listbox"!==a);const l=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=n.accessibilityProvider,this.accessibilityProvider&&(l.push(new XN(this.accessibilityProvider)),null===(h=(r=this.accessibilityProvider).onDidChangeActiveDescendant)||void 0===h||h.call(r,this.onDidChangeActiveDescendant,this,this.disposables)),s=s.map((t=>new YN(t.templateId,[...l,t])));const u={...n,dnd:n.dnd&&new tB(this,n.dnd)};if(this.view=this.createListView(i,e,s,u),this.view.domNode.setAttribute("role",a),n.styleController)this.styleController=n.styleController(this.view.domId);else{const t=vl(this.view.domNode);this.styleController=new KN(t,this.view.domId)}this.spliceable=new pN([new IN(this.focus,this.view,n.identityProvider),new IN(this.selection,this.view,n.identityProvider),new IN(this.anchor,this.view,n.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new zN(this,this.view)),("boolean"!=typeof n.keyboardSupport||n.keyboardSupport)&&(this.keyboardController=new $N(this,this.view,n),this.disposables.add(this.keyboardController)),n.keyboardNavigationLabelProvider&&(this.typeNavigationController=new jN(this,this.view,n.keyboardNavigationLabelProvider,null!==(c=n.keyboardNavigationEventFilter)&&void 0!==c?c:()=>!0,n.keyboardNavigationDelegate||WN),this.disposables.add(this.typeNavigationController)),this.mouseController=this.createMouseController(n),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),!1!==this._options.multipleSelectionSupport&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(t,i,e,s){return new AN(t,i,e,s)}createMouseController(t){return new qN(this)}updateOptions(t={}){var i,e;this._options={...this._options,...t},null===(i=this.typeNavigationController)||void 0===i||i.updateOptions(this._options),void 0!==this._options.multipleSelectionController&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(t),null===(e=this.keyboardController)||void 0===e||e.updateOptions(t),this.view.updateOptions(t)}get options(){return this._options}splice(t,i,e=[]){if(t<0||t>this.view.length)throw new gN(this.user,`Invalid start index: ${t}`);if(i<0)throw new gN(this.user,`Invalid delete count: ${i}`);0===i&&0===e.length||this.eventBufferer.bufferEvents((()=>this.spliceable.splice(t,i,e)))}rerender(){this.view.rerender()}element(t){return this.view.element(t)}indexOf(t){return this.view.indexOf(t)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(t){this.view.setScrollTop(t)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(t){this._ariaLabel=t,this.view.domNode.setAttribute("aria-label",t)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(t,i){this.view.layout(t,i)}setSelection(t,i){for(const i of t)if(i<0||i>=this.length)throw new gN(this.user,`Invalid index ${i}`);this.selection.set(t,i)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map((t=>this.view.element(t)))}setAnchor(t){if(void 0!==t){if(t<0||t>=this.length)throw new gN(this.user,`Invalid index ${t}`);this.anchor.set([t])}else this.anchor.set([])}getAnchor(){return x(this.anchor.get(),void 0)}getAnchorElement(){const t=this.getAnchor();return void 0===t?void 0:this.element(t)}setFocus(t,i){for(const i of t)if(i<0||i>=this.length)throw new gN(this.user,`Invalid index ${i}`);this.focus.set(t,i)}focusNext(t=1,i=!1,e,s){if(0===this.length)return;const n=this.focus.get(),o=this.findNextIndex(n.length>0?n[0]+t:0,i,s);o>-1&&this.setFocus([o],e)}focusPrevious(t=1,i=!1,e,s){if(0===this.length)return;const n=this.focus.get(),o=this.findPreviousIndex(n.length>0?n[0]-t:0,i,s);o>-1&&this.setFocus([o],e)}async focusNextPage(t,i){let e=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);e=0===e?0:e-1;const s=this.getFocus()[0];if(s!==e&&(void 0===s||e>s)){const n=this.findPreviousIndex(e,!1,i);this.setFocus(n>-1&&s!==n?[n]:[e],t)}else{const n=this.view.getScrollTop();let o=n+this.view.renderHeight;e>s&&(o-=this.view.elementHeight(e)),this.view.setScrollTop(o),this.view.getScrollTop()!==n&&(this.setFocus([]),await ac(0),await this.focusNextPage(t,i))}}async focusPreviousPage(t,i){let e;const s=this.view.getScrollTop();e=0===s?this.view.indexAt(s):this.view.indexAfter(s-1);const n=this.getFocus()[0];if(n!==e&&(void 0===n||n>=e)){const s=this.findNextIndex(e,!1,i);this.setFocus(s>-1&&n!==s?[s]:[e],t)}else{const e=s;this.view.setScrollTop(s-this.view.renderHeight),this.view.getScrollTop()!==e&&(this.setFocus([]),await ac(0),await this.focusPreviousPage(t,i))}}focusLast(t,i){if(0===this.length)return;const e=this.findPreviousIndex(this.length-1,!1,i);e>-1&&this.setFocus([e],t)}focusFirst(t,i){this.focusNth(0,t,i)}focusNth(t,i,e){if(0===this.length)return;const s=this.findNextIndex(t,!1,e);s>-1&&this.setFocus([s],i)}findNextIndex(t,i=!1,e){for(let s=0;s=this.length&&!i)return-1;if(t%=this.length,!e||e(this.element(t)))return t;t++}return-1}findPreviousIndex(t,i=!1,e){for(let s=0;sthis.view.element(t)))}reveal(t,i,e=0){if(t<0||t>=this.length)throw new gN(this.user,`Invalid index ${t}`);const s=this.view.getScrollTop(),n=this.view.elementTop(t),o=this.view.elementHeight(t);if(j(i))this.view.setScrollTop((o-this.view.renderHeight+e)*eR(i,0,1)+n-e);else{const t=n+o,i=s+this.view.renderHeight;n=i||(n=i&&o>=this.view.renderHeight?this.view.setScrollTop(n-e):t>=i&&this.view.setScrollTop(t-this.view.renderHeight))}}getRelativeTop(t,i=0){if(t<0||t>=this.length)throw new gN(this.user,`Invalid index ${t}`);const e=this.view.getScrollTop(),s=this.view.elementTop(t),n=this.view.elementHeight(t);return se+this.view.renderHeight?null:Math.abs((e+i-s)/(n-this.view.renderHeight+i))}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(t){return this.view.getElementDomId(t)}getElementTop(t){return this.view.elementTop(t)}style(t){this.styleController.style(t)}toListEvent({indexes:t,browserEvent:i}){return{indexes:t,elements:t.map((t=>this.view.element(t))),browserEvent:i}}_onFocusChange(){const t=this.focus.get();this.view.domNode.classList.toggle("element-focused",t.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var t;const i=this.focus.get();if(i.length>0){let e;(null===(t=this.accessibilityProvider)||void 0===t?void 0:t.getActiveDescendantId)&&(e=this.accessibilityProvider.getActiveDescendantId(this.view.element(i[0]))),this.view.domNode.setAttribute("aria-activedescendant",e||this.view.getElementDomId(i[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const t=this.selection.get();this.view.domNode.classList.toggle("selection-none",0===t.length),this.view.domNode.classList.toggle("selection-single",1===t.length),this.view.domNode.classList.toggle("selection-multiple",t.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}FN([Jm],iB.prototype,"onDidChangeFocus",null),FN([Jm],iB.prototype,"onDidChangeSelection",null),FN([Jm],iB.prototype,"onContextMenu",null),FN([Jm],iB.prototype,"onKeyDown",null),FN([Jm],iB.prototype,"onDidFocus",null);const eB=$l,sB="selectOption.entry.template";class nB{get templateId(){return sB}renderTemplate(t){const i=Object.create(null);return i.root=t,i.text=Ol(t,eB(".option-text")),i.detail=Ol(t,eB(".option-detail")),i.decoratorRight=Ol(t,eB(".option-decorator-right")),i}renderElement(t,i,e){const s=e,n=t.detail,o=t.decoratorRight,r=t.isDisabled;s.text.textContent=t.text,s.detail.textContent=n||"",s.decoratorRight.innerText=o||"",r?s.root.classList.add("option-disabled"):s.root.classList.remove("option-disabled")}disposeTemplate(t){}}class oB extends ie{constructor(t,i,e,s,n){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=s,this.selectBoxOptions=n||Object.create(null),"number"!=typeof this.selectBoxOptions.minBottomMargin?this.selectBoxOptions.minBottomMargin=oB.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box monaco-select-box-dropdown-padding","string"==typeof this.selectBoxOptions.ariaLabel&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),"string"==typeof this.selectBoxOptions.ariaDescription&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new fe,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(e),this.selected=i||0,t&&this.setOptions(t,i),this.initStyleSheet()}getHeight(){return 22}getTemplateId(){return sB}constructSelectDropDown(t){this.contextViewProvider=t,this.selectDropDownContainer=$l(".monaco-select-box-dropdown-container"),this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding"),this.selectionDetailsPane=Ol(this.selectDropDownContainer,eB(".select-box-details-pane"));const i=Ol(this.selectDropDownContainer,eB(".select-box-dropdown-container-width-control")),e=Ol(i,eB(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",Ol(e,this.widthControlElement),this._dropDownPosition=0,this.styleElement=vl(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register(Va(this.selectDropDownContainer,Ll.DRAG_START,(t=>{Fl(t,!0)})))}registerListeners(){let t;this._register(qa(this.selectElement,"change",(t=>{this.selected=t.target.selectedIndex,this._onDidSelect.fire({index:t.target.selectedIndex,selected:t.target.value}),this.options[this.selected]&&this.options[this.selected].text&&(this.selectElement.title=this.options[this.selected].text)}))),this._register(Va(this.selectElement,Ll.CLICK,(t=>{Fl(t),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()}))),this._register(Va(this.selectElement,Ll.MOUSE_DOWN,(t=>{Fl(t)}))),this._register(Va(this.selectElement,"touchstart",(()=>{t=this._isVisible}))),this._register(Va(this.selectElement,"touchend",(i=>{Fl(i),t?this.hideSelectDropDown(!0):this.showSelectDropDown()}))),this._register(Va(this.selectElement,Ll.KEY_DOWN,(t=>{const i=new Qh(t);let e=!1;St?18!==i.keyCode&&16!==i.keyCode&&10!==i.keyCode&&3!==i.keyCode||(e=!0):(18===i.keyCode&&i.altKey||16===i.keyCode&&i.altKey||10===i.keyCode||3===i.keyCode)&&(e=!0),e&&(this.showSelectDropDown(),Fl(t,!0))})))}get onDidSelect(){return this._onDidSelect.event}setOptions(t,i){u(this.options,t)||(this.options=t,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach(((t,i)=>{this.selectElement.add(this.createOption(t.text,i,t.isDisabled)),"string"==typeof t.description&&(this._hasDetails=!0)}))),void 0!==i&&(this.select(i),this._currentSelection=this.selected)}setOptionsList(){var t;null===(t=this.selectList)||void 0===t||t.splice(0,this.selectList.length,this.options)}select(t){t>=0&&tthis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.options[this.selected]&&this.options[this.selected].text&&(this.selectElement.title=this.options[this.selected].text)}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(t){this.selectElement.tabIndex=t?0:-1}render(t){this.container=t,t.classList.add("select-container"),t.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const t=[];this.styles.listFocusBackground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ${this.styles.listFocusBackground} !important; }`),this.styles.listFocusForeground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ${this.styles.listFocusForeground} !important; }`),this.styles.decoratorRightForeground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ${this.styles.decoratorRightForeground}; }`),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(t.push(`.monaco-select-box-dropdown-container { border: 1px solid ${this.styles.selectBorder} } `),t.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectBorder} } `),t.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectBorder} } `)):this.styles.selectListBorder&&(t.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ${this.styles.selectListBorder} } `),t.push(`.monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ${this.styles.selectListBorder} } `)),this.styles.listHoverForeground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ${this.styles.listHoverForeground} !important; }`),this.styles.listHoverBackground&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ${this.styles.listHoverBackground} !important; }`),this.styles.listFocusOutline&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ${this.styles.listFocusOutline} !important; outline-offset: -1.6px !important; }`),this.styles.listHoverOutline&&t.push(`.monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ${this.styles.listHoverOutline} !important; outline-offset: -1.6px !important; }`),t.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }"),t.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }"),this.styleElement.textContent=t.join("\n")}styleSelectElement(){var t,i,e;const s=null!==(t=this.styles.selectBackground)&&void 0!==t?t:"",n=null!==(i=this.styles.selectForeground)&&void 0!==i?i:"",o=null!==(e=this.styles.selectBorder)&&void 0!==e?e:"";this.selectElement.style.backgroundColor=s,this.selectElement.style.color=n,this.selectElement.style.borderColor=o}styleList(){var t,i;const e=null!==(t=this.styles.selectBackground)&&void 0!==t?t:"",s=ql(this.styles.selectListBackground,e);this.selectDropDownListContainer.style.backgroundColor=s,this.selectionDetailsPane.style.backgroundColor=s;const n=null!==(i=this.styles.focusBorder)&&void 0!==i?i:"";this.selectDropDownContainer.style.outlineColor=n,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(t,i,e){const s=document.createElement("option");return s.value=t,s.text=t,s.disabled=!!e,s}showSelectDropDown(){this.selectionDetailsPane.innerText="",this.contextViewProvider&&!this._isVisible&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:t=>this.renderSelectDropDown(t,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:t=>this.renderSelectDropDown(t),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(t){this.contextViewProvider&&this._isVisible&&(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),t&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(t,i){return t.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(i),{dispose:()=>{try{t.removeChild(this.selectDropDownContainer)}catch(t){}}}}measureMaxDetailsHeight(){let t=0;return this.options.forEach(((i,e)=>{this.updateDetail(e),this.selectionDetailsPane.offsetHeight>t&&(t=this.selectionDetailsPane.offsetHeight)})),t}layoutSelectDropDown(t){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const i=Na(this.selectElement),e=nl(this.selectElement),s=Na(this.selectElement).getComputedStyle(this.selectElement),n=parseFloat(s.getPropertyValue("--dropdown-padding-top"))+parseFloat(s.getPropertyValue("--dropdown-padding-bottom")),o=i.innerHeight-e.top-e.height-(this.selectBoxOptions.minBottomMargin||0),r=e.top-oB.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,h=this.selectElement.offsetWidth,c=this.setWidthControlElement(this.widthControlElement),a=Math.max(c,Math.round(h)).toString()+"px";this.selectDropDownContainer.style.width=a,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let l=this.selectList.contentHeight;this._hasDetails&&void 0===this._cachedMaxDetailsHeight&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const u=this._hasDetails?this._cachedMaxDetailsHeight:0,d=l+n+u,f=Math.floor((o-n-u)/this.getHeight()),p=Math.floor((r-n-u)/this.getHeight());if(t)return!(e.top+e.height>i.innerHeight-22||e.topf&&this.options.length>f?(this._dropDownPosition=1,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),0));if(e.top+e.height>i.innerHeight-22||e.topo&&(l=f*this.getHeight())}else d>r&&(l=p*this.getHeight());return this.selectList.layout(l),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=l+n+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=l+n+"px",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=a,this.selectDropDownListContainer.setAttribute("tabindex","0"),this.selectElement.classList.add("synthetic-focus"),this.selectDropDownContainer.classList.add("synthetic-focus"),!0}return!1}setWidthControlElement(t){let i=0;if(t){let e=0,s=0;this.options.forEach(((t,i)=>{const n=t.text.length+(t.detail?t.detail.length:0)+(t.decoratorRight?t.decoratorRight.length:0);n>s&&(e=i,s=n)})),t.textContent=this.options[e].text+(this.options[e].decoratorRight?this.options[e].decoratorRight+" ":""),i=ol(t)}return i}createSelectList(t){if(this.selectList)return;this.selectDropDownListContainer=Ol(t,eB(".select-box-dropdown-list-container")),this.listRenderer=new nB,this.selectList=new iB("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:t=>{let i=t.text;return t.detail&&(i+=`. ${t.detail}`),t.decoratorRight&&(i+=`. ${t.decoratorRight}`),t.description&&(i+=`. ${t.description}`),i},getWidgetAriaLabel:()=>rt(0,"Select Box"),getRole:()=>St?"":"option",getWidgetRole:()=>"listbox"}}),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const i=this._register(new Fk(this.selectDropDownListContainer,"keydown")),e=ce.chain(i.event,(t=>t.filter((()=>this.selectList.length>0)).map((t=>new Qh(t)))));this._register(ce.chain(e,(t=>t.filter((t=>3===t.keyCode))))(this.onEnter,this)),this._register(ce.chain(e,(t=>t.filter((t=>2===t.keyCode))))(this.onEnter,this)),this._register(ce.chain(e,(t=>t.filter((t=>9===t.keyCode))))(this.onEscape,this)),this._register(ce.chain(e,(t=>t.filter((t=>16===t.keyCode))))(this.onUpArrow,this)),this._register(ce.chain(e,(t=>t.filter((t=>18===t.keyCode))))(this.onDownArrow,this)),this._register(ce.chain(e,(t=>t.filter((t=>12===t.keyCode))))(this.onPageDown,this)),this._register(ce.chain(e,(t=>t.filter((t=>11===t.keyCode))))(this.onPageUp,this)),this._register(ce.chain(e,(t=>t.filter((t=>14===t.keyCode))))(this.onHome,this)),this._register(ce.chain(e,(t=>t.filter((t=>13===t.keyCode))))(this.onEnd,this)),this._register(ce.chain(e,(t=>t.filter((t=>t.keyCode>=21&&t.keyCode<=56||t.keyCode>=85&&t.keyCode<=113))))(this.onCharacter,this)),this._register(Va(this.selectList.getHTMLElement(),Ll.POINTER_UP,(t=>this.onPointerUp(t)))),this._register(this.selectList.onMouseOver((t=>void 0!==t.index&&this.selectList.setFocus([t.index])))),this._register(this.selectList.onDidChangeFocus((t=>this.onListFocus(t)))),this._register(Va(this.selectDropDownContainer,Ll.FOCUS_OUT,(t=>{this._isVisible&&!al(t.relatedTarget,this.selectDropDownContainer)&&this.onListBlur()}))),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(t){if(!this.selectList.length)return;Fl(t);const i=t.target;if(!i)return;if(i.classList.contains("slider"))return;const e=i.closest(".monaco-list-row");if(!e)return;const s=Number(e.getAttribute("data-index")),n=e.classList.contains("option-disabled");s>=0&&s{for(let i=0;ithis.selected+2)this.selected+=2;else{if(i)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(t){this.selected>0&&(Fl(t,!0),this.options[this.selected-1].isDisabled&&this.selected>1?this.selected-=2:this.selected--,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]))}onPageUp(t){Fl(t),this.selectList.focusPreviousPage(),setTimeout((()=>{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected>0&&(this.selected--,this.selectList.setFocus([this.selected])),this.selectList.reveal(this.selected),this.select(this.selected)}),1)}onHome(t){Fl(t),this.options.length<2||(this.selected=0,this.options[this.selected].isDisabled&&this.selected>1&&this.selected++,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onEnd(t){Fl(t),this.options.length<2||(this.selected=this.options.length-1,this.options[this.selected].isDisabled&&this.selected>1&&this.selected--,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onCharacter(t){const i=_e.toString(t.keyCode);let e=-1;for(let s=0;s{this._register(Va(this.selectElement,t,(()=>{this.selectElement.focus()})))})),this._register(qa(this.selectElement,"click",(t=>{Fl(t,!0)}))),this._register(qa(this.selectElement,"change",(t=>{this.selectElement.title=t.target.value,this._onDidSelect.fire({index:t.target.selectedIndex,selected:t.target.value})}))),this._register(qa(this.selectElement,"keydown",(t=>{let i=!1;St?18!==t.keyCode&&16!==t.keyCode&&10!==t.keyCode||(i=!0):(18===t.keyCode&&t.altKey||10===t.keyCode||3===t.keyCode)&&(i=!0),i&&t.stopPropagation()})))}get onDidSelect(){return this._onDidSelect.event}setOptions(t,i){this.options&&u(this.options,t)||(this.options=t,this.selectElement.options.length=0,this.options.forEach(((t,i)=>{this.selectElement.add(this.createOption(t.text,i,t.isDisabled))}))),void 0!==i&&this.select(i)}select(t){0===this.options.length?this.selected=0:t>=0&&tthis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selectElement.title=this.selected{this.element&&this.handleActionChangeEvent(t)})))}handleActionChangeEvent(t){void 0!==t.enabled&&this.updateEnabled(),void 0!==t.checked&&this.updateChecked(),void 0!==t.class&&this.updateClass(),void 0!==t.label&&(this.updateLabel(),this.updateTooltip()),void 0!==t.tooltip&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new wr)),this._actionRunner}set actionRunner(t){this._actionRunner=t}isEnabled(){return this._action.enabled}setActionContext(t){this._context=t}render(t){const i=this.element=t;this._register(Xm.addTarget(t));const e=this.options&&this.options.draggable;e&&(t.draggable=!0,Uo&&this._register(Va(t,Ll.DRAG_START,(t=>{var i;return null===(i=t.dataTransfer)||void 0===i?void 0:i.setData(yI.TEXT,this._action.label)})))),this._register(Va(i,Ym.Tap,(t=>this.onClick(t,!0)))),this._register(Va(i,Ll.MOUSE_DOWN,(t=>{e||Fl(t,!0),this._action.enabled&&0===t.button&&i.classList.add("active")}))),St&&this._register(Va(i,Ll.CONTEXT_MENU,(t=>{0===t.button&&!0===t.ctrlKey&&this.onClick(t)}))),this._register(Va(i,Ll.CLICK,(t=>{Fl(t,!0),this.options&&this.options.isMenu||this.onClick(t)}))),this._register(Va(i,Ll.DBLCLICK,(t=>{Fl(t,!0)}))),[Ll.MOUSE_UP,Ll.MOUSE_OUT].forEach((t=>{this._register(Va(i,t,(t=>{Fl(t),i.classList.remove("active")})))}))}onClick(t,i=!1){var e;Fl(t,!0);const s=q(this._context)?(null===(e=this.options)||void 0===e?void 0:e.useEventAsContext)?t:{preserveFocus:i}:this._context;this.actionRunner.run(this._action,s)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(t){this.element&&(this.element.tabIndex=t?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){var t;if(!this.element)return;const i=null!==(t=this.getTooltip())&&void 0!==t?t:"";this.updateAriaLabel(),this.options.hoverDelegate?(this.element.title="",this.customHover?this.customHover.update(i):(this.customHover=I_(this.options.hoverDelegate,this.element,i),this._store.add(this.customHover))):this.element.title=i}updateAriaLabel(){var t;if(this.element){const i=null!==(t=this.getTooltip())&&void 0!==t?t:"";this.element.setAttribute("aria-label",i)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}class aB extends cB{constructor(t,i,e){super(t,i,e),this.options=e,this.options.icon=void 0!==e.icon&&e.icon,this.options.label=void 0===e.label||e.label,this.cssClass=""}render(t){super.render(t),K(this.element);const i=document.createElement("a");if(i.classList.add("action-label"),i.setAttribute("role",this.getDefaultAriaRole()),this.label=i,this.element.appendChild(i),this.options.label&&this.options.keybinding){const t=document.createElement("span");t.classList.add("keybinding"),t.textContent=this.options.keybinding,this.element.appendChild(t)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===vr.ID?"presentation":this.options.isMenu?"menuitem":"button"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(t){this.label&&(this.label.tabIndex=t?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let t=null;return this.action.tooltip?t=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(t=this.action.label,this.options.keybinding&&(t=rt(0,"{0} ({1})",t,this.options.keybinding))),null!=t?t:void 0}updateClass(){var t;this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getClass(),this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):null===(t=this.label)||void 0===t||t.classList.remove("codicon")}updateEnabled(){var t,i;this.action.enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),null===(t=this.element)||void 0===t||t.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),null===(i=this.element)||void 0===i||i.classList.add("disabled"))}updateAriaLabel(){var t;if(this.label){const i=null!==(t=this.getTooltip())&&void 0!==t?t:"";this.label.setAttribute("aria-label",i)}}updateChecked(){this.label&&(void 0!==this.action.checked?(this.label.classList.toggle("checked",this.action.checked),this.label.setAttribute("aria-checked",this.action.checked?"true":"false"),this.label.setAttribute("role","checkbox")):(this.label.classList.remove("checked"),this.label.removeAttribute("aria-checked"),this.label.setAttribute("role",this.getDefaultAriaRole())))}}class lB extends cB{constructor(t,i,e,s,n,o,r){super(t,i),this.selectBox=new hB(e,s,n,o,r),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(t){this.selectBox.select(t)}registerListeners(){this._register(this.selectBox.onDidSelect((t=>this.runAction(t.selected,t.index))))}runAction(t,i){this.actionRunner.run(this._action,this.getActionContext(t,i))}getActionContext(t,i){return t}setFocusable(t){this.selectBox.setFocusable(t)}focus(){var t;null===(t=this.selectBox)||void 0===t||t.focus()}blur(){var t;null===(t=this.selectBox)||void 0===t||t.blur()}render(t){this.selectBox.render(t)}}class uB extends wr{constructor(t,i){super(),this._onDidChangeVisibility=this._register(new fe),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=Ol(t,$l(".monaco-dropdown")),this._label=Ol(this._element,$l(".dropdown-label"));let e=i.labelRenderer;e||(e=t=>(t.textContent=i.label||"",null));for(const t of[Ll.CLICK,Ll.MOUSE_DOWN,Ym.Tap])this._register(Va(this.element,t,(t=>Fl(t,!0))));for(const t of[Ll.MOUSE_DOWN,Ym.Tap])this._register(Va(this._label,t,(t=>{Al(t)&&(t.detail>1||0!==t.button)||(this.visible?this.hide():this.show())})));this._register(Va(this._label,Ll.KEY_UP,(t=>{const i=new Qh(t);(i.equals(3)||i.equals(10))&&(Fl(t,!0),this.visible?this.hide():this.show())})));const s=e(this._label);s&&this._register(s),this._register(Xm.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}class dB extends uB{constructor(t,i){super(t,i),this._options=i,this._actions=[],this.actions=i.actions||[]}set menuOptions(t){this._menuOptions=t}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(t){this._actions=t}show(){super.show(),this.element.classList.add("active"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(t,i)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(t,i):void 0,getKeyBinding:t=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(t):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}}class fB extends cB{constructor(t,i,e,s=Object.create(null)){super(null,t,s),this.actionItem=null,this._onDidChangeVisibility=this._register(new fe),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=i,this.contextMenuProvider=e,this.options=s,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(t){this.actionItem=t;const i=Array.isArray(this.menuActionsOrProvider);if(this.dropdownMenu=this._register(new dB(t,{contextMenuProvider:this.contextMenuProvider,labelRenderer:t=>{this.element=Ol(t,$l("a.action-label"));let i=[];return"string"==typeof this.options.classNames?i=this.options.classNames.split(/\s+/g).filter((t=>!!t)):this.options.classNames&&(i=this.options.classNames),i.find((t=>"icon"===t))||i.push("codicon"),this.element.classList.add(...i),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this.element.title=this._action.label||"",this.element.ariaLabel=this._action.label||"",null},menuAsChild:this.options.menuAsChild,actions:i?this.menuActionsOrProvider:void 0,actionProvider:i?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry})),this._register(this.dropdownMenu.onDidChangeVisibility((t=>{var i;null===(i=this.element)||void 0===i||i.setAttribute("aria-expanded",`${t}`),this._onDidChangeVisibility.fire(t)}))),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const t=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return t.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let t=null;return this.action.tooltip?t=this.action.tooltip:this.action.label&&(t=this.action.label),null!=t?t:void 0}setActionContext(t){super.setActionContext(t),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=t:this.dropdownMenu.menuOptions={context:t})}show(){var t;null===(t=this.dropdownMenu)||void 0===t||t.show()}updateEnabled(){var t,i;const e=!this.action.enabled;null===(t=this.actionItem)||void 0===t||t.classList.toggle("disabled",e),null===(i=this.element)||void 0===i||i.classList.toggle("disabled",e)}}var pB,gB;!function(t){t[t.STORAGE_DOES_NOT_EXIST=0]="STORAGE_DOES_NOT_EXIST",t[t.STORAGE_IN_MEMORY=1]="STORAGE_IN_MEMORY"}(pB||(pB={})),function(t){t[t.None=0]="None",t[t.Initialized=1]="Initialized",t[t.Closed=2]="Closed"}(gB||(gB={}));class mB extends ie{constructor(t,i=Object.create(null)){super(),this.database=t,this.options=i,this._onDidChangeStorage=this._register(new ge),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=gB.None,this.cache=new Map,this.flushDelayer=this._register(new cc(mB.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal((t=>this.onDidChangeItemsExternal(t))))}onDidChangeItemsExternal(t){var i,e;this._onDidChangeStorage.pause();try{null===(i=t.changed)||void 0===i||i.forEach(((t,i)=>this.acceptExternal(i,t))),null===(e=t.deleted)||void 0===e||e.forEach((t=>this.acceptExternal(t,void 0)))}finally{this._onDidChangeStorage.resume()}}acceptExternal(t,i){if(this.state===gB.Closed)return;let e=!1;q(i)?e=this.cache.delete(t):this.cache.get(t)!==i&&(this.cache.set(t,i),e=!0),e&&this._onDidChangeStorage.fire({key:t,external:!0})}get(t,i){const e=this.cache.get(t);return q(e)?i:e}getBoolean(t,i){const e=this.get(t);return q(e)?i:"true"===e}getNumber(t,i){const e=this.get(t);return q(e)?i:parseInt(e,10)}async set(t,i,e=!1){if(this.state===gB.Closed)return;if(q(i))return this.delete(t,e);const s=$(i)||Array.isArray(i)?JSON.stringify(i,G_):String(i);return this.cache.get(t)!==s?(this.cache.set(t,s),this.pendingInserts.set(t,s),this.pendingDeletes.delete(t),this._onDidChangeStorage.fire({key:t,external:e}),this.doFlush()):void 0}async delete(t,i=!1){if(this.state!==gB.Closed)return this.cache.delete(t)?(this.pendingDeletes.has(t)||this.pendingDeletes.add(t),this.pendingInserts.delete(t),this._onDidChangeStorage.fire({key:t,external:i}),this.doFlush()):void 0}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const t={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(t).finally((()=>{var t;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)null===(t=this.whenFlushedCallbacks.pop())||void 0===t||t()}))}async doFlush(t){return this.options.hint===pB.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger((()=>this.flushPending()),t)}}mB.DEFAULT_FLUSH_DELAY=100;class wB{constructor(){this.onDidChangeItemsExternal=ce.None,this.items=new Map}async updateItems(t){var i,e;null===(i=t.insert)||void 0===i||i.forEach(((t,i)=>this.items.set(i,t))),null===(e=t.delete)||void 0===e||e.forEach((t=>this.items.delete(t)))}}const vB="__$__targetStorageMarker",bB=dr("storageService");var yB;!function(t){t[t.NONE=0]="NONE",t[t.SHUTDOWN=1]="SHUTDOWN"}(yB||(yB={}));class kB extends ie{constructor(t={flushInterval:kB.DEFAULT_FLUSH_INTERVAL}){super(),this.options=t,this._onDidChangeValue=this._register(new ge),this._onDidChangeTarget=this._register(new ge),this._onWillSaveState=this._register(new fe),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(t,i,e){return ce.filter(this._onDidChangeValue.event,(e=>e.scope===t&&(void 0===i||e.key===i)),e)}emitDidChangeValue(t,i){const{key:e,external:s}=i;if(e===vB){switch(t){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0}this._onDidChangeTarget.fire({scope:t})}else this._onDidChangeValue.fire({scope:t,key:e,target:this.getKeyTargets(t)[e],external:s})}get(t,i,e){var s;return null===(s=this.getStorage(i))||void 0===s?void 0:s.get(t,e)}getBoolean(t,i,e){var s;return null===(s=this.getStorage(i))||void 0===s?void 0:s.getBoolean(t,e)}getNumber(t,i,e){var s;return null===(s=this.getStorage(i))||void 0===s?void 0:s.getNumber(t,e)}store(t,i,e,s,n=!1){q(i)?this.remove(t,e,n):this.withPausedEmitters((()=>{var o;this.updateKeyTarget(t,e,s),null===(o=this.getStorage(e))||void 0===o||o.set(t,i,n)}))}remove(t,i,e=!1){this.withPausedEmitters((()=>{var s;this.updateKeyTarget(t,i,void 0),null===(s=this.getStorage(i))||void 0===s||s.delete(t,e)}))}withPausedEmitters(t){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{t()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(t,i,e,s=!1){var n,o;const r=this.getKeyTargets(i);"number"==typeof e?r[t]!==e&&(r[t]=e,null===(n=this.getStorage(i))||void 0===n||n.set(vB,JSON.stringify(r),s)):"number"==typeof r[t]&&(delete r[t],null===(o=this.getStorage(i))||void 0===o||o.set(vB,JSON.stringify(r),s))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}getKeyTargets(t){switch(t){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(t){const i=this.getStorage(t);return i?function(t){const i=t.get(vB);if(i)try{return JSON.parse(i)}catch(t){}return Object.create(null)}(i):Object.create(null)}}kB.DEFAULT_FLUSH_INTERVAL=6e4;const xB={keybindingLabelBackground:ew(fv),keybindingLabelForeground:ew(pv),keybindingLabelBorder:ew(gv),keybindingLabelBottomBorder:ew(mv),keybindingLabelShadow:ew(fw)},CB={buttonForeground:ew(Iw),buttonSeparator:ew(_w),buttonBackground:ew(Nw),buttonHoverBackground:ew(Bw),buttonSecondaryForeground:ew($w),buttonSecondaryBackground:ew(Ww),buttonSecondaryHoverBackground:ew(jw),buttonBorder:ew(Pw)},SB={progressBarBackground:ew(Gw)},DB={inputActiveOptionBorder:ew(vw),inputActiveOptionForeground:ew(yw),inputActiveOptionBackground:ew(bw)};ew(gb),ew(wb),ew(mb),ew(nv),ew(ov),ew(fw),ew(lw),ew(Yb),ew(Xb),ew(ty),ew(dw);const EB={inputBackground:ew(gw),inputForeground:ew(mw),inputBorder:ew(ww),inputValidationInfoBorder:ew(Cw),inputValidationInfoBackground:ew(kw),inputValidationInfoForeground:ew(xw),inputValidationWarningBorder:ew(Ew),inputValidationWarningBackground:ew(Sw),inputValidationWarningForeground:ew(Dw),inputValidationErrorBorder:ew(Lw),inputValidationErrorBackground:ew(Aw),inputValidationErrorForeground:ew(Mw)},AB={listFilterWidgetBackground:ew(hb),listFilterWidgetOutline:ew(cb),listFilterWidgetNoMatchesOutline:ew(ab),listFilterWidgetShadow:ew(lb),inputBoxStyles:EB,toggleStyles:DB},MB={badgeBackground:ew(zw),badgeForeground:ew(Hw),badgeBorder:ew(lw)};ew(Tb),ew(Fb),ew(Rb),ew(Rb),ew(Ob);const LB={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:ew(zv),listFocusForeground:ew(Hv),listFocusOutline:ew(Vv),listActiveSelectionBackground:ew(qv),listActiveSelectionForeground:ew(Kv),listActiveSelectionIconForeground:ew(Gv),listFocusAndSelectionOutline:ew(Uv),listFocusAndSelectionBackground:ew(qv),listFocusAndSelectionForeground:ew(Kv),listInactiveSelectionBackground:ew(Zv),listInactiveSelectionIconForeground:ew(Jv),listInactiveSelectionForeground:ew(Qv),listInactiveFocusBackground:ew(Yv),listInactiveFocusOutline:ew(Xv),listHoverBackground:ew(tb),listHoverForeground:ew(ib),listDropBackground:ew(eb),listSelectionOutline:ew(uw),listHoverOutline:ew(uw),treeIndentGuidesStroke:ew(ub),treeInactiveIndentGuidesStroke:ew(db),tableColumnsBorder:ew(fb),tableOddRowsBackgroundColor:ew(pb)};function FB(t){return function(t){const i={...LB};for(const e in t){const s=t[e];i[e]=void 0!==s?ew(s):void 0}return i}(t)}const TB={selectBackground:ew(Fw),selectListBackground:ew(Tw),selectForeground:ew(Rw),decoratorRightForeground:ew(uv),selectBorder:ew(Ow),focusBorder:ew(aw),listFocusBackground:ew(kb),listInactiveSelectionIconForeground:ew(yb),listFocusForeground:ew(bb),listFocusOutline:(RB=uw,OB=sg.transparent.toString(),`var(${iw(RB)}, ${OB})`),listHoverBackground:ew(tb),listHoverForeground:ew(ib),listHoverOutline:ew(uw),selectListBorder:ew(rv),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropBackground:void 0,listInactiveSelectionBackground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusBackground:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listFocusAndSelectionForeground:void 0,listFocusAndSelectionOutline:void 0,listInactiveFocusForeground:void 0,tableColumnsBorder:void 0,tableOddRowsBackgroundColor:void 0,treeIndentGuidesStroke:void 0,treeInactiveIndentGuidesStroke:void 0};var RB,OB;const IB={shadowColor:ew(fw),borderColor:ew(xb),foregroundColor:ew(Cb),backgroundColor:ew(Sb),selectionForegroundColor:ew(Db),selectionBackgroundColor:ew(Eb),selectionBorderColor:ew(Ab),separatorColor:ew(Mb),scrollbarShadow:ew(Vw),scrollbarSliderBackground:ew(Uw),scrollbarSliderHoverBackground:ew(qw),scrollbarSliderActiveBackground:ew(Kw)};var _B=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},NB=function(t,i){return function(e,s){i(e,s,t)}};function BB(t,i,e,s,n,o){PB(t.getActions(i),e,!1,"string"==typeof s?t=>t===s:s,n,o)}function PB(t,i,e,s=(t=>"navigation"===t),n=(()=>!1),o=!1){let r,h;Array.isArray(i)?(r=i,h=i):(r=i.primary,h=i.secondary);const c=new Set;for(const[i,n]of t){let t;s(i)?(t=r,t.length>0&&o&&t.push(new vr)):(t=h,t.length>0&&t.push(new vr));for(let s of n){e&&(s=s instanceof Bh&&s.alt?s.alt:s);const n=t.push(s);s instanceof br&&c.add({group:i,action:s,index:n-1})}}for(const{group:t,action:i,index:e}of c){const o=s(t)?r:h,c=i.actions;n(i,t,o.length)&&o.splice(e,1,...c)}}let $B=class extends aB{constructor(t,i,e,s,n,o,r,h){super(void 0,t,{icon:!(!t.class&&!t.item.icon),label:!t.class&&!t.item.icon,draggable:null==i?void 0:i.draggable,keybinding:null==i?void 0:i.keybinding,hoverDelegate:null==i?void 0:i.hoverDelegate}),this._keybindingService=e,this._notificationService=s,this._contextKeyService=n,this._themeService=o,this._contextMenuService=r,this._accessibilityService=h,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new ee),this._altKey=Gl.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(t){t.preventDefault(),t.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(t){this._notificationService.error(t)}}render(t){if(super.render(t),t.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let i=!1;const e=()=>{var t;const e=!!(null===(t=this._menuItemAction.alt)||void 0===t?void 0:t.enabled)&&(!this._accessibilityService.isMotionReduced()||i)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&i);e!==this._wantsAltCommand&&(this._wantsAltCommand=e,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(e)),this._register(Va(t,"mouseleave",(()=>{i=!1,e()}))),this._register(Va(t,"mouseenter",(()=>{i=!0,e()}))),e()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){var t;const i=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),e=i&&i.getLabel(),s=this._commandAction.tooltip||this._commandAction.label;let n=e?rt(0,"{0} ({1})",s,e):s;if(!this._wantsAltCommand&&(null===(t=this._menuItemAction.alt)||void 0===t?void 0:t.enabled)){const t=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,i=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),e=i&&i.getLabel(),s=e?rt(0,"{0} ({1})",t,e):t;n=rt(0,"{0}\n[{1}] {2}",n,SO.modifierLabels[_t].altKey,s)}return n}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(t){this._itemClassDispose.value=void 0;const{element:i,label:e}=this;if(!i||!e)return;const s=this._commandAction.checked&&(n=t.toggled)&&void 0!==n.condition&&t.toggled.icon?t.toggled.icon:t.icon;var n;if(s)if(Cr.isThemeIcon(s)){const t=Cr.asClassNameArray(s);e.classList.add(...t),this._itemClassDispose.value=Xi((()=>{e.classList.remove(...t)}))}else e.style.backgroundImage=Ny(this._themeService.getColorTheme().type)?Vl(s.dark):Vl(s.light),e.classList.add("icon"),this._itemClassDispose.value=Yi(Xi((()=>{e.style.backgroundImage="",e.classList.remove("icon")})),this._themeService.onDidColorThemeChange((()=>{this.updateClass()})))}};$B=_B([NB(2,Yx),NB(3,JF),NB(4,ah),NB(5,qk),NB(6,eI),NB(7,zm)],$B);let WB=class extends fB{constructor(t,i,e,s,n){var o,r,h;const c={...i,menuAsChild:null!==(o=null==i?void 0:i.menuAsChild)&&void 0!==o&&o,classNames:null!==(r=null==i?void 0:i.classNames)&&void 0!==r?r:Cr.isThemeIcon(t.item.icon)?Cr.asClassName(t.item.icon):void 0,keybindingProvider:null!==(h=null==i?void 0:i.keybindingProvider)&&void 0!==h?h:t=>e.lookupKeybinding(t.id)};super(t,{getActions:()=>t.actions},s,c),this._keybindingService=e,this._contextMenuService=s,this._themeService=n}render(t){super.render(t),K(this.element),t.classList.add("menu-entry");const i=this._action,{icon:e}=i.item;if(e&&!Cr.isThemeIcon(e)){this.element.classList.add("icon");const t=()=>{this.element&&(this.element.style.backgroundImage=Ny(this._themeService.getColorTheme().type)?Vl(e.dark):Vl(e.light))};t(),this._register(this._themeService.onDidColorThemeChange((()=>{t()})))}}};WB=_B([NB(2,Yx),NB(3,eI),NB(4,qk)],WB);let jB=class extends cB{constructor(t,i,e,s,n,o,r,h){var c,a,l;let u;super(null,t),this._keybindingService=e,this._notificationService=s,this._contextMenuService=n,this._menuService=o,this._instaService=r,this._storageService=h,this._container=null,this._options=i,this._storageKey=`${t.item.submenu.id}_lastActionId`;const d=(null==i?void 0:i.persistLastActionId)?h.get(this._storageKey,1):void 0;d&&(u=t.actions.find((t=>d===t.id))),u||(u=t.actions[0]),this._defaultAction=this._instaService.createInstance($B,u,{keybinding:this._getDefaultActionKeybindingLabel(u)});const f={keybindingProvider:t=>this._keybindingService.lookupKeybinding(t.id),...i,menuAsChild:null===(c=null==i?void 0:i.menuAsChild)||void 0===c||c,classNames:null!==(a=null==i?void 0:i.classNames)&&void 0!==a?a:["codicon","codicon-chevron-down"],actionRunner:null!==(l=null==i?void 0:i.actionRunner)&&void 0!==l?l:new wr};this._dropdown=new fB(t,t.actions,this._contextMenuService,f),this._dropdown.actionRunner.onDidRun((t=>{t.action instanceof Bh&&this.update(t.action)}))}update(t){var i;(null===(i=this._options)||void 0===i?void 0:i.persistLastActionId)&&this._storageService.store(this._storageKey,t.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance($B,t,{keybinding:this._getDefaultActionKeybindingLabel(t)}),this._defaultAction.actionRunner=new class extends wr{async runAction(t,i){await t.run(void 0)}},this._container&&this._defaultAction.render(Il(this._container,$l(".action-container")))}_getDefaultActionKeybindingLabel(t){var i;let e;if(null===(i=this._options)||void 0===i?void 0:i.renderKeybindingWithDefaultActionLabel){const i=this._keybindingService.lookupKeybinding(t.id);i&&(e=`(${i.getLabel()})`)}return e}setActionContext(t){super.setActionContext(t),this._defaultAction.setActionContext(t),this._dropdown.setActionContext(t)}render(t){this._container=t,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const i=$l(".action-container");this._defaultAction.render(Ol(this._container,i)),this._register(Va(i,Ll.KEY_DOWN,(t=>{const i=new Qh(t);i.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),i.stopPropagation())})));const e=$l(".dropdown-action-container");this._dropdown.render(Ol(this._container,e)),this._register(Va(e,Ll.KEY_DOWN,(t=>{var i;const e=new Qh(t);e.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),null===(i=this._defaultAction.element)||void 0===i||i.focus(),e.stopPropagation())})))}focus(t){t?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(t){t?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};jB=_B([NB(2,Yx),NB(3,JF),NB(4,eI),NB(5,Oh),NB(6,ur),NB(7,bB)],jB);let zB=class extends lB{constructor(t,i){super(null,t,t.actions.map((t=>({text:t.id===vr.ID?"─────────":t.label,isDisabled:!t.enabled}))),0,i,TB,{ariaLabel:t.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,t.actions.findIndex((t=>t.checked))))}render(t){super.render(t),t.style.borderColor=ew(Ow)}runAction(t,i){const e=this.action.actions[i];e&&this.actionRunner.run(e)}};function HB(t,i,e){return i instanceof Bh?t.createInstance($B,i,e):i instanceof Nh?i.item.isSelection?t.createInstance(zB,i):i.item.rememberDefaultAction?t.createInstance(jB,i,{...e,persistLastActionId:!0}):t.createInstance(WB,i,e):void 0}zB=_B([NB(1,iI)],zB);class VB extends ie{constructor(t,i={}){var e,s,n,o,r,h;let c,a;switch(super(),this._actionRunnerDisposables=this._register(new te),this.viewItemDisposables=this._register(new oe),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new fe),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new fe({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new fe),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new fe),this.onWillRun=this._onWillRun.event,this.options=i,this._context=null!==(e=i.context)&&void 0!==e?e:null,this._orientation=null!==(s=this.options.orientation)&&void 0!==s?s:0,this._triggerKeys={keyDown:null!==(o=null===(n=this.options.triggerKeys)||void 0===n?void 0:n.keyDown)&&void 0!==o&&o,keys:null!==(h=null===(r=this.options.triggerKeys)||void 0===r?void 0:r.keys)&&void 0!==h?h:[3,10]},this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new wr,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun((t=>this._onDidRun.fire(t)))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((t=>this._onWillRun.fire(t)))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar",!1!==i.animated&&this.domNode.classList.add("animated"),this._orientation){case 0:c=[15],a=[17];break;case 1:c=[16],a=[18],this.domNode.className+=" vertical"}this._register(Va(this.domNode,Ll.KEY_DOWN,(t=>{const i=new Qh(t);let e=!0;const s="number"==typeof this.focusedItem?this.viewItems[this.focusedItem]:void 0;c&&(i.equals(c[0])||i.equals(c[1]))?e=this.focusPrevious():a&&(i.equals(a[0])||i.equals(a[1]))?e=this.focusNext():i.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():i.equals(14)?e=this.focusFirst():i.equals(13)?e=this.focusLast():i.equals(2)&&s instanceof cB&&s.trapsArrowNavigation?e=this.focusNext():this.isTriggerKeyEvent(i)?this._triggerKeys.keyDown?this.doTrigger(i):this.triggerKeyDown=!0:e=!1,e&&(i.preventDefault(),i.stopPropagation())}))),this._register(Va(this.domNode,Ll.KEY_UP,(t=>{const i=new Qh(t);this.isTriggerKeyEvent(i)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(i)),i.preventDefault(),i.stopPropagation()):(i.equals(2)||i.equals(1026)||i.equals(16)||i.equals(18)||i.equals(15)||i.equals(17))&&this.updateFocusedItem()}))),this.focusTracker=this._register(Rl(this.domNode)),this._register(this.focusTracker.onDidBlur((()=>{pl()!==this.domNode&&al(pl(),this.domNode)||(this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1)}))),this._register(this.focusTracker.onDidFocus((()=>this.updateFocusedItem()))),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.highlightToggledItems&&this.actionsList.classList.add("highlight-toggled"),this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),t.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(t){if(this.focusable=t,this.focusable){const t=this.viewItems.find((t=>t instanceof cB&&t.isEnabled()));t instanceof cB&&t.setFocusable(!0)}else this.viewItems.forEach((t=>{t instanceof cB&&t.setFocusable(!1)}))}isTriggerKeyEvent(t){let i=!1;return this._triggerKeys.keys.forEach((e=>{i=i||t.equals(e)})),i}updateFocusedItem(){var t,i;for(let e=0;ei.setActionContext(t)))}get actionRunner(){return this._actionRunner}set actionRunner(t){this._actionRunner=t,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun((t=>this._onDidRun.fire(t)))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun((t=>this._onWillRun.fire(t)))),this.viewItems.forEach((i=>i.actionRunner=t))}getContainer(){return this.domNode}getAction(t){var i;if("number"==typeof t)return null===(i=this.viewItems[t])||void 0===i?void 0:i.action;if(t instanceof HTMLElement){for(;t.parentElement!==this.actionsList;){if(!t.parentElement)return;t=t.parentElement}for(let i=0;i{const e=document.createElement("li");let n;e.className="action-item",e.setAttribute("role","presentation");const o={hoverDelegate:this.options.hoverDelegate,...i};this.options.actionViewItemProvider&&(n=this.options.actionViewItemProvider(t,o)),n||(n=new aB(this.context,t,o)),this.options.allowContextMenu||this.viewItemDisposables.set(n,Va(e,Ll.CONTEXT_MENU,(t=>{Fl(t,!0)}))),n.actionRunner=this._actionRunner,n.setActionContext(this.context),n.render(e),this.focusable&&n instanceof cB&&0===this.viewItems.length&&n.setFocusable(!0),null===s||s<0||s>=this.actionsList.children.length?(this.actionsList.appendChild(e),this.viewItems.push(n)):(this.actionsList.insertBefore(e,this.actionsList.children[s]),this.viewItems.splice(s,0,n),s++)})),"number"==typeof this.focusedItem&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=Ji(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),za(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return 0===this.viewItems.length}focus(t){let i,e=!1;if(void 0===t?e=!0:"number"==typeof t?i=t:"boolean"==typeof t&&(e=t),e&&void 0===this.focusedItem){const t=this.viewItems.findIndex((t=>t.isEnabled()));this.focusedItem=-1===t?void 0:t,this.updateFocus(void 0,void 0,!0)}else void 0!==i&&(this.focusedItem=i),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(t){if(void 0===this.focusedItem)this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const i=this.focusedItem;let e;do{if(!t&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=i,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,e=this.viewItems[this.focusedItem]}while(this.focusedItem!==i&&(this.options.focusOnlyEnabledItems&&!e.isEnabled()||e.action.id===vr.ID));return this.updateFocus(),!0}focusPrevious(t){if(void 0===this.focusedItem)this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const i=this.focusedItem;let e;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!t&&this.options.preventLoopNavigation)return this.focusedItem=i,!1;this.focusedItem=this.viewItems.length-1}e=this.viewItems[this.focusedItem]}while(this.focusedItem!==i&&(this.options.focusOnlyEnabledItems&&!e.isEnabled()||e.action.id===vr.ID));return this.updateFocus(!0),!0}updateFocus(t,i,e=!1){var s,n;void 0===this.focusedItem&&this.actionsList.focus({preventScroll:i}),void 0!==this.previouslyFocusedItem&&this.previouslyFocusedItem!==this.focusedItem&&(null===(s=this.viewItems[this.previouslyFocusedItem])||void 0===s||s.blur());const o=void 0!==this.focusedItem?this.viewItems[this.focusedItem]:void 0;if(o){let s=!0;Z(o.focus)||(s=!1),this.options.focusOnlyEnabledItems&&Z(o.isEnabled)&&!o.isEnabled()&&(s=!1),o.action.id===vr.ID&&(s=!1),s&&(null===(n=o.showHover)||void 0===n||n.call(o)),s?(e||this.previouslyFocusedItem!==this.focusedItem)&&(o.focus(t),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:i}),this.previouslyFocusedItem=void 0)}}doTrigger(t){if(void 0===this.focusedItem)return;const i=this.viewItems[this.focusedItem];i instanceof cB&&this.run(i._action,null==i._context?t:i._context)}async run(t,i){await this._actionRunner.run(t,i)}dispose(){this._context=void 0,this.viewItems=Ji(this.viewItems),this.getContainer().remove(),super.dispose()}}const UB=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,qB=/(&)?(&)([^\s&])/g;var KB;!function(t){t[t.Right=0]="Right",t[t.Left=1]="Left"}(KB||(KB={}));class GB extends VB{constructor(t,i,e,s){t.classList.add("monaco-menu-container"),t.setAttribute("role","presentation");const n=document.createElement("div");n.classList.add("monaco-menu"),n.setAttribute("role","presentation"),super(n,{orientation:1,actionViewItemProvider:t=>this.doGetActionViewItem(t,e,o),context:e.context,actionRunner:e.actionRunner,ariaLabel:e.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...St||Dt?[10]:[]],keyDown:!0}}),this.menuStyles=s,this.menuElement=n,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(t,s),this._register(Xm.addTarget(n)),this._register(Va(n,Ll.KEY_DOWN,(t=>{new Qh(t).equals(2)&&t.preventDefault()}))),e.enableMnemonics&&this._register(Va(n,Ll.KEY_DOWN,(t=>{const i=t.key.toLocaleLowerCase();if(this.mnemonics.has(i)){Fl(t,!0);const e=this.mnemonics.get(i);if(1===e.length&&(e[0]instanceof QB&&e[0].container&&this.focusItemByElement(e[0].container),e[0].onClick(t)),e.length>1){const t=e.shift();t&&t.container&&(this.focusItemByElement(t.container),e.push(t)),this.mnemonics.set(i,e)}}}))),Dt&&this._register(Va(n,Ll.KEY_DOWN,(t=>{const i=new Qh(t);i.equals(14)||i.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),Fl(t,!0)):(i.equals(13)||i.equals(12))&&(this.focusedItem=0,this.focusPrevious(),Fl(t,!0))}))),this._register(Va(this.domNode,Ll.MOUSE_OUT,(t=>{al(t.relatedTarget,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),t.stopPropagation())}))),this._register(Va(this.actionsList,Ll.MOUSE_OVER,(t=>{let i=t.target;if(i&&al(i,this.actionsList)&&i!==this.actionsList){for(;i.parentElement!==this.actionsList&&null!==i.parentElement;)i=i.parentElement;if(i.classList.contains("action-item")){const t=this.focusedItem;this.setFocusedItem(i),t!==this.focusedItem&&this.updateFocus()}}}))),this._register(Xm.addTarget(this.actionsList)),this._register(Va(this.actionsList,Ym.Tap,(t=>{let i=t.initialTarget;if(i&&al(i,this.actionsList)&&i!==this.actionsList){for(;i.parentElement!==this.actionsList&&null!==i.parentElement;)i=i.parentElement;if(i.classList.contains("action-item")){const t=this.focusedItem;this.setFocusedItem(i),t!==this.focusedItem&&this.updateFocus()}}})));const o={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new Sk(n,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const r=this.scrollableElement.getDomNode();r.style.position="",this.styleScrollElement(r,s),this._register(Va(n,Ym.Change,(t=>{Fl(t,!0);const i=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:i-t.translationY})}))),this._register(Va(r,Ll.MOUSE_UP,(t=>{t.preventDefault()})));const h=Na(t);n.style.maxHeight=`${Math.max(10,h.innerHeight-t.getBoundingClientRect().top-35)}px`,i=i.filter((t=>{var i;return!(null===(i=e.submenuIds)||void 0===i?void 0:i.has(t.id))||(console.warn(`Found submenu cycle: ${t.id}`),!1)})),this.push(i,{icon:!0,label:!0,isMenu:!0}),t.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter((t=>!(t instanceof JB))).forEach(((t,i,e)=>{t.updatePositionInSet(i+1,e.length)}))}initializeOrUpdateStyleSheet(t,i){this.styleSheet||(dl(t)?this.styleSheet=vl(t):(GB.globalStyleSheet||(GB.globalStyleSheet=vl()),this.styleSheet=GB.globalStyleSheet)),this.styleSheet.textContent=function(t,i){let e=`\n.monaco-menu {\n\tfont-size: 13px;\n\tborder-radius: 5px;\n\tmin-width: 160px;\n}\n\n${YB(Os.menuSelection)}\n${YB(Os.menuSubmenu)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar.animated .action-item.active {\n\ttransform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\tcolor: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid var(--vscode-menu-separatorBackground);\n\tpadding-top: 1px;\n\tpadding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n\tmargin: 0 4px;\n\tborder-radius: 4px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {\n\topacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\twidth: 100%;\n\theight: 0px !important;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.hc-black .context-view.monaco-menu-container,\n.hc-light .context-view.monaco-menu-container,\n:host-context(.hc-black) .context-view.monaco-menu-container,\n:host-context(.hc-light) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tmargin: 5px 0 !important;\n\tpadding: 0;\n\tborder-radius: 0;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}`;if(i){e+="\n\t\t\t/* Arrows */\n\t\t\t.monaco-scrollable-element > .scrollbar > .scra {\n\t\t\t\tcursor: pointer;\n\t\t\t\tfont-size: 11px !important;\n\t\t\t}\n\n\t\t\t.monaco-scrollable-element > .visible {\n\t\t\t\topacity: 1;\n\n\t\t\t\t/* Background rule added for IE9 - to allow clicks on dom node */\n\t\t\t\tbackground:rgba(0,0,0,0);\n\n\t\t\t\ttransition: opacity 100ms linear;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible {\n\t\t\t\topacity: 0;\n\t\t\t\tpointer-events: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .invisible.fade {\n\t\t\t\ttransition: opacity 800ms linear;\n\t\t\t}\n\n\t\t\t/* Scrollable Content Inset Shadow */\n\t\t\t.monaco-scrollable-element > .shadow {\n\t\t\t\tposition: absolute;\n\t\t\t\tdisplay: none;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 3px;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 3px;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 100%;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t\t.monaco-scrollable-element > .shadow.top-left-corner {\n\t\t\t\tdisplay: block;\n\t\t\t\ttop: 0;\n\t\t\t\tleft: 0;\n\t\t\t\theight: 3px;\n\t\t\t\twidth: 3px;\n\t\t\t}\n\t\t";const i=t.scrollbarShadow;i&&(e+=`\n\t\t\t\t.monaco-scrollable-element > .shadow.top {\n\t\t\t\t\tbox-shadow: ${i} 0 6px 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.left {\n\t\t\t\t\tbox-shadow: ${i} 6px 0 6px -6px inset;\n\t\t\t\t}\n\n\t\t\t\t.monaco-scrollable-element > .shadow.top.left {\n\t\t\t\t\tbox-shadow: ${i} 6px 6px 6px -6px inset;\n\t\t\t\t}\n\t\t\t`);const s=t.scrollbarSliderBackground;s&&(e+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider {\n\t\t\t\t\tbackground: ${s};\n\t\t\t\t}\n\t\t\t`);const n=t.scrollbarSliderHoverBackground;n&&(e+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider:hover {\n\t\t\t\t\tbackground: ${n};\n\t\t\t\t}\n\t\t\t`);const o=t.scrollbarSliderActiveBackground;o&&(e+=`\n\t\t\t\t.monaco-scrollable-element > .scrollbar > .slider.active {\n\t\t\t\t\tbackground: ${o};\n\t\t\t\t}\n\t\t\t`)}return e}(i,dl(t))}styleScrollElement(t,i){var e,s;const n=null!==(e=i.foregroundColor)&&void 0!==e?e:"",o=null!==(s=i.backgroundColor)&&void 0!==s?s:"",r=i.shadowColor?`0 2px 8px ${i.shadowColor}`:"";t.style.outline=i.borderColor?`1px solid ${i.borderColor}`:"",t.style.borderRadius="5px",t.style.color=n,t.style.backgroundColor=o,t.style.boxShadow=r}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(t){const i=this.focusedItem;this.setFocusedItem(t),i!==this.focusedItem&&this.updateFocus()}setFocusedItem(t){for(let i=0;i{this.element&&(this._register(Va(this.element,Ll.MOUSE_UP,(t=>{if(Fl(t,!0),Uo){if(new tc(Na(this.element),t).rightButton)return;this.onClick(t)}else setTimeout((()=>{this.onClick(t)}),0)}))),this._register(Va(this.element,Ll.CONTEXT_MENU,(t=>{Fl(t,!0)}))))}),100),this._register(this.runOnceToEnableMouseUp)}render(t){super.render(t),this.element&&(this.container=t,this.item=Ol(this.element,$l("a.action-menu-item")),this._action.id===vr.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",`${this.mnemonic}`)),this.check=Ol(this.item,$l("span.menu-item-check"+Cr.asCSSSelector(Os.menuSelection))),this.check.setAttribute("role","none"),this.label=Ol(this.item,$l("span.action-label")),this.options.label&&this.options.keybinding&&(Ol(this.item,$l("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){var t;super.focus(),null===(t=this.item)||void 0===t||t.focus(),this.applyStyle()}updatePositionInSet(t,i){this.item&&(this.item.setAttribute("aria-posinset",`${t}`),this.item.setAttribute("aria-setsize",`${i}`))}updateLabel(){var t;if(this.label&&this.options.label){za(this.label);let i=S_(this.action.label);if(i){const e=function(t){const i=UB,e=i.exec(t);if(!e)return t;return t.replace(i,!e[1]?"$2$3":"").trim()}(i);this.options.enableMnemonics||(i=e),this.label.setAttribute("aria-label",e.replace(/&&/g,"&"));const s=UB.exec(i);if(s){i=Kn(i),qB.lastIndex=0;let e=qB.exec(i);for(;e&&e[1];)e=qB.exec(i);const n=t=>t.replace(/&&/g,"&");e?this.label.append(Qn(n(i.substr(0,e.index))," "),$l("u",{"aria-hidden":"true"},e[3]),Jn(n(i.substr(e.index+e[0].length))," ")):this.label.innerText=n(i).trim(),null===(t=this.item)||void 0===t||t.setAttribute("aria-keyshortcuts",(s[1]?s[1]:s[3]).toLocaleLowerCase())}else this.label.innerText=i.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;const t=this.action.checked;this.item.classList.toggle("checked",!!t),void 0!==t?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",t?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const t=this.element&&this.element.classList.contains("focused"),i=t&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,e=t&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,s=t&&this.menuStyle.selectionBorderColor?`1px solid ${this.menuStyle.selectionBorderColor}`:"",n=t&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=null!=i?i:"",this.item.style.backgroundColor=null!=e?e:"",this.item.style.outline=s,this.item.style.outlineOffset=n),this.check&&(this.check.style.color=null!=i?i:"")}}class QB extends ZB{constructor(t,i,e,s,n){super(t,t,s,n),this.submenuActions=i,this.parentData=e,this.submenuOptions=s,this.mysubmenu=null,this.submenuDisposables=this._register(new te),this.mouseOver=!1,this.expandDirection=s&&void 0!==s.expandDirection?s.expandDirection:KB.Right,this.showScheduler=new pc((()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))}),250),this.hideScheduler=new pc((()=>{this.element&&!al(pl(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))}),750)}render(t){super.render(t),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=Ol(this.item,$l("span.submenu-indicator"+Cr.asCSSSelector(Os.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(Va(this.element,Ll.KEY_UP,(t=>{const i=new Qh(t);(i.equals(17)||i.equals(3))&&(Fl(t,!0),this.createSubmenu(!0))}))),this._register(Va(this.element,Ll.KEY_DOWN,(t=>{const i=new Qh(t);pl()===this.item&&(i.equals(17)||i.equals(3))&&Fl(t,!0)}))),this._register(Va(this.element,Ll.MOUSE_OVER,(()=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())}))),this._register(Va(this.element,Ll.MOUSE_LEAVE,(()=>{this.mouseOver=!1}))),this._register(Va(this.element,Ll.FOCUS_OUT,(()=>{this.element&&!al(pl(),this.element)&&this.hideScheduler.schedule()}))),this._register(this.parentData.parent.onScroll((()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))}))))}updateEnabled(){}onClick(t){Fl(t,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(t){if(this.parentData.submenu&&(t||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch(t){}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(t,i,e,s){const n={top:0,left:0};return n.left=oI(t.width,i.width,{position:s===KB.Right?0:1,offset:e.left,size:e.width}),n.left>=e.left&&n.left{new Qh(t).equals(15)&&(Fl(t,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))}))),this.submenuDisposables.add(Va(this.submenuContainer,Ll.KEY_DOWN,(t=>{new Qh(t).equals(15)&&Fl(t,!0)}))),this.submenuDisposables.add(this.parentData.submenu.onDidCancel((()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)}))),this.parentData.submenu.focus(t),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(t){var i;this.item&&(null===(i=this.item)||void 0===i||i.setAttribute("aria-expanded",t))}applyStyle(){super.applyStyle();const t=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=null!=t?t:"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class JB extends aB{constructor(t,i,e,s){super(t,i,e),this.menuStyles=s}render(t){super.render(t),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?`${this.menuStyles.separatorColor}`:"")}}function YB(t){const i=Rs()[t.id];return`.codicon-${t.id}:before { content: '\\${i.toString(16)}'; }`}class XB{constructor(t,i,e,s){this.contextViewService=t,this.telemetryService=i,this.notificationService=e,this.keybindingService=s,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(t){this.options=t}showContextMenu(t){const i=t.getActions();if(!i.length)return;let e;this.focusToReturn=pl();const s=t.domForShadowRoot instanceof HTMLElement?t.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>t.getAnchor(),canRelayout:!1,anchorAlignment:t.anchorAlignment,anchorAxisAlignment:t.anchorAxisAlignment,render:s=>{var n;this.lastContainer=s;const o=t.getMenuClassName?t.getMenuClassName():"";o&&(s.className+=" "+o),this.options.blockMouse&&(this.block=s.appendChild($l(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",null===(n=this.blockDisposable)||void 0===n||n.dispose(),this.blockDisposable=Va(this.block,Ll.MOUSE_DOWN,(t=>t.stopPropagation())));const r=new te,h=t.actionRunner||new wr;h.onWillRun((i=>this.onActionRun(i,!t.skipTelemetry)),this,r),h.onDidRun(this.onDidActionRun,this,r),e=new GB(s,i,{actionViewItemProvider:t.getActionViewItem,context:t.getActionsContext?t.getActionsContext():null,actionRunner:h,getKeyBinding:t.getKeyBinding?t.getKeyBinding:t=>this.keybindingService.lookupKeybinding(t.id)},IB),e.onDidCancel((()=>this.contextViewService.hideContextView(!0)),null,r),e.onDidBlur((()=>this.contextViewService.hideContextView(!0)),null,r);const c=Na(s);return r.add(Va(c,Ll.BLUR,(()=>this.contextViewService.hideContextView(!0)))),r.add(Va(c,Ll.MOUSE_DOWN,(t=>{if(t.defaultPrevented)return;const i=new tc(c,t);let e=i.target;if(!i.rightButton){for(;e;){if(e===s)return;e=e.parentElement}this.contextViewService.hideContextView(!0)}}))),Yi(r,e)},focus:()=>{null==e||e.focus(!!t.autoSelectFirstItem)},onHide:i=>{var e,s,n;null===(e=t.onHide)||void 0===e||e.call(t,!!i),this.block&&(this.block.remove(),this.block=null),null===(s=this.blockDisposable)||void 0===s||s.dispose(),this.blockDisposable=null,this.lastContainer&&(pl()===this.lastContainer||al(pl(),this.lastContainer))&&(null===(n=this.focusToReturn)||void 0===n||n.focus()),this.lastContainer=null}},s,!!s)}onActionRun(t,i){i&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:t.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(t){t.error&&!zi(t.error)&&this.notificationService.error(t.error)}}var tP=function(t,i){return function(e,s){i(e,s,t)}};let iP=class extends ie{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new XB(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(t,i,e,s,n,o){super(),this.telemetryService=t,this.notificationService=i,this.contextViewService=e,this.keybindingService=s,this.menuService=n,this.contextKeyService=o,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new fe),this._onDidHideContextMenu=this._store.add(new fe)}configure(t){this.contextMenuHandler.configure(t)}showContextMenu(t){t=eP.transform(t,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...t,onHide:i=>{var e;null===(e=t.onHide)||void 0===e||e.call(t,i),this._onDidHideContextMenu.fire()}}),Gl.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};var eP,sP;iP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([tP(0,Wh),tP(1,JF),tP(2,iI),tP(3,Yx),tP(4,Oh),tP(5,ah)],iP),function(t){t.transform=function(t,i,e){if(!((s=t)&&s.menuId instanceof Rh))return t;var s;const{menuId:n,menuActionOptions:o,contextKeyService:r}=t;return{...t,getActions:()=>{const s=[];if(n){const t=i.createMenu(n,null!=r?r:e);!function(t,i,e){const s=t.getActions(i),n=Gl.getInstance();PB(s,e,n.keyStatus.altKey||(Ct||Dt)&&n.keyStatus.shiftKey,(t=>"navigation"===t))}(t,o,s),t.dispose()}return t.getActions?vr.join(t.getActions(),s):s}}}}(eP||(eP={})),function(t){t[t.API=0]="API",t[t.USER=1]="USER"}(sP||(sP={}));const nP=dr("openerService");var oP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},rP=function(t,i){return function(e,s){i(e,s,t)}};let hP=class{constructor(t){this._commandService=t}async open(t,i){if(!xa(t,ka.command))return!1;if(!(null==i?void 0:i.allowCommands))return!0;if("string"==typeof t&&(t=ms.parse(t)),Array.isArray(i.allowCommands)&&!i.allowCommands.includes(t.path))return!0;let e=[];try{e=K_(decodeURIComponent(t.query))}catch(i){try{e=K_(t.query)}catch(t){}}return Array.isArray(e)||(e=[e]),await this._commandService.executeCommand(t.path,...e),!0}};hP=oP([rP(0,Sr)],hP);let cP=class{constructor(t){this._editorService=t}async open(t,i){"string"==typeof t&&(t=ms.parse(t));const{selection:e,uri:s}=function(t){let i;const e=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(t.fragment);return e&&(i={startLineNumber:parseInt(e[1]),startColumn:e[2]?parseInt(e[2]):1,endLineNumber:e[4]?parseInt(e[4]):void 0,endColumn:e[4]?e[5]?parseInt(e[5]):1:void 0},t=t.with({fragment:""})),{selection:i,uri:t}}(t);return(t=s).scheme===ka.file&&(t=gA(t)),await this._editorService.openCodeEditor({resource:t,options:{selection:e,source:(null==i?void 0:i.fromUserGesture)?sP.USER:sP.API,...null==i?void 0:i.editorOptions}},this._editorService.getFocusedCodeEditor(),null==i?void 0:i.openToSide),!0}};cP=oP([rP(0,fr)],cP);let aP=class{constructor(t,i){this._openers=new qt,this._validators=new qt,this._resolvers=new qt,this._resolvedUriTargets=new _p((t=>t.with({path:null,fragment:null,query:null}).toString())),this._externalOpeners=new qt,this._defaultExternalOpener={openExternal:async t=>(Ca(t,ka.http,ka.https)?Hl(t):$n.location.href=t,!0)},this._openers.push({open:async(t,i)=>!(!(null==i?void 0:i.openExternal)&&!Ca(t,ka.mailto,ka.http,ka.https,ka.vsls)||(await this._doOpenExternal(t,i),0))}),this._openers.push(new hP(i)),this._openers.push(new cP(t))}registerOpener(t){return{dispose:this._openers.unshift(t)}}async open(t,i){var e;const s="string"==typeof t?ms.parse(t):t,n=null!==(e=this._resolvedUriTargets.get(s))&&void 0!==e?e:t;for(const t of this._validators)if(!await t.shouldOpen(n,i))return!1;for(const e of this._openers)if(await e.open(t,i))return!0;return!1}async resolveExternalUri(t,i){for(const e of this._resolvers)try{const s=await e.resolveExternalUri(t,i);if(s)return this._resolvedUriTargets.has(s.resolved)||this._resolvedUriTargets.set(s.resolved,t),s}catch(t){}throw new Error("Could not resolve external URI: "+t.toString())}async _doOpenExternal(t,i){const e="string"==typeof t?ms.parse(t):t;let s,n;try{s=(await this.resolveExternalUri(e,i)).resolved}catch(t){s=e}if(n="string"==typeof t&&e.toString()===s.toString()?t:encodeURI(s.toString(!0)),null==i?void 0:i.allowContributedOpeners){const t="string"==typeof(null==i?void 0:i.allowContributedOpeners)?null==i?void 0:i.allowContributedOpeners:void 0;for(const i of this._externalOpeners)if(await i.openExternal(n,{sourceUri:e,preferredOpenerId:t},xe.None))return!0}return this._defaultExternalOpener.openExternal(n,{sourceUri:e},xe.None)}dispose(){this._validators.clear()}};aP=oP([rP(0,fr),rP(1,Sr)],aP);const lP=dr("editorWorkerService");var uP,dP;!function(t){t[t.Hint=1]="Hint",t[t.Info=2]="Info",t[t.Warning=4]="Warning",t[t.Error=8]="Error"}(uP||(uP={})),function(t){t.compare=function(t,i){return i-t};const i=Object.create(null);i[t.Error]=rt(0,"Error"),i[t.Warning]=rt(0,"Warning"),i[t.Info]=rt(0,"Info"),t.toString=function(t){return i[t]||""},t.fromSeverity=function(i){switch(i){case ZF.Error:return t.Error;case ZF.Warning:return t.Warning;case ZF.Info:return t.Info;case ZF.Ignore:return t.Hint}},t.toSeverity=function(i){switch(i){case t.Error:return ZF.Error;case t.Warning:return ZF.Warning;case t.Info:return ZF.Info;case t.Hint:return ZF.Ignore}}}(uP||(uP={})),function(t){const i="";function e(t,e){const s=[i];return s.push(t.source?t.source.replace("¦","\\¦"):i),s.push(t.code?"string"==typeof t.code?t.code.replace("¦","\\¦"):t.code.value.replace("¦","\\¦"):i),s.push(null!=t.severity?uP.toString(t.severity):i),s.push(t.message&&e?t.message.replace("¦","\\¦"):i),s.push(null!=t.startLineNumber?t.startLineNumber.toString():i),s.push(null!=t.startColumn?t.startColumn.toString():i),s.push(null!=t.endLineNumber?t.endLineNumber.toString():i),s.push(null!=t.endColumn?t.endColumn.toString():i),s.push(i),s.join("¦")}t.makeKey=function(t){return e(t,!0)},t.makeKeyOptionalMessage=e}(dP||(dP={}));const fP=dr("markerService");var pP=function(t,i){return function(e,s){i(e,s,t)}};let gP=class extends ie{constructor(t,i){super(),this._markerService=i,this._onDidChangeMarker=this._register(new fe),this._markerDecorations=new _p,t.getModels().forEach((t=>this._onModelAdded(t))),this._register(t.onModelAdded(this._onModelAdded,this)),this._register(t.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach((t=>t.dispose())),this._markerDecorations.clear()}getMarker(t,i){const e=this._markerDecorations.get(t);return e&&e.getMarker(i)||null}_handleMarkerChange(t){t.forEach((t=>{const i=this._markerDecorations.get(t);i&&this._updateDecorations(i)}))}_onModelAdded(t){const i=new mP(t);this._markerDecorations.set(t.uri,i),this._updateDecorations(i)}_onModelRemoved(t){var i;const e=this._markerDecorations.get(t.uri);e&&(e.dispose(),this._markerDecorations.delete(t.uri)),t.uri.scheme!==ka.inMemory&&t.uri.scheme!==ka.internal&&t.uri.scheme!==ka.vscode||null===(i=this._markerService)||void 0===i||i.read({resource:t.uri}).map((t=>t.owner)).forEach((i=>this._markerService.remove(i,[t.uri])))}_updateDecorations(t){const i=this._markerService.read({resource:t.model.uri,take:500});t.update(i)&&this._onDidChangeMarker.fire(t.model)}};gP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([pP(0,pr),pP(1,fP)],gP);class mP extends ie{constructor(t){super(),this.model=t,this._map=new Pp,this._register(Xi((()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()})))}update(t){const{added:i,removed:e}=function(t,i){const e=[],s=[];for(const s of t)i.has(s)||e.push(s);for(const e of i)t.has(e)||s.push(e);return{removed:e,added:s}}(new Set(this._map.keys()),new Set(t));if(0===i.length&&0===e.length)return!1;const s=e.map((t=>this._map.get(t))),n=i.map((t=>({range:this._createDecorationRange(this.model,t),options:this._createDecorationOption(t)}))),o=this.model.deltaDecorations(s,n);for(const t of e)this._map.delete(t);for(let t=0;t=i)return e;const s=t.getWordAtPosition(e.getStartPosition());s&&(e=new Ms(e.startLineNumber,s.startColumn,e.endLineNumber,s.endColumn))}else if(i.endColumn===Number.MAX_VALUE&&1===i.startColumn&&e.startLineNumber===e.endLineNumber){const s=t.getLineFirstNonWhitespaceColumn(i.startLineNumber);s=0}}var wP,vP=function(t,i){return function(e,s){i(e,s,t)}};function bP(t){return t.toString()}class yP{constructor(t,i,e){this.model=t,this._modelEventListeners=new te,this.model=t,this._modelEventListeners.add(t.onWillDispose((()=>i(t)))),this._modelEventListeners.add(t.onDidChangeLanguage((i=>e(t,i))))}dispose(){this._modelEventListeners.dispose()}}const kP=Dt||St?1:2;class xP{constructor(t,i,e,s,n,o,r,h){this.uri=t,this.initialUndoRedoSnapshot=i,this.time=e,this.sharesUndoRedoStack=s,this.heapSize=n,this.sha1=o,this.versionId=r,this.alternativeVersionId=h}}let CP=wP=class extends ie{constructor(t,i,e,s,n){super(),this._configurationService=t,this._resourcePropertiesService=i,this._undoRedoService=e,this._languageService=s,this._languageConfigurationService=n,this._onModelAdded=this._register(new fe),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new fe),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new fe),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration((t=>this._updateModelOptions(t)))),this._updateModelOptions(void 0)}static _readModelOptions(t,i){var e;let s=Ht.tabSize;if(t.editor&&void 0!==t.editor.tabSize){const i=parseInt(t.editor.tabSize,10);isNaN(i)||(s=i),s<1&&(s=1)}let n="tabSize";if(t.editor&&void 0!==t.editor.indentSize&&"tabSize"!==t.editor.indentSize){const i=parseInt(t.editor.indentSize,10);isNaN(i)||(n=Math.max(i,1))}let o=Ht.insertSpaces;t.editor&&void 0!==t.editor.insertSpaces&&(o="false"!==t.editor.insertSpaces&&Boolean(t.editor.insertSpaces));let r=kP;const h=t.eol;"\r\n"===h?r=2:"\n"===h&&(r=1);let c=Ht.trimAutoWhitespace;t.editor&&void 0!==t.editor.trimAutoWhitespace&&(c="false"!==t.editor.trimAutoWhitespace&&Boolean(t.editor.trimAutoWhitespace));let a=Ht.detectIndentation;t.editor&&void 0!==t.editor.detectIndentation&&(a="false"!==t.editor.detectIndentation&&Boolean(t.editor.detectIndentation));let l=Ht.largeFileOptimizations;t.editor&&void 0!==t.editor.largeFileOptimizations&&(l="false"!==t.editor.largeFileOptimizations&&Boolean(t.editor.largeFileOptimizations));let u=Ht.bracketPairColorizationOptions;return(null===(e=t.editor)||void 0===e?void 0:e.bracketPairColorization)&&"object"==typeof t.editor.bracketPairColorization&&(u={enabled:!!t.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!t.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:i,tabSize:s,indentSize:n,insertSpaces:o,detectIndentation:a,defaultEOL:r,trimAutoWhitespace:c,largeFileOptimizations:l,bracketPairColorizationOptions:u}}_getEOL(t,i){if(t)return this._resourcePropertiesService.getEOL(t,i);const e=this._configurationService.getValue("files.eol",{overrideIdentifier:i});return e&&"string"==typeof e&&"auto"!==e?e:3===_t||2===_t?"\n":"\r\n"}_shouldRestoreUndoStack(){const t=this._configurationService.getValue("files.restoreUndoStack");return"boolean"!=typeof t||t}getCreationOptions(t,i,e){const s="string"==typeof t?t:t.languageId;let n=this._modelCreationOptionsByLanguageAndResource[s+i];if(!n){const t=this._configurationService.getValue("editor",{overrideIdentifier:s,resource:i}),o=this._getEOL(i,s);n=wP._readModelOptions({editor:t,eol:o},e),this._modelCreationOptionsByLanguageAndResource[s+i]=n}return n}_updateModelOptions(t){const i=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const e=Object.keys(this._models);for(let s=0,n=e.length;st){const i=[];for(this._disposedModels.forEach((t=>{t.sharesUndoRedoStack||i.push(t)})),i.sort(((t,i)=>t.time-i.time));i.length>0&&this._disposedModelsHeapSize>t;){const t=i.shift();this._removeDisposedModel(t.uri),null!==t.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(t.initialUndoRedoSnapshot)}}}_createModelData(t,i,e,s){const n=this.getCreationOptions(i,e,s),o=new aL(t,i,n,e,this._undoRedoService,this._languageService,this._languageConfigurationService);if(e&&this._disposedModels.has(bP(e))){const t=this._removeDisposedModel(e),i=this._undoRedoService.getElements(e),s=this._getSHA1Computer(),n=!!s.canComputeSHA1(o)&&s.computeSHA1(o)===t.sha1;if(n||t.sharesUndoRedoStack){for(const t of i.past)EA(t)&&t.matchesResource(e)&&t.setModel(o);for(const t of i.future)EA(t)&&t.matchesResource(e)&&t.setModel(o);this._undoRedoService.setElementsValidFlag(e,!0,(t=>EA(t)&&t.matchesResource(e))),n&&(o._overwriteVersionId(t.versionId),o._overwriteAlternativeVersionId(t.alternativeVersionId),o._overwriteInitialUndoRedoSnapshot(t.initialUndoRedoSnapshot))}else null!==t.initialUndoRedoSnapshot&&this._undoRedoService.restoreSnapshot(t.initialUndoRedoSnapshot)}const r=bP(o.uri);if(this._models[r])throw new Error("ModelService: Cannot add model because it already exists!");const h=new yP(o,(t=>this._onWillDispose(t)),((t,i)=>this._onDidChangeLanguage(t,i)));return this._models[r]=h,h}createModel(t,i,e,s=!1){let n;return n=this._createModelData(t,i||Pd,e,s),this._onModelAdded.fire(n.model),n.model}getModels(){const t=[],i=Object.keys(this._models);for(let e=0,s=i.length;e0||i.future.length>0){for(const e of i.past)EA(e)&&e.matchesResource(t.uri)&&(n=!0,o+=e.heapSize(t.uri),e.setModel(t.uri));for(const e of i.future)EA(e)&&e.matchesResource(t.uri)&&(n=!0,o+=e.heapSize(t.uri),e.setModel(t.uri))}}const r=wP.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,h=this._getSHA1Computer();if(n)if(s||!(o>r)&&h.canComputeSHA1(t))this._ensureDisposedModelsHeapSize(r-o),this._undoRedoService.setElementsValidFlag(t.uri,!1,(i=>EA(i)&&i.matchesResource(t.uri))),this._insertDisposedModel(new xP(t.uri,e.model.getInitialUndoRedoSnapshot(),Date.now(),s,o,h.computeSHA1(t),t.getVersionId(),t.getAlternativeVersionId()));else{const t=e.model.getInitialUndoRedoSnapshot();null!==t&&this._undoRedoService.restoreSnapshot(t)}else if(!s){const t=e.model.getInitialUndoRedoSnapshot();null!==t&&this._undoRedoService.restoreSnapshot(t)}delete this._models[i],e.dispose(),delete this._modelCreationOptionsByLanguageAndResource[t.getLanguageId()+t.uri],this._onModelRemoved.fire(t)}_onDidChangeLanguage(t,i){const e=i.oldLanguage,s=t.getLanguageId(),n=this.getCreationOptions(e,t.uri,t.isForSimpleWidget),o=this.getCreationOptions(s,t.uri,t.isForSimpleWidget);wP._setModelOptionsForModel(t,o,n),this._onModelModeChanged.fire({model:t,oldLanguageId:e})}_getSHA1Computer(){return new SP}};CP.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20971520,CP=wP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([vP(0,pd),vP(1,pg),vP(2,XM),vP(3,yd),vP(4,qd)],CP);class SP{canComputeSHA1(t){return t.getValueLength()<=SP.MAX_MODEL_SIZE}computeSHA1(t){const i=new _a,e=t.createSnapshot();let s;for(;s=e.read();)i.update(s);return i.digest()}}SP.MAX_MODEL_SIZE=10485760;class DP{get templateId(){return this.renderer.templateId}constructor(t,i){this.renderer=t,this.modelProvider=i}renderTemplate(t){return{data:this.renderer.renderTemplate(t),disposable:ie.None}}renderElement(t,i,e,s){var n;if(null===(n=e.disposable)||void 0===n||n.dispose(),!e.data)return;const o=this.modelProvider();if(o.isResolved(t))return this.renderer.renderElement(o.get(t),t,e.data,s);const r=new Se,h=o.resolve(t,r.token);e.disposable={dispose:()=>r.cancel()},this.renderer.renderPlaceholder(t,e.data),h.then((i=>this.renderer.renderElement(i,t,e.data,s)))}disposeTemplate(t){t.disposable&&(t.disposable.dispose(),t.disposable=void 0),t.data&&(this.renderer.disposeTemplate(t.data),t.data=void 0)}}class EP{constructor(t,i){this.modelProvider=t,this.accessibilityProvider=i}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(t){const i=this.modelProvider();return i.isResolved(t)?this.accessibilityProvider.getAriaLabel(i.get(t)):null}}class AP{constructor(t,i,e,s,n={}){const o=()=>this.model,r=s.map((t=>new DP(t,o)));this.list=new iB(t,i,e,r,function(t,i){return{...i,accessibilityProvider:i.accessibilityProvider&&new EP(t,i.accessibilityProvider)}}(o,n))}updateOptions(t){this.list.updateOptions(t)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return ce.map(this.list.onMouseDblClick,(({element:t,index:i,browserEvent:e})=>({element:void 0===t?void 0:this._model.get(t),index:i,browserEvent:e})))}get onPointer(){return ce.map(this.list.onPointer,(({element:t,index:i,browserEvent:e})=>({element:void 0===t?void 0:this._model.get(t),index:i,browserEvent:e})))}get onDidChangeSelection(){return ce.map(this.list.onDidChangeSelection,(({elements:t,indexes:i,browserEvent:e})=>({elements:t.map((t=>this._model.get(t))),indexes:i,browserEvent:e})))}get model(){return this._model}set model(t){this._model=t,this.list.splice(0,this.list.length,C(t.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map((t=>this.model.get(t)))}style(t){this.list.style(t)}dispose(){this.list.dispose()}}var MP,LP=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};!function(t){t.North="north",t.South="south",t.East="east",t.West="west"}(MP||(MP={}));const FP=new fe,TP=new fe;class RP{constructor(t){this.el=t,this.disposables=new te}get onPointerMove(){return this.disposables.add(new Fk(Na(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new Fk(Na(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}LP([Jm],RP.prototype,"onPointerMove",null),LP([Jm],RP.prototype,"onPointerUp",null);class OP{get onPointerMove(){return this.disposables.add(new Fk(this.el,Ym.Change)).event}get onPointerUp(){return this.disposables.add(new Fk(this.el,Ym.End)).event}constructor(t){this.el=t,this.disposables=new te}dispose(){this.disposables.dispose()}}LP([Jm],OP.prototype,"onPointerMove",null),LP([Jm],OP.prototype,"onPointerUp",null);class IP{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(t){this.factory=t}dispose(){}}LP([Jm],IP.prototype,"onPointerMove",null),LP([Jm],IP.prototype,"onPointerUp",null);const _P="pointer-events-disabled";class NP extends ie{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(t){this._state!==t&&(this.el.classList.toggle("disabled",0===t),this.el.classList.toggle("minimum",1===t),this.el.classList.toggle("maximum",2===t),this._state=t,this.onDidEnablementChange.fire(t))}set orthogonalStartSash(t){if(this._orthogonalStartSash!==t){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),t){const i=i=>{this.orthogonalStartDragHandleDisposables.clear(),0!==i&&(this._orthogonalStartDragHandle=Ol(this.el,$l(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add(Xi((()=>this._orthogonalStartDragHandle.remove()))),this.orthogonalStartDragHandleDisposables.add(new Fk(this._orthogonalStartDragHandle,"mouseenter")).event((()=>NP.onMouseEnter(t)),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new Fk(this._orthogonalStartDragHandle,"mouseleave")).event((()=>NP.onMouseLeave(t)),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(t.onDidEnablementChange.event(i,this)),i(t.state)}this._orthogonalStartSash=t}}set orthogonalEndSash(t){if(this._orthogonalEndSash!==t){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),t){const i=i=>{this.orthogonalEndDragHandleDisposables.clear(),0!==i&&(this._orthogonalEndDragHandle=Ol(this.el,$l(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add(Xi((()=>this._orthogonalEndDragHandle.remove()))),this.orthogonalEndDragHandleDisposables.add(new Fk(this._orthogonalEndDragHandle,"mouseenter")).event((()=>NP.onMouseEnter(t)),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new Fk(this._orthogonalEndDragHandle,"mouseleave")).event((()=>NP.onMouseLeave(t)),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(t.onDidEnablementChange.event(i,this)),i(t.state)}this._orthogonalEndSash=t}}constructor(t,i,e){super(),this.hoverDelay=300,this.hoverDelayer=this._register(new hc(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new fe),this._onDidStart=this._register(new fe),this._onDidChange=this._register(new fe),this._onDidReset=this._register(new fe),this._onDidEnd=this._register(new fe),this.orthogonalStartSashDisposables=this._register(new te),this.orthogonalStartDragHandleDisposables=this._register(new te),this.orthogonalEndSashDisposables=this._register(new te),this.orthogonalEndDragHandleDisposables=this._register(new te),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=Ol(t,$l(".monaco-sash")),e.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${e.orthogonalEdge}`),St&&this.el.classList.add("mac");const s=this._register(new Fk(this.el,"mousedown")).event;this._register(s((i=>this.onPointerStart(i,new RP(t))),this));const n=this._register(new Fk(this.el,"dblclick")).event;this._register(n(this.onPointerDoublePress,this));const o=this._register(new Fk(this.el,"mouseenter")).event;this._register(o((()=>NP.onMouseEnter(this))));const r=this._register(new Fk(this.el,"mouseleave")).event;this._register(r((()=>NP.onMouseLeave(this)))),this._register(Xm.addTarget(this.el));const h=this._register(new Fk(this.el,Ym.Start)).event;this._register(h((t=>this.onPointerStart(t,new OP(this.el))),this));const c=this._register(new Fk(this.el,Ym.Tap)).event;let a;this._register(c((t=>{if(a)return clearTimeout(a),a=void 0,void this.onPointerDoublePress(t);clearTimeout(a),a=setTimeout((()=>a=void 0),250)}),this)),"number"==typeof e.size?(this.size=e.size,0===e.orientation?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=4,this._register(FP.event((t=>{this.size=t,this.layout()})))),this._register(TP.event((t=>this.hoverDelay=t))),this.layoutProvider=i,this.orthogonalStartSash=e.orthogonalStartSash,this.orthogonalEndSash=e.orthogonalEndSash,this.orientation=e.orientation||0,1===this.orientation?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",!1),this.layout()}onPointerStart(t,i){Fl(t);let e=!1;if(!t.__orthogonalSashEvent){const s=this.getOrthogonalSash(t);s&&(e=!0,t.__orthogonalSashEvent=!0,s.onPointerStart(t,new IP(i)))}if(this.linkedSash&&!t.__linkedSashEvent&&(t.__linkedSashEvent=!0,this.linkedSash.onPointerStart(t,new IP(i))),!this.state)return;const s=this.el.ownerDocument.getElementsByTagName("iframe");for(const t of s)t.classList.add(_P);const n=t.pageX,o=t.pageY,r=t.altKey,h={startX:n,currentX:n,startY:o,currentY:o,altKey:r};this.el.classList.add("active"),this._onDidStart.fire(h);const c=vl(this.el),a=()=>{let t="";t=e?"all-scroll":1===this.orientation?1===this.state?"s-resize":2===this.state?"n-resize":St?"row-resize":"ns-resize":1===this.state?"e-resize":2===this.state?"w-resize":St?"col-resize":"ew-resize",c.textContent=`* { cursor: ${t} !important; }`},l=new te;a(),e||this.onDidEnablementChange.event(a,null,l),i.onPointerMove((t=>{Fl(t,!1),this._onDidChange.fire({startX:n,currentX:t.pageX,startY:o,currentY:t.pageY,altKey:r})}),null,l),i.onPointerUp((t=>{Fl(t,!1),this.el.removeChild(c),this.el.classList.remove("active"),this._onDidEnd.fire(),l.dispose();for(const t of s)t.classList.remove(_P)}),null,l),l.add(i)}onPointerDoublePress(t){const i=this.getOrthogonalSash(t);i&&i._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(t,i=!1){t.el.classList.contains("active")?(t.hoverDelayer.cancel(),t.el.classList.add("hover")):t.hoverDelayer.trigger((()=>t.el.classList.add("hover")),t.hoverDelay).then(void 0,(()=>{})),!i&&t.linkedSash&&NP.onMouseEnter(t.linkedSash,!0)}static onMouseLeave(t,i=!1){t.hoverDelayer.cancel(),t.el.classList.remove("hover"),!i&&t.linkedSash&&NP.onMouseLeave(t.linkedSash,!0)}clearSashHoverState(){NP.onMouseLeave(this)}layout(){if(0===this.orientation){const t=this.layoutProvider;this.el.style.left=t.getVerticalSashLeft(this)-this.size/2+"px",t.getVerticalSashTop&&(this.el.style.top=t.getVerticalSashTop(this)+"px"),t.getVerticalSashHeight&&(this.el.style.height=t.getVerticalSashHeight(this)+"px")}else{const t=this.layoutProvider;this.el.style.top=t.getHorizontalSashTop(this)-this.size/2+"px",t.getHorizontalSashLeft&&(this.el.style.left=t.getHorizontalSashLeft(this)+"px"),t.getHorizontalSashWidth&&(this.el.style.width=t.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(t){var i;const e=null!==(i=t.initialTarget)&&void 0!==i?i:t.target;if(e&&e instanceof HTMLElement)return e.classList.contains("orthogonal-drag-handle")?e.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash:void 0}dispose(){super.dispose(),this.el.remove()}}const BP={separatorBorder:sg.transparent};class PP{set size(t){this._size=t}get size(){return this._size}get visible(){return void 0===this._cachedVisibleSize}setVisible(t,i){var e,s;if(t!==this.visible){t?(this.size=eR(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize="number"==typeof i?i:this.size,this.size=0),this.container.classList.toggle("visible",t);try{null===(s=(e=this.view).setVisible)||void 0===s||s.call(e,t)}catch(t){console.error("Splitview: Failed to set visible view"),console.error(t)}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){var t;return null===(t=this.view.proportionalLayout)||void 0===t||t}get snap(){return!!this.view.snap}set enabled(t){this.container.style.pointerEvents=t?"":"none"}constructor(t,i,e,s){this.container=t,this.view=i,this.disposable=s,this._cachedVisibleSize=void 0,"number"==typeof e?(this._size=e,this._cachedVisibleSize=void 0,t.classList.add("visible")):(this._size=0,this._cachedVisibleSize=e.cachedVisibleSize)}layout(t,i){this.layoutContainer(t);try{this.view.layout(this.size,t,i)}catch(t){console.error("Splitview: Failed to layout view"),console.error(t)}}dispose(){this.disposable.dispose()}}class $P extends PP{layoutContainer(t){this.container.style.top=`${t}px`,this.container.style.height=`${this.size}px`}}class WP extends PP{layoutContainer(t){this.container.style.left=`${t}px`,this.container.style.width=`${this.size}px`}}var jP,zP;!function(t){t[t.Idle=0]="Idle",t[t.Busy=1]="Busy"}(jP||(jP={})),function(t){t.Distribute={type:"distribute"},t.Split=function(t){return{type:"split",index:t}},t.Auto=function(t){return{type:"auto",index:t}},t.Invisible=function(t){return{type:"invisible",cachedVisibleSize:t}}}(zP||(zP={}));class HP extends ie{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(t){for(const i of this.sashItems)i.sash.orthogonalStartSash=t;this._orthogonalStartSash=t}set orthogonalEndSash(t){for(const i of this.sashItems)i.sash.orthogonalEndSash=t;this._orthogonalEndSash=t}set startSnappingEnabled(t){this._startSnappingEnabled!==t&&(this._startSnappingEnabled=t,this.updateSashEnablement())}set endSnappingEnabled(t){this._endSnappingEnabled!==t&&(this._endSnappingEnabled=t,this.updateSashEnablement())}constructor(t,i={}){var e,s,n,o,r;super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=jP.Idle,this._onDidSashChange=this._register(new fe),this._onDidSashReset=this._register(new fe),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=null!==(e=i.orientation)&&void 0!==e?e:0,this.inverseAltBehavior=null!==(s=i.inverseAltBehavior)&&void 0!==s&&s,this.proportionalLayout=null===(n=i.proportionalLayout)||void 0===n||n,this.getSashOrthogonalSize=i.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(0===this.orientation?"vertical":"horizontal"),t.appendChild(this.el),this.sashContainer=Ol(this.el,$l(".sash-container")),this.viewContainer=$l(".split-view-container"),this.scrollable=this._register(new gk({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:t=>Qa(Na(this.el),t)})),this.scrollableElement=this._register(new Ck(this.viewContainer,{vertical:0===this.orientation?null!==(o=i.scrollbarVisibility)&&void 0!==o?o:1:2,horizontal:1===this.orientation?null!==(r=i.scrollbarVisibility)&&void 0!==r?r:1:2},this.scrollable));const h=this._register(new Fk(this.viewContainer,"scroll")).event;this._register(h((()=>{const t=this.scrollableElement.getScrollPosition(),i=Math.abs(this.viewContainer.scrollLeft-t.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,e=Math.abs(this.viewContainer.scrollTop-t.scrollTop)<=1?void 0:this.viewContainer.scrollTop;void 0===i&&void 0===e||this.scrollableElement.setScrollPosition({scrollLeft:i,scrollTop:e})}))),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll((t=>{t.scrollTopChanged&&(this.viewContainer.scrollTop=t.scrollTop),t.scrollLeftChanged&&(this.viewContainer.scrollLeft=t.scrollLeft)}))),Ol(this.el,this.scrollableElement.getDomNode()),this.style(i.styles||BP),i.descriptor&&(this.size=i.descriptor.size,i.descriptor.views.forEach(((t,i)=>{const e=V(t.visible)||t.visible?t.size:{type:"invisible",cachedVisibleSize:t.size};this.doAddView(t.view,e,i,!0)})),this._contentSize=this.viewItems.reduce(((t,i)=>t+i.size),0),this.saveProportions())}style(t){t.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",t.separatorBorder.toString()))}addView(t,i,e=this.viewItems.length,s){this.doAddView(t,i,e,s)}layout(t,i){const e=Math.max(this.size,this._contentSize);if(this.size=t,this.layoutContext=i,this.proportions){let i=0;for(let e=0;e0&&(s.size=eR(Math.round(n*t/i),s.minimumSize,s.maximumSize))}}else{const i=C(this.viewItems.length),s=i.filter((t=>1===this.viewItems[t].priority)),n=i.filter((t=>2===this.viewItems[t].priority));this.resize(this.viewItems.length-1,t-e,void 0,s,n)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map((t=>t.proportionalLayout&&t.visible?t.size/this._contentSize:void 0)))}onSashStart({sash:t,start:i,alt:e}){for(const t of this.viewItems)t.enabled=!1;const s=this.sashItems.findIndex((i=>i.sash===t)),n=Yi(Va(this.el.ownerDocument.body,"keydown",(t=>o(this.sashDragState.current,t.altKey))),Va(this.el.ownerDocument.body,"keyup",(()=>o(this.sashDragState.current,!1)))),o=(t,i)=>{const e=this.viewItems.map((t=>t.size));let o,r,h=Number.NEGATIVE_INFINITY,c=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(i=!i),i)if(s===this.sashItems.length-1){const t=this.viewItems[s];h=(t.minimumSize-t.size)/2,c=(t.maximumSize-t.size)/2}else{const t=this.viewItems[s+1];h=(t.size-t.maximumSize)/2,c=(t.size-t.minimumSize)/2}if(!i){const t=C(s,-1),i=C(s+1,this.viewItems.length),n=t.reduce(((t,i)=>t+(this.viewItems[i].minimumSize-e[i])),0),h=t.reduce(((t,i)=>t+(this.viewItems[i].viewMaximumSize-e[i])),0),c=0===i.length?Number.POSITIVE_INFINITY:i.reduce(((t,i)=>t+(e[i]-this.viewItems[i].minimumSize)),0),a=0===i.length?Number.NEGATIVE_INFINITY:i.reduce(((t,i)=>t+(e[i]-this.viewItems[i].viewMaximumSize)),0),l=Math.max(n,a),u=Math.min(c,h),d=this.findFirstSnapIndex(t),f=this.findFirstSnapIndex(i);if("number"==typeof d){const t=this.viewItems[d],i=Math.floor(t.viewMinimumSize/2);o={index:d,limitDelta:t.visible?l-i:l+i,size:t.size}}if("number"==typeof f){const t=this.viewItems[f],i=Math.floor(t.viewMinimumSize/2);r={index:f,limitDelta:t.visible?u+i:u-i,size:t.size}}}this.sashDragState={start:t,current:t,index:s,sizes:e,minDelta:h,maxDelta:c,alt:i,snapBefore:o,snapAfter:r,disposable:n}};o(i,e)}onSashChange({current:t}){const{index:i,start:e,sizes:s,alt:n,minDelta:o,maxDelta:r,snapBefore:h,snapAfter:c}=this.sashDragState;this.sashDragState.current=t;const a=this.resize(i,t-e,s,void 0,void 0,o,r,h,c);if(n){const t=i===this.sashItems.length-1,e=this.viewItems.map((t=>t.size)),s=this.viewItems[t?i:i+1];this.resize(t?i-1:i+1,-a,e,void 0,void 0,s.size-s.maximumSize,s.size-s.minimumSize)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(t){this._onDidSashChange.fire(t),this.sashDragState.disposable.dispose(),this.saveProportions();for(const t of this.viewItems)t.enabled=!0}onViewChange(t,i){const e=this.viewItems.indexOf(t);e<0||e>=this.viewItems.length||(i=eR(i="number"==typeof i?i:t.size,t.minimumSize,t.maximumSize),this.inverseAltBehavior&&e>0?(this.resize(e-1,Math.floor((t.size-i)/2)),this.distributeEmptySpace(),this.layoutViews()):(t.size=i,this.relayout([e],void 0)))}resizeView(t,i){if(!(t<0||t>=this.viewItems.length)){if(this.state!==jP.Idle)throw new Error("Cant modify splitview");this.state=jP.Busy;try{const e=C(this.viewItems.length).filter((i=>i!==t)),s=[...e.filter((t=>1===this.viewItems[t].priority)),t],n=e.filter((t=>2===this.viewItems[t].priority)),o=this.viewItems[t];i=eR(i=Math.round(i),o.minimumSize,Math.min(o.maximumSize,this.size)),o.size=i,this.relayout(s,n)}finally{this.state=jP.Idle}}}distributeViewSizes(){const t=[];let i=0;for(const e of this.viewItems)e.maximumSize-e.minimumSize>0&&(t.push(e),i+=e.size);const e=Math.floor(i/t.length);for(const i of t)i.size=eR(e,i.minimumSize,i.maximumSize);const s=C(this.viewItems.length),n=s.filter((t=>1===this.viewItems[t].priority)),o=s.filter((t=>2===this.viewItems[t].priority));this.relayout(n,o)}getViewSize(t){return t<0||t>=this.viewItems.length?-1:this.viewItems[t].size}doAddView(t,i,e=this.viewItems.length,s){if(this.state!==jP.Idle)throw new Error("Cant modify splitview");this.state=jP.Busy;try{const n=$l(".split-view-view");e===this.viewItems.length?this.viewContainer.appendChild(n):this.viewContainer.insertBefore(n,this.viewContainer.children.item(e));const o=t.onDidChange((t=>this.onViewChange(c,t))),r=Yi(o,Xi((()=>this.viewContainer.removeChild(n))));let h;"number"==typeof i?h=i:("auto"===i.type&&(i=this.areViewsDistributed()?{type:"distribute"}:{type:"split",index:i.index}),h="split"===i.type?this.getViewSize(i.index)/2:"invisible"===i.type?{cachedVisibleSize:i.cachedVisibleSize}:t.minimumSize);const c=0===this.orientation?new $P(n,t,h,r):new WP(n,t,h,r);if(this.viewItems.splice(e,0,c),this.viewItems.length>1){const t={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},i=0===this.orientation?new NP(this.sashContainer,{getHorizontalSashTop:t=>this.getSashPosition(t),getHorizontalSashWidth:this.getSashOrthogonalSize},{...t,orientation:1}):new NP(this.sashContainer,{getVerticalSashLeft:t=>this.getSashPosition(t),getVerticalSashHeight:this.getSashOrthogonalSize},{...t,orientation:0}),s=0===this.orientation?t=>({sash:i,start:t.startY,current:t.currentY,alt:t.altKey}):t=>({sash:i,start:t.startX,current:t.currentX,alt:t.altKey}),n=ce.map(i.onDidStart,s)(this.onSashStart,this),o=ce.map(i.onDidChange,s)(this.onSashChange,this),r=ce.map(i.onDidEnd,(()=>this.sashItems.findIndex((t=>t.sash===i)))),h=r(this.onSashEnd,this),c=i.onDidReset((()=>{const t=this.sashItems.findIndex((t=>t.sash===i)),e=C(t,-1),s=C(t+1,this.viewItems.length),n=this.findFirstSnapIndex(e),o=this.findFirstSnapIndex(s);("number"!=typeof n||this.viewItems[n].visible)&&("number"!=typeof o||this.viewItems[o].visible)&&this._onDidSashReset.fire(t)})),a=Yi(n,o,h,c,i);this.sashItems.splice(e-1,0,{sash:i,disposable:a})}let a;n.appendChild(t.element),"number"!=typeof i&&"split"===i.type&&(a=[i.index]),s||this.relayout([e],a),s||"number"==typeof i||"distribute"!==i.type||this.distributeViewSizes()}finally{this.state=jP.Idle}}relayout(t,i){const e=this.viewItems.reduce(((t,i)=>t+i.size),0);this.resize(this.viewItems.length-1,this.size-e,void 0,t,i),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(t,i,e=this.viewItems.map((t=>t.size)),s,n,o=Number.NEGATIVE_INFINITY,r=Number.POSITIVE_INFINITY,h,c){if(t<0||t>=this.viewItems.length)return 0;const a=C(t,-1),l=C(t+1,this.viewItems.length);if(n)for(const t of n)D(a,t),D(l,t);if(s)for(const t of s)E(a,t),E(l,t);const u=a.map((t=>this.viewItems[t])),d=a.map((t=>e[t])),f=l.map((t=>this.viewItems[t])),p=l.map((t=>e[t])),g=a.reduce(((t,i)=>t+(this.viewItems[i].minimumSize-e[i])),0),m=a.reduce(((t,i)=>t+(this.viewItems[i].maximumSize-e[i])),0),w=0===l.length?Number.POSITIVE_INFINITY:l.reduce(((t,i)=>t+(e[i]-this.viewItems[i].minimumSize)),0),v=0===l.length?Number.NEGATIVE_INFINITY:l.reduce(((t,i)=>t+(e[i]-this.viewItems[i].maximumSize)),0),b=Math.max(g,v,o),y=Math.min(w,m,r);let k=!1;if(h){const t=this.viewItems[h.index],e=i>=h.limitDelta;k=e!==t.visible,t.setVisible(e,h.size)}if(!k&&c){const t=this.viewItems[c.index],e=it+i.size),0);let e=this.size-i;const s=C(this.viewItems.length-1,-1),n=s.filter((t=>1===this.viewItems[t].priority)),o=s.filter((t=>2===this.viewItems[t].priority));for(const t of o)D(s,t);for(const t of n)E(s,t);"number"==typeof t&&E(s,t);for(let t=0;0!==e&&tt+i.size),0);let t=0;for(const i of this.viewItems)i.layout(t,this.layoutContext),t+=i.size;this.sashItems.forEach((t=>t.sash.layout())),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.scrollableElement.setScrollDimensions(0===this.orientation?{height:this.size,scrollHeight:this._contentSize}:{width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let t=!1;const i=this.viewItems.map((i=>t=i.size-i.minimumSize>0||t));t=!1;const e=this.viewItems.map((i=>t=i.maximumSize-i.size>0||t)),s=[...this.viewItems].reverse();t=!1;const n=s.map((i=>t=i.size-i.minimumSize>0||t)).reverse();t=!1;const o=s.map((i=>t=i.maximumSize-i.size>0||t)).reverse();let r=0;for(let t=0;t0||this.startSnappingEnabled)?1:"number"==typeof c&&!this.viewItems[c].visible&&i[t]&&(r0)return;if(!t.visible&&t.snap)return i}}areViewsDistributed(){let t,i;for(const e of this.viewItems)if(t=void 0===t?e.size:Math.min(t,e.size),i=void 0===i?e.size:Math.max(i,e.size),i-t>2)return!1;return!0}dispose(){var t;null===(t=this.sashDragState)||void 0===t||t.disposable.dispose(),Ji(this.viewItems),this.viewItems=[],this.sashItems.forEach((t=>t.disposable.dispose())),this.sashItems=[],super.dispose()}}class VP{constructor(t,i,e){this.columns=t,this.getColumnSize=e,this.templateId=VP.TemplateId,this.renderedTemplates=new Set;const s=new Map(i.map((t=>[t.templateId,t])));this.renderers=[];for(const i of t){const t=s.get(i.templateId);if(!t)throw new Error(`Table cell renderer for template id ${i.templateId} not found.`);this.renderers.push(t)}}renderTemplate(t){const i=Ol(t,$l(".monaco-table-tr")),e=[],s=[];for(let t=0;tnew UP(t,i))),h={size:r.reduce(((t,i)=>t+i.column.weight),0),views:r.map((t=>({size:t.column.weight,view:t})))};this.splitview=this.disposables.add(new HP(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:h})),this.splitview.el.style.height=`${e.headerRowHeight}px`,this.splitview.el.style.lineHeight=`${e.headerRowHeight}px`;const c=new VP(s,n,(t=>this.splitview.getViewSize(t)));var a;this.list=this.disposables.add(new iB(t,this.domNode,(a=e,{getHeight:t=>a.getHeight(t),getTemplateId:()=>VP.TemplateId}),[c],o)),ce.any(...r.map((t=>t.onDidLayout)))((([t,i])=>c.layoutColumn(t,i)),null,this.disposables),this.splitview.onDidSashReset((t=>{const i=s.reduce(((t,i)=>t+i.weight),0);this.splitview.resizeView(t,s[t].weight/i*this.cachedWidth)}),null,this.disposables),this.styleElement=vl(this.domNode),this.style(GN)}updateOptions(t){this.list.updateOptions(t)}splice(t,i,e=[]){this.list.splice(t,i,e)}getHTMLElement(){return this.domNode}style(t){const i=[];i.push(`.monaco-table.${this.domId} > .monaco-split-view2 .monaco-sash.vertical::before {\n\t\t\ttop: ${this.virtualDelegate.headerRowHeight+1}px;\n\t\t\theight: calc(100% - ${this.virtualDelegate.headerRowHeight}px);\n\t\t}`),this.styleElement.textContent=i.join("\n"),this.list.style(t)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}}qP.InstanceCount=0;class KP extends hk{constructor(t){super(),this._onChange=this._register(new fe),this.onChange=this._onChange.event,this._onKeyDown=this._register(new fe),this.onKeyDown=this._onKeyDown.event,this._opts=t,this._checked=this._opts.isChecked;const i=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,i.push(...Cr.asClassNameArray(this._icon))),this._opts.actionClassName&&i.push(...this._opts.actionClassName.split(" ")),this._checked&&i.push("checked"),this.domNode=document.createElement("div"),this.domNode.title=this._opts.title,this.domNode.classList.add(...i),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,(t=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),t.preventDefault())})),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,(t=>{if(10===t.keyCode||3===t.keyCode)return this.checked=!this._checked,this._onChange.fire(!0),t.preventDefault(),void t.stopPropagation();this._onKeyDown.fire(t)}))}get enabled(){return"true"!==this.domNode.getAttribute("aria-disabled")}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(t){this._checked=t,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}const GP=rt(0,"Match Case"),ZP=rt(0,"Match Whole Word"),QP=rt(0,"Use Regular Expression");class JP extends KP{constructor(t){super({icon:Os.caseSensitive,title:GP+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}class YP extends KP{constructor(t){super({icon:Os.wholeWord,title:ZP+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}class XP extends KP{constructor(t){super({icon:Os.regex,title:QP+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}class t${constructor(t,i=0,e=t.length,s=i-1){this.items=t,this.start=i,this.end=e,this.index=s}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class i${constructor(t=[],i=10){this._initialize(t),this._limit=i,this._onChange()}getHistory(){return this._elements}add(t){this._history.delete(t),this._history.add(t),this._onChange()}next(){return this._navigator.next()}previous(){return 0!==this._currentPosition()?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return null===this._navigator.current()}has(t){return this._history.has(t)}_onChange(){this._reduceToLimit();const t=this._elements;this._navigator=new t$(t,0,t.length,t.length)}_reduceToLimit(){const t=this._elements;t.length>this._limit&&this._initialize(t.slice(t.length-this._limit))}_currentPosition(){const t=this._navigator.current();return t?this._elements.indexOf(t):-1}_initialize(t){this._history=new Set;for(const i of t)this._history.add(i)}get _elements(){const t=[];return this._history.forEach((i=>t.push(i))),t}}const e$=$l;class s$ extends hk{constructor(t,i,e){var s;super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new fe),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new fe),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=i,this.options=e,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=null!==(s=this.options.tooltip)&&void 0!==s?s:this.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=Ol(t,e$(".monaco-inputbox.idle"));const n=this.options.flexibleHeight?"textarea":"input",o=Ol(this.element,e$(".ibwrapper"));if(this.input=Ol(o,e$(n+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,(()=>this.element.classList.add("synthetic-focus"))),this.onblur(this.input,(()=>this.element.classList.remove("synthetic-focus"))),this.options.flexibleHeight){this.maxHeight="number"==typeof this.options.flexibleMaxHeight?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=Ol(o,e$("div.mirror")),this.mirror.innerText=" ",this.scrollableElement=new xk(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),Ol(t,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll((t=>this.input.scrollTop=t.scrollTop)));const i=this._register(new Fk(t.ownerDocument,"selectionchange")),e=ce.filter(i.event,(()=>{const i=t.ownerDocument.getSelection();return(null==i?void 0:i.anchorNode)===o}));this._register(e(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,(()=>this.onValueChange())),this.onblur(this.input,(()=>this.onBlur())),this.onfocus(this.input,(()=>this.onFocus())),this._register(this.ignoreGesture(this.input)),setTimeout((()=>this.updateMirror()),0),this.options.actions&&(this.actionbar=this._register(new VB(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(t){this.placeholder=t,this.input.setAttribute("placeholder",t)}setTooltip(t){this.tooltip=t,this.input.title=t}get inputElement(){return this.input}get value(){return this.input.value}set value(t){this.input.value!==t&&(this.input.value=t,this.onValueChange())}get height(){return"number"==typeof this.cachedHeight?this.cachedHeight:cl(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return gl(this.input)}select(t=null){this.input.select(),t&&(this.input.setSelectionRange(t.start,t.end),t.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(t){this.input.style.width=`calc(100% - ${t}px)`,this.mirror&&(this.mirror.style.paddingRight=t+"px")}updateScrollDimensions(){if("number"!=typeof this.cachedContentHeight||"number"!=typeof this.cachedHeight||!this.scrollableElement)return;const t=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:this.cachedContentHeight,height:this.cachedHeight}),this.scrollableElement.setScrollPosition({scrollTop:t})}showMessage(t,i){if("open"===this.state&&et(this.message,t))return;this.message=t,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(t.type));const e=this.stylesForType(this.message.type);this.element.style.border=`1px solid ${ql(e.border,"transparent")}`,this.message.content&&(this.hasFocus()||i)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let t=null;return this.validation&&(t=this.validation(this.value),t?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(t)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),null==t?void 0:t.type}stylesForType(t){const i=this.options.inputBoxStyles;switch(t){case 1:return{border:i.inputValidationInfoBorder,background:i.inputValidationInfoBackground,foreground:i.inputValidationInfoForeground};case 2:return{border:i.inputValidationWarningBorder,background:i.inputValidationWarningBackground,foreground:i.inputValidationWarningForeground};default:return{border:i.inputValidationErrorBorder,background:i.inputValidationErrorBackground,foreground:i.inputValidationErrorForeground}}}classForType(t){switch(t){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let t;const i=()=>t.style.width=ol(this.element)+"px";let e;this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:e=>{var s,n;if(!this.message)return null;t=Ol(e,e$(".monaco-inputbox-container")),i();const o={inline:!0,className:"monaco-inputbox-message"},r=this.message.formatContent?__(this.message.content,o):function(t,i={}){const e=N_(i);return e.textContent=t,e}(this.message.content,o);r.classList.add(this.classForType(this.message.type));const h=this.stylesForType(this.message.type);return r.style.backgroundColor=null!==(s=h.background)&&void 0!==s?s:"",r.style.color=null!==(n=h.foreground)&&void 0!==n?n:"",r.style.border=h.border?`1px solid ${h.border}`:"",Ol(t,r),null},onHide:()=>{this.state="closed"},layout:i}),e=rt(0,3===this.message.type?"Error: {0}":2===this.message.type?"Warning: {0}":"Info: {0}",this.message.content),Tm(e),this.state="open"}_hideMessage(){this.contextViewProvider&&("open"===this.state&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),"open"===this.state&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const t=this.value,i=10===t.charCodeAt(t.length-1)?" ":"";(t+i).replace(/\u000c/g,"")?this.mirror.textContent=t+i:this.mirror.innerText=" ",this.layout()}applyStyles(){var t,i,e;const s=this.options.inputBoxStyles,n=null!==(t=s.inputBackground)&&void 0!==t?t:"",o=null!==(i=s.inputForeground)&&void 0!==i?i:"",r=null!==(e=s.inputBorder)&&void 0!==e?e:"";this.element.style.backgroundColor=n,this.element.style.color=o,this.input.style.backgroundColor="inherit",this.input.style.color=o,this.element.style.border=`1px solid ${ql(r,"transparent")}`}layout(){if(!this.mirror)return;const t=this.cachedContentHeight;this.cachedContentHeight=cl(this.mirror),t!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(t){const i=this.inputElement,e=i.selectionStart,s=i.selectionEnd,n=i.value;null!==e&&null!==s&&(this.value=n.substr(0,e)+t+n.substr(s),i.setSelectionRange(e+1,e+1),this.layout())}dispose(){var t;this._hideMessage(),this.message=null,null===(t=this.actionbar)||void 0===t||t.dispose(),super.dispose()}}class n$ extends s${constructor(t,i,e){const s=rt(0," or {0} for history","⇅"),n=rt(0," ({0} for history)","⇅");super(t,i,e),this._onDidFocus=this._register(new fe),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new fe),this.onDidBlur=this._onDidBlur.event,this.history=new i$(e.history,100);const o=()=>{if(e.showHistoryHint&&e.showHistoryHint()&&!this.placeholder.endsWith(s)&&!this.placeholder.endsWith(n)&&this.history.getHistory().length){const t=this.placeholder.endsWith(")")?s:n,i=this.placeholder+t;e.showPlaceholderOnFocus&&!gl(this.input)?this.placeholder=i:this.setPlaceHolder(i)}};this.observer=new MutationObserver((t=>{t.forEach((t=>{t.target.textContent||o()}))})),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,(()=>o())),this.onblur(this.input,(()=>{const t=t=>{if(this.placeholder.endsWith(t)){const i=this.placeholder.slice(0,this.placeholder.length-t.length);return e.showPlaceholderOnFocus?this.placeholder=i:this.setPlaceHolder(i),!0}return!1};t(n)||t(s)}))}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(t){this.value&&(t||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let t=this.getNextValue();t&&(t=t===this.value?this.getNextValue():t),this.value=null!=t?t:"",Rm(this.value?this.value:rt(0,"Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let t=this.getPreviousValue();t&&(t=t===this.value?this.getPreviousValue():t),t&&(this.value=t,Rm(this.value))}setPlaceHolder(t){super.setPlaceHolder(t),this.setTooltip(t)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let t=this.history.current();return t||(t=this.history.last(),this.history.next()),t}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}const o$=rt(0,"input");class r$ extends hk{constructor(t,i,e){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new ee),this.additionalToggles=[],this._onDidOptionChange=this._register(new fe),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new fe),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new fe),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new fe),this._onKeyUp=this._register(new fe),this._onCaseSensitiveKeyDown=this._register(new fe),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new fe),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=e.placeholder||"",this.validation=e.validation,this.label=e.label||o$,this.showCommonFindToggles=!!e.showCommonFindToggles;const s=e.appendCaseSensitiveLabel||"",n=e.appendWholeWordsLabel||"",o=e.appendRegexLabel||"",r=e.history||[],h=!!e.flexibleHeight,c=!!e.flexibleWidth,a=e.flexibleMaxHeight;if(this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new n$(this.domNode,i,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:e.showHistoryHint,flexibleHeight:h,flexibleWidth:c,flexibleMaxHeight:a,inputBoxStyles:e.inputBoxStyles})),this.showCommonFindToggles){this.regex=this._register(new XP({appendTitle:o,isChecked:!1,...e.toggleStyles})),this._register(this.regex.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.regex.onKeyDown((t=>{this._onRegexKeyDown.fire(t)}))),this.wholeWords=this._register(new YP({appendTitle:n,isChecked:!1,...e.toggleStyles})),this._register(this.wholeWords.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this.caseSensitive=this._register(new JP({appendTitle:s,isChecked:!1,...e.toggleStyles})),this._register(this.caseSensitive.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.caseSensitive.onKeyDown((t=>{this._onCaseSensitiveKeyDown.fire(t)})));const t=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,(i=>{if(i.equals(15)||i.equals(17)||i.equals(9)){const e=t.indexOf(this.domNode.ownerDocument.activeElement);if(e>=0){let s=-1;i.equals(17)?s=(e+1)%t.length:i.equals(15)&&(s=0===e?t.length-1:e-1),i.equals(9)?(t[e].blur(),this.inputBox.focus()):s>=0&&t[s].focus(),Fl(i,!0)}}}))}this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this.showCommonFindToggles?"":"none",this.caseSensitive&&this.controls.append(this.caseSensitive.domNode),this.wholeWords&&this.controls.appendChild(this.wholeWords.domNode),this.regex&&this.controls.appendChild(this.regex.domNode),this.setAdditionalToggles(null==e?void 0:e.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),null==t||t.appendChild(this.domNode),this._register(Va(this.inputBox.inputElement,"compositionstart",(()=>{this.imeSessionInProgress=!0}))),this._register(Va(this.inputBox.inputElement,"compositionend",(()=>{this.imeSessionInProgress=!1,this._onInput.fire()}))),this.onkeydown(this.inputBox.inputElement,(t=>this._onKeyDown.fire(t))),this.onkeyup(this.inputBox.inputElement,(t=>this._onKeyUp.fire(t))),this.oninput(this.inputBox.inputElement,(()=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(t=>this._onMouseDown.fire(t)))}get onDidChange(){return this.inputBox.onDidChange}layout(t){this.inputBox.layout(),this.updateInputBoxPadding(t.collapsedFindWidget)}enable(){var t,i,e;this.domNode.classList.remove("disabled"),this.inputBox.enable(),null===(t=this.regex)||void 0===t||t.enable(),null===(i=this.wholeWords)||void 0===i||i.enable(),null===(e=this.caseSensitive)||void 0===e||e.enable();for(const t of this.additionalToggles)t.enable()}disable(){var t,i,e;this.domNode.classList.add("disabled"),this.inputBox.disable(),null===(t=this.regex)||void 0===t||t.disable(),null===(i=this.wholeWords)||void 0===i||i.disable(),null===(e=this.caseSensitive)||void 0===e||e.disable();for(const t of this.additionalToggles)t.disable()}setFocusInputOnOptionClick(t){this.fixFocusOnOptionClickEnabled=t}setEnabled(t){t?this.enable():this.disable()}setAdditionalToggles(t){for(const t of this.additionalToggles)t.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new te;for(const i of null!=t?t:[])this.additionalTogglesDisposables.value.add(i),this.controls.appendChild(i.domNode),this.additionalTogglesDisposables.value.add(i.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()}))),this.additionalToggles.push(i);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}updateInputBoxPadding(t=!1){var i,e,s,n,o,r;this.inputBox.paddingRight=t?0:(null!==(e=null===(i=this.caseSensitive)||void 0===i?void 0:i.width())&&void 0!==e?e:0)+(null!==(n=null===(s=this.wholeWords)||void 0===s?void 0:s.width())&&void 0!==n?n:0)+(null!==(r=null===(o=this.regex)||void 0===o?void 0:o.width())&&void 0!==r?r:0)+this.additionalToggles.reduce(((t,i)=>t+i.width()),0)}getValue(){return this.inputBox.value}setValue(t){this.inputBox.value!==t&&(this.inputBox.value=t)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){var t,i;return null!==(i=null===(t=this.caseSensitive)||void 0===t?void 0:t.checked)&&void 0!==i&&i}setCaseSensitive(t){this.caseSensitive&&(this.caseSensitive.checked=t)}getWholeWords(){var t,i;return null!==(i=null===(t=this.wholeWords)||void 0===t?void 0:t.checked)&&void 0!==i&&i}setWholeWords(t){this.wholeWords&&(this.wholeWords.checked=t)}getRegex(){var t,i;return null!==(i=null===(t=this.regex)||void 0===t?void 0:t.checked)&&void 0!==i&&i}setRegex(t){this.regex&&(this.regex.checked=t,this.validate())}focusOnCaseSensitive(){var t;null===(t=this.caseSensitive)||void 0===t||t.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(t){this.inputBox.showMessage(t)}clearMessage(){this.inputBox.hideMessage()}}var h$,c$,a$,l$,u$;!function(t){t[t.Expanded=0]="Expanded",t[t.Collapsed=1]="Collapsed",t[t.PreserveOrExpanded=2]="PreserveOrExpanded",t[t.PreserveOrCollapsed=3]="PreserveOrCollapsed"}(h$||(h$={})),function(t){t[t.Unknown=0]="Unknown",t[t.Twistie=1]="Twistie",t[t.Element=2]="Element",t[t.Filter=3]="Filter"}(c$||(c$={}));class d$ extends Error{constructor(t,i){super(`TreeError [${t}] ${i}`)}}class f${constructor(t){this.fn=t,this._map=new WeakMap}map(t){let i=this._map.get(t);return i||(i=this.fn(t),this._map.set(t,i)),i}}function p$(t){return"object"==typeof t&&"visibility"in t&&"data"in t}function g$(t){switch(t){case!0:return 1;case!1:return 0;default:return t}}function m$(t){return"boolean"==typeof t.collapsible}class w${constructor(t,i,e,s={}){this.user=t,this.list=i,this.rootRef=[],this.eventBufferer=new be,this._onDidChangeCollapseState=new fe,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new fe,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new fe,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new hc(ec),this.collapseByDefault=void 0!==s.collapseByDefault&&s.collapseByDefault,this.filter=s.filter,this.autoExpandSingleChildren=void 0!==s.autoExpandSingleChildren&&s.autoExpandSingleChildren,this.root={parent:void 0,element:e,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(t,i,e=Vt.empty(),s={}){if(0===t.length)throw new d$(this.user,"Invalid tree location");s.diffIdentityProvider?this.spliceSmart(s.diffIdentityProvider,t,i,e,s):this.spliceSimple(t,i,e,s)}spliceSmart(t,i,e,s,n,o){var r;void 0===s&&(s=Vt.empty()),void 0===o&&(o=null!==(r=n.diffDepth)&&void 0!==r?r:0);const{parentNode:h}=this.getParentNodeWithListIndex(i);if(!h.lastDiffIds)return this.spliceSimple(i,e,s,n);const c=[...s],a=i[i.length-1],l=new uf({getElements:()=>h.lastDiffIds},{getElements:()=>[...h.children.slice(0,a),...c,...h.children.slice(a+e)].map((i=>t.getId(i.element).toString()))}).ComputeDiff(!1);if(l.quitEarly)return h.lastDiffIds=void 0,this.spliceSimple(i,e,c,n);const u=i.slice(0,-1),d=(i,e,s)=>{if(o>0)for(let r=0;ri.originalStart-t.originalStart)))d(f,p,f-(t.originalStart+t.originalLength)),f=t.originalStart,p=t.modifiedStart-a,this.spliceSimple([...u,f],t.originalLength,Vt.slice(c,p,p+t.modifiedLength),n);d(f,p,f)}spliceSimple(t,i,e=Vt.empty(),{onDidCreateNode:s,onDidDeleteNode:n,diffIdentityProvider:o}){const{parentNode:r,listIndex:h,revealed:c,visible:a}=this.getParentNodeWithListIndex(t),l=[],u=Vt.map(e,(t=>this.createTreeNode(t,r,r.visible?1:0,c,l,s))),d=t[t.length-1],f=r.children.length>0;let p=0;for(let t=d;t>=0&&to.getId(t.element).toString()))):r.lastDiffIds=r.children.map((t=>o.getId(t.element).toString())):r.lastDiffIds=void 0;let b=0;for(const t of v)t.visible&&b++;if(0!==b)for(let t=d+g.length;tt+(i.visible?i.renderNodeCount:0)),0);this._updateAncestorsRenderNodeCount(r,w-t),this.list.splice(h,t,l)}if(v.length>0&&n){const t=i=>{n(i),i.children.forEach(t)};v.forEach(t)}this._onDidSplice.fire({insertedNodes:g,deletedNodes:v});const y=r.children.length>0;f!==y&&this.setCollapsible(t.slice(0,-1),y);let k=r;for(;k;){if(2===k.visibility){this.refilterDelayer.trigger((()=>this.refilter()));break}k=k.parent}}rerender(t){if(0===t.length)throw new d$(this.user,"Invalid tree location");const{node:i,listIndex:e,revealed:s}=this.getTreeNodeWithListIndex(t);i.visible&&s&&this.list.splice(e,1,[i])}has(t){return this.hasTreeNode(t)}getListIndex(t){const{listIndex:i,visible:e,revealed:s}=this.getTreeNodeWithListIndex(t);return e&&s?i:-1}getListRenderCount(t){return this.getTreeNode(t).renderNodeCount}isCollapsible(t){return this.getTreeNode(t).collapsible}setCollapsible(t,i){const e=this.getTreeNode(t);void 0===i&&(i=!e.collapsible);const s={collapsible:i};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(t,s)))}isCollapsed(t){return this.getTreeNode(t).collapsed}setCollapsed(t,i,e){const s=this.getTreeNode(t);void 0===i&&(i=!s.collapsed);const n={collapsed:i,recursive:e||!1};return this.eventBufferer.bufferEvents((()=>this._setCollapseState(t,n)))}_setCollapseState(t,i){const{node:e,listIndex:s,revealed:n}=this.getTreeNodeWithListIndex(t),o=this._setListNodeCollapseState(e,s,n,i);if(e!==this.root&&this.autoExpandSingleChildren&&o&&!m$(i)&&e.collapsible&&!e.collapsed&&!i.recursive){let s=-1;for(let t=0;t-1){s=-1;break}s=t}s>-1&&this._setCollapseState([...t,s],i)}return o}_setListNodeCollapseState(t,i,e,s){const n=this._setNodeCollapseState(t,s,!1);if(!e||!t.visible||!n)return n;const o=t.renderNodeCount,r=this.updateNodeAfterCollapseChange(t);return this.list.splice(i+1,o-(-1===i?0:1),r.slice(1)),n}_setNodeCollapseState(t,i,e){let s;if(t===this.root?s=!1:(m$(i)?(s=t.collapsible!==i.collapsible,t.collapsible=i.collapsible):t.collapsible?(s=t.collapsed!==i.collapsed,t.collapsed=i.collapsed):s=!1,s&&this._onDidChangeCollapseState.fire({node:t,deep:e})),!m$(i)&&i.recursive)for(const e of t.children)s=this._setNodeCollapseState(e,i,!0)||s;return s}expandTo(t){this.eventBufferer.bufferEvents((()=>{let i=this.getTreeNode(t);for(;i.parent;)i=i.parent,t=t.slice(0,t.length-1),i.collapsed&&this._setCollapseState(t,{collapsed:!1,recursive:!1})}))}refilter(){const t=this.root.renderNodeCount,i=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,t,i),this.refilterDelayer.cancel()}createTreeNode(t,i,e,s,n,o){const r={parent:i,element:t.element,children:[],depth:i.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:"boolean"==typeof t.collapsible?t.collapsible:void 0!==t.collapsed,collapsed:void 0===t.collapsed?this.collapseByDefault:t.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},h=this._filterNode(r,e);r.visibility=h,s&&n.push(r);const c=t.children||Vt.empty(),a=s&&0!==h&&!r.collapsed;let l=0,u=1;for(const t of c){const i=this.createTreeNode(t,r,h,a,n,o);r.children.push(i),u+=i.renderNodeCount,i.visible&&(i.visibleChildIndex=l++)}return r.collapsible=r.collapsible||r.children.length>0,r.visibleChildrenCount=l,r.visible=2===h?l>0:1===h,r.visible?r.collapsed||(r.renderNodeCount=u):(r.renderNodeCount=0,s&&n.pop()),null==o||o(r),r}updateNodeAfterCollapseChange(t){const i=t.renderNodeCount,e=[];return this._updateNodeAfterCollapseChange(t,e),this._updateAncestorsRenderNodeCount(t.parent,e.length-i),e}_updateNodeAfterCollapseChange(t,i){if(!1===t.visible)return 0;if(i.push(t),t.renderNodeCount=1,!t.collapsed)for(const e of t.children)t.renderNodeCount+=this._updateNodeAfterCollapseChange(e,i);return this._onDidChangeRenderNodeCount.fire(t),t.renderNodeCount}updateNodeAfterFilterChange(t){const i=t.renderNodeCount,e=[];return this._updateNodeAfterFilterChange(t,t.visible?1:0,e),this._updateAncestorsRenderNodeCount(t.parent,e.length-i),e}_updateNodeAfterFilterChange(t,i,e,s=!0){let n;if(t!==this.root){if(n=this._filterNode(t,i),0===n)return t.visible=!1,t.renderNodeCount=0,!1;s&&e.push(t)}const o=e.length;t.renderNodeCount=t===this.root?0:1;let r=!1;if(t.collapsed&&0===n)t.visibleChildrenCount=0;else{let i=0;for(const o of t.children)r=this._updateNodeAfterFilterChange(o,n,e,s&&!t.collapsed)||r,o.visible&&(o.visibleChildIndex=i++);t.visibleChildrenCount=i}return t!==this.root&&(t.visible=2===n?r:1===n,t.visibility=n),t.visible?t.collapsed||(t.renderNodeCount+=e.length-o):(t.renderNodeCount=0,s&&e.pop()),this._onDidChangeRenderNodeCount.fire(t),t.visible}_updateAncestorsRenderNodeCount(t,i){if(0!==i)for(;t;)t.renderNodeCount+=i,this._onDidChangeRenderNodeCount.fire(t),t=t.parent}_filterNode(t,i){const e=this.filter?this.filter.filter(t.element,i):1;return"boolean"==typeof e?(t.filterData=void 0,e?1:0):p$(e)?(t.filterData=e.data,g$(e.visibility)):(t.filterData=void 0,g$(e))}hasTreeNode(t,i=this.root){if(!t||0===t.length)return!0;const[e,...s]=t;return!(e<0||e>i.children.length)&&this.hasTreeNode(s,i.children[e])}getTreeNode(t,i=this.root){if(!t||0===t.length)return i;const[e,...s]=t;if(e<0||e>i.children.length)throw new d$(this.user,"Invalid tree location");return this.getTreeNode(s,i.children[e])}getTreeNodeWithListIndex(t){if(0===t.length)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:i,listIndex:e,revealed:s,visible:n}=this.getParentNodeWithListIndex(t),o=t[t.length-1];if(o<0||o>i.children.length)throw new d$(this.user,"Invalid tree location");const r=i.children[o];return{node:r,listIndex:e,revealed:s,visible:n&&r.visible}}getParentNodeWithListIndex(t,i=this.root,e=0,s=!0,n=!0){const[o,...r]=t;if(o<0||o>i.children.length)throw new d$(this.user,"Invalid tree location");for(let t=0;tt.element))),this.data=t}}function b$(t){return t instanceof CN?new v$(t):t}class y${constructor(t,i){this.modelProvider=t,this.dnd=i,this.autoExpandDisposable=ie.None,this.disposables=new te}getDragURI(t){return this.dnd.getDragURI(t.element)}getDragLabel(t,i){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(t.map((t=>t.element)),i)}onDragStart(t,i){var e,s;null===(s=(e=this.dnd).onDragStart)||void 0===s||s.call(e,b$(t),i)}onDragOver(t,i,e,s,n=!0){const o=this.dnd.onDragOver(b$(t),i&&i.element,e,s),r=this.autoExpandNode!==i;if(r&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=i),void 0===i)return o;if(r&&"boolean"!=typeof o&&o.autoExpand&&(this.autoExpandDisposable=lc((()=>{const t=this.modelProvider(),e=t.getNodeLocation(i);t.isCollapsed(e)&&t.setCollapsed(e,!1),this.autoExpandNode=void 0}),500,this.disposables)),"boolean"==typeof o||!o.accept||void 0===o.bubble||o.feedback)return n?o:{accept:"boolean"==typeof o?o:o.accept,effect:"boolean"==typeof o?void 0:o.effect,feedback:[e]};if(1===o.bubble){const e=this.modelProvider(),n=e.getNodeLocation(i),o=e.getParentNodeLocation(n),r=e.getNode(o),h=o&&e.getListIndex(o);return this.onDragOver(t,r,h,s,!1)}const h=this.modelProvider(),c=h.getNodeLocation(i),a=h.getListIndex(c),l=h.getListRenderCount(c);return{...o,feedback:C(a,a+l)}}drop(t,i,e,s){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(b$(t),i&&i.element,e,s)}onDragEnd(t){var i,e;null===(e=(i=this.dnd).onDragEnd)||void 0===e||e.call(i,t)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}class k${constructor(t){this.delegate=t}getHeight(t){return this.delegate.getHeight(t.element)}getTemplateId(t){return this.delegate.getTemplateId(t.element)}hasDynamicHeight(t){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(t.element)}setDynamicHeight(t,i){var e,s;null===(s=(e=this.delegate).setDynamicHeight)||void 0===s||s.call(e,t.element,i)}}!function(t){t.None="none",t.OnHover="onHover",t.Always="always"}(a$||(a$={}));class x${get elements(){return this._elements}constructor(t,i=[]){this._elements=i,this.disposables=new te,this.onDidChange=ce.forEach(t,(t=>this._elements=t),this.disposables)}dispose(){this.disposables.dispose()}}class C${constructor(t,i,e,s,n,o={}){var r;this.renderer=t,this.modelProvider=i,this.activeNodes=s,this.renderedIndentGuides=n,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=C$.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=ie.None,this.disposables=new te,this.templateId=t.templateId,this.updateOptions(o),ce.map(e,(t=>t.node))(this.onDidChangeNodeTwistieState,this,this.disposables),null===(r=t.onDidChangeTwistieState)||void 0===r||r.call(t,this.onDidChangeTwistieState,this,this.disposables)}updateOptions(t={}){if(void 0!==t.indent){const i=eR(t.indent,0,40);if(i!==this.indent){this.indent=i;for(const[t,i]of this.renderedNodes)this.renderTreeElement(t,i)}}if(void 0!==t.renderIndentGuides){const i=t.renderIndentGuides!==a$.None;if(i!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=i;for(const[t,i]of this.renderedNodes)this._renderIndentGuides(t,i);if(this.indentGuidesDisposable.dispose(),i){const t=new te;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,t),this.indentGuidesDisposable=t,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}void 0!==t.hideTwistiesOfChildlessElements&&(this.hideTwistiesOfChildlessElements=t.hideTwistiesOfChildlessElements)}renderTemplate(t){const i=Ol(t,$l(".monaco-tl-row")),e=Ol(i,$l(".monaco-tl-indent")),s=Ol(i,$l(".monaco-tl-twistie")),n=Ol(i,$l(".monaco-tl-contents")),o=this.renderer.renderTemplate(n);return{container:t,indent:e,twistie:s,indentGuidesDisposable:ie.None,templateData:o}}renderElement(t,i,e,s){this.renderedNodes.set(t,e),this.renderedElements.set(t.element,t),this.renderTreeElement(t,e),this.renderer.renderElement(t,i,e.templateData,s)}disposeElement(t,i,e,s){var n,o;e.indentGuidesDisposable.dispose(),null===(o=(n=this.renderer).disposeElement)||void 0===o||o.call(n,t,i,e.templateData,s),"number"==typeof s&&(this.renderedNodes.delete(t),this.renderedElements.delete(t.element))}disposeTemplate(t){this.renderer.disposeTemplate(t.templateData)}onDidChangeTwistieState(t){const i=this.renderedElements.get(t);i&&this.onDidChangeNodeTwistieState(i)}onDidChangeNodeTwistieState(t){const i=this.renderedNodes.get(t);i&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(t,i))}renderTreeElement(t,i){const e=C$.DefaultIndent+(t.depth-1)*this.indent;i.twistie.style.paddingLeft=`${e}px`,i.indent.style.width=e+this.indent-16+"px",t.collapsible?i.container.setAttribute("aria-expanded",String(!t.collapsed)):i.container.removeAttribute("aria-expanded"),i.twistie.classList.remove(...Cr.asClassNameArray(Os.treeItemExpanded));let s=!1;this.renderer.renderTwistie&&(s=this.renderer.renderTwistie(t.element,i.twistie)),t.collapsible&&(!this.hideTwistiesOfChildlessElements||t.visibleChildrenCount>0)?(s||i.twistie.classList.add(...Cr.asClassNameArray(Os.treeItemExpanded)),i.twistie.classList.add("collapsible"),i.twistie.classList.toggle("collapsed",t.collapsed)):i.twistie.classList.remove("collapsible","collapsed"),this._renderIndentGuides(t,i)}_renderIndentGuides(t,i){if(za(i.indent),i.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const e=new te,s=this.modelProvider();for(;;){const n=s.getNodeLocation(t),o=s.getParentNodeLocation(n);if(!o)break;const r=s.getNode(o),h=$l(".indent-guide",{style:`width: ${this.indent}px`});this.activeIndentNodes.has(r)&&h.classList.add("active"),0===i.indent.childElementCount?i.indent.appendChild(h):i.indent.insertBefore(h,i.indent.firstElementChild),this.renderedIndentGuides.add(r,h),e.add(Xi((()=>this.renderedIndentGuides.delete(r,h)))),t=r}i.indentGuidesDisposable=e}_onDidChangeActiveNodes(t){if(!this.shouldRenderIndentGuides)return;const i=new Set,e=this.modelProvider();t.forEach((t=>{const s=e.getNodeLocation(t);try{const n=e.getParentNodeLocation(s);t.collapsible&&t.children.length>0&&!t.collapsed?i.add(t):n&&i.add(e.getNode(n))}catch(t){}})),this.activeIndentNodes.forEach((t=>{i.has(t)||this.renderedIndentGuides.forEach(t,(t=>t.classList.remove("active")))})),i.forEach((t=>{this.activeIndentNodes.has(t)||this.renderedIndentGuides.forEach(t,(t=>t.classList.add("active")))})),this.activeIndentNodes=i}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),Ji(this.disposables)}}C$.DefaultIndent=8;class S${get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(t,i,e){this.tree=t,this.keyboardNavigationLabelProvider=i,this._filter=e,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new te,t.onWillRefilter(this.reset,this,this.disposables)}filter(t,i){let e=1;if(this._filter){const s=this._filter.filter(t,i);if(e="boolean"==typeof s?s?1:0:p$(s)?g$(s.visibility):s,0===e)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:p_.Default,visibility:e};const s=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t),n=Array.isArray(s)?s:[s];for(const t of n){const i=t&&t.toString();if(void 0===i)return{data:p_.Default,visibility:e};let s;if(this.tree.findMatchType===u$.Contiguous){const t=i.toLowerCase().indexOf(this._lowercasePattern);if(t>-1){s=[Number.MAX_SAFE_INTEGER,0];for(let i=this._lowercasePattern.length;i>0;i--)s.push(t+i-1)}}else s=m_(this._pattern,this._lowercasePattern,0,i,i.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(s)return this._matchCount++,1===n.length?{data:s,visibility:e}:{data:{label:i,score:s},visibility:e}}return this.tree.findMode===l$.Filter?"number"==typeof this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(t):2:{data:p_.Default,visibility:e}}reset(){this._totalCount=0,this._matchCount=0}dispose(){Ji(this.disposables)}}!function(t){t[t.Highlight=0]="Highlight",t[t.Filter=1]="Filter"}(l$||(l$={})),function(t){t[t.Fuzzy=0]="Fuzzy",t[t.Contiguous=1]="Contiguous"}(u$||(u$={}));class D${get pattern(){return this._pattern}get mode(){return this._mode}set mode(t){t!==this._mode&&(this._mode=t,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(t))}get matchType(){return this._matchType}set matchType(t){t!==this._matchType&&(this._matchType=t,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(t))}constructor(t,i,e,s,n,o={}){var r,h;this.tree=t,this.view=e,this.filter=s,this.contextViewProvider=n,this.options=o,this._pattern="",this.width=0,this._onDidChangeMode=new fe,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new fe,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new fe,this._onDidChangeOpenState=new fe,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new te,this.disposables=new te,this._mode=null!==(r=t.options.defaultFindMode)&&void 0!==r?r:l$.Highlight,this._matchType=null!==(h=t.options.defaultFindMatchType)&&void 0!==h?h:u$.Fuzzy,i.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(t={}){void 0!==t.defaultFindMode&&(this.mode=t.defaultFindMode),void 0!==t.defaultFindMatchType&&(this.matchType=t.defaultFindMatchType)}onDidSpliceModel(){this.widget&&0!==this.pattern.length&&(this.tree.refilter(),this.render())}render(){var t,i,e,s;this.pattern&&this.filter.totalCount>0&&0===this.filter.matchCount?null===(t=this.tree.options.showNotFoundMessage)||void 0===t||t?null===(i=this.widget)||void 0===i||i.showMessage({type:2,content:rt(0,"No elements found.")}):null===(e=this.widget)||void 0===e||e.showMessage({type:2}):null===(s=this.widget)||void 0===s||s.clearMessage()}shouldAllowFocus(t){return!this.widget||!this.pattern||this._mode===l$.Filter||this.filter.totalCount>0&&this.filter.matchCount<=1||!p_.isDefault(t.filterData)}layout(t){var i;this.width=t,null===(i=this.widget)||void 0===i||i.layout(t)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}}function E$(t,i){return t.position===i.position&&t.node.element===i.node.element&&t.startIndex===i.startIndex&&t.height===i.height&&t.endIndex===i.endIndex}class A$ extends ie{constructor(t=[]){super(),this.stickyNodes=t}get count(){return this.stickyNodes.length}equal(t){return u(this.stickyNodes,t.stickyNodes,E$)}addDisposable(t){this._register(t)}}class M$ extends ie{get firstVisibleNode(){const t=this.view.firstVisibleIndex;if(!(t<0||t>=this.view.length))return this.view.element(t)}constructor(t,i,e,s,n,o={}){super(),this.tree=t,this.model=i,this.view=e,this.treeDelegate=n,this.maxWidgetViewRatio=.4;const r=this.validateStickySettings(o);this.stickyScrollMaxItemCount=r.stickyScrollMaxItemCount,this._widget=this._register(new L$(e.getScrollableElement(),e,i,s,n)),this._register(e.onDidScroll((()=>this.update()))),this._register(e.onDidChangeContentHeight((()=>this.update()))),this._register(t.onDidChangeCollapseState((()=>this.update()))),this.update()}update(){const t=this.firstVisibleNode;if(!t||0===this.tree.scrollTop)return void this._widget.setState(void 0);const i=this.findStickyState(t);this._widget.setState(i)}findStickyState(t){const i=[],e=this.view.renderHeight*this.maxWidgetViewRatio;let s=t,n=0,o=this.getNextStickyNode(s,void 0,n);for(;o&&n+o.height=this.stickyScrollMaxItemCount))&&(s=this.getNextVisibleNode(s),s);)o=this.getNextStickyNode(s,o.node,n);return i.length?new A$(i):void 0}getNextVisibleNode(t){const i=this.getNodeIndex(t);if(-1!==i&&i!==this.view.length-1)return this.view.element(i+1)}getNextStickyNode(t,i,e){const s=this.getAncestorUnderPrevious(t,i);if(s){if(s===t){if(!this.nodeIsUncollapsedParent(t))return;if(this.nodeTopAlignsWithStickyNodesBottom(t,e))return}return this.createStickyScrollNode(s,e)}}nodeTopAlignsWithStickyNodesBottom(t,i){const e=this.getNodeIndex(t),s=this.view.getElementTop(e);return this.view.scrollTop===s-i}createStickyScrollNode(t,i){const e=this.treeDelegate.getHeight(t),{startIndex:s,endIndex:n}=this.getNodeRange(t);return{node:t,position:this.calculateStickyNodePosition(n,i),height:e,startIndex:s,endIndex:n}}getAncestorUnderPrevious(t,i){let e=t,s=this.getParentNode(e);for(;s;){if(s===i)return e;e=s,s=this.getParentNode(e)}if(void 0===i)return e}calculateStickyNodePosition(t,i){let e=this.view.getRelativeTop(t);if(null===e&&this.view.firstVisibleIndex===t&&t+1o&&i<=o+n?o:i}getParentNode(t){const i=this.model.getNodeLocation(t),e=this.model.getParentNodeLocation(i);return e?this.model.getNode(e):void 0}nodeIsUncollapsedParent(t){const i=this.model.getNodeLocation(t);return this.model.getListRenderCount(i)>1}getNodeIndex(t,i){return void 0===i&&(i=this.model.getNodeLocation(t)),this.model.getListIndex(i)}getNodeRange(t){const i=this.model.getNodeLocation(t),e=this.model.getListIndex(i);if(e<0)throw new Error("Node not found in tree");return{startIndex:e,endIndex:e+this.model.getListRenderCount(i)-1}}nodePositionTopBelowWidget(t){const i=[];let e=this.getParentNode(t);for(;e;)i.push(e),e=this.getParentNode(e);let s=0;for(let t=0;t0,s=!!t&&t.count>0;if(!e&&!s||e&&s&&this._previousState.equal(t))return;if(e!==s&&this.setVisible(s),null===(i=this._previousState)||void 0===i||i.dispose(),this._previousState=t,!s)return;for(let i=t.count-1;i>=0;i--){const e=t.stickyNodes[i],s=i?t.stickyNodes[i-1]:void 0,n=s?s.position+s.height:0,{element:o,disposable:r}=this.createElement(e,n);this._rootDomNode.appendChild(o),t.addDisposable(r)}const n=$l(".monaco-tree-sticky-container-shadow");this._rootDomNode.appendChild(n),t.addDisposable(Xi((()=>n.remove())));const o=t.stickyNodes[t.count-1];this._rootDomNode.style.height=`${o.position+o.height}px`}createElement(t,i){const e=this.model.getNodeLocation(t.node),s=this.model.getListIndex(e),n=document.createElement("div");n.style.top=`${t.position}px`,n.style.height=`${t.height}px`,n.style.lineHeight=`${t.height}px`,n.classList.add("monaco-tree-sticky-row"),n.classList.add("monaco-list-row"),n.setAttribute("data-index",`${s}`),n.setAttribute("data-parity",s%2==0?"even":"odd"),n.setAttribute("id",this.view.getElementID(s));const o=this.treeDelegate.getTemplateId(t.node),r=this.treeRenderers.find((t=>t.templateId===o));if(!r)throw new Error(`No renderer found for template id ${o}`);const h=new Proxy(t.node,{}),c=r.renderTemplate(n);r.renderElement(h,t.startIndex,c,t.height);const a=Xi((()=>{r.disposeElement(h,t.startIndex,c,t.height),r.disposeTemplate(c),n.remove()}));return{element:n,disposable:a}}setVisible(t){this._rootDomNode.style.display=t?"block":"none"}dispose(){var t;null===(t=this._previousState)||void 0===t||t.dispose(),this._rootDomNode.remove()}}function F$(t){let i=c$.Unknown;return ll(t.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?i=c$.Twistie:ll(t.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?i=c$.Element:ll(t.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(i=c$.Filter),{browserEvent:t.browserEvent,element:t.element?t.element.element:null,target:i}}function T$(t,i){i(t),t.children.forEach((t=>T$(t,i)))}class R${get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(t,i){this.getFirstViewElementWithTrait=t,this.identityProvider=i,this.nodes=[],this._onDidChange=new fe,this.onDidChange=this._onDidChange.event}set(t,i){!(null==i?void 0:i.__forceEvent)&&u(this.nodes,t)||this._set(t,!1,i)}_set(t,i,e){if(this.nodes=[...t],this.elements=void 0,this._nodeSet=void 0,!i){const t=this;this._onDidChange.fire({get elements(){return t.get()},browserEvent:e})}}get(){return this.elements||(this.elements=this.nodes.map((t=>t.element))),[...this.elements]}getNodes(){return this.nodes}has(t){return this.nodeSet.has(t)}onDidModelSplice({insertedNodes:t,deletedNodes:i}){if(!this.identityProvider){const t=this.createNodeSet(),e=i=>t.delete(i);return i.forEach((t=>T$(t,e))),void this.set([...t.values()])}const e=new Set,s=t=>e.add(this.identityProvider.getId(t.element).toString());i.forEach((t=>T$(t,s)));const n=new Map,o=t=>n.set(this.identityProvider.getId(t.element).toString(),t);t.forEach((t=>T$(t,o)));const r=[];for(const t of this.nodes){const i=this.identityProvider.getId(t.element).toString();if(e.has(i)){const t=n.get(i);t&&t.visible&&r.push(t)}else r.push(t)}if(this.nodes.length>0&&0===r.length){const t=this.getFirstViewElementWithTrait();t&&r.push(t)}this._set(r,!0)}createNodeSet(){const t=new Set;for(const i of this.nodes)t.add(i);return t}}class O$ extends qN{constructor(t,i,e){super(t),this.tree=i,this.stickyScrollProvider=e}onViewPointer(t){if(PN(t.browserEvent.target)||_N(t.browserEvent.target)||BN(t.browserEvent.target))return;if(t.browserEvent.isHandledByList)return;const i=t.element;if(!i)return super.onViewPointer(t);if(this.isSelectionRangeChangeEvent(t)||this.isSelectionSingleChangeEvent(t))return super.onViewPointer(t);const e=t.browserEvent.target,s=e.classList.contains("monaco-tl-twistie")||e.classList.contains("monaco-icon-label")&&e.classList.contains("folder-icon")&&t.browserEvent.offsetX<16,n=function(t){return NN(t,"monaco-tree-sticky-row")}(t.browserEvent.target);let o=!1;if(o=!!n||("function"==typeof this.tree.expandOnlyOnTwistieClick?this.tree.expandOnlyOnTwistieClick(i.element):!!this.tree.expandOnlyOnTwistieClick),n)this.handleStickyScrollMouseEvent(t,i);else{if(o&&!s&&2!==t.browserEvent.detail)return super.onViewPointer(t);if(!this.tree.expandOnDoubleClick&&2===t.browserEvent.detail)return super.onViewPointer(t)}if(i.collapsible&&(!n||s)){const e=this.tree.getNodeLocation(i),n=t.browserEvent.altKey;if(this.tree.setFocus([e]),this.tree.toggleCollapsed(e,n),o&&s)return void(t.browserEvent.isHandledByList=!0)}n||super.onViewPointer(t)}handleStickyScrollMouseEvent(t,i){if(function(t){return NN(t,"monaco-custom-toggle")}(t.browserEvent.target)||function(t){return NN(t,"action-item")}(t.browserEvent.target))return;const e=this.stickyScrollProvider();if(!e)throw new Error("Sticky scroll controller not found");const s=this.list.indexOf(i),n=this.list.getElementTop(s),o=e.nodePositionTopBelowWidget(i);this.tree.scrollTop=n-o,this.list.setFocus([s]),this.list.setSelection([s])}onDoubleClick(t){!t.browserEvent.target.classList.contains("monaco-tl-twistie")&&this.tree.expandOnDoubleClick&&(t.browserEvent.isHandledByList||super.onDoubleClick(t))}}class I$ extends iB{constructor(t,i,e,s,n,o,r,h){super(t,i,e,s,h),this.focusTrait=n,this.selectionTrait=o,this.anchorTrait=r}createMouseController(t){return new O$(this,t.tree,t.stickyScrollProvider)}splice(t,i,e=[]){if(super.splice(t,i,e),0===e.length)return;const s=[],n=[];let o;e.forEach(((i,e)=>{this.focusTrait.has(i)&&s.push(t+e),this.selectionTrait.has(i)&&n.push(t+e),this.anchorTrait.has(i)&&(o=t+e)})),s.length>0&&super.setFocus(k([...super.getFocus(),...s])),n.length>0&&super.setSelection(k([...super.getSelection(),...n])),"number"==typeof o&&super.setAnchor(o)}setFocus(t,i,e=!1){super.setFocus(t,i),e||this.focusTrait.set(t.map((t=>this.element(t))),i)}setSelection(t,i,e=!1){super.setSelection(t,i),e||this.selectionTrait.set(t.map((t=>this.element(t))),i)}setAnchor(t,i=!1){super.setAnchor(t),i||this.anchorTrait.set(void 0===t?[]:[this.element(t)])}}class _${get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return ce.filter(ce.map(this.view.onMouseDblClick,F$),(t=>t.target!==c$.Filter))}get onPointer(){return ce.map(this.view.onPointer,F$)}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return ce.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){var t,i;return null!==(i=null===(t=this.findController)||void 0===t?void 0:t.mode)&&void 0!==i?i:l$.Highlight}set findMode(t){this.findController&&(this.findController.mode=t)}get findMatchType(){var t,i;return null!==(i=null===(t=this.findController)||void 0===t?void 0:t.matchType)&&void 0!==i?i:u$.Fuzzy}set findMatchType(t){this.findController&&(this.findController.matchType=t)}get expandOnDoubleClick(){return void 0===this._options.expandOnDoubleClick||this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return void 0===this._options.expandOnlyOnTwistieClick||this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(t,i,e,s,n={}){var o;this._user=t,this._options=n,this.eventBufferer=new be,this.onDidChangeFindOpenState=ce.None,this.disposables=new te,this._onWillRefilter=new fe,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new fe,this.treeDelegate=new k$(e);const r=new ye,h=new ye,c=this.disposables.add(new x$(h.event)),a=new $p;this.renderers=s.map((t=>new C$(t,(()=>this.model),r.event,c,a,n)));for(const t of this.renderers)this.disposables.add(t);let l;var u,d;n.keyboardNavigationLabelProvider&&(l=new S$(this,n.keyboardNavigationLabelProvider,n.filter),n={...n,filter:l},this.disposables.add(l)),this.focus=new R$((()=>this.view.getFocusedElements()[0]),n.identityProvider),this.selection=new R$((()=>this.view.getSelectedElements()[0]),n.identityProvider),this.anchor=new R$((()=>this.view.getAnchorElement()),n.identityProvider),this.view=new I$(t,i,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...(u=()=>this.model,d=n,d&&{...d,identityProvider:d.identityProvider&&{getId:t=>d.identityProvider.getId(t.element)},dnd:d.dnd&&new y$(u,d.dnd),multipleSelectionController:d.multipleSelectionController&&{isSelectionSingleChangeEvent:t=>d.multipleSelectionController.isSelectionSingleChangeEvent({...t,element:t.element}),isSelectionRangeChangeEvent:t=>d.multipleSelectionController.isSelectionRangeChangeEvent({...t,element:t.element})},accessibilityProvider:d.accessibilityProvider&&{...d.accessibilityProvider,getSetSize(t){const i=u(),e=i.getNodeLocation(t),s=i.getParentNodeLocation(e);return i.getNode(s).visibleChildrenCount},getPosInSet:t=>t.visibleChildIndex+1,isChecked:d.accessibilityProvider&&d.accessibilityProvider.isChecked?t=>d.accessibilityProvider.isChecked(t.element):void 0,getRole:d.accessibilityProvider&&d.accessibilityProvider.getRole?t=>d.accessibilityProvider.getRole(t.element):()=>"treeitem",getAriaLabel:t=>d.accessibilityProvider.getAriaLabel(t.element),getWidgetAriaLabel:()=>d.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:d.accessibilityProvider&&d.accessibilityProvider.getWidgetRole?()=>d.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:d.accessibilityProvider&&d.accessibilityProvider.getAriaLevel?t=>d.accessibilityProvider.getAriaLevel(t.element):t=>t.depth,getActiveDescendantId:d.accessibilityProvider.getActiveDescendantId&&(t=>d.accessibilityProvider.getActiveDescendantId(t.element))},keyboardNavigationLabelProvider:d.keyboardNavigationLabelProvider&&{...d.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:t=>d.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)}}),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(t,this.view,n),r.input=this.model.onDidChangeCollapseState;const f=ce.forEach(this.model.onDidSplice,(t=>{this.eventBufferer.bufferEvents((()=>{this.focus.onDidModelSplice(t),this.selection.onDidModelSplice(t)}))}),this.disposables);f((()=>null),null,this.disposables);const p=this.disposables.add(new fe),g=this.disposables.add(new hc(0));if(this.disposables.add(ce.any(f,this.focus.onDidChange,this.selection.onDidChange)((()=>{g.trigger((()=>{const t=new Set;for(const i of this.focus.getNodes())t.add(i);for(const i of this.selection.getNodes())t.add(i);p.fire([...t.values()])}))}))),h.input=p.event,!1!==n.keyboardSupport){const t=ce.chain(this.view.onKeyDown,(t=>t.filter((t=>!_N(t.target))).map((t=>new Qh(t)))));ce.chain(t,(t=>t.filter((t=>15===t.keyCode))))(this.onLeftArrow,this,this.disposables),ce.chain(t,(t=>t.filter((t=>17===t.keyCode))))(this.onRightArrow,this,this.disposables),ce.chain(t,(t=>t.filter((t=>10===t.keyCode))))(this.onSpace,this,this.disposables)}(null===(o=n.findWidgetEnabled)||void 0===o||o)&&n.keyboardNavigationLabelProvider&&n.contextViewProvider?(this.findController=new D$(this,this.model,this.view,l,n.contextViewProvider,this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0),this.focusNavigationFilter=t=>this.findController.shouldAllowFocus(t),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType):(this.onDidChangeFindMode=ce.None,this.onDidChangeFindMatchType=ce.None),n.enableStickyScroll&&(this.stickyScrollController=new M$(this,this.model,this.view,this.renderers,this.treeDelegate,n)),this.styleElement=vl(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===a$.Always)}updateOptions(t={}){var i;this._options={...this._options,...t};for(const i of this.renderers)i.updateOptions(t);this.view.updateOptions(this._options),null===(i=this.findController)||void 0===i||i.updateOptions(t),this.updateStickyScroll(t),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===a$.Always)}get options(){return this._options}updateStickyScroll(t){var i;!this.stickyScrollController&&this._options.enableStickyScroll?this.stickyScrollController=new M$(this,this.model,this.view,this.renderers,this.treeDelegate,this._options):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.stickyScrollController.dispose(),this.stickyScrollController=void 0),null===(i=this.stickyScrollController)||void 0===i||i.updateOptions(t)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(t){this.view.scrollTop=t}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}domFocus(){this.view.domFocus()}layout(t,i){var e;this.view.layout(t,i),j(i)&&(null===(e=this.findController)||void 0===e||e.layout(i))}style(t){const i=`.${this.view.domId}`,e=[];t.treeIndentGuidesStroke&&(e.push(`.monaco-list${i}:hover .monaco-tl-indent > .indent-guide, .monaco-list${i}.always .monaco-tl-indent > .indent-guide { border-color: ${t.treeInactiveIndentGuidesStroke}; }`),e.push(`.monaco-list${i} .monaco-tl-indent > .indent-guide.active { border-color: ${t.treeIndentGuidesStroke}; }`)),t.listBackground&&(e.push(`.monaco-list${i} .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ${t.listBackground}; }`),e.push(`.monaco-list${i} .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ${t.listBackground}; }`)),this.styleElement.textContent=e.join("\n"),this.view.style(t)}getParentElement(t){const i=this.model.getParentNodeLocation(t);return this.model.getNode(i).element}getFirstElementChild(t){return this.model.getFirstElementChild(t)}getNode(t){return this.model.getNode(t)}getNodeLocation(t){return this.model.getNodeLocation(t)}collapse(t,i=!1){return this.model.setCollapsed(t,!0,i)}expand(t,i=!1){return this.model.setCollapsed(t,!1,i)}toggleCollapsed(t,i=!1){return this.model.setCollapsed(t,void 0,i)}isCollapsible(t){return this.model.isCollapsible(t)}setCollapsible(t,i){return this.model.setCollapsible(t,i)}isCollapsed(t){return this.model.isCollapsed(t)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(t,i){const e=t.map((t=>this.model.getNode(t)));this.selection.set(e,i);const s=t.map((t=>this.model.getListIndex(t))).filter((t=>t>-1));this.view.setSelection(s,i,!0)}getSelection(){return this.selection.get()}setFocus(t,i){const e=t.map((t=>this.model.getNode(t)));this.focus.set(e,i);const s=t.map((t=>this.model.getListIndex(t))).filter((t=>t>-1));this.view.setFocus(s,i,!0)}getFocus(){return this.focus.get()}reveal(t,i){this.model.expandTo(t);const e=this.model.getListIndex(t);if(-1!==e)if(this.stickyScrollController){const s=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(t));this.view.reveal(e,i,s)}else this.view.reveal(e,i)}onLeftArrow(t){t.preventDefault(),t.stopPropagation();const i=this.view.getFocusedElements();if(0===i.length)return;const e=this.model.getNodeLocation(i[0]);if(!this.model.setCollapsed(e,!0)){const t=this.model.getParentNodeLocation(e);if(!t)return;const i=this.model.getListIndex(t);this.view.reveal(i),this.view.setFocus([i])}}onRightArrow(t){t.preventDefault(),t.stopPropagation();const i=this.view.getFocusedElements();if(0===i.length)return;const e=i[0],s=this.model.getNodeLocation(e);if(!this.model.setCollapsed(s,!1)){if(!e.children.some((t=>t.visible)))return;const[t]=this.view.getFocus(),i=t+1;this.view.reveal(i),this.view.setFocus([i])}}onSpace(t){t.preventDefault(),t.stopPropagation();const i=this.view.getFocusedElements();if(0===i.length)return;const e=this.model.getNodeLocation(i[0]);this.model.setCollapsed(e,void 0,t.browserEvent.altKey)}dispose(){var t;Ji(this.disposables),null===(t=this.stickyScrollController)||void 0===t||t.dispose(),this.view.dispose()}}class N${constructor(t,i,e={}){this.user=t,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new w$(t,i,null,e),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,e.sorter&&(this.sorter={compare:(t,i)=>e.sorter.compare(t.element,i.element)}),this.identityProvider=e.identityProvider}setChildren(t,i=Vt.empty(),e={}){const s=this.getElementLocation(t);this._setChildren(s,this.preserveCollapseState(i),e)}_setChildren(t,i=Vt.empty(),e){const s=new Set,n=new Set;this.model.splice([...t,0],Number.MAX_VALUE,i,{...e,onDidCreateNode:t=>{var i;if(null===t.element)return;const o=t;if(s.add(o.element),this.nodes.set(o.element,o),this.identityProvider){const t=this.identityProvider.getId(o.element).toString();n.add(t),this.nodesByIdentity.set(t,o)}null===(i=e.onDidCreateNode)||void 0===i||i.call(e,o)},onDidDeleteNode:t=>{var i;if(null===t.element)return;const o=t;if(s.has(o.element)||this.nodes.delete(o.element),this.identityProvider){const t=this.identityProvider.getId(o.element).toString();n.has(t)||this.nodesByIdentity.delete(t)}null===(i=e.onDidDeleteNode)||void 0===i||i.call(e,o)}})}preserveCollapseState(t=Vt.empty()){return this.sorter&&(t=[...t].sort(this.sorter.compare.bind(this.sorter))),Vt.map(t,(t=>{let i=this.nodes.get(t.element);if(!i&&this.identityProvider){const e=this.identityProvider.getId(t.element).toString();i=this.nodesByIdentity.get(e)}if(!i){let i;return i=void 0===t.collapsed?void 0:t.collapsed===h$.Collapsed||t.collapsed===h$.PreserveOrCollapsed||t.collapsed!==h$.Expanded&&t.collapsed!==h$.PreserveOrExpanded&&Boolean(t.collapsed),{...t,children:this.preserveCollapseState(t.children),collapsed:i}}const e="boolean"==typeof t.collapsible?t.collapsible:i.collapsible;let s;return s=void 0===t.collapsed||t.collapsed===h$.PreserveOrCollapsed||t.collapsed===h$.PreserveOrExpanded?i.collapsed:t.collapsed===h$.Collapsed||t.collapsed!==h$.Expanded&&Boolean(t.collapsed),{...t,collapsible:e,collapsed:s,children:this.preserveCollapseState(t.children)}}))}rerender(t){const i=this.getElementLocation(t);this.model.rerender(i)}getFirstElementChild(t=null){const i=this.getElementLocation(t);return this.model.getFirstElementChild(i)}has(t){return this.nodes.has(t)}getListIndex(t){const i=this.getElementLocation(t);return this.model.getListIndex(i)}getListRenderCount(t){const i=this.getElementLocation(t);return this.model.getListRenderCount(i)}isCollapsible(t){const i=this.getElementLocation(t);return this.model.isCollapsible(i)}setCollapsible(t,i){const e=this.getElementLocation(t);return this.model.setCollapsible(e,i)}isCollapsed(t){const i=this.getElementLocation(t);return this.model.isCollapsed(i)}setCollapsed(t,i,e){const s=this.getElementLocation(t);return this.model.setCollapsed(s,i,e)}expandTo(t){const i=this.getElementLocation(t);this.model.expandTo(i)}refilter(){this.model.refilter()}getNode(t=null){if(null===t)return this.model.getNode(this.model.rootRef);const i=this.nodes.get(t);if(!i)throw new d$(this.user,`Tree element not found: ${t}`);return i}getNodeLocation(t){return t.element}getParentNodeLocation(t){if(null===t)throw new d$(this.user,"Invalid getParentNodeLocation call");const i=this.nodes.get(t);if(!i)throw new d$(this.user,`Tree element not found: ${t}`);const e=this.model.getNodeLocation(i),s=this.model.getParentNodeLocation(e);return this.model.getNode(s).element}getElementLocation(t){if(null===t)return[];const i=this.nodes.get(t);if(!i)throw new d$(this.user,`Tree element not found: ${t}`);return this.model.getNodeLocation(i)}}function B$(t){return{element:{elements:[t.element],incompressible:t.incompressible||!1},children:Vt.map(Vt.from(t.children),B$),collapsible:t.collapsible,collapsed:t.collapsed}}function P$(t){const i=[t.element],e=t.incompressible||!1;let s,n;for(;[n,s]=Vt.consume(Vt.from(t.children),2),1===n.length&&!n[0].incompressible;)i.push((t=n[0]).element);return{element:{elements:i,incompressible:e},children:Vt.map(Vt.concat(n,s),P$),collapsible:t.collapsible,collapsed:t.collapsed}}function $$(t,i=0){let e;return e=i$$(t,0))),0===i&&t.element.incompressible?{element:t.element.elements[i],children:e,incompressible:!0,collapsible:t.collapsible,collapsed:t.collapsed}:{element:t.element.elements[i],children:e,collapsible:t.collapsible,collapsed:t.collapsed}}function W$(t){return $$(t,0)}function j$(t,i,e){return t.element===i?{...t,children:e}:{...t,children:Vt.map(Vt.from(t.children),(t=>j$(t,i,e)))}}class z${get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(t,i,e={}){this.user=t,this.rootRef=null,this.nodes=new Map,this.model=new N$(t,i,e),this.enabled=void 0===e.compressionEnabled||e.compressionEnabled,this.identityProvider=e.identityProvider}setChildren(t,i=Vt.empty(),e){const s=e.diffIdentityProvider&&(n=e.diffIdentityProvider,{getId:t=>t.elements.map((t=>n.getId(t).toString())).join("\0")});var n;if(null===t){const t=Vt.map(i,this.enabled?P$:B$);return void this._setChildren(null,t,{diffIdentityProvider:s,diffDepth:1/0})}const o=this.nodes.get(t);if(!o)throw new d$(this.user,"Unknown compressed tree node");const r=this.model.getNode(o),h=this.model.getParentNodeLocation(o),c=this.model.getNode(h),a=j$(W$(r),t,i),l=(this.enabled?P$:B$)(a);if(u(l.element.elements,r.element.elements,e.diffIdentityProvider?(t,i)=>e.diffIdentityProvider.getId(t)===e.diffIdentityProvider.getId(i):void 0))return void this._setChildren(o,l.children||Vt.empty(),{diffIdentityProvider:s,diffDepth:1});const d=c.children.map((t=>t===r?l:t));this._setChildren(c.element,d,{diffIdentityProvider:s,diffDepth:r.depth-c.depth})}setCompressionEnabled(t){if(t===this.enabled)return;this.enabled=t;const i=this.model.getNode(),e=Vt.map(i.children,W$),s=Vt.map(e,t?P$:B$);this._setChildren(null,s,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(t,i,e){const s=new Set;this.model.setChildren(t,i,{...e,onDidCreateNode:t=>{for(const i of t.element.elements)s.add(i),this.nodes.set(i,t.element)},onDidDeleteNode:t=>{for(const i of t.element.elements)s.has(i)||this.nodes.delete(i)}})}has(t){return this.nodes.has(t)}getListIndex(t){const i=this.getCompressedNode(t);return this.model.getListIndex(i)}getListRenderCount(t){const i=this.getCompressedNode(t);return this.model.getListRenderCount(i)}getNode(t){if(void 0===t)return this.model.getNode();const i=this.getCompressedNode(t);return this.model.getNode(i)}getNodeLocation(t){const i=this.model.getNodeLocation(t);return null===i?null:i.elements[i.elements.length-1]}getParentNodeLocation(t){const i=this.getCompressedNode(t),e=this.model.getParentNodeLocation(i);return null===e?null:e.elements[e.elements.length-1]}getFirstElementChild(t){const i=this.getCompressedNode(t);return this.model.getFirstElementChild(i)}isCollapsible(t){const i=this.getCompressedNode(t);return this.model.isCollapsible(i)}setCollapsible(t,i){const e=this.getCompressedNode(t);return this.model.setCollapsible(e,i)}isCollapsed(t){const i=this.getCompressedNode(t);return this.model.isCollapsed(i)}setCollapsed(t,i,e){const s=this.getCompressedNode(t);return this.model.setCollapsed(s,i,e)}expandTo(t){const i=this.getCompressedNode(t);this.model.expandTo(i)}rerender(t){const i=this.getCompressedNode(t);this.model.rerender(i)}refilter(){this.model.refilter()}getCompressedNode(t){if(null===t)return null;const i=this.nodes.get(t);if(!i)throw new d$(this.user,`Tree element not found: ${t}`);return i}}const H$=t=>t[t.length-1];class V${get element(){return null===this.node.element?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map((t=>new V$(this.unwrapper,t)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(t,i){this.unwrapper=t,this.node=i}}class U${get onDidSplice(){return ce.map(this.model.onDidSplice,(({insertedNodes:t,deletedNodes:i})=>({insertedNodes:t.map((t=>this.nodeMapper.map(t))),deletedNodes:i.map((t=>this.nodeMapper.map(t)))})))}get onDidChangeCollapseState(){return ce.map(this.model.onDidChangeCollapseState,(({node:t,deep:i})=>({node:this.nodeMapper.map(t),deep:i})))}get onDidChangeRenderNodeCount(){return ce.map(this.model.onDidChangeRenderNodeCount,(t=>this.nodeMapper.map(t)))}constructor(t,i,e={}){this.rootRef=null,this.elementMapper=e.elementMapper||H$;const s=t=>this.elementMapper(t.elements);this.nodeMapper=new f$((t=>new V$(s,t))),this.model=new z$(t,function(t,i){return{splice(e,s,n){i.splice(e,s,n.map((i=>t.map(i))))},updateElementHeight(t,e){i.updateElementHeight(t,e)}}}(this.nodeMapper,i),function(t,i){return{...i,identityProvider:i.identityProvider&&{getId:e=>i.identityProvider.getId(t(e))},sorter:i.sorter&&{compare:(t,e)=>i.sorter.compare(t.elements[0],e.elements[0])},filter:i.filter&&{filter:(e,s)=>i.filter.filter(t(e),s)}}}(s,e))}setChildren(t,i=Vt.empty(),e={}){this.model.setChildren(t,i,e)}setCompressionEnabled(t){this.model.setCompressionEnabled(t)}has(t){return this.model.has(t)}getListIndex(t){return this.model.getListIndex(t)}getListRenderCount(t){return this.model.getListRenderCount(t)}getNode(t){return this.nodeMapper.map(this.model.getNode(t))}getNodeLocation(t){return t.element}getParentNodeLocation(t){return this.model.getParentNodeLocation(t)}getFirstElementChild(t){const i=this.model.getFirstElementChild(t);return null==i?i:this.elementMapper(i.elements)}isCollapsible(t){return this.model.isCollapsible(t)}setCollapsible(t,i){return this.model.setCollapsible(t,i)}isCollapsed(t){return this.model.isCollapsed(t)}setCollapsed(t,i,e){return this.model.setCollapsed(t,i,e)}expandTo(t){return this.model.expandTo(t)}rerender(t){return this.model.rerender(t)}refilter(){return this.model.refilter()}getCompressedTreeNode(t=null){return this.model.getNode(t)}}class q$ extends _${get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(t,i,e,s,n={}){super(t,i,e,s,n),this.user=t}setChildren(t,i=Vt.empty(),e){this.model.setChildren(t,i,e)}rerender(t){void 0!==t?this.model.rerender(t):this.view.rerender()}hasElement(t){return this.model.has(t)}createModel(t,i,e){return new N$(t,i,e)}}class K${get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(t,i){this._compressedTreeNodeProvider=t,this.renderer=i,this.templateId=i.templateId,i.onDidChangeTwistieState&&(this.onDidChangeTwistieState=i.onDidChangeTwistieState)}renderTemplate(t){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(t)}}renderElement(t,i,e,s){const n=this.compressedTreeNodeProvider.getCompressedTreeNode(t.element);1===n.element.elements.length?(e.compressedTreeNode=void 0,this.renderer.renderElement(t,i,e.data,s)):(e.compressedTreeNode=n,this.renderer.renderCompressedElements(n,i,e.data,s))}disposeElement(t,i,e,s){var n,o,r,h;e.compressedTreeNode?null===(o=(n=this.renderer).disposeCompressedElements)||void 0===o||o.call(n,e.compressedTreeNode,i,e.data,s):null===(h=(r=this.renderer).disposeElement)||void 0===h||h.call(r,t,i,e.data,s)}disposeTemplate(t){this.renderer.disposeTemplate(t.data)}renderTwistie(t,i){return!!this.renderer.renderTwistie&&this.renderer.renderTwistie(t,i)}}!function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);o>3&&r&&Object.defineProperty(i,e,r)}([Jm],K$.prototype,"compressedTreeNodeProvider",null);class G$ extends q${constructor(t,i,e,s,n={}){const o=()=>this;super(t,i,e,s.map((t=>new K$(o,t))),function(t,i){return i&&{...i,keyboardNavigationLabelProvider:i.keyboardNavigationLabelProvider&&{getKeyboardNavigationLabel(e){let s;try{s=t().getCompressedTreeNode(e)}catch(t){return i.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e)}return 1===s.element.elements.length?i.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e):i.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(s.element.elements)}}}}(o,n))}setChildren(t,i=Vt.empty(),e){this.model.setChildren(t,i,e)}createModel(t,i,e){return new U$(t,i,e)}updateOptions(t={}){super.updateOptions(t),void 0!==t.compressionEnabled&&this.model.setCompressionEnabled(t.compressionEnabled)}getCompressedTreeNode(t=null){return this.model.getCompressedTreeNode(t)}}function Z$(t){return{...t,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function Q$(t,i){return!!i.parent&&(i.parent===t||Q$(t,i.parent))}class J${get element(){return this.node.element.element}get children(){return this.node.children.map((t=>new J$(t)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(t){this.node=t}}class Y${constructor(t,i,e){this.renderer=t,this.nodeMapper=i,this.onDidChangeTwistieState=e,this.renderedNodes=new Map,this.templateId=t.templateId}renderTemplate(t){return{templateData:this.renderer.renderTemplate(t)}}renderElement(t,i,e,s){this.renderer.renderElement(this.nodeMapper.map(t),i,e.templateData,s)}renderTwistie(t,i){return t.slow?(i.classList.add(...Cr.asClassNameArray(Os.treeItemLoading)),!0):(i.classList.remove(...Cr.asClassNameArray(Os.treeItemLoading)),!1)}disposeElement(t,i,e,s){var n,o;null===(o=(n=this.renderer).disposeElement)||void 0===o||o.call(n,this.nodeMapper.map(t),i,e.templateData,s)}disposeTemplate(t){this.renderer.disposeTemplate(t.templateData)}dispose(){this.renderedNodes.clear()}}function X$(t){return{browserEvent:t.browserEvent,elements:t.elements.map((t=>t.element))}}function tW(t){return{browserEvent:t.browserEvent,element:t.element&&t.element.element,target:t.target}}class iW extends CN{constructor(t){super(t.elements.map((t=>t.element))),this.data=t}}function eW(t){return t instanceof CN?new iW(t):t}class sW{constructor(t){this.dnd=t}getDragURI(t){return this.dnd.getDragURI(t.element)}getDragLabel(t,i){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(t.map((t=>t.element)),i)}onDragStart(t,i){var e,s;null===(s=(e=this.dnd).onDragStart)||void 0===s||s.call(e,eW(t),i)}onDragOver(t,i,e,s,n=!0){return this.dnd.onDragOver(eW(t),i&&i.element,e,s)}drop(t,i,e,s){this.dnd.drop(eW(t),i&&i.element,e,s)}onDragEnd(t){var i,e;null===(e=(i=this.dnd).onDragEnd)||void 0===e||e.call(i,t)}dispose(){this.dnd.dispose()}}function nW(t){return t&&{...t,collapseByDefault:!0,identityProvider:t.identityProvider&&{getId:i=>t.identityProvider.getId(i.element)},dnd:t.dnd&&new sW(t.dnd),multipleSelectionController:t.multipleSelectionController&&{isSelectionSingleChangeEvent:i=>t.multipleSelectionController.isSelectionSingleChangeEvent({...i,element:i.element}),isSelectionRangeChangeEvent:i=>t.multipleSelectionController.isSelectionRangeChangeEvent({...i,element:i.element})},accessibilityProvider:t.accessibilityProvider&&{...t.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:t.accessibilityProvider.getRole?i=>t.accessibilityProvider.getRole(i.element):()=>"treeitem",isChecked:t.accessibilityProvider.isChecked?i=>{var e;return!!(null===(e=t.accessibilityProvider)||void 0===e?void 0:e.isChecked(i.element))}:void 0,getAriaLabel:i=>t.accessibilityProvider.getAriaLabel(i.element),getWidgetAriaLabel:()=>t.accessibilityProvider.getWidgetAriaLabel(),getWidgetRole:t.accessibilityProvider.getWidgetRole?()=>t.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:t.accessibilityProvider.getAriaLevel&&(i=>t.accessibilityProvider.getAriaLevel(i.element)),getActiveDescendantId:t.accessibilityProvider.getActiveDescendantId&&(i=>t.accessibilityProvider.getActiveDescendantId(i.element))},filter:t.filter&&{filter:(i,e)=>t.filter.filter(i.element,e)},keyboardNavigationLabelProvider:t.keyboardNavigationLabelProvider&&{...t.keyboardNavigationLabelProvider,getKeyboardNavigationLabel:i=>t.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(i.element)},sorter:void 0,expandOnlyOnTwistieClick:void 0===t.expandOnlyOnTwistieClick?void 0:"function"!=typeof t.expandOnlyOnTwistieClick?t.expandOnlyOnTwistieClick:i=>t.expandOnlyOnTwistieClick(i.element),defaultFindVisibility:i=>i.hasChildren&&i.stale?1:"number"==typeof t.defaultFindVisibility?t.defaultFindVisibility:void 0===t.defaultFindVisibility?2:t.defaultFindVisibility(i.element)}}function oW(t,i){i(t),t.children.forEach((t=>oW(t,i)))}class rW{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return ce.map(this.tree.onDidChangeFocus,X$)}get onDidChangeSelection(){return ce.map(this.tree.onDidChangeSelection,X$)}get onMouseDblClick(){return ce.map(this.tree.onMouseDblClick,tW)}get onPointer(){return ce.map(this.tree.onPointer,tW)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidDispose(){return this.tree.onDidDispose}constructor(t,i,e,s,n,o={}){this.user=t,this.dataSource=n,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new fe,this._onDidChangeNodeSlowState=new fe,this.nodeMapper=new f$((t=>new J$(t))),this.disposables=new te,this.identityProvider=o.identityProvider,this.autoExpandSingleChildren=void 0!==o.autoExpandSingleChildren&&o.autoExpandSingleChildren,this.sorter=o.sorter,this.getDefaultCollapseState=t=>o.collapseByDefault?o.collapseByDefault(t)?h$.PreserveOrCollapsed:h$.PreserveOrExpanded:void 0,this.tree=this.createTree(t,i,e,s,o),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.root=Z$({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(t,i,e,s,n){const o=new k$(e),r=s.map((t=>new Y$(t,this.nodeMapper,this._onDidChangeNodeSlowState.event))),h=nW(n)||{};return new q$(t,i,o,r,h)}updateOptions(t={}){this.tree.updateOptions(t)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(t){this.tree.scrollTop=t}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(t,i){this.tree.layout(t,i)}style(t){this.tree.style(t)}getInput(){return this.root.element}async setInput(t,i){this.refreshPromises.forEach((t=>t.cancel())),this.refreshPromises.clear(),this.root.element=t;const e=i&&{viewState:i,focus:[],selection:[]};await this._updateChildren(t,!0,!1,e),e&&(this.tree.setFocus(e.focus),this.tree.setSelection(e.selection)),i&&"number"==typeof i.scrollTop&&(this.scrollTop=i.scrollTop)}async _updateChildren(t=this.root.element,i=!0,e=!1,s,n){if(void 0===this.root.element)throw new d$(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await ce.toPromise(this._onDidRender.event));const o=this.getDataNode(t);if(await this.refreshAndRenderNode(o,i,s,n),e)try{this.tree.rerender(o)}catch(t){}}rerender(t){if(void 0===t||t===this.root.element)return void this.tree.rerender();const i=this.getDataNode(t);this.tree.rerender(i)}getNode(t=this.root.element){const i=this.getDataNode(t),e=this.tree.getNode(i===this.root?null:i);return this.nodeMapper.map(e)}collapse(t,i=!1){const e=this.getDataNode(t);return this.tree.collapse(e===this.root?null:e,i)}async expand(t,i=!1){if(void 0===this.root.element)throw new d$(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await ce.toPromise(this._onDidRender.event));const e=this.getDataNode(t);if(this.tree.hasElement(e)&&!this.tree.isCollapsible(e))return!1;if(e.refreshPromise&&(await this.root.refreshPromise,await ce.toPromise(this._onDidRender.event)),e!==this.root&&!e.refreshPromise&&!this.tree.isCollapsed(e))return!1;const s=this.tree.expand(e===this.root?null:e,i);return e.refreshPromise&&(await this.root.refreshPromise,await ce.toPromise(this._onDidRender.event)),s}setSelection(t,i){const e=t.map((t=>this.getDataNode(t)));this.tree.setSelection(e,i)}getSelection(){return this.tree.getSelection().map((t=>t.element))}setFocus(t,i){const e=t.map((t=>this.getDataNode(t)));this.tree.setFocus(e,i)}getFocus(){return this.tree.getFocus().map((t=>t.element))}reveal(t,i){this.tree.reveal(this.getDataNode(t),i)}getParentElement(t){const i=this.tree.getParentElement(this.getDataNode(t));return i&&i.element}getFirstElementChild(t=this.root.element){const i=this.getDataNode(t),e=this.tree.getFirstElementChild(i===this.root?null:i);return e&&e.element}getDataNode(t){const i=this.nodes.get(t===this.root.element?null:t);if(!i)throw new d$(this.user,`Data tree node not found: ${t}`);return i}async refreshAndRenderNode(t,i,e,s){await this.refreshNode(t,i,e),this.render(t,e,s)}async refreshNode(t,i,e){let s;return this.subTreeRefreshPromises.forEach(((n,o)=>{!s&&function(t,i){return t===i||Q$(t,i)||Q$(i,t)}(o,t)&&(s=n.then((()=>this.refreshNode(t,i,e))))})),s||(t!==this.root&&this.tree.getNode(t).collapsed?(t.hasChildren=!!this.dataSource.hasChildren(t.element),void(t.stale=!0)):this.doRefreshSubTree(t,i,e))}async doRefreshSubTree(t,i,e){let s;t.refreshPromise=new Promise((t=>s=t)),this.subTreeRefreshPromises.set(t,t.refreshPromise),t.refreshPromise.finally((()=>{t.refreshPromise=void 0,this.subTreeRefreshPromises.delete(t)}));try{const s=await this.doRefreshNode(t,i,e);t.stale=!1,await yc.settled(s.map((t=>this.doRefreshSubTree(t,i,e))))}finally{s()}}async doRefreshNode(t,i,e){let s;if(t.hasChildren=!!this.dataSource.hasChildren(t.element),t.hasChildren){const i=this.doGetChildren(t);if(z(i))s=Promise.resolve(i);else{const e=ac(800);e.then((()=>{t.slow=!0,this._onDidChangeNodeSlowState.fire(t)}),(()=>null)),s=i.finally((()=>e.cancel()))}}else s=Promise.resolve(Vt.empty());try{const n=await s;return this.setChildren(t,n,i,e)}catch(i){if(t!==this.root&&this.tree.hasElement(t)&&this.tree.collapse(t),zi(i))return[];throw i}finally{t.slow&&(t.slow=!1,this._onDidChangeNodeSlowState.fire(t))}}doGetChildren(t){let i=this.refreshPromises.get(t);if(i)return i;const e=this.dataSource.getChildren(t.element);return z(e)?this.processChildren(e):(i=nc((async()=>this.processChildren(await e))),this.refreshPromises.set(t,i),i.finally((()=>{this.refreshPromises.delete(t)})))}_onDidChangeCollapseState({node:t,deep:i}){null!==t.element&&!t.collapsed&&t.element.stale&&(i?this.collapse(t.element.element):this.refreshAndRenderNode(t.element,!1).catch(Pi))}setChildren(t,i,e,s){const n=[...i];if(0===t.children.length&&0===n.length)return[];const o=new Map,r=new Map;for(const i of t.children)o.set(i.element,i),this.identityProvider&&r.set(i.id,{node:i,collapsed:this.tree.hasElement(i)&&this.tree.isCollapsed(i)});const h=[],c=n.map((i=>{const n=!!this.dataSource.hasChildren(i);if(!this.identityProvider){const e=Z$({element:i,parent:t,hasChildren:n,defaultCollapseState:this.getDefaultCollapseState(i)});return n&&e.defaultCollapseState===h$.PreserveOrExpanded&&h.push(e),e}const c=this.identityProvider.getId(i).toString(),a=r.get(c);if(a){const t=a.node;return o.delete(t.element),this.nodes.delete(t.element),this.nodes.set(i,t),t.element=i,t.hasChildren=n,e?a.collapsed?(t.children.forEach((t=>oW(t,(t=>this.nodes.delete(t.element))))),t.children.splice(0,t.children.length),t.stale=!0):h.push(t):n&&!a.collapsed&&h.push(t),t}const l=Z$({element:i,parent:t,id:c,hasChildren:n,defaultCollapseState:this.getDefaultCollapseState(i)});return s&&s.viewState.focus&&s.viewState.focus.indexOf(c)>-1&&s.focus.push(l),s&&s.viewState.selection&&s.viewState.selection.indexOf(c)>-1&&s.selection.push(l),(s&&s.viewState.expanded&&s.viewState.expanded.indexOf(c)>-1||n&&l.defaultCollapseState===h$.PreserveOrExpanded)&&h.push(l),l}));for(const t of o.values())oW(t,(t=>this.nodes.delete(t.element)));for(const t of c)this.nodes.set(t.element,t);return t.children.splice(0,t.children.length,...c),t!==this.root&&this.autoExpandSingleChildren&&1===c.length&&0===h.length&&(c[0].forceExpanded=!0,h.push(c[0])),h}render(t,i,e){const s=t.children.map((t=>this.asTreeElement(t,i))),n=e&&{...e,diffIdentityProvider:e.diffIdentityProvider&&{getId:t=>e.diffIdentityProvider.getId(t.element)}};this.tree.setChildren(t===this.root?null:t,s,n),t!==this.root&&this.tree.setCollapsible(t,t.hasChildren),this._onDidRender.fire()}asTreeElement(t,i){if(t.stale)return{element:t,collapsible:t.hasChildren,collapsed:!0};let e;return i&&i.viewState.expanded&&t.id&&i.viewState.expanded.indexOf(t.id)>-1?e=!1:t.forceExpanded?(e=!1,t.forceExpanded=!1):e=t.defaultCollapseState,{element:t,children:t.hasChildren?Vt.map(t.children,(t=>this.asTreeElement(t,i))):[],collapsible:t.hasChildren,collapsed:e}}processChildren(t){return this.sorter&&(t=[...t].sort(this.sorter.compare.bind(this.sorter))),t}dispose(){this.disposables.dispose(),this.tree.dispose()}}class hW{get element(){return{elements:this.node.element.elements.map((t=>t.element)),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map((t=>new hW(t)))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(t){this.node=t}}class cW{constructor(t,i,e,s){this.renderer=t,this.nodeMapper=i,this.compressibleNodeMapperProvider=e,this.onDidChangeTwistieState=s,this.renderedNodes=new Map,this.disposables=[],this.templateId=t.templateId}renderTemplate(t){return{templateData:this.renderer.renderTemplate(t)}}renderElement(t,i,e,s){this.renderer.renderElement(this.nodeMapper.map(t),i,e.templateData,s)}renderCompressedElements(t,i,e,s){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(t),i,e.templateData,s)}renderTwistie(t,i){return t.slow?(i.classList.add(...Cr.asClassNameArray(Os.treeItemLoading)),!0):(i.classList.remove(...Cr.asClassNameArray(Os.treeItemLoading)),!1)}disposeElement(t,i,e,s){var n,o;null===(o=(n=this.renderer).disposeElement)||void 0===o||o.call(n,this.nodeMapper.map(t),i,e.templateData,s)}disposeCompressedElements(t,i,e,s){var n,o;null===(o=(n=this.renderer).disposeCompressedElements)||void 0===o||o.call(n,this.compressibleNodeMapperProvider().map(t),i,e.templateData,s)}disposeTemplate(t){this.renderer.disposeTemplate(t.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=Ji(this.disposables)}}class aW extends rW{constructor(t,i,e,s,n,o,r={}){super(t,i,e,n,o,r),this.compressionDelegate=s,this.compressibleNodeMapper=new f$((t=>new hW(t))),this.filter=r.filter}createTree(t,i,e,s,n){const o=new k$(e),r=s.map((t=>new cW(t,this.nodeMapper,(()=>this.compressibleNodeMapper),this._onDidChangeNodeSlowState.event))),h=function(t){const i=t&&nW(t);return i&&{...i,keyboardNavigationLabelProvider:i.keyboardNavigationLabelProvider&&{...i.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel:i=>t.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(i.map((t=>t.element)))}}}(n)||{};return new G$(t,i,o,r,h)}asTreeElement(t,i){return{incompressible:this.compressionDelegate.isIncompressible(t.element),...super.asTreeElement(t,i)}}updateOptions(t={}){this.tree.updateOptions(t)}render(t,i){if(!this.identityProvider)return super.render(t,i);const e=t=>this.identityProvider.getId(t).toString(),s=t=>{const i=new Set;for(const s of t){const t=this.tree.getCompressedTreeNode(s===this.root?null:s);if(t.element)for(const s of t.element.elements)i.add(e(s.element))}return i},n=s(this.tree.getSelection()),o=s(this.tree.getFocus());super.render(t,i);const r=this.getSelection();let h=!1;const c=this.getFocus();let a=!1;const l=t=>{const i=t.element;if(i)for(let t=0;t{const i="boolean"==typeof(e=this.filter.filter(t,1))?e?1:0:p$(e)?g$(e.visibility):g$(e);var e;if(2===i)throw new Error("Recursive tree visibility not supported in async data compressed trees");return 1===i}))),super.processChildren(t)}}class lW extends _${constructor(t,i,e,s,n,o={}){super(t,i,e,s,o),this.user=t,this.dataSource=n,this.identityProvider=o.identityProvider}createModel(t,i,e){return new N$(t,i,e)}}new ch("isMac",St,rt(0,"Whether the operating system is macOS")),new ch("isLinux",Dt,rt(0,"Whether the operating system is Linux"));const uW=new ch("isWindows",Ct,rt(0,"Whether the operating system is Windows")),dW=new ch("isWeb",At,rt(0,"Whether the platform is a web browser"));new ch("isMacNative",St&&!At,rt(0,"Whether the operating system is macOS on a non-browser platform")),new ch("isIOS",Lt,rt(0,"Whether the operating system is iOS")),new ch("isMobile",Ft,rt(0,"Whether the platform is a mobile web browser")),new ch("isDevelopment",!1,!0),new ch("productQualityType","",rt(0,"Quality type of VS Code"));const fW="inputFocus";let pW;new ch(fW,!1,rt(0,"Whether keyboard focus is inside an input box"));const gW=globalThis.vscode;if(void 0!==gW&&void 0!==gW.context){const t=gW.context.configuration();if(!t)throw new Error("Sandbox: unable to resolve product configuration from preload script.");pW=t.product}else if(globalThis._VSCODE_PRODUCT_JSON&&globalThis._VSCODE_PACKAGE_JSON){if(pW=globalThis._VSCODE_PRODUCT_JSON,We.VSCODE_DEV&&Object.assign(pW,{nameShort:`${pW.nameShort} Dev`,nameLong:`${pW.nameLong} Dev`,dataFolderName:`${pW.dataFolderName}-dev`,serverDataFolderName:pW.serverDataFolderName?`${pW.serverDataFolderName}-dev`:void 0}),!pW.version){const t=globalThis._VSCODE_PACKAGE_JSON;Object.assign(pW,{version:t.version})}}else pW={},0===Object.keys(pW).length&&Object.assign(pW,{version:"1.82.0-dev",nameShort:"Code - OSS Dev",nameLong:"Code - OSS Dev",applicationName:"code-oss",dataFolderName:".vscode-oss",urlProtocol:"code-oss",reportIssueUrl:"https://github.com/microsoft/vscode/issues/new",licenseName:"MIT",licenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",serverLicenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt"});const mW=pW;var wW=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},vW=function(t,i){return function(e,s){i(e,s,t)}};const bW=dr("listService"),yW=new ch("listScrollAtBoundary","none");zr.or(yW.isEqualTo("top"),yW.isEqualTo("both")),zr.or(yW.isEqualTo("bottom"),yW.isEqualTo("both"));const kW=new ch("listFocus",!0),xW=new ch("listSupportsMultiselect",!0),CW=zr.and(kW,zr.not(fW)),SW=new ch("listHasSelectionOrFocus",!1),DW=new ch("listDoubleSelection",!1),EW=new ch("listMultiSelection",!1),AW=new ch("listSelectionNavigation",!1),MW=new ch("listSupportsFind",!0),LW=new ch("treeElementCanCollapse",!1),FW=new ch("treeElementHasParent",!1),TW=new ch("treeElementCanExpand",!1),RW=new ch("treeElementHasChild",!1),OW=new ch("treeFindOpen",!1),IW="listTypeNavigationMode",_W="listAutomaticKeyboardNavigation";function NW(t,i){const e=t.createScoped(i.getHTMLElement());return kW.bindTo(e),e}function BW(t,i){const e=yW.bindTo(t),s=()=>{const t=0===i.scrollTop,s=i.scrollHeight-i.renderHeight-i.scrollTop<1;e.set(t&&s?"both":t?"top":s?"bottom":"none")};return s(),i.onDidScroll(s)}const PW="workbench.list.multiSelectModifier",$W="workbench.list.openMode",WW="workbench.list.horizontalScrolling",jW="workbench.list.defaultFindMode",zW="workbench.list.typeNavigationMode",HW="workbench.list.keyboardNavigation",VW="workbench.list.scrollByPage",UW="workbench.list.defaultFindMatchType",qW="workbench.tree.indent",KW="workbench.tree.renderIndentGuides",GW="workbench.list.smoothScrolling",ZW="workbench.list.mouseWheelScrollSensitivity",QW="workbench.list.fastScrollSensitivity",JW="workbench.tree.expandMode",YW="workbench.tree.enableStickyScroll",XW="workbench.tree.stickyScrollMaxItemCount";function tj(t){return"alt"===t.getValue(PW)}class ij extends ie{constructor(t){super(),this.configurationService=t,this.useAltAsMultipleSelectionModifier=tj(t),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration(PW)&&(this.useAltAsMultipleSelectionModifier=tj(this.configurationService))})))}isSelectionSingleChangeEvent(t){return this.useAltAsMultipleSelectionModifier?t.browserEvent.altKey:HN(t)}isSelectionRangeChangeEvent(t){return VN(t)}}function ej(t,i){var e;const s=t.get(pd),n=t.get(Yx),o=new te;return[{...i,keyboardNavigationDelegate:{mightProducePrintableCharacter:t=>n.mightProducePrintableCharacter(t)},smoothScrolling:Boolean(s.getValue(GW)),mouseWheelScrollSensitivity:s.getValue(ZW),fastScrollSensitivity:s.getValue(QW),multipleSelectionController:null!==(e=i.multipleSelectionController)&&void 0!==e?e:o.add(new ij(s)),keyboardNavigationEventFilter:lj(n),scrollByPage:Boolean(s.getValue(VW))},o]}let sj=class extends iB{constructor(t,i,e,s,n,o,r,h,c){const a=void 0!==n.horizontalScrolling?n.horizontalScrolling:Boolean(h.getValue(WW)),[l,u]=c.invokeFunction(ej,n);super(t,i,e,s,{keyboardSupport:!1,...l,horizontalScrolling:a}),this.disposables.add(u),this.contextKeyService=NW(o,this),this.disposables.add(BW(this.contextKeyService,this)),this.listSupportsMultiSelect=xW.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==n.multipleSelectionSupport),AW.bindTo(this.contextKeyService).set(Boolean(n.selectionNavigation)),this.listHasSelectionOrFocus=SW.bindTo(this.contextKeyService),this.listDoubleSelection=DW.bindTo(this.contextKeyService),this.listMultiSelection=EW.bindTo(this.contextKeyService),this.horizontalScrolling=n.horizontalScrolling,this._useAltAsMultipleSelectionModifier=tj(h),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),this.updateStyles(n.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const t=this.getSelection(),i=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(t.length>0||i.length>0),this.listMultiSelection.set(t.length>1),this.listDoubleSelection.set(2===t.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const t=this.getSelection(),i=this.getFocus();this.listHasSelectionOrFocus.set(t.length>0||i.length>0)}))),this.disposables.add(h.onDidChangeConfiguration((t=>{t.affectsConfiguration(PW)&&(this._useAltAsMultipleSelectionModifier=tj(h));let i={};if(t.affectsConfiguration(WW)&&void 0===this.horizontalScrolling){const t=Boolean(h.getValue(WW));i={...i,horizontalScrolling:t}}if(t.affectsConfiguration(VW)){const t=Boolean(h.getValue(VW));i={...i,scrollByPage:t}}if(t.affectsConfiguration(GW)){const t=Boolean(h.getValue(GW));i={...i,smoothScrolling:t}}if(t.affectsConfiguration(ZW)){const t=h.getValue(ZW);i={...i,mouseWheelScrollSensitivity:t}}if(t.affectsConfiguration(QW)){const t=h.getValue(QW);i={...i,fastScrollSensitivity:t}}Object.keys(i).length>0&&this.updateOptions(i)}))),this.navigator=new hj(this,{configurationService:h,...n}),this.disposables.add(this.navigator)}updateOptions(t){super.updateOptions(t),void 0!==t.overrideStyles&&this.updateStyles(t.overrideStyles),void 0!==t.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!t.multipleSelectionSupport)}updateStyles(t){this.style(t?FB(t):LB)}};sj=wW([vW(5,ah),vW(6,bW),vW(7,pd),vW(8,ur)],sj);let nj=class extends AP{constructor(t,i,e,s,n,o,r,h,c){const a=void 0!==n.horizontalScrolling?n.horizontalScrolling:Boolean(h.getValue(WW)),[l,u]=c.invokeFunction(ej,n);super(t,i,e,s,{keyboardSupport:!1,...l,horizontalScrolling:a}),this.disposables=new te,this.disposables.add(u),this.contextKeyService=NW(o,this),this.disposables.add(BW(this.contextKeyService,this.widget)),this.horizontalScrolling=n.horizontalScrolling,this.listSupportsMultiSelect=xW.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==n.multipleSelectionSupport),AW.bindTo(this.contextKeyService).set(Boolean(n.selectionNavigation)),this._useAltAsMultipleSelectionModifier=tj(h),this.disposables.add(this.contextKeyService),this.disposables.add(r.register(this)),this.updateStyles(n.overrideStyles),this.disposables.add(h.onDidChangeConfiguration((t=>{t.affectsConfiguration(PW)&&(this._useAltAsMultipleSelectionModifier=tj(h));let i={};if(t.affectsConfiguration(WW)&&void 0===this.horizontalScrolling){const t=Boolean(h.getValue(WW));i={...i,horizontalScrolling:t}}if(t.affectsConfiguration(VW)){const t=Boolean(h.getValue(VW));i={...i,scrollByPage:t}}if(t.affectsConfiguration(GW)){const t=Boolean(h.getValue(GW));i={...i,smoothScrolling:t}}if(t.affectsConfiguration(ZW)){const t=h.getValue(ZW);i={...i,mouseWheelScrollSensitivity:t}}if(t.affectsConfiguration(QW)){const t=h.getValue(QW);i={...i,fastScrollSensitivity:t}}Object.keys(i).length>0&&this.updateOptions(i)}))),this.navigator=new hj(this,{configurationService:h,...n}),this.disposables.add(this.navigator)}updateOptions(t){super.updateOptions(t),void 0!==t.overrideStyles&&this.updateStyles(t.overrideStyles),void 0!==t.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!t.multipleSelectionSupport)}updateStyles(t){this.style(t?FB(t):LB)}dispose(){this.disposables.dispose(),super.dispose()}};nj=wW([vW(5,ah),vW(6,bW),vW(7,pd),vW(8,ur)],nj);let oj=class extends qP{constructor(t,i,e,s,n,o,r,h,c,a){const l=void 0!==o.horizontalScrolling?o.horizontalScrolling:Boolean(c.getValue(WW)),[u,d]=a.invokeFunction(ej,o);super(t,i,e,s,n,{keyboardSupport:!1,...u,horizontalScrolling:l}),this.disposables.add(d),this.contextKeyService=NW(r,this),this.disposables.add(BW(this.contextKeyService,this)),this.listSupportsMultiSelect=xW.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==o.multipleSelectionSupport),AW.bindTo(this.contextKeyService).set(Boolean(o.selectionNavigation)),this.listHasSelectionOrFocus=SW.bindTo(this.contextKeyService),this.listDoubleSelection=DW.bindTo(this.contextKeyService),this.listMultiSelection=EW.bindTo(this.contextKeyService),this.horizontalScrolling=o.horizontalScrolling,this._useAltAsMultipleSelectionModifier=tj(c),this.disposables.add(this.contextKeyService),this.disposables.add(h.register(this)),this.updateStyles(o.overrideStyles),this.disposables.add(this.onDidChangeSelection((()=>{const t=this.getSelection(),i=this.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.listHasSelectionOrFocus.set(t.length>0||i.length>0),this.listMultiSelection.set(t.length>1),this.listDoubleSelection.set(2===t.length)}))}))),this.disposables.add(this.onDidChangeFocus((()=>{const t=this.getSelection(),i=this.getFocus();this.listHasSelectionOrFocus.set(t.length>0||i.length>0)}))),this.disposables.add(c.onDidChangeConfiguration((t=>{t.affectsConfiguration(PW)&&(this._useAltAsMultipleSelectionModifier=tj(c));let i={};if(t.affectsConfiguration(WW)&&void 0===this.horizontalScrolling){const t=Boolean(c.getValue(WW));i={...i,horizontalScrolling:t}}if(t.affectsConfiguration(VW)){const t=Boolean(c.getValue(VW));i={...i,scrollByPage:t}}if(t.affectsConfiguration(GW)){const t=Boolean(c.getValue(GW));i={...i,smoothScrolling:t}}if(t.affectsConfiguration(ZW)){const t=c.getValue(ZW);i={...i,mouseWheelScrollSensitivity:t}}if(t.affectsConfiguration(QW)){const t=c.getValue(QW);i={...i,fastScrollSensitivity:t}}Object.keys(i).length>0&&this.updateOptions(i)}))),this.navigator=new cj(this,{configurationService:c,...o}),this.disposables.add(this.navigator)}updateOptions(t){super.updateOptions(t),void 0!==t.overrideStyles&&this.updateStyles(t.overrideStyles),void 0!==t.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!t.multipleSelectionSupport)}updateStyles(t){this.style(t?FB(t):LB)}dispose(){this.disposables.dispose(),super.dispose()}};oj=wW([vW(6,ah),vW(7,bW),vW(8,pd),vW(9,ur)],oj);class rj extends ie{constructor(t,i){var e;super(),this.widget=t,this._onDidOpen=this._register(new fe),this.onDidOpen=this._onDidOpen.event,this._register(ce.filter(this.widget.onDidChangeSelection,(t=>Ml(t.browserEvent)))((t=>this.onSelectionFromKeyboard(t)))),this._register(this.widget.onPointer((t=>this.onPointer(t.element,t.browserEvent)))),this._register(this.widget.onMouseDblClick((t=>this.onMouseDblClick(t.element,t.browserEvent)))),"boolean"!=typeof(null==i?void 0:i.openOnSingleClick)&&(null==i?void 0:i.configurationService)?(this.openOnSingleClick="doubleClick"!==(null==i?void 0:i.configurationService.getValue($W)),this._register(null==i?void 0:i.configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration($W)&&(this.openOnSingleClick="doubleClick"!==(null==i?void 0:i.configurationService.getValue($W)))})))):this.openOnSingleClick=null===(e=null==i?void 0:i.openOnSingleClick)||void 0===e||e}onSelectionFromKeyboard(t){if(1!==t.elements.length)return;const i=t.browserEvent,e="boolean"!=typeof i.preserveFocus||i.preserveFocus,s="boolean"==typeof i.pinned?i.pinned:!e;this._open(this.getSelectedElement(),e,s,!1,t.browserEvent)}onPointer(t,i){this.openOnSingleClick&&2!==i.detail&&this._open(t,!0,1===i.button,i.ctrlKey||i.metaKey||i.altKey,i)}onMouseDblClick(t,i){if(!i)return;const e=i.target;e.classList.contains("monaco-tl-twistie")||e.classList.contains("monaco-icon-label")&&e.classList.contains("folder-icon")&&i.offsetX<16||this._open(t,!1,!0,i.ctrlKey||i.metaKey||i.altKey,i)}_open(t,i,e,s,n){t&&this._onDidOpen.fire({editorOptions:{preserveFocus:i,pinned:e,revealIfVisible:!0},sideBySide:s,element:t,browserEvent:n})}}class hj extends rj{constructor(t,i){super(t,i),this.widget=t}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class cj extends rj{constructor(t,i){super(t,i)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class aj extends rj{constructor(t,i){super(t,i)}getSelectedElement(){var t;return null!==(t=this.widget.getSelection()[0])&&void 0!==t?t:void 0}}function lj(t){let i=!1;return e=>{if(e.toKeyCodeChord().isModifierKey())return!1;if(i)return i=!1,!1;const s=t.softDispatch(e,e.target);return 1===s.kind?(i=!0,!1):(i=!1,0===s.kind)}}let uj=class extends q${constructor(t,i,e,s,n,o,r,h,c){const{options:a,getTypeNavigationMode:l,disposable:u}=o.invokeFunction(vj,n);super(t,i,e,s,a),this.disposables.add(u),this.internals=new bj(this,n,l,n.overrideStyles,r,h,c),this.disposables.add(this.internals)}updateOptions(t){super.updateOptions(t),this.internals.updateOptions(t)}};uj=wW([vW(5,ur),vW(6,ah),vW(7,bW),vW(8,pd)],uj);let dj=class extends G${constructor(t,i,e,s,n,o,r,h,c){const{options:a,getTypeNavigationMode:l,disposable:u}=o.invokeFunction(vj,n);super(t,i,e,s,a),this.disposables.add(u),this.internals=new bj(this,n,l,n.overrideStyles,r,h,c),this.disposables.add(this.internals)}updateOptions(t={}){super.updateOptions(t),t.overrideStyles&&this.internals.updateStyleOverrides(t.overrideStyles),this.internals.updateOptions(t)}};dj=wW([vW(5,ur),vW(6,ah),vW(7,bW),vW(8,pd)],dj);let fj=class extends lW{constructor(t,i,e,s,n,o,r,h,c,a){const{options:l,getTypeNavigationMode:u,disposable:d}=r.invokeFunction(vj,o);super(t,i,e,s,n,l),this.disposables.add(d),this.internals=new bj(this,o,u,o.overrideStyles,h,c,a),this.disposables.add(this.internals)}updateOptions(t={}){super.updateOptions(t),void 0!==t.overrideStyles&&this.internals.updateStyleOverrides(t.overrideStyles),this.internals.updateOptions(t)}};fj=wW([vW(6,ur),vW(7,ah),vW(8,bW),vW(9,pd)],fj);let pj=class extends rW{get onDidOpen(){return this.internals.onDidOpen}constructor(t,i,e,s,n,o,r,h,c,a){const{options:l,getTypeNavigationMode:u,disposable:d}=r.invokeFunction(vj,o);super(t,i,e,s,n,l),this.disposables.add(d),this.internals=new bj(this,o,u,o.overrideStyles,h,c,a),this.disposables.add(this.internals)}updateOptions(t={}){super.updateOptions(t),t.overrideStyles&&this.internals.updateStyleOverrides(t.overrideStyles),this.internals.updateOptions(t)}};pj=wW([vW(6,ur),vW(7,ah),vW(8,bW),vW(9,pd)],pj);let gj=class extends aW{constructor(t,i,e,s,n,o,r,h,c,a,l){const{options:u,getTypeNavigationMode:d,disposable:f}=h.invokeFunction(vj,r);super(t,i,e,s,n,o,u),this.disposables.add(f),this.internals=new bj(this,r,d,r.overrideStyles,c,a,l),this.disposables.add(this.internals)}updateOptions(t){super.updateOptions(t),this.internals.updateOptions(t)}};function mj(t){const i=t.getValue(jW);if("highlight"===i)return l$.Highlight;if("filter"===i)return l$.Filter;const e=t.getValue(HW);return"simple"===e||"highlight"===e?l$.Highlight:"filter"===e?l$.Filter:void 0}function wj(t){const i=t.getValue(UW);return"fuzzy"===i?u$.Fuzzy:"contiguous"===i?u$.Contiguous:void 0}function vj(t,i){var e;const s=t.get(pd),n=t.get(iI),o=t.get(ah),r=t.get(ur),h=void 0!==i.horizontalScrolling?i.horizontalScrolling:Boolean(s.getValue(WW)),[c,a]=r.invokeFunction(ej,i),l=i.paddingBottom,u=void 0!==i.renderIndentGuides?i.renderIndentGuides:s.getValue(KW);return{getTypeNavigationMode:()=>{const t=o.getContextKeyValue(IW);if("automatic"===t)return MN.Automatic;if("trigger"===t)return MN.Trigger;if(!1===o.getContextKeyValue(_W))return MN.Trigger;const i=s.getValue(zW);return"automatic"===i?MN.Automatic:"trigger"===i?MN.Trigger:void 0},disposable:a,options:{keyboardSupport:!1,...c,indent:"number"==typeof s.getValue(qW)?s.getValue(qW):void 0,renderIndentGuides:u,smoothScrolling:Boolean(s.getValue(GW)),defaultFindMode:mj(s),defaultFindMatchType:wj(s),horizontalScrolling:h,scrollByPage:Boolean(s.getValue(VW)),paddingBottom:l,hideTwistiesOfChildlessElements:i.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:null!==(e=i.expandOnlyOnTwistieClick)&&void 0!==e?e:"doubleClick"===s.getValue(JW),contextViewProvider:n,findWidgetStyles:AB,enableStickyScroll:Boolean(s.getValue(YW)),stickyScrollMaxItemCount:Number(s.getValue(XW))}}}gj=wW([vW(7,ur),vW(8,ah),vW(9,bW),vW(10,pd)],gj);let bj=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(t,i,e,s,n,o,r){var h;this.tree=t,this.disposables=[],this.contextKeyService=NW(n,t),this.disposables.push(BW(this.contextKeyService,t)),this.listSupportsMultiSelect=xW.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(!1!==i.multipleSelectionSupport),AW.bindTo(this.contextKeyService).set(Boolean(i.selectionNavigation)),this.listSupportFindWidget=MW.bindTo(this.contextKeyService),this.listSupportFindWidget.set(null===(h=i.findWidgetEnabled)||void 0===h||h),this.hasSelectionOrFocus=SW.bindTo(this.contextKeyService),this.hasDoubleSelection=DW.bindTo(this.contextKeyService),this.hasMultiSelection=EW.bindTo(this.contextKeyService),this.treeElementCanCollapse=LW.bindTo(this.contextKeyService),this.treeElementHasParent=FW.bindTo(this.contextKeyService),this.treeElementCanExpand=TW.bindTo(this.contextKeyService),this.treeElementHasChild=RW.bindTo(this.contextKeyService),this.treeFindOpen=OW.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=tj(r),this.updateStyleOverrides(s);const c=()=>{const i=t.getFocus()[0];if(!i)return;const e=t.getNode(i);this.treeElementCanCollapse.set(e.collapsible&&!e.collapsed),this.treeElementHasParent.set(!!t.getParentElement(i)),this.treeElementCanExpand.set(e.collapsible&&e.collapsed),this.treeElementHasChild.set(!!t.getFirstElementChild(i))},a=new Set;a.add(IW),a.add(_W),this.disposables.push(this.contextKeyService,o.register(t),t.onDidChangeSelection((()=>{const i=t.getSelection(),e=t.getFocus();this.contextKeyService.bufferChangeEvents((()=>{this.hasSelectionOrFocus.set(i.length>0||e.length>0),this.hasMultiSelection.set(i.length>1),this.hasDoubleSelection.set(2===i.length)}))})),t.onDidChangeFocus((()=>{const i=t.getSelection(),e=t.getFocus();this.hasSelectionOrFocus.set(i.length>0||e.length>0),c()})),t.onDidChangeCollapseState(c),t.onDidChangeModel(c),t.onDidChangeFindOpenState((t=>this.treeFindOpen.set(t))),r.onDidChangeConfiguration((s=>{let n={};if(s.affectsConfiguration(PW)&&(this._useAltAsMultipleSelectionModifier=tj(r)),s.affectsConfiguration(qW)){const t=r.getValue(qW);n={...n,indent:t}}if(s.affectsConfiguration(KW)&&void 0===i.renderIndentGuides){const t=r.getValue(KW);n={...n,renderIndentGuides:t}}if(s.affectsConfiguration(GW)){const t=Boolean(r.getValue(GW));n={...n,smoothScrolling:t}}if(s.affectsConfiguration(jW)||s.affectsConfiguration(HW)){const t=mj(r);n={...n,defaultFindMode:t}}if(s.affectsConfiguration(zW)||s.affectsConfiguration(HW)){const t=e();n={...n,typeNavigationMode:t}}if(s.affectsConfiguration(UW)){const t=wj(r);n={...n,defaultFindMatchType:t}}if(s.affectsConfiguration(WW)&&void 0===i.horizontalScrolling){const t=Boolean(r.getValue(WW));n={...n,horizontalScrolling:t}}if(s.affectsConfiguration(VW)){const t=Boolean(r.getValue(VW));n={...n,scrollByPage:t}}if(s.affectsConfiguration(JW)&&void 0===i.expandOnlyOnTwistieClick&&(n={...n,expandOnlyOnTwistieClick:"doubleClick"===r.getValue(JW)}),s.affectsConfiguration(YW)){const t=r.getValue(YW);n={...n,enableStickyScroll:t}}if(s.affectsConfiguration(XW)){const t=Math.max(1,r.getValue(XW));n={...n,stickyScrollMaxItemCount:t}}if(s.affectsConfiguration(ZW)){const t=r.getValue(ZW);n={...n,mouseWheelScrollSensitivity:t}}if(s.affectsConfiguration(QW)){const t=r.getValue(QW);n={...n,fastScrollSensitivity:t}}Object.keys(n).length>0&&t.updateOptions(n)})),this.contextKeyService.onDidChangeContext((i=>{i.affectsSome(a)&&t.updateOptions({typeNavigationMode:e()})}))),this.navigator=new aj(t,{configurationService:r,...i}),this.disposables.push(this.navigator)}updateOptions(t){void 0!==t.multipleSelectionSupport&&this.listSupportsMultiSelect.set(!!t.multipleSelectionSupport)}updateStyleOverrides(t){this.tree.style(t?FB(t):LB)}dispose(){this.disposables=Ji(this.disposables)}};var yj;bj=wW([vW(4,ah),vW(5,bW),vW(6,pd)],bj),Dh.as(Md).registerConfiguration({id:"workbench",order:7,title:rt(0,"Workbench"),type:"object",properties:{[PW]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[rt(0,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),rt(0,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:rt(0,"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[$W]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:rt(0,"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[WW]:{type:"boolean",default:!1,description:rt(0,"Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[VW]:{type:"boolean",default:!1,description:rt(0,"Controls whether clicks in the scrollbar scroll page by page.")},[qW]:{type:"number",default:8,minimum:4,maximum:40,description:rt(0,"Controls tree indentation in pixels.")},[KW]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:rt(0,"Controls whether the tree should render indent guides.")},[GW]:{type:"boolean",default:!1,description:rt(0,"Controls whether lists and trees have smooth scrolling.")},[ZW]:{type:"number",default:1,markdownDescription:rt(0,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[QW]:{type:"number",default:5,markdownDescription:rt(0,"Scrolling speed multiplier when pressing `Alt`.")},[jW]:{type:"string",enum:["highlight","filter"],enumDescriptions:[rt(0,"Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),rt(0,"Filter elements when searching.")],default:"highlight",description:rt(0,"Controls the default find mode for lists and trees in the workbench.")},[HW]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[rt(0,"Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),rt(0,"Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),rt(0,"Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:rt(0,"Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:rt(0,"Please use 'workbench.list.defaultFindMode' and\t'workbench.list.typeNavigationMode' instead.")},[UW]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[rt(0,"Use fuzzy matching when searching."),rt(0,"Use contiguous matching when searching.")],default:"fuzzy",description:rt(0,"Controls the type of matching used when searching lists and trees in the workbench.")},[JW]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:rt(0,"Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[YW]:{type:"boolean",default:"string"==typeof mW.quality&&"stable"!==mW.quality,description:rt(0,"Controls whether sticky scrolling is enabled in trees.")},[XW]:{type:"number",minimum:1,default:7,markdownDescription:rt(0,"Controls the number of sticky elements displayed in the tree when `#workbench.tree.enableStickyScroll#` is enabled.")},[zW]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:rt(0,"Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.")}}}),function(t){t[t.PRESERVE=0]="PRESERVE",t[t.LAST=1]="LAST"}(yj||(yj={}));const kj="workbench.contributions.quickaccess";Dh.add(kj,new class{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(t){return 0===t.prefix.length?this.defaultProvider=t:this.providers.push(t),this.providers.sort(((t,i)=>i.prefix.length-t.prefix.length)),Xi((()=>{this.providers.splice(this.providers.indexOf(t),1),this.defaultProvider===t&&(this.defaultProvider=void 0)}))}getQuickAccessProviders(){return w([this.defaultProvider,...this.providers])}getQuickAccessProvider(t){return t&&this.providers.find((i=>t.startsWith(i.prefix)))||this.defaultProvider}});const xj={ctrlCmd:!1,alt:!1};var Cj,Sj;!function(t){t[t.Blur=1]="Blur",t[t.Gesture=2]="Gesture",t[t.Other=3]="Other"}(Cj||(Cj={})),function(t){t[t.NONE=0]="NONE",t[t.FIRST=1]="FIRST",t[t.SECOND=2]="SECOND",t[t.LAST=3]="LAST"}(Sj||(Sj={}));const Dj=dr("quickInputService");var Ej=function(t,i){return function(e,s){i(e,s,t)}};let Aj=class extends ie{constructor(t,i){super(),this.quickInputService=t,this.instantiationService=i,this.registry=Dh.as(kj),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(t="",i){this.doShowOrPick(t,!1,i)}doShowOrPick(t,i,e){var s;const[n,o]=this.getOrInstantiateProvider(t),r=this.visibleQuickAccess,h=null==r?void 0:r.descriptor;if(r&&o&&h===o)return t===o.prefix||(null==e?void 0:e.preserveValue)||(r.picker.value=t),void this.adjustValueSelection(r.picker,o,e);if(o&&!(null==e?void 0:e.preserveValue)){let i;if(r&&h&&h!==o){const t=r.value.substr(h.prefix.length);t&&(i=`${o.prefix}${t}`)}if(!i){const t=null==n?void 0:n.defaultFilterValue;t===yj.LAST?i=this.lastAcceptedPickerValues.get(o):"string"==typeof t&&(i=`${o.prefix}${t}`)}"string"==typeof i&&(t=i)}const c=new te,a=c.add(this.quickInputService.createQuickPick());let l;a.value=t,this.adjustValueSelection(a,o,e),a.placeholder=null==o?void 0:o.placeholder,a.quickNavigate=null==e?void 0:e.quickNavigateConfiguration,a.hideInput=!!a.quickNavigate&&!r,("number"==typeof(null==e?void 0:e.itemActivation)||(null==e?void 0:e.quickNavigateConfiguration))&&(a.itemActivation=null!==(s=null==e?void 0:e.itemActivation)&&void 0!==s?s:Sj.SECOND),a.contextKey=null==o?void 0:o.contextKey,a.filterValue=t=>t.substring(o?o.prefix.length:0),i&&(l=new bc,c.add(ce.once(a.onWillAccept)((t=>{t.veto(),a.hide()})))),c.add(this.registerPickerListeners(a,n,o,t,null==e?void 0:e.providerOptions));const u=c.add(new Se);return n&&c.add(n.provide(a,u.token,null==e?void 0:e.providerOptions)),ce.once(a.onDidHide)((()=>{0===a.selectedItems.length&&u.cancel(),c.dispose(),null==l||l.complete(a.selectedItems.slice(0))})),a.show(),i?null==l?void 0:l.p:void 0}adjustValueSelection(t,i,e){var s;let n;n=(null==e?void 0:e.preserveValue)?[t.value.length,t.value.length]:[null!==(s=null==i?void 0:i.prefix.length)&&void 0!==s?s:0,t.value.length],t.valueSelection=n}registerPickerListeners(t,i,e,s,n){const o=new te,r=this.visibleQuickAccess={picker:t,descriptor:e,value:s};return o.add(Xi((()=>{r===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)}))),o.add(t.onDidChangeValue((t=>{const[e]=this.getOrInstantiateProvider(t);e!==i?this.show(t,{preserveValue:!0,providerOptions:n}):r.value=t}))),e&&o.add(t.onDidAccept((()=>{this.lastAcceptedPickerValues.set(e,t.value)}))),o}getOrInstantiateProvider(t){const i=this.registry.getQuickAccessProvider(t);if(!i)return[void 0,void 0];let e=this.mapProviderToDescriptor.get(i);return e||(e=this.instantiationService.createInstance(i.ctor),this.mapProviderToDescriptor.set(i,e)),[e,i]}};Aj=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Ej(0,Dj),Ej(1,ur)],Aj),sg.white.toString(),sg.white.toString();class Mj extends ie{get onDidClick(){return this._onDidClick.event}constructor(t,i){super(),this._label="",this._onDidClick=this._register(new fe),this.options=i,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),this._element.classList.toggle("secondary",!!i.secondary);const e=i.secondary?i.buttonSecondaryBackground:i.buttonBackground;this._element.style.color=(i.secondary?i.buttonSecondaryForeground:i.buttonForeground)||"",this._element.style.backgroundColor=e||"",i.supportShortLabel&&(this._labelShortElement=document.createElement("div"),this._labelShortElement.classList.add("monaco-button-label-short"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement("div"),this._labelElement.classList.add("monaco-button-label"),this._element.appendChild(this._labelElement),this._element.classList.add("monaco-text-button-with-short-label")),t.appendChild(this._element),this._register(Xm.addTarget(this._element)),[Ll.CLICK,Ym.Tap].forEach((t=>{this._register(Va(this._element,t,(t=>{this.enabled?this._onDidClick.fire(t):Fl(t)})))})),this._register(Va(this._element,Ll.KEY_DOWN,(t=>{const i=new Qh(t);let e=!1;this.enabled&&(i.equals(3)||i.equals(10))?(this._onDidClick.fire(t),e=!0):i.equals(9)&&(this._element.blur(),e=!0),e&&Fl(i,!0)}))),this._register(Va(this._element,Ll.MOUSE_OVER,(()=>{this._element.classList.contains("disabled")||this.updateBackground(!0)}))),this._register(Va(this._element,Ll.MOUSE_OUT,(()=>{this.updateBackground(!1)}))),this.focusTracker=this._register(Rl(this._element)),this._register(this.focusTracker.onDidFocus((()=>{this.enabled&&this.updateBackground(!0)}))),this._register(this.focusTracker.onDidBlur((()=>{this.enabled&&this.updateBackground(!1)})))}dispose(){super.dispose(),this._element.remove()}getContentElements(t){const i=[];for(let e of j_(t))if("string"==typeof e){if(e=e.trim(),""===e)continue;const t=document.createElement("span");t.textContent=e,i.push(t)}else i.push(e);return i}updateBackground(t){let i;i=this.options.secondary?t?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:t?this.options.buttonHoverBackground:this.options.buttonBackground,i&&(this._element.style.backgroundColor=i)}get element(){return this._element}set label(t){var i,e,s;if(this._label===t)return;if(F_(this._label)&&F_(t)&&((e=this._label)===(s=t)||e&&s&&e.value===s.value&&e.isTrusted===s.isTrusted&&e.supportThemeIcons===s.supportThemeIcons&&e.supportHtml===s.supportHtml&&(e.baseUri===s.baseUri||e.baseUri&&s.baseUri&&aA(ms.from(e.baseUri),ms.from(s.baseUri)))))return;this._element.classList.add("monaco-text-button");const n=this.options.supportShortLabel?this._labelElement:this._element;if(F_(t)){const e=J_(t,{inline:!0});e.dispose();const s=null===(i=e.element.querySelector("p"))||void 0===i?void 0:i.innerHTML;if(s){const t=va(s,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});n.innerHTML=t}else _l(n)}else this.options.supportIcons?_l(n,...this.getContentElements(t)):n.textContent=t;"string"==typeof this.options.title?this._element.title=this.options.title:this.options.title&&(this._element.title=function(t){return"string"==typeof t?t:function(t){var i;let e=null!==(i=t.value)&&void 0!==i?i:"";e.length>1e5&&(e=`${e.substr(0,1e5)}…`);const s=q_.parse(e,{renderer:sN.value}).replace(/&(#\d+|[a-zA-Z]+);/g,(t=>{var i;return null!==(i=eN.get(t))&&void 0!==i?i:t}));return tN({isTrusted:!1},s).toString()}(t)}(t)),this._label=t}get label(){return this._label}set icon(t){this._element.classList.add(...Cr.asClassNameArray(t))}set enabled(t){t?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}}class Lj{constructor(t,i,e){this.options=i,this.styles=e,this.count=0,this.element=Ol(t,$l(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(t){this.count=t,this.render()}setTitleFormat(t){this.titleFormat=t,this.render()}render(){var t,i;this.element.textContent=qn(this.countFormat,this.count),this.element.title=qn(this.titleFormat,this.count),this.element.style.backgroundColor=null!==(t=this.styles.badgeBackground)&&void 0!==t?t:"",this.element.style.color=null!==(i=this.styles.badgeForeground)&&void 0!==i?i:"",this.styles.badgeBorder&&(this.element.style.border=`1px solid ${this.styles.badgeBorder}`)}}const Fj="done",Tj="active",Rj="infinite",Oj="infinite-long-running",Ij="discrete";class _j extends ie{constructor(t,i){super(),this.workedVal=0,this.showDelayedScheduler=this._register(new pc((()=>Wl(this.element)),0)),this.longRunningScheduler=this._register(new pc((()=>this.infiniteLongRunning()),_j.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(t,i)}create(t,i){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),t.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=(null==i?void 0:i.progressBarBackground)||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(Tj,Rj,Oj,Ij),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel()}stop(){return this.doDone(!1)}doDone(t){return this.element.classList.add(Fj),this.element.classList.contains(Rj)?(this.bit.style.opacity="0",t?setTimeout((()=>this.off()),200):this.off()):(this.bit.style.width="inherit",t?setTimeout((()=>this.off()),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(Ij,Fj,Oj),this.element.classList.add(Tj,Rj),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(Oj)}getContainer(){return this.element}}_j.LONG_RUNNING_INFINITE_THRESHOLD=1e4;const Nj=$l;class Bj extends ie{constructor(t,i,e){super(),this.parent=t,this.onKeyDown=t=>qa(this.findInput.inputBox.inputElement,Ll.KEY_DOWN,t),this.onMouseDown=t=>qa(this.findInput.inputBox.inputElement,Ll.MOUSE_DOWN,t),this.onDidChange=t=>this.findInput.onDidChange(t),this.container=Ol(this.parent,Nj(".quick-input-box")),this.findInput=this._register(new r$(this.container,void 0,{label:"",inputBoxStyles:i,toggleStyles:e}));const s=this.findInput.inputBox.inputElement;s.role="combobox",s.ariaHasPopup="menu",s.ariaAutoComplete="list",s.ariaExpanded="true"}get value(){return this.findInput.getValue()}set value(t){this.findInput.setValue(t)}select(t=null){this.findInput.inputBox.select(t)}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(t){this.findInput.inputBox.setPlaceHolder(t)}get password(){return"password"===this.findInput.inputBox.inputElement.type}set password(t){this.findInput.inputBox.inputElement.type=t?"password":"text"}set enabled(t){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!t)}set toggles(t){this.findInput.setAdditionalToggles(t)}setAttribute(t,i){this.findInput.inputBox.inputElement.setAttribute(t,i)}showDecoration(t){t===ZF.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:t===ZF.Info?1:t===ZF.Warning?2:3,content:""})}stylesForType(t){return this.findInput.inputBox.stylesForType(t===ZF.Info?1:t===ZF.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}class Pj{constructor(t,i){var e;this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=null!==(e=null==i?void 0:i.supportIcons)&&void 0!==e&&e,this.domNode=Ol(t,$l("span.monaco-highlighted-label"))}get element(){return this.domNode}set(t,i=[],e="",s){t||(t=""),s&&(t=Pj.escapeNewLines(t,i)),this.didEverRender&&this.text===t&&this.title===e&&et(this.highlights,i)||(this.text=t,this.title=e,this.highlights=i,this.render())}render(){const t=[];let i=0;for(const e of this.highlights){if(e.end===e.start)continue;if(i{s="\r\n"===t?-1:0,n+=e;for(const t of i)t.end<=n||(t.start>=n&&(t.start+=s),t.end>=n&&(t.end+=s));return e+=s,"⏎"}))}}class $j{constructor(t){this._element=t}get element(){return this._element}set textContent(t){this.disposed||t===this._textContent||(this._textContent=t,this._element.textContent=t)}set className(t){this.disposed||t===this._className||(this._className=t,this._element.className=t)}set empty(t){this.disposed||t===this._empty||(this._empty=t,this._element.style.marginLeft=t?"0":"")}dispose(){this.disposed=!0}}class Wj extends ie{constructor(t,i){super(),this.customHovers=new Map,this.creationOptions=i,this.domNode=this._register(new $j(Ol(t,$l(".monaco-icon-label")))),this.labelContainer=Ol(this.domNode.element,$l(".monaco-icon-label-container")),this.nameContainer=Ol(this.labelContainer,$l("span.monaco-icon-name-container")),this.nameNode=(null==i?void 0:i.supportHighlights)||(null==i?void 0:i.supportIcons)?new zj(this.nameContainer,!!i.supportIcons):new jj(this.nameContainer),this.hoverDelegate=null==i?void 0:i.hoverDelegate}get element(){return this.domNode.element}setLabel(t,i,e){var s;const n=["monaco-icon-label"],o=["monaco-icon-label-container"];let r="";if(e&&(e.extraClasses&&n.push(...e.extraClasses),e.italic&&n.push("italic"),e.strikethrough&&n.push("strikethrough"),e.disabledCommand&&o.push("disabled"),e.title&&(r+="string"==typeof e.title?e.title:t)),this.domNode.className=n.join(" "),this.domNode.element.setAttribute("aria-label",r),this.labelContainer.className=o.join(" "),this.setupHover((null==e?void 0:e.descriptionTitle)?this.labelContainer:this.element,null==e?void 0:e.title),this.nameNode.setLabel(t,e),i||this.descriptionNode){const t=this.getOrCreateDescriptionNode();t instanceof Pj?(t.set(i||"",e?e.descriptionMatches:void 0,void 0,null==e?void 0:e.labelEscapeNewLines),this.setupHover(t.element,null==e?void 0:e.descriptionTitle)):(t.textContent=i&&(null==e?void 0:e.labelEscapeNewLines)?Pj.escapeNewLines(i,[]):i||"",this.setupHover(t.element,(null==e?void 0:e.descriptionTitle)||""),t.empty=!i)}((null==e?void 0:e.suffix)||this.suffixNode)&&(this.getOrCreateSuffixNode().textContent=null!==(s=null==e?void 0:e.suffix)&&void 0!==s?s:"")}setupHover(t,i){const e=this.customHovers.get(t);if(e&&(e.dispose(),this.customHovers.delete(t)),i)if(this.hoverDelegate){const e=I_(this.hoverDelegate,t,i);e&&this.customHovers.set(t,e)}else!function(t,i){P(i)?t.title=S_(i):(null==i?void 0:i.markdownNotSupportedFallback)?t.title=i.markdownNotSupportedFallback:t.removeAttribute("title")}(t,i);else t.removeAttribute("title")}dispose(){super.dispose();for(const t of this.customHovers.values())t.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const e=this._register(new $j((t=this.nameContainer,i=$l("span.monaco-icon-suffix-container"),t.after(i),i)));this.suffixNode=this._register(new $j(Ol(e.element,$l("span.label-suffix"))))}var t,i;return this.suffixNode}getOrCreateDescriptionNode(){var t;if(!this.descriptionNode){const i=this._register(new $j(Ol(this.labelContainer,$l("span.monaco-icon-description-container"))));this.descriptionNode=(null===(t=this.creationOptions)||void 0===t?void 0:t.supportDescriptionHighlights)?new Pj(Ol(i.element,$l("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons}):this._register(new $j(Ol(i.element,$l("span.label-description"))))}return this.descriptionNode}}class jj{constructor(t){this.container=t,this.label=void 0,this.singleLabel=void 0}setLabel(t,i){if(this.label!==t||!et(this.options,i))if(this.label=t,this.options=i,"string"==typeof t)this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=Ol(this.container,$l("a.label-name",{id:null==i?void 0:i.domId}))),this.singleLabel.textContent=t;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let e=0;e{const n={start:s,end:s+t.length},o=e.map((t=>sI.intersect(n,t))).filter((t=>!sI.isEmpty(t))).map((({start:t,end:i})=>({start:t-s,end:i-s})));return s=n.end+i.length,o}))}(t,e,null==i?void 0:i.matches);for(let n=0;n{const t=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:t,collatorIsNumeric:t.resolvedOptions().numeric}}));class Kj{constructor(t){this.nodes=t}toString(){return this.nodes.map((t=>"string"==typeof t?t:t.label)).join("")}}!function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);o>3&&r&&Object.defineProperty(i,e,r)}([Jm],Kj.prototype,"toString",null);const Gj=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi,Zj={},Qj=new H_("quick-input-button-icon-");function Jj(t){if(!t)return;let i;const e=t.dark.toString();return Zj[e]?i=Zj[e]:(i=Qj.nextId(),Sl(`.${i}, .hc-light .${i}`,`background-image: ${Vl(t.light||t.dark)}`),Sl(`.vs-dark .${i}, .hc-black .${i}`,`background-image: ${Vl(t.dark)}`),Zj[e]=i),i}var Yj=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r};const Xj=$l;class tz{constructor(t,i,e,s,n,o,r){var h,c,a;this._checked=!1,this._hidden=!1,this.hasCheckbox=s,this.index=e,this.fireButtonTriggered=n,this.fireSeparatorButtonTriggered=o,this._onChecked=r,this.onChecked=s?ce.map(ce.filter(this._onChecked.event,(t=>t.listElement===this)),(t=>t.checked)):ce.None,"separator"===t.type?this._separator=t:(this.item=t,i&&"separator"===i.type&&!i.buttons&&(this._separator=i),this.saneDescription=this.item.description,this.saneDetail=this.item.detail,this._labelHighlights=null===(h=this.item.highlights)||void 0===h?void 0:h.label,this._descriptionHighlights=null===(c=this.item.highlights)||void 0===c?void 0:c.description,this._detailHighlights=null===(a=this.item.highlights)||void 0===a?void 0:a.detail,this.saneTooltip=this.item.tooltip),this._init=new zn((()=>{var i;const e=null!==(i=t.label)&&void 0!==i?i:"",s=E_(e).text.trim(),n=t.ariaLabel||[e,this.saneDescription,this.saneDetail].map((t=>function(t){return t?t.replace(/\$\((.*?)\)/g,((t,i)=>` ${i} `)).trim():""}(t))).filter((t=>!!t)).join(", ");return{saneLabel:e,saneSortLabel:s,saneAriaLabel:n}}))}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(t){this._element=t}get hidden(){return this._hidden}set hidden(t){this._hidden=t}get checked(){return this._checked}set checked(t){t!==this._checked&&(this._checked=t,this._onChecked.fire({listElement:this,checked:t}))}get separator(){return this._separator}set separator(t){this._separator=t}get labelHighlights(){return this._labelHighlights}set labelHighlights(t){this._labelHighlights=t}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(t){this._descriptionHighlights=t}get detailHighlights(){return this._detailHighlights}set detailHighlights(t){this._detailHighlights=t}}class iz{constructor(t){this.themeService=t}get templateId(){return iz.ID}renderTemplate(t){const i=Object.create(null);i.toDisposeElement=[],i.toDisposeTemplate=[],i.entry=Ol(t,Xj(".quick-input-list-entry"));const e=Ol(i.entry,Xj("label.quick-input-list-label"));i.toDisposeTemplate.push(qa(e,Ll.CLICK,(t=>{i.checkbox.offsetParent||t.preventDefault()}))),i.checkbox=Ol(e,Xj("input.quick-input-list-checkbox")),i.checkbox.type="checkbox",i.toDisposeTemplate.push(qa(i.checkbox,Ll.CHANGE,(()=>{i.element.checked=i.checkbox.checked})));const s=Ol(e,Xj(".quick-input-list-rows")),n=Ol(s,Xj(".quick-input-list-row")),o=Ol(s,Xj(".quick-input-list-row"));i.label=new Wj(n,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0}),i.toDisposeTemplate.push(i.label),i.icon=Il(i.label.element,Xj(".quick-input-list-icon"));const r=Ol(n,Xj(".quick-input-list-entry-keybinding"));i.keybinding=new Uj(r,_t);const h=Ol(o,Xj(".quick-input-list-label-meta"));return i.detail=new Wj(h,{supportHighlights:!0,supportIcons:!0}),i.toDisposeTemplate.push(i.detail),i.separator=Ol(i.entry,Xj(".quick-input-list-separator")),i.actionBar=new VB(i.entry),i.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),i.toDisposeTemplate.push(i.actionBar),i}renderElement(t,i,e){var s,n,o,r;e.element=t,t.element=null!==(s=e.entry)&&void 0!==s?s:void 0;const h=t.item?t.item:t.separator;e.checkbox.checked=t.checked,e.toDisposeElement.push(t.onChecked((t=>e.checkbox.checked=t)));const{labelHighlights:c,descriptionHighlights:a,detailHighlights:l}=t;if(null===(n=t.item)||void 0===n?void 0:n.iconPath){const i=Ny(this.themeService.getColorTheme().type)?t.item.iconPath.dark:null!==(o=t.item.iconPath.light)&&void 0!==o?o:t.item.iconPath.dark,s=ms.revive(i);e.icon.className="quick-input-list-icon",e.icon.style.backgroundImage=Vl(s)}else e.icon.style.backgroundImage="",e.icon.className=(null===(r=t.item)||void 0===r?void 0:r.iconClass)?`quick-input-list-icon ${t.item.iconClass}`:"";const u={matches:c||[],descriptionTitle:t.saneDescription,descriptionMatches:a||[],labelEscapeNewLines:!0};"separator"!==h.type?(u.extraClasses=h.iconClasses,u.italic=h.italic,u.strikethrough=h.strikethrough,e.entry.classList.remove("quick-input-list-separator-as-item")):e.entry.classList.add("quick-input-list-separator-as-item"),e.label.setLabel(t.saneLabel,t.saneDescription,u),e.keybinding.set("separator"===h.type?void 0:h.keybinding),t.saneDetail?(e.detail.element.style.display="",e.detail.setLabel(t.saneDetail,void 0,{matches:l,title:t.saneDetail,labelEscapeNewLines:!0})):e.detail.element.style.display="none",t.item&&t.separator&&t.separator.label?(e.separator.textContent=t.separator.label,e.separator.style.display=""):e.separator.style.display="none",e.entry.classList.toggle("quick-input-list-separator-border",!!t.separator);const d=h.buttons;d&&d.length?(e.actionBar.push(d.map(((i,e)=>{let s=i.iconClass||(i.iconPath?Jj(i.iconPath):void 0);return i.alwaysVisible&&(s=s?`${s} always-visible`:"always-visible"),{id:`id-${e}`,class:s,enabled:!0,label:"",tooltip:i.tooltip||"",run:()=>{"separator"!==h.type?t.fireButtonTriggered({button:i,item:h}):t.fireSeparatorButtonTriggered({button:i,separator:h})}}})),{icon:!0,label:!1}),e.entry.classList.add("has-actions")):e.entry.classList.remove("has-actions")}disposeElement(t,i,e){e.toDisposeElement=Ji(e.toDisposeElement),e.actionBar.clear()}disposeTemplate(t){t.toDisposeElement=Ji(t.toDisposeElement),t.toDisposeTemplate=Ji(t.toDisposeTemplate)}}iz.ID="listelement";class ez{getHeight(t){return t.item?t.saneDetail?44:22:24}getTemplateId(t){return iz.ID}}var sz;!function(t){t[t.First=1]="First",t[t.Second=2]="Second",t[t.Last=3]="Last",t[t.Next=4]="Next",t[t.Previous=5]="Previous",t[t.NextPage=6]="NextPage",t[t.PreviousPage=7]="PreviousPage"}(sz||(sz={}));class nz{constructor(t,i,e,s){this.parent=t,this.options=e,this.inputElements=[],this.elements=[],this.elementsToIndexes=new Map,this.matchOnDescription=!1,this.matchOnDetail=!1,this.matchOnLabel=!0,this.matchOnLabelMode="fuzzy",this.sortByLabel=!0,this._onChangedAllVisibleChecked=new fe,this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event,this._onChangedCheckedCount=new fe,this.onChangedCheckedCount=this._onChangedCheckedCount.event,this._onChangedVisibleCount=new fe,this.onChangedVisibleCount=this._onChangedVisibleCount.event,this._onChangedCheckedElements=new fe,this.onChangedCheckedElements=this._onChangedCheckedElements.event,this._onButtonTriggered=new fe,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new fe,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._onKeyDown=new fe,this.onKeyDown=this._onKeyDown.event,this._onLeave=new fe,this.onLeave=this._onLeave.event,this._listElementChecked=new fe,this._fireCheckedEvents=!0,this.elementDisposables=[],this.disposables=[],this.id=i,this.container=Ol(this.parent,Xj(".quick-input-list"));const n=new ez,o=new rz;if(this.list=e.createList("QuickInput",this.container,n,[new iz(s)],{identityProvider:{getId:t=>{var i,e,s,n,o,r,h,c;return null!==(c=null!==(r=null!==(n=null!==(e=null===(i=t.item)||void 0===i?void 0:i.id)&&void 0!==e?e:null===(s=t.item)||void 0===s?void 0:s.label)&&void 0!==n?n:null===(o=t.separator)||void 0===o?void 0:o.id)&&void 0!==r?r:null===(h=t.separator)||void 0===h?void 0:h.label)&&void 0!==c?c:""}},setRowLineHeight:!1,multipleSelectionSupport:!1,horizontalScrolling:!1,accessibilityProvider:o}),this.list.getHTMLElement().id=i,this.disposables.push(this.list),this.disposables.push(this.list.onKeyDown((t=>{const i=new Qh(t);switch(i.keyCode){case 10:this.toggleCheckbox();break;case 31:(St?t.metaKey:t.ctrlKey)&&this.list.setFocus(C(this.list.length));break;case 16:{const t=this.list.getFocus();1===t.length&&0===t[0]&&this._onLeave.fire();break}case 18:{const t=this.list.getFocus();1===t.length&&t[0]===this.list.length-1&&this._onLeave.fire();break}}this._onKeyDown.fire(i)}))),this.disposables.push(this.list.onMouseDown((t=>{2!==t.browserEvent.button&&t.browserEvent.preventDefault()}))),this.disposables.push(Va(this.container,Ll.CLICK,(t=>{(t.x||t.y)&&this._onLeave.fire()}))),this.disposables.push(this.list.onMouseMiddleClick((()=>{this._onLeave.fire()}))),this.disposables.push(this.list.onContextMenu((t=>{"number"==typeof t.index&&(t.browserEvent.preventDefault(),this.list.setSelection([t.index]))}))),e.hoverDelegate){const t=new cc(e.hoverDelegate.delay);this.disposables.push(this.list.onMouseOver((async i=>{var e;if(i.browserEvent.target instanceof HTMLAnchorElement)t.cancel();else if(i.browserEvent.relatedTarget instanceof HTMLAnchorElement||!al(i.browserEvent.relatedTarget,null===(e=i.element)||void 0===e?void 0:e.element))try{await t.trigger((async()=>{i.element&&this.showHover(i.element)}))}catch(i){if(!zi(i))throw i}}))),this.disposables.push(this.list.onMouseOut((i=>{var e;al(i.browserEvent.relatedTarget,null===(e=i.element)||void 0===e?void 0:e.element)||t.cancel()}))),this.disposables.push(t)}this.disposables.push(this._listElementChecked.event((()=>this.fireCheckedEvents()))),this.disposables.push(this._onChangedAllVisibleChecked,this._onChangedCheckedCount,this._onChangedVisibleCount,this._onChangedCheckedElements,this._onButtonTriggered,this._onSeparatorButtonTriggered,this._onLeave,this._onKeyDown)}get onDidChangeFocus(){return ce.map(this.list.onDidChangeFocus,(t=>t.elements.map((t=>t.item))))}get onDidChangeSelection(){return ce.map(this.list.onDidChangeSelection,(t=>({items:t.elements.map((t=>t.item)),event:t.browserEvent})))}get scrollTop(){return this.list.scrollTop}set scrollTop(t){this.list.scrollTop=t}get ariaLabel(){return this.list.getHTMLElement().ariaLabel}set ariaLabel(t){this.list.getHTMLElement().ariaLabel=t}getAllVisibleChecked(){return this.allVisibleChecked(this.elements,!1)}allVisibleChecked(t,i=!0){for(let e=0,s=t.length;e{i.hidden||(i.checked=t)}))}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}setElements(t){this.elementDisposables=Ji(this.elementDisposables);const i=t=>this.fireButtonTriggered(t),e=t=>this.fireSeparatorButtonTriggered(t);this.inputElements=t;const s=new Map,n=this.parent.classList.contains("show-checkboxes");this.elements=t.reduce(((o,r,h)=>{var c;if("separator"===r.type&&!r.buttons)return o;const a=new tz(r,h>0?t[h-1]:void 0,h,n,i,e,this._listElementChecked),l=o.length;return o.push(a),s.set(null!==(c=a.item)&&void 0!==c?c:a.separator,l),o}),[]),this.elementsToIndexes=s,this.list.splice(0,this.list.length),this.list.splice(0,this.list.length,this.elements),this._onChangedVisibleCount.fire(this.elements.length)}getFocusedElements(){return this.list.getFocusedElements().map((t=>t.item))}setFocusedElements(t){if(this.list.setFocus(t.filter((t=>this.elementsToIndexes.has(t))).map((t=>this.elementsToIndexes.get(t)))),t.length>0){const t=this.list.getFocus()[0];"number"==typeof t&&this.list.reveal(t)}}getActiveDescendant(){return this.list.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(t){this.list.setSelection(t.filter((t=>this.elementsToIndexes.has(t))).map((t=>this.elementsToIndexes.get(t))))}getCheckedElements(){return this.elements.filter((t=>t.checked)).map((t=>t.item)).filter((t=>!!t))}setCheckedElements(t){try{this._fireCheckedEvents=!1;const i=new Set;for(const e of t)i.add(e);for(const t of this.elements)t.checked=i.has(t.item)}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}set enabled(t){this.list.getHTMLElement().style.pointerEvents=t?"":"none"}focus(t){if(!this.list.length)return;switch(t===sz.Second&&this.list.length<2&&(t=sz.First),t){case sz.First:this.list.scrollTop=0,this.list.focusFirst(void 0,(t=>!!t.item));break;case sz.Second:this.list.scrollTop=0,this.list.focusNth(1,void 0,(t=>!!t.item));break;case sz.Last:this.list.scrollTop=this.list.scrollHeight,this.list.focusLast(void 0,(t=>!!t.item));break;case sz.Next:{this.list.focusNext(void 0,!0,void 0,(t=>!!t.item));const t=this.list.getFocus()[0];0!==t&&!this.elements[t-1].item&&this.list.firstVisibleIndex>t-1&&this.list.reveal(t-1);break}case sz.Previous:{this.list.focusPrevious(void 0,!0,void 0,(t=>!!t.item));const t=this.list.getFocus()[0];0!==t&&!this.elements[t-1].item&&this.list.firstVisibleIndex>t-1&&this.list.reveal(t-1);break}case sz.NextPage:this.list.focusNextPage(void 0,(t=>!!t.item));break;case sz.PreviousPage:this.list.focusPreviousPage(void 0,(t=>!!t.item))}const i=this.list.getFocus()[0];"number"==typeof i&&this.list.reveal(i)}clearFocus(){this.list.setFocus([])}domFocus(){this.list.domFocus()}showHover(t){var i,e,s;void 0!==this.options.hoverDelegate&&(this._lastHover&&!this._lastHover.isDisposed&&(null===(e=(i=this.options.hoverDelegate).onDidHideHover)||void 0===e||e.call(i),null===(s=this._lastHover)||void 0===s||s.dispose()),t.element&&t.saneTooltip&&(this._lastHover=this.options.hoverDelegate.showHover({content:t.saneTooltip,target:t.element,linkHandler:t=>{this.options.linkOpenerDelegate(t)},appearance:{showPointer:!0},container:this.container,position:{hoverPosition:1}},!1)))}layout(t){this.list.getHTMLElement().style.maxHeight=t?44*Math.floor(t/44)+6+"px":"",this.list.layout()}filter(t){if(!(this.sortByLabel||this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))return this.list.layout(),!1;const i=t;if((t=t.trim())&&(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail)){let e;this.elements.forEach((s=>{var n,o,r,h;let c;c="fuzzy"===this.matchOnLabelMode?this.matchOnLabel&&null!==(n=A_(t,E_(s.saneLabel)))&&void 0!==n?n:void 0:this.matchOnLabel&&null!==(o=function(t,i){const{text:e,iconOffsets:s}=i;if(!s||0===s.length)return oz(t,e);const n=Qn(e," "),o=e.length-n.length,r=oz(t,n);if(r)for(const t of r){const i=s[t.start+o]+o;t.start+=i,t.end+=i}return r}(i,E_(s.saneLabel)))&&void 0!==o?o:void 0;const a=this.matchOnDescription&&null!==(r=A_(t,E_(s.saneDescription||"")))&&void 0!==r?r:void 0,l=this.matchOnDetail&&null!==(h=A_(t,E_(s.saneDetail||"")))&&void 0!==h?h:void 0;if(c||a||l?(s.labelHighlights=c,s.descriptionHighlights=a,s.detailHighlights=l,s.hidden=!1):(s.labelHighlights=void 0,s.descriptionHighlights=void 0,s.detailHighlights=void 0,s.hidden=!s.item||!s.item.alwaysShow),s.item?s.separator=void 0:s.separator&&(s.hidden=!0),!this.sortByLabel){const t=s.index&&this.inputElements[s.index-1];e=t&&"separator"===t.type?t:e,e&&!s.hidden&&(s.separator=e,e=void 0)}}))}else this.elements.forEach((t=>{t.labelHighlights=void 0,t.descriptionHighlights=void 0,t.detailHighlights=void 0,t.hidden=!1;const i=t.index&&this.inputElements[t.index-1];t.item&&(t.separator=i&&"separator"===i.type&&!i.buttons?i:void 0)}));const e=this.elements.filter((t=>!t.hidden));if(this.sortByLabel&&t){const i=t.toLowerCase();e.sort(((t,e)=>function(t,i,e){const s=t.labelHighlights||[],n=i.labelHighlights||[];return s.length&&!n.length?-1:!s.length&&n.length?1:0===s.length&&0===n.length?0:function(t,i,e){const s=t.toLowerCase(),n=i.toLowerCase(),o=function(t,i,e){const s=t.toLowerCase(),n=i.toLowerCase(),o=s.startsWith(e),r=n.startsWith(e);if(o!==r)return o?-1:1;if(o&&r){if(s.lengthn.length)return 1}return 0}(t,i,e);if(o)return o;const r=s.endsWith(e);if(r!==n.endsWith(e))return r?-1:1;const h=function(t,i){const e=t||"",s=i||"",n=qj.value.collator.compare(e,s);return qj.value.collatorIsNumeric&&0===n&&e!==s?e{var s;return t.set(null!==(s=i.item)&&void 0!==s?s:i.separator,e),t}),new Map),this.list.splice(0,this.list.length,e),this.list.setFocus([]),this.list.layout(),this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedVisibleCount.fire(e.length),!0}toggleCheckbox(){try{this._fireCheckedEvents=!1;const t=this.list.getFocusedElements(),i=this.allVisibleChecked(t);for(const e of t)e.checked=!i}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}display(t){this.container.style.display=t?"":"none"}isDisplayed(){return"none"!==this.container.style.display}dispose(){this.elementDisposables=Ji(this.elementDisposables),this.disposables=Ji(this.disposables)}fireCheckedEvents(){this._fireCheckedEvents&&(this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedCheckedCount.fire(this.getCheckedCount()),this._onChangedCheckedElements.fire(this.getCheckedElements()))}fireButtonTriggered(t){this._onButtonTriggered.fire(t)}fireSeparatorButtonTriggered(t){this._onSeparatorButtonTriggered.fire(t)}style(t){this.list.style(t)}toggleHover(){const t=this.list.getFocusedElements()[0];if(!(null==t?void 0:t.saneTooltip))return;if(this._lastHover&&!this._lastHover.isDisposed)return void this._lastHover.dispose();const i=this.list.getFocusedElements()[0];if(!i)return;this.showHover(i);const e=new te;e.add(this.list.onDidChangeFocus((t=>{t.indexes.length&&this.showHover(t.elements[0])}))),this._lastHover&&e.add(this._lastHover),this._toggleHover=e,this.elementDisposables.push(this._toggleHover)}}function oz(t,i){const e=i.toLowerCase().indexOf(t.toLowerCase());return-1!==e?[{start:e,end:e+t.length}]:null}Yj([Jm],nz.prototype,"onDidChangeFocus",null),Yj([Jm],nz.prototype,"onDidChangeSelection",null);class rz{getWidgetAriaLabel(){return rt(0,"Quick Input")}getAriaLabel(t){var i;return(null===(i=t.separator)||void 0===i?void 0:i.label)?`${t.saneAriaLabel}, ${t.separator.label}`:t.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(t){return t.hasCheckbox?"checkbox":"option"}isChecked(t){if(t.hasCheckbox)return{value:t.checked,onDidChange:t.onChecked}}}const hz={iconClass:Cr.asClassName(Os.quickInputBack),tooltip:rt(0,"Back"),handle:-1};class cz extends ie{constructor(t){super(),this.ui=t,this._widgetUpdated=!1,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._buttons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=cz.noPromptMessage,this._severity=ZF.Ignore,this.onDidTriggerButtonEmitter=this._register(new fe),this.onDidHideEmitter=this._register(new fe),this.onDisposeEmitter=this._register(new fe),this.visibleDisposables=this._register(new te),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(t){this._title=t,this.update()}get description(){return this._description}set description(t){this._description=t,this.update()}get step(){return this._steps}set step(t){this._steps=t,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(t){this._totalSteps=t,this.update()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this.update()}get contextKey(){return this._contextKey}set contextKey(t){this._contextKey=t,this.update()}get busy(){return this._busy}set busy(t){this._busy=t,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(t){const i=this._ignoreFocusOut!==t&&!Lt;this._ignoreFocusOut=t&&!Lt,i&&this.update()}get buttons(){return this._buttons}set buttons(t){this._buttons=t,this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(t){this._toggles=null!=t?t:[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(t){this._validationMessage=t,this.update()}get severity(){return this._severity}set severity(t){this._severity=t,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton((t=>{-1!==this.buttons.indexOf(t)&&this.onDidTriggerButtonEmitter.fire(t)}))),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(t=Cj.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:t})}update(){var t,i;if(!this.visible)return;const e=this.getTitle();e&&this.ui.title.textContent!==e?this.ui.title.textContent=e:e||" "===this.ui.title.innerHTML||(this.ui.title.innerText=" ");const s=this.getDescription();if(this.ui.description1.textContent!==s&&(this.ui.description1.textContent=s),this.ui.description2.textContent!==s&&(this.ui.description2.textContent=s),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?_l(this.ui.widget,this._widget):_l(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new dc,this.busyDelay.setIfNotSet((()=>{this.visible&&this.ui.progressBar.infinite()}),800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const t=this.buttons.filter((t=>t===hz));this.ui.leftActionBar.push(t.map(((t,i)=>{const e=new mr(`id-${i}`,"",t.iconClass||Jj(t.iconPath),!0,(async()=>{this.onDidTriggerButtonEmitter.fire(t)}));return e.tooltip=t.tooltip||"",e})),{icon:!0,label:!1}),this.ui.rightActionBar.clear();const i=this.buttons.filter((t=>t!==hz));this.ui.rightActionBar.push(i.map(((t,i)=>{const e=new mr(`id-${i}`,"",t.iconClass||Jj(t.iconPath),!0,(async()=>{this.onDidTriggerButtonEmitter.fire(t)}));return e.tooltip=t.tooltip||"",e})),{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const e=null!==(i=null===(t=this.toggles)||void 0===t?void 0:t.filter((t=>t instanceof KP)))&&void 0!==i?i:[];this.ui.inputBox.toggles=e}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const n=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==n&&(this._lastValidationMessage=n,_l(this.ui.message),function(t,i,e){_l(i);const s=function(t){const i=[];let e,s=0;for(;e=Gj.exec(t);){e.index-s>0&&i.push(t.substring(s,e.index));const[,n,o,,r]=e;i.push(r?{label:n,href:o,title:r}:{label:n,href:o}),s=e.index+e[0].length}return s{var s;(s=i)&&"function"==typeof s.preventDefault&&"function"==typeof s.stopPropagation&&Fl(i,!0),e.callback(t.href)},h=e.disposables.add(new Fk(o,Ll.CLICK)).event,c=e.disposables.add(new Fk(o,Ll.KEY_DOWN)).event,a=ce.chain(c,(t=>t.filter((t=>{const i=new Qh(t);return i.equals(10)||i.equals(3)}))));e.disposables.add(Xm.addTarget(o));const l=e.disposables.add(new Fk(o,Ym.Tap)).event;ce.any(h,l,a)(r,null,e.disposables),i.appendChild(o)}}(n,this.ui.message,{callback:t=>{this.ui.linkOpenerDelegate(t)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?rt(0,"{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(t){if(this.ui.inputBox.showDecoration(t),t!==ZF.Ignore){const i=this.ui.inputBox.stylesForType(t);this.ui.message.style.color=i.foreground?`${i.foreground}`:"",this.ui.message.style.backgroundColor=i.background?`${i.background}`:"",this.ui.message.style.border=i.border?`1px solid ${i.border}`:"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}cz.noPromptMessage=rt(0,"Press 'Enter' to confirm your input or 'Escape' to cancel");class az extends cz{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new fe),this.onWillAcceptEmitter=this._register(new fe),this.onDidAcceptEmitter=this._register(new fe),this.onDidCustomEmitter=this._register(new fe),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._autoFocusOnList=!0,this._keepScrollPosition=!1,this._itemActivation=Sj.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new fe),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new fe),this.onDidTriggerItemButtonEmitter=this._register(new fe),this.onDidTriggerSeparatorButtonEmitter=this._register(new fe),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this.filterValue=t=>t,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}get quickNavigate(){return this._quickNavigate}set quickNavigate(t){this._quickNavigate=t,this.update()}get value(){return this._value}set value(t){this.doSetValue(t)}doSetValue(t,i){this._value!==t&&(this._value=t,i||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(t){this._ariaLabel=t,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(t){this.ui.list.scrollTop=t}set items(t){this._items=t,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(t){this._canSelectMany=t,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(t){this._canAcceptInBackground=t}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(t){this._matchOnDescription=t,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(t){this._matchOnDetail=t,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(t){this._matchOnLabel=t,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(t){this._matchOnLabelMode=t,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(t){this._sortByLabel=t,this.update()}get autoFocusOnList(){return this._autoFocusOnList}set autoFocusOnList(t){this._autoFocusOnList=t,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(t){this._keepScrollPosition=t}get itemActivation(){return this._itemActivation}set itemActivation(t){this._itemActivation=t}get activeItems(){return this._activeItems}set activeItems(t){this._activeItems=t,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(t){this._selectedItems=t,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?xj:this.ui.keyMods}set valueSelection(t){this._valueSelection=t,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(t){this._customButton=t,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(t){this._customButtonLabel=t,this.update()}get customHover(){return this._customButtonHover}set customHover(t){this._customButtonHover=t,this.update()}get ok(){return this._ok}set ok(t){this._ok=t,this.update()}get hideInput(){return!!this._hideInput}set hideInput(t){this._hideInput=t,this.update()}trySelectFirst(){this.autoFocusOnList&&(this.canSelectMany||this.ui.list.focus(sz.First))}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange((t=>{this.doSetValue(t,!0)}))),this.visibleDisposables.add(this.ui.inputBox.onMouseDown((()=>{this.autoFocusOnList||this.ui.list.clearFocus()}))),this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown((t=>{switch(t.keyCode){case 18:this.ui.list.focus(sz.Next),this.canSelectMany&&this.ui.list.domFocus(),Fl(t,!0);break;case 16:this.ui.list.getFocusedElements().length?this.ui.list.focus(sz.Previous):this.ui.list.focus(sz.Last),this.canSelectMany&&this.ui.list.domFocus(),Fl(t,!0);break;case 12:this.ui.list.focus(sz.NextPage),this.canSelectMany&&this.ui.list.domFocus(),Fl(t,!0);break;case 11:this.ui.list.focus(sz.PreviousPage),this.canSelectMany&&this.ui.list.domFocus(),Fl(t,!0);break;case 17:if(!this._canAcceptInBackground)return;if(!this.ui.inputBox.isSelectionAtEnd())return;this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!0));break;case 14:!t.ctrlKey&&!t.metaKey||t.shiftKey||t.altKey||(this.ui.list.focus(sz.First),Fl(t,!0));break;case 13:!t.ctrlKey&&!t.metaKey||t.shiftKey||t.altKey||(this.ui.list.focus(sz.Last),Fl(t,!0))}}))),this.visibleDisposables.add(this.ui.onDidAccept((()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)}))),this.visibleDisposables.add(this.ui.onDidCustom((()=>{this.onDidCustomEmitter.fire()}))),this.visibleDisposables.add(this.ui.list.onDidChangeFocus((t=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&u(t,this._activeItems,((t,i)=>t===i))||(this._activeItems=t,this.onDidChangeActiveEmitter.fire(t))}))),this.visibleDisposables.add(this.ui.list.onDidChangeSelection((({items:t,event:i})=>{this.canSelectMany?t.length&&this.ui.list.setSelectedElements([]):this.selectedItemsToConfirm!==this._selectedItems&&u(t,this._selectedItems,((t,i)=>t===i))||(this._selectedItems=t,this.onDidChangeSelectionEmitter.fire(t),t.length&&this.handleAccept(Al(i)&&1===i.button))}))),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements((t=>{this.canSelectMany&&(this.selectedItemsToConfirm!==this._selectedItems&&u(t,this._selectedItems,((t,i)=>t===i))||(this._selectedItems=t,this.onDidChangeSelectionEmitter.fire(t)))}))),this.visibleDisposables.add(this.ui.list.onButtonTriggered((t=>this.onDidTriggerItemButtonEmitter.fire(t)))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered((t=>this.onDidTriggerSeparatorButtonEmitter.fire(t)))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(t){let i=!1;this.onWillAcceptEmitter.fire({veto:()=>i=!0}),i||this.onDidAcceptEmitter.fire({inBackground:t})}registerQuickNavigation(){return Va(this.ui.container,Ll.KEY_UP,(t=>{if(this.canSelectMany||!this._quickNavigate)return;const i=new Qh(t),e=i.keyCode;this._quickNavigate.keybindings.some((t=>{const s=t.getChords();return!(s.length>1||(s[0].shiftKey&&4===e?i.ctrlKey||i.altKey||i.metaKey:!(s[0].altKey&&6===e||s[0].ctrlKey&&5===e||s[0].metaKey&&57===e)))}))&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)}))}update(){if(!this.visible)return;const t=this.keepScrollPosition?this.scrollTop:0,i=!!this.description,e={title:!!this.title||!!this.step||!!this.buttons.length,description:i,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||i,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:"default"===this.ok?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let s=this.ariaLabel;if(!s&&e.inputBox&&(s=this.placeholder||az.DEFAULT_ARIA_LABEL,this.title&&(s+=` - ${this.title}`)),this.ui.list.ariaLabel!==s&&(this.ui.list.ariaLabel=null!=s?s:null),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated)switch(this.itemsUpdated=!1,this.ui.list.setElements(this.items),this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked(),this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()),this.ui.count.setCount(this.ui.list.getCheckedCount()),this._itemActivation){case Sj.NONE:this._itemActivation=Sj.FIRST;break;case Sj.SECOND:this.ui.list.focus(sz.Second),this._itemActivation=Sj.FIRST;break;case Sj.LAST:this.ui.list.focus(sz.Last),this._itemActivation=Sj.FIRST;break;default:this.trySelectFirst()}this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",e.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(sz.First)),this.keepScrollPosition&&(this.scrollTop=t)}}az.DEFAULT_ARIA_LABEL=rt(0,"Type to narrow down results.");class lz extends cz{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new fe),this.onDidAcceptEmitter=this._register(new fe),this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(t){this._value=t||"",this.update()}get placeholder(){return this._placeholder}set placeholder(t){this._placeholder=t,this.update()}get password(){return this._password}set password(t){this._password=t,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange((t=>{t!==this.value&&(this._value=t,this.onDidValueChangeEmitter.fire(t))}))),this.visibleDisposables.add(this.ui.onDidAccept((()=>this.onDidAcceptEmitter.fire()))),this.valueSelectionUpdated=!0),super.show()}update(){this.visible&&(this.ui.container.classList.remove("hidden-input"),this.ui.setVisibilities({title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0}),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password))}}const uz=$l;class dz extends ie{constructor(t,i,e){super(),this.options=t,this.themeService=i,this.layoutService=e,this.enabled=!0,this.onDidAcceptEmitter=this._register(new fe),this.onDidCustomEmitter=this._register(new fe),this.onDidTriggerButtonEmitter=this._register(new fe),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new fe),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new fe),this.onHide=this.onHideEmitter.event,this.idPrefix=t.idPrefix,this.parentElement=t.container,this.styles=t.styles,this._register(ce.runAndSubscribe(Wa,(({window:t,disposables:i})=>this.registerKeyModsListeners(t,i)),{window:$n,disposables:this._store})),this._register(ja((t=>{this.ui&&Na(this.ui.container)===t&&this.reparentUI(this.layoutService.mainContainer)})))}registerKeyModsListeners(t,i){const e=t=>{this.keyMods.ctrlCmd=t.ctrlKey||t.metaKey,this.keyMods.alt=t.altKey};for(const s of[Ll.KEY_DOWN,Ll.KEY_UP,Ll.MOUSE_DOWN])i.add(Va(t,s,e,!0))}getUI(t){if(this.ui)return t&&this.parentElement.ownerDocument!==this.layoutService.activeContainer.ownerDocument&&this.reparentUI(this.layoutService.activeContainer),this.ui;const i=Ol(this.parentElement,uz(".quick-input-widget.show-file-icons"));i.tabIndex=-1,i.style.display="none";const e=vl(i),s=Ol(i,uz(".quick-input-titlebar")),n=this.options.hoverDelegate?{hoverDelegate:this.options.hoverDelegate}:void 0,o=this._register(new VB(s,n));o.domNode.classList.add("quick-input-left-action-bar");const r=Ol(s,uz(".quick-input-title")),h=this._register(new VB(s,n));h.domNode.classList.add("quick-input-right-action-bar");const c=Ol(i,uz(".quick-input-header")),a=Ol(c,uz("input.quick-input-check-all"));a.type="checkbox",a.setAttribute("aria-label",rt(0,"Toggle all checkboxes")),this._register(qa(a,Ll.CHANGE,(()=>{A.setAllVisibleChecked(a.checked)}))),this._register(Va(a,Ll.CLICK,(t=>{(t.x||t.y)&&f.setFocus()})));const l=Ol(c,uz(".quick-input-description")),u=Ol(c,uz(".quick-input-and-message")),d=Ol(u,uz(".quick-input-filter")),f=this._register(new Bj(d,this.styles.inputBox,this.styles.toggle));f.setAttribute("aria-describedby",`${this.idPrefix}message`);const p=Ol(d,uz(".quick-input-visible-count"));p.setAttribute("aria-live","polite"),p.setAttribute("aria-atomic","true");const g=new Lj(p,{countFormat:rt(0,"{0} Results")},this.styles.countBadge),m=Ol(d,uz(".quick-input-count"));m.setAttribute("aria-live","polite");const w=new Lj(m,{countFormat:rt(0,"{0} Selected")},this.styles.countBadge),v=Ol(c,uz(".quick-input-action")),b=this._register(new Mj(v,this.styles.button));b.label=rt(0,"OK"),this._register(b.onDidClick((()=>{this.onDidAcceptEmitter.fire()})));const y=Ol(c,uz(".quick-input-action")),k=this._register(new Mj(y,this.styles.button));k.label=rt(0,"Custom"),this._register(k.onDidClick((()=>{this.onDidCustomEmitter.fire()})));const x=Ol(u,uz(`#${this.idPrefix}message.quick-input-message`)),C=this._register(new _j(i,this.styles.progressBar));C.getContainer().classList.add("quick-input-progress");const S=Ol(i,uz(".quick-input-html-widget"));S.tabIndex=-1;const D=Ol(i,uz(".quick-input-description")),E=this.idPrefix+"list",A=this._register(new nz(i,E,this.options,this.themeService));f.setAttribute("aria-controls",E),this._register(A.onDidChangeFocus((()=>{var t;f.setAttribute("aria-activedescendant",null!==(t=A.getActiveDescendant())&&void 0!==t?t:"")}))),this._register(A.onChangedAllVisibleChecked((t=>{a.checked=t}))),this._register(A.onChangedVisibleCount((t=>{g.setCount(t)}))),this._register(A.onChangedCheckedCount((t=>{w.setCount(t)}))),this._register(A.onLeave((()=>{setTimeout((()=>{f.setFocus(),this.controller instanceof az&&this.controller.canSelectMany&&A.clearFocus()}),0)})));const M=Rl(i);return this._register(M),this._register(Va(i,Ll.FOCUS,(t=>{al(t.relatedTarget,i)||(this.previousFocusElement=t.relatedTarget instanceof HTMLElement?t.relatedTarget:void 0)}),!0)),this._register(M.onDidBlur((()=>{this.getUI().ignoreFocusOut||this.options.ignoreFocusOut()||this.hide(Cj.Blur),this.previousFocusElement=void 0}))),this._register(Va(i,Ll.FOCUS,(()=>{f.setFocus()}))),this._register(qa(i,Ll.KEY_DOWN,(t=>{if(!al(t.target,S))switch(t.keyCode){case 3:Fl(t,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:Fl(t,!0),this.hide(Cj.Gesture);break;case 2:if(!t.altKey&&!t.ctrlKey&&!t.metaKey){const e=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(i.classList.contains("show-checkboxes")?e.push("input"):e.push("input[type=text]"),this.getUI().list.isDisplayed()&&e.push(".monaco-list"),this.getUI().message&&e.push(".quick-input-message a"),this.getUI().widget){if(al(t.target,this.getUI().widget))break;e.push(".quick-input-html-widget")}const s=i.querySelectorAll(e.join(", "));t.shiftKey&&t.target===s[0]?(Fl(t,!0),A.clearFocus()):!t.shiftKey&&al(t.target,s[s.length-1])&&(Fl(t,!0),s[0].focus())}break;case 10:t.ctrlKey&&(Fl(t,!0),this.getUI().list.toggleHover())}}))),this.ui={container:i,styleSheet:e,leftActionBar:o,titleBar:s,title:r,description1:D,description2:l,widget:S,rightActionBar:h,checkAll:a,inputContainer:u,filterContainer:d,inputBox:f,visibleCountContainer:p,visibleCount:g,countContainer:m,count:w,okContainer:v,ok:b,message:x,customButtonContainer:y,customButton:k,list:A,progressBar:C,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:t=>this.show(t),hide:()=>this.hide(),setVisibilities:t=>this.setVisibilities(t),setEnabled:t=>this.setEnabled(t),setContextKey:t=>this.options.setContextKey(t),linkOpenerDelegate:t=>this.options.linkOpenerDelegate(t)},this.updateStyles(),this.ui}reparentUI(t){this.ui&&(this.parentElement=t,Ol(this.parentElement,this.ui.container))}pick(t,i={},e=xe.None){return new Promise(((s,n)=>{let o=t=>{var e;o=s,null===(e=i.onKeyMods)||void 0===e||e.call(i,r.keyMods),s(t)};if(e.isCancellationRequested)return void o(void 0);const r=this.createQuickPick();let h;const c=[r,r.onDidAccept((()=>{if(r.canSelectMany)o(r.selectedItems.slice()),r.hide();else{const t=r.activeItems[0];t&&(o(t),r.hide())}})),r.onDidChangeActive((t=>{const e=t[0];e&&i.onDidFocus&&i.onDidFocus(e)})),r.onDidChangeSelection((t=>{if(!r.canSelectMany){const i=t[0];i&&(o(i),r.hide())}})),r.onDidTriggerItemButton((t=>i.onDidTriggerItemButton&&i.onDidTriggerItemButton({...t,removeItem:()=>{const i=r.items.indexOf(t.item);if(-1!==i){const t=r.items.slice(),e=t.splice(i,1),s=r.activeItems.filter((t=>t!==e[0])),n=r.keepScrollPosition;r.keepScrollPosition=!0,r.items=t,s&&(r.activeItems=s),r.keepScrollPosition=n}}}))),r.onDidTriggerSeparatorButton((t=>{var e;return null===(e=i.onDidTriggerSeparatorButton)||void 0===e?void 0:e.call(i,t)})),r.onDidChangeValue((t=>{!h||t||1===r.activeItems.length&&r.activeItems[0]===h||(r.activeItems=[h])})),e.onCancellationRequested((()=>{r.hide()})),r.onDidHide((()=>{Ji(c),o(void 0)}))];r.title=i.title,r.canSelectMany=!!i.canPickMany,r.placeholder=i.placeHolder,r.ignoreFocusOut=!!i.ignoreFocusLost,r.matchOnDescription=!!i.matchOnDescription,r.matchOnDetail=!!i.matchOnDetail,r.matchOnLabel=void 0===i.matchOnLabel||i.matchOnLabel,r.autoFocusOnList=void 0===i.autoFocusOnList||i.autoFocusOnList,r.quickNavigate=i.quickNavigate,r.hideInput=!!i.hideInput,r.contextKey=i.contextKey,r.busy=!0,Promise.all([t,i.activeItem]).then((([t,i])=>{h=i,r.busy=!1,r.items=t,r.canSelectMany&&(r.selectedItems=t.filter((t=>"separator"!==t.type&&t.picked))),h&&(r.activeItems=[h])})),r.show(),Promise.resolve(t).then(void 0,(t=>{n(t),r.hide()}))}))}createQuickPick(){const t=this.getUI(!0);return new az(t)}createInputBox(){const t=this.getUI(!0);return new lz(t)}show(t){const i=this.getUI(!0);this.onShowEmitter.fire();const e=this.controller;this.controller=t,null==e||e.didHide(),this.setEnabled(!0),i.leftActionBar.clear(),i.title.textContent="",i.description1.textContent="",i.description2.textContent="",_l(i.widget),i.rightActionBar.clear(),i.checkAll.checked=!1,i.inputBox.placeholder="",i.inputBox.password=!1,i.inputBox.showDecoration(ZF.Ignore),i.visibleCount.setCount(0),i.count.setCount(0),_l(i.message),i.progressBar.stop(),i.list.setElements([]),i.list.matchOnDescription=!1,i.list.matchOnDetail=!1,i.list.matchOnLabel=!0,i.list.sortByLabel=!0,i.ignoreFocusOut=!1,i.inputBox.toggles=void 0;const s=this.options.backKeybindingLabel();hz.tooltip=s?rt(0,"Back ({0})",s):rt(0,"Back"),i.container.style.display="",this.updateLayout(),i.inputBox.setFocus()}isVisible(){return!!this.ui&&"none"!==this.ui.container.style.display}setVisibilities(t){const i=this.getUI();i.title.style.display=t.title?"":"none",i.description1.style.display=t.description&&(t.inputBox||t.checkAll)?"":"none",i.description2.style.display=!t.description||t.inputBox||t.checkAll?"none":"",i.checkAll.style.display=t.checkAll?"":"none",i.inputContainer.style.display=t.inputBox?"":"none",i.filterContainer.style.display=t.inputBox?"":"none",i.visibleCountContainer.style.display=t.visibleCount?"":"none",i.countContainer.style.display=t.count?"":"none",i.okContainer.style.display=t.ok?"":"none",i.customButtonContainer.style.display=t.customButton?"":"none",i.message.style.display=t.message?"":"none",i.progressBar.getContainer().style.display=t.progressBar?"":"none",i.list.display(!!t.list),i.container.classList.toggle("show-checkboxes",!!t.checkBox),i.container.classList.toggle("hidden-input",!t.inputBox&&!t.description),this.updateLayout()}setEnabled(t){if(t!==this.enabled){this.enabled=t;for(const i of this.getUI().leftActionBar.viewItems)i.action.enabled=t;for(const i of this.getUI().rightActionBar.viewItems)i.action.enabled=t;this.getUI().checkAll.disabled=!t,this.getUI().inputBox.enabled=t,this.getUI().ok.enabled=t,this.getUI().list.enabled=t}}hide(t){var i,e;const s=this.controller;if(!s)return;const n=null===(i=this.ui)||void 0===i?void 0:i.container,o=n&&!al((r=n).ownerDocument.activeElement,r);var r;if(this.controller=null,this.onHideEmitter.fire(),n&&(n.style.display="none"),!o){let t=this.previousFocusElement;for(;t&&!t.offsetParent;)t=null!==(e=t.parentElement)&&void 0!==e?e:void 0;(null==t?void 0:t.offsetParent)?(t.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}s.didHide(t)}layout(t,i){this.dimension=t,this.titleBarOffset=i,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top=`${this.titleBarOffset}px`;const t=this.ui.container.style,i=Math.min(.62*this.dimension.width,dz.MAX_WIDTH);t.width=i+"px",t.marginLeft="-"+i/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&.4*this.dimension.height)}}applyStyles(t){this.styles=t,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:t,quickInputBackground:i,quickInputForeground:e,widgetBorder:s,widgetShadow:n}=this.styles.widget;this.ui.titleBar.style.backgroundColor=null!=t?t:"",this.ui.container.style.backgroundColor=null!=i?i:"",this.ui.container.style.color=null!=e?e:"",this.ui.container.style.border=s?`1px solid ${s}`:"",this.ui.container.style.boxShadow=n?`0 0 8px 2px ${n}`:"",this.ui.list.style(this.styles.list);const o=[];this.styles.pickerGroup.pickerGroupBorder&&o.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.pickerGroup.pickerGroupBorder}; }`),this.styles.pickerGroup.pickerGroupForeground&&o.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.pickerGroup.pickerGroupForeground}; }`),this.styles.pickerGroup.pickerGroupForeground&&o.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(o.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&o.push(`background-color: ${this.styles.keybindingLabel.keybindingLabelBackground};`),this.styles.keybindingLabel.keybindingLabelBorder&&o.push(`border-color: ${this.styles.keybindingLabel.keybindingLabelBorder};`),this.styles.keybindingLabel.keybindingLabelBottomBorder&&o.push(`border-bottom-color: ${this.styles.keybindingLabel.keybindingLabelBottomBorder};`),this.styles.keybindingLabel.keybindingLabelShadow&&o.push(`box-shadow: inset 0 -1px 0 ${this.styles.keybindingLabel.keybindingLabelShadow};`),this.styles.keybindingLabel.keybindingLabelForeground&&o.push(`color: ${this.styles.keybindingLabel.keybindingLabelForeground};`),o.push("}"));const r=o.join("\n");r!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=r)}}}dz.MAX_WIDTH=600;var fz=function(t,i){return function(e,s){i(e,s,t)}};let pz=class extends Yk{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(Aj))),this._quickAccess}constructor(t,i,e,s){super(e),this.instantiationService=t,this.contextKeyService=i,this.layoutService=s,this._onShow=this._register(new fe),this._onHide=this._register(new fe),this.contexts=new Map}createController(t=this.layoutService,i){const e={idPrefix:"quickInput_",container:t.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:t=>this.setContextKey(t),linkOpenerDelegate:t=>{this.instantiationService.invokeFunction((i=>{i.get(nP).open(t,{allowCommands:!0,fromUserGesture:!0})}))},returnFocus:()=>t.focus(),createList:(t,i,e,s,n)=>this.instantiationService.createInstance(sj,t,i,e,s,n),styles:this.computeStyles()},s=this._register(new dz({...e,...i},this.themeService,this.layoutService));return s.layout(t.activeContainerDimension,t.activeContainerOffset.quickPickTop),this._register(t.onDidLayoutActiveContainer((i=>s.layout(i,t.activeContainerOffset.quickPickTop)))),this._register(t.onDidChangeActiveContainer((()=>{s.isVisible()||s.layout(t.activeContainerDimension,t.activeContainerOffset.quickPickTop)}))),this._register(s.onShow((()=>{this.resetContextKeys(),this._onShow.fire()}))),this._register(s.onHide((()=>{this.resetContextKeys(),this._onHide.fire()}))),s}setContextKey(t){let i;t&&(i=this.contexts.get(t),i||(i=new ch(t,!1).bindTo(this.contextKeyService),this.contexts.set(t,i))),i&&i.get()||(this.resetContextKeys(),null==i||i.set(!0))}resetContextKeys(){this.contexts.forEach((t=>{t.get()&&t.reset()}))}pick(t,i={},e=xe.None){return this.controller.pick(t,i,e)}createQuickPick(){return this.controller.createQuickPick()}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:ew(cv),quickInputForeground:ew(av),quickInputTitleBackground:ew(lv),widgetBorder:ew(pw),widgetShadow:ew(fw)},inputBox:EB,toggle:DB,countBadge:MB,button:CB,progressBar:SB,keybindingLabel:xB,list:FB({listBackground:cv,listFocusBackground:kb,listFocusForeground:bb,listInactiveFocusForeground:bb,listInactiveSelectionIconForeground:yb,listInactiveFocusBackground:kb,listFocusOutline:uw,listInactiveFocusOutline:uw}),pickerGroup:{pickerGroupBorder:ew(dv),pickerGroupForeground:ew(uv)}}}};pz=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([fz(0,ur),fz(1,ah),fz(2,qk),fz(3,PT)],pz);var gz=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},mz=function(t,i){return function(e,s){i(e,s,t)}};let wz=class extends pz{constructor(t,i,e,s,n){super(i,e,s,new zT(t.getContainerDomNode(),n)),this.host=void 0;const o=bz.get(t);if(o){const i=o.widget;this.host={_serviceBrand:void 0,get mainContainer(){return i.getDomNode()},getContainer:()=>i.getDomNode(),get containers(){return[i.getDomNode()]},get activeContainer(){return i.getDomNode()},get mainContainerDimension(){return t.getLayoutInfo()},get activeContainerDimension(){return t.getLayoutInfo()},get onDidLayoutMainContainer(){return t.onDidLayoutChange},get onDidLayoutActiveContainer(){return t.onDidLayoutChange},get onDidLayoutContainer(){return ce.map(t.onDidLayoutChange,(t=>({container:i.getDomNode(),dimension:t})))},get onDidChangeActiveContainer(){return ce.None},get onDidAddContainer(){return ce.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>t.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};wz=gz([mz(1,ur),mz(2,ah),mz(3,qk),mz(4,fr)],wz);let vz=class{get activeService(){const t=this.codeEditorService.getFocusedCodeEditor();if(!t)throw new Error("Quick input service needs a focused editor to work.");let i=this.mapEditorToService.get(t);if(!i){const e=i=this.instantiationService.createInstance(wz,t);this.mapEditorToService.set(t,i),Zi(t.onDidDispose)((()=>{e.dispose(),this.mapEditorToService.delete(t)}))}return i}get quickAccess(){return this.activeService.quickAccess}constructor(t,i){this.instantiationService=t,this.codeEditorService=i,this.mapEditorToService=new Map}pick(t,i={},e=xe.None){return this.activeService.pick(t,i,e)}createQuickPick(){return this.activeService.createQuickPick()}createInputBox(){return this.activeService.createInputBox()}};vz=gz([mz(0,ur),mz(1,fr)],vz);class bz{static get(t){return t.getContribution(bz.ID)}constructor(t){this.editor=t,this.widget=new yz(this.editor)}dispose(){this.widget.dispose()}}bz.ID="editor.controller.quickInput";class yz{constructor(t){this.codeEditor=t,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return yz.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}yz.ID="editor.contrib.quickInputWidget",lu(bz.ID,bz,4);class kz{constructor(t,i,e,s,n){this._parsedThemeRuleBrand=void 0,this.token=t,this.index=i,this.fontStyle=e,this.foreground=s,this.background=n}}const xz=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class Cz{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(t){if(null===t)return 0;const i=t.match(xz);if(!i)throw new Error("Illegal value for token color: "+t);t=i[1].toUpperCase();let e=this._color2id.get(t);return e||(e=++this._lastColorId,this._color2id.set(t,e),this._id2color[e]=sg.fromHex("#"+t),e)}getColorMap(){return this._id2color.slice(0)}}class Sz{static createFromRawTokenTheme(t,i){return this.createFromParsedTokenTheme(function(t){if(!t||!Array.isArray(t))return[];const i=[];let e=0;for(let s=0,n=t.length;s{const e=function(t,i){return ti?1:0}(t.token,i.token);return 0!==e?e:t.index-i.index}));let e=0,s="000000",n="ffffff";for(;t.length>=1&&""===t[0].token;){const i=t.shift();-1!==i.fontStyle&&(e=i.fontStyle),null!==i.foreground&&(s=i.foreground),null!==i.background&&(n=i.background)}const o=new Cz;for(const t of i)o.getId(t);const r=o.getId(s),h=o.getId(n),c=new Ez(e,r,h),a=new Az(c);for(let i=0,e=t.length;i>>0,this._cache.set(i,e)}return(e|t<<0)>>>0}}const Dz=/\b(comment|string|regex|regexp)\b/;class Ez{constructor(t,i,e){this._themeTrieElementRuleBrand=void 0,this._fontStyle=t,this._foreground=i,this._background=e,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new Ez(this._fontStyle,this._foreground,this._background)}acceptOverwrite(t,i,e){-1!==t&&(this._fontStyle=t),0!==i&&(this._foreground=i),0!==e&&(this._background=e),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class Az{constructor(t){this._themeTrieElementBrand=void 0,this._mainRule=t,this._children=new Map}match(t){if(""===t)return this._mainRule;const i=t.indexOf(".");let e,s;-1===i?(e=t,s=""):(e=t.substring(0,i),s=t.substring(i+1));const n=this._children.get(e);return void 0!==n?n.match(s):this._mainRule}insert(t,i,e,s){if(""===t)return void this._mainRule.acceptOverwrite(i,e,s);const n=t.indexOf(".");let o,r;-1===n?(o=t,r=""):(o=t.substring(0,n),r=t.substring(n+1));let h=this._children.get(o);void 0===h&&(h=new Az(this._mainRule.clone()),this._children.set(o,h)),h.insert(r,i,e,s)}}const Mz={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[ev]:"#FFFFFE",[sv]:"#000000",[bv]:"#E5EBF1",[hx]:"#D3D3D3",[fx]:"#939393",[yv]:"#ADD6FF4D"}},Lz={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[ev]:"#1E1E1E",[sv]:"#D4D4D4",[bv]:"#3A3D41",[hx]:"#404040",[fx]:"#707070",[yv]:"#ADD6FF26"}},Fz={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[ev]:"#000000",[sv]:"#FFFFFF",[hx]:"#FFFFFF",[fx]:"#FFFFFF"}},Tz={base:"hc-light",inherit:!1,rules:[{token:"",foreground:"292929",background:"FFFFFF"},{token:"invalid",foreground:"B5200D"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"264F70"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"B5200D"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"264F78"},{token:"attribute.value",foreground:"0451A5"},{token:"string",foreground:"A31515"},{token:"string.sql",foreground:"B5200D"},{token:"keyword",foreground:"0000FF"},{token:"keyword.flow",foreground:"AF00DB"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[ev]:"#FFFFFF",[sv]:"#292929",[hx]:"#292929",[fx]:"#292929"}};var Rz,Oz;!function(t){t.getDefinition=function(t){let i=t.defaults;for(;Cr.isThemeIcon(i);){const t=Iz.getIcon(i.id);if(!t)return;i=t.defaults}return i}}(Rz||(Rz={})),function(t){t.toJSONObject=function(t){return{weight:t.weight,style:t.style,src:t.src.map((t=>({format:t.format,location:t.location.toString()})))}},t.fromJSONObject=function(t){const i=t=>P(t)?t:void 0;if(t&&Array.isArray(t.src)&&t.src.every((t=>P(t.format)&&P(t.location))))return{weight:i(t.weight),style:i(t.style),src:t.src.map((t=>({format:t.format,location:ms.parse(t.location)})))}}}(Oz||(Oz={}));const Iz=new class{constructor(){this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:rt(0,"The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:rt(0,"The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:`^${Cr.iconNameExpression}$`,enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(t,i,e,s){const n=this.iconsById[t];if(n){if(e&&!n.description){n.description=e,this.iconSchema.properties[t].markdownDescription=`${e} $(${t})`;const i=this.iconReferenceSchema.enum.indexOf(t);-1!==i&&(this.iconReferenceSchema.enumDescriptions[i]=e),this._onDidChange.fire()}return n}this.iconsById[t]={id:t,description:e,defaults:i,deprecationMessage:s};const o={$ref:"#/definitions/icons"};return s&&(o.deprecationMessage=s),e&&(o.markdownDescription=`${e}: $(${t})`),this.iconSchema.properties[t]=o,this.iconReferenceSchema.enum.push(t),this.iconReferenceSchema.enumDescriptions.push(e||""),this._onDidChange.fire(),{id:t}}getIcons(){return Object.keys(this.iconsById).map((t=>this.iconsById[t]))}getIcon(t){return this.iconsById[t]}getIconSchema(){return this.iconSchema}toString(){const t=(t,i)=>t.id.localeCompare(i.id),i=t=>{for(;Cr.isThemeIcon(t.defaults);)t=this.iconsById[t.defaults.id];return`codicon codicon-${t?t.id:""}`},e=[];e.push("| preview | identifier | default codicon ID | description"),e.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const s=Object.keys(this.iconsById).map((t=>this.iconsById[t]));for(const n of s.filter((t=>!!t.description)).sort(t))e.push(`||${n.id}|${Cr.isThemeIcon(n.defaults)?n.defaults.id:n.id}|${n.description||""}|`);e.push("| preview | identifier "),e.push("| ----------- | --------------------------------- |");for(const n of s.filter((t=>!Cr.isThemeIcon(t.defaults))).sort(t))e.push(`||${n.id}|`);return e.join("\n")}};function _z(t,i,e,s){return Iz.registerIcon(t,i,e,s)}function Nz(){return Iz}Dh.add("base.contributions.icons",Iz),function(){const t=Rs();for(const i in t){const e="\\"+t[i].toString(16);Iz.registerIcon(i,{fontCharacter:e})}}();const Bz="vscode://schemas/icons",Pz=Dh.as(Ed);Pz.registerSchema(Bz,Iz.getIconSchema());const $z=new pc((()=>Pz.notifySchemaChanged(Bz)),200);Iz.onDidChange((()=>{$z.isScheduled()||$z.schedule()}));const Wz=_z("widget-close",Os.close,rt(0,"Icon for the close action in widgets."));_z("goto-previous-location",Os.arrowUp,rt(0,"Icon for goto previous editor location.")),_z("goto-next-location",Os.arrowDown,rt(0,"Icon for goto next editor location.")),Cr.modify(Os.sync,"spin"),Cr.modify(Os.loading,"spin");class jz{getIcon(t){const i=Nz();let e=t.defaults;for(;Cr.isThemeIcon(e);){const t=i.getIcon(e.id);if(!t)return;e=t.defaults}return e}}const zz="vs",Hz="vs-dark",Vz="hc-black",Uz="hc-light",qz=Dh.as(sw),Kz=Dh.as(Zk);class Gz{constructor(t,i){this.semanticHighlighting=!1,this.themeData=i;const e=i.base;t.length>0?(this.id=Zz(t)?t:e+" "+t,this.themeName=t):(this.id=e,this.themeName=e),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const t=new Map;for(const i in this.themeData.colors)t.set(i,sg.fromHex(this.themeData.colors[i]));if(this.themeData.inherit){const i=Qz(this.themeData.base);for(const e in i.colors)t.has(e)||t.set(e,sg.fromHex(i.colors[e]))}this.colors=t}return this.colors}getColor(t,i){return this.getColors().get(t)||(!1!==i?this.getDefault(t):void 0)}getDefault(t){let i=this.defaultColors[t];return i||(i=qz.resolveDefaultColor(t,this),this.defaultColors[t]=i,i)}defines(t){return this.getColors().has(t)}get type(){switch(this.base){case zz:return Iy.LIGHT;case Vz:return Iy.HIGH_CONTRAST_DARK;case Uz:return Iy.HIGH_CONTRAST_LIGHT;default:return Iy.DARK}}get tokenTheme(){if(!this._tokenTheme){let t=[],i=[];if(this.themeData.inherit){const e=Qz(this.themeData.base);t=e.rules,e.encodedTokensColors&&(i=e.encodedTokensColors)}const e=this.themeData.colors["editor.foreground"],s=this.themeData.colors["editor.background"];if(e||s){const i={token:""};e&&(i.foreground=e),s&&(i.background=s),t.push(i)}t=t.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(i=this.themeData.encodedTokensColors),this._tokenTheme=Sz.createFromRawTokenTheme(t,i)}return this._tokenTheme}getTokenStyleMetadata(t,i,e){const s=this.tokenTheme._match([t].concat(i).join(".")).metadata,n=Fg.getForeground(s),o=Fg.getFontStyle(s);return{foreground:n,italic:Boolean(1&o),bold:Boolean(2&o),underline:Boolean(4&o),strikethrough:Boolean(8&o)}}}function Zz(t){return t===zz||t===Hz||t===Vz||t===Uz}function Qz(t){switch(t){case zz:return Mz;case Hz:return Lz;case Vz:return Fz;case Uz:return Tz}}function Jz(t){const i=Qz(t);return new Gz(t,i)}const Yz=dr("themeService");var Xz=function(t,i){return function(e,s){i(e,s,t)}};let tH=class extends ie{constructor(t,i,e){super(),this._contextKeyService=t,this._layoutService=i,this._configurationService=e,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new fe,this._onDidChangeReducedMotion=new fe,this._accessibilityModeEnabledContext=Hm.bindTo(this._contextKeyService);const s=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration("editor.accessibilitySupport")&&(s(),this._onDidChangeScreenReaderOptimized.fire()),t.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())}))),s(),this._register(this.onDidChangeScreenReaderOptimized((()=>s())));const n=$n.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=n.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this.initReducedMotionListeners(n)}initReducedMotionListeners(t){this._register(Va(t,"change",(()=>{this._systemMotionReduced=t.matches,"auto"===this._configMotionReduced&&this._onDidChangeReducedMotion.fire()})));const i=()=>{const t=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",t),this._layoutService.mainContainer.classList.toggle("enable-motion",!t)};i(),this._register(this.onDidChangeReducedMotion((()=>i())))}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const t=this._configurationService.getValue("editor.accessibilitySupport");return"on"===t||"auto"===t&&2===this._accessibilitySupport}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const t=this._configMotionReduced;return"on"===t||"auto"===t&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};tH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Xz(0,ah),Xz(1,PT),Xz(2,pd)],tH);var iH,eH,sH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},nH=function(t,i){return function(e,s){i(e,s,t)}};let oH=class{constructor(t,i){this._commandService=t,this._hiddenStates=new rH(i)}createMenu(t,i,e){return new cH(t,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...e},this._commandService,i)}resetHiddenStates(t){this._hiddenStates.reset(t)}};oH=sH([nH(0,Sr),nH(1,bB)],oH);let rH=iH=class{constructor(t){this._storageService=t,this._disposables=new te,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const i=t.get(iH._key,0,"{}");this._data=JSON.parse(i)}catch(t){this._data=Object.create(null)}this._disposables.add(t.onDidChangeValue(0,iH._key,this._disposables)((()=>{if(!this._ignoreChangeEvent)try{const i=t.get(iH._key,0,"{}");this._data=JSON.parse(i)}catch(t){console.log("FAILED to read storage after UPDATE",t)}this._onDidChange.fire()})))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(t,i){var e;return null!==(e=this._hiddenByDefaultCache.get(`${t.id}/${i}`))&&void 0!==e&&e}setDefaultState(t,i,e){this._hiddenByDefaultCache.set(`${t.id}/${i}`,e)}isHidden(t,i){var e,s;const n=this._isHiddenByDefault(t,i),o=null!==(s=null===(e=this._data[t.id])||void 0===e?void 0:e.includes(i))&&void 0!==s&&s;return n?!o:o}updateHidden(t,i,e){this._isHiddenByDefault(t,i)&&(e=!e);const s=this._data[t.id];if(e)s?s.indexOf(i)<0&&s.push(i):this._data[t.id]=[i];else if(s){const e=s.indexOf(i);e>=0&&function(t,i){const e=t.length-1;it[1])));n.length>0&&o.push(new Nh(i,s,n))}}o.length>0&&i.push([s,o])}return i}static _fillInKbExprKeys(t,i){if(t)for(const e of t.keys())i.add(e)}static _compareMenuItems(t,i){const e=t.group,s=i.group;if(e!==s){if(!e)return 1;if(!s)return-1;if("navigation"===e)return-1;if("navigation"===s)return 1;const t=e.localeCompare(s);if(0!==t)return t}const n=t.order||0,o=i.order||0;return no?1:eH._compareTitles(Th(t)?t.command.title:t.title,Th(i)?i.command.title:i.title)}static _compareTitles(t,i){return("string"==typeof t?t:t.original).localeCompare("string"==typeof i?i:i.original)}};hH=eH=sH([nH(3,Sr),nH(4,ah)],hH);let cH=class{constructor(t,i,e,s,n){this._disposables=new te,this._menuInfo=new hH(t,i,e.emitEventsForSubmenuChanges,s,n);const o=new pc((()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})}),e.eventDebounceDelay);this._disposables.add(o),this._disposables.add(_h.onDidChangeMenu((i=>{i.has(t)&&o.schedule()})));const r=this._disposables.add(new te);this._onDidChange=new me({onWillAddFirstListener:()=>{r.add(n.onDidChangeContext((t=>{const i=t.affectsSome(this._menuInfo.structureContextKeys),e=t.affectsSome(this._menuInfo.preconditionContextKeys),s=t.affectsSome(this._menuInfo.toggledContextKeys);(i||e||s)&&this._onDidChange.fire({menu:this,isStructuralChange:i,isEnablementChange:e,isToggleChange:s})}))),r.add(i.onDidChange((()=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})})))},onDidRemoveLastListener:r.clear.bind(r),delay:e.eventDebounceDelay,merge:t=>{let i=!1,e=!1,s=!1;for(const n of t)if(i=i||n.isStructuralChange,e=e||n.isEnablementChange,s=s||n.isToggleChange,i&&e&&s)break;return{menu:this,isStructuralChange:i,isEnablementChange:e,isToggleChange:s}}}),this.onDidChange=this._onDidChange.event}getActions(t){return this._menuInfo.createActionGroups(t)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};function aH(t,i,e){const s=void 0!==i.submenu?i.submenu.id:i.id,n="string"==typeof i.title?i.title:i.title.value,o=kr({id:`hide/${t.id}/${s}`,label:rt(0,"Hide '{0}'",n),run(){e.updateHidden(t,s,!0)}}),r=kr({id:`toggle/${t.id}/${s}`,label:n,get checked(){return!e.isHidden(t,s)},run(){e.updateHidden(t,s,!!this.checked)}});return{hide:o,toggle:r,get isHidden(){return!r.checked}}}cH=sH([nH(3,Sr),nH(4,ah)],cH);var lH=function(t,i){return function(e,s){i(e,s,t)}};let uH=class extends ie{constructor(t,i){super(),this.layoutService=t,this.logService=i,this.mapTextToType=new Map,this.findText="",this.resources=[],(Go||Zo)&&this.installWebKitWriteTextWorkaround()}installWebKitWriteTextWorkaround(){const t=()=>{const t=new bc;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=t,navigator.clipboard.write([new ClipboardItem({"text/plain":t.p})]).catch((async i=>{i instanceof Error&&"NotAllowedError"===i.name&&t.isRejected||this.logService.error(i)}))};this._register(ce.runAndSubscribe(this.layoutService.onDidAddContainer,(({container:i,disposables:e})=>{e.add(Va(i,"click",t)),e.add(Va(i,"keydown",t))}),{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(t,i){if(i)return void this.mapTextToType.set(i,t);if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(t);try{return await navigator.clipboard.writeText(t)}catch(t){console.error(t)}const e=ml(),s=e.activeElement,n=e.body.appendChild($l("textarea",{"aria-hidden":!0}));n.style.height="1px",n.style.width="1px",n.style.position="absolute",n.value=t,n.focus(),n.select(),e.execCommand("copy"),s instanceof HTMLElement&&s.focus(),e.body.removeChild(n)}async readText(t){if(t)return this.mapTextToType.get(t)||"";try{return await navigator.clipboard.readText()}catch(t){return console.error(t),""}}async readFindText(){return this.findText}async writeFindText(t){this.findText=t}async writeResources(t){this.resources=t}async readResources(){return this.resources}};uH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([lH(0,PT),lH(1,jh)],uH);const dH=dr("clipboardService");const fH="data-keybinding-context";class pH{constructor(t,i){this._id=t,this._parent=i,this._value=Object.create(null),this._value._contextId=t}get value(){return{...this._value}}setValue(t,i){return this._value[t]!==i&&(this._value[t]=i,!0)}removeValue(t){return t in this._value&&(delete this._value[t],!0)}getValue(t){const i=this._value[t];return void 0===i&&this._parent?this._parent.getValue(t):i}}class gH extends pH{constructor(){super(-1,null)}setValue(t,i){return!1}removeValue(t){return!1}getValue(t){}}gH.INSTANCE=new gH;class mH extends pH{constructor(t,i,e){super(t,null),this._configurationService=i,this._values=WO.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration((t=>{if(7===t.source){const t=Array.from(this._values,(([t])=>t));this._values.clear(),e.fire(new bH(t))}else{const i=[];for(const e of t.affectedKeys){const t=`config.${e}`,s=this._values.findSuperstr(t);void 0!==s&&(i.push(...Vt.map(s,(([t])=>t))),this._values.deleteSuperstr(t)),this._values.has(t)&&(i.push(t),this._values.delete(t))}e.fire(new bH(i))}}))}dispose(){this._listener.dispose()}getValue(t){if(0!==t.indexOf(mH._keyPrefix))return super.getValue(t);if(this._values.has(t))return this._values.get(t);const i=t.substr(mH._keyPrefix.length),e=this._configurationService.getValue(i);let s;switch(typeof e){case"number":case"boolean":case"string":s=e;break;default:s=Array.isArray(e)?JSON.stringify(e):e}return this._values.set(t,s),s}setValue(t,i){return super.setValue(t,i)}removeValue(t){return super.removeValue(t)}}mH._keyPrefix="config.";class wH{constructor(t,i,e){this._service=t,this._key=i,this._defaultValue=e,this.reset()}set(t){this._service.setContext(this._key,t)}reset(){void 0===this._defaultValue?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class vH{constructor(t){this.key=t}affectsSome(t){return t.has(this.key)}allKeysContainedIn(t){return this.affectsSome(t)}}class bH{constructor(t){this.keys=t}affectsSome(t){for(const i of this.keys)if(t.has(i))return!0;return!1}allKeysContainedIn(t){return this.keys.every((i=>t.has(i)))}}class yH{constructor(t){this.events=t}affectsSome(t){for(const i of this.events)if(i.affectsSome(t))return!0;return!1}allKeysContainedIn(t){return this.events.every((i=>i.allKeysContainedIn(t)))}}class kH extends ie{constructor(t){super(),this._onDidChangeContext=this._register(new ge({merge:t=>new yH(t)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=t}createKey(t,i){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new wH(this,t,i)}bufferChangeEvents(t){this._onDidChangeContext.pause();try{t()}finally{this._onDidChangeContext.resume()}}createScoped(t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new CH(this,t)}contextMatchesRules(t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const i=this.getContextValuesContainer(this._myContextId);return!t||t.evaluate(i)}getContextKeyValue(t){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(t)}setContext(t,i){if(this._isDisposed)return;const e=this.getContextValuesContainer(this._myContextId);e&&e.setValue(t,i)&&this._onDidChangeContext.fire(new vH(t))}removeContext(t){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(t)&&this._onDidChangeContext.fire(new vH(t))}getContext(t){return this._isDisposed?gH.INSTANCE:this.getContextValuesContainer(function(t){for(;t;){if(t.hasAttribute(fH)){const i=t.getAttribute(fH);return i?parseInt(i,10):NaN}t=t.parentElement}return 0}(t))}dispose(){super.dispose(),this._isDisposed=!0}}let xH=class extends kH{constructor(t){super(0),this._contexts=new Map,this._lastContextId=0;const i=this._register(new mH(this._myContextId,t,this._onDidChangeContext));this._contexts.set(this._myContextId,i)}getContextValuesContainer(t){return this._isDisposed?gH.INSTANCE:this._contexts.get(t)||gH.INSTANCE}createChildContext(t=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const i=++this._lastContextId;return this._contexts.set(i,new pH(i,this.getContextValuesContainer(t))),i}disposeContext(t){this._isDisposed||this._contexts.delete(t)}};xH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,pd)],xH);class CH extends kH{constructor(t,i){if(super(t.createChildContext()),this._parentChangeListener=this._register(new ee),this._parent=t,this._updateParentChangeListener(),this._domNode=i,this._domNode.hasAttribute(fH)){let t="";this._domNode.classList&&(t=Array.from(this._domNode.classList.values()).join(", ")),console.error("Element already has context attribute"+(t?": "+t:""))}this._domNode.setAttribute(fH,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext((t=>{const i=this._parent.getContextValuesContainer(this._myContextId);t.allKeysContainedIn(new Set(Object.keys(i.value)))||this._onDidChangeContext.fire(t)}))}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(fH),super.dispose())}getContextValuesContainer(t){return this._isDisposed?gH.INSTANCE:this._parent.getContextValuesContainer(t)}createChildContext(t=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(t)}disposeContext(t){this._isDisposed||this._parent.disposeContext(t)}}Dr.registerCommand("_setContext",(function(t,i,e){t.get(ah).createKey(String(i),function(t){return X(t,(t=>"object"==typeof t&&1===t.$mid?ms.revive(t).toString():t instanceof ms?t.toString():void 0))}(e))})),Dr.registerCommand({id:"getContextKeyInfo",handler:()=>[...ch.all()].sort(((t,i)=>t.key.localeCompare(i.key))),metadata:{description:rt(0,"A command that returns information about context keys"),args:[]}}),Dr.registerCommand("_generateContextKeyInfo",(function(){const t=[],i=new Set;for(const e of ch.all())i.has(e.key)||(i.add(e.key),t.push(e));t.sort(((t,i)=>t.key.localeCompare(i.key))),console.log(JSON.stringify(t,void 0,2))}));class SH{constructor(t,i){this.key=t,this.data=i,this.incoming=new Map,this.outgoing=new Map}}class DH{constructor(t){this._hashFn=t,this._nodes=new Map}roots(){const t=[];for(const i of this._nodes.values())0===i.outgoing.size&&t.push(i);return t}insertEdge(t,i){const e=this.lookupOrInsertNode(t),s=this.lookupOrInsertNode(i);e.outgoing.set(s.key,s),s.incoming.set(e.key,e)}removeNode(t){const i=this._hashFn(t);this._nodes.delete(i);for(const t of this._nodes.values())t.outgoing.delete(i),t.incoming.delete(i)}lookupOrInsertNode(t){const i=this._hashFn(t);let e=this._nodes.get(i);return e||(e=new SH(i,t),this._nodes.set(i,e)),e}isEmpty(){return 0===this._nodes.size}toString(){const t=[];for(const[i,e]of this._nodes)t.push(`${i}\n\t(-> incoming)[${[...e.incoming.keys()].join(", ")}]\n\t(outgoing ->)[${[...e.outgoing.keys()].join(",")}]\n`);return t.join("\n")}findCycleSlow(){for(const[t,i]of this._nodes){const e=new Set([t]),s=this._findCycle(i,e);if(s)return s}}_findCycle(t,i){for(const[e,s]of t.outgoing){if(i.has(e))return[...i,e].join(" -> ");i.add(e);const t=this._findCycle(s,i);if(t)return t;i.delete(e)}}}class EH extends Error{constructor(t){var i;super("cyclic dependency between services"),this.message=null!==(i=t.findCycleSlow())&&void 0!==i?i:`UNABLE to detect cycle, dumping graph: \n${t.toString()}`}}class AH{constructor(t=new KF,i=!1,e,s=!1){var n;this._services=t,this._strict=i,this._parent=e,this._enableTracing=s,this._activeInstantiations=new Set,this._services.set(ur,this),this._globalGraph=s?null!==(n=null==e?void 0:e._globalGraph)&&void 0!==n?n:new DH((t=>t)):void 0}createChild(t){return new AH(t,this._strict,this,this._enableTracing)}invokeFunction(t,...i){const e=MH.traceInvocation(this._enableTracing,t);let s=!1;try{return t({get:t=>{if(s)throw Ui("service accessor is only valid during the invocation of its target method");const i=this._getOrCreateServiceInstance(t,e);if(!i)throw new Error(`[invokeFunction] unknown service '${t}'`);return i}},...i)}finally{s=!0,e.stop()}}createInstance(t,...i){let e,s;return t instanceof kd?(e=MH.traceCreation(this._enableTracing,t.ctor),s=this._createInstance(t.ctor,t.staticArguments.concat(i),e)):(e=MH.traceCreation(this._enableTracing,t),s=this._createInstance(t,i,e)),e.stop(),s}_createInstance(t,i=[],e){const s=lr.getServiceDependencies(t).sort(((t,i)=>t.index-i.index)),n=[];for(const i of s){const s=this._getOrCreateServiceInstance(i.id,e);s||this._throwIfStrict(`[createInstance] ${t.name} depends on UNKNOWN service ${i.id}.`,!1),n.push(s)}const o=s.length>0?s[0].index:i.length;if(i.length!==o){console.trace(`[createInstance] First service dependency of ${t.name} at position ${o+1} conflicts with ${i.length} static arguments`);const e=o-i.length;i=e>0?i.concat(new Array(e)):i.slice(0,o)}return Reflect.construct(t,i.concat(n))}_setServiceInstance(t,i){if(this._services.get(t)instanceof kd)this._services.set(t,i);else{if(!this._parent)throw new Error("illegalState - setting UNKNOWN service instance");this._parent._setServiceInstance(t,i)}}_getServiceInstanceOrDescriptor(t){const i=this._services.get(t);return!i&&this._parent?this._parent._getServiceInstanceOrDescriptor(t):i}_getOrCreateServiceInstance(t,i){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(t));const e=this._getServiceInstanceOrDescriptor(t);return e instanceof kd?this._safeCreateAndCacheServiceInstance(t,e,i.branch(t,!0)):(i.branch(t,!1),e)}_safeCreateAndCacheServiceInstance(t,i,e){if(this._activeInstantiations.has(t))throw new Error(`illegal state - RECURSIVELY instantiating service '${t}'`);this._activeInstantiations.add(t);try{return this._createAndCacheServiceInstance(t,i,e)}finally{this._activeInstantiations.delete(t)}}_createAndCacheServiceInstance(t,i,e){var s;const n=new DH((t=>t.id.toString()));let o=0;const r=[{id:t,desc:i,_trace:e}];for(;r.length;){const i=r.pop();if(n.lookupOrInsertNode(i),o++>1e3)throw new EH(n);for(const e of lr.getServiceDependencies(i.desc.ctor)){const o=this._getServiceInstanceOrDescriptor(e.id);if(o||this._throwIfStrict(`[createInstance] ${t} depends on ${e.id} which is NOT registered.`,!0),null===(s=this._globalGraph)||void 0===s||s.insertEdge(String(i.id),String(e.id)),o instanceof kd){const t={id:e.id,desc:o,_trace:i._trace.branch(e.id,!0)};n.insertEdge(i,t),r.push(t)}}}for(;;){const t=n.roots();if(0===t.length){if(!n.isEmpty())throw new EH(n);break}for(const{data:i}of t){if(this._getServiceInstanceOrDescriptor(i.id)instanceof kd){const t=this._createServiceInstanceWithOwner(i.id,i.desc.ctor,i.desc.staticArguments,i.desc.supportsDelayedInstantiation,i._trace);this._setServiceInstance(i.id,t)}n.removeNode(i)}}return this._getServiceInstanceOrDescriptor(t)}_createServiceInstanceWithOwner(t,i,e=[],s,n){if(this._services.get(t)instanceof kd)return this._createServiceInstance(t,i,e,s,n);if(this._parent)return this._parent._createServiceInstanceWithOwner(t,i,e,s,n);throw new Error(`illegalState - creating UNKNOWN service instance ${i.name}`)}_createServiceInstance(t,i,e=[],s,n){if(s){const s=new AH(void 0,this._strict,this,this._enableTracing);s._globalGraphImplicitDependency=String(t);const o=new Map,r=new vc((()=>{const t=s._createInstance(i,e,n);for(const[i,e]of o){const s=t[i];if("function"==typeof s)for(const i of e)s.apply(t,i)}return o.clear(),t}));return new Proxy(Object.create(null),{get(t,i){if(!r.isInitialized&&"string"==typeof i&&(i.startsWith("onDid")||i.startsWith("onWill"))){let t=o.get(i);return t||(t=new qt,o.set(i,t)),(i,e,s)=>Xi(t.push([i,e,s]))}if(i in t)return t[i];const e=r.value;let s=e[i];return"function"!=typeof s||(s=s.bind(e),t[i]=s),s},set:(t,i,e)=>(r.value[i]=e,!0),getPrototypeOf:()=>i.prototype})}return this._createInstance(i,e,n)}_throwIfStrict(t,i){if(i&&console.warn(t),this._strict)throw new Error(t)}}class MH{static traceInvocation(t,i){return t?new MH(2,i.name||(new Error).stack.split("\n").slice(3,4).join("\n")):MH._None}static traceCreation(t,i){return t?new MH(1,i.name):MH._None}constructor(t,i){this.type=t,this.name=i,this._start=Date.now(),this._dep=[]}branch(t,i){const e=new MH(3,t.toString());return this._dep.push([t,i,e]),e}stop(){const t=Date.now()-this._start;MH._totals+=t;let i=!1;const e=[`${1===this.type?"CREATE":"CALL"} ${this.name}`,`${function t(e,s){const n=[],o=new Array(e+1).join("\t");for(const[r,h,c]of s._dep)if(h&&c){i=!0,n.push(`${o}CREATES -> ${r}`);const s=t(e+1,c);s&&n.push(s)}else n.push(`${o}uses -> ${r}`);return n.join("\n")}(1,this)}`,`DONE, took ${t.toFixed(2)}ms (grand total ${MH._totals.toFixed(2)}ms)`];(t>2||i)&&MH.all.add(e.join("\n"))}}MH.all=new Set,MH._None=new class extends MH{constructor(){super(0,null)}stop(){}branch(){return this}},MH._totals=0;const LH=new Set([ka.inMemory,ka.vscodeSourceControl,ka.walkThrough,ka.walkThroughSnippet]);class FH{constructor(){this._byResource=new _p,this._byOwner=new Map}set(t,i,e){let s=this._byResource.get(t);s||(s=new Map,this._byResource.set(t,s)),s.set(i,e);let n=this._byOwner.get(i);n||(n=new _p,this._byOwner.set(i,n)),n.set(t,e)}get(t,i){const e=this._byResource.get(t);return null==e?void 0:e.get(i)}delete(t,i){let e=!1,s=!1;const n=this._byResource.get(t);n&&(e=n.delete(i));const o=this._byOwner.get(i);if(o&&(s=o.delete(t)),e!==s)throw new Error("illegal state");return e&&s}values(t){var i,e,s,n;return"string"==typeof t?null!==(e=null===(i=this._byOwner.get(t))||void 0===i?void 0:i.values())&&void 0!==e?e:Vt.empty():ms.isUri(t)?null!==(n=null===(s=this._byResource.get(t))||void 0===s?void 0:s.values())&&void 0!==n?n:Vt.empty():Vt.map(Vt.concat(...this._byOwner.values()),(t=>t[1]))}}class TH{constructor(t){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new _p,this._service=t,this._subscription=t.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(t){for(const i of t){const t=this._data.get(i);t&&this._substract(t);const e=this._resourceStats(i);this._add(e),this._data.set(i,e)}}_resourceStats(t){const i={errors:0,warnings:0,infos:0,unknowns:0};if(LH.has(t.scheme))return i;for(const{severity:e}of this._service.read({resource:t}))e===uP.Error?i.errors+=1:e===uP.Warning?i.warnings+=1:e===uP.Info?i.infos+=1:i.unknowns+=1;return i}_substract(t){this.errors-=t.errors,this.warnings-=t.warnings,this.infos-=t.infos,this.unknowns-=t.unknowns}_add(t){this.errors+=t.errors,this.warnings+=t.warnings,this.infos+=t.infos,this.unknowns+=t.unknowns}}class RH{constructor(){this._onMarkerChanged=new me({delay:0,merge:RH._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new FH,this._stats=new TH(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(t,i){for(const e of i||[])this.changeOne(t,e,[])}changeOne(t,i,e){if(b(e))this._data.delete(i,t)&&this._onMarkerChanged.fire([i]);else{const s=[];for(const n of e){const e=RH._toMarker(t,i,n);e&&s.push(e)}this._data.set(i,t,s),this._onMarkerChanged.fire([i])}}static _toMarker(t,i,e){let{code:s,severity:n,message:o,source:r,startLineNumber:h,startColumn:c,endLineNumber:a,endColumn:l,relatedInformation:u,tags:d}=e;if(o)return h=h>0?h:1,c=c>0?c:1,a=a>=h?a:h,l=l>0?l:c,{resource:i,owner:t,code:s,severity:n,message:o,source:r,startLineNumber:h,startColumn:c,endLineNumber:a,endColumn:l,relatedInformation:u,tags:d}}changeAll(t,i){const e=[],s=this._data.values(t);if(s)for(const i of s){const s=Vt.first(i);s&&(e.push(s.resource),this._data.delete(s.resource,t))}if(y(i)){const s=new _p;for(const{resource:n,marker:o}of i){const i=RH._toMarker(t,n,o);if(!i)continue;const r=s.get(n);r?r.push(i):(s.set(n,[i]),e.push(n))}for(const[i,e]of s)this._data.set(i,t,e)}e.length>0&&this._onMarkerChanged.fire(e)}read(t=Object.create(null)){let{owner:i,resource:e,severities:s,take:n}=t;if((!n||n<0)&&(n=-1),i&&e){const t=this._data.get(e,i);if(t){const i=[];for(const e of t)if(RH._accept(e,s)){const t=i.push(e);if(n>0&&t===n)break}return i}return[]}if(i||e){const t=this._data.values(null!=e?e:i),o=[];for(const i of t)for(const t of i)if(RH._accept(t,s)){const i=o.push(t);if(n>0&&i===n)return o}return o}{const t=[];for(const i of this._data.values())for(const e of i)if(RH._accept(e,s)){const i=t.push(e);if(n>0&&i===n)return t}return t}}static _accept(t,i){return void 0===i||(i&t.severity)===t.severity}static _merge(t){const i=new _p;for(const e of t)for(const t of e)i.set(t,!0);return Array.from(i.keys())}}class OH extends ie{constructor(){super(...arguments),this._configurationModel=new cO}get configurationModel(){return this._configurationModel}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=new cO;const t=Dh.as(Md).getConfigurationProperties();this.updateConfigurationModel(Object.keys(t),t)}updateConfigurationModel(t,i){const e=this.getConfigurationDefaultOverrides();for(const s of t){const t=e[s],n=i[s];void 0!==t?this._configurationModel.addValue(s,t):n?this._configurationModel.addValue(s,n.default):this._configurationModel.removeValue(s)}}}const IH=dr("audioCue");class _H{static register(t){return new _H(t.fileName)}constructor(t){this.fileName=t}}_H.error=_H.register({fileName:"error.mp3"}),_H.warning=_H.register({fileName:"warning.mp3"}),_H.foldedArea=_H.register({fileName:"foldedAreas.mp3"}),_H.break=_H.register({fileName:"break.mp3"}),_H.quickFixes=_H.register({fileName:"quickFixes.mp3"}),_H.taskCompleted=_H.register({fileName:"taskCompleted.mp3"}),_H.taskFailed=_H.register({fileName:"taskFailed.mp3"}),_H.terminalBell=_H.register({fileName:"terminalBell.mp3"}),_H.diffLineInserted=_H.register({fileName:"diffLineInserted.mp3"}),_H.diffLineDeleted=_H.register({fileName:"diffLineDeleted.mp3"}),_H.diffLineModified=_H.register({fileName:"diffLineModified.mp3"}),_H.chatRequestSent=_H.register({fileName:"chatRequestSent.mp3"}),_H.chatResponsePending=_H.register({fileName:"chatResponsePending.mp3"}),_H.chatResponseReceived1=_H.register({fileName:"chatResponseReceived1.mp3"}),_H.chatResponseReceived2=_H.register({fileName:"chatResponseReceived2.mp3"}),_H.chatResponseReceived3=_H.register({fileName:"chatResponseReceived3.mp3"}),_H.chatResponseReceived4=_H.register({fileName:"chatResponseReceived4.mp3"}),_H.clear=_H.register({fileName:"clear.mp3"}),_H.save=_H.register({fileName:"save.mp3"}),_H.format=_H.register({fileName:"format.mp3"});class NH{constructor(t){this.randomOneOf=t}}class BH{static register(t){const i=new NH("randomOneOf"in t.sound?t.sound.randomOneOf:[t.sound]),e=new BH(i,t.name,t.settingsKey);return BH._audioCues.add(e),e}constructor(t,i,e){this.sound=t,this.name=i,this.settingsKey=e}}BH._audioCues=new Set,BH.error=BH.register({name:rt(0,"Error on Line"),sound:_H.error,settingsKey:"audioCues.lineHasError"}),BH.warning=BH.register({name:rt(0,"Warning on Line"),sound:_H.warning,settingsKey:"audioCues.lineHasWarning"}),BH.foldedArea=BH.register({name:rt(0,"Folded Area on Line"),sound:_H.foldedArea,settingsKey:"audioCues.lineHasFoldedArea"}),BH.break=BH.register({name:rt(0,"Breakpoint on Line"),sound:_H.break,settingsKey:"audioCues.lineHasBreakpoint"}),BH.inlineSuggestion=BH.register({name:rt(0,"Inline Suggestion on Line"),sound:_H.quickFixes,settingsKey:"audioCues.lineHasInlineSuggestion"}),BH.terminalQuickFix=BH.register({name:rt(0,"Terminal Quick Fix"),sound:_H.quickFixes,settingsKey:"audioCues.terminalQuickFix"}),BH.onDebugBreak=BH.register({name:rt(0,"Debugger Stopped on Breakpoint"),sound:_H.break,settingsKey:"audioCues.onDebugBreak"}),BH.noInlayHints=BH.register({name:rt(0,"No Inlay Hints on Line"),sound:_H.error,settingsKey:"audioCues.noInlayHints"}),BH.taskCompleted=BH.register({name:rt(0,"Task Completed"),sound:_H.taskCompleted,settingsKey:"audioCues.taskCompleted"}),BH.taskFailed=BH.register({name:rt(0,"Task Failed"),sound:_H.taskFailed,settingsKey:"audioCues.taskFailed"}),BH.terminalCommandFailed=BH.register({name:rt(0,"Terminal Command Failed"),sound:_H.error,settingsKey:"audioCues.terminalCommandFailed"}),BH.terminalBell=BH.register({name:rt(0,"Terminal Bell"),sound:_H.terminalBell,settingsKey:"audioCues.terminalBell"}),BH.notebookCellCompleted=BH.register({name:rt(0,"Notebook Cell Completed"),sound:_H.taskCompleted,settingsKey:"audioCues.notebookCellCompleted"}),BH.notebookCellFailed=BH.register({name:rt(0,"Notebook Cell Failed"),sound:_H.taskFailed,settingsKey:"audioCues.notebookCellFailed"}),BH.diffLineInserted=BH.register({name:rt(0,"Diff Line Inserted"),sound:_H.diffLineInserted,settingsKey:"audioCues.diffLineInserted"}),BH.diffLineDeleted=BH.register({name:rt(0,"Diff Line Deleted"),sound:_H.diffLineDeleted,settingsKey:"audioCues.diffLineDeleted"}),BH.diffLineModified=BH.register({name:rt(0,"Diff Line Modified"),sound:_H.diffLineModified,settingsKey:"audioCues.diffLineModified"}),BH.chatRequestSent=BH.register({name:rt(0,"Chat Request Sent"),sound:_H.chatRequestSent,settingsKey:"audioCues.chatRequestSent"}),BH.chatResponseReceived=BH.register({name:rt(0,"Chat Response Received"),settingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[_H.chatResponseReceived1,_H.chatResponseReceived2,_H.chatResponseReceived3,_H.chatResponseReceived4]}}),BH.chatResponsePending=BH.register({name:rt(0,"Chat Response Pending"),sound:_H.chatResponsePending,settingsKey:"audioCues.chatResponsePending"}),BH.clear=BH.register({name:rt(0,"Clear"),sound:_H.clear,settingsKey:"audioCues.clear"}),BH.save=BH.register({name:rt(0,"Save"),sound:_H.save,settingsKey:"audioCues.save"}),BH.format=BH.register({name:rt(0,"Format"),sound:_H.format,settingsKey:"audioCues.format"});class PH extends ie{constructor(t,i=[]){super(),this.logger=new qh([t,...i]),this._register(t.onDidChangeLogLevel((t=>this.setLevel(t))))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(t){this.logger.setLevel(t)}getLevel(){return this.logger.getLevel()}trace(t,...i){this.logger.trace(t,...i)}debug(t,...i){this.logger.debug(t,...i)}info(t,...i){this.logger.info(t,...i)}warn(t,...i){this.logger.warn(t,...i)}error(t,...i){this.logger.error(t,...i)}}const $H=[];function WH(t){$H.push(t)}function jH(){return $H.slice(0)}var zH=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},HH=function(t,i){return function(e,s){i(e,s,t)}};class VH{constructor(t){this.disposed=!1,this.model=t,this._onWillDispose=new fe}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let UH=class{constructor(t){this.modelService=t}createModelReference(t){const i=this.modelService.getModel(t);return i?Promise.resolve(new ne(new VH(i))):Promise.reject(new Error("Model not found"))}};UH=zH([HH(0,pr)],UH);class qH{show(){return qH.NULL_PROGRESS_RUNNER}async showWhile(t,i){await t}}qH.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};class KH{info(t){return this.notify({severity:ZF.Info,message:t})}warn(t){return this.notify({severity:ZF.Warning,message:t})}error(t){return this.notify({severity:ZF.Error,message:t})}notify(t){switch(t.severity){case ZF.Error:console.error(t.message);break;case ZF.Warning:console.warn(t.message);break;default:console.log(t.message)}return KH.NO_OP}prompt(t,i,e,s){return KH.NO_OP}status(t,i){return ie.None}}KH.NO_OP=new class{};let GH=class{constructor(t){this._onWillExecuteCommand=new fe,this._onDidExecuteCommand=new fe,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=t}executeCommand(t,...i){const e=Dr.getCommand(t);if(!e)return Promise.reject(new Error(`command '${t}' not found`));try{this._onWillExecuteCommand.fire({commandId:t,args:i});const s=this._instantiationService.invokeFunction.apply(this._instantiationService,[e.handler,...i]);return this._onDidExecuteCommand.fire({commandId:t,args:i}),Promise.resolve(s)}catch(t){return Promise.reject(t)}}};GH=zH([HH(0,ur)],GH);let ZH=class extends bO{constructor(t,i,e,s,n,o){super(t,i,e,s,n),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const r=t=>{const i=new te;i.add(Va(t,Ll.KEY_DOWN,(t=>{const i=new Qh(t);this._dispatch(i,i.target)&&(i.preventDefault(),i.stopPropagation())}))),i.add(Va(t,Ll.KEY_UP,(t=>{const i=new Qh(t);this._singleModifierDispatch(i,i.target)&&i.preventDefault()}))),this._domNodeListeners.push(new QH(t,i))},h=t=>{for(let i=0;i{t.getOption(61)||r(t.getContainerDomNode())};this._register(o.onCodeEditorAdd(c)),this._register(o.onCodeEditorRemove((t=>{t.getOption(61)||h(t.getContainerDomNode())}))),o.listCodeEditors().forEach(c);const a=t=>{r(t.getContainerDomNode())};this._register(o.onDiffEditorAdd(a)),this._register(o.onDiffEditorRemove((t=>{h(t.getContainerDomNode())}))),o.listDiffEditors().forEach(a)}addDynamicKeybinding(t,i,e,s){return Yi(Dr.registerCommand(t,e),this.addDynamicKeybindings([{keybinding:i,command:t,when:s}]))}addDynamicKeybindings(t){const i=t.map((t=>{var i;return{keybinding:gh(t.keybinding,_t),command:null!==(i=t.command)&&void 0!==i?i:null,commandArgs:t.commandArgs,when:t.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}}));return this._dynamicKeybindings=this._dynamicKeybindings.concat(i),this.updateResolver(),Xi((()=>{for(let t=0;tthis._log(t)))}return this._cachedResolver}_documentHasFocus(){return $n.document.hasFocus()}_toNormalizedKeybindingItems(t,i){const e=[];let s=0;for(const n of t){const t=n.when||void 0,o=n.keybinding;if(o){const r=FO.resolveKeybinding(o,_t);for(const o of r)e[s++]=new kO(o,n.command,n.commandArgs,t,i,null,!1)}else e[s++]=new kO(void 0,n.command,n.commandArgs,t,i,null,!1)}return e}resolveKeyboardEvent(t){const i=new wh(t.ctrlKey,t.shiftKey,t.altKey,t.metaKey,t.keyCode);return new FO([i],_t)}};ZH=zH([HH(0,ah),HH(1,Sr),HH(2,Wh),HH(3,JF),HH(4,jh),HH(5,fr)],ZH);class QH extends ie{constructor(t,i){super(),this.domNode=t,this._register(i)}}function JH(t){return t&&"object"==typeof t&&(!t.overrideIdentifier||"string"==typeof t.overrideIdentifier)&&(!t.resource||t.resource instanceof ms)}class YH{constructor(){this._onDidChangeConfiguration=new fe,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const t=new OH;this._configuration=new uO(t.reload(),new cO,new cO,new cO),t.dispose()}getValue(t,i){const e="string"==typeof t?t:void 0,s=JH(t)?t:JH(i)?i:{};return this._configuration.getValue(e,s,void 0)}updateValues(t){const i={data:this._configuration.toData()},e=[];for(const i of t){const[t,s]=i;this.getValue(t)!==s&&(this._configuration.updateValue(t,s),e.push(t))}if(e.length>0){const t=new dO({keys:e,overrides:[]},i,this._configuration);t.source=8,t.sourceConfig=null,this._onDidChangeConfiguration.fire(t)}return Promise.resolve()}updateValue(t,i,e,s){return this.updateValues([[t,i]])}inspect(t,i={}){return this._configuration.inspect(t,i,void 0)}}let XH=class{constructor(t,i,e){this.configurationService=t,this.modelService=i,this.languageService=e,this._onDidChangeConfiguration=new fe,this.configurationService.onDidChangeConfiguration((t=>{this._onDidChangeConfiguration.fire({affectedKeys:t.affectedKeys,affectsConfiguration:(i,e)=>t.affectsConfiguration(e)})}))}getValue(t,i,e){const s=As.isIPosition(i)?i:null,n=s?"string"==typeof e?e:void 0:"string"==typeof i?i:void 0,o=t?this.getLanguage(t,s):void 0;return void 0===n?this.configurationService.getValue({resource:t,overrideIdentifier:o}):this.configurationService.getValue(n,{resource:t,overrideIdentifier:o})}getLanguage(t,i){const e=this.modelService.getModel(t);return e?i?e.getLanguageIdAtPosition(i.lineNumber,i.column):e.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(t)}};XH=zH([HH(0,pd),HH(1,pr),HH(2,yd)],XH);let tV=class{constructor(t){this.configurationService=t}getEOL(t,i){const e=this.configurationService.getValue("files.eol",{overrideIdentifier:i,resource:t});return e&&"string"==typeof e&&"auto"!==e?e:Dt||St?"\n":"\r\n"}};tV=zH([HH(0,pd)],tV);class iV{constructor(){const t=ms.from({scheme:iV.SCHEME,authority:"model",path:"/"});this.workspace={id:UO,folders:[new VO({uri:t,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(t){return t&&t.scheme===iV.SCHEME?this.workspace.folders[0]:null}}function eV(t,i,e){if(!i)return;if(!(t instanceof YH))return;const s=[];Object.keys(i).forEach((t=>{(function(t){return oO()[`editor.${t}`]||!1})(t)&&s.push([`editor.${t}`,i[t]]),e&&function(t){return oO()[`diffEditor.${t}`]||!1}(t)&&s.push([`diffEditor.${t}`,i[t]])})),s.length>0&&t.updateValues(s)}iV.SCHEME="inmemory";let sV=class{constructor(t){this._modelService=t}hasPreviewHandler(){return!1}async apply(t,i){const e=Array.isArray(t)?t:JR.convert(t),s=new Map;for(const t of e){if(!(t instanceof YR))throw new Error("bad edit - only text edits are supported");const i=this._modelService.getModel(t.resource);if(!i)throw new Error("bad edit - model not found");if("number"==typeof t.versionId&&i.getVersionId()!==t.versionId)throw new Error("bad state - model changed in the meantime");let e=s.get(i);e||(e=[],s.set(i,e)),e.push(rO.replaceMove(Ms.lift(t.textEdit.range),t.textEdit.text))}let n=0,o=0;for(const[t,i]of s)t.pushStackElement(),t.pushEditOperations([],i,(()=>[])),t.pushStackElement(),o+=1,n+=i.length;return{ariaSummary:qn(XO.bulkEditServiceSummary,n,o),isApplied:n>0}}};sV=zH([HH(0,pr)],sV);let nV=class extends cI{constructor(t,i){super(t),this._codeEditorService=i}showContextView(t,i,e){if(!i){const t=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();t&&(i=t.getContainerDomNode())}return super.showContextView(t,i,e)}};nV=zH([HH(0,PT),HH(1,fr)],nV);let oV=class extends iP{constructor(t,i,e,s,n,o){super(t,i,e,s,n,o),this.configure({blockMouse:!1})}};var rV;let hV,cV,aV;oV=zH([HH(0,Wh),HH(1,JF),HH(2,iI),HH(3,Yx),HH(4,Oh),HH(5,ah)],oV),Cd(pd,YH,0),Cd(fg,XH,0),Cd(pg,tV,0),Cd(jO,iV,0),Cd(TO,class{getUriLabel(t,i){return"file"===t.scheme?t.fsPath:t.path}getUriBasenameLabel(t){return uA(t)}},0),Cd(Wh,class{publicLog2(){}},0),Cd(HT,class{async confirm(t){return{confirmed:this.doConfirm(t.message,t.detail),checkboxChecked:!1}}doConfirm(t,i){let e=t;return i&&(e=e+"\n\n"+i),$n.confirm(e)}async prompt(t){var i,e;let s;if(this.doConfirm(t.message,t.detail)){const n=[...null!==(i=t.buttons)&&void 0!==i?i:[]];t.cancelButton&&"string"!=typeof t.cancelButton&&"boolean"!=typeof t.cancelButton&&n.push(t.cancelButton),s=await(null===(e=n[0])||void 0===e?void 0:e.run({checkboxChecked:!1}))}return{result:s}}async error(t,i){await this.prompt({type:ZF.Error,message:t,detail:i})}},0),Cd(oR,class{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}},0),Cd(JF,KH,0),Cd(fP,RH,0),Cd(yd,class extends vI{constructor(){super()}},0),Cd(Yz,class extends ie{constructor(){super(),this._onColorThemeChange=this._register(new fe),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new fe),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new jz,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(zz,Jz(zz)),this._knownThemes.set(Hz,Jz(Hz)),this._knownThemes.set(Vz,Jz(Vz)),this._knownThemes.set(Uz,Jz(Uz));const t=this._register(function(t){const i=new te,e=i.add(new fe),s=Nz();return i.add(s.onDidChange((()=>e.fire()))),t&&i.add(t.onDidProductIconThemeChange((()=>e.fire()))),{dispose:()=>i.dispose(),onDidChange:e.event,getCSS(){const i=t?t.getProductIconTheme():new jz,e={},n=t=>{const s=i.getIcon(t);if(!s)return;const n=s.font;return n?(e[n.id]=n.definition,`.codicon-${t.id}:before { content: '${s.fontCharacter}'; font-family: ${Ul(n.id)}; }`):`.codicon-${t.id}:before { content: '${s.fontCharacter}'; }`},o=[];for(const t of s.getIcons()){const i=n(t);i&&o.push(i)}for(const t in e){const i=e[t],s=i.weight?`font-weight: ${i.weight};`:"",n=i.style?`font-style: ${i.style};`:"",r=i.src.map((t=>`${Vl(t.location)} format('${t.format}')`)).join(", ");o.push(`@font-face { src: ${r}; font-family: ${Ul(t)};${s}${n} font-display: block; }`)}return o.join("\n")}}}(this));this._codiconCSS=t.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(zz),this._onOSSchemeChanged(),this._register(t.onDidChange((()=>{this._codiconCSS=t.getCSS(),this._updateCSS()}))),zo("(forced-colors: active)",(()=>{this._onOSSchemeChanged()}))}registerEditorContainer(t){return dl(t)?this._registerShadowDomContainer(t):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=vl(void 0,(t=>{t.className="monaco-colors",t.textContent=this._allCSS})),this._styleElements.push(this._globalStyleElement)),ie.None}_registerShadowDomContainer(t){const i=vl(t,(t=>{t.className="monaco-colors",t.textContent=this._allCSS}));return this._styleElements.push(i),{dispose:()=>{for(let t=0;t{i.base===t&&i.notifyBaseUpdated()})),this._theme.themeName===t&&this.setTheme(t)}getColorTheme(){return this._theme}setColorMapOverride(t){this._colorMapOverride=t,this._updateThemeOrColorMap()}setTheme(t){let i;i=this._knownThemes.has(t)?this._knownThemes.get(t):this._knownThemes.get(zz),this._updateActualTheme(i)}_updateActualTheme(t){t&&this._theme!==t&&(this._theme=t,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const t=$n.matchMedia("(forced-colors: active)").matches;if(t!==_y(this._theme.type)){let i;i=Ny(this._theme.type)?t?Vz:Hz:t?Uz:zz,this._updateActualTheme(this._knownThemes.get(i))}}}setAutoDetectHighContrast(t){this._autoDetectHighContrast=t,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const t=[],i={},e={addRule:e=>{i[e]||(t.push(e),i[e]=!0)}};Kz.getThemingParticipants().forEach((t=>t(this._theme,e,this._environment)));const s=[];for(const t of qz.getColors()){const i=this._theme.getColor(t.id,!0);i&&s.push(`${iw(t.id)}: ${i.toString()};`)}e.addRule(`.monaco-editor, .monaco-diff-editor, .monaco-component { ${s.join("\n")} }`);const n=this._colorMapOverride||this._theme.tokenTheme.getColorMap();e.addRule(function(t){const i=[];for(let e=1,s=t.length;et.textContent=this._allCSS))}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}},0),Cd(jh,class extends PH{constructor(){super(new Uh)}},0),Cd(pr,CP,0),Cd(Im,gP,0),Cd(ah,xH,0),Cd(RO,class{withProgress(t,i,e){return i({report:()=>{}})}},0),Cd(IO,qH,0),Cd(bB,class extends kB{constructor(){super(),this.applicationStorage=this._register(new mB(new wB,{hint:pB.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new mB(new wB,{hint:pB.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new mB(new wB,{hint:pB.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage((t=>this.emitDidChangeValue(1,t)))),this._register(this.profileStorage.onDidChangeStorage((t=>this.emitDidChangeValue(0,t)))),this._register(this.applicationStorage.onDidChangeStorage((t=>this.emitDidChangeValue(-1,t))))}getStorage(t){switch(t){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}},0),Cd(lP,vg,0),Cd(QR,sV,0),Cd(tI,class{constructor(){this._neverEmitter=new fe,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}},0),Cd(gr,UH,0),Cd(zm,tH,0),Cd(bW,class{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new te,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(t){var i,e;t!==this._lastFocusedWidget&&(null===(i=this._lastFocusedWidget)||void 0===i||i.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=t,null===(e=this._lastFocusedWidget)||void 0===e||e.getHTMLElement().classList.add("last-focused"))}register(t,i){if(this._hasCreatedStyleController||(this._hasCreatedStyleController=!0,new KN(vl(),"").style(LB)),this.lists.some((i=>i.widget===t)))throw new Error("Cannot register the same widget multiple times");const e={widget:t,extraContextKeys:i};return this.lists.push(e),gl(t.getHTMLElement())&&this.setLastFocusedList(t),Yi(t.onDidFocus((()=>this.setLastFocusedList(t))),Xi((()=>this.lists.splice(this.lists.indexOf(e),1))),t.onDidDispose((()=>{this.lists=this.lists.filter((t=>t!==e)),this._lastFocusedWidget===t&&this.setLastFocusedList(void 0)})))}dispose(){this.disposables.dispose()}},0),Cd(Sr,GH,0),Cd(Yx,ZH,0),Cd(Dj,vz,0),Cd(iI,nV,0),Cd(nP,aP,0),Cd(dH,uH,0),Cd(eI,oV,0),Cd(Oh,oH,0),Cd(IH,class{async playAudioCue(t,i){}},0),Cd(Vm,class{notify(t,i){}},0),function(t){const i=new KF;for(const[t,e]of Sd())i.set(t,e);const e=new AH(i,!0);i.set(ur,e),t.get=function(t){s||o({});const n=i.get(t);if(!n)throw new Error("Missing service "+t);return n instanceof kd?e.invokeFunction((i=>i.get(t))):n};let s=!1;const n=new fe;function o(t){if(s)return e;s=!0;for(const[t,e]of Sd())i.get(t)||i.set(t,e);for(const e in t)if(t.hasOwnProperty(e)){const s=dr(e);i.get(s)instanceof kd&&i.set(s,t[e])}const o=jH();for(const t of o)try{e.createInstance(t)}catch(t){Pi(t)}return n.fire(),e}t.initialize=o,t.withServices=function(t){if(s)return t();const i=new te,e=i.add(n.event((()=>{e.dispose(),i.add(t())})));return i}}(rV||(rV={}));class lV{get TChange(){return null}reportChanges(){this.get()}read(t){return t?t.readObservable(this):this.get()}map(t,i){const e=void 0===i?void 0:t,s=void 0===i?t:i;return cV({owner:e,debugName:()=>{const t=kV(s);if(void 0!==t)return t;const i=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(s.toString());return i?`${this.debugName}.${i[2]}`:e?void 0:`${this.debugName} (mapped)`}},(t=>s(this.read(t),t)))}recomputeInitiallyAndOnChange(t,i){return t.add(hV(this,i)),this}}class uV extends lV{constructor(){super(...arguments),this.observers=new Set}addObserver(t){const i=this.observers.size;this.observers.add(t),0===i&&this.onFirstObserverAdded()}removeObserver(t){this.observers.delete(t)&&0===this.observers.size&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function dV(t,i){const e=new gV(t,i);try{t(e)}finally{e.finish()}}function fV(t){if(aV)t(aV);else{const i=new gV(t,void 0);aV=i;try{t(i)}finally{i.finish(),aV=void 0}}}function pV(t,i,e){t?i(t):dV(i,e)}class gV{constructor(t,i){this._fn=t,this._getDebugName=i,this.updatingObservers=[]}getDebugName(){return this._getDebugName?this._getDebugName():kV(this._fn)}updateObserver(t,i){this.updatingObservers.push({observer:t,observable:i}),t.beginUpdate(i)}finish(){const t=this.updatingObservers;for(let i=0;i{}),(()=>`Setting ${this.debugName}`)));try{this._setValue(t),void 0;for(const t of this.observers)i.updateObserver(t,this),t.handleChange(this,e)}finally{s&&s.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(t){this._value=t}}function SV(t,i){return"string"==typeof t?new DV(void 0,t,i):new DV(t,void 0,i)}class DV extends CV{_setValue(t){this._value!==t&&(this._value&&this._value.dispose(),this._value=t)}dispose(){var t;null===(t=this._value)||void 0===t||t.dispose()}}const EV=(t,i)=>t===i;function AV(t,i){return void 0!==i?new TV(t,void 0,i,void 0,void 0,void 0,EV):new TV(void 0,void 0,t,void 0,void 0,void 0,EV)}function MV(t,i){var e;return new TV(t.owner,t.debugName,i,void 0,void 0,void 0,null!==(e=t.equalityComparer)&&void 0!==e?e:EV)}function LV(t,i){let e,s;void 0===i?(e=t,s=void 0):(s=t,e=i);const n=new te;return new TV(s,(()=>{var t;return null!==(t=kV(e))&&void 0!==t?t:"(anonymous)"}),(t=>(n.clear(),e(t,n))),void 0,void 0,(()=>n.dispose()),EV)}function FV(t,i){let e,s;void 0===i?(e=t,s=void 0):(s=t,e=i);const n=new te;return new TV(s,(()=>{var t;return null!==(t=kV(e))&&void 0!==t?t:"(anonymous)"}),(t=>{n.clear();const i=e(t);return i&&n.add(i),i}),void 0,void 0,(()=>n.dispose()),EV)}cV=MV;class TV extends uV{get debugName(){var t;return null!==(t=vV(this,this._debugName,this._computeFn,this._owner,this))&&void 0!==t?t:"(anonymous)"}constructor(t,i,e,s,n,o,r){var h;super(),this._owner=t,this._debugName=i,this._computeFn=e,this.createChangeSummary=s,this._handleChange=n,this._handleLastObserverRemoved=o,this._equalityComparator=r,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=null===(h=this.createChangeSummary)||void 0===h?void 0:h.call(this)}onLastObserverRemoved(){var t;this.state=0,this.value=void 0;for(const t of this.dependencies)t.removeObserver(this);this.dependencies.clear(),null===(t=this._handleLastObserverRemoved)||void 0===t||t.call(this)}get(){var t;if(0===this.observers.size){const i=this._computeFn(this,null===(t=this.createChangeSummary)||void 0===t?void 0:t.call(this));return this.onLastObserverRemoved(),i}do{if(1===this.state)for(const t of this.dependencies)if(t.reportChanges(),2===this.state)break;1===this.state&&(this.state=3),this._recomputeIfNeeded()}while(3!==this.state);return this.value}_recomputeIfNeeded(){var t;if(3===this.state)return;const i=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=i;const e=0!==this.state,s=this.value;this.state=3;const n=this.changeSummary;this.changeSummary=null===(t=this.createChangeSummary)||void 0===t?void 0:t.call(this);try{this.value=this._computeFn(this,n)}finally{for(const t of this.dependenciesToBeRemoved)t.removeObserver(this);this.dependenciesToBeRemoved.clear()}const o=e&&!this._equalityComparator(s,this.value);if(void 0,o)for(const t of this.observers)t.handleChange(this,void 0)}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(t){this.updateCount++;const i=1===this.updateCount;if(3===this.state&&(this.state=1,!i))for(const t of this.observers)t.handlePossibleChange(this);if(i)for(const t of this.observers)t.beginUpdate(this)}endUpdate(t){if(this.updateCount--,0===this.updateCount){const t=[...this.observers];for(const i of t)i.endUpdate(this)}if(this.updateCount<0)throw new Gi}handlePossibleChange(t){if(3===this.state&&this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)){this.state=1;for(const t of this.observers)t.handlePossibleChange(this)}}handleChange(t,i){if(this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)){const e=!this._handleChange||this._handleChange({changedObservable:t,change:i,didChange:i=>i===t},this.changeSummary),s=3===this.state;if(e&&(1===this.state||s)&&(this.state=2,s))for(const t of this.observers)t.handlePossibleChange(this)}}readObservable(t){t.addObserver(this);const i=t.get();return this.dependencies.add(t),this.dependenciesToBeRemoved.delete(t),i}addObserver(t){const i=!this.observers.has(t)&&this.updateCount>0;super.addObserver(t),i&&t.beginUpdate(this)}removeObserver(t){const i=this.observers.has(t)&&this.updateCount>0;super.removeObserver(t),i&&t.endUpdate(this)}}function RV(t){return new NV(void 0,t,void 0,void 0)}function OV(t,i){return new NV(t.debugName,i,void 0,void 0)}function IV(t,i){return new NV(t.debugName,i,t.createEmptyChangeSummary,t.handleChange)}function _V(t){const i=new te,e=OV({debugName:()=>kV(t)||"(anonymous)"},(e=>{i.clear(),t(e,i)}));return Xi((()=>{e.dispose(),i.dispose()}))}class NV{get debugName(){if("string"==typeof this._debugName)return this._debugName;if("function"==typeof this._debugName){const t=this._debugName();if(void 0!==t)return t}const t=kV(this._runFn);return void 0!==t?t:"(anonymous)"}constructor(t,i,e,s){var n;this._debugName=t,this._runFn=i,this.createChangeSummary=e,this._handleChange=s,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=null===(n=this.createChangeSummary)||void 0===n?void 0:n.call(this),this._runIfNeeded()}dispose(){this.disposed=!0;for(const t of this.dependencies)t.removeObserver(this);this.dependencies.clear()}_runIfNeeded(){var t,i;if(3===this.state)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e,this.state=3;const s=this.disposed;try{if(!s){void 0;const i=this.changeSummary;this.changeSummary=null===(t=this.createChangeSummary)||void 0===t?void 0:t.call(this),this._runFn(this,i)}}finally{s||null===(i=void 0)||void 0===i||i.handleAutorunFinished(this);for(const t of this.dependenciesToBeRemoved)t.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 t of this.dependencies)if(t.reportChanges(),2===this.state)break}this._runIfNeeded()}while(3!==this.state);this.updateCount--,Ch((()=>this.updateCount>=0))}handlePossibleChange(t){3===this.state&&this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)&&(this.state=1)}handleChange(t,i){this.dependencies.has(t)&&!this.dependenciesToBeRemoved.has(t)&&(!this._handleChange||this._handleChange({changedObservable:t,change:i,didChange:i=>i===t},this.changeSummary))&&(this.state=2)}readObservable(t){if(this.disposed)return t.get();t.addObserver(this);const i=t.get();return this.dependencies.add(t),this.dependenciesToBeRemoved.delete(t),i}}function BV(t){return new PV(t)}!function(t){t.Observer=NV}(RV||(RV={}));class PV extends lV{constructor(t){super(),this.value=t}get debugName(){return this.toString()}get(){return this.value}addObserver(t){}removeObserver(t){}toString(){return`Const: ${this.value}`}}function $V(t,i){return new WV(t,i)}class WV extends uV{constructor(t,i){super(),this.event=t,this._getValue=i,this.hasValue=!1,this.handleEvent=t=>{var i;const e=this._getValue(t),s=this.value,n=!this.hasValue||s!==e;let o=!1;n&&(this.value=e,this.hasValue&&(o=!0,pV(WV.globalTransaction,(t=>{for(const i of this.observers)t.updateObserver(i,this),i.handleChange(this,void 0)}),(()=>{const t=this.getDebugName();return"Event fired"+(t?`: ${t}`:"")}))),this.hasValue=!0),o||null===(i=void 0)||void 0===i||i.handleFromEventObservableTriggered(this,{oldValue:s,newValue:e,change:void 0,didChange:n,hadValue:this.hasValue})}}getDebugName(){return kV(this._getValue)}get debugName(){const t=this.getDebugName();return"From Event"+(t?`: ${t}`:"")}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 jV(t,i){return new zV(t,i)}!function(t){t.Observer=WV,t.batchEventsGlobally=function(t,i){let e=!1;void 0===WV.globalTransaction&&(WV.globalTransaction=t,e=!0);try{i()}finally{e&&(WV.globalTransaction=void 0)}}}($V||($V={}));class zV extends uV{constructor(t,i){super(),this.debugName=t,this.event=i,this.handleEvent=()=>{dV((t=>{for(const i of this.observers)t.updateObserver(i,this),i.handleChange(this,void 0)}),(()=>this.debugName))}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}function HV(t){return"string"==typeof t?new VV(t):new VV(void 0,t)}class VV extends uV{get debugName(){var t;return null!==(t=vV(this,this._debugName,void 0,this._owner,this))&&void 0!==t?t:"Observable Signal"}constructor(t,i){super(),this._debugName=t,this._owner=i}trigger(t,i){if(t)for(const e of this.observers)t.updateObserver(e,this),e.handleChange(this,i);else dV((t=>{this.trigger(t,i)}),(()=>`Trigger signal ${this.debugName}`))}get(){}}function UV(t,i){const e=new qV(!0,i);return t.addObserver(e),i?i(t.get()):t.reportChanges(),Xi((()=>{t.removeObserver(e)}))}!function(t){hV=t}(UV);class qV{constructor(t,i){this._forceRecompute=t,this._handleValue=i,this._counter=0}beginUpdate(t){this._counter++}endUpdate(t){this._counter--,0===this._counter&&this._forceRecompute&&(this._handleValue?this._handleValue(t.get()):t.reportChanges())}handlePossibleChange(t){}handleChange(t,i){}}class KV{static capture(t){if(0===t.getScrollTop()||t.hasPendingScrollAnimation())return new KV(t.getScrollTop(),t.getContentHeight(),null,0,null);let i=null,e=0;const s=t.getVisibleRanges();if(s.length>0){i=s[0].getStartPosition();const n=t.getTopForPosition(i.lineNumber,i.column);e=t.getScrollTop()-n}return new KV(t.getScrollTop(),t.getContentHeight(),i,e,t.getPosition())}constructor(t,i,e,s,n){this._initialScrollTop=t,this._initialContentHeight=i,this._visiblePosition=e,this._visiblePositionScrollDelta=s,this._cursorPosition=n}restore(t){if((this._initialContentHeight!==t.getContentHeight()||this._initialScrollTop!==t.getScrollTop())&&this._visiblePosition){const i=t.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);t.setScrollTop(i+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(t){if(this._initialContentHeight===t.getContentHeight()&&this._initialScrollTop===t.getScrollTop())return;const i=t.getPosition();if(!this._cursorPosition||!i)return;const e=t.getTopForLineNumber(i.lineNumber)-t.getTopForLineNumber(this._cursorPosition.lineNumber);t.setScrollTop(t.getScrollTop()+e)}}function GV(){return We&&!!We.VSCODE_DEV}function ZV(t){if(GV()){const i=function(){QV||(QV=new Set);const t=globalThis;return t.$hotReload_applyNewExports||(t.$hotReload_applyNewExports=t=>{for(const i of QV){const e=i(t);if(e)return e}}),QV}();return i.add(t),{dispose(){i.delete(t)}}}return{dispose(){}}}let QV;function JV(t,i){const e=new te,s=t.createDecorationsCollection();return e.add(OV({debugName:()=>`Apply decorations from ${i.debugName}`},(t=>{const e=i.read(t);s.set(e)}))),e.add({dispose:()=>{s.clear()}}),e}function YV(t,i){return t.appendChild(i),Xi((()=>{t.removeChild(i)}))}GV()&&ZV((({oldExports:t,newSrc:i})=>{if(-1!==i.indexOf("/* hot-reload:patch-prototype-methods */"))return i=>{var e,s;for(const n in i){const o=i[n];if(console.log(`[hot-reload] Patching prototype methods of '${n}'`,{exportedItem:o}),"function"==typeof o&&o.prototype){const r=t[n];if(r){for(const t of Object.getOwnPropertyNames(o.prototype)){const i=Object.getOwnPropertyDescriptor(o.prototype,t),h=Object.getOwnPropertyDescriptor(r.prototype,t);(null===(e=null==i?void 0:i.value)||void 0===e?void 0:e.toString())!==(null===(s=null==h?void 0:h.value)||void 0===s?void 0:s.toString())&&console.log(`[hot-reload] Patching prototype method '${n}.${t}'`),Object.defineProperty(r.prototype,t,i)}i[n]=r}}}return!0}}));class XV extends ie{get width(){return this._width}get height(){return this._height}constructor(t,i){super(),this.elementSizeObserver=this._register(new Nm(t,i)),this._width=xV(this,this.elementSizeObserver.getWidth()),this._height=xV(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange((()=>dV((t=>{this._width.set(this.elementSizeObserver.getWidth(),t),this._height.set(this.elementSizeObserver.getHeight(),t)})))))}observe(t){this.elementSizeObserver.observe(t)}setAutomaticLayout(t){t?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function tU(t,i,e){let s=i.get(),n=s,o=s;const r=xV("animatedValue",s);let h,c=-1;function a(){const i=Date.now()-c;var e,l,u;o=Math.floor((l=n,u=s-n,(e=i)===300?l+u:u*(1-Math.pow(2,-10*e/300))+l)),i<300?h=t.requestAnimationFrame(a):o=s,r.set(o,void 0)}return e.add(IV({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(t,e)=>(t.didChange(i)&&(e.animate=e.animate||t.change),!0)},((e,r)=>{void 0!==h&&(t.cancelAnimationFrame(h),h=void 0),n=o,s=i.read(e),c=Date.now()-(r.animate?0:300),a()}))),r}class iU extends ie{constructor(t,i,e){super(),this._register(new sU(t,e)),this._register(nU(e,{height:i.actualHeight,top:i.actualTop}))}}class eU{get afterLineNumber(){return this._afterLineNumber.get()}constructor(t,i){this._afterLineNumber=t,this.heightInPx=i,this.domNode=document.createElement("div"),this._actualTop=xV(this,void 0),this._actualHeight=xV(this,void 0),this.actualTop=this._actualTop,this.actualHeight=this._actualHeight,this.showInHiddenAreas=!0,this.onChange=this._afterLineNumber,this.onDomNodeTop=t=>{this._actualTop.set(t,void 0)},this.onComputedHeight=t=>{this._actualHeight.set(t,void 0)}}}class sU{constructor(t,i){this._editor=t,this._domElement=i,this._overlayWidgetId="managedOverlayWidget-"+sU._counter++,this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}function nU(t,i){return RV((e=>{for(let[s,n]of Object.entries(i))n&&"object"==typeof n&&"read"in n&&(n=n.read(e)),"number"==typeof n&&(n=`${n}px`),s=s.replace(/[A-Z]/g,(t=>"-"+t.toLowerCase())),t.style[s]=n}))}function oU(t,i){return function(t,i){GV()&&jV("reload",(i=>ZV((({oldExports:e})=>{if([...Object.values(e)].some((i=>t.includes(i))))return()=>(i(void 0),!0)})))).read(i)}([t],i),t}function rU(t,i,e,s){const n=new te,o=[];return n.add(_V(((n,r)=>{const h=i.read(n),c=new Map,a=new Map;e&&e(!0),t.changeViewZones((t=>{for(const i of o)t.removeZone(i),null==s||s.delete(i);o.length=0;for(const i of h){const e=t.addZone(i);i.setZoneId&&i.setZoneId(e),o.push(e),null==s||s.add(e),c.set(i,e)}})),e&&e(!1),r.add(IV({createEmptyChangeSummary:()=>({zoneIds:[]}),handleChange(t,i){const e=a.get(t.changedObservable);return void 0!==e&&i.zoneIds.push(e),!0}},((i,s)=>{for(const t of h)t.onChange&&(a.set(t.onChange,c.get(t)),t.onChange.read(i));e&&e(!0),t.changeViewZones((t=>{for(const i of s.zoneIds)t.layoutZone(i)})),e&&e(!1)})))}))),n.add({dispose(){e&&e(!0),t.changeViewZones((t=>{for(const i of o)t.removeZone(i)})),null==s||s.clear(),e&&e(!1)}}),n}sU._counter=0;class hU extends Se{dispose(){super.dispose(!0)}}function cU(t,i){const e=Xf(i,(i=>i.original.startLineNumber<=t.lineNumber));if(!e)return Ms.fromPositions(t);if(e.original.endLineNumberExclusive<=t.lineNumber)return Ms.fromPositions(new As(t.lineNumber-e.original.endLineNumberExclusive+e.modified.endLineNumberExclusive,t.column));if(!e.innerChanges)return Ms.fromPositions(new As(e.modified.startLineNumber,1));const s=Xf(e.innerChanges,(i=>i.originalRange.getStartPosition().isBeforeOrEqual(t)));if(!s)return Ms.fromPositions(new As(t.lineNumber-e.original.startLineNumber+e.modified.startLineNumber,t.column));if(s.originalRange.containsPosition(t))return s.modifiedRange;{const i=(n=s.originalRange.getEndPosition()).lineNumber===(o=t).lineNumber?new VD(0,o.column-n.column):new VD(o.lineNumber-n.lineNumber,o.column-1);return Ms.fromPositions(function(t,i){return 0===i.lineCount?new As(t.lineNumber,t.column+i.columnCount):new As(t.lineNumber+i.lineCount,i.columnCount+1)}(s.modifiedRange.getEndPosition(),i))}var n,o}function aU(t,i,e){const s=t.bindTo(i);return OV({debugName:()=>`Update ${t.key}`},(t=>{s.set(e(t))}))}var lU=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},uU=function(t,i){return function(e,s){i(e,s,t)}};const dU=_z("diff-review-insert",Os.add,rt(0,"Icon for 'Insert' in accessible diff viewer.")),fU=_z("diff-review-remove",Os.remove,rt(0,"Icon for 'Remove' in accessible diff viewer.")),pU=_z("diff-review-close",Os.close,rt(0,"Icon for 'Close' in accessible diff viewer."));let gU=class extends ie{constructor(t,i,e,s,n,o,r,h,c){super(),this._parentNode=t,this._visible=i,this._setVisible=e,this._canClose=s,this._width=n,this._height=o,this._diffs=r,this._editors=h,this._instantiationService=c,this._state=LV(this,((t,i)=>{const e=this._visible.read(t);if(this._parentNode.style.visibility=e?"visible":"hidden",!e)return null;const s=i.add(this._instantiationService.createInstance(mU,this._diffs,this._editors,this._setVisible,this._canClose));return{model:s,view:i.add(this._instantiationService.createInstance(SU,this._parentNode,s,this._width,this._height,this._editors))}})).recomputeInitiallyAndOnChange(this._store)}next(){dV((t=>{const i=this._visible.get();this._setVisible(!0,t),i&&this._state.get().model.nextGroup(t)}))}prev(){dV((t=>{this._setVisible(!0,t),this._state.get().model.previousGroup(t)}))}close(){dV((t=>{this._setVisible(!1,t)}))}};gU._ttPolicy=Mu("diffReview",{createHTML:t=>t}),gU=lU([uU(8,ur)],gU);let mU=class extends ie{constructor(t,i,e,s,n){super(),this._diffs=t,this._editors=i,this._setVisible=e,this.canClose=s,this._audioCueService=n,this._groups=xV(this,[]),this._currentGroupIdx=xV(this,0),this._currentElementIdx=xV(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map(((t,i)=>this._groups.read(i)[t])),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map(((t,i)=>{var e;return null===(e=this.currentGroup.read(i))||void 0===e?void 0:e.lines[t]})),this._register(RV((t=>{const i=this._diffs.read(t);if(!i)return void this._groups.set([],void 0);const e=function(t,i,e){const s=[];for(const n of g(t,((t,i)=>i.modified.startLineNumber-t.modified.endLineNumberExclusive<2*wU))){const t=[];t.push(new yU);const o=new rp(Math.max(1,n[0].original.startLineNumber-wU),Math.min(n[n.length-1].original.endLineNumberExclusive+wU,i+1)),r=new rp(Math.max(1,n[0].modified.startLineNumber-wU),Math.min(n[n.length-1].modified.endLineNumberExclusive+wU,e+1));m(n,((i,e)=>{const s=new rp(i?i.original.endLineNumberExclusive:o.startLineNumber,e?e.original.startLineNumber:o.endLineNumberExclusive),n=new rp(i?i.modified.endLineNumberExclusive:r.startLineNumber,e?e.modified.startLineNumber:r.endLineNumberExclusive);s.forEach((i=>{t.push(new CU(i,n.startLineNumber+(i-s.startLineNumber)))})),e&&(e.original.forEach((i=>{t.push(new kU(e,i))})),e.modified.forEach((i=>{t.push(new xU(e,i))})))}));const h=n[0].modified.join(n[n.length-1].modified),c=n[0].original.join(n[n.length-1].original);s.push(new bU(new cp(h,c),t))}return s}(i,this._editors.original.getModel().getLineCount(),this._editors.modified.getModel().getLineCount());dV((t=>{const i=this._editors.modified.getPosition();if(i){const s=e.findIndex((t=>(null==i?void 0:i.lineNumber){const i=this.currentElement.read(t);(null==i?void 0:i.type)===vU.Deleted?this._audioCueService.playAudioCue(BH.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):(null==i?void 0:i.type)===vU.Added&&this._audioCueService.playAudioCue(BH.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})}))),this._register(RV((t=>{var i;const e=this.currentElement.read(t);if(e&&e.type!==vU.Header){const t=null!==(i=e.modifiedLineNumber)&&void 0!==i?i:e.diff.modified.startLineNumber;this._editors.modified.setSelection(Ms.fromPositions(new As(t,1)))}})))}_goToGroupDelta(t,i){const e=this.groups.get();!e||e.length<=1||pV(i,(i=>{this._currentGroupIdx.set(Jf.ofLength(e.length).clipCyclic(this._currentGroupIdx.get()+t),i),this._currentElementIdx.set(0,i)}))}nextGroup(t){this._goToGroupDelta(1,t)}previousGroup(t){this._goToGroupDelta(-1,t)}_goToLineDelta(t){const i=this.currentGroup.get();!i||i.lines.length<=1||dV((e=>{this._currentElementIdx.set(Jf.ofLength(i.lines.length).clip(this._currentElementIdx.get()+t),e)}))}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(t){const i=this.currentGroup.get();if(!i)return;const e=i.lines.indexOf(t);-1!==e&&dV((t=>{this._currentElementIdx.set(e,t)}))}revealCurrentElementInEditor(){this._setVisible(!1,void 0);const t=this.currentElement.get();t&&(t.type===vU.Deleted?(this._editors.original.setSelection(Ms.fromPositions(new As(t.originalLineNumber,1))),this._editors.original.revealLine(t.originalLineNumber),this._editors.original.focus()):(t.type!==vU.Header&&(this._editors.modified.setSelection(Ms.fromPositions(new As(t.modifiedLineNumber,1))),this._editors.modified.revealLine(t.modifiedLineNumber)),this._editors.modified.focus()))}close(){this._setVisible(!1,void 0),this._editors.modified.focus()}};mU=lU([uU(4,IH)],mU);const wU=3;var vU;!function(t){t[t.Header=0]="Header",t[t.Unchanged=1]="Unchanged",t[t.Deleted=2]="Deleted",t[t.Added=3]="Added"}(vU||(vU={}));class bU{constructor(t,i){this.range=t,this.lines=i}}class yU{constructor(){this.type=vU.Header}}class kU{constructor(t,i){this.diff=t,this.originalLineNumber=i,this.type=vU.Deleted,this.modifiedLineNumber=void 0}}class xU{constructor(t,i){this.diff=t,this.modifiedLineNumber=i,this.type=vU.Added,this.originalLineNumber=void 0}}class CU{constructor(t,i){this.originalLineNumber=t,this.modifiedLineNumber=i,this.type=vU.Unchanged}}let SU=class extends ie{constructor(t,i,e,s,n,o){super(),this._element=t,this._model=i,this._width=e,this._height=s,this._editors=n,this._languageService=o,this.domNode=this._element,this.domNode.className="diff-review monaco-editor-background";const r=document.createElement("div");r.className="diff-review-actions",this._actionBar=this._register(new VB(r)),this._register(RV((t=>{this._actionBar.clear(),this._model.canClose.read(t)&&this._actionBar.push(new mr("diffreview.close",rt(0,"Close"),"close-diff-review "+Cr.asClassName(pU),!0,(async()=>i.close())),{label:!1,icon:!0})}))),this._content=document.createElement("div"),this._content.className="diff-review-content",this._content.setAttribute("role","code"),this._scrollbar=this._register(new Sk(this._content,{})),_l(this.domNode,this._scrollbar.getDomNode(),r),this._register(Xi((()=>{_l(this.domNode)}))),this._register(nU(this.domNode,{width:this._width,height:this._height})),this._register(nU(this._content,{width:this._width,height:this._height})),this._register(_V(((t,i)=>{this._model.currentGroup.read(t),this._render(i)}))),this._register(qa(this.domNode,"keydown",(t=>{(t.equals(18)||t.equals(2066)||t.equals(530))&&(t.preventDefault(),this._model.goToNextLine()),(t.equals(16)||t.equals(2064)||t.equals(528))&&(t.preventDefault(),this._model.goToPreviousLine()),(t.equals(9)||t.equals(2057)||t.equals(521)||t.equals(1033))&&(t.preventDefault(),this._model.close()),(t.equals(10)||t.equals(3))&&(t.preventDefault(),this._model.revealCurrentElementInEditor())})))}_render(t){const i=this._editors.original.getOptions(),e=this._editors.modified.getOptions(),s=document.createElement("div");s.className="diff-review-table",s.setAttribute("role","list"),s.setAttribute("aria-label",rt(0,"Accessible Diff Viewer. Use arrow up and down to navigate.")),ir(s,e.get(50)),_l(this._content,s);const n=this._editors.original.getModel(),o=this._editors.modified.getModel();if(!n||!o)return;const r=n.getOptions(),h=o.getOptions(),c=e.get(66),a=this._model.currentGroup.get();for(const l of(null==a?void 0:a.lines)||[]){if(!a)break;let u;if(l.type===vU.Header){const t=document.createElement("div");t.className="diff-review-row",t.setAttribute("role","listitem");const i=a.range,e=this._model.currentGroupIndex.get(),s=this._model.groups.get().length,n=t=>0===t?rt(0,"no lines changed"):1===t?rt(0,"1 line changed"):rt(0,"{0} lines changed",t),o=n(i.original.length),r=n(i.modified.length);t.setAttribute("aria-label",rt(0,"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",e+1,s,i.original.startLineNumber,o,i.modified.startLineNumber,r));const h=document.createElement("div");h.className="diff-review-cell diff-review-summary",h.appendChild(document.createTextNode(`${e+1}/${s}: @@ -${i.original.startLineNumber},${i.original.length} +${i.modified.startLineNumber},${i.modified.length} @@`)),t.appendChild(h),u=t}else u=this._createRow(l,c,this._width.get(),i,n,r,e,o,h);s.appendChild(u);const d=AV((t=>this._model.currentElement.read(t)===l));t.add(RV((t=>{const i=d.read(t);u.tabIndex=i?0:-1,i&&u.focus()}))),t.add(Va(u,"focus",(()=>{this._model.goToLine(l)})))}this._scrollbar.scanDomNode()}_createRow(t,i,e,s,n,o,r,h,c){const a=s.get(143),l=a.glyphMarginWidth+a.lineNumbersWidth,u=r.get(143),d=10+u.glyphMarginWidth+u.lineNumbersWidth;let f="diff-review-row",p="",g=null;switch(t.type){case vU.Added:f="diff-review-row line-insert",p=" char-insert",g=dU;break;case vU.Deleted:f="diff-review-row line-delete",p=" char-delete",g=fU}const m=document.createElement("div");m.style.minWidth=e+"px",m.className=f,m.setAttribute("role","listitem"),m.ariaLevel="";const w=document.createElement("div");w.className="diff-review-cell",w.style.height=`${i}px`,m.appendChild(w);const v=document.createElement("span");v.style.width=l+"px",v.style.minWidth=l+"px",v.className="diff-review-line-number"+p,void 0!==t.originalLineNumber?v.appendChild(document.createTextNode(String(t.originalLineNumber))):v.innerText=" ",w.appendChild(v);const b=document.createElement("span");b.style.width=d+"px",b.style.minWidth=d+"px",b.style.paddingRight="10px",b.className="diff-review-line-number"+p,void 0!==t.modifiedLineNumber?b.appendChild(document.createTextNode(String(t.modifiedLineNumber))):b.innerText=" ",w.appendChild(b);const y=document.createElement("span");if(y.className="diff-review-spacer",g){const t=document.createElement("span");t.className=Cr.asClassName(g),t.innerText="  ",y.appendChild(t)}else y.innerText="  ";let k;if(w.appendChild(y),void 0!==t.modifiedLineNumber){let i=this._getLineHtml(h,r,c.tabSize,t.modifiedLineNumber,this._languageService.languageIdCodec);gU._ttPolicy&&(i=gU._ttPolicy.createHTML(i)),w.insertAdjacentHTML("beforeend",i),k=h.getLineContent(t.modifiedLineNumber)}else{let i=this._getLineHtml(n,s,o.tabSize,t.originalLineNumber,this._languageService.languageIdCodec);gU._ttPolicy&&(i=gU._ttPolicy.createHTML(i)),w.insertAdjacentHTML("beforeend",i),k=n.getLineContent(t.originalLineNumber)}0===k.length&&(k=rt(0,"blank"));let x="";switch(t.type){case vU.Unchanged:x=t.originalLineNumber===t.modifiedLineNumber?rt(0,"{0} unchanged line {1}",k,t.originalLineNumber):rt(0,"{0} original line {1} modified line {2}",k,t.originalLineNumber,t.modifiedLineNumber);break;case vU.Added:x=rt(0,"+ {0} modified line {1}",k,t.modifiedLineNumber);break;case vU.Deleted:x=rt(0,"- {0} original line {1}",k,t.originalLineNumber)}return m.setAttribute("aria-label",x),m}_getLineHtml(t,i,e,s,n){const o=t.getLineContent(s),r=i.get(50),h=Tg.createEmpty(o,n),c=Jg.isBasicASCII(o,t.mightContainNonBasicASCII()),a=Jg.containsRTL(o,c,t.mightContainRTL());return Ug(new $g(r.isMonospace&&!i.get(33),r.canUseHalfwidthRightwardsArrow,o,!1,c,a,0,h,[],e,0,r.spaceWidth,r.middotWidth,r.wsmiddotWidth,i.get(116),i.get(98),i.get(93),i.get(51)!==vi.OFF,null)).html}};SU=lU([uU(5,yd)],SU);const DU=_z("diff-insert",Os.add,rt(0,"Line decoration for inserts in the diff editor.")),EU=_z("diff-remove",Os.remove,rt(0,"Line decoration for removals in the diff editor.")),AU=bL.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+Cr.asClassName(DU),marginClassName:"gutter-insert"}),MU=bL.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+Cr.asClassName(EU),marginClassName:"gutter-delete"}),LU=bL.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),FU=bL.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),TU=bL.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),RU=bL.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),OU=bL.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),IU=bL.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),_U=bL.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),NU=bL.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});class BU extends ie{constructor(t,i,e,s,n){super(),this._rootElement=t,this._diffModel=i,this._originalEditorLayoutInfo=e,this._modifiedEditorLayoutInfo=s,this._editors=n,this._originalScrollTop=$V(this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop())),this._modifiedScrollTop=$V(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop())),this._viewZonesChanged=jV("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=xV(this,0),this._modifiedViewZonesChangedSignal=jV("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=jV("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=LV(this,((t,i)=>{var e;this._element.replaceChildren();const s=this._diffModel.read(t),n=null===(e=null==s?void 0:s.diff.read(t))||void 0===e?void 0:e.movedTexts;if(!n||0===n.length)return void this.width.set(0,void 0);this._viewZonesChanged.read(t);const o=this._originalEditorLayoutInfo.read(t),r=this._modifiedEditorLayoutInfo.read(t);if(!o||!r)return void this.width.set(0,void 0);this._modifiedViewZonesChangedSignal.read(t),this._originalViewZonesChangedSignal.read(t);const h=n.map((i=>{function e(t,i){return(i.getTopForLineNumber(t.startLineNumber,!0)+i.getTopForLineNumber(t.endLineNumberExclusive,!0))/2}const s=e(i.lineRangeMapping.original,this._editors.original),n=this._originalScrollTop.read(t),o=e(i.lineRangeMapping.modified,this._editors.modified),r=s-n,h=o-this._modifiedScrollTop.read(t),c=Math.min(s,o),a=Math.max(s,o);return{range:new Jf(c,a),from:r,to:h,fromWithoutScroll:s,toWithoutScroll:o,move:i}}));h.sort(function(...t){return(i,e)=>{for(const s of t){const t=s(i,e);if(!T.isNeitherLessOrGreaterThan(t))return t}return T.neitherLessOrGreaterThan}}(R((t=>t.fromWithoutScroll>t.toWithoutScroll),I),R((t=>t.fromWithoutScroll>t.toWithoutScroll?t.fromWithoutScroll:-t.toWithoutScroll),O)));const c=PU.compute(h.map((t=>t.range))),a=o.verticalScrollbarWidth,l=10*(c.getTrackCount()-1)+20,u=a+l+(r.contentLeft-BU.movedCodeBlockPadding);let d=0;for(const t of h){const e=a+10+10*c.getTrack(d),n=15,o=15,h=u,l=r.glyphMarginWidth+r.lineNumbersWidth,f=18,p=document.createElementNS("http://www.w3.org/2000/svg","rect");p.classList.add("arrow-rectangle"),p.setAttribute("x",""+(h-l)),p.setAttribute("y",""+(t.to-f/2)),p.setAttribute("width",`${l}`),p.setAttribute("height",`${f}`),this._element.appendChild(p);const g=document.createElementNS("http://www.w3.org/2000/svg","g"),m=document.createElementNS("http://www.w3.org/2000/svg","path");m.setAttribute("d",`M 0 ${t.from} L ${e} ${t.from} L ${e} ${t.to} L ${h-o} ${t.to}`),m.setAttribute("fill","none"),g.appendChild(m);const w=document.createElementNS("http://www.w3.org/2000/svg","polygon");w.classList.add("arrow"),i.add(RV((i=>{m.classList.toggle("currentMove",t.move===s.activeMovedText.read(i)),w.classList.toggle("currentMove",t.move===s.activeMovedText.read(i))}))),w.setAttribute("points",`${h-o},${t.to-n/2} ${h},${t.to} ${h-o},${t.to+n/2}`),g.appendChild(w),this._element.appendChild(g),d++}this.width.set(l,void 0)})),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register(Xi((()=>this._element.remove()))),this._register(RV((t=>{const i=this._originalEditorLayoutInfo.read(t),e=this._modifiedEditorLayoutInfo.read(t);i&&e&&(this._element.style.left=i.width-i.verticalScrollbarWidth+"px",this._element.style.height=`${i.height}px`,this._element.style.width=`${i.verticalScrollbarWidth+i.contentLeft-BU.movedCodeBlockPadding+this.width.read(t)}px`)}))),this._register(UV(this._state));const o=AV((t=>{const i=this._diffModel.read(t),e=null==i?void 0:i.diff.read(t);return e?e.movedTexts.map((t=>({move:t,original:new eU(BV(t.lineRangeMapping.original.startLineNumber-1),18),modified:new eU(BV(t.lineRangeMapping.modified.startLineNumber-1),18)}))):[]}));this._register(rU(this._editors.original,o.map((t=>t.map((t=>t.original)))))),this._register(rU(this._editors.modified,o.map((t=>t.map((t=>t.modified)))))),this._register(_V(((t,i)=>{const e=o.read(t);for(const t of e)i.add(new $U(this._editors.original,t.original,t.move,"original",this._diffModel.get())),i.add(new $U(this._editors.modified,t.modified,t.move,"modified",this._diffModel.get()))})));const r=$V(this._editors.original.onDidChangeCursorPosition,(()=>this._editors.original.getPosition())),h=$V(this._editors.modified.onDidChangeCursorPosition,(()=>this._editors.modified.getPosition())),c=jV("original.onDidFocusEditorWidget",(t=>this._editors.original.onDidFocusEditorWidget((()=>setTimeout((()=>t(void 0)),0))))),a=jV("modified.onDidFocusEditorWidget",(t=>this._editors.modified.onDidFocusEditorWidget((()=>setTimeout((()=>t(void 0)),0)))));let l="modified";this._register(IV({createEmptyChangeSummary:()=>{},handleChange:t=>(t.didChange(c)&&(l="original"),t.didChange(a)&&(l="modified"),!0)},(t=>{c.read(t),a.read(t);const i=this._diffModel.read(t);if(!i)return;const e=i.diff.read(t);let s;if(e&&"original"===l){const i=r.read(t);i&&(s=e.movedTexts.find((t=>t.lineRangeMapping.original.contains(i.lineNumber))))}if(e&&"modified"===l){const i=h.read(t);i&&(s=e.movedTexts.find((t=>t.lineRangeMapping.modified.contains(i.lineNumber))))}s!==i.movedTextToCompare.get()&&i.movedTextToCompare.set(void 0,void 0),i.setActiveMovedText(s)})))}}BU.movedCodeBlockPadding=4;class PU{static compute(t){const i=[],e=[];for(const s of t){let t=i.findIndex((t=>!t.intersectsStrict(s)));-1===t&&(i.length>=6?t=op(i,R((t=>t.intersectWithRangeLength(s)),O)):(t=i.length,i.push(new Yf))),i[t].addRange(s),e.push(t)}return new PU(i.length,e)}constructor(t,i){this._trackCount=t,this.trackPerLineIdx=i}getTrack(t){return this.trackPerLineIdx[t]}getTrackCount(){return this._trackCount}}class $U extends iU{constructor(t,i,e,s,n){const o=Jl("div.diff-hidden-lines-widget");super(t,i,o.root),this._editor=t,this._move=e,this._kind=s,this._diffModel=n,this._nodes=Jl("div.diff-moved-code-block",{style:{marginRight:"4px"}},[Jl("div.text-content@textContent"),Jl("div.action-bar@actionBar")]),o.root.appendChild(this._nodes.root);const r=$V(this._editor.onDidLayoutChange,(()=>this._editor.getLayoutInfo()));let h;this._register(nU(this._nodes.root,{paddingRight:r.map((t=>t.verticalScrollbarWidth))})),h=e.changes.length>0?"original"===this._kind?rt(0,"Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):rt(0,"Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):"original"===this._kind?rt(0,"Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):rt(0,"Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const c=this._register(new VB(this._nodes.actionBar,{highlightToggledItems:!0})),a=new mr("",h,"",!1);c.push(a,{icon:!1,label:!0});const l=new mr("","Compare",Cr.asClassName(Os.compareChanges),!0,(()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===e?void 0:this._move,void 0)}));this._register(RV((t=>{const i=this._diffModel.movedTextToCompare.read(t)===e;l.checked=i}))),c.push(l,{icon:!1,label:!0})}}class WU extends ie{constructor(t,i,e,s){super(),this._editors=t,this._diffModel=i,this._options=e,this._decorations=AV(this,(t=>{var i;const e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.diff.read(t);if(!e)return null;const s=this._diffModel.read(t).movedTextToCompare.read(t),n=this._options.renderIndicators.read(t),o=this._options.showEmptyDecorations.read(t),r=[],h=[];if(!s)for(const t of e.mappings)if(t.lineRangeMapping.original.isEmpty||r.push({range:t.lineRangeMapping.original.toInclusiveRange(),options:n?MU:FU}),t.lineRangeMapping.modified.isEmpty||h.push({range:t.lineRangeMapping.modified.toInclusiveRange(),options:n?AU:LU}),t.lineRangeMapping.modified.isEmpty||t.lineRangeMapping.original.isEmpty)t.lineRangeMapping.original.isEmpty||r.push({range:t.lineRangeMapping.original.toInclusiveRange(),options:_U}),t.lineRangeMapping.modified.isEmpty||h.push({range:t.lineRangeMapping.modified.toInclusiveRange(),options:RU});else for(const i of t.lineRangeMapping.innerChanges||[])t.lineRangeMapping.original.contains(i.originalRange.startLineNumber)&&r.push({range:i.originalRange,options:i.originalRange.isEmpty()&&o?NU:IU}),t.lineRangeMapping.modified.contains(i.modifiedRange.startLineNumber)&&h.push({range:i.modifiedRange,options:i.modifiedRange.isEmpty()&&o?OU:TU});if(s)for(const t of s.changes){const i=t.original.toInclusiveRange();i&&r.push({range:i,options:n?MU:FU});const e=t.modified.toInclusiveRange();e&&h.push({range:e,options:n?AU:LU});for(const i of t.innerChanges||[])r.push({range:i.originalRange,options:IU}),h.push({range:i.modifiedRange,options:TU})}const c=this._diffModel.read(t).activeMovedText.read(t);for(const t of e.movedTexts)r.push({range:t.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(t===c?" currentMove":""),blockPadding:[BU.movedCodeBlockPadding,0,BU.movedCodeBlockPadding,BU.movedCodeBlockPadding]}}),h.push({range:t.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(t===c?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:r,modifiedDecorations:h}})),this._register(new jU(t,i,e,s)),this._register(JV(this._editors.original,this._decorations.map((t=>(null==t?void 0:t.originalDecorations)||[])))),this._register(JV(this._editors.modified,this._decorations.map((t=>(null==t?void 0:t.modifiedDecorations)||[]))))}}class jU extends ie{constructor(t,i,e,s){super(),this._editors=t,this._diffModel=i,this._options=e,this._widget=s;const n=[],o=AV(this,(t=>{const i=this._diffModel.read(t),e=null==i?void 0:i.diff.read(t);if(!e)return n;const s=this._editors.modifiedSelections.read(t);if(s.every((t=>t.isEmpty())))return n;const o=new hp(s.map((t=>rp.fromRangeInclusive(t)))),r=e.mappings.filter((t=>t.lineRangeMapping.innerChanges&&o.intersects(t.lineRangeMapping.modified))).map((t=>({mapping:t,rangeMappings:t.lineRangeMapping.innerChanges.filter((t=>s.some((i=>Ms.areIntersecting(t.modifiedRange,i)))))})));return 0===r.length||r.every((t=>0===t.rangeMappings.length))?n:r}));this._register(_V(((t,i)=>{const e=this._diffModel.read(t),s=null==e?void 0:e.diff.read(t);if(!e||!s)return;if(this._diffModel.read(t).movedTextToCompare.read(t))return;if(!this._options.shouldRenderRevertArrows.read(t))return;const n=[],r=o.read(t),h=new Set(r.map((t=>t.mapping)));if(r.length>0){const i=this._editors.modifiedSelections.read(t),e=new zU(i[i.length-1].positionLineNumber,this._widget,r.flatMap((t=>t.rangeMappings)),!0);this._editors.modified.addGlyphMarginWidget(e),n.push(e)}for(const t of s.mappings)if(!h.has(t)&&!t.lineRangeMapping.modified.isEmpty&&t.lineRangeMapping.innerChanges){const i=new zU(t.lineRangeMapping.modified.startLineNumber,this._widget,t.lineRangeMapping.innerChanges,!1);this._editors.modified.addGlyphMarginWidget(i),n.push(i)}i.add(Xi((()=>{for(const t of n)this._editors.modified.removeGlyphMarginWidget(t)})))})))}}class zU{getId(){return this._id}constructor(t,i,e,s){this._lineNumber=t,this._widget=i,this._diffs=e,this._selection=s,this._id="revertButton"+zU.counter++,this._domNode=Jl("div.revertButton",{title:rt(0,this._selection?"Revert Selected Changes":"Revert Change")},[z_(Os.arrowRight)]).root,this._domNode.onmousedown=t=>{2!==t.button&&(t.stopPropagation(),t.preventDefault())},this._domNode.onmouseup=t=>{t.stopPropagation(),t.preventDefault()},this._domNode.onclick=t=>{this._widget.revertRangeMappings(this._diffs),t.stopPropagation(),t.preventDefault()}}getDomNode(){return this._domNode}getPosition(){return{lane:Lf.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}zU.counter=0;class HU extends ie{constructor(t,i,e,s){super(),this._options=t,this._domNode=i,this._dimensions=e,this._sashes=s,this._sashRatio=xV(this,void 0),this.sashLeft=AV(this,(t=>{var i;const e=null!==(i=this._sashRatio.read(t))&&void 0!==i?i:this._options.splitViewDefaultRatio.read(t);return this._computeSashLeft(e,t)})),this._sash=this._register(new NP(this._domNode,{getVerticalSashTop:()=>0,getVerticalSashLeft:()=>this.sashLeft.get(),getVerticalSashHeight:()=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart((()=>{this._startSashPosition=this.sashLeft.get()}))),this._register(this._sash.onDidChange((t=>{const i=this._dimensions.width.get(),e=this._computeSashLeft((this._startSashPosition+(t.currentX-t.startX))/i,void 0);this._sashRatio.set(e/i,void 0)}))),this._register(this._sash.onDidEnd((()=>this._sash.layout()))),this._register(this._sash.onDidReset((()=>this._sashRatio.set(void 0,void 0)))),this._register(RV((t=>{const i=this._sashes.read(t);i&&(this._sash.orthogonalEndSash=i.bottom)}))),this._register(RV((t=>{const i=this._options.enableSplitViewResizing.read(t);this._sash.state=i?3:0,this.sashLeft.read(t),this._dimensions.height.read(t),this._sash.layout()})))}_computeSashLeft(t,i){const e=this._dimensions.width.read(i),s=Math.floor(this._options.splitViewDefaultRatio.read(i)*e),n=this._options.enableSplitViewResizing.read(i)?Math.floor(t*e):s,o=100;return e<=200?s:ne-o?e-o:n}}class VU{remove(){var t;null===(t=this.parent)||void 0===t||t.children.delete(this.id)}static findId(t,i){let e;"string"==typeof t?e=`${i.id}/${t}`:(e=`${i.id}/${t.name}`,void 0!==i.children.get(e)&&(e=`${i.id}/${t.name}_${t.range.startLineNumber}_${t.range.startColumn}`));let s=e;for(let t=0;void 0!==i.children.get(s);t++)s=`${e}_${t}`;return s}static empty(t){return 0===t.children.size}}class UU extends VU{constructor(t,i,e){super(),this.id=t,this.parent=i,this.symbol=e,this.children=new Map}}class qU extends VU{constructor(t,i,e,s){super(),this.id=t,this.parent=i,this.label=e,this.order=s,this.children=new Map}}class KU extends VU{static create(t,i,e){const s=new Se(e),n=new KU(i.uri),o=t.ordered(i),r=o.map(((t,e)=>{var o;const r=VU.findId(`provider_${e}`,n),h=new qU(r,n,null!==(o=t.displayName)&&void 0!==o?o:"Unknown Outline Provider",e);return Promise.resolve(t.provideDocumentSymbols(i,s.token)).then((t=>{for(const i of t||[])KU._makeOutlineElement(i,h);return h}),(t=>($i(t),h))).then((t=>{VU.empty(t)?t.remove():n._groups.set(r,t)}))})),h=t.onDidChange((()=>{u(t.ordered(i),o)||s.cancel()}));return Promise.all(r).then((()=>s.token.isCancellationRequested&&!e.isCancellationRequested?KU.create(t,i,e):n._compact())).finally((()=>{s.dispose(),h.dispose()}))}static _makeOutlineElement(t,i){const e=VU.findId(t,i),s=new UU(e,i,t);if(t.children)for(const i of t.children)KU._makeOutlineElement(i,s);i.children.set(s.id,s)}constructor(t){super(),this.uri=t,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let t=0;for(const[i,e]of this._groups)0===e.children.size?this._groups.delete(i):t+=1;if(1!==t)this.children=this._groups;else{const t=Vt.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const t=[];for(const i of this.children.values())i instanceof UU?t.push(i.symbol):t.push(...Vt.map(i.children.values(),(t=>t.symbol)));return t.sort(((t,i)=>Ms.compareRangesUsingStarts(t.range,i.range)))}asListOfDocumentSymbols(){const t=this.getTopLevelSymbols(),i=[];return KU._flattenDocumentSymbols(i,t,""),i.sort(((t,i)=>As.compare(Ms.getStartPosition(t.range),Ms.getStartPosition(i.range))||As.compare(Ms.getEndPosition(i.range),Ms.getEndPosition(t.range))))}static _flattenDocumentSymbols(t,i,e){for(const s of i)t.push({kind:s.kind,tags:s.tags,name:s.name,detail:s.detail,containerName:s.containerName||e,range:s.range,selectionRange:s.selectionRange,children:void 0}),s.children&&KU._flattenDocumentSymbols(t,s.children,s.name)}}var GU=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},ZU=function(t,i){return function(e,s){i(e,s,t)}};let QU=class extends ie{get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(t,i,e,s){super(),this._editors=t,this._diffModel=i,this._options=e,this._languageFeaturesService=s,this._modifiedOutlineSource=FV(this,(t=>{const i=this._editors.modifiedModel.read(t);return i?new YU(this._languageFeaturesService,i):void 0})),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition((t=>{if(3===t.reason){const t=this._diffModel.get();dV((i=>{for(const e of this._editors.original.getSelections()||[])null==t||t.ensureOriginalLineIsVisible(e.getStartPosition().lineNumber,i),null==t||t.ensureOriginalLineIsVisible(e.getEndPosition().lineNumber,i)}))}}))),this._register(this._editors.modified.onDidChangeCursorPosition((t=>{if(3===t.reason){const t=this._diffModel.get();dV((i=>{for(const e of this._editors.modified.getSelections()||[])null==t||t.ensureModifiedLineIsVisible(e.getStartPosition().lineNumber,i),null==t||t.ensureModifiedLineIsVisible(e.getEndPosition().lineNumber,i)}))}})));const n=this._diffModel.map(((t,i)=>{var e,s;return 0===(null===(e=null==t?void 0:t.diff.read(i))||void 0===e?void 0:e.mappings.length)?[]:null!==(s=null==t?void 0:t.unchangedRegions.read(i))&&void 0!==s?s:[]}));this.viewZones=LV(this,((t,i)=>{const e=this._modifiedOutlineSource.read(t);if(!e)return{origViewZones:[],modViewZones:[]};const s=[],o=[],r=this._options.renderSideBySide.read(t),h=n.read(t);for(const n of h)if(!n.shouldHideControls(t)){{const t=AV(this,(t=>n.getHiddenOriginalRange(t).startLineNumber-1)),o=new eU(t,24);s.push(o),i.add(new JU(this._editors.original,o,n,n.originalUnchangedRange,!r,e,(t=>this._diffModel.get().ensureModifiedLineIsVisible(t,void 0)),this._options))}{const t=AV(this,(t=>n.getHiddenModifiedRange(t).startLineNumber-1)),s=new eU(t,24);o.push(s),i.add(new JU(this._editors.modified,s,n,n.modifiedUnchangedRange,!1,e,(t=>this._diffModel.get().ensureModifiedLineIsVisible(t,void 0)),this._options))}}return{origViewZones:s,modViewZones:o}}));const o={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},r={description:"Fold Unchanged",glyphMarginHoverMessage:new M_(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(rt(0,"Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+Cr.asClassName(Os.fold),zIndex:10001};this._register(JV(this._editors.original,AV(this,(t=>{const i=n.read(t),e=i.map((t=>({range:t.originalUnchangedRange.toInclusiveRange(),options:o})));for(const s of i)s.shouldHideControls(t)&&e.push({range:Ms.fromPositions(new As(s.originalLineNumber,1)),options:r});return e})))),this._register(JV(this._editors.modified,AV(this,(t=>{const i=n.read(t),e=i.map((t=>({range:t.modifiedUnchangedRange.toInclusiveRange(),options:o})));for(const s of i)s.shouldHideControls(t)&&e.push({range:rp.ofLength(s.modifiedLineNumber,1).toInclusiveRange(),options:r});return e})))),this._register(RV((t=>{const i=n.read(t);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(i.map((i=>i.getHiddenOriginalRange(t).toInclusiveRange())).filter(U)),this._editors.modified.setHiddenAreas(i.map((i=>i.getHiddenModifiedRange(t).toInclusiveRange())).filter(U))}finally{this._isUpdatingHiddenAreas=!1}}))),this._register(this._editors.modified.onMouseUp((t=>{var i;if(!t.event.rightButton&&t.target.position&&(null===(i=t.target.element)||void 0===i?void 0:i.className.includes("fold-unchanged"))){const i=t.target.position.lineNumber,e=this._diffModel.get();if(!e)return;const s=e.unchangedRegions.get().find((t=>t.modifiedUnchangedRange.includes(i)));if(!s)return;s.collapseAll(void 0),t.event.stopPropagation(),t.event.preventDefault()}}))),this._register(this._editors.original.onMouseUp((t=>{var i;if(!t.event.rightButton&&t.target.position&&(null===(i=t.target.element)||void 0===i?void 0:i.className.includes("fold-unchanged"))){const i=t.target.position.lineNumber,e=this._diffModel.get();if(!e)return;const s=e.unchangedRegions.get().find((t=>t.originalUnchangedRange.includes(i)));if(!s)return;s.collapseAll(void 0),t.event.stopPropagation(),t.event.preventDefault()}})))}};QU=GU([ZU(3,gg)],QU);class JU extends iU{constructor(t,i,e,s,n,o,r,h){const c=Jl("div.diff-hidden-lines-widget");super(t,i,c.root),this._editor=t,this._unchangedRegion=e,this._unchangedRegionRange=s,this._hide=n,this._modifiedOutlineSource=o,this._revealModifiedHiddenLine=r,this._options=h,this._nodes=Jl("div.diff-hidden-lines",[Jl("div.top@top",{title:rt(0,"Click or drag to show more above")}),Jl("div.center@content",{style:{display:"flex"}},[Jl("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[$l("a",{title:rt(0,"Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...j_("$(unfold)"))]),Jl("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),Jl("div.bottom@bottom",{title:rt(0,"Click or drag to show more below"),role:"button"})]),c.root.appendChild(this._nodes.root);const a=$V(this._editor.onDidLayoutChange,(()=>this._editor.getLayoutInfo()));this._hide?_l(this._nodes.first):this._register(nU(this._nodes.first,{width:a.map((t=>t.contentLeft))})),this._register(RV((t=>{const i=this._unchangedRegion.visibleLineCountTop.read(t)+this._unchangedRegion.visibleLineCountBottom.read(t)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!i),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(t)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(t)>0),this._nodes.top.classList.toggle("canMoveBottom",!i);const e=this._unchangedRegion.isDragged.read(t),s=this._editor.getDomNode();s&&(s.classList.toggle("draggingUnchangedRegion",!!e),"top"===e?(s.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(t)>0),s.classList.toggle("canMoveBottom",!i)):"bottom"===e?(s.classList.toggle("canMoveTop",!i),s.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(t)>0)):(s.classList.toggle("canMoveTop",!1),s.classList.toggle("canMoveBottom",!1)))})));const l=this._editor;this._register(Va(this._nodes.top,"mousedown",(t=>{if(0!==t.button)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),t.preventDefault();const i=t.clientY;let e=!1;const s=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const n=Na(this._nodes.top),o=Va(n,"mousemove",(t=>{const n=t.clientY-i;e=e||Math.abs(n)>2;const o=Math.round(n/l.getOption(66)),r=Math.max(0,Math.min(s+o,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(r,void 0)})),r=Va(n,"mouseup",(()=>{e||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),o.dispose(),r.dispose()}))}))),this._register(Va(this._nodes.bottom,"mousedown",(t=>{if(0!==t.button)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),t.preventDefault();const i=t.clientY;let e=!1;const s=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const n=Na(this._nodes.bottom),o=Va(n,"mousemove",(t=>{const n=t.clientY-i;e=e||Math.abs(n)>2;const o=Math.round(n/l.getOption(66)),r=Math.max(0,Math.min(s-o,this._unchangedRegion.getMaxVisibleLineCountBottom())),h=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(r,void 0);const c=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);l.setScrollTop(l.getScrollTop()+(c-h))})),r=Va(n,"mouseup",(()=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!e){const t=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const i=l.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);l.setScrollTop(l.getScrollTop()+(i-t))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),o.dispose(),r.dispose()}))}))),this._register(RV((t=>{const i=[];if(!this._hide){const s=rt(0,"{0} hidden lines",e.getHiddenModifiedRange(t).length),n=$l("span",{title:rt(0,"Double click to unfold")},s);n.addEventListener("dblclick",(t=>{0===t.button&&(t.preventDefault(),this._unchangedRegion.showAll(void 0))})),i.push(n);const o=this._unchangedRegion.getHiddenModifiedRange(t),r=this._modifiedOutlineSource.getBreadcrumbItems(o,t);if(r.length>0){i.push($l("span",void 0,"  |  "));for(let t=0;t{this._revealModifiedHiddenLine(e.startLineNumber)}}}}_l(this._nodes.others,...i)})))}}let YU=class extends ie{constructor(t,i){super(),this._languageFeaturesService=t,this._textModel=i,this._currentModel=xV(this,void 0);const e=jV("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=jV("_textModel.onDidChangeContent",ce.debounce((t=>this._textModel.onDidChangeContent(t)),(()=>{}),100));this._register(_V((async(t,i)=>{e.read(t),s.read(t);const n=i.add(new hU),o=await KU.create(this._languageFeaturesService.documentSymbolProvider,this._textModel,n.token);i.isDisposed||this._currentModel.set(o,void 0)})))}getBreadcrumbItems(t,i){const e=this._currentModel.read(i);if(!e)return[];const s=e.asListOfDocumentSymbols().filter((i=>t.contains(i.range.startLineNumber)&&!t.contains(i.range.endLineNumber)));return s.sort(_(R((t=>t.range.endLineNumber-t.range.startLineNumber),O))),s.map((t=>({name:t.name,kind:t.kind,startLineNumber:t.range.startLineNumber})))}};YU=GU([ZU(0,gg)],YU);var XU,tq=function(t,i){return function(e,s){i(e,s,t)}};let iq=XU=class{constructor(t,i,e){this.editorWorkerService=i,this.telemetryService=e,this.onDidChangeEventEmitter=new fe,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(t)}dispose(){var t;null===(t=this.diffAlgorithmOnDidChangeSubscription)||void 0===t||t.dispose()}async computeDiff(t,i,e,s){var n,o;if("string"!=typeof this.diffAlgorithm)return this.diffAlgorithm.computeDiff(t,i,e,s);if(1===t.getLineCount()&&1===t.getLineMaxColumn(1))return 1===i.getLineCount()&&1===i.getLineMaxColumn(1)?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new ap(new rp(1,2),new rp(1,i.getLineCount()+1),[new lp(t.getFullModelRange(),i.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const r=JSON.stringify([t.uri.toString(),i.uri.toString()]),h=JSON.stringify([t.id,i.id,t.getAlternativeVersionId(),i.getAlternativeVersionId(),JSON.stringify(e)]),c=XU.diffCache.get(r);if(c&&c.context===h)return c.result;const a=he.create(),l=await this.editorWorkerService.computeDiff(t.uri,i.uri,e,this.diffAlgorithm),u=a.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:u,timedOut:null===(n=null==l?void 0:l.quitEarly)||void 0===n||n,detectedMoves:e.computeMoves?null!==(o=null==l?void 0:l.moves.length)&&void 0!==o?o:0:-1}),s.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!l)throw new Error("no diff result available");return XU.diffCache.size>10&&XU.diffCache.delete(XU.diffCache.keys().next().value),XU.diffCache.set(r,{result:l,context:h}),l}setOptions(t){var i;let e=!1;t.diffAlgorithm&&this.diffAlgorithm!==t.diffAlgorithm&&(null===(i=this.diffAlgorithmOnDidChangeSubscription)||void 0===i||i.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=t.diffAlgorithm,"string"!=typeof t.diffAlgorithm&&(this.diffAlgorithmOnDidChangeSubscription=t.diffAlgorithm.onDidChange((()=>this.onDidChangeEventEmitter.fire()))),e=!0),e&&this.onDidChangeEventEmitter.fire()}};iq.diffCache=new Map,iq=XU=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([tq(1,lP),tq(2,Wh)],iq);const eq=dr("diffProviderFactoryService");let sq=class{constructor(t){this.instantiationService=t}createDiffProvider(t){return this.instantiationService.createInstance(iq,t)}};sq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,ur)],sq),Cd(eq,sq,1);let nq=class extends ie{setActiveMovedText(t){this._activeMovedText.set(t,void 0)}constructor(t,i,e){super(),this.model=t,this._options=i,this._diffProviderFactoryService=e,this._isDiffUpToDate=xV(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=xV(this,void 0),this.diff=this._diff,this._unchangedRegions=xV(this,{regions:[],originalDecorationIds:[],modifiedDecorationIds:[]}),this.unchangedRegions=AV(this,(t=>this._options.hideUnchangedRegions.read(t)?this._unchangedRegions.read(t).regions:(dV((t=>{for(const i of this._unchangedRegions.get().regions)i.collapseAll(t)})),[]))),this.movedTextToCompare=xV(this,void 0),this._activeMovedText=xV(this,void 0),this._hoveredMovedText=xV(this,void 0),this.activeMovedText=AV(this,(t=>{var i,e;return null!==(e=null!==(i=this.movedTextToCompare.read(t))&&void 0!==i?i:this._hoveredMovedText.read(t))&&void 0!==e?e:this._activeMovedText.read(t)})),this._cancellationTokenSource=new Se,this._diffProvider=AV(this,(t=>{const i=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(t)});return{diffProvider:i,onChangeSignal:jV("onDidChange",i.onDidChange)}})),this._register(Xi((()=>this._cancellationTokenSource.cancel())));const s=HV("contentChangedSignal"),n=this._register(new pc((()=>s.trigger(void 0)),200)),o=(i,e,s)=>{const n=hq.fromDiffs(i.changes,t.original.getLineCount(),t.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(s),this._options.hideUnchangedRegionsContextLineCount.read(s)),o=this._unchangedRegions.get(),r=o.originalDecorationIds.map((i=>t.original.getDecorationRange(i))).map((t=>t?rp.fromRange(t):void 0)),h=o.modifiedDecorationIds.map((i=>t.modified.getDecorationRange(i))).map((t=>t?rp.fromRange(t):void 0)),c=t.original.deltaDecorations(o.originalDecorationIds,n.map((t=>({range:t.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})))),a=t.modified.deltaDecorations(o.modifiedDecorationIds,n.map((t=>({range:t.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))));for(const t of n)for(let i=0;i{this._diff.get()&&oE.fromModelContentChanges(t.changes),this._isDiffUpToDate.set(!1,void 0),n.schedule()}))),this._register(t.original.onDidChangeContent((t=>{this._diff.get()&&oE.fromModelContentChanges(t.changes),this._isDiffUpToDate.set(!1,void 0),n.schedule()}))),this._register(_V((async(i,e)=>{this._options.hideUnchangedRegionsMinimumLineCount.read(i),this._options.hideUnchangedRegionsContextLineCount.read(i),n.cancel(),s.read(i);const r=this._diffProvider.read(i);r.onChangeSignal.read(i),oU(Jp,i),oU(qp,i),this._isDiffUpToDate.set(!1,void 0);let h=[];e.add(t.original.onDidChangeContent((t=>{const i=oE.fromModelContentChanges(t.changes);h=PE(h,i)})));let c=[];e.add(t.modified.onDidChangeContent((t=>{const i=oE.fromModelContentChanges(t.changes);c=PE(c,i)})));let a=await r.diffProvider.computeDiff(t.original,t.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(i),maxComputationTimeMs:this._options.maxComputationTimeMs.read(i),computeMoves:this._options.showMoves.read(i)},this._cancellationTokenSource.token);var l,u,d;this._cancellationTokenSource.token.isCancellationRequested||(u=t.original,d=t.modified,a={changes:(l=a).changes.map((t=>new ap(t.original,t.modified,t.innerChanges?t.innerChanges.map((t=>function(t,i,e){let s=t.originalRange,n=t.modifiedRange;return(1!==s.endColumn||1!==n.endColumn)&&s.endColumn===i.getLineMaxColumn(s.endLineNumber)&&n.endColumn===e.getLineMaxColumn(n.endLineNumber)&&s.endLineNumber{o(a,t),this._lastDiff=a;const i=oq.fromDiffResult(a);this._diff.set(i,t),this._isDiffUpToDate.set(!0,t);const e=this.movedTextToCompare.get();this.movedTextToCompare.set(e?this._lastDiff.moves.find((t=>t.lineRangeMapping.modified.intersect(e.lineRangeMapping.modified))):void 0,t)})))})))}ensureModifiedLineIsVisible(t,i){var e;if(0===(null===(e=this.diff.get())||void 0===e?void 0:e.mappings.length))return;const s=this._unchangedRegions.get().regions;for(const e of s)if(e.getHiddenModifiedRange(void 0).contains(t))return void e.showModifiedLine(t,i)}ensureOriginalLineIsVisible(t,i){var e;if(0===(null===(e=this.diff.get())||void 0===e?void 0:e.mappings.length))return;const s=this._unchangedRegions.get().regions;for(const e of s)if(e.getHiddenOriginalRange(void 0).contains(t))return void e.showOriginalLine(t,i)}async waitForDiff(){var t;await(t=this.isDiffUpToDate,t=>t,new Promise((i=>{let e=!1,s=!1;const n=t.map((t=>({isFinished:t,state:t}))),o=RV((t=>{const{isFinished:r,state:h}=n.read(t);r&&(e?o.dispose():s=!0,i(h))}));e=!0,s&&o.dispose()})))}serializeState(){return{collapsedRegions:this._unchangedRegions.get().regions.map((t=>({range:t.getHiddenModifiedRange(void 0).serialize()})))}}restoreSerializedState(t){const i=t.collapsedRegions.map((t=>rp.deserialize(t.range))),e=this._unchangedRegions.get();dV((t=>{for(const s of e.regions)for(const e of i)if(s.modifiedUnchangedRange.intersect(e)){s.setHiddenModifiedRange(e,t);break}}))}};nq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,eq)],nq);class oq{static fromDiffResult(t){return new oq(t.changes.map((t=>new rq(t))),t.moves||[],t.identical,t.quitEarly)}constructor(t,i,e,s){this.mappings=t,this.movedTexts=i,this.identical=e,this.quitEarly=s}}class rq{constructor(t){this.lineRangeMapping=t}}class hq{static fromDiffs(t,i,e,s,n){const o=ap.inverse(t,i,e),r=[];for(const t of o){let o=t.original.startLineNumber,h=t.modified.startLineNumber,c=t.original.length;const a=1===o&&1===h,l=o+c===i+1&&h+c===e+1;(a||l)&&c>=n+s?(a&&!l&&(c-=n),l&&!a&&(o+=n,h+=n,c-=n),r.push(new hq(o,h,c,0,0))):c>=2*n+s&&(o+=n,h+=n,c-=2*n,r.push(new hq(o,h,c,0,0)))}return r}get originalUnchangedRange(){return rp.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return rp.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(t,i,e,s,n){this.originalLineNumber=t,this.modifiedLineNumber=i,this.lineCount=e,this._visibleLineCountTop=xV(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=xV(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=AV(this,(t=>this.visibleLineCountTop.read(t)+this.visibleLineCountBottom.read(t)===this.lineCount&&!this.isDragged.read(t))),this.isDragged=xV(this,void 0),this._visibleLineCountTop.set(s,void 0),this._visibleLineCountBottom.set(n,void 0)}shouldHideControls(t){return this._shouldHideControls.read(t)}getHiddenOriginalRange(t){return rp.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(t),this.lineCount-this._visibleLineCountTop.read(t)-this._visibleLineCountBottom.read(t))}getHiddenModifiedRange(t){return rp.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(t),this.lineCount-this._visibleLineCountTop.read(t)-this._visibleLineCountBottom.read(t))}setHiddenModifiedRange(t,i){this.setState(t.startLineNumber-this.modifiedLineNumber,this.modifiedLineNumber+this.lineCount-t.endLineNumberExclusive,i)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(t=10,i){const e=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+t,e),i)}showMoreBelow(t=10,i){const e=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+t,e),i)}showAll(t){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),t)}showModifiedLine(t,i){const e=t+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),s=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-t;e{var n;this._contextMenuService.showContextMenu({domForShadowRoot:u&&null!==(n=e.getDomNode())&&void 0!==n?n:void 0,getAnchor:()=>({x:t,y:i}),getActions:()=>{const t=[],i=s.modified.isEmpty;return t.push(new mr("diff.clipboard.copyDeletedContent",rt(0,i?s.original.length>1?"Copy deleted lines":"Copy deleted line":s.original.length>1?"Copy changed lines":"Copy changed line"),void 0,!0,(async()=>{const t=this._originalTextModel.getValueInRange(s.original.toExclusiveRange());await this._clipboardService.writeText(t)}))),s.original.length>1&&t.push(new mr("diff.clipboard.copyDeletedLineContent",rt(0,i?"Copy deleted line ({0})":"Copy changed line ({0})",s.original.startLineNumber+l),void 0,!0,(async()=>{let t=this._originalTextModel.getLineContent(s.original.startLineNumber+l);""===t&&(t=0===this._originalTextModel.getEndOfLineSequence()?"\n":"\r\n"),await this._clipboardService.writeText(t)}))),e.getOption(90)||t.push(new mr("diff.inline.revertChange",rt(0,"Revert this change"),void 0,!0,(async()=>{this._editor.revert(this._diff)}))),t},autoSelectFirstItem:!0})};this._register(qa(this._diffActions,"mousedown",(t=>{if(!t.leftButton)return;const{top:i,height:e}=nl(this._diffActions),s=Math.floor(a/3);t.preventDefault(),d(t.posx,i+e+s)}))),this._register(e.onMouseMove((t=>{8!==t.target.type&&5!==t.target.type||t.target.detail.viewZoneId!==this._getViewZoneId()?this.visibility=!1:(l=this._updateLightBulbPosition(this._marginDomNode,t.event.browserEvent.y,a),this.visibility=!0)}))),this._register(e.onMouseDown((t=>{!t.event.leftButton||8!==t.target.type&&5!==t.target.type||t.target.detail.viewZoneId===this._getViewZoneId()&&(t.event.preventDefault(),l=this._updateLightBulbPosition(this._marginDomNode,t.event.browserEvent.y,a),d(t.event.posx,t.event.posy+a))})))}_updateLightBulbPosition(t,i,e){const{top:s}=nl(t),n=Math.floor((i-s)/e);if(this._diffActions.style.top=n*e+"px",this._viewLineCounts){let t=0;for(let i=0;it});function lq(t,i,e,s){ir(s,i.fontInfo);const n=e.length>0,o=new td(1e4);let r=0,h=0;const c=[];for(let s=0;s');const c=i.getLineContent(),a=Jg.isBasicASCII(c,n),l=Jg.containsRTL(c,a,o),u=Hg(new $g(r.fontInfo.isMonospace&&!r.disableMonospaceOptimizations,r.fontInfo.canUseHalfwidthRightwardsArrow,c,!1,a,l,0,i,e,r.tabSize,0,r.fontInfo.spaceWidth,r.fontInfo.middotWidth,r.fontInfo.wsmiddotWidth,r.stopRenderingLineAfter,r.renderWhitespace,r.renderControlCharacters,r.fontLigatures!==vi.OFF,null),h);return h.appendString(""),u.characterMapping.getHorizontalOffset(u.characterMapping.length)}var pq=function(t,i){return function(e,s){i(e,s,t)}};let gq=class extends ie{constructor(t,i,e,s,n,o,r,h,c,a){super(),this._targetWindow=t,this._editors=i,this._diffModel=e,this._options=s,this._diffEditorWidget=n,this._canIgnoreViewZoneUpdateEvent=o,this._origViewZonesToIgnore=r,this._modViewZonesToIgnore=h,this._clipboardService=c,this._contextMenuService=a,this._originalTopPadding=xV(this,0),this._originalScrollOffset=xV(this,0),this._originalScrollOffsetAnimated=tU(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=xV(this,0),this._modifiedScrollOffset=xV(this,0),this._modifiedScrollOffsetAnimated=tU(this._targetWindow,this._modifiedScrollOffset,this._store);const l=xV("invalidateAlignmentsState",0),u=this._register(new pc((()=>{l.set(l.get()+1,void 0)}),0));this._register(this._editors.original.onDidChangeViewZones((()=>{this._canIgnoreViewZoneUpdateEvent()||u.schedule()}))),this._register(this._editors.modified.onDidChangeViewZones((()=>{this._canIgnoreViewZoneUpdateEvent()||u.schedule()}))),this._register(this._editors.original.onDidChangeConfiguration((t=>{(t.hasChanged(144)||t.hasChanged(66))&&u.schedule()}))),this._register(this._editors.modified.onDidChangeConfiguration((t=>{(t.hasChanged(144)||t.hasChanged(66))&&u.schedule()})));const d=this._diffModel.map((t=>t?$V(t.model.original.onDidChangeTokens,(()=>2===t.model.original.tokenization.backgroundTokenizationState)):void 0)).map(((t,i)=>null==t?void 0:t.read(i))),f=AV((t=>{const i=this._diffModel.read(t),e=null==i?void 0:i.diff.read(t);if(!i||!e)return null;l.read(t);const s=this._options.renderSideBySide.read(t);return mq(this._editors.original,this._editors.modified,e.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,s)})),p=AV((t=>{var i;const e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.movedTextToCompare.read(t);if(!e)return null;l.read(t);const s=e.changes.map((t=>new rq(t)));return mq(this._editors.original,this._editors.modified,s,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)}));function g(){const t=document.createElement("div");return t.className="diagonal-fill",t}const m=this._register(new te);this.viewZones=LV(this,((t,i)=>{var e,s,o,r,h,c,a,l;m.clear();const u=f.read(t)||[],w=[],v=[],b=this._modifiedTopPadding.read(t);b>0&&v.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:b,showInHiddenAreas:!0,suppressMouseDown:!0});const y=this._originalTopPadding.read(t);y>0&&w.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:y,showInHiddenAreas:!0,suppressMouseDown:!0});const k=this._options.renderSideBySide.read(t),x=k||null===(e=this._editors.modified._getViewModel())||void 0===e?void 0:e.createLineBreaksComputer();if(x)for(const F of u)if(F.diff)for(let T=F.originalRange.startLineNumber;Tthis._editors.original.getModel().tokenization.getLineTokens(t))),R.originalRange.mapToLineArray((()=>C[S++])),A,M),N=[];for(const W of R.diff.innerChanges||[])N.push(new Yg(W.originalRange.delta(-(R.diff.original.startLineNumber-1)),IU.className,0));const B=lq(_,L,N,I),P=document.createElement("div");if(P.className="inline-deleted-margin-view-zone",ir(P,L.fontInfo),this._options.renderIndicators.read(t))for(let j=0;jG($)),P,this._editors.modified,R.diff,this._diffEditorWidget,B.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let H=0;H1&&w.push({afterLineNumber:R.originalRange.startLineNumber+H,domNode:g(),heightInPx:(V-1)*D,showInHiddenAreas:!0,suppressMouseDown:!0})}v.push({afterLineNumber:R.modifiedRange.startLineNumber-1,domNode:I,heightInPx:B.heightInLines*D,minWidthInPx:B.minWidthInPx,marginDomNode:P,setZoneId(t){$=t},showInHiddenAreas:!0,suppressMouseDown:!0})}const O=document.createElement("div");O.className="gutter-delete",w.push({afterLineNumber:R.originalRange.endLineNumberExclusive-1,domNode:g(),heightInPx:R.modifiedHeightInPx,marginDomNode:O,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const U=R.modifiedHeightInPx-R.originalHeightInPx;if(U>0){if(null==E?void 0:E.lineRangeMapping.original.delta(-1).deltaLength(2).contains(R.originalRange.endLineNumberExclusive-1))continue;w.push({afterLineNumber:R.originalRange.endLineNumberExclusive-1,domNode:g(),heightInPx:U,showInHiddenAreas:!0,suppressMouseDown:!0})}else{if(null==E?void 0:E.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(R.modifiedRange.endLineNumberExclusive-1))continue;function q(){const t=document.createElement("div");return t.className="arrow-revert-change "+Cr.asClassName(Os.arrowRight),i.add(Va(t,"mousedown",(t=>t.stopPropagation()))),i.add(Va(t,"click",(t=>{t.stopPropagation(),n.revert(R.diff)}))),$l("div",{},t)}let K;R.diff&&R.diff.modified.isEmpty&&this._options.shouldRenderRevertArrows.read(t)&&(K=q()),v.push({afterLineNumber:R.modifiedRange.endLineNumberExclusive-1,domNode:g(),heightInPx:-U,marginDomNode:K,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const Z of null!==(l=p.read(t))&&void 0!==l?l:[]){if(!(null==E?void 0:E.lineRangeMapping.original.intersect(Z.originalRange))||!(null==E?void 0:E.lineRangeMapping.modified.intersect(Z.modifiedRange)))continue;const Q=Z.modifiedHeightInPx-Z.originalHeightInPx;Q>0?w.push({afterLineNumber:Z.originalRange.endLineNumberExclusive-1,domNode:g(),heightInPx:Q,showInHiddenAreas:!0,suppressMouseDown:!0}):v.push({afterLineNumber:Z.modifiedRange.endLineNumberExclusive-1,domNode:g(),heightInPx:-Q,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:w,mod:v}}));let w=!1;this._register(this._editors.original.onDidScrollChange((t=>{t.scrollLeftChanged&&!w&&(w=!0,this._editors.modified.setScrollLeft(t.scrollLeft),w=!1)}))),this._register(this._editors.modified.onDidScrollChange((t=>{t.scrollLeftChanged&&!w&&(w=!0,this._editors.original.setScrollLeft(t.scrollLeft),w=!1)}))),this._originalScrollTop=$V(this._editors.original.onDidScrollChange,(()=>this._editors.original.getScrollTop())),this._modifiedScrollTop=$V(this._editors.modified.onDidScrollChange,(()=>this._editors.modified.getScrollTop())),this._register(RV((t=>{const i=this._originalScrollTop.read(t)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(t))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(t));i!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(i,1)}))),this._register(RV((t=>{const i=this._modifiedScrollTop.read(t)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(t))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(t));i!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(i,1)}))),this._register(RV((t=>{var i;const e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.movedTextToCompare.read(t);let s=0;if(e){const t=this._editors.original.getTopForLineNumber(e.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();s=this._editors.modified.getTopForLineNumber(e.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-t}s>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(s,void 0)):s<0?(this._modifiedTopPadding.set(-s,void 0),this._originalTopPadding.set(0,void 0)):setTimeout((()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)}),400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-s,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+s,void 0,!0)})))}};function mq(t,i,e,s,n,o){const r=new N(wq(t,s)),h=new N(wq(i,n)),c=t.getOption(66),a=i.getOption(66),l=[];let u=0,d=0;function f(t,i){for(;;){let e=r.peek(),s=h.peek();if(e&&e.lineNumber>=t&&(e=void 0),s&&s.lineNumber>=i&&(s=void 0),!e&&!s)break;const n=e?e.lineNumber-u:Number.MAX_VALUE,o=s?s.lineNumber-d:Number.MAX_VALUE;no?(h.dequeue(),e={lineNumber:s.lineNumber-d+u,heightInPx:0}):(r.dequeue(),h.dequeue()),l.push({originalRange:rp.ofLength(e.lineNumber,1),modifiedRange:rp.ofLength(s.lineNumber,1),originalHeightInPx:c+e.heightInPx,modifiedHeightInPx:a+s.heightInPx,diff:void 0})}}for(const p of e){const g=p.lineRangeMapping;f(g.original.startLineNumber,g.modified.startLineNumber);let m=!0,w=g.modified.startLineNumber,v=g.original.startLineNumber;function b(t,i){var e,s,n,o;if(ti.lineNumbert+i.heightInPx),0))&&void 0!==s?s:0,g=null!==(o=null===(n=h.takeWhile((t=>t.lineNumbert+i.heightInPx),0))&&void 0!==o?o:0;l.push({originalRange:u,modifiedRange:d,originalHeightInPx:u.length*c+f,modifiedHeightInPx:d.length*a+g,diff:p.lineRangeMapping}),v=t,w=i}if(o)for(const y of g.innerChanges||[])y.originalRange.startColumn>1&&y.modifiedRange.startColumn>1&&b(y.originalRange.startLineNumber,y.modifiedRange.startLineNumber),y.originalRange.endColumn1&&s.push({lineNumber:i,heightInPx:r*(t-1)})}for(const s of t.getWhitespaces()){if(i.has(s.id))continue;const t=0===s.afterLineNumber?0:o.convertViewPositionToModelPosition(new As(s.afterLineNumber,1)).lineNumber;e.push({lineNumber:t,heightInPx:s.height})}return function(t,i,e){if(0===t.length)return i;if(0===i.length)return t;const s=[];let n=0,o=0;for(;nl?(s.push(c),o++):(s.push({lineNumber:(r=h).lineNumber,heightInPx:r.heightInPx+c.heightInPx}),n++,o++)}for(var r;nt.lineNumber))}gq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([pq(8,dH),pq(9,eI)],gq);var vq;let bq=vq=class extends ie{constructor(t,i,e,s,n,o,r){super(),this._editors=t,this._rootElement=i,this._diffModel=e,this._rootWidth=s,this._rootHeight=n,this._modifiedEditorLayoutInfo=o,this._themeService=r,this.width=vq.ENTIRE_DIFF_OVERVIEW_WIDTH;const h=$V(this._themeService.onDidColorThemeChange,(()=>this._themeService.getColorTheme())),c=AV((t=>{const i=h.read(t);return{insertColor:i.getColor(Wv)||(i.getColor(Pv)||Nv).transparent(2),removeColor:i.getColor(jv)||(i.getColor($v)||Bv).transparent(2)}})),a=tr(document.createElement("div"));a.setClassName("diffViewport"),a.setPosition("absolute");const l=Jl("div.diffOverview",{style:{position:"absolute",top:"0px",width:vq.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(YV(l,a.domNode)),this._register(qa(l,Ll.POINTER_DOWN,(t=>{this._editors.modified.delegateVerticalScrollbarPointerDown(t)}))),this._register(Va(l,Ll.MOUSE_WHEEL,(t=>{this._editors.modified.delegateScrollFromMouseWheelEvent(t)}),{passive:!1})),this._register(YV(this._rootElement,l)),this._register(_V(((t,i)=>{const e=this._diffModel.read(t),s=this._editors.original.createOverviewRuler("original diffOverviewRuler");s&&(i.add(s),i.add(YV(l,s.getDomNode())));const n=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(n&&(i.add(n),i.add(YV(l,n.getDomNode()))),!s||!n)return;const o=jV("viewZoneChanged",this._editors.original.onDidChangeViewZones),r=jV("viewZoneChanged",this._editors.modified.onDidChangeViewZones),h=jV("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),u=jV("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);i.add(RV((t=>{var i;o.read(t),r.read(t),h.read(t),u.read(t);const a=c.read(t),l=null===(i=null==e?void 0:e.diff.read(t))||void 0===i?void 0:i.mappings;function d(t,i,e){const s=e._getViewModel();return s?t.filter((t=>t.length>0)).map((t=>{const e=s.coordinatesConverter.convertModelPositionToViewPosition(new As(t.startLineNumber,1)),n=s.coordinatesConverter.convertModelPositionToViewPosition(new As(t.endLineNumberExclusive,1));return new pD(e.lineNumber,n.lineNumber,n.lineNumber-e.lineNumber,i.toString())})):[]}const f=d((l||[]).map((t=>t.lineRangeMapping.original)),a.removeColor,this._editors.original),p=d((l||[]).map((t=>t.lineRangeMapping.modified)),a.insertColor,this._editors.modified);null==s||s.setZones(f),null==n||n.setZones(p)}))),i.add(RV((t=>{const i=this._rootHeight.read(t),e=this._rootWidth.read(t),o=this._modifiedEditorLayoutInfo.read(t);if(o){s.setLayout({top:0,height:i,right:vq.ENTIRE_DIFF_OVERVIEW_WIDTH-2*vq.ONE_OVERVIEW_WIDTH+vq.ONE_OVERVIEW_WIDTH,width:vq.ONE_OVERVIEW_WIDTH}),n.setLayout({top:0,height:i,right:0,width:vq.ONE_OVERVIEW_WIDTH});const e=this._editors.modifiedScrollTop.read(t),r=this._editors.modifiedScrollHeight.read(t),h=this._editors.modified.getOption(102),c=new uk(h.verticalHasArrows?h.arrowSize:0,h.verticalScrollbarSize,0,o.height,r,e);a.setTop(c.getSliderPosition()),a.setHeight(c.getSliderSize())}else a.setTop(0),a.setHeight(0);l.style.height=i+"px",l.style.left=e-vq.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",a.setWidth(vq.ENTIRE_DIFF_OVERVIEW_WIDTH)})))})))}};bq.ONE_OVERVIEW_WIDTH=15,bq.ENTIRE_DIFF_OVERVIEW_WIDTH=2*vq.ONE_OVERVIEW_WIDTH,bq=vq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(6,qk)],bq),ow("diffEditor.move.border",{dark:"#8b8b8b9c",light:"#8b8b8b9c",hcDark:"#8b8b8b9c",hcLight:"#8b8b8b9c"},rt(0,"The border color for text that got moved in the diff editor.")),ow("diffEditor.moveActive.border",{dark:"#FFA500",light:"#FFA500",hcDark:"#FFA500",hcLight:"#FFA500"},rt(0,"The active border color for text that got moved in the diff editor.")),ow("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},rt(0,"The color of the shadow around unchanged region widgets."));class yq extends ie{constructor(){super(...arguments),this._id=++yq.idCounter,this._onDidDispose=this._register(new fe),this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(t){return this._targetEditor.getVisibleColumnFromPosition(t)}getPosition(){return this._targetEditor.getPosition()}setPosition(t,i="api"){this._targetEditor.setPosition(t,i)}revealLine(t,i=0){this._targetEditor.revealLine(t,i)}revealLineInCenter(t,i=0){this._targetEditor.revealLineInCenter(t,i)}revealLineInCenterIfOutsideViewport(t,i=0){this._targetEditor.revealLineInCenterIfOutsideViewport(t,i)}revealLineNearTop(t,i=0){this._targetEditor.revealLineNearTop(t,i)}revealPosition(t,i=0){this._targetEditor.revealPosition(t,i)}revealPositionInCenter(t,i=0){this._targetEditor.revealPositionInCenter(t,i)}revealPositionInCenterIfOutsideViewport(t,i=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(t,i)}revealPositionNearTop(t,i=0){this._targetEditor.revealPositionNearTop(t,i)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(t,i="api"){this._targetEditor.setSelection(t,i)}setSelections(t,i="api"){this._targetEditor.setSelections(t,i)}revealLines(t,i,e=0){this._targetEditor.revealLines(t,i,e)}revealLinesInCenter(t,i,e=0){this._targetEditor.revealLinesInCenter(t,i,e)}revealLinesInCenterIfOutsideViewport(t,i,e=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(t,i,e)}revealLinesNearTop(t,i,e=0){this._targetEditor.revealLinesNearTop(t,i,e)}revealRange(t,i=0,e=!1,s=!0){this._targetEditor.revealRange(t,i,e,s)}revealRangeInCenter(t,i=0){this._targetEditor.revealRangeInCenter(t,i)}revealRangeInCenterIfOutsideViewport(t,i=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(t,i)}revealRangeNearTop(t,i=0){this._targetEditor.revealRangeNearTop(t,i)}revealRangeNearTopIfOutsideViewport(t,i=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(t,i)}revealRangeAtTop(t,i=0){this._targetEditor.revealRangeAtTop(t,i)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(t,i,e){this._targetEditor.trigger(t,i,e)}createDecorationsCollection(t){return this._targetEditor.createDecorationsCollection(t)}changeDecorations(t){return this._targetEditor.changeDecorations(t)}}yq.idCounter=0;var kq=function(t,i){return function(e,s){i(e,s,t)}};let xq=class extends ie{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(t,i,e,s,n,o,r){super(),this.originalEditorElement=t,this.modifiedEditorElement=i,this._options=e,this._createInnerEditor=n,this._instantiationService=o,this._keybindingService=r,this._onDidContentSizeChange=this._register(new fe),this.original=this._register(this._createLeftHandSideEditor(e.editorOptions.get(),s.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(e.editorOptions.get(),s.modifiedEditor||{})),this.modifiedModel=$V(this.modified.onDidChangeModel,(()=>this.modified.getModel())),this.modifiedScrollTop=$V(this.modified.onDidScrollChange,(()=>this.modified.getScrollTop())),this.modifiedScrollHeight=$V(this.modified.onDidScrollChange,(()=>this.modified.getScrollHeight())),this.modifiedSelections=$V(this.modified.onDidChangeCursorSelection,(()=>{var t;return null!==(t=this.modified.getSelections())&&void 0!==t?t:[]})),this.modifiedCursor=$V(this.modified.onDidChangeCursorPosition,(()=>{var t;return null!==(t=this.modified.getPosition())&&void 0!==t?t:new As(1,1)})),this._register(IV({createEmptyChangeSummary:()=>({}),handleChange:(t,i)=>(t.didChange(e.editorOptions)&&Object.assign(i,t.change.changedOptions),!0)},((t,i)=>{e.editorOptions.read(t),this._options.renderSideBySide.read(t),this.modified.updateOptions(this._adjustOptionsForRightHandSide(t,i)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(t,i))})))}_createLeftHandSideEditor(t,i){const e=this._adjustOptionsForLeftHandSide(void 0,t),s=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,e,i);return s.setContextValue("isInDiffLeftEditor",!0),s}_createRightHandSideEditor(t,i){const e=this._adjustOptionsForRightHandSide(void 0,t),s=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,e,i);return s.setContextValue("isInDiffRightEditor",!0),s}_constructInnerEditor(t,i,e,s){const n=this._createInnerEditor(t,i,e,s);return this._register(n.onDidContentSizeChange((t=>{const i=this.original.getContentWidth()+this.modified.getContentWidth()+bq.ENTIRE_DIFF_OVERVIEW_WIDTH,e=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:e,contentWidth:i,contentHeightChanged:t.contentHeightChanged,contentWidthChanged:t.contentWidthChanged})}))),n}_adjustOptionsForLeftHandSide(t,i){const e=this._adjustOptionsForSubEditor(i);return this._options.renderSideBySide.get()?(e.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},e.wordWrapOverride1=this._options.diffWordWrap.get()):(e.wordWrapOverride1="off",e.wordWrapOverride2="off",e.stickyScroll={enabled:!1},e.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),e.glyphMargin=this._options.renderSideBySide.get(),i.originalAriaLabel&&(e.ariaLabel=i.originalAriaLabel),e.ariaLabel=this._updateAriaLabel(e.ariaLabel),e.readOnly=!this._options.originalEditable.get(),e.dropIntoEditor={enabled:!e.readOnly},e.extraEditorClassName="original-in-monaco-diff-editor",e}_adjustOptionsForRightHandSide(t,i){const e=this._adjustOptionsForSubEditor(i);return i.modifiedAriaLabel&&(e.ariaLabel=i.modifiedAriaLabel),e.ariaLabel=this._updateAriaLabel(e.ariaLabel),e.wordWrapOverride1=this._options.diffWordWrap.get(),e.revealHorizontalRightPadding=Ni.revealHorizontalRightPadding.defaultValue+bq.ENTIRE_DIFF_OVERVIEW_WIDTH,e.scrollbar.verticalHasArrows=!1,e.extraEditorClassName="modified-in-monaco-diff-editor",e}_adjustOptionsForSubEditor(t){const i={...t,dimension:{height:0,width:0}};return i.inDiffEditor=!0,i.automaticLayout=!1,i.scrollbar={...i.scrollbar||{}},i.folding=!1,i.codeLens=this._options.diffCodeLens.get(),i.fixedOverflowWidgets=!0,i.minimap={...i.minimap||{}},i.minimap.enabled=!1,i.stickyScroll=this._options.hideUnchangedRegions.get()?{enabled:!1}:this._options.editorOptions.get().stickyScroll,i}_updateAriaLabel(t){var i;t||(t="");const e=rt(0," use {0} to open the accessibility help.",null===(i=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp"))||void 0===i?void 0:i.getAriaLabel());return this._options.accessibilityVerbose.get()?t+e:t?t.replaceAll(e,""):""}};xq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([kq(5,ur),kq(6,Yx)],xq);class Cq{get editorOptions(){return this._options}constructor(t){this._diffEditorWidth=xV(this,0),this.couldShowInlineViewBecauseOfSize=AV(this,(t=>this._options.read(t).renderSideBySide&&this._diffEditorWidth.read(t)<=this._options.read(t).renderSideBySideInlineBreakpoint)),this.renderOverviewRuler=AV(this,(t=>this._options.read(t).renderOverviewRuler)),this.renderSideBySide=AV(this,(t=>this._options.read(t).renderSideBySide&&!(this._options.read(t).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(t)))),this.readOnly=AV(this,(t=>this._options.read(t).readOnly)),this.shouldRenderRevertArrows=AV(this,(t=>!!this._options.read(t).renderMarginRevertIcon&&!!this.renderSideBySide.read(t)&&!this.readOnly.read(t))),this.renderIndicators=AV(this,(t=>this._options.read(t).renderIndicators)),this.enableSplitViewResizing=AV(this,(t=>this._options.read(t).enableSplitViewResizing)),this.splitViewDefaultRatio=AV(this,(t=>this._options.read(t).splitViewDefaultRatio)),this.ignoreTrimWhitespace=AV(this,(t=>this._options.read(t).ignoreTrimWhitespace)),this.maxComputationTimeMs=AV(this,(t=>this._options.read(t).maxComputationTime)),this.showMoves=AV(this,(t=>this._options.read(t).experimental.showMoves&&this.renderSideBySide.read(t))),this.isInEmbeddedEditor=AV(this,(t=>this._options.read(t).isInEmbeddedEditor)),this.diffWordWrap=AV(this,(t=>this._options.read(t).diffWordWrap)),this.originalEditable=AV(this,(t=>this._options.read(t).originalEditable)),this.diffCodeLens=AV(this,(t=>this._options.read(t).diffCodeLens)),this.accessibilityVerbose=AV(this,(t=>this._options.read(t).accessibilityVerbose)),this.diffAlgorithm=AV(this,(t=>this._options.read(t).diffAlgorithm)),this.showEmptyDecorations=AV(this,(t=>this._options.read(t).experimental.showEmptyDecorations)),this.onlyShowAccessibleDiffViewer=AV(this,(t=>this._options.read(t).onlyShowAccessibleDiffViewer)),this.hideUnchangedRegions=AV(this,(t=>this._options.read(t).hideUnchangedRegions.enabled)),this.hideUnchangedRegionsRevealLineCount=AV(this,(t=>this._options.read(t).hideUnchangedRegions.revealLineCount)),this.hideUnchangedRegionsContextLineCount=AV(this,(t=>this._options.read(t).hideUnchangedRegions.contextLineCount)),this.hideUnchangedRegionsMinimumLineCount=AV(this,(t=>this._options.read(t).hideUnchangedRegions.minimumLineCount));const i={...t,...Sq(t,tO)};this._options=xV(this,i)}updateOptions(t){const i=Sq(t,this._options.get()),e={...this._options.get(),...t,...i};this._options.set(e,void 0,{changedOptions:t})}setWidth(t){this._diffEditorWidth.set(t,void 0)}}function Sq(t,i){var e,s,n,o,r,h,c,a;return{enableSplitViewResizing:ri(t.enableSplitViewResizing,i.enableSplitViewResizing),splitViewDefaultRatio:li(t.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:ri(t.renderSideBySide,i.renderSideBySide),renderMarginRevertIcon:ri(t.renderMarginRevertIcon,i.renderMarginRevertIcon),maxComputationTime:ci(t.maxComputationTime,i.maxComputationTime,0,1073741824),maxFileSize:ci(t.maxFileSize,i.maxFileSize,0,1073741824),ignoreTrimWhitespace:ri(t.ignoreTrimWhitespace,i.ignoreTrimWhitespace),renderIndicators:ri(t.renderIndicators,i.renderIndicators),originalEditable:ri(t.originalEditable,i.originalEditable),diffCodeLens:ri(t.diffCodeLens,i.diffCodeLens),renderOverviewRuler:ri(t.renderOverviewRuler,i.renderOverviewRuler),diffWordWrap:fi(t.diffWordWrap,i.diffWordWrap,["off","on","inherit"]),diffAlgorithm:fi(t.diffAlgorithm,i.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:ri(t.accessibilityVerbose,i.accessibilityVerbose),experimental:{showMoves:ri(null===(e=t.experimental)||void 0===e?void 0:e.showMoves,i.experimental.showMoves),showEmptyDecorations:ri(null===(s=t.experimental)||void 0===s?void 0:s.showEmptyDecorations,i.experimental.showEmptyDecorations)},hideUnchangedRegions:{enabled:ri(null!==(o=null===(n=t.hideUnchangedRegions)||void 0===n?void 0:n.enabled)&&void 0!==o?o:null===(r=t.experimental)||void 0===r?void 0:r.collapseUnchangedRegions,i.hideUnchangedRegions.enabled),contextLineCount:ci(null===(h=t.hideUnchangedRegions)||void 0===h?void 0:h.contextLineCount,i.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:ci(null===(c=t.hideUnchangedRegions)||void 0===c?void 0:c.minimumLineCount,i.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:ci(null===(a=t.hideUnchangedRegions)||void 0===a?void 0:a.revealLineCount,i.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:ri(t.isInEmbeddedEditor,i.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:ri(t.onlyShowAccessibleDiffViewer,i.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:ci(t.renderSideBySideInlineBreakpoint,i.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:ri(t.useInlineViewWhenSpaceIsLimited,i.useInlineViewWhenSpaceIsLimited)}}var Dq=function(t,i){return function(e,s){i(e,s,t)}};let Eq=class extends yq{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(t,i,e,s,n,o,r,h){var c;super(),this._domElement=t,this._parentContextKeyService=s,this._parentInstantiationService=n,this._audioCueService=r,this._editorProgressService=h,this.elements=Jl("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[Jl("div.noModificationsOverlay@overlay",{style:{position:"absolute",height:"100%",visibility:"hidden"}},[$l("span",{},"No Changes")]),Jl("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),Jl("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),Jl("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModel=xV(this,void 0),this._shouldDisposeDiffModel=!1,this.onDidChangeModel=ce.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._parentInstantiationService.createChild(new KF([ah,this._contextKeyService])),this._boundarySashes=xV(this,void 0),this._accessibleDiffViewerShouldBeVisible=xV(this,!1),this._accessibleDiffViewerVisible=AV(this,(t=>!!this._options.onlyShowAccessibleDiffViewer.read(t)||this._accessibleDiffViewerShouldBeVisible.read(t))),this._movedBlocksLinesPart=xV(this,void 0),this._layoutInfo=AV(this,(t=>{var i,e,s,n,o;const r=this._rootSizeObserver.width.read(t),h=this._rootSizeObserver.height.read(t),c=null===(i=this._sash.read(t))||void 0===i?void 0:i.sashLeft.read(t),a=null!=c?c:Math.max(5,this._editors.original.getLayoutInfo().decorationsLeft),l=r-a-(null!==(s=null===(e=this._overviewRulerPart.read(t))||void 0===e?void 0:e.width)&&void 0!==s?s:0),u=a-(null!==(o=null===(n=this._movedBlocksLinesPart.read(t))||void 0===n?void 0:n.width.read(t))&&void 0!==o?o:0);return this.elements.original.style.width=u+"px",this.elements.original.style.left="0px",this.elements.modified.style.width=l+"px",this.elements.modified.style.left=a+"px",this._editors.original.layout({width:u,height:h},!0),this._editors.modified.layout({width:l,height:h},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}})),this._diffValue=this._diffModel.map(((t,i)=>null==t?void 0:t.diff.read(i))),this.onDidUpdateDiff=ce.fromObservableLight(this._diffValue),o.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register(Xi((()=>this._domElement.removeChild(this.elements.root)))),this._rootSizeObserver=this._register(new XV(this.elements.root,i.dimension)),this._rootSizeObserver.setAutomaticLayout(null!==(c=i.automaticLayout)&&void 0!==c&&c),this._options=new Cq(i),this._register(RV((t=>{this._options.setWidth(this._rootSizeObserver.width.read(t))}))),this._contextKeyService.createKey(UC.isEmbeddedDiffEditor.key,!1),this._register(aU(UC.isEmbeddedDiffEditor,this._contextKeyService,(t=>this._options.isInEmbeddedEditor.read(t)))),this._register(aU(UC.comparingMovedCode,this._contextKeyService,(t=>{var i;return!!(null===(i=this._diffModel.read(t))||void 0===i?void 0:i.movedTextToCompare.read(t))}))),this._register(aU(UC.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,(t=>this._options.couldShowInlineViewBecauseOfSize.read(t)))),this._register(aU(UC.hasChanges,this._contextKeyService,(t=>{var i,e,s;return(null!==(s=null===(e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.diff.read(t))||void 0===e?void 0:e.mappings.length)&&void 0!==s?s:0)>0}))),this._editors=this._register(this._instantiationService.createInstance(xq,this.elements.original,this.elements.modified,this._options,e,((t,i,e,s)=>this._createInnerEditor(t,i,e,s)))),this._overviewRulerPart=FV(this,(t=>this._options.renderOverviewRuler.read(t)?this._instantiationService.createInstance(oU(bq,t),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map((t=>t.modifiedEditor))):void 0)).recomputeInitiallyAndOnChange(this._store),this._sash=FV(this,(t=>{const i=this._options.renderSideBySide.read(t);return this.elements.root.classList.toggle("side-by-side",i),i?new HU(this._options,this.elements.root,{height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map(((t,i)=>{var e,s;return t-(null!==(s=null===(e=this._overviewRulerPart.read(i))||void 0===e?void 0:e.width)&&void 0!==s?s:0)}))},this._boundarySashes):void 0})).recomputeInitiallyAndOnChange(this._store);const a=FV(this,(t=>this._instantiationService.createInstance(oU(QU,t),this._editors,this._diffModel,this._options))).recomputeInitiallyAndOnChange(this._store);FV(this,(t=>this._instantiationService.createInstance(oU(WU,t),this._editors,this._diffModel,this._options,this))).recomputeInitiallyAndOnChange(this._store);const l=new Set,u=new Set;let d=!1;const f=FV(this,(t=>this._instantiationService.createInstance(oU(gq,t),Na(this._domElement),this._editors,this._diffModel,this._options,this,(()=>d||a.get().isUpdatingHiddenAreas),l,u))).recomputeInitiallyAndOnChange(this._store),p=AV(this,(t=>{const i=f.read(t).viewZones.read(t).orig,e=a.read(t).viewZones.read(t).origViewZones;return i.concat(e)})),g=AV(this,(t=>{const i=f.read(t).viewZones.read(t).mod,e=a.read(t).viewZones.read(t).modViewZones;return i.concat(e)}));let m;this._register(rU(this._editors.original,p,(t=>{d=t}),l)),this._register(rU(this._editors.modified,g,(t=>{d=t,d?m=KV.capture(this._editors.modified):(null==m||m.restore(this._editors.modified),m=void 0)}),u)),this._accessibleDiffViewer=FV(this,(t=>this._instantiationService.createInstance(oU(gU,t),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,((t,i)=>this._accessibleDiffViewerShouldBeVisible.set(t,i)),this._options.onlyShowAccessibleDiffViewer.map((t=>!t)),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map(((t,i)=>{var e;return null===(e=null==t?void 0:t.diff.read(i))||void 0===e?void 0:e.mappings.map((t=>t.lineRangeMapping))})),this._editors))).recomputeInitiallyAndOnChange(this._store);const w=this._accessibleDiffViewerVisible.map((t=>t?"hidden":"visible"));this._register(nU(this.elements.modified,{visibility:w})),this._register(nU(this.elements.original,{visibility:w})),this._createDiffEditorContributions(),o.addDiffEditor(this),this._register(UV(this._layoutInfo)),FV(this,(t=>new(oU(BU,t))(this.elements.root,this._diffModel,this._layoutInfo.map((t=>t.originalEditor)),this._layoutInfo.map((t=>t.modifiedEditor)),this._editors))).recomputeInitiallyAndOnChange(this._store,(t=>{this._movedBlocksLinesPart.set(t,void 0)})),this._register(nU(this.elements.overlay,{width:this._layoutInfo.map(((t,i)=>t.originalEditor.width+(this._options.renderSideBySide.read(i)?0:t.modifiedEditor.width))),visibility:AV((t=>{var i,e;return this._options.hideUnchangedRegions.read(t)&&0===(null===(e=null===(i=this._diffModel.read(t))||void 0===i?void 0:i.diff.read(t))||void 0===e?void 0:e.mappings.length)?"visible":"hidden"}))})),this._register(ce.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,(t=>{var i,e;if(3===(null==t?void 0:t.reason)){const s=null===(e=null===(i=this._diffModel.get())||void 0===i?void 0:i.diff.get())||void 0===e?void 0:e.mappings.find((i=>i.lineRangeMapping.modified.contains(t.position.lineNumber)));(null==s?void 0:s.lineRangeMapping.modified.isEmpty)?this._audioCueService.playAudioCue(BH.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):(null==s?void 0:s.lineRangeMapping.original.isEmpty)?this._audioCueService.playAudioCue(BH.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):s&&this._audioCueService.playAudioCue(BH.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}})));const v=this._diffModel.map(this,((t,i)=>{if(t)return void 0===t.diff.read(i)&&!t.isDiffUpToDate.read(i)}));this._register(_V(((t,i)=>{if(!0===v.read(t)){const t=this._editorProgressService.show(!0,1e3);i.add(Xi((()=>t.done())))}}))),this._register(Xi((()=>{var t;this._shouldDisposeDiffModel&&(null===(t=this._diffModel.get())||void 0===t||t.dispose())})))}_createInnerEditor(t,i,e,s){return t.createInstance(CT,i,e,s)}_createDiffEditorContributions(){const t=uu.getDiffEditorContributions();for(const i of t)try{this._register(this._instantiationService.createInstance(i.ctor,this))}catch(t){Pi(t)}}get _targetEditor(){return this._editors.modified}getEditorType(){return Eg.IDiffEditor}layout(t){this._rootSizeObserver.observe(t)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){var t;return{original:this._editors.original.saveViewState(),modified:this._editors.modified.saveViewState(),modelState:null===(t=this._diffModel.get())||void 0===t?void 0:t.serializeState()}}restoreViewState(t){var i;if(t&&t.original&&t.modified){const e=t;this._editors.original.restoreViewState(e.original),this._editors.modified.restoreViewState(e.modified),e.modelState&&(null===(i=this._diffModel.get())||void 0===i||i.restoreSerializedState(e.modelState))}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(t){return this._instantiationService.createInstance(nq,t,this._options)}getModel(){var t,i;return null!==(i=null===(t=this._diffModel.get())||void 0===t?void 0:t.model)&&void 0!==i?i:null}setModel(t,i){!t&&this._diffModel.get()&&this._accessibleDiffViewer.get().close();const e=t?"model"in t?{model:t,shouldDispose:!1}:{model:this.createViewModel(t),shouldDispose:!0}:void 0;this._diffModel.get()!==(null==e?void 0:e.model)&&pV(i,(t=>{var i;$V.batchEventsGlobally(t,(()=>{this._editors.original.setModel(e?e.model.model.original:null),this._editors.modified.setModel(e?e.model.model.modified:null)}));const s=this._diffModel.get(),n=this._shouldDisposeDiffModel;this._shouldDisposeDiffModel=null!==(i=null==e?void 0:e.shouldDispose)&&void 0!==i&&i,this._diffModel.set(null==e?void 0:e.model,t),n&&(null==s||s.dispose())}))}updateOptions(t){this._options.updateOptions(t)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){var t;const i=null===(t=this._diffModel.get())||void 0===t?void 0:t.diff.get();return i?i.mappings.map((t=>{const i=t.lineRangeMapping;let e,s,n,o,r=i.innerChanges;return i.original.isEmpty?(e=i.original.startLineNumber-1,s=0,r=void 0):(e=i.original.startLineNumber,s=i.original.endLineNumberExclusive-1),i.modified.isEmpty?(n=i.modified.startLineNumber-1,o=0,r=void 0):(n=i.modified.startLineNumber,o=i.modified.endLineNumberExclusive-1),{originalStartLineNumber:e,originalEndLineNumber:s,modifiedStartLineNumber:n,modifiedEndLineNumber:o,charChanges:null==r?void 0:r.map((t=>({originalStartLineNumber:t.originalRange.startLineNumber,originalStartColumn:t.originalRange.startColumn,originalEndLineNumber:t.originalRange.endLineNumber,originalEndColumn:t.originalRange.endColumn,modifiedStartLineNumber:t.modifiedRange.startLineNumber,modifiedStartColumn:t.modifiedRange.startColumn,modifiedEndLineNumber:t.modifiedRange.endLineNumber,modifiedEndColumn:t.modifiedRange.endColumn})))}})):null}revert(t){var i;if(t.innerChanges)return void this.revertRangeMappings(t.innerChanges);const e=null===(i=this._diffModel.get())||void 0===i?void 0:i.model;e&&this._editors.modified.executeEdits("diffEditor",[{range:t.modified.toExclusiveRange(),text:e.original.getValueInRange(t.original.toExclusiveRange())}])}revertRangeMappings(t){const i=this._diffModel.get();if(!i||!i.isDiffUpToDate.get())return;const e=t.map((t=>({range:t.modifiedRange,text:i.model.original.getValueInRange(t.originalRange)})));this._editors.modified.executeEdits("diffEditor",e)}_goTo(t){this._editors.modified.setPosition(new As(t.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(t.lineRangeMapping.modified.toExclusiveRange())}goToDiff(t){var i,e,s,n;const o=null===(e=null===(i=this._diffModel.get())||void 0===i?void 0:i.diff.get())||void 0===e?void 0:e.mappings;if(!o||0===o.length)return;const r=this._editors.modified.getPosition().lineNumber;let h;h="next"===t?null!==(s=o.find((t=>t.lineRangeMapping.modified.startLineNumber>r)))&&void 0!==s?s:o[0]:null!==(n=Xf(o,(t=>t.lineRangeMapping.modified.startLineNumber{var i;const e=null===(i=t.diff.get())||void 0===i?void 0:i.mappings;e&&0!==e.length&&this._goTo(e[0])}))}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const t=this._diffModel.get();t&&await t.waitForDiff()}mapToOtherSide(){var t,i;const e=this._editors.modified.hasWidgetFocus(),s=e?this._editors.original:this._editors.modified;let n;const o=(e?this._editors.modified:this._editors.original).getSelection();if(o){const s=null===(i=null===(t=this._diffModel.get())||void 0===t?void 0:t.diff.get())||void 0===i?void 0:i.mappings.map((t=>e?t.lineRangeMapping.flip():t.lineRangeMapping));if(s){const t=cU(o.getStartPosition(),s),i=cU(o.getEndPosition(),s);n=Ms.plusRange(t,i)}}return{destination:s,destinationSelection:n}}switchSide(){const{destination:t,destinationSelection:i}=this.mapToOtherSide();t.focus(),i&&t.setSelection(i)}exitCompareMove(){const t=this._diffModel.get();t&&t.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){var t;const i=null===(t=this._diffModel.get())||void 0===t?void 0:t.unchangedRegions.get();i&&dV((t=>{for(const e of i)e.collapseAll(t)}))}showAllUnchangedRegions(){var t;const i=null===(t=this._diffModel.get())||void 0===t?void 0:t.unchangedRegions.get();i&&dV((t=>{for(const e of i)e.showAll(t)}))}};Eq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Dq(3,ah),Dq(4,ur),Dq(5,fr),Dq(6,IH),Dq(7,IO)],Eq);var Aq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Mq=function(t,i){return function(e,s){i(e,s,t)}};let Lq=0,Fq=!1;let Tq=class extends CT{constructor(t,i,e,s,n,o,r,h,c,a,l,u){const d={...i};d.ariaLabel=d.ariaLabel||JO.editorViewAccessibleLabel,d.ariaLabel=d.ariaLabel+";"+JO.accessibilityHelpMessage,super(t,d,{},e,s,n,o,h,c,a,l,u),this._standaloneKeybindingService=r instanceof ZH?r:null,function(t){if(!t){if(Fq)return;Fq=!0}!function(t){Em=document.createElement("div"),Em.className="monaco-aria-container";const i=()=>{const t=document.createElement("div");return t.className="monaco-alert",t.setAttribute("role","alert"),t.setAttribute("aria-atomic","true"),Em.appendChild(t),t};Am=i(),Mm=i();const e=()=>{const t=document.createElement("div");return t.className="monaco-status",t.setAttribute("aria-live","polite"),t.setAttribute("aria-atomic","true"),Em.appendChild(t),t};Lm=e(),Fm=e(),t.appendChild(Em)}(t||$n.document.body)}(d.ariaContainerElement)}addCommand(t,i,e){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const s="DYNAMIC_"+ ++Lq,n=zr.deserialize(e);return this._standaloneKeybindingService.addDynamicKeybinding(s,t,i,n),s}createContextKey(t,i){return this._contextKeyService.createKey(t,i)}addAction(t){if("string"!=typeof t.id||"string"!=typeof t.label||"function"!=typeof t.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),ie.None;const i=t.id,e=t.label,s=zr.and(zr.equals("editorId",this.getId()),zr.deserialize(t.precondition)),n=t.keybindings,o=zr.and(s,zr.deserialize(t.keybindingContext)),r=t.contextMenuGroupId||null,h=t.contextMenuOrder||0,c=(i,...e)=>Promise.resolve(t.run(this,...e)),a=new te,l=this.getId()+":"+i;if(a.add(Dr.registerCommand(l,c)),r&&a.add(_h.appendMenuItem(Rh.EditorContext,{command:{id:l,title:e},when:s,group:r,order:h})),Array.isArray(n))for(const t of n)a.add(this._standaloneKeybindingService.addDynamicKeybinding(l,t,c,o));const u=new $D(l,e,e,void 0,s,((...i)=>Promise.resolve(t.run(this,...i))),this._contextKeyService);return this._actions.set(i,u),a.add(Xi((()=>{this._actions.delete(i)}))),a}_triggerCommand(t,i){if(this._codeEditorService instanceof BT)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(t,i)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(t,i)}};Tq=Aq([Mq(2,ur),Mq(3,fr),Mq(4,Sr),Mq(5,ah),Mq(6,Yx),Mq(7,qk),Mq(8,JF),Mq(9,zm),Mq(10,qd),Mq(11,gg)],Tq);let Rq=class extends Tq{constructor(t,i,e,s,n,o,r,h,c,a,l,u,d,f,p){const g={...i};eV(a,g,!1);const m=h.registerEditorContainer(t);"string"==typeof g.theme&&h.setTheme(g.theme),void 0!==g.autoDetectHighContrast&&h.setAutoDetectHighContrast(Boolean(g.autoDetectHighContrast));const w=g.model;let v;if(delete g.model,super(t,g,e,s,n,o,r,h,c,l,f,p),this._configurationService=a,this._standaloneThemeService=h,this._register(m),void 0===w){const t=d.getLanguageIdByMimeType(g.language)||g.language||Pd;v=Iq(u,d,g.value||"",t,void 0),this._ownsModel=!0}else v=w,this._ownsModel=!1;this._attachModel(v),v&&this._onDidChangeModel.fire({oldModelUrl:null,newModelUrl:v.uri})}dispose(){super.dispose()}updateOptions(t){eV(this._configurationService,t,!1),"string"==typeof t.theme&&this._standaloneThemeService.setTheme(t.theme),void 0!==t.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(t.autoDetectHighContrast)),super.updateOptions(t)}_postDetachModelCleanup(t){super._postDetachModelCleanup(t),t&&this._ownsModel&&(t.dispose(),this._ownsModel=!1)}};Rq=Aq([Mq(2,ur),Mq(3,fr),Mq(4,Sr),Mq(5,ah),Mq(6,Yx),Mq(7,Yz),Mq(8,JF),Mq(9,pd),Mq(10,zm),Mq(11,pr),Mq(12,yd),Mq(13,qd),Mq(14,gg)],Rq);let Oq=class extends Eq{constructor(t,i,e,s,n,o,r,h,c,a,l,u){const d={...i};eV(h,d,!0);const f=o.registerEditorContainer(t);"string"==typeof d.theme&&o.setTheme(d.theme),void 0!==d.autoDetectHighContrast&&o.setAutoDetectHighContrast(Boolean(d.autoDetectHighContrast)),super(t,d,{},s,e,n,u,a),this._configurationService=h,this._standaloneThemeService=o,this._register(f)}dispose(){super.dispose()}updateOptions(t){eV(this._configurationService,t,!0),"string"==typeof t.theme&&this._standaloneThemeService.setTheme(t.theme),void 0!==t.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(t.autoDetectHighContrast)),super.updateOptions(t)}_createInnerEditor(t,i,e){return t.createInstance(Tq,i,e)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(t,i,e){return this.getModifiedEditor().addCommand(t,i,e)}createContextKey(t,i){return this.getModifiedEditor().createContextKey(t,i)}addAction(t){return this.getModifiedEditor().addAction(t)}};function Iq(t,i,e,s,n){if(e=e||"",!s){const s=e.indexOf("\n");let o=e;return-1!==s&&(o=e.substring(0,s)),_q(t,e,i.createByFilepathOrFirstLine(n||null,o),n)}return _q(t,e,i.createById(s),n)}function _q(t,i,e,s){return t.createModel(i,e,s)}Oq=Aq([Mq(2,ur),Mq(3,ah),Mq(4,fr),Mq(5,Yz),Mq(6,JF),Mq(7,pd),Mq(8,eI),Mq(9,IO),Mq(10,dH),Mq(11,IH)],Oq);class Nq extends ie{constructor(t,i,e={orientation:0}){super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new ve),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new te),this.options=e,this.lookupKeybindings="function"==typeof this.options.getKeyBinding,this.toggleMenuAction=this._register(new Bq((()=>{var t;return null===(t=this.toggleMenuActionViewItem)||void 0===t?void 0:t.show()}),e.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",t.appendChild(this.element),this.actionBar=this._register(new VB(this.element,{orientation:e.orientation,ariaLabel:e.ariaLabel,actionRunner:e.actionRunner,allowContextMenu:e.allowContextMenu,highlightToggledItems:e.highlightToggledItems,actionViewItemProvider:(t,s)=>{var n;if(t.id===Bq.ID)return this.toggleMenuActionViewItem=new fB(t,t.menuActions,i,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:Cr.asClassNameArray(null!==(n=e.moreIcon)&&void 0!==n?n:Os.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(e.actionViewItemProvider){const i=e.actionViewItemProvider(t,s);if(i)return i}if(t instanceof br){const e=new fB(t,t.actions,i,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:t.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry});return e.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(e),this.disposables.add(this._onDidChangeDropdownVisibility.add(e.onDidChangeVisibility)),e}}}))}set actionRunner(t){this.actionBar.actionRunner=t}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(t){return this.actionBar.getAction(t)}setActions(t,i){this.clear();const e=t?t.slice(0):[];this.hasSecondaryActions=!!(i&&i.length>0),this.hasSecondaryActions&&i&&(this.toggleMenuAction.menuActions=i.slice(0),e.push(this.toggleMenuAction)),e.forEach((t=>{this.actionBar.push(t,{icon:!0,label:!1,keybinding:this.getKeybindingLabel(t)})}))}getKeybindingLabel(t){var i,e,s;const n=this.lookupKeybindings?null===(e=(i=this.options).getKeyBinding)||void 0===e?void 0:e.call(i,t):void 0;return null!==(s=null==n?void 0:n.getLabel())&&void 0!==s?s:void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class Bq extends mr{constructor(t,i){i=i||rt(0,"More Actions..."),super(Bq.ID,i,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=t}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(t){this._menuActions=t}}Bq.ID="toolbar.toggle.more";var Pq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},$q=function(t,i){return function(e,s){i(e,s,t)}};let Wq=class extends Nq{constructor(t,i,e,s,n,o,r){super(t,n,{getKeyBinding:t=>{var i;return null!==(i=o.lookupKeybinding(t.id))&&void 0!==i?i:void 0},...i,allowContextMenu:!0,skipTelemetry:"string"==typeof(null==i?void 0:i.telemetrySource)}),this._options=i,this._menuService=e,this._contextKeyService=s,this._contextMenuService=n,this._sessionDisposables=this._store.add(new te);const h=null==i?void 0:i.telemetrySource;h&&this._store.add(this.actionBar.onDidRun((t=>r.publicLog2("workbenchActionExecuted",{id:t.action.id,from:h}))))}setActions(t,i=[],e){var s,n,o;this._sessionDisposables.clear();const r=t.slice(),h=i.slice(),c=[];let a=0;const l=[];let u=!1;if(-1!==(null===(s=this._options)||void 0===s?void 0:s.hiddenItemStrategy))for(let t=0;tnull==t?void 0:t.id))),i=this._options.overflowBehavior.maxItems-t.size;let e=0;for(let s=0;s=i&&(r[s]=void 0,l[s]=n))}}v(r),v(l),super.setActions(r,vr.join(l,h)),c.length>0&&this._sessionDisposables.add(Va(this.getElement(),"contextmenu",(t=>{var i,s,n,o,r;const h=new tc(Na(this.getElement()),t),l=this.getItemAction(h.target);if(!l)return;h.preventDefault(),h.stopPropagation();let d,f=!1;if(1===a&&0===(null===(i=this._options)||void 0===i?void 0:i.hiddenItemStrategy)){f=!0;for(let t=0;tthis._menuService.resetHiddenStates(e)}))),this._contextMenuService.showContextMenu({getAnchor:()=>h,getActions:()=>p,menuId:null===(n=this._options)||void 0===n?void 0:n.contextMenu,menuActionOptions:{renderShortTitle:!0,...null===(o=this._options)||void 0===o?void 0:o.menuOptions},skipTelemetry:"string"==typeof(null===(r=this._options)||void 0===r?void 0:r.telemetrySource),contextKeyService:this._contextKeyService})})))}};Wq=Pq([$q(2,Oh),$q(3,ah),$q(4,eI),$q(5,Yx),$q(6,Wh)],Wq);let jq=class extends Wq{constructor(t,i,e,s,n,o,r,h){super(t,{resetMenu:i,...e},s,n,o,r,h),this._onDidChangeMenuItems=this._store.add(new fe);const c=this._store.add(s.createMenu(i,n,{emitEventsForSubmenuChanges:!0})),a=()=>{var i,s,n;const o=[],r=[];BB(c,null==e?void 0:e.menuOptions,{primary:o,secondary:r},null===(i=null==e?void 0:e.toolbarOptions)||void 0===i?void 0:i.primaryGroup,null===(s=null==e?void 0:e.toolbarOptions)||void 0===s?void 0:s.shouldInlineSubmenu,null===(n=null==e?void 0:e.toolbarOptions)||void 0===n?void 0:n.useSeparatorsInPrimaryActions),t.classList.toggle("has-no-actions",0===o.length&&0===r.length),super.setActions(o,r)};this._store.add(c.onDidChange((()=>{a(),this._onDidChangeMenuItems.fire(this)}))),a()}setActions(){throw new Gi("This toolbar is populated from a menu.")}};jq=Pq([$q(3,Oh),$q(4,ah),$q(5,eI),$q(6,Yx),$q(7,Wh)],jq);class zq extends wr{constructor(t){super(),this._getContext=t}runAction(t,i){return super.runAction(t,this._getContext())}}class Hq{constructor(t){this.viewModel=t}getId(){return this.viewModel}}let Vq=class extends ie{constructor(t,i,e,s){super(),this._container=t,this._overflowWidgetsDomNode=i,this._workbenchUIElementFactory=e,this._instantiationService=s,this._viewModel=xV(this,void 0),this._collapsed=AV(this,(t=>{var i;return null===(i=this._viewModel.read(t))||void 0===i?void 0:i.collapsed.read(t)})),this._contentHeight=xV(this,500),this.height=AV(this,(t=>(this._collapsed.read(t)?0:this._contentHeight.read(t))+this._outerEditorHeight)),this._modifiedContentWidth=xV(this,0),this._modifiedWidth=xV(this,0),this._originalContentWidth=xV(this,0),this._originalWidth=xV(this,0),this.maxScroll=AV(this,(t=>{const i=this._modifiedContentWidth.read(t)-this._modifiedWidth.read(t),e=this._originalContentWidth.read(t)-this._originalWidth.read(t);return i>e?{maxScroll:i,width:this._modifiedWidth.read(t)}:{maxScroll:e,width:this._originalWidth.read(t)}})),this._elements=Jl("div.multiDiffEntry",[Jl("div.content",{style:{display:"flex",flexDirection:"column",flex:"1",overflow:"hidden"}},[Jl("div.header@header",[Jl("div.collapse-button@collapseButton"),Jl("div.title.show-file-icons@title",[]),Jl("div.actions@actions")]),Jl("div.editorParent",{style:{flex:"1",display:"flex",flexDirection:"column"}},[Jl("div.editorContainer@editor",{style:{flex:"1"}})])])]),this.editor=this._register(this._instantiationService.createInstance(Eq,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=Uq(this.editor.getModifiedEditor()),this.isOriginalFocused=Uq(this.editor.getOriginalEditor()),this.isFocused=AV(this,(t=>this.isModifedFocused.read(t)||this.isOriginalFocused.read(t))),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.title)):void 0,this._dataStore=new te,this._headerHeight=this._elements.header.clientHeight;const n=new Mj(this._elements.collapseButton,{});this._register(RV((t=>{n.element.className="",n.icon=this._collapsed.read(t)?Os.chevronRight:Os.chevronDown}))),this._register(n.onDidClick((()=>{var t;null===(t=this._viewModel.get())||void 0===t||t.collapsed.set(!this._collapsed.get(),void 0)}))),this._register(RV((t=>{this._elements.editor.style.display=this._collapsed.read(t)?"none":"block"}))),this.editor.getModifiedEditor().onDidLayoutChange((()=>{const t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)})),this.editor.getOriginalEditor().onDidLayoutChange((()=>{const t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)})),this._register(this.editor.onDidContentSizeChange((t=>{fV((i=>{this._contentHeight.set(t.contentHeight,i),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),i),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),i)}))}))),this._register(RV((t=>{const i=this.isFocused.read(t);this._elements.root.classList.toggle("focused",i)}))),this._container.appendChild(this._elements.root),this._outerEditorHeight=38,this._register(this._instantiationService.createInstance(jq,this._elements.actions,Rh.MultiDiffEditorFileToolbar,{actionRunner:this._register(new zq((()=>{var t,i;return null===(i=null===(t=this._viewModel.get())||void 0===t?void 0:t.diffEditorViewModel)||void 0===i?void 0:i.model.modified.uri}))),menuOptions:{shouldForwardArgs:!0}}))}setScrollLeft(t){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(t):this.editor.getOriginalEditor().setScrollLeft(t)}setData(t){function i(t){return{...t,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0}}const e=t.viewModel.entry.value;e.onOptionsDidChange&&this._dataStore.add(e.onOptionsDidChange((()=>{var t;this.editor.updateOptions(i(null!==(t=e.options)&&void 0!==t?t:{}))}))),fV((s=>{var n,o;null===(n=this._resourceLabel)||void 0===n||n.setUri(t.viewModel.diffEditorViewModel.model.modified.uri),this._dataStore.clear(),this._viewModel.set(t.viewModel,s),this.editor.setModel(t.viewModel.diffEditorViewModel,s),this.editor.updateOptions(i(null!==(o=e.options)&&void 0!==o?o:{}))}))}render(t,i,e,s){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${t.start}px`,this._elements.root.style.height=`${t.length}px`,this._elements.root.style.width=`${i}px`,this._elements.root.style.position="absolute";const n=Math.max(0,Math.min(t.length-this._headerHeight,s.start-t.start));this._elements.header.style.transform=`translateY(${n}px)`,fV((()=>{this.editor.layout({width:i,height:t.length-this._outerEditorHeight})})),this.editor.getOriginalEditor().setScrollTop(e),this._elements.header.classList.toggle("shadow",n>0||e>0)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};function Uq(t){return $V((i=>{const e=new te;return e.add(t.onDidFocusEditorWidget((()=>i(!0)))),e.add(t.onDidBlurEditorWidget((()=>i(!1)))),e}),(()=>t.hasWidgetFocus()))}Vq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,ur)],Vq);class qq{constructor(t){this._create=t,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(t){var i;let e;if(0===this._unused.size)e=this._create(t),this._itemData.set(e,t);else{const s=[...this._unused.values()];e=null!==(i=s.find((i=>this._itemData.get(i).getId()===t.getId())))&&void 0!==i?i:s[0],this._unused.delete(e),this._itemData.set(e,t),e.setData(t)}return this._used.add(e),{object:e,dispose:()=>{this._used.delete(e),this._unused.size>5?e.dispose():this._unused.add(e)}}}dispose(){for(const t of this._used)t.dispose();for(const t of this._unused)t.dispose();this._used.clear(),this._unused.clear()}}var Kq=function(t,i){return function(e,s){i(e,s,t)}};let Gq=class extends ie{constructor(t,i,e,s,n,o){super(),this._element=t,this._dimension=i,this._viewModel=e,this._workbenchUIElementFactory=s,this._parentContextKeyService=n,this._parentInstantiationService=o,this._elements=Jl("div",{style:{overflowY:"hidden"}},[Jl("div@content",{style:{overflow:"hidden"}}),Jl("div.monaco-editor@overflowWidgetsDomNode",{})]),this._sizeObserver=this._register(new XV(this._element,void 0)),this._objectPool=this._register(new qq((t=>{const i=this._instantiationService.createInstance(Vq,this._elements.content,this._elements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return i.setData(t),i}))),this._scrollable=this._register(new gk({forceIntegerValues:!1,scheduleAtNextAnimationFrame:t=>Qa(Na(this._element),t),smoothScrollDuration:100})),this._scrollableElement=this._register(new Ck(this._elements.root,{vertical:1,horizontal:1,className:"monaco-component",useShadows:!1},this._scrollable)),this.scrollTop=$V(this._scrollableElement.onScroll,(()=>this._scrollableElement.getScrollPosition().scrollTop)),this.scrollLeft=$V(this._scrollableElement.onScroll,(()=>this._scrollableElement.getScrollPosition().scrollLeft)),this._viewItems=LV(this,((t,i)=>{const e=this._viewModel.read(t);return e?e.items.read(t).map((t=>i.add(new Zq(t,this._objectPool,this.scrollLeft)))):[]})),this._totalHeight=this._viewItems.map(this,((t,i)=>t.reduce(((t,e)=>t+e.contentHeight.read(i)),0))),this.activeDiffItem=AV(this,(t=>this._viewItems.read(t).find((i=>{var e;return null===(e=i.template.read(t))||void 0===e?void 0:e.isFocused.read(t)})))),this.lastActiveDiffItem=function(t){let i;return AV((e=>(i=t(e,i),i)))}(((t,i)=>{var e;return null!==(e=this.activeDiffItem.read(t))&&void 0!==e?e:i})),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._parentInstantiationService.createChild(new KF([ah,this._contextKeyService])),this._contextKeyService.createKey(UC.inMultiDiffEditor.key,!0);const r=this._parentContextKeyService.createKey(UC.multiDiffEditorAllCollapsed.key,!1);this._register(RV((t=>{const i=this._viewModel.read(t);if(i){const e=i.items.read(t).every((i=>i.collapsed.read(t)));r.set(e)}}))),this._register(RV((t=>{const i=this.lastActiveDiffItem.read(t);dV((e=>{var s;null===(s=this._viewModel.read(t))||void 0===s||s.activeDiffItem.set(null==i?void 0:i.viewModel,e)}))}))),this._register(RV((t=>{const i=this._dimension.read(t);this._sizeObserver.observe(i)}))),this._elements.content.style.position="relative",this._register(RV((t=>{const i=this._sizeObserver.height.read(t);this._elements.root.style.height=`${i}px`;const e=this._totalHeight.read(t);this._elements.content.style.height=`${e}px`;const s=this._sizeObserver.width.read(t);let n=s;const o=np(this._viewItems.read(t),(i=>i.maxScroll.read(t).maxScroll));o&&(n=s+o.maxScroll.read(t).maxScroll),this._scrollableElement.setScrollDimensions({width:s,height:i,scrollHeight:e,scrollWidth:n})}))),t.replaceChildren(this._scrollableElement.getDomNode()),this._register(Xi((()=>{t.replaceChildren()}))),this._register(this._register(RV((t=>{fV((()=>{this.render(t)}))}))))}render(t){const i=this.scrollTop.read(t);let e=0,s=0,n=0;const o=this._sizeObserver.height.read(t),r=Jf.ofStartAndLength(i,o),h=this._sizeObserver.width.read(t);for(const c of this._viewItems.read(t)){const a=c.contentHeight.read(t),l=Math.min(a,o),u=Jf.ofStartAndLength(s,l),d=Jf.ofStartAndLength(n,a);if(d.isBefore(r))e-=a-l,c.hide();else if(d.isAfter(r))c.hide();else{const t=Math.max(0,Math.min(r.start-d.start,a-l));e-=t;const s=Jf.ofStartAndLength(i+e,o);c.render(u,t,h,s)}s+=l,n+=a}this._elements.content.style.transform=`translateY(${-(i+e)}px)`}};Gq=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Kq(4,ah),Kq(5,ur)],Gq);class Zq extends ie{constructor(t,i,e){super(),this.viewModel=t,this._objectPool=i,this._scrollLeft=e,this._lastTemplateData=xV(this,{contentHeight:500,maxScroll:{maxScroll:0,width:0}}),this._templateRef=this._register(SV(this,void 0)),this.contentHeight=AV(this,(t=>{var i,e,s;return null!==(s=null===(e=null===(i=this._templateRef.read(t))||void 0===i?void 0:i.object.height)||void 0===e?void 0:e.read(t))&&void 0!==s?s:this._lastTemplateData.read(t).contentHeight})),this.maxScroll=AV(this,(t=>{var i,e;return null!==(e=null===(i=this._templateRef.read(t))||void 0===i?void 0:i.object.maxScroll.read(t))&&void 0!==e?e:this._lastTemplateData.read(t).maxScroll})),this.template=AV(this,(t=>{var i;return null===(i=this._templateRef.read(t))||void 0===i?void 0:i.object})),this._isHidden=xV(this,!1),this._register(RV((t=>{var i;const e=this._scrollLeft.read(t);null===(i=this._templateRef.read(t))||void 0===i||i.object.setScrollLeft(e)}))),this._register(RV((t=>{const i=this._templateRef.read(t);i&&this._isHidden.read(t)&&(i.object.isFocused.read(t)||dV((t=>{this._lastTemplateData.set({contentHeight:i.object.height.get(),maxScroll:{maxScroll:0,width:0}},t),i.object.hide(),this._templateRef.set(void 0,t)})))})))}dispose(){this.hide(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.entry.value.title})`}hide(){this._isHidden.set(!0,void 0)}render(t,i,e,s){this._isHidden.set(!1,void 0);let n=this._templateRef.get();n||(n=this._objectPool.getUnusedObj(new Hq(this.viewModel)),this._templateRef.set(n,void 0)),n.object.render(t,e,i,s)}}ow("multiDiffEditor.headerBackground",{dark:"#808080",light:"#b4b4b4",hcDark:"#808080",hcLight:"#b4b4b4"},rt(0,"The background color of the diff editor's header"));let Qq=class extends ie{constructor(t,i,e){super(),this._element=t,this._workbenchUIElementFactory=i,this._instantiationService=e,this._dimension=xV(this,void 0),this._viewModel=xV(this,void 0),this._widgetImpl=LV(this,((t,i)=>(oU(Vq,t),i.add(this._instantiationService.createInstance(oU(Gq,t),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory))))),this._register(UV(this._widgetImpl))}};function Jq(t){const i=rV.get(Yx);return i instanceof ZH?i.addDynamicKeybindings(t.map((t=>({keybinding:t.keybinding,command:t.command,commandArgs:t.commandArgs,when:zr.deserialize(t.when)})))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),ie.None)}function Yq(t,i){return"boolean"==typeof t?t:i}function Xq(t,i){return"string"==typeof t?t:i}function tK(t,i=!1){i&&(t=t.map((function(t){return t.toLowerCase()})));const e=function(t){const i={};for(const e of t)i[e]=!0;return i}(t);return i?function(t){return void 0!==e[t.toLowerCase()]&&e.hasOwnProperty(t.toLowerCase())}:function(t){return void 0!==e[t]&&e.hasOwnProperty(t)}}function iK(t,i){i=i.replace(/@@/g,"");let e,s=0;do{e=!1,i=i.replace(/@(\w+)/g,(function(s,n){e=!0;let o="";if("string"==typeof t[n])o=t[n];else{if(!(t[n]&&t[n]instanceof RegExp))throw hm(t,void 0===t[n]?"language definition does not contain attribute '"+n+"', used at: "+i:"attribute reference '"+n+"' must be a string, used at: "+i);o=t[n].source}return nm(o)?"":"(?:"+o+")"})),s++}while(e&&s<5);return i=i.replace(/\x01/g,"@"),new RegExp(i,(t.ignoreCase?"i":"")+(t.unicode?"u":""))}function eK(t,i,e,s){let n=-1,o=e,r=e.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);r&&(r[3]&&(n=parseInt(r[3]),r[2]&&(n+=100)),o=r[4]);let h,c="~",a=o;if(o&&0!==o.length?/^\w*$/.test(a)?c="==":(r=o.match(/^(@|!@|~|!~|==|!=)(.*)$/),r&&(c=r[1],a=r[2])):(c="!=",a=""),"~"!==c&&"!~"!==c||!/^(\w|\|)*$/.test(a))if("@"===c||"!@"===c){const e=t[a];if(!e)throw hm(t,"the @ match target '"+a+"' is not defined, in rule: "+i);if(!function(t,i){if(!i)return!1;if(!Array.isArray(i))return!1;for(const t of i)if("string"!=typeof t)return!1;return!0}(0,e))throw hm(t,"the @ match target '"+a+"' must be an array of strings, in rule: "+i);const s=tK(e,t.ignoreCase);h=function(t){return"@"===c?s(t):!s(t)}}else if("~"===c||"!~"===c)if(a.indexOf("$")<0){const i=iK(t,"^"+a+"$");h=function(t){return"~"===c?i.test(t):!i.test(t)}}else h=function(i,e,s,n){return iK(t,"^"+cm(t,a,e,s,n)+"$").test(i)};else if(a.indexOf("$")<0){const i=om(t,a);h=function(t){return"=="===c?t===i:t!==i}}else{const i=om(t,a);h=function(e,s,n,o){const r=cm(t,i,s,n,o);return"=="===c?e===r:e!==r}}else{const i=tK(a.split("|"),t.ignoreCase);h=function(t){return"~"===c?i(t):!i(t)}}return-1===n?{name:e,value:s,test:function(t,i,e,s){return h(t,t,i,e,s)}}:{name:e,value:s,test:function(t,i,e,s){const o=function(t,i,e,s){if(s<0)return t;if(s=100){s-=100;const t=e.split(".");if(t.unshift(e),s=0&&(s.tokenSubst=!0),"string"==typeof e.bracket)if("@open"===e.bracket)s.bracket=1;else{if("@close"!==e.bracket)throw hm(t,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+i);s.bracket=-1}if(e.next){if("string"!=typeof e.next)throw hm(t,"the next state must be a string value in rule: "+i);{let n=e.next;if(!/^(@pop|@push|@popall)$/.test(n)&&("@"===n[0]&&(n=n.substr(1)),n.indexOf("$")<0&&!function(t,i){let e=i;for(;e&&e.length>0;){if(t.stateNames[e])return!0;const i=e.lastIndexOf(".");e=i<0?null:e.substr(0,i)}return!1}(t,cm(t,n,"",[],""))))throw hm(t,"the next state '"+e.next+"' is not defined in rule: "+i);s.next=n}}return"number"==typeof e.goBack&&(s.goBack=e.goBack),"string"==typeof e.switchTo&&(s.switchTo=e.switchTo),"string"==typeof e.log&&(s.log=e.log),"string"==typeof e.nextEmbedded&&(s.nextEmbedded=e.nextEmbedded,t.usesEmbedded=!0),s}}if(Array.isArray(e)){const s=[];for(let n=0,o=e.length;n=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,ur)],Qq);class nK{constructor(t){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=t}setRegex(t,i){let e;if("string"==typeof i)e=i;else{if(!(i instanceof RegExp))throw hm(t,"rules must start with a match string or regular expression: "+this.name);e=i.source}this.matchOnlyAtLineStart=e.length>0&&"^"===e[0],this.name=this.name+": "+e,this.regex=iK(t,"^(?:"+(this.matchOnlyAtLineStart?e.substr(1):e)+")")}setAction(t,i){this.action=sK(t,this.name,i)}}function oK(t,i){if(!i||"object"!=typeof i)throw new Error("Monarch: expecting a language definition object");const e={};e.languageId=t,e.includeLF=Yq(i.includeLF,!1),e.noThrow=!1,e.maxStack=100,e.start="string"==typeof i.start?i.start:null,e.ignoreCase=Yq(i.ignoreCase,!1),e.unicode=Yq(i.unicode,!1),e.tokenPostfix=Xq(i.tokenPostfix,"."+e.languageId),e.defaultToken=Xq(i.defaultToken,"source"),e.usesEmbedded=!1;const s=i;function n(t,o,r){for(const h of r){let r=h.include;if(r){if("string"!=typeof r)throw hm(e,"an 'include' attribute must be a string at: "+t);if("@"===r[0]&&(r=r.substr(1)),!i.tokenizer[r])throw hm(e,"include target '"+r+"' is not defined at: "+t);n(t+"."+r,o,i.tokenizer[r])}else{const i=new nK(t);if(Array.isArray(h)&&h.length>=1&&h.length<=3)if(i.setRegex(s,h[0]),h.length>=3)if("string"==typeof h[1])i.setAction(s,{token:h[1],next:h[2]});else{if("object"!=typeof h[1])throw hm(e,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+t);{const t=h[1];t.next=h[2],i.setAction(s,t)}}else i.setAction(s,h[1]);else{if(!h.regex)throw hm(e,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+t);h.name&&"string"==typeof h.name&&(i.name=h.name),h.matchOnlyAtStart&&(i.matchOnlyAtLineStart=Yq(h.matchOnlyAtLineStart,!1)),i.setRegex(s,h.regex),i.setAction(s,h.action)}o.push(i)}}}if(s.languageId=t,s.includeLF=e.includeLF,s.ignoreCase=e.ignoreCase,s.unicode=e.unicode,s.noThrow=e.noThrow,s.usesEmbedded=e.usesEmbedded,s.stateNames=i.tokenizer,s.defaultToken=e.defaultToken,!i.tokenizer||"object"!=typeof i.tokenizer)throw hm(e,"a language definition must define the 'tokenizer' attribute as an object");e.tokenizer=[];for(const t in i.tokenizer)if(i.tokenizer.hasOwnProperty(t)){e.start||(e.start=t);const s=i.tokenizer[t];e.tokenizer[t]=new Array,n("tokenizer."+t,e.tokenizer[t],s)}if(e.usesEmbedded=s.usesEmbedded,i.brackets){if(!Array.isArray(i.brackets))throw hm(e,"the 'brackets' attribute must be defined as an array")}else i.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const o=[];for(const t of i.brackets){let i=t;if(i&&Array.isArray(i)&&3===i.length&&(i={token:i[2],open:i[0],close:i[1]}),i.open===i.close)throw hm(e,"open and close brackets in a 'brackets' attribute must be different: "+i.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required.");if("string"!=typeof i.open||"string"!=typeof i.token||"string"!=typeof i.close)throw hm(e,"every element in the 'brackets' array must be a '{open,close,token}' object or array");o.push({token:i.token+e.tokenPostfix,open:om(e,i.open),close:om(e,i.close)})}return e.brackets=o,e.noThrow=!0,e}class rK{constructor(t,i){this._languageId=t,this._actual=i}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(t,i,e){if("function"==typeof this._actual.tokenize)return hK.adaptTokenize(this._languageId,this._actual,t,e);throw new Error("Not supported!")}tokenizeEncoded(t,i,e){const s=this._actual.tokenizeEncoded(t,e);return new Bs(s.tokens,s.endState)}}class hK{constructor(t,i,e,s){this._languageId=t,this._actual=i,this._languageService=e,this._standaloneThemeService=s}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(t,i){const e=[];let s=0;for(let n=0,o=t.length;n0&&n[o-1]===c)continue;let a=h.startIndex;0===t?a=0:a{const e=await Promise.resolve(i.create());return e?"function"==typeof e.getInitialState?aK(t,e):new vm(rV.get(yd),rV.get(Yz),t,oK(t,e),rV.get(pd)):null}));return Zs.registerFactory(t,e)}const uK=dr("IEditorCancelService"),dK=new ch("cancellableOperation",!1,rt(0,"Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));Cd(uK,class{constructor(){this._tokens=new WeakMap}add(t,i){let e,s=this._tokens.get(t);return s||(s=t.invokeWithinContext((t=>({key:dK.bindTo(t.get(ah)),tokens:new qt}))),this._tokens.set(t,s)),s.key.set(!0),e=s.tokens.push(i),()=>{e&&(e(),s.key.set(!s.tokens.isEmpty()),e=void 0)}}cancel(t){const i=this._tokens.get(t);if(!i)return;const e=i.tokens.pop();e&&(e.cancel(),i.key.set(!i.tokens.isEmpty()))}},1);class fK extends Se{constructor(t,i){super(i),this.editor=t,this._unregister=t.invokeWithinContext((i=>i.get(uK).add(t,this)))}dispose(){this._unregister(),super.dispose()}}hu(new class extends eu{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:dK})}runEditorCommand(t,i){t.get(uK).cancel(i)}});class pK{constructor(t,i){if(this.flags=i,0!=(1&this.flags)){const i=t.getModel();this.modelVersionId=i?qn("{0}#{1}",i.uri.toString(),i.getVersionId()):null}else this.modelVersionId=null;this.position=0!=(4&this.flags)?t.getPosition():null,this.selection=0!=(2&this.flags)?t.getSelection():null,0!=(8&this.flags)?(this.scrollLeft=t.getScrollLeft(),this.scrollTop=t.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(t){if(!(t instanceof pK))return!1;const i=t;return this.modelVersionId===i.modelVersionId&&this.scrollLeft===i.scrollLeft&&this.scrollTop===i.scrollTop&&!(!this.position&&i.position||this.position&&!i.position||this.position&&i.position&&!this.position.equals(i.position))&&!(!this.selection&&i.selection||this.selection&&!i.selection||this.selection&&i.selection&&!this.selection.equalsRange(i.selection))}validate(t){return this._equals(new pK(t,this.flags))}}class gK extends fK{constructor(t,i,e,s){super(t,s),this._listener=new te,4&i&&this._listener.add(t.onDidChangeCursorPosition((t=>{e&&Ms.containsPosition(e,t.position)||this.cancel()}))),2&i&&this._listener.add(t.onDidChangeCursorSelection((t=>{e&&Ms.containsRange(e,t.selection)||this.cancel()}))),8&i&&this._listener.add(t.onDidScrollChange((()=>this.cancel()))),1&i&&(this._listener.add(t.onDidChangeModel((()=>this.cancel()))),this._listener.add(t.onDidChangeModelContent((()=>this.cancel()))))}dispose(){this._listener.dispose(),super.dispose()}}class mK extends Se{constructor(t,i){super(i),this._listener=t.onDidChangeContent((()=>this.cancel()))}dispose(){this._listener.dispose(),super.dispose()}}function wK(t){return!(!t||"function"!=typeof t.getEditorType)&&t.getEditorType()===Eg.ICodeEditor}function vK(t){return!(!t||"function"!=typeof t.getEditorType)&&t.getEditorType()===Eg.IDiffEditor}function bK(t){return wK(t)?t:vK(t)?t.getModifiedEditor():function(t){return!!t&&"object"==typeof t&&"function"==typeof t.onDidChangeActiveEditor}(t)&&wK(t.activeCodeEditor)?t.activeCodeEditor:null}class yK{static _handleEolEdits(t,i){let e;const s=[];for(const t of i)"number"==typeof t.eol&&(e=t.eol),t.range&&"string"==typeof t.text&&s.push(t);return"number"==typeof e&&t.hasModel()&&t.getModel().pushEOL(e),s}static _isFullModelReplaceEdit(t,i){if(!t.hasModel())return!1;const e=t.getModel(),s=e.validateRange(i.range);return e.getFullModelRange().equalsRange(s)}static execute(t,i,e){e&&t.pushUndoStop();const s=KV.capture(t),n=yK._handleEolEdits(t,i);1===n.length&&yK._isFullModelReplaceEdit(t,n[0])?t.executeEdits("formatEditsCommand",n.map((t=>rO.replace(Ms.lift(t.range),t.text)))):t.executeEdits("formatEditsCommand",n.map((t=>rO.replaceMove(Ms.lift(t.range),t.text)))),e&&t.pushUndoStop(),s.restoreRelativeVerticalPositionOfCursor(t)}}class kK{constructor(t){this.value=t,this._lower=t.toLowerCase()}static toKey(t){return"string"==typeof t?t.toLowerCase():t._lower}}class xK{constructor(t){if(this._set=new Set,t)for(const i of t)this.add(i)}add(t){this._set.add(kK.toKey(t))}has(t){return this._set.has(kK.toKey(t))}}function CK(t,i,e){const s=[],n=new xK,o=t.ordered(e);for(const t of o)s.push(t),t.extensionId&&n.add(t.extensionId);const r=i.ordered(e);for(const t of r){if(t.extensionId){if(n.has(t.extensionId))continue;n.add(t.extensionId)}s.push({displayName:t.displayName,extensionId:t.extensionId,provideDocumentFormattingEdits:(i,e,s)=>t.provideDocumentRangeFormattingEdits(i,i.getFullModelRange(),e,s)})}return s}class SK{static setFormatterSelector(t){return{dispose:SK._selectors.unshift(t)}}static async select(t,i,e){if(0===t.length)return;const s=Vt.first(SK._selectors);return s?await s(t,i,e):void 0}}async function DK(t,i,e,s,n,o,r){const h=t.get(ur),{documentRangeFormattingEditProvider:c}=t.get(gg),a=wK(i)?i.getModel():i,l=c.ordered(a),u=await SK.select(l,a,s);u&&(n.report(u),await h.invokeFunction(EK,u,i,e,o,r))}async function EK(t,i,e,s,n,o){var r,h;const c=t.get(lP),a=t.get(jh),l=t.get(Vm);let u,d;wK(e)?(u=e.getModel(),d=new gK(e,5,void 0,n)):(u=e,d=new mK(e,n));const f=[];let p=0;for(const t of M(s).sort(Ms.compareRangesUsingStarts))p>0&&Ms.areIntersectingOrTouching(f[p-1],t)?f[p-1]=Ms.fromPositions(f[p-1].getStartPosition(),t.getEndPosition()):p=f.push(t);const g=async t=>{var e,s;a.trace("[format][provideDocumentRangeFormattingEdits] (request)",null===(e=i.extensionId)||void 0===e?void 0:e.value,t);const n=await i.provideDocumentRangeFormattingEdits(u,t,u.getFormattingOptions(),d.token)||[];return a.trace("[format][provideDocumentRangeFormattingEdits] (response)",null===(s=i.extensionId)||void 0===s?void 0:s.value,n),n},m=(t,i)=>{if(!t.length||!i.length)return!1;const e=t.reduce(((t,i)=>Ms.plusRange(t,i.range)),t[0].range);if(!i.some((t=>Ms.intersectRanges(e,t.range))))return!1;for(const e of t)for(const t of i)if(Ms.intersectRanges(e.range,t.range))return!0;return!1},w=[],v=[];try{if("function"==typeof i.provideDocumentRangesFormattingEdits){a.trace("[format][provideDocumentRangeFormattingEdits] (request)",null===(r=i.extensionId)||void 0===r?void 0:r.value,f);const t=await i.provideDocumentRangesFormattingEdits(u,f,u.getFormattingOptions(),d.token)||[];a.trace("[format][provideDocumentRangeFormattingEdits] (response)",null===(h=i.extensionId)||void 0===h?void 0:h.value,t),v.push(t)}else{for(const t of f){if(d.token.isCancellationRequested)return!0;v.push(await g(t))}for(let t=0;t({text:t.text,range:Ms.lift(t.range),forceMoveMarkers:!0}))),(t=>{for(const{range:e}of t)if(Ms.areIntersectingOrTouching(e,i))return[new Ls(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)];return null}))}return l.notify("format",o),!0}async function AK(t,i,e,s,n,o){const r=t.get(ur),h=t.get(gg),c=wK(i)?i.getModel():i,a=CK(h.documentFormattingEditProvider,h.documentRangeFormattingEditProvider,c),l=await SK.select(a,c,e);l&&(s.report(l),await r.invokeFunction(MK,l,i,e,n,o))}async function MK(t,i,e,s,n,o){const r=t.get(lP),h=t.get(Vm);let c,a,l;wK(e)?(c=e.getModel(),a=new gK(e,5,void 0,n)):(c=e,a=new mK(e,n));try{const t=await i.provideDocumentFormattingEdits(c,c.getFormattingOptions(),a.token);if(l=await r.computeMoreMinimalEdits(c.uri,t),a.token.isCancellationRequested)return!0}finally{a.dispose()}if(!l||0===l.length)return!1;if(wK(e))yK.execute(e,l,2!==s),2!==s&&e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1);else{const[{range:t}]=l,i=new Ls(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn);c.pushEditOperations([i],l.map((t=>({text:t.text,range:Ms.lift(t.range),forceMoveMarkers:!0}))),(t=>{for(const{range:e}of t)if(Ms.areIntersectingOrTouching(e,i))return[new Ls(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn)];return null}))}return h.notify("format",o),!0}function LK(t,i,e,s,n,o,r){const h=i.onTypeFormattingEditProvider.ordered(e);return 0===h.length||h[0].autoFormatTriggerCharacters.indexOf(n)<0?Promise.resolve(void 0):Promise.resolve(h[0].provideOnTypeFormattingEdits(e,s,n,o,r)).catch($i).then((i=>t.computeMoreMinimalEdits(e.uri,i)))}SK._selectors=new qt,Dr.registerCommand("_executeFormatRangeProvider",(async function(t,...i){const[e,s,n]=i;K(ms.isUri(e)),K(Ms.isIRange(s));const o=t.get(gr),r=t.get(lP),h=t.get(gg),c=await o.createModelReference(e);try{return async function(t,i,e,s,n,o){const r=i.documentRangeFormattingEditProvider.ordered(e);for(const i of r){const r=await Promise.resolve(i.provideDocumentRangeFormattingEdits(e,s,n,o)).catch($i);if(y(r))return await t.computeMoreMinimalEdits(e.uri,r)}}(r,h,c.object.textEditorModel,Ms.lift(s),n,xe.None)}finally{c.dispose()}})),Dr.registerCommand("_executeFormatDocumentProvider",(async function(t,...i){const[e,s]=i;K(ms.isUri(e));const n=t.get(gr),o=t.get(lP),r=t.get(gg),h=await n.createModelReference(e);try{return async function(t,i,e,s,n){const o=CK(i.documentFormattingEditProvider,i.documentRangeFormattingEditProvider,e);for(const i of o){const o=await Promise.resolve(i.provideDocumentFormattingEdits(e,s,n)).catch($i);if(y(o))return await t.computeMoreMinimalEdits(e.uri,o)}}(o,r,h.object.textEditorModel,s,xe.None)}finally{h.dispose()}})),Dr.registerCommand("_executeFormatOnTypeProvider",(async function(t,...i){const[e,s,n,o]=i;K(ms.isUri(e)),K(As.isIPosition(s)),K("string"==typeof n);const r=t.get(gr),h=t.get(lP),c=t.get(gg),a=await r.createModelReference(e);try{return LK(h,c,a.object.textEditorModel,As.lift(s),n,o,xe.None)}finally{a.dispose()}})),Ni.wrappingIndent.defaultValue=0,Ni.glyphMargin.defaultValue=!1,Ni.autoIndent.defaultValue=3,Ni.overviewRulerLanes.defaultValue=2,SK.setFormatterSelector((t=>Promise.resolve(t[0])));const FK=Pn();FK.editor={create:function(t,i,e){return rV.initialize(e||{}).createInstance(Rq,t,i)},getEditors:function(){return rV.get(fr).listCodeEditors()},getDiffEditors:function(){return rV.get(fr).listDiffEditors()},onDidCreateEditor:function(t){return rV.get(fr).onCodeEditorAdd((i=>{t(i)}))},onDidCreateDiffEditor:function(t){return rV.get(fr).onDiffEditorAdd((i=>{t(i)}))},createDiffEditor:function(t,i,e){return rV.initialize(e||{}).createInstance(Oq,t,i)},addCommand:function(t){if("string"!=typeof t.id||"function"!=typeof t.run)throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return Dr.registerCommand(t.id,t.run)},addEditorAction:function(t){if("string"!=typeof t.id||"string"!=typeof t.label||"function"!=typeof t.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const i=zr.deserialize(t.precondition),e=new te;if(e.add(Dr.registerCommand(t.id,((e,...s)=>eu.runEditorCommand(e,s,i,((i,e,s)=>Promise.resolve(t.run(e,...s))))))),t.contextMenuGroupId&&e.add(_h.appendMenuItem(Rh.EditorContext,{command:{id:t.id,title:t.label},when:i,group:t.contextMenuGroupId,order:t.contextMenuOrder||0})),Array.isArray(t.keybindings)){const s=rV.get(Yx);if(s instanceof ZH){const n=zr.and(i,zr.deserialize(t.keybindingContext));e.add(s.addDynamicKeybindings(t.keybindings.map((i=>({keybinding:i,command:t.id,when:n})))))}else console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService")}return e},addKeybindingRule:function(t){return Jq([t])},addKeybindingRules:Jq,createModel:function(t,i,e){const s=rV.get(yd),n=s.getLanguageIdByMimeType(i)||i;return Iq(rV.get(pr),s,t,n,e)},setModelLanguage:function(t,i){const e=rV.get(yd),s=e.getLanguageIdByMimeType(i)||i||Pd;t.setLanguage(e.createById(s))},setModelMarkers:function(t,i,e){t&&rV.get(fP).changeOne(i,t.uri,e)},getModelMarkers:function(t){return rV.get(fP).read(t)},removeAllMarkers:function(t){rV.get(fP).changeAll(t,[])},onDidChangeMarkers:function(t){return rV.get(fP).onMarkerChanged(t)},getModels:function(){return rV.get(pr).getModels()},getModel:function(t){return rV.get(pr).getModel(t)},onDidCreateModel:function(t){return rV.get(pr).onModelAdded(t)},onWillDisposeModel:function(t){return rV.get(pr).onModelRemoved(t)},onDidChangeModelLanguage:function(t){return rV.get(pr).onModelLanguageChanged((i=>{t({model:i.model,oldLanguage:i.oldLanguageId})}))},createWebWorker:function(t){return function(t,i,e){return new Dg(t,i,e)}(rV.get(pr),rV.get(qd),t)},colorizeElement:function(t,i){const e=rV.get(yd),s=rV.get(Yz);return Cm.colorizeElement(s,e,t,i).then((()=>{s.registerEditorContainer(t)}))},colorize:function(t,i,e){const s=rV.get(yd);return rV.get(Yz).registerEditorContainer($n.document.body),Cm.colorize(s,t,i,e)},colorizeModelLine:function(t,i,e=4){return rV.get(Yz).registerEditorContainer($n.document.body),Cm.colorizeModelLine(t,i,e)},tokenize:function(t,i){Zs.getOrCreate(i);const e=function(t){return Zs.get(t)||{getInitialState:()=>Ag,tokenize:(i,e,s)=>Mg(t,s)}}(i),s=Xn(t),n=[];let o=e.getInitialState();for(let t=0,i=s.length;t("string"==typeof i&&(i=ms.parse(i)),t.open(i))})},registerEditorOpener:function(t){return rV.get(fr).registerCodeEditorOpenHandler((async(i,e)=>{var s;if(!e)return null;const n=null===(s=i.options)||void 0===s?void 0:s.selection;let o;return n&&"number"==typeof n.endLineNumber&&"number"==typeof n.endColumn?o=n:n&&(o={lineNumber:n.startLineNumber,column:n.startColumn}),await t.openCodeEditor(e,i.resource,o)?e:null}))},AccessibilitySupport:Qs,ContentWidgetPositionPreference:sn,CursorChangeReason:nn,DefaultEndOfLine:on,EditorAutoIndentStrategy:hn,EditorOption:cn,EndOfLinePreference:an,EndOfLineSequence:ln,MinimapPosition:bn,MouseTargetType:yn,OverlayWidgetPositionPreference:kn,OverviewRulerLane:xn,GlyphMarginLane:un,RenderLineNumbersType:Sn,RenderMinimap:Dn,ScrollbarVisibility:An,ScrollType:En,TextEditorCursorBlinkingStyle:On,TextEditorCursorStyle:In,TrackedRangeStickiness:_n,WrappingIndent:Nn,InjectedTextCursorStops:fn,PositionAffinity:Cn,ShowAiIconMode:Ln,ConfigurationChangedEvent:Xt,BareFontInfo:rr,FontInfo:hr,TextModelResolvedOptions:If,FindMatch:_f,ApplyUpdateResult:ei,EditorZoom:nr,createMultiFileDiffEditor:function(t,i){const e=rV.initialize(i||{});return new Qq(t,{},e)},EditorType:Eg,EditorOptions:Ni},FK.languages={register:function(t){Bd.registerLanguage(t)},getLanguages:function(){let t=[];return t=t.concat(Bd.getLanguages()),t},onLanguage:function(t,i){return rV.withServices((()=>{const e=rV.get(yd).onDidRequestRichLanguageFeatures((s=>{s===t&&(e.dispose(),i())}));return e}))},onLanguageEncountered:function(t,i){return rV.withServices((()=>{const e=rV.get(yd).onDidRequestBasicLanguageFeatures((s=>{s===t&&(e.dispose(),i())}));return e}))},getEncodedLanguageId:function(t){return rV.get(yd).languageIdCodec.encodeLanguageId(t)},setLanguageConfiguration:function(t,i){if(!rV.get(yd).isRegisteredLanguageId(t))throw new Error(`Cannot set configuration for unknown language ${t}`);return rV.get(qd).register(t,i,100)},setColorMap:function(t){const i=rV.get(Yz);if(t){const e=[null];for(let i=1,s=t.length;ii}):Zs.register(t,aK(t,i))},setMonarchTokensProvider:function(t,i){return cK(i)?lK(t,{create:()=>i}):Zs.register(t,(i=>new vm(rV.get(yd),rV.get(Yz),t,oK(t,i),rV.get(pd)))(i))},registerReferenceProvider:function(t,i){return rV.get(gg).referenceProvider.register(t,i)},registerRenameProvider:function(t,i){return rV.get(gg).renameProvider.register(t,i)},registerCompletionItemProvider:function(t,i){return rV.get(gg).completionProvider.register(t,i)},registerSignatureHelpProvider:function(t,i){return rV.get(gg).signatureHelpProvider.register(t,i)},registerHoverProvider:function(t,i){return rV.get(gg).hoverProvider.register(t,{provideHover:(t,e,s)=>{const n=t.getWordAtPosition(e);return Promise.resolve(i.provideHover(t,e,s)).then((t=>{if(t)return!t.range&&n&&(t.range=new Ms(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn)),t.range||(t.range=new Ms(e.lineNumber,e.column,e.lineNumber,e.column)),t}))}})},registerDocumentSymbolProvider:function(t,i){return rV.get(gg).documentSymbolProvider.register(t,i)},registerDocumentHighlightProvider:function(t,i){return rV.get(gg).documentHighlightProvider.register(t,i)},registerLinkedEditingRangeProvider:function(t,i){return rV.get(gg).linkedEditingRangeProvider.register(t,i)},registerDefinitionProvider:function(t,i){return rV.get(gg).definitionProvider.register(t,i)},registerImplementationProvider:function(t,i){return rV.get(gg).implementationProvider.register(t,i)},registerTypeDefinitionProvider:function(t,i){return rV.get(gg).typeDefinitionProvider.register(t,i)},registerCodeLensProvider:function(t,i){return rV.get(gg).codeLensProvider.register(t,i)},registerCodeActionProvider:function(t,i,e){return rV.get(gg).codeActionProvider.register(t,{providedCodeActionKinds:null==e?void 0:e.providedCodeActionKinds,documentation:null==e?void 0:e.documentation,provideCodeActions:(t,e,s,n)=>{const o=rV.get(fP).read({resource:t.uri}).filter((t=>Ms.areIntersectingOrTouching(t,e)));return i.provideCodeActions(t,e,{markers:o,only:s.only,trigger:s.trigger},n)},resolveCodeAction:i.resolveCodeAction})},registerDocumentFormattingEditProvider:function(t,i){return rV.get(gg).documentFormattingEditProvider.register(t,i)},registerDocumentRangeFormattingEditProvider:function(t,i){return rV.get(gg).documentRangeFormattingEditProvider.register(t,i)},registerOnTypeFormattingEditProvider:function(t,i){return rV.get(gg).onTypeFormattingEditProvider.register(t,i)},registerLinkProvider:function(t,i){return rV.get(gg).linkProvider.register(t,i)},registerColorProvider:function(t,i){return rV.get(gg).colorProvider.register(t,i)},registerFoldingRangeProvider:function(t,i){return rV.get(gg).foldingRangeProvider.register(t,i)},registerDeclarationProvider:function(t,i){return rV.get(gg).declarationProvider.register(t,i)},registerSelectionRangeProvider:function(t,i){return rV.get(gg).selectionRangeProvider.register(t,i)},registerDocumentSemanticTokensProvider:function(t,i){return rV.get(gg).documentSemanticTokensProvider.register(t,i)},registerDocumentRangeSemanticTokensProvider:function(t,i){return rV.get(gg).documentRangeSemanticTokensProvider.register(t,i)},registerInlineCompletionsProvider:function(t,i){return rV.get(gg).inlineCompletionsProvider.register(t,i)},registerInlayHintsProvider:function(t,i){return rV.get(gg).inlayHintsProvider.register(t,i)},DocumentHighlightKind:rn,CompletionItemKind:Xs,CompletionItemTag:tn,CompletionItemInsertTextRule:Ys,SymbolKind:Tn,SymbolTag:Rn,IndentAction:dn,CompletionTriggerKind:en,SignatureHelpTriggerKind:Fn,InlayHintKind:pn,InlineCompletionTriggerKind:gn,CodeActionTriggerType:Js,FoldingRangeKind:Ks,SelectedSuggestionInfo:zs};const TK=FK.CancellationTokenSource,RK=FK.Emitter,OK=FK.KeyCode,IK=FK.KeyMod,_K=FK.Position,NK=FK.Range,BK=FK.Selection,PK=FK.SelectionDirection,$K=FK.MarkerSeverity,WK=FK.MarkerTag,jK=FK.Uri,zK=FK.Token,HK=FK.editor,VK=FK.languages,UK=globalThis.MonacoEnvironment;((null==UK?void 0:UK.globalAPI)||"function"==typeof define&&define.amd)&&(globalThis.monaco=FK),void 0!==globalThis.require&&"function"==typeof globalThis.require.config&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});const qK=Object.freeze({__proto__:null,CancellationTokenSource:TK,Emitter:RK,KeyCode:OK,KeyMod:IK,Position:_K,Range:NK,Selection:BK,SelectionDirection:PK,MarkerSeverity:$K,MarkerTag:WK,Uri:jK,Token:zK,editor:HK,languages:VK}); /*!----------------------------------------------------------------------------- @@ -145,7 +145,7 @@ eG({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliase * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -eG({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>import("./p-b60d9acc.js").then((t=>t.TagAutoInterpolationDollar))}),eG({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>import("./p-b60d9acc.js").then((t=>t.TagAngleInterpolationDollar))}),eG({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>import("./p-b60d9acc.js").then((t=>t.TagBracketInterpolationDollar))}),eG({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>import("./p-b60d9acc.js").then((t=>t.TagAngleInterpolationBracket))}),eG({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>import("./p-b60d9acc.js").then((t=>t.TagBracketInterpolationBracket))}),eG({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>import("./p-b60d9acc.js").then((t=>t.TagAutoInterpolationDollar))}),eG({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>import("./p-b60d9acc.js").then((t=>t.TagAutoInterpolationBracket))}), +eG({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>import("./p-3cbad260.js").then((t=>t.TagAutoInterpolationDollar))}),eG({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>import("./p-3cbad260.js").then((t=>t.TagAngleInterpolationDollar))}),eG({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>import("./p-3cbad260.js").then((t=>t.TagBracketInterpolationDollar))}),eG({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>import("./p-3cbad260.js").then((t=>t.TagAngleInterpolationBracket))}),eG({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>import("./p-3cbad260.js").then((t=>t.TagBracketInterpolationBracket))}),eG({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>import("./p-3cbad260.js").then((t=>t.TagAutoInterpolationDollar))}),eG({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>import("./p-3cbad260.js").then((t=>t.TagAutoInterpolationBracket))}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -166,7 +166,7 @@ eG({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gq * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -eG({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>import("./p-43aeda09.js")}), +eG({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>import("./p-32ead016.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -180,7 +180,7 @@ eG({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL" * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -eG({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:()=>import("./p-a193d862.js")}), +eG({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:()=>import("./p-ee5cc400.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -201,7 +201,7 @@ eG({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["te * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -eG({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>import("./p-15314162.js")}), +eG({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>import("./p-6b34d5fa.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -243,7 +243,7 @@ eG({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>import("./p-65 * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -eG({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>import("./p-c60d33dc.js")}), +eG({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>import("./p-92510b35.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -264,7 +264,7 @@ eG({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn", * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -eG({id:"mdx",extensions:[".mdx"],aliases:["MDX","mdx"],loader:()=>import("./p-96a3dcd6.js")}), +eG({id:"mdx",extensions:[".mdx"],aliases:["MDX","mdx"],loader:()=>import("./p-9d9b27c2.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -376,7 +376,7 @@ eG({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:() * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -eG({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>import("./p-0785d075.js")}), +eG({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>import("./p-d659a7a2.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -397,7 +397,7 @@ eG({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R"," * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -eG({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>import("./p-76bda831.js")}), +eG({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>import("./p-e6d50fa3.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -537,7 +537,7 @@ eG({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-tw * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -eG({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>import("./p-bc1d3087.js")}), +eG({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>import("./p-5551046f.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) @@ -558,38 +558,38 @@ eG({id:"wgsl",extensions:[".wgsl"],aliases:["WebGPU Shading Language","WGSL","wg * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -eG({id:"xml",extensions:[".xml",".xsd",".dtd",".ascx",".csproj",".config",".props",".targets",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xslt",".xsl"],firstLine:"(\\<\\?xml.*)|(\\import("./p-3ed11fa8.js")}), +eG({id:"xml",extensions:[".xml",".xsd",".dtd",".ascx",".csproj",".config",".props",".targets",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xslt",".xsl"],firstLine:"(\\<\\?xml.*)|(\\import("./p-13db32d1.js")}), /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -eG({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>import("./p-086eae7b.js")}); +eG({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>import("./p-58980cbd.js")}); /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -var sG=Object.defineProperty,nG=Object.getOwnPropertyDescriptor,oG=Object.getOwnPropertyNames,rG=Object.prototype.hasOwnProperty,hG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of oG(i))rG.call(t,n)||n===e||sG(t,n,{get:()=>i[n],enumerable:!(s=nG(i,n))||s.enumerable});return t},cG={};((t,i)=>{hG(cG,i,"default")})(0,qK);var aG=class{_onDidChange=new cG.Emitter;_options;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setOptions(i),this.setModeConfiguration(e)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(t){this._options=t||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(t){this.setOptions(t)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}},lG={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:"collapse",maxPreserveNewLines:void 0,preserveNewLines:!0}},uG={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},dG=new aG("css",lG,uG),fG=new aG("scss",lG,uG),pG=new aG("less",lG,uG);function gG(){return import("./p-6939d33e.js")}cG.languages.css={cssDefaults:dG,lessDefaults:pG,scssDefaults:fG},cG.languages.onLanguage("less",(()=>{gG().then((t=>t.setupMode(pG)))})),cG.languages.onLanguage("scss",(()=>{gG().then((t=>t.setupMode(fG)))})),cG.languages.onLanguage("css",(()=>{gG().then((t=>t.setupMode(dG)))})); +var sG=Object.defineProperty,nG=Object.getOwnPropertyDescriptor,oG=Object.getOwnPropertyNames,rG=Object.prototype.hasOwnProperty,hG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of oG(i))rG.call(t,n)||n===e||sG(t,n,{get:()=>i[n],enumerable:!(s=nG(i,n))||s.enumerable});return t},cG={};((t,i)=>{hG(cG,i,"default")})(0,qK);var aG=class{_onDidChange=new cG.Emitter;_options;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setOptions(i),this.setModeConfiguration(e)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(t){this._options=t||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(t){this.setOptions(t)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}},lG={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:"collapse",maxPreserveNewLines:void 0,preserveNewLines:!0}},uG={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},dG=new aG("css",lG,uG),fG=new aG("scss",lG,uG),pG=new aG("less",lG,uG);function gG(){return import("./p-f39d6a69.js")}cG.languages.css={cssDefaults:dG,lessDefaults:pG,scssDefaults:fG},cG.languages.onLanguage("less",(()=>{gG().then((t=>t.setupMode(pG)))})),cG.languages.onLanguage("scss",(()=>{gG().then((t=>t.setupMode(fG)))})),cG.languages.onLanguage("css",(()=>{gG().then((t=>t.setupMode(dG)))})); /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -var mG=Object.defineProperty,wG=Object.getOwnPropertyDescriptor,vG=Object.getOwnPropertyNames,bG=Object.prototype.hasOwnProperty,yG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of vG(i))bG.call(t,n)||n===e||mG(t,n,{get:()=>i[n],enumerable:!(s=wG(i,n))||s.enumerable});return t},kG={};((t,i)=>{yG(kG,i,"default")})(0,qK);var xG=class{_onDidChange=new kG.Emitter;_options;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setOptions(i),this.setModeConfiguration(e)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(t){this._options=t||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}},CG={format:{tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},suggest:{},data:{useDefaultDataProvider:!0}};function SG(t){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:t===DG,documentFormattingEdits:t===DG,documentRangeFormattingEdits:t===DG}}var DG="html",EG="handlebars",AG="razor",MG=OG(DG,CG,SG(DG)),LG=MG.defaults,FG=OG(EG,CG,SG(EG)),TG=FG.defaults,RG=OG(AG,CG,SG(AG));function OG(t,i=CG,e=SG(t)){const s=new xG(t,i,e);let n;const o=kG.languages.onLanguage(t,(async()=>{n=(await import("./p-d8e89b7c.js")).setupMode(s)}));return{defaults:s,dispose(){o.dispose(),n?.dispose(),n=void 0}}} +var mG=Object.defineProperty,wG=Object.getOwnPropertyDescriptor,vG=Object.getOwnPropertyNames,bG=Object.prototype.hasOwnProperty,yG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of vG(i))bG.call(t,n)||n===e||mG(t,n,{get:()=>i[n],enumerable:!(s=wG(i,n))||s.enumerable});return t},kG={};((t,i)=>{yG(kG,i,"default")})(0,qK);var xG=class{_onDidChange=new kG.Emitter;_options;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setOptions(i),this.setModeConfiguration(e)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(t){this._options=t||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}},CG={format:{tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},suggest:{},data:{useDefaultDataProvider:!0}};function SG(t){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:t===DG,documentFormattingEdits:t===DG,documentRangeFormattingEdits:t===DG}}var DG="html",EG="handlebars",AG="razor",MG=OG(DG,CG,SG(DG)),LG=MG.defaults,FG=OG(EG,CG,SG(EG)),TG=FG.defaults,RG=OG(AG,CG,SG(AG));function OG(t,i=CG,e=SG(t)){const s=new xG(t,i,e);let n;const o=kG.languages.onLanguage(t,(async()=>{n=(await import("./p-83e291cb.js")).setupMode(s)}));return{defaults:s,dispose(){o.dispose(),n?.dispose(),n=void 0}}} /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/kG.languages.html={htmlDefaults:LG,razorDefaults:RG.defaults,handlebarDefaults:TG,htmlLanguageService:MG,handlebarLanguageService:FG,razorLanguageService:RG,registerHTMLLanguageService:OG};var IG=Object.defineProperty,_G=Object.getOwnPropertyDescriptor,NG=Object.getOwnPropertyNames,BG=Object.prototype.hasOwnProperty,PG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of NG(i))BG.call(t,n)||n===e||IG(t,n,{get:()=>i[n],enumerable:!(s=_G(i,n))||s.enumerable});return t},$G={};((t,i)=>{PG($G,i,"default")})(0,qK);var WG=new class{_onDidChange=new $G.Emitter;_diagnosticsOptions;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setDiagnosticsOptions(i),this.setModeConfiguration(e)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(t){this._diagnosticsOptions=t||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}}("json",{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0});$G.languages.json={jsonDefaults:WG},$G.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),$G.languages.onLanguage("json",(()=>{import("./p-f80603ab.js").then((t=>t.setupMode(WG)))})); + *-----------------------------------------------------------------------------*/kG.languages.html={htmlDefaults:LG,razorDefaults:RG.defaults,handlebarDefaults:TG,htmlLanguageService:MG,handlebarLanguageService:FG,razorLanguageService:RG,registerHTMLLanguageService:OG};var IG=Object.defineProperty,_G=Object.getOwnPropertyDescriptor,NG=Object.getOwnPropertyNames,BG=Object.prototype.hasOwnProperty,PG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of NG(i))BG.call(t,n)||n===e||IG(t,n,{get:()=>i[n],enumerable:!(s=_G(i,n))||s.enumerable});return t},$G={};((t,i)=>{PG($G,i,"default")})(0,qK);var WG=new class{_onDidChange=new $G.Emitter;_diagnosticsOptions;_modeConfiguration;_languageId;constructor(t,i,e){this._languageId=t,this.setDiagnosticsOptions(i),this.setModeConfiguration(e)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(t){this._diagnosticsOptions=t||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(this)}}("json",{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0});$G.languages.json={jsonDefaults:WG},$G.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]}),$G.languages.onLanguage("json",(()=>{import("./p-e430c17d.js").then((t=>t.setupMode(WG)))})); /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/ -var jG=Object.defineProperty,zG=Object.getOwnPropertyDescriptor,HG=Object.getOwnPropertyNames,VG=Object.prototype.hasOwnProperty,UG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of HG(i))VG.call(t,n)||n===e||jG(t,n,{get:()=>i[n],enumerable:!(s=zG(i,n))||s.enumerable});return t},qG={};((t,i)=>{UG(qG,i,"default")})(0,qK);var KG=(t=>(t[t.None=0]="None",t[t.CommonJS=1]="CommonJS",t[t.AMD=2]="AMD",t[t.UMD=3]="UMD",t[t.System=4]="System",t[t.ES2015=5]="ES2015",t[t.ESNext=99]="ESNext",t))(KG||{}),GG=(t=>(t[t.None=0]="None",t[t.Preserve=1]="Preserve",t[t.React=2]="React",t[t.ReactNative=3]="ReactNative",t[t.ReactJSX=4]="ReactJSX",t[t.ReactJSXDev=5]="ReactJSXDev",t))(GG||{}),ZG=(t=>(t[t.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",t[t.LineFeed=1]="LineFeed",t))(ZG||{}),QG=(t=>(t[t.ES3=0]="ES3",t[t.ES5=1]="ES5",t[t.ES2015=2]="ES2015",t[t.ES2016=3]="ES2016",t[t.ES2017=4]="ES2017",t[t.ES2018=5]="ES2018",t[t.ES2019=6]="ES2019",t[t.ES2020=7]="ES2020",t[t.ESNext=99]="ESNext",t[t.JSON=100]="JSON",t[t.Latest=99]="Latest",t))(QG||{}),JG=(t=>(t[t.Classic=1]="Classic",t[t.NodeJs=2]="NodeJs",t))(JG||{}),YG=class{_onDidChange=new qG.Emitter;_onDidExtraLibsChange=new qG.Emitter;_extraLibs;_removedExtraLibs;_eagerModelSync;_compilerOptions;_diagnosticsOptions;_workerOptions;_onDidExtraLibsChangeTimeout;_inlayHintsOptions;_modeConfiguration;constructor(t,i,e,s,n){this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(t),this.setDiagnosticsOptions(i),this.setWorkerOptions(e),this.setInlayHintsOptions(s),this.setModeConfiguration(n),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(t,i){let e;if(e=void 0===i?`ts:extralib-${Math.random().toString(36).substring(2,15)}`:i,this._extraLibs[e]&&this._extraLibs[e].content===t)return{dispose:()=>{}};let s=1;return this._removedExtraLibs[e]&&(s=this._removedExtraLibs[e]+1),this._extraLibs[e]&&(s=this._extraLibs[e].version+1),this._extraLibs[e]={content:t,version:s},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let t=this._extraLibs[e];t&&t.version===s&&(delete this._extraLibs[e],this._removedExtraLibs[e]=s,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(t){for(const t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),t&&t.length>0)for(const i of t){const t=i.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`;let e=1;this._removedExtraLibs[t]&&(e=this._removedExtraLibs[t]+1),this._extraLibs[t]={content:i.content,version:e}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){-1===this._onDidExtraLibsChangeTimeout&&(this._onDidExtraLibsChangeTimeout=window.setTimeout((()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)}),0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(t){this._compilerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(t){this._diagnosticsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(t){this._workerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(t){this._inlayHintsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(t){}setEagerModelSync(t){this._eagerModelSync=t}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(void 0)}},XG={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},tZ=new YG({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},XG),iZ=new YG({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},XG);function eZ(){return import("./p-bd4ed29d.js")}qG.languages.typescript={ModuleKind:KG,JsxEmit:GG,NewLineKind:ZG,ScriptTarget:QG,ModuleResolutionKind:JG,typescriptVersion:"5.0.2",typescriptDefaults:tZ,javascriptDefaults:iZ,getTypeScriptWorker:()=>eZ().then((t=>t.getTypeScriptWorker())),getJavaScriptWorker:()=>eZ().then((t=>t.getJavaScriptWorker()))},qG.languages.onLanguage("typescript",(()=>eZ().then((t=>t.setupTypeScript(tZ))))),qG.languages.onLanguage("javascript",(()=>eZ().then((t=>t.setupJavaScript(iZ))))),$h(class extends Ph{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:{value:rt(0,"Toggle Collapse Unchanged Regions"),original:"Toggle Collapse Unchanged Regions"},icon:Os.map,toggled:zr.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:zr.has("isInDiffEditor"),menu:{when:zr.has("isInDiffEditor"),id:Rh.EditorTitle,order:22,group:"navigation"}})}run(t,...i){const e=t.get(pd),s=!e.getValue("diffEditor.hideUnchangedRegions.enabled");e.updateValue("diffEditor.hideUnchangedRegions.enabled",s)}});class sZ extends Ph{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:{value:rt(0,"Toggle Show Moved Code Blocks"),original:"Toggle Show Moved Code Blocks"},precondition:zr.has("isInDiffEditor")})}run(t,...i){const e=t.get(pd),s=!e.getValue("diffEditor.experimental.showMoves");e.updateValue("diffEditor.experimental.showMoves",s)}}$h(sZ);class nZ extends Ph{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:{value:rt(0,"Toggle Use Inline View When Space Is Limited"),original:"Toggle Use Inline View When Space Is Limited"},precondition:zr.has("isInDiffEditor")})}run(t,...i){const e=t.get(pd),s=!e.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");e.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",s)}}$h(nZ),_h.appendMenuItem(Rh.EditorTitle,{command:{id:(new nZ).desc.id,title:rt(0,"Use Inline View When Space Is Limited"),toggled:zr.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:zr.has("isInDiffEditor")},order:11,group:"1_diff",when:zr.and(UC.diffEditorRenderSideBySideInlineBreakpointReached,zr.has("isInDiffEditor"))}),_h.appendMenuItem(Rh.EditorTitle,{command:{id:(new sZ).desc.id,title:rt(0,"Show Moved Code Blocks"),icon:Os.move,toggled:Kr.create("config.diffEditor.experimental.showMoves",!0),precondition:zr.has("isInDiffEditor")},order:10,group:"1_diff",when:zr.has("isInDiffEditor")});const oZ={value:rt(0,"Diff Editor"),original:"Diff Editor"};$h(class extends ou{constructor(){super({id:"diffEditor.switchSide",title:{value:rt(0,"Switch Side"),original:"Switch Side"},icon:Os.arrowSwap,precondition:zr.has("isInDiffEditor"),f1:!0,category:oZ})}runEditorCommand(t,i,e){const s=aZ(t);if(s instanceof Eq){if(e&&e.dryRun)return{destinationSelection:s.mapToOtherSide().destinationSelection};s.switchSide()}}}),$h(class extends ou{constructor(){super({id:"diffEditor.exitCompareMove",title:{value:rt(0,"Exit Compare Move"),original:"Exit Compare Move"},icon:Os.close,precondition:UC.comparingMovedCode,f1:!1,category:oZ,keybinding:{weight:1e4,primary:9}})}runEditorCommand(t,i,...e){const s=aZ(t);s instanceof Eq&&s.exitCompareMove()}}),$h(class extends ou{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:{value:rt(0,"Collapse All Unchanged Regions"),original:"Collapse All Unchanged Regions"},icon:Os.fold,precondition:zr.has("isInDiffEditor"),f1:!0,category:oZ})}runEditorCommand(t,i,...e){const s=aZ(t);s instanceof Eq&&s.collapseAllUnchangedRegions()}}),$h(class extends ou{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:{value:rt(0,"Show All Unchanged Regions"),original:"Show All Unchanged Regions"},icon:Os.unfold,precondition:zr.has("isInDiffEditor"),f1:!0,category:oZ})}runEditorCommand(t,i,...e){const s=aZ(t);s instanceof Eq&&s.showAllUnchangedRegions()}});const rZ={value:rt(0,"Accessible Diff Viewer"),original:"Accessible Diff Viewer"};class hZ extends Ph{constructor(){super({id:hZ.id,title:{value:rt(0,"Go to Next Difference"),original:"Go to Next Difference"},category:rZ,precondition:zr.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(t){const i=aZ(t);null==i||i.accessibleDiffViewerNext()}}hZ.id="editor.action.accessibleDiffViewer.next",_h.appendMenuItem(Rh.EditorTitle,{command:{id:hZ.id,title:rt(0,"Open Accessible Diff Viewer"),precondition:zr.has("isInDiffEditor")},order:10,group:"2_diff",when:zr.and(UC.accessibleDiffViewerVisible.negate(),zr.has("isInDiffEditor"))});class cZ extends Ph{constructor(){super({id:cZ.id,title:{value:rt(0,"Go to Previous Difference"),original:"Go to Previous Difference"},category:rZ,precondition:zr.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(t){const i=aZ(t);null==i||i.accessibleDiffViewerPrev()}}function aZ(t){var i;const e=t.get(fr),s=e.listDiffEditors(),n=null!==(i=e.getFocusedCodeEditor())&&void 0!==i?i:e.getActiveCodeEditor();if(!n)return null;for(let t=0,i=s.length;tthis.selectionAnchorSetContextKey.reset()))}setSelectionAnchor(){if(this.editor.hasModel()){const t=this.editor.getPosition();this.editor.changeDecorations((i=>{this.decorationId&&i.removeDecoration(this.decorationId),this.decorationId=i.addDecoration(Ls.fromPositions(t,t),{description:"selection-anchor",stickiness:1,hoverMessage:(new M_).appendText(rt(0,"Selection Anchor")),className:"selection-anchor"})})),this.selectionAnchorSetContextKey.set(!!this.decorationId),Tm(rt(0,"Anchor set at {0}:{1}",t.lineNumber,t.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const t=this.editor.getModel().getDecorationRange(this.decorationId);t&&this.editor.setPosition(t.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const t=this.editor.getModel().getDecorationRange(this.decorationId);if(t){const i=this.editor.getPosition();this.editor.setSelection(Ls.fromPositions(t.getStartPosition(),i)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const t=this.decorationId;this.editor.changeDecorations((i=>{i.removeDecoration(t),this.decorationId=void 0})),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};fZ.ID="editor.contrib.selectionAnchorController",fZ=uZ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,ah)],fZ),lu(fZ.ID,fZ,4),cu(class extends su{constructor(){super({id:"editor.action.setSelectionAnchor",label:rt(0,"Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2080),weight:100}})}async run(t,i){var e;null===(e=fZ.get(i))||void 0===e||e.setSelectionAnchor()}}),cu(class extends su{constructor(){super({id:"editor.action.goToSelectionAnchor",label:rt(0,"Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:dZ})}async run(t,i){var e;null===(e=fZ.get(i))||void 0===e||e.goToSelectionAnchor()}}),cu(class extends su{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:rt(0,"Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:dZ,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2089),weight:100}})}async run(t,i){var e;null===(e=fZ.get(i))||void 0===e||e.selectFromAnchorToCursor()}}),cu(class extends su{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:rt(0,"Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:dZ,kbOpts:{kbExpr:UC.editorTextFocus,primary:9,weight:100}})}async run(t,i){var e;null===(e=fZ.get(i))||void 0===e||e.cancelSelectionAnchor()}});const pZ=ow("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},rt(0,"Overview ruler marker color for matching brackets."));class gZ{constructor(t,i,e){this.position=t,this.brackets=i,this.options=e}}class mZ extends ie{static get(t){return t.getContribution(mZ.ID)}constructor(t){super(),this._editor=t,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new pc((()=>this._updateBrackets()),50)),this._matchBrackets=this._editor.getOption(71),this._updateBracketsSoon.schedule(),this._register(t.onDidChangeCursorPosition((()=>{"never"!==this._matchBrackets&&this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModelContent((()=>{this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModel((()=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModelLanguageConfiguration((()=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeConfiguration((t=>{t.hasChanged(71)&&(this._matchBrackets=this._editor.getOption(71),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())}))),this._register(t.onDidBlurEditorWidget((()=>{this._updateBracketsSoon.schedule()}))),this._register(t.onDidFocusEditorWidget((()=>{this._updateBracketsSoon.schedule()})))}jumpToBracket(){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=this._editor.getSelections().map((i=>{const e=i.getStartPosition(),s=t.bracketPairs.matchBracket(e);let n=null;if(s)s[0].containsPosition(e)&&!s[1].containsPosition(e)?n=s[1].getStartPosition():s[1].containsPosition(e)&&(n=s[0].getStartPosition());else{const i=t.bracketPairs.findEnclosingBrackets(e);if(i)n=i[1].getStartPosition();else{const i=t.bracketPairs.findNextBracket(e);i&&i.range&&(n=i.range.getStartPosition())}}return n?new Ls(n.lineNumber,n.column,n.lineNumber,n.column):new Ls(e.lineNumber,e.column,e.lineNumber,e.column)}));this._editor.setSelections(i),this._editor.revealRange(i[0])}selectToBracket(t){if(!this._editor.hasModel())return;const i=this._editor.getModel(),e=[];this._editor.getSelections().forEach((s=>{const n=s.getStartPosition();let o=i.bracketPairs.matchBracket(n);if(!o&&(o=i.bracketPairs.findEnclosingBrackets(n),!o)){const t=i.bracketPairs.findNextBracket(n);t&&t.range&&(o=i.bracketPairs.matchBracket(t.range.getStartPosition()))}let r=null,h=null;if(o){o.sort(Ms.compareRangesUsingStarts);const[i,e]=o;if(r=t?i.getStartPosition():i.getEndPosition(),h=t?e.getEndPosition():e.getStartPosition(),e.containsPosition(n)){const t=r;r=h,h=t}}r&&h&&e.push(new Ls(r.lineNumber,r.column,h.lineNumber,h.column))})),e.length>0&&(this._editor.setSelections(e),this._editor.revealRange(e[0]))}removeBrackets(t){if(!this._editor.hasModel())return;const i=this._editor.getModel();this._editor.getSelections().forEach((e=>{const s=e.getPosition();let n=i.bracketPairs.matchBracket(s);n||(n=i.bracketPairs.findEnclosingBrackets(s)),n&&(this._editor.pushUndoStop(),this._editor.executeEdits(t,[{range:n[0],text:""},{range:n[1],text:""}]),this._editor.pushUndoStop())}))}_updateBrackets(){if("never"===this._matchBrackets)return;this._recomputeBrackets();const t=[];let i=0;for(const e of this._lastBracketsData){const s=e.brackets;s&&(t[i++]={range:s[0],options:e.options},t[i++]={range:s[1],options:e.options})}this._decorations.set(t)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return this._lastBracketsData=[],void(this._lastVersionId=0);const t=this._editor.getSelections();if(t.length>100)return this._lastBracketsData=[],void(this._lastVersionId=0);const i=this._editor.getModel(),e=i.getVersionId();let s=[];this._lastVersionId===e&&(s=this._lastBracketsData);const n=[];let o=0;for(let i=0,e=t.length;i1&&n.sort(As.compare);const r=[];let h=0,c=0;const a=s.length;for(let t=0,e=n.length;t0&&(i.pushUndoStop(),i.executeCommands(this.id,s),i.pushUndoStop())}});const bZ="9_cutcopypaste",yZ=Et||document.queryCommandSupported("cut"),kZ=Et||document.queryCommandSupported("copy"),xZ=void 0!==navigator.clipboard&&!Uo||document.queryCommandSupported("paste");function CZ(t){return t.register(),t}const SZ=yZ?CZ(new tu({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Et?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Rh.MenubarEditMenu,group:"2_ccp",title:rt(0,"Cu&&t"),order:1},{menuId:Rh.EditorContext,group:bZ,title:rt(0,"Cut"),when:UC.writable,order:1},{menuId:Rh.CommandPalette,group:"",title:rt(0,"Cut"),order:1},{menuId:Rh.SimpleEditorContext,group:bZ,title:rt(0,"Cut"),when:UC.writable,order:1}]})):void 0,DZ=kZ?CZ(new tu({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Et?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Rh.MenubarEditMenu,group:"2_ccp",title:rt(0,"&&Copy"),order:2},{menuId:Rh.EditorContext,group:bZ,title:rt(0,"Copy"),order:2},{menuId:Rh.CommandPalette,group:"",title:rt(0,"Copy"),order:1},{menuId:Rh.SimpleEditorContext,group:bZ,title:rt(0,"Copy"),order:2}]})):void 0;_h.appendMenuItem(Rh.MenubarEditMenu,{submenu:Rh.MenubarCopy,title:{value:rt(0,"Copy As"),original:"Copy As"},group:"2_ccp",order:3}),_h.appendMenuItem(Rh.EditorContext,{submenu:Rh.EditorContextCopy,title:{value:rt(0,"Copy As"),original:"Copy As"},group:bZ,order:3}),_h.appendMenuItem(Rh.EditorContext,{submenu:Rh.EditorContextShare,title:{value:rt(0,"Share"),original:"Share"},group:"11_share",order:-1,when:zr.and(zr.notEquals("resourceScheme","output"),UC.editorTextFocus)}),_h.appendMenuItem(Rh.EditorTitleContext,{submenu:Rh.EditorTitleContextShare,title:{value:rt(0,"Share"),original:"Share"},group:"11_share",order:-1}),_h.appendMenuItem(Rh.ExplorerContext,{submenu:Rh.ExplorerContextShare,title:{value:rt(0,"Share"),original:"Share"},group:"11_share",order:-1});const EZ=xZ?CZ(new tu({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Et?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Rh.MenubarEditMenu,group:"2_ccp",title:rt(0,"&&Paste"),order:4},{menuId:Rh.EditorContext,group:bZ,title:rt(0,"Paste"),when:UC.writable,order:4},{menuId:Rh.CommandPalette,group:"",title:rt(0,"Paste"),order:1},{menuId:Rh.SimpleEditorContext,group:bZ,title:rt(0,"Paste"),when:UC.writable,order:4}]})):void 0;function AZ(t,i){t&&(t.addImplementation(1e4,"code-editor",(t=>{const e=t.get(fr).getFocusedCodeEditor();if(e&&e.hasTextFocus()){const t=e.getOption(37),s=e.getSelection();return s&&s.isEmpty()&&!t||e.getContainerDomNode().ownerDocument.execCommand(i),!0}return!1})),t.addImplementation(0,"generic-dom",(()=>(ml().execCommand(i),!0))))}AZ(SZ,"cut"),AZ(DZ,"copy"),EZ&&(EZ.addImplementation(1e4,"code-editor",(t=>{const i=t.get(fr),e=t.get(dH),s=i.getFocusedCodeEditor();return!(!s||!s.hasTextFocus())&&(!(!s.getContainerDomNode().ownerDocument.execCommand("paste")&&At)||(async()=>{const t=await e.readText();if(""!==t){const i=Bk.INSTANCE.get(t);let e=!1,n=null,o=null;i&&(e=s.getOption(37)&&!!i.isFromEmptySelection,n=void 0!==i.multicursorText?i.multicursorText:null,o=i.mode),s.trigger("keyboard","paste",{text:t,pasteOnNewLine:e,multicursorText:n,mode:o})}})())})),EZ.addImplementation(0,"generic-dom",(()=>(ml().execCommand("paste"),!0)))),kZ&&cu(class extends su{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:rt(0,"Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:UC.textInputFocus,primary:0,weight:100}})}run(t,i){i.hasModel()&&(!i.getOption(37)&&i.getSelection().isEmpty()||(Nk.forceCopyWithSyntaxHighlighting=!0,i.focus(),i.getContainerDomNode().ownerDocument.execCommand("copy"),Nk.forceCopyWithSyntaxHighlighting=!1))}});class MZ{constructor(t){this.value=t}equals(t){return this.value===t.value}contains(t){return this.equals(t)||""===this.value||t.value.startsWith(this.value+MZ.sep)}intersects(t){return this.contains(t)||t.contains(this)}append(t){return new MZ(this.value+MZ.sep+t)}}var LZ;function FZ(t,i,e){return!(!i.contains(t)||e&&i.contains(e))}MZ.sep=".",MZ.None=new MZ("@@none@@"),MZ.Empty=new MZ(""),MZ.QuickFix=new MZ("quickfix"),MZ.Refactor=new MZ("refactor"),MZ.RefactorExtract=MZ.Refactor.append("extract"),MZ.RefactorInline=MZ.Refactor.append("inline"),MZ.RefactorMove=MZ.Refactor.append("move"),MZ.RefactorRewrite=MZ.Refactor.append("rewrite"),MZ.Notebook=new MZ("notebook"),MZ.Source=new MZ("source"),MZ.SourceOrganizeImports=MZ.Source.append("organizeImports"),MZ.SourceFixAll=MZ.Source.append("fixAll"),MZ.SurroundWith=MZ.Refactor.append("surround"),function(t){t.Refactor="refactor",t.RefactorPreview="refactor preview",t.Lightbulb="lightbulb",t.Default="other (default)",t.SourceAction="source action",t.QuickFix="quick fix action",t.FixAll="fix all",t.OrganizeImports="organize imports",t.AutoFix="auto fix",t.QuickFixHover="quick fix hover window",t.OnSave="save participants",t.ProblemsView="problems view"}(LZ||(LZ={}));class TZ{static fromUser(t,i){return t&&"object"==typeof t?new TZ(TZ.getKindFromUser(t,i.kind),TZ.getApplyFromUser(t,i.apply),TZ.getPreferredUser(t)):new TZ(i.kind,i.apply,!1)}static getApplyFromUser(t,i){switch("string"==typeof t.apply?t.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return i}}static getKindFromUser(t,i){return"string"==typeof t.kind?new MZ(t.kind):i}static getPreferredUser(t){return"boolean"==typeof t.preferred&&t.preferred}constructor(t,i,e){this.kind=t,this.apply=i,this.preferred=e}}class RZ{constructor(t,i,e){this.action=t,this.provider=i,this.highlightRange=e}async resolve(t){var i;if((null===(i=this.provider)||void 0===i?void 0:i.resolveCodeAction)&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,t)}catch(t){$i(t)}i&&(this.action.edit=i.edit)}return this}}const OZ="editor.action.codeAction",IZ="editor.action.quickFix",_Z="editor.action.autoFix",NZ="editor.action.refactor",BZ="editor.action.sourceAction",PZ="editor.action.organizeImports",$Z="editor.action.fixAll";class WZ extends ie{static codeActionsPreferredComparator(t,i){return t.isPreferred&&!i.isPreferred?-1:!t.isPreferred&&i.isPreferred?1:0}static codeActionsComparator({action:t},{action:i}){return t.isAI&&!i.isAI?1:!t.isAI&&i.isAI?-1:y(t.diagnostics)?y(i.diagnostics)?WZ.codeActionsPreferredComparator(t,i):-1:y(i.diagnostics)?1:WZ.codeActionsPreferredComparator(t,i)}constructor(t,i,e){super(),this.documentation=i,this._register(e),this.allActions=[...t].sort(WZ.codeActionsComparator),this.validActions=this.allActions.filter((({action:t})=>!t.disabled))}get hasAutoFix(){return this.validActions.some((({action:t})=>!!t.kind&&MZ.QuickFix.contains(new MZ(t.kind))&&!!t.isPreferred))}get hasAIFix(){return this.validActions.some((({action:t})=>!!t.isAI))}get allAIFixes(){return this.validActions.every((({action:t})=>!!t.isAI))}}const jZ={actions:[],documentation:void 0};async function zZ(t,i,e,s,n,o){var r;const h=s.filter||{},c={...h,excludes:[...h.excludes||[],MZ.Notebook]},a={only:null===(r=h.include)||void 0===r?void 0:r.value,trigger:s.type},l=new mK(i,o),d=function(t,i,e){return t.all(i).filter((t=>!t.providedCodeActionKinds||t.providedCodeActionKinds.some((t=>function(t,i){return!(t.include&&!t.include.intersects(i)||t.excludes&&t.excludes.some((e=>FZ(i,e,t.include)))||!t.includeSourceActions&&MZ.Source.contains(i))}(e,new MZ(t))))))}(t,i,2===s.type?c:h),f=new te,p=d.map((async t=>{try{n.report(t);const s=await t.provideCodeActions(i,e,a,l.token);if(s&&f.add(s),l.token.isCancellationRequested)return jZ;const o=((null==s?void 0:s.actions)||[]).filter((t=>t&&function(t,i){const e=i.kind?new MZ(i.kind):void 0;return!(!(!t.include||e&&t.include.contains(e))||t.excludes&&e&&t.excludes.some((i=>FZ(e,i,t.include)))||!t.includeSourceActions&&e&&MZ.Source.contains(e)||t.onlyIncludePreferredActions&&!i.isPreferred)}(h,t))),r=function(t,i,e){if(!t.documentation)return;const s=t.documentation.map((t=>({kind:new MZ(t.kind),command:t.command})));if(e){let t;for(const i of s)i.kind.contains(e)&&(t?t.kind.contains(i.kind)&&(t=i):t=i);if(t)return null==t?void 0:t.command}for(const t of i)if(t.kind)for(const i of s)if(i.kind.contains(new MZ(t.kind)))return i.command}(t,o,h.include);return{actions:o.map((i=>new RZ(i,t))),documentation:r}}catch(t){if(zi(t))throw t;return $i(t),jZ}})),g=t.onDidChange((()=>{u(t.all(i),d)||l.cancel()}));try{const e=await Promise.all(p),n=e.map((t=>t.actions)).flat(),o=[...w(e.map((t=>t.documentation))),...HZ(t,i,s,n)];return new WZ(n,o,f)}finally{g.dispose(),l.dispose()}}function*HZ(t,i,e,s){var n,o,r;if(i&&s.length)for(const h of t.all(i))h._getAdditionalMenuItems&&(yield*null===(n=h._getAdditionalMenuItems)||void 0===n?void 0:n.call(h,{trigger:e.type,only:null===(r=null===(o=e.filter)||void 0===o?void 0:o.include)||void 0===r?void 0:r.value},s.map((t=>t.action))))}var VZ;async function UZ(t,i,e,s,n=xe.None){var o;const r=t.get(QR),h=t.get(Sr),c=t.get(Wh),a=t.get(JF);if(c.publicLog2("codeAction.applyCodeAction",{codeActionTitle:i.action.title,codeActionKind:i.action.kind,codeActionIsPreferred:!!i.action.isPreferred,reason:e}),await i.resolve(n),!n.isCancellationRequested){if((null===(o=i.action.edit)||void 0===o?void 0:o.edits.length)&&!(await r.apply(i.action.edit,{editor:null==s?void 0:s.editor,label:i.action.title,quotableLabel:i.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:e!==VZ.OnSave,showPreview:null==s?void 0:s.preview})).isApplied)return;if(i.action.command)try{await h.executeCommand(i.action.command.id,...i.action.command.arguments||[])}catch(t){const i=function(t){return"string"==typeof t?t:t instanceof Error&&"string"==typeof t.message?t.message:void 0}(t);a.error("string"==typeof i?i:rt(0,"An unknown error occurred while applying the code action"))}}}!function(t){t.OnSave="onSave",t.FromProblemsView="fromProblemsView",t.FromCodeActions="fromCodeActions"}(VZ||(VZ={})),Dr.registerCommand("_executeCodeActionProvider",(async function(t,i,e,s,n){if(!(i instanceof ms))throw Vi();const{codeActionProvider:o}=t.get(gg),r=t.get(pr).getModel(i);if(!r)throw Vi();const h=Ls.isISelection(e)?Ls.liftSelection(e):Ms.isIRange(e)?r.validateRange(e):void 0;if(!h)throw Vi();const c="string"==typeof s?new MZ(s):void 0,a=await zZ(o,r,h,{type:1,triggerAction:LZ.Default,filter:{includeSourceActions:!0,include:c}},OO.None,xe.None),l=[],u=Math.min(a.validActions.length,"number"==typeof n?n:0);for(let t=0;tt.action))}finally{setTimeout((()=>a.dispose()),100)}}));var qZ;let KZ=qZ=class{constructor(t){this.keybindingService=t}getResolver(){const t=new zn((()=>this.keybindingService.getKeybindings().filter((t=>qZ.codeActionCommands.indexOf(t.command)>=0)).filter((t=>t.resolvedKeybinding)).map((t=>{let i=t.commandArgs;return t.command===PZ?i={kind:MZ.SourceOrganizeImports.value}:t.command===$Z&&(i={kind:MZ.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...TZ.fromUser(i,{kind:MZ.None,apply:"never"})}}))));return i=>{if(i.kind){const e=this.bestKeybindingForCodeAction(i,t.value);return null==e?void 0:e.resolvedKeybinding}}}bestKeybindingForCodeAction(t,i){if(!t.kind)return;const e=new MZ(t.kind);return i.filter((t=>t.kind.contains(e))).filter((i=>!i.preferred||t.isPreferred)).reduceRight(((t,i)=>t?t.kind.contains(i.kind)?i:t:i),void 0)}};KZ.codeActionCommands=[NZ,OZ,BZ,PZ,$Z],KZ=qZ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,Yx)],KZ),ow("symbolIcon.arrayForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.booleanForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},rt(0,"The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.colorForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.constantForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},rt(0,"The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},rt(0,"The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},rt(0,"The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.fileForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.folderForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},rt(0,"The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.keyForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.keywordForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},rt(0,"The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.moduleForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.namespaceForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.nullForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.numberForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.objectForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.operatorForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.packageForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.propertyForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.referenceForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.snippetForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.stringForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.structForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.textForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.typeParameterForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.unitForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const GZ=Object.freeze({kind:MZ.Empty,title:rt(0,"More Actions...")}),ZZ=Object.freeze([{kind:MZ.QuickFix,title:rt(0,"Quick Fix")},{kind:MZ.RefactorExtract,title:rt(0,"Extract"),icon:Os.wrench},{kind:MZ.RefactorInline,title:rt(0,"Inline"),icon:Os.wrench},{kind:MZ.RefactorRewrite,title:rt(0,"Rewrite"),icon:Os.wrench},{kind:MZ.RefactorMove,title:rt(0,"Move"),icon:Os.wrench},{kind:MZ.SurroundWith,title:rt(0,"Surround With"),icon:Os.symbolSnippet},{kind:MZ.Source,title:rt(0,"Source Action"),icon:Os.symbolFile},GZ]);var QZ,JZ,YZ=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t.Hidden={type:0},t.Showing=class{constructor(t,i,e,s){this.actions=t,this.trigger=i,this.editorPosition=e,this.widgetPosition=s,this.type=1}}}(JZ||(JZ={}));let XZ=QZ=class extends ie{constructor(t,i,e){var s,n,o;super(),this._editor=t,this._keybindingService=i,this._onClick=this._register(new fe),this.onClick=this._onClick.event,this._state=JZ.Hidden,this._iconClasses=[],this._domNode=$l("div.lightBulbWidget"),this._register(Xm.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent((()=>{const t=this._editor.getModel();(1!==this.state.type||!t||this.state.editorPosition.lineNumber>=t.getLineCount())&&this.hide()}))),this._register((n=t=>{var i;if(1!==this.state.type)return;const s=this._editor.getOption(64).experimental.showAiIcon;if((s===wi.On||s===wi.OnCode)&&this.state.actions.allAIFixes&&1===this.state.actions.validActions.length){const s=this.state.actions.validActions[0].action;if(null===(i=s.command)||void 0===i?void 0:i.id)return e.executeCommand(s.command.id,...s.command.arguments||[]),void t.preventDefault()}this._editor.focus(),t.preventDefault();const{top:n,height:o}=nl(this._domNode),r=this._editor.getOption(66);let h=Math.floor(r/3);null!==this.state.widgetPosition.position&&this.state.widgetPosition.position.lineNumber{1==(1&t.buttons)&&this.hide()}))),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(64)&&(this._editor.getOption(64).enabled||this.hide(),this._updateLightBulbTitleAndIcon())}))),this._register(ce.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,(()=>{var t,i,e,s;this._preferredKbLabel=null!==(i=null===(t=this._keybindingService.lookupKeybinding(_Z))||void 0===t?void 0:t.getLabel())&&void 0!==i?i:void 0,this._quickFixKbLabel=null!==(s=null===(e=this._keybindingService.lookupKeybinding(IZ))||void 0===e?void 0:e.getLabel())&&void 0!==s?s:void 0,this._updateLightBulbTitleAndIcon()})))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return 1===this._state.type?this._state.widgetPosition:null}update(t,i,e){if(t.validActions.length<=0)return this.hide();const s=this._editor.getOptions();if(!s.get(64).enabled)return this.hide();const n=this._editor.getModel();if(!n)return this.hide();const{lineNumber:o,column:r}=n.validatePosition(e),h=n.getOptions().tabSize,c=s.get(50),a=DS(n.getLineContent(o),h),l=t=>t>2&&this._editor.getTopForLineNumber(t)===this._editor.getTopForLineNumber(t-1);let u=o;if(!(c.spaceWidth*a>22))if(o>1&&!l(o-1))u-=1;else if(l(o+1)){if(r*c.spaceWidth<22)return this.hide()}else u+=1;this.state=new JZ.Showing(t,i,e,{position:{lineNumber:u,column:n.getLineContent(u).match(/^\S\s*$/)?2:1},preference:QZ._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state!==JZ.Hidden&&(this.state=JZ.Hidden,this._editor.layoutContentWidget(this))}get state(){return this._state}set state(t){this._state=t,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){var t,i,e;if(this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],1!==this.state.type)return;const s=()=>{this._preferredKbLabel&&(this.title=rt(0,"Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel))},n=()=>{this.title=this._quickFixKbLabel?rt(0,"Show Code Actions ({0})",this._quickFixKbLabel):rt(0,"Show Code Actions")};let o;const r=this._editor.getOption(64).experimental.showAiIcon;if(r===wi.On||r===wi.OnCode)if(r===wi.On&&this.state.actions.allAIFixes)if(o=Os.sparkleFilled,this.state.actions.allAIFixes&&1===this.state.actions.validActions.length)if("inlineChat.start"===(null===(t=this.state.actions.validActions[0].action.command)||void 0===t?void 0:t.id)){const t=null!==(e=null===(i=this._keybindingService.lookupKeybinding("inlineChat.start"))||void 0===i?void 0:i.getLabel())&&void 0!==e?e:void 0;this.title=t?rt(0,"Start Inline Chat ({0})",t):rt(0,"Start Inline Chat")}else this.title=rt(0,"Trigger AI Action");else n();else this.state.actions.hasAutoFix?(o=this.state.actions.hasAIFix?Os.lightbulbSparkleAutofix:Os.lightbulbAutofix,s()):this.state.actions.hasAIFix?(o=Os.lightbulbSparkle,n()):(o=Os.lightBulb,n());else this.state.actions.hasAutoFix?(o=Os.lightbulbAutofix,s()):(o=Os.lightBulb,n());this._iconClasses=Cr.asClassNameArray(o),this._domNode.classList.add(...this._iconClasses)}set title(t){this._domNode.title=t}};XZ.ID="editor.contrib.lightbulbWidget",XZ._posPref=[0],XZ=QZ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([YZ(1,Yx),YZ(2,Sr)],XZ);var tQ,iQ=function(t,i){return function(e,s){i(e,s,t)}};let eQ=tQ=class{constructor(t,i,e){this._options=t,this._languageService=i,this._openerService=e,this._onDidRenderAsync=new fe,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(t,i,e){if(!t)return{element:document.createElement("span"),dispose:()=>{}};const s=new te,n=s.add(J_(t,{...this._getRenderOptions(t,s),...i},e));return n.element.classList.add("rendered-markdown"),{element:n.element,dispose:()=>s.dispose()}}_getRenderOptions(t,i){return{codeBlockRenderer:async(t,i)=>{var e,s,n;let o;t?o=this._languageService.getLanguageIdByLanguageName(t):this._options.editor&&(o=null===(e=this._options.editor.getModel())||void 0===e?void 0:e.getLanguageId()),o||(o=Pd);const r=await async function(t,i,e){if(!e)return mF(i,t.languageIdCodec,pF);const s=await Zs.getOrCreate(e);return mF(i,t.languageIdCodec,s||pF)}(this._languageService,i,o),h=document.createElement("span");return h.innerHTML=null!==(n=null===(s=tQ._ttpTokenizer)||void 0===s?void 0:s.createHTML(r))&&void 0!==n?n:r,this._options.editor?ir(h,this._options.editor.getOption(50)):this._options.codeBlockFontFamily&&(h.style.fontFamily=this._options.codeBlockFontFamily),void 0!==this._options.codeBlockFontSize&&(h.style.fontSize=this._options.codeBlockFontSize),h},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:i=>sQ(this._openerService,i,t.isTrusted),disposables:i}}}};async function sQ(t,i,e){try{return await t.open(i,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:nQ(e)})}catch(t){return Pi(t),!1}}function nQ(t){return!0===t||!(!t||!Array.isArray(t.enabledCommands))&&t.enabledCommands}eQ._ttpTokenizer=Mu("tokenizeToString",{createHTML:t=>t}),eQ=tQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([iQ(1,yd),iQ(2,nP)],eQ);var oQ,rQ=function(t,i){return function(e,s){i(e,s,t)}};let hQ=oQ=class{static get(t){return t.getContribution(oQ.ID)}constructor(t,i,e){this._openerService=e,this._messageWidget=new ee,this._messageListeners=new te,this._mouseOverMessage=!1,this._editor=t,this._visible=oQ.MESSAGE_VISIBLE.bindTo(i)}dispose(){var t;null===(t=this._message)||void 0===t||t.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(t,i){let e;Tm(F_(t)?t.value:t),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=F_(t)?J_(t,{actionHandler:{callback:i=>sQ(this._openerService,i,F_(t)?t.isTrusted:void 0),disposables:this._messageListeners}}):void 0,this._messageWidget.value=new cQ(this._editor,i,"string"==typeof t?t:this._message.element),this._messageListeners.add(ce.debounce(this._editor.onDidBlurEditorText,((t,i)=>i),0)((()=>{this._mouseOverMessage||this._messageWidget.value&&al(pl(),this._messageWidget.value.getDomNode())||this.closeMessage()}))),this._messageListeners.add(this._editor.onDidChangeCursorPosition((()=>this.closeMessage()))),this._messageListeners.add(this._editor.onDidDispose((()=>this.closeMessage()))),this._messageListeners.add(this._editor.onDidChangeModel((()=>this.closeMessage()))),this._messageListeners.add(Va(this._messageWidget.value.getDomNode(),Ll.MOUSE_ENTER,(()=>this._mouseOverMessage=!0),!0)),this._messageListeners.add(Va(this._messageWidget.value.getDomNode(),Ll.MOUSE_LEAVE,(()=>this._mouseOverMessage=!1),!0)),this._messageListeners.add(this._editor.onMouseMove((t=>{t.target.position&&(e?e.containsPosition(t.target.position)||this.closeMessage():e=new Ms(i.lineNumber-3,1,t.target.position.lineNumber+3,1))})))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(cQ.fadeOut(this._messageWidget.value))}};hQ.ID="editor.contrib.messageController",hQ.MESSAGE_VISIBLE=new ch("messageVisible",!1,rt(0,"Whether the editor is currently showing an inline message")),hQ=oQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([rQ(1,ah),rQ(2,nP)],hQ),hu(new(eu.bindToContribution(hQ.get))({id:"leaveEditorMessage",precondition:hQ.MESSAGE_VISIBLE,handler:t=>t.closeMessage(),kbOpts:{weight:130,primary:9}}));class cQ{static fadeOut(t){const i=()=>{t.dispose(),clearTimeout(e),t.getDomNode().removeEventListener("animationend",i)},e=setTimeout(i,110);return t.getDomNode().addEventListener("animationend",i),t.getDomNode().classList.add("fadeOut"),{dispose:i}}constructor(t,{lineNumber:i,column:e},s){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=t,this._editor.revealLinesInCenterIfOutsideViewport(i,i,0),this._position={lineNumber:i,column:e},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const n=document.createElement("div");n.classList.add("anchor","top"),this._domNode.appendChild(n);const o=document.createElement("div");"string"==typeof s?(o.classList.add("message"),o.textContent=s):(s.classList.add("message"),o.appendChild(s)),this._domNode.appendChild(o);const r=document.createElement("div");r.classList.add("anchor","below"),this._domNode.appendChild(r),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(t){this._domNode.classList.toggle("below",2===t)}}lu(hQ.ID,hQ,4);var aQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},lQ=function(t,i){return function(e,s){i(e,s,t)}};const uQ="acceptSelectedCodeAction",dQ="previewSelectedCodeAction";class fQ{get templateId(){return"header"}renderTemplate(t){t.classList.add("group-header");const i=document.createElement("span");return t.append(i),{container:t,text:i}}renderElement(t,i,e){var s,n;e.text.textContent=null!==(n=null===(s=t.group)||void 0===s?void 0:s.title)&&void 0!==n?n:""}disposeTemplate(t){}}let pQ=class{get templateId(){return"action"}constructor(t,i){this._supportsPreview=t,this._keybindingService=i}renderTemplate(t){t.classList.add(this.templateId);const i=document.createElement("div");i.className="icon",t.append(i);const e=document.createElement("span");return e.className="title",t.append(e),{container:t,icon:i,text:e,keybinding:new Uj(t,_t)}}renderElement(t,i,e){var s,n,o;if((null===(s=t.group)||void 0===s?void 0:s.icon)?(e.icon.className=Cr.asClassName(t.group.icon),t.group.icon.color&&(e.icon.style.color=ew(t.group.icon.color.id))):(e.icon.className=Cr.asClassName(Os.lightBulb),e.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!t.item||!t.label)return;e.text.textContent=bQ(t.label),e.keybinding.set(t.keybinding),function(t,...i){t?Wl(...i):jl(...i)}(!!t.keybinding,e.keybinding.element);const r=null===(n=this._keybindingService.lookupKeybinding(uQ))||void 0===n?void 0:n.getLabel(),h=null===(o=this._keybindingService.lookupKeybinding(dQ))||void 0===o?void 0:o.getLabel();e.container.classList.toggle("option-disabled",t.disabled),e.container.title=t.disabled?t.label:r&&h?this._supportsPreview&&t.canPreview?rt(0,"{0} to apply, {1} to preview",r,h):rt(0,"{0} to apply",r):""}disposeTemplate(t){}};pQ=aQ([lQ(1,Yx)],pQ);class gQ extends UIEvent{constructor(){super("acceptSelectedAction")}}class mQ extends UIEvent{constructor(){super("previewSelectedAction")}}function wQ(t){if("action"===t.kind)return t.label}let vQ=class extends ie{constructor(t,i,e,s,n,o){super(),this._delegate=s,this._contextViewService=n,this._keybindingService=o,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new Se),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList"),this._list=this._register(new iB(t,this.domNode,{getHeight:t=>"header"===t.kind?this._headerLineHeight:this._actionLineHeight,getTemplateId:t=>t.kind},[new pQ(i,this._keybindingService),new fQ],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:wQ},accessibilityProvider:{getAriaLabel:t=>{if("action"===t.kind){let i=t.label?bQ(null==t?void 0:t.label):"";return t.disabled&&(i=rt(0,"{0}, Disabled Reason: {1}",i,t.disabled)),i}return null},getWidgetAriaLabel:()=>rt(0,"Action Widget"),getRole:t=>"action"===t.kind?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(LB),this._register(this._list.onMouseClick((t=>this.onListClick(t)))),this._register(this._list.onMouseOver((t=>this.onListHover(t)))),this._register(this._list.onDidChangeFocus((()=>this.onFocus()))),this._register(this._list.onDidChangeSelection((t=>this.onListSelection(t)))),this._allMenuItems=e,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(t){return!t.disabled&&"action"===t.kind}hide(t){this._delegate.onHide(t),this.cts.cancel(),this._contextViewService.hideContextView()}layout(t){const i=this._allMenuItems.filter((t=>"header"===t.kind)).length,e=this._allMenuItems.length*this._actionLineHeight+i*this._headerLineHeight-i*this._actionLineHeight;this._list.layout(e);let s=t;if(this._allMenuItems.length>=50)s=380;else{const i=this._allMenuItems.map(((t,i)=>{const e=this.domNode.ownerDocument.getElementById(this._list.getElementID(i));if(e){e.style.width="auto";const t=e.getBoundingClientRect().width;return e.style.width="",t}return 0}));s=Math.max(...i,t)}const n=Math.min(e,.7*this.domNode.ownerDocument.body.clientHeight);return this._list.layout(n,s),this.domNode.style.height=`${n}px`,this._list.domFocus(),s}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(t){const i=this._list.getFocus();if(0===i.length)return;const e=i[0],s=this._list.element(e);if(!this.focusCondition(s))return;const n=t?new mQ:new gQ;this._list.setSelection([e],n)}onListSelection(t){if(!t.elements.length)return;const i=t.elements[0];i.item&&this.focusCondition(i)?this._delegate.onSelect(i.item,t.browserEvent instanceof mQ):this._list.setSelection([])}onFocus(){var t,i;this._list.domFocus();const e=this._list.getFocus();if(0===e.length)return;const s=this._list.element(e[0]);null===(i=(t=this._delegate).onFocus)||void 0===i||i.call(t,s.item)}async onListHover(t){const i=t.element;if(i&&i.item&&this.focusCondition(i)){if(this._delegate.onHover&&!i.disabled&&"action"===i.kind){const t=await this._delegate.onHover(i.item,this.cts.token);i.canPreview=t?t.canPreview:void 0}t.index&&this._list.splice(t.index,1,[i])}this._list.setFocus("number"==typeof t.index?[t.index]:[])}onListClick(t){t.element&&this.focusCondition(t.element)&&this._list.setFocus([])}};function bQ(t){return t.replace(/\r\n|\r|\n/g," ")}vQ=aQ([lQ(4,iI),lQ(5,Yx)],vQ);var yQ=function(t,i){return function(e,s){i(e,s,t)}};ow("actionBar.toggledBackground",{dark:bw,light:bw,hcDark:bw,hcLight:bw},rt(0,"Background color for toggled action items in action bar."));const kQ={Visible:new ch("codeActionMenuVisible",!1,rt(0,"Whether the action widget list is visible"))},xQ=dr("actionWidgetService");let CQ=class extends ie{get isVisible(){return kQ.Visible.getValue(this._contextKeyService)||!1}constructor(t,i,e){super(),this._contextViewService=t,this._contextKeyService=i,this._instantiationService=e,this._list=this._register(new ee)}show(t,i,e,s,n,o,r){const h=kQ.Visible.bindTo(this._contextKeyService),c=this._instantiationService.createInstance(vQ,t,i,e,s);this._contextViewService.showContextView({getAnchor:()=>n,render:t=>(h.set(!0),this._renderWidget(t,c,null!=r?r:[])),onHide:t=>{h.reset(),this._onWidgetClosed(t)}},o,!1)}acceptSelected(t){var i;null===(i=this._list.value)||void 0===i||i.acceptSelected(t)}focusPrevious(){var t,i;null===(i=null===(t=this._list)||void 0===t?void 0:t.value)||void 0===i||i.focusPrevious()}focusNext(){var t,i;null===(i=null===(t=this._list)||void 0===t?void 0:t.value)||void 0===i||i.focusNext()}hide(){var t;null===(t=this._list.value)||void 0===t||t.hide(),this._list.clear()}_renderWidget(t,i,e){var s;const n=document.createElement("div");if(n.classList.add("action-widget"),t.appendChild(n),this._list.value=i,!this._list.value)throw new Error("List has no value");n.appendChild(this._list.value.domNode);const o=new te,r=document.createElement("div"),h=t.appendChild(r);h.classList.add("context-view-block"),o.add(Va(h,Ll.MOUSE_DOWN,(t=>t.stopPropagation())));const c=document.createElement("div"),a=t.appendChild(c);a.classList.add("context-view-pointerBlock"),o.add(Va(a,Ll.POINTER_MOVE,(()=>a.remove()))),o.add(Va(a,Ll.MOUSE_DOWN,(()=>a.remove())));let l=0;if(e.length){const t=this._createActionBar(".action-widget-action-bar",e);t&&(n.appendChild(t.getContainer().parentElement),o.add(t),l=t.getContainer().offsetWidth)}const u=null===(s=this._list.value)||void 0===s?void 0:s.layout(l);n.style.width=`${u}px`;const d=o.add(Rl(t));return o.add(d.onDidBlur((()=>this.hide()))),o}_createActionBar(t,i){if(!i.length)return;const e=$l(t),s=new VB(e);return s.push(i,{icon:!1,label:!0}),s}_onWidgetClosed(t){var i;null===(i=this._list.value)||void 0===i||i.hide(t)}};CQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([yQ(0,iI),yQ(1,ah),yQ(2,ur)],CQ),Cd(xQ,CQ,1);const SQ=1100;$h(class extends Ph{constructor(){super({id:"hideCodeActionWidget",title:{value:rt(0,"Hide action widget"),original:"Hide action widget"},precondition:kQ.Visible,keybinding:{weight:SQ,primary:9,secondary:[1033]}})}run(t){t.get(xQ).hide()}}),$h(class extends Ph{constructor(){super({id:"selectPrevCodeAction",title:{value:rt(0,"Select previous action"),original:"Select previous action"},precondition:kQ.Visible,keybinding:{weight:SQ,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(t){const i=t.get(xQ);i instanceof CQ&&i.focusPrevious()}}),$h(class extends Ph{constructor(){super({id:"selectNextCodeAction",title:{value:rt(0,"Select next action"),original:"Select next action"},precondition:kQ.Visible,keybinding:{weight:SQ,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(t){const i=t.get(xQ);i instanceof CQ&&i.focusNext()}}),$h(class extends Ph{constructor(){super({id:uQ,title:{value:rt(0,"Accept selected action"),original:"Accept selected action"},precondition:kQ.Visible,keybinding:{weight:SQ,primary:3,secondary:[2137]}})}run(t){const i=t.get(xQ);i instanceof CQ&&i.acceptSelected()}}),$h(class extends Ph{constructor(){super({id:dQ,title:{value:rt(0,"Preview selected action"),original:"Preview selected action"},precondition:kQ.Visible,keybinding:{weight:SQ,primary:2051}})}run(t){const i=t.get(xQ);i instanceof CQ&&i.acceptSelected(!0)}});const DQ=new ch("supportedCodeAction","");class EQ extends ie{constructor(t,i,e,s=250){super(),this._editor=t,this._markerService=i,this._signalChange=e,this._delay=s,this._autoTriggerTimer=this._register(new dc),this._register(this._markerService.onMarkerChanged((t=>this._onMarkerChanges(t)))),this._register(this._editor.onDidChangeCursorPosition((()=>this._tryAutoTrigger())))}trigger(t){const i=this._getRangeOfSelectionUnlessWhitespaceEnclosed(t);this._signalChange(i?{trigger:t,selection:i}:void 0)}_onMarkerChanges(t){const i=this._editor.getModel();i&&t.some((t=>aA(t,i.uri)))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet((()=>{this.trigger({type:2,triggerAction:LZ.Default})}),this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(t){var i;if(!this._editor.hasModel())return;const e=this._editor.getModel(),s=this._editor.getSelection();if(s.isEmpty()&&2===t.type){const{lineNumber:t,column:n}=s.getPosition(),o=e.getLineContent(t);if(0===o.length){if((null===(i=this._editor.getOption(64).experimental)||void 0===i?void 0:i.showAiIcon)!==wi.On)return}else if(1===n){if(/\s/.test(o[0]))return}else if(n===e.getLineMaxColumn(t)){if(/\s/.test(o[o.length-1]))return}else if(/\s/.test(o[n-2])&&/\s/.test(o[n-1]))return}return s}}var AQ;!function(t){t.Empty={type:0},t.Triggered=class{constructor(t,i,e){this.trigger=t,this.position=i,this._cancellablePromise=e,this.type=1,this.actions=e.catch((t=>{if(zi(t))return MQ;throw t}))}cancel(){this._cancellablePromise.cancel()}}}(AQ||(AQ={}));const MQ=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class LQ extends ie{constructor(t,i,e,s,n,o){super(),this._editor=t,this._registry=i,this._markerService=e,this._progressService=n,this._configurationService=o,this._codeActionOracle=this._register(new ee),this._state=AQ.Empty,this._onDidChangeState=this._register(new fe),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=DQ.bindTo(s),this._register(this._editor.onDidChangeModel((()=>this._update()))),this._register(this._editor.onDidChangeModelLanguage((()=>this._update()))),this._register(this._registry.onDidChange((()=>this._update()))),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(AQ.Empty,!0))}_settingEnabledNearbyQuickfixes(){var t;const i=null===(t=this._editor)||void 0===t?void 0:t.getModel();return!!this._configurationService&&this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:null==i?void 0:i.uri})}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(AQ.Empty);const t=this._editor.getModel();if(t&&this._registry.has(t)&&!this._editor.getOption(90)){const i=this._registry.all(t).flatMap((t=>{var i;return null!==(i=t.providedCodeActionKinds)&&void 0!==i?i:[]}));this._supportedCodeActions.set(i.join(" ")),this._codeActionOracle.value=new EQ(this._editor,this._markerService,(i=>{var e;if(!i)return void this.setState(AQ.Empty);const s=i.selection.getStartPosition(),n=nc((async e=>{var s,n,o,r,h,c;if(this._settingEnabledNearbyQuickfixes()&&1===i.trigger.type&&(i.trigger.triggerAction===LZ.QuickFix||(null===(n=null===(s=i.trigger.filter)||void 0===s?void 0:s.include)||void 0===n?void 0:n.contains(MZ.QuickFix)))){const s=await zZ(this._registry,t,i.selection,i.trigger,OO.None,e),n=[...s.allActions];if(e.isCancellationRequested)return MQ;if(!(null===(o=s.validActions)||void 0===o?void 0:o.some((t=>!!t.action.kind&&MZ.QuickFix.contains(new MZ(t.action.kind)))))){const o=this._markerService.read({resource:t.uri});if(o.length>0){const a=i.selection.getPosition();let l=a,u=Number.MAX_VALUE;const d=[...s.validActions];for(const f of o){const o=f.endColumn,p=f.endLineNumber;if(p===a.lineNumber||f.startLineNumber===a.lineNumber){l=new As(p,o);const f={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(null===(r=i.trigger.filter)||void 0===r?void 0:r.include)?null===(h=i.trigger.filter)||void 0===h?void 0:h.include:MZ.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:(null===(c=i.trigger.context)||void 0===c?void 0:c.notAvailableMessage)||"",position:l}},g=new Ls(l.lineNumber,l.column,l.lineNumber,l.column),m=await zZ(this._registry,t,g,f,OO.None,e);if(0!==m.validActions.length){for(const t of m.validActions)t.highlightRange=t.action.isPreferred;0===s.allActions.length&&n.push(...m.allActions),Math.abs(a.column-o)e.findIndex((i=>i.action.title===t.action.title))===i));return f.sort(((t,i)=>t.action.isPreferred&&!i.action.isPreferred?-1:!t.action.isPreferred&&i.action.isPreferred||t.action.isAI&&!i.action.isAI?1:!t.action.isAI&&i.action.isAI?-1:0)),{validActions:f,allActions:n,documentation:s.documentation,hasAutoFix:s.hasAutoFix,hasAIFix:s.hasAIFix,allAIFixes:s.allAIFixes,dispose:()=>{s.dispose()}}}}}return zZ(this._registry,t,i.selection,i.trigger,OO.None,e)}));1===i.trigger.type&&(null===(e=this._progressService)||void 0===e||e.showWhile(n,250)),this.setState(new AQ.Triggered(i.trigger,s,n))}),void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:LZ.Default})}else this._supportedCodeActions.reset()}trigger(t){var i;null===(i=this._codeActionOracle.value)||void 0===i||i.trigger(t)}setState(t,i){t!==this._state&&(1===this._state.type&&this._state.cancel(),this._state=t,i||this._disposed||this._onDidChangeState.fire(t))}}var FQ,TQ=function(t,i){return function(e,s){i(e,s,t)}};let RQ=FQ=class extends ie{static get(t){return t.getContribution(FQ.ID)}constructor(t,i,e,s,n,o,r,h,c,a){super(),this._commandService=r,this._configurationService=h,this._actionWidgetService=c,this._instantiationService=a,this._activeCodeActions=this._register(new ee),this._showDisabled=!1,this._disposed=!1,this._editor=t,this._model=this._register(new LQ(this._editor,n.codeActionProvider,i,e,o,h)),this._register(this._model.onDidChangeState((t=>this.update(t)))),this._lightBulbWidget=new zn((()=>{const t=this._editor.getContribution(XZ.ID);return t&&this._register(t.onClick((t=>this.showCodeActionList(t.actions,t,{includeDisabledActions:!1,fromLightbulb:!0})))),t})),this._resolver=s.createInstance(KZ),this._register(this._editor.onDidLayoutChange((()=>this._actionWidgetService.hide())))}dispose(){this._disposed=!0,super.dispose()}showCodeActions(t,i,e){return this.showCodeActionList(i,e,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(t,i,e,s){var n;if(!this._editor.hasModel())return;null===(n=hQ.get(this._editor))||void 0===n||n.closeMessage();const o=this._editor.getPosition();this._trigger({type:1,triggerAction:i,filter:e,autoApply:s,context:{notAvailableMessage:t,position:o}})}_trigger(t){return this._model.trigger(t)}async _applyCodeAction(t,i,e){try{await this._instantiationService.invokeFunction(UZ,t,VZ.FromCodeActions,{preview:e,editor:this._editor})}finally{i&&this._trigger({type:2,triggerAction:LZ.QuickFix,filter:{}})}}async update(t){var i,e,s,n,o,r,h;if(1!==t.type)return void(null===(i=this._lightBulbWidget.rawValue)||void 0===i||i.hide());let c;try{c=await t.actions}catch(t){return void Pi(t)}if(!this._disposed)if(null===(e=this._lightBulbWidget.value)||void 0===e||e.update(c,t.trigger,t.position),1===t.trigger.type){if(null===(s=t.trigger.filter)||void 0===s?void 0:s.include){const i=this.tryGetValidActionToApply(t.trigger,c);if(i){try{null===(n=this._lightBulbWidget.value)||void 0===n||n.hide(),await this._applyCodeAction(i,!1,!1)}finally{c.dispose()}return}if(t.trigger.context){const i=this.getInvalidActionThatWouldHaveBeenApplied(t.trigger,c);if(i&&i.action.disabled)return null===(o=hQ.get(this._editor))||void 0===o||o.showMessage(i.action.disabled,t.trigger.context.position),void c.dispose()}}const i=!!(null===(r=t.trigger.filter)||void 0===r?void 0:r.include);if(t.trigger.context&&(!c.allActions.length||!i&&!c.validActions.length))return null===(h=hQ.get(this._editor))||void 0===h||h.showMessage(t.trigger.context.notAvailableMessage,t.trigger.context.position),this._activeCodeActions.value=c,void c.dispose();this._activeCodeActions.value=c,this.showCodeActionList(c,this.toCoords(t.position),{includeDisabledActions:i,fromLightbulb:!1})}else this._actionWidgetService.isVisible?c.dispose():this._activeCodeActions.value=c}getInvalidActionThatWouldHaveBeenApplied(t,i){if(i.allActions.length)return"first"===t.autoApply&&0===i.validActions.length||"ifSingle"===t.autoApply&&1===i.allActions.length?i.allActions.find((({action:t})=>t.disabled)):void 0}tryGetValidActionToApply(t,i){if(i.validActions.length)return"first"===t.autoApply&&i.validActions.length>0||"ifSingle"===t.autoApply&&1===i.validActions.length?i.validActions[0]:void 0}async showCodeActionList(t,i,e){const s=this._editor.createDecorationsCollection(),n=this._editor.getDomNode();if(!n)return;const o=e.includeDisabledActions&&(this._showDisabled||0===t.validActions.length)?t.allActions:t.validActions;if(!o.length)return;const r=As.isIPosition(i)?this.toCoords(i):i,h={onSelect:async(t,i)=>{this._applyCodeAction(t,!0,!!i),this._actionWidgetService.hide(),s.clear()},onHide:()=>{var t;null===(t=this._editor)||void 0===t||t.focus(),s.clear()},onHover:async(t,i)=>{var e;if(await t.resolve(i),!i.isCancellationRequested)return{canPreview:!!(null===(e=t.action.edit)||void 0===e?void 0:e.edits.length)}},onFocus:t=>{var i,e;if(t&&t.highlightRange&&t.action.diagnostics){s.set([{range:t.action.diagnostics[0],options:FQ.DECORATION}]);const n=t.action.diagnostics[0];Rm(rt(0,"Context: {0} at line {1} and column {2}.",null===(e=null===(i=this._editor.getModel())||void 0===i?void 0:i.getWordAtPosition({lineNumber:n.startLineNumber,column:n.startColumn}))||void 0===e?void 0:e.word,n.startLineNumber,n.startColumn))}else s.clear()}};this._actionWidgetService.show("codeActionWidget",!0,function(t,i,e){if(!i)return t.map((t=>{var i;return{kind:"action",item:t,group:GZ,disabled:!!t.action.disabled,label:t.action.disabled||t.action.title,canPreview:!!(null===(i=t.action.edit)||void 0===i?void 0:i.edits.length)}}));const s=ZZ.map((t=>({group:t,actions:[]})));for(const i of t){const t=i.action.kind?new MZ(i.action.kind):MZ.None;for(const e of s)if(e.group.kind.contains(t)){e.actions.push(i);break}}const n=[];for(const t of s)if(t.actions.length){n.push({kind:"header",group:t.group});for(const i of t.actions){const s=t.group;n.push({kind:"action",item:i,group:i.action.isAI?{title:s.title,kind:s.kind,icon:Os.sparkle}:s,label:i.action.title,disabled:!!i.action.disabled,keybinding:e(i.action)})}}return n}(o,this._shouldShowHeaders(),this._resolver.getResolver()),h,r,n,this._getActionBarActions(t,i,e))}toCoords(t){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(t,1),this._editor.render();const i=this._editor.getScrolledVisiblePosition(t),e=nl(this._editor.getDomNode());return{x:e.left+i.left,y:e.top+i.top+i.height}}_shouldShowHeaders(){var t;const i=null===(t=this._editor)||void 0===t?void 0:t.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:null==i?void 0:i.uri})}_getActionBarActions(t,i,e){if(e.fromLightbulb)return[];const s=t.documentation.map((t=>{var i;return{id:t.id,label:t.title,tooltip:null!==(i=t.tooltip)&&void 0!==i?i:"",class:void 0,enabled:!0,run:()=>{var i;return this._commandService.executeCommand(t.id,...null!==(i=t.arguments)&&void 0!==i?i:[])}}}));return e.includeDisabledActions&&t.validActions.length>0&&t.allActions.length!==t.validActions.length&&s.push(this._showDisabled?{id:"hideMoreActions",label:rt(0,"Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(t,i,e))}:{id:"showMoreActions",label:rt(0,"Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(t,i,e))}),s}};function OQ(t){return zr.regex(DQ.keys()[0],new RegExp("(\\s|^)"+Gn(t.value)+"\\b"))}RQ.ID="editor.contrib.codeActionController",RQ.DECORATION=bL.register({description:"quickfix-highlight",className:"quickfix-edit-highlight"}),RQ=FQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([TQ(1,fP),TQ(2,ah),TQ(3,ur),TQ(4,gg),TQ(5,IO),TQ(6,Sr),TQ(7,pd),TQ(8,xQ),TQ(9,ur)],RQ),Jk(((t,i)=>{((t,e)=>{e&&i.addRule(`.monaco-editor .quickfix-edit-highlight { background-color: ${e}; }`)})(0,t.getColor(xv));const e=t.getColor(Dv);e&&i.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${_y(t.type)?"dotted":"solid"} ${e}; box-sizing: border-box; }`)}));const IQ={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:rt(0,"Kind of the code action to run.")},apply:{type:"string",description:rt(0,"Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[rt(0,"Always apply the first returned code action."),rt(0,"Apply the first returned code action if it is the only one."),rt(0,"Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:rt(0,"Controls if only preferred code actions should be returned.")}}};function _Q(t,i,e,s,n=LZ.Default){if(t.hasModel()){const o=RQ.get(t);null==o||o.manualTriggerAtCurrentPosition(i,n,e,s)}}lu(RQ.ID,RQ,3),lu(XZ.ID,XZ,4),cu(class extends su{constructor(){super({id:IZ,label:rt(0,"Quick Fix..."),alias:"Quick Fix...",precondition:zr.and(UC.writable,UC.hasCodeActionsProvider),kbOpts:{kbExpr:UC.textInputFocus,primary:2137,weight:100}})}run(t,i){return _Q(i,rt(0,"No code actions available"),void 0,void 0,LZ.QuickFix)}}),cu(class extends su{constructor(){super({id:NZ,label:rt(0,"Refactor..."),alias:"Refactor...",precondition:zr.and(UC.writable,UC.hasCodeActionsProvider),kbOpts:{kbExpr:UC.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:zr.and(UC.writable,OQ(MZ.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:IQ}]}})}run(t,i,e){const s=TZ.fromUser(e,{kind:MZ.Refactor,apply:"never"});return _Q(i,"string"==typeof(null==e?void 0:e.kind)?rt(0,s.preferred?"No preferred refactorings for '{0}' available":"No refactorings for '{0}' available",e.kind):rt(0,s.preferred?"No preferred refactorings available":"No refactorings available"),{include:MZ.Refactor.contains(s.kind)?s.kind:MZ.None,onlyIncludePreferredActions:s.preferred},s.apply,LZ.Refactor)}}),cu(class extends su{constructor(){super({id:BZ,label:rt(0,"Source Action..."),alias:"Source Action...",precondition:zr.and(UC.writable,UC.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:zr.and(UC.writable,OQ(MZ.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:IQ}]}})}run(t,i,e){const s=TZ.fromUser(e,{kind:MZ.Source,apply:"never"});return _Q(i,"string"==typeof(null==e?void 0:e.kind)?rt(0,s.preferred?"No preferred source actions for '{0}' available":"No source actions for '{0}' available",e.kind):rt(0,s.preferred?"No preferred source actions available":"No source actions available"),{include:MZ.Source.contains(s.kind)?s.kind:MZ.None,includeSourceActions:!0,onlyIncludePreferredActions:s.preferred},s.apply,LZ.SourceAction)}}),cu(class extends su{constructor(){super({id:PZ,label:rt(0,"Organize Imports"),alias:"Organize Imports",precondition:zr.and(UC.writable,OQ(MZ.SourceOrganizeImports)),kbOpts:{kbExpr:UC.textInputFocus,primary:1581,weight:100}})}run(t,i){return _Q(i,rt(0,"No organize imports action available"),{include:MZ.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",LZ.OrganizeImports)}}),cu(class extends su{constructor(){super({id:_Z,label:rt(0,"Auto Fix..."),alias:"Auto Fix...",precondition:zr.and(UC.writable,OQ(MZ.QuickFix)),kbOpts:{kbExpr:UC.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(t,i){return _Q(i,rt(0,"No auto fixes available"),{include:MZ.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",LZ.AutoFix)}}),cu(class extends su{constructor(){super({id:$Z,label:rt(0,"Fix All"),alias:"Fix All",precondition:zr.and(UC.writable,OQ(MZ.SourceFixAll))})}run(t,i){return _Q(i,rt(0,"No fix all action available"),{include:MZ.SourceFixAll,includeSourceActions:!0},"ifSingle",LZ.FixAll)}}),hu(new class extends eu{constructor(){super({id:OZ,precondition:zr.and(UC.writable,UC.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:IQ}]}})}runEditorCommand(t,i,e){const s=TZ.fromUser(e,{kind:MZ.Empty,apply:"ifSingle"});return _Q(i,"string"==typeof(null==e?void 0:e.kind)?rt(0,s.preferred?"No preferred code actions for '{0}' available":"No code actions for '{0}' available",e.kind):rt(0,s.preferred?"No preferred code actions available":"No code actions available"),{include:s.kind,includeSourceActions:!0,onlyIncludePreferredActions:s.preferred},s.apply)}}),Dh.as(Md).registerConfiguration({...iO,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:rt(0,"Enable/disable showing group headers in the Code Action menu."),default:!0}}}),Dh.as(Md).registerConfiguration({...iO,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:rt(0,"Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});class NQ{constructor(){this.lenses=[],this._disposables=new te}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(t,i){this._disposables.add(t);for(const e of t.lenses)this.lenses.push({symbol:e,provider:i})}}async function BQ(t,i,e){const s=t.ordered(i),n=new Map,o=new NQ,r=s.map((async(t,s)=>{n.set(t,s);try{const s=await Promise.resolve(t.provideCodeLenses(i,e));s&&o.add(s,t)}catch(t){$i(t)}}));return await Promise.all(r),o.lenses=o.lenses.sort(((t,i)=>t.symbol.range.startLineNumberi.symbol.range.startLineNumber?1:n.get(t.provider)n.get(i.provider)?1:t.symbol.range.startColumni.symbol.range.startColumn?1:0)),o}Dr.registerCommand("_executeCodeLensProvider",(function(t,...i){let[e,s]=i;K(ms.isUri(e)),K("number"==typeof s||!s);const{codeLensProvider:n}=t.get(gg),o=t.get(pr).getModel(e);if(!o)throw Vi();const r=[],h=new te;return BQ(n,o,xe.None).then((t=>{h.add(t);const i=[];for(const e of t.lenses)null==s||Boolean(e.symbol.command)?r.push(e.symbol):s-- >0&&e.provider.resolveCodeLens&&i.push(Promise.resolve(e.provider.resolveCodeLens(o,e.symbol,xe.None)).then((t=>r.push(t||e.symbol))));return Promise.all(i)})).then((()=>r)).finally((()=>{setTimeout((()=>h.dispose()),100)}))}));const PQ=dr("ICodeLensCache");class $Q{constructor(t,i){this.lineCount=t,this.data=i}}let WQ=class{constructor(t){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Bp(20,.75),Ka($n,(()=>t.remove("codelens/cache",1)));const i="codelens/cache2",e=t.get(i,1,"{}");this._deserialize(e),ce.once(t.onWillSaveState)((e=>{e.reason===yB.SHUTDOWN&&t.store(i,this._serialize(),1,1)}))}put(t,i){const e=i.lenses.map((t=>{var i;return{range:t.symbol.range,command:t.symbol.command&&{id:"",title:null===(i=t.symbol.command)||void 0===i?void 0:i.title}}})),s=new NQ;s.add({lenses:e,dispose:()=>{}},this._fakeProvider);const n=new $Q(t.getLineCount(),s);this._cache.set(t.uri.toString(),n)}get(t){const i=this._cache.get(t.uri.toString());return i&&i.lineCount===t.getLineCount()?i.data:void 0}delete(t){this._cache.delete(t.uri.toString())}_serialize(){const t=Object.create(null);for(const[i,e]of this._cache){const s=new Set;for(const t of e.data.lenses)s.add(t.symbol.range.startLineNumber);t[i]={lineCount:e.lineCount,lines:[...s.values()]}}return JSON.stringify(t)}_deserialize(t){try{const i=JSON.parse(t);for(const t in i){const e=i[t],s=[];for(const t of e.lines)s.push({range:new Ms(t,1,t,11)});const n=new NQ;n.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(t,new $Q(e.lineCount,n))}}catch(t){}}};WQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,bB)],WQ),Cd(PQ,WQ,1);class jQ{constructor(t,i,e){this.afterColumn=1073741824,this.afterLineNumber=t,this.heightInPx=i,this._onHeight=e,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(t){void 0===this._lastHeight?this._lastHeight=t:this._lastHeight!==t&&(this._lastHeight=t,this._onHeight())}isVisible(){return 0!==this._lastHeight&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class zQ{constructor(t,i){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=t,this._id="codelens.widget-"+zQ._idPool++,this.updatePosition(i),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(t,i){this._commands.clear();const e=[];let s=!1;for(let i=0;i{t.symbol.command&&h.push(t.symbol),e.addDecoration({range:t.symbol.range,options:VQ},(t=>this._decorationIds[i]=t)),r=r?Ms.plusRange(r,t.symbol.range):Ms.lift(t.symbol.range)})),this._viewZone=new jQ(r.startLineNumber-1,n,o),this._viewZoneId=s.addZone(this._viewZone),h.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(h,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new zQ(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(t,i){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],null==i||i.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some(((t,i)=>{const e=this._editor.getModel().getDecorationRange(t);return!(!e||Ms.isEmpty(this._data[i].symbol.range)!==e.isEmpty())}))}updateCodeLensSymbols(t,i){this._decorationIds.forEach(i.removeDecoration,i),this._decorationIds=[],this._data=t,this._data.forEach(((t,e)=>{i.addDecoration({range:t.symbol.range,options:VQ},(t=>this._decorationIds[e]=t))}))}updateHeight(t,i){this._viewZone.heightInPx=t,i.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(t){if(!this._viewZone.isVisible())return null;for(let i=0;ithis._resolveCodeLensesInViewport()),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel((()=>this._onModelChange()))),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>this._onModelChange()))),this._disposables.add(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(50)||t.hasChanged(19)||t.hasChanged(18))&&this._updateLensStyle(),t.hasChanged(17)&&this._onModelChange()}))),this._disposables.add(i.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var t;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),null===(t=this._currentCodeLensModel)||void 0===t||t.dispose()}_getLayoutInfo(){const t=Math.max(1.3,this._editor.getOption(66)/this._editor.getOption(52));let i=this._editor.getOption(19);return(!i||i<5)&&(i=.9*this._editor.getOption(52)|0),{fontSize:i,codeLensHeight:i*t|0}}_updateLensStyle(){const{codeLensHeight:t,fontSize:i}=this._getLayoutInfo(),e=this._editor.getOption(18),s=this._editor.getOption(50),{style:n}=this._editor.getContainerDomNode();n.setProperty("--vscode-editorCodeLens-lineHeight",`${t}px`),n.setProperty("--vscode-editorCodeLens-fontSize",`${i}px`),n.setProperty("--vscode-editorCodeLens-fontFeatureSettings",s.fontFeatureSettings),e&&(n.setProperty("--vscode-editorCodeLens-fontFamily",e),n.setProperty("--vscode-editorCodeLens-fontFamilyDefault",Oi.fontFamily)),this._editor.changeViewZones((i=>{for(const e of this._lenses)e.updateHeight(t,i)}))}_localDispose(){var t,i,e;null===(t=this._getCodeLensModelPromise)||void 0===t||t.cancel(),this._getCodeLensModelPromise=void 0,null===(i=this._resolveCodeLensesPromise)||void 0===i||i.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),null===(e=this._currentCodeLensModel)||void 0===e||e.dispose()}_onModelChange(){this._localDispose();const t=this._editor.getModel();if(!t)return;if(!this._editor.getOption(17)||t.isTooLargeForTokenization())return;const i=this._codeLensCache.get(t);if(i&&this._renderCodeLensSymbols(i),!this._languageFeaturesService.codeLensProvider.has(t))return void(i&&lc((()=>{const e=this._codeLensCache.get(t);i===e&&(this._codeLensCache.delete(t),this._onModelChange())}),3e4,this._localToDispose));for(const i of this._languageFeaturesService.codeLensProvider.all(t))if("function"==typeof i.onDidChange){const t=i.onDidChange((()=>e.schedule()));this._localToDispose.add(t)}const e=new pc((()=>{var i;const s=Date.now();null===(i=this._getCodeLensModelPromise)||void 0===i||i.cancel(),this._getCodeLensModelPromise=nc((i=>BQ(this._languageFeaturesService.codeLensProvider,t,i))),this._getCodeLensModelPromise.then((i=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=i,this._codeLensCache.put(t,i);const n=this._provideCodeLensDebounce.update(t,Date.now()-s);e.delay=n,this._renderCodeLensSymbols(i),this._resolveCodeLensesInViewportSoon()}),Pi)}),this._provideCodeLensDebounce.get(t));this._localToDispose.add(e),this._localToDispose.add(Xi((()=>this._resolveCodeLensesScheduler.cancel()))),this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{var t;this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{const e=[];let s=-1;this._lenses.forEach((t=>{t.isValid()&&s!==t.getLineNumber()?(t.update(i),s=t.getLineNumber()):e.push(t)}));const n=new HQ;e.forEach((t=>{t.dispose(n,i),this._lenses.splice(this._lenses.indexOf(t),1)})),n.commit(t)}))})),e.schedule(),this._resolveCodeLensesScheduler.cancel(),null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0}))),this._localToDispose.add(this._editor.onDidFocusEditorWidget((()=>{e.schedule()}))),this._localToDispose.add(this._editor.onDidBlurEditorText((()=>{e.cancel()}))),this._localToDispose.add(this._editor.onDidScrollChange((t=>{t.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(this._editor.onDidLayoutChange((()=>{this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(Xi((()=>{if(this._editor.getModel()){const t=KV.capture(this._editor);this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{this._disposeAllLenses(t,i)}))})),t.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)}))),this._localToDispose.add(this._editor.onMouseDown((t=>{if(9!==t.target.type)return;let i=t.target.element;if("SPAN"===(null==i?void 0:i.tagName)&&(i=i.parentElement),"A"===(null==i?void 0:i.tagName))for(const t of this._lenses){const e=t.getCommand(i);if(e){this._commandService.executeCommand(e.id,...e.arguments||[]).catch((t=>this._notificationService.error(t)));break}}}))),e.schedule()}_disposeAllLenses(t,i){const e=new HQ;for(const t of this._lenses)t.dispose(e,i);t&&e.commit(t),this._lenses.length=0}_renderCodeLensSymbols(t){if(!this._editor.hasModel())return;const i=this._editor.getModel().getLineCount(),e=[];let s;for(const n of t.lenses){const t=n.symbol.range.startLineNumber;t<1||t>i||(s&&s[s.length-1].symbol.range.startLineNumber===t?s.push(n):(s=[n],e.push(s)))}if(!e.length&&!this._lenses.length)return;const n=KV.capture(this._editor),o=this._getLayoutInfo();this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{const s=new HQ;let n=0,r=0;for(;rthis._resolveCodeLensesInViewportSoon()))),n++,r++)}for(;nthis._resolveCodeLensesInViewportSoon()))),r++;s.commit(t)}))})),n.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var t;null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0;const i=this._editor.getModel();if(!i)return;const e=[],s=[];if(this._lenses.forEach((t=>{const n=t.computeIfNecessary(i);n&&(e.push(n),s.push(t))})),0===e.length)return;const n=Date.now(),o=nc((t=>{const n=e.map(((e,n)=>{const o=new Array(e.length),r=e.map(((e,s)=>e.symbol.command||"function"!=typeof e.provider.resolveCodeLens?(o[s]=e.symbol,Promise.resolve(void 0)):Promise.resolve(e.provider.resolveCodeLens(i,e.symbol,t)).then((t=>{o[s]=t}),$i)));return Promise.all(r).then((()=>{t.isCancellationRequested||s[n].isDisposed()||s[n].updateCommands(o)}))}));return Promise.all(n)}));this._resolveCodeLensesPromise=o,this._resolveCodeLensesPromise.then((()=>{const t=this._resolveCodeLensesDebounce.update(i,Date.now()-n);this._resolveCodeLensesScheduler.delay=t,this._currentCodeLensModel&&this._codeLensCache.put(i,this._currentCodeLensModel),this._oldCodeLensModels.clear(),o===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}),(t=>{Pi(t),o===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}))}async getModel(){var t;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,(null===(t=this._currentCodeLensModel)||void 0===t?void 0:t.isDisposed)?void 0:this._currentCodeLensModel}};KQ.ID="css.editor.codeLens",KQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([qQ(1,gg),qQ(2,hR),qQ(3,Sr),qQ(4,JF),qQ(5,PQ)],KQ),lu(KQ.ID,KQ,1),cu(class extends su{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:UC.hasCodeLensProvider,label:rt(0,"Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(t,i){if(!i.hasModel())return;const e=t.get(Dj),s=t.get(Sr),n=t.get(JF),o=i.getSelection().positionLineNumber,r=i.getContribution(KQ.ID);if(!r)return;const h=await r.getModel();if(!h)return;const c=[];for(const t of h.lenses)t.symbol.command&&t.symbol.range.startLineNumber===o&&c.push({label:t.symbol.command.title,command:t.symbol.command});if(0===c.length)return;const a=await e.pick(c,{canPickMany:!1,placeHolder:rt(0,"Select a command")});if(!a)return;let l=a.command;if(h.isDisposed){const t=await r.getModel(),i=null==t?void 0:t.lenses.find((t=>{var i;return t.symbol.range.startLineNumber===o&&(null===(i=t.symbol.command)||void 0===i?void 0:i.title)===l.title}));if(!i||!i.symbol.command)return;l=i.symbol.command}try{await s.executeCommand(l.id,...l.arguments||[])}catch(t){n.error(t)}}});var GQ=function(t,i){return function(e,s){i(e,s,t)}};class ZQ{constructor(t,i){this._editorWorkerClient=new Sg(t,!1,"editorWorkerService",i)}async provideDocumentColors(t,i){return this._editorWorkerClient.computeDefaultDocumentColors(t.uri)}provideColorPresentations(t,i,e){const s=i.range,n=i.color,o=n.alpha,r=new sg(new tg(Math.round(255*n.red),Math.round(255*n.green),Math.round(255*n.blue),o)),h=o?sg.Format.CSS.formatRGB(r):sg.Format.CSS.formatRGBA(r),c=o?sg.Format.CSS.formatHSL(r):sg.Format.CSS.formatHSLA(r),a=o?sg.Format.CSS.formatHex(r):sg.Format.CSS.formatHexA(r),l=[];return l.push({label:h,textEdit:{range:s,text:h}}),l.push({label:c,textEdit:{range:s,text:c}}),l.push({label:a,textEdit:{range:s,text:a}}),l}}let QQ=class extends ie{constructor(t,i,e){super(),this._register(e.colorProvider.register("*",new ZQ(t,i)))}};async function JQ(t,i,e,s=!0){return eJ(new XQ,t,i,e,s)}function YQ(t,i,e,s){return Promise.resolve(e.provideColorPresentations(t,i,s))}QQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([GQ(0,pr),GQ(1,qd),GQ(2,gg)],QQ),WH(QQ);class XQ{constructor(){}async compute(t,i,e,s){const n=await t.provideDocumentColors(i,e);if(Array.isArray(n))for(const i of n)s.push({colorInfo:i,provider:t});return Array.isArray(n)}}class tJ{constructor(){}async compute(t,i,e,s){const n=await t.provideDocumentColors(i,e);if(Array.isArray(n))for(const t of n)s.push({range:t.range,color:[t.color.red,t.color.green,t.color.blue,t.color.alpha]});return Array.isArray(n)}}class iJ{constructor(t){this.colorInfo=t}async compute(t,i,e,s){const n=await t.provideColorPresentations(i,this.colorInfo,xe.None);return Array.isArray(n)&&s.push(...n),Array.isArray(n)}}async function eJ(t,i,e,s,n){let o,r=!1;const h=[],c=i.ordered(e);for(let i=c.length-1;i>=0;i--){const n=c[i];if(n instanceof ZQ)o=n;else try{await t.compute(n,e,s,h)&&(r=!0)}catch(t){$i(t)}}return r?h:o&&n?(await t.compute(o,e,s,h),h):[]}function sJ(t,i){const{colorProvider:e}=t.get(gg),s=t.get(pr).getModel(i);if(!s)throw Vi();return{model:s,colorProviderRegistry:e,isDefaultColorDecoratorsEnabled:t.get(pd).getValue("editor.defaultColorDecorators",{resource:i})}}Dr.registerCommand("_executeDocumentColorProvider",(function(t,...i){const[e]=i;if(!(e instanceof ms))throw Vi();const{model:s,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:o}=sJ(t,e);return eJ(new tJ,n,s,xe.None,o)})),Dr.registerCommand("_executeColorPresentationProvider",(function(t,...i){const[e,s]=i,{uri:n,range:o}=s;if(!(n instanceof ms&&Array.isArray(e)&&4===e.length&&Ms.isIRange(o)))throw Vi();const{model:r,colorProviderRegistry:h,isDefaultColorDecoratorsEnabled:c}=sJ(t,n),[a,l,u,d]=e;return eJ(new iJ({range:o,color:{red:a,green:l,blue:u,alpha:d}}),h,r,xe.None,c)}));var nJ,oJ=function(t,i){return function(e,s){i(e,s,t)}};const rJ=Object.create({});let hJ=nJ=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._configurationService=i,this._languageFeaturesService=e,this._localToDispose=this._register(new te),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new yy(this._editor),this._decoratorLimitReporter=new cJ,this._colorDecorationClassRefs=this._register(new te),this._debounceInformation=s.for(e.colorProvider,"Document Colors",{min:nJ.RECOMPUTE_TIME}),this._register(t.onDidChangeModel((()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()}))),this._register(t.onDidChangeModelLanguage((()=>this.updateColors()))),this._register(e.colorProvider.onDidChange((()=>this.updateColors()))),this._register(t.onDidChangeConfiguration((t=>{const i=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(145);const e=i!==this._isColorDecoratorsEnabled||t.hasChanged(21),s=t.hasChanged(145);(e||s)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())}))),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(145),this.updateColors()}isEnabled(){const t=this._editor.getModel();if(!t)return!1;const i=t.getLanguageId(),e=this._configurationService.getValue(i);if(e&&"object"==typeof e){const t=e.colorDecorators;if(t&&void 0!==t.enable&&!t.enable)return t.enable}return this._editor.getOption(20)}static get(t){return t.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const t=this._editor.getModel();t&&this._languageFeaturesService.colorProvider.has(t)&&(this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{this._timeoutTimer||(this._timeoutTimer=new dc,this._timeoutTimer.cancelAndSet((()=>{this._timeoutTimer=null,this.beginCompute()}),this._debounceInformation.get(t)))}))),this.beginCompute())}async beginCompute(){this._computePromise=nc((async t=>{const i=this._editor.getModel();if(!i)return[];const e=new he(!1),s=await JQ(this._languageFeaturesService.colorProvider,i,t,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(i,e.elapsed()),s}));try{const t=await this._computePromise;this.updateDecorations(t),this.updateColorDecorators(t),this._computePromise=null}catch(t){Pi(t)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(t){const i=t.map((t=>({range:{startLineNumber:t.colorInfo.range.startLineNumber,startColumn:t.colorInfo.range.startColumn,endLineNumber:t.colorInfo.range.endLineNumber,endColumn:t.colorInfo.range.endColumn},options:bL.EMPTY})));this._editor.changeDecorations((e=>{this._decorationsIds=e.deltaDecorations(this._decorationsIds,i),this._colorDatas=new Map,this._decorationsIds.forEach(((i,e)=>this._colorDatas.set(i,t[e])))}))}updateColorDecorators(t){this._colorDecorationClassRefs.clear();const i=[],e=this._editor.getOption(21);for(let s=0;sthis._colorDatas.has(t.id)));return 0===e.length?null:this._colorDatas.get(e[0].id)}isColorDecoration(t){return this._colorDecoratorIds.has(t)}};hJ.ID="editor.contrib.colorDetector",hJ.RECOMPUTE_TIME=1e3,hJ=nJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([oJ(1,pd),oJ(2,gg),oJ(3,hR)],hJ);class cJ{constructor(){this._onDidChange=new fe,this._computed=0,this._limited=!1}update(t,i){t===this._computed&&i===this._limited||(this._computed=t,this._limited=i,this._onDidChange.fire())}}lu(hJ.ID,hJ,1);class aJ{get color(){return this._color}set color(t){this._color.equals(t)||(this._color=t,this._onDidChangeColor.fire(t))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(t){this._colorPresentations=t,this.presentationIndex>t.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(t,i,e){this.presentationIndex=e,this._onColorFlushed=new fe,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new fe,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new fe,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=t,this._color=t,this._colorPresentations=i}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(t,i){let e=-1;for(let t=0;t{this.backgroundColor=t.getColor(Av)||sg.white}))),this._register(Va(this._pickedColorNode,Ll.CLICK,(()=>this.model.selectNextColorPresentation()))),this._register(Va(this._originalColorNode,Ll.CLICK,(()=>{this.model.color=this.model.originalColor,this.model.flushColor()}))),this._register(i.onDidChangeColor(this.onDidChangeColor,this)),this._register(i.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=sg.Format.CSS.format(i.color)||"",this._pickedColorNode.classList.toggle("light",i.color.rgba.a<.5?this.backgroundColor.isLighter():i.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new dJ(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(t){this._pickedColorNode.style.backgroundColor=sg.Format.CSS.format(t)||"",this._pickedColorNode.classList.toggle("light",t.rgba.a<.5?this.backgroundColor.isLighter():t.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class dJ extends ie{constructor(t){super(),this._onClicked=this._register(new fe),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),Ol(t,this._button);const i=document.createElement("div");i.classList.add("close-button-inner-div"),Ol(this._button,i),Ol(i,lJ(".button"+Cr.asCSSSelector(_z("color-picker-close",Os.close,rt(0,"Icon to close the color picker"))))).classList.add("close-icon"),this._button.onclick=()=>{this._onClicked.fire()}}}class fJ extends ie{constructor(t,i,e,s=!1){super(),this.model=i,this.pixelRatio=e,this._insertButton=null,this._domNode=lJ(".colorpicker-body"),Ol(t,this._domNode),this._saturationBox=new pJ(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new mJ(this._domNode,this.model,s),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new wJ(this._domNode,this.model,s),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),s&&(this._insertButton=this._register(new vJ(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:t,v:i}){const e=this.model.color.hsva;this.model.color=new sg(new eg(e.h,t,i,e.a))}onDidOpacityChange(t){const i=this.model.color.hsva;this.model.color=new sg(new eg(i.h,i.s,i.v,t))}onDidHueChange(t){const i=this.model.color.hsva,e=360*(1-t);this.model.color=new sg(new eg(360===e?0:e,i.s,i.v,i.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}class pJ extends ie{constructor(t,i,e){super(),this.model=i,this.pixelRatio=e,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new fe,this.onColorFlushed=this._onColorFlushed.event,this._domNode=lJ(".saturation-wrap"),Ol(t,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",Ol(this._domNode,this._canvas),this.selection=lJ(".saturation-selection"),Ol(this._domNode,this.selection),this.layout(),this._register(Va(this._domNode,Ll.POINTER_DOWN,(t=>this.onPointerDown(t)))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(t){if(!(t.target&&t.target instanceof Element))return;this.monitor=this._register(new tw);const i=nl(this._domNode);t.target!==this.selection&&this.onDidChangePosition(t.offsetX,t.offsetY),this.monitor.startMonitoring(t.target,t.pointerId,t.buttons,(t=>this.onDidChangePosition(t.pageX-i.left,t.pageY-i.top)),(()=>null));const e=Va(t.target.ownerDocument,Ll.POINTER_UP,(()=>{this._onColorFlushed.fire(),e.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)}),!0)}onDidChangePosition(t,i){const e=Math.max(0,Math.min(1,t/this.width)),s=Math.max(0,Math.min(1,1-i/this.height));this.paintSelection(e,s),this._onDidChange.fire({s:e,v:s})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const t=this.model.color.hsva;this.paintSelection(t.s,t.v)}paint(){const t=new sg(new eg(this.model.color.hsva.h,1,1,1)),i=this._canvas.getContext("2d"),e=i.createLinearGradient(0,0,this._canvas.width,0);e.addColorStop(0,"rgba(255, 255, 255, 1)"),e.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),e.addColorStop(1,"rgba(255, 255, 255, 0)");const s=i.createLinearGradient(0,0,0,this._canvas.height);s.addColorStop(0,"rgba(0, 0, 0, 0)"),s.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=sg.Format.CSS.format(t),i.fill(),i.fillStyle=e,i.fill(),i.fillStyle=s,i.fill()}paintSelection(t,i){this.selection.style.left=t*this.width+"px",this.selection.style.top=this.height-i*this.height+"px"}onDidChangeColor(t){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const i=t.hsva;this.paintSelection(i.s,i.v)}}class gJ extends ie{constructor(t,i,e=!1){super(),this.model=i,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new fe,this.onColorFlushed=this._onColorFlushed.event,e?(this.domNode=Ol(t,lJ(".standalone-strip")),this.overlay=Ol(this.domNode,lJ(".standalone-overlay"))):(this.domNode=Ol(t,lJ(".strip")),this.overlay=Ol(this.domNode,lJ(".overlay"))),this.slider=Ol(this.domNode,lJ(".slider")),this.slider.style.top="0px",this._register(Va(this.domNode,Ll.POINTER_DOWN,(t=>this.onPointerDown(t)))),this._register(i.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const t=this.getValue(this.model.color);this.updateSliderPosition(t)}onDidChangeColor(t){const i=this.getValue(t);this.updateSliderPosition(i)}onPointerDown(t){if(!(t.target&&t.target instanceof Element))return;const i=this._register(new tw),e=nl(this.domNode);this.domNode.classList.add("grabbing"),t.target!==this.slider&&this.onDidChangeTop(t.offsetY),i.startMonitoring(t.target,t.pointerId,t.buttons,(t=>this.onDidChangeTop(t.pageY-e.top)),(()=>null));const s=Va(t.target.ownerDocument,Ll.POINTER_UP,(()=>{this._onColorFlushed.fire(),s.dispose(),i.stopMonitoring(!0),this.domNode.classList.remove("grabbing")}),!0)}onDidChangeTop(t){const i=Math.max(0,Math.min(1,1-t/this.height));this.updateSliderPosition(i),this._onDidChange.fire(i)}updateSliderPosition(t){this.slider.style.top=(1-t)*this.height+"px"}}class mJ extends gJ{constructor(t,i,e=!1){super(t,i,e),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(t){super.onDidChangeColor(t);const{r:i,g:e,b:s}=t.rgba,n=new sg(new tg(i,e,s,1)),o=new sg(new tg(i,e,s,0));this.overlay.style.background=`linear-gradient(to bottom, ${n} 0%, ${o} 100%)`}getValue(t){return t.hsva.a}}class wJ extends gJ{constructor(t,i,e=!1){super(t,i,e),this.domNode.classList.add("hue-strip")}getValue(t){return 1-t.hsva.h/360}}class vJ extends ie{constructor(t){super(),this._onClicked=this._register(new fe),this.onClicked=this._onClicked.event,this._button=Ol(t,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._button.onclick=()=>{this._onClicked.fire()}}get button(){return this._button}}class bJ extends hk{constructor(t,i,e,s,n=!1){super(),this.model=i,this.pixelRatio=e,this._register(Ho.onDidChange((()=>this.layout())));const o=lJ(".colorpicker-widget");t.appendChild(o),this.header=this._register(new uJ(o,this.model,s,n)),this.body=this._register(new fJ(o,this.model,this.pixelRatio,n))}layout(){this.body.layout()}}var yJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},kJ=function(t,i){return function(e,s){i(e,s,t)}};class xJ{constructor(t,i,e,s){this.owner=t,this.range=i,this.model=e,this.provider=s,this.forceShowAtRange=!0}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let CJ=class{constructor(t,i){this._editor=t,this._themeService=i,this.hoverOrdinal=2}computeSync(t,i){return[]}computeAsync(t,i,e){return kc.fromPromise(this._computeAsync(t,i,e))}async _computeAsync(t,i,e){if(!this._editor.hasModel())return[];const s=hJ.get(this._editor);if(!s)return[];for(const t of i){if(!s.isColorDecoration(t))continue;const i=s.getColorData(t.range.getStartPosition());if(i)return[await EJ(this,this._editor.getModel(),i.colorInfo,i.provider)]}return[]}renderHoverParts(t,i){return AJ(this,this._editor,this._themeService,i,t)}};CJ=yJ([kJ(1,qk)],CJ);class SJ{constructor(t,i,e,s){this.owner=t,this.range=i,this.model=e,this.provider=s}}let DJ=class{constructor(t,i){this._editor=t,this._themeService=i,this._color=null}async createColorHover(t,i,e){if(!this._editor.hasModel())return null;if(!hJ.get(this._editor))return null;const s=await JQ(e,this._editor.getModel(),xe.None);let n=null,o=null;for(const i of s){const e=i.colorInfo;Ms.containsRange(e.range,t.range)&&(n=e,o=i.provider)}const r=null!=n?n:t,h=null!=o?o:i,c=!!n;return{colorHover:await EJ(this,this._editor.getModel(),r,h),foundInEditor:c}}async updateEditorModel(t){if(!this._editor.hasModel())return;const i=t.model;let e=new Ms(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn);this._color&&(await LJ(this._editor.getModel(),i,this._color,e,t),e=MJ(this._editor,e,i))}renderHoverParts(t,i){return AJ(this,this._editor,this._themeService,i,t)}set color(t){this._color=t}get color(){return this._color}};async function EJ(t,i,e,s){const n=i.getValueInRange(e.range),{red:o,green:r,blue:h,alpha:c}=e.color,a=new tg(Math.round(255*o),Math.round(255*r),Math.round(255*h),c),l=new sg(a),u=await YQ(i,e,s,xe.None),d=new aJ(l,[],0);return d.colorPresentations=u||[],d.guessColorPresentation(l,n),t instanceof CJ?new xJ(t,Ms.lift(e.range),d,s):new SJ(t,Ms.lift(e.range),d,s)}function AJ(t,i,e,s,n){if(0===s.length||!i.hasModel())return ie.None;if(n.setMinimumDimensions){const t=i.getOption(66)+8;n.setMinimumDimensions(new el(302,t))}const o=new te,r=s[0],h=i.getModel(),c=r.model,a=o.add(new bJ(n.fragment,c,i.getOption(141),e,t instanceof DJ));n.setColorPicker(a);let l=!1,u=new Ms(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(t instanceof DJ){const i=s[0].model.color;t.color=i,LJ(h,c,i,u,r),o.add(c.onColorFlushed((i=>{t.color=i})))}else o.add(c.onColorFlushed((async t=>{await LJ(h,c,t,u,r),l=!0,u=MJ(i,u,c,n)})));return o.add(c.onDidChangeColor((t=>{LJ(h,c,t,u,r)}))),o.add(i.onDidChangeModelContent((()=>{l?l=!1:(n.hide(),i.focus())}))),o}function MJ(t,i,e,s){let n,o;if(e.presentation.textEdit){n=[e.presentation.textEdit],o=new Ms(e.presentation.textEdit.range.startLineNumber,e.presentation.textEdit.range.startColumn,e.presentation.textEdit.range.endLineNumber,e.presentation.textEdit.range.endColumn);const i=t.getModel()._setTrackedRange(null,o,3);t.pushUndoStop(),t.executeEdits("colorpicker",n),o=t.getModel()._getTrackedRange(i)||o}else n=[{range:i,text:e.presentation.label,forceMoveMarkers:!1}],o=i.setEndPosition(i.endLineNumber,i.startColumn+e.presentation.label.length),t.pushUndoStop(),t.executeEdits("colorpicker",n);return e.presentation.additionalTextEdits&&(n=[...e.presentation.additionalTextEdits],t.executeEdits("colorpicker",n),s&&s.hide()),t.pushUndoStop(),o}async function LJ(t,i,e,s,n){const o=await YQ(t,{range:s,color:{red:e.rgba.r/255,green:e.rgba.g/255,blue:e.rgba.b/255,alpha:e.rgba.a}},n.provider,xe.None);i.colorPresentations=o||[]}function FJ(t,i){return!!t[i]}DJ=yJ([kJ(1,qk)],DJ);class TJ{constructor(t,i){this.target=t.target,this.isLeftClick=t.event.leftButton,this.isMiddleClick=t.event.middleButton,this.isRightClick=t.event.rightButton,this.hasTriggerModifier=FJ(t.event,i.triggerModifier),this.hasSideBySideModifier=FJ(t.event,i.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=t.event.detail<=1}}class RJ{constructor(t,i){this.keyCodeIsTriggerKey=t.keyCode===i.triggerKey,this.keyCodeIsSideBySideKey=t.keyCode===i.triggerSideBySideKey,this.hasTriggerModifier=FJ(t,i.triggerModifier)}}class OJ{constructor(t,i,e,s){this.triggerKey=t,this.triggerModifier=i,this.triggerSideBySideKey=e,this.triggerSideBySideModifier=s}equals(t){return this.triggerKey===t.triggerKey&&this.triggerModifier===t.triggerModifier&&this.triggerSideBySideKey===t.triggerSideBySideKey&&this.triggerSideBySideModifier===t.triggerSideBySideModifier}}function IJ(t){return"altKey"===t?St?new OJ(57,"metaKey",6,"altKey"):new OJ(5,"ctrlKey",6,"altKey"):St?new OJ(6,"altKey",57,"metaKey"):new OJ(6,"altKey",5,"ctrlKey")}class _J extends ie{constructor(t,i){var e;super(),this._onMouseMoveOrRelevantKeyDown=this._register(new fe),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new fe),this.onExecute=this._onExecute.event,this._onCancel=this._register(new fe),this.onCancel=this._onCancel.event,this._editor=t,this._extractLineNumberFromMouseEvent=null!==(e=null==i?void 0:i.extractLineNumberFromMouseEvent)&&void 0!==e?e:t=>t.target.position?t.target.position.lineNumber:0,this._opts=IJ(this._editor.getOption(77)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration((t=>{if(t.hasChanged(77)){const t=IJ(this._editor.getOption(77));if(this._opts.equals(t))return;this._opts=t,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}}))),this._register(this._editor.onMouseMove((t=>this._onEditorMouseMove(new TJ(t,this._opts))))),this._register(this._editor.onMouseDown((t=>this._onEditorMouseDown(new TJ(t,this._opts))))),this._register(this._editor.onMouseUp((t=>this._onEditorMouseUp(new TJ(t,this._opts))))),this._register(this._editor.onKeyDown((t=>this._onEditorKeyDown(new RJ(t,this._opts))))),this._register(this._editor.onKeyUp((t=>this._onEditorKeyUp(new RJ(t,this._opts))))),this._register(this._editor.onMouseDrag((()=>this._resetHandler()))),this._register(this._editor.onDidChangeCursorSelection((t=>this._onDidChangeCursorSelection(t)))),this._register(this._editor.onDidChangeModel((()=>this._resetHandler()))),this._register(this._editor.onDidChangeModelContent((()=>this._resetHandler()))),this._register(this._editor.onDidScrollChange((t=>{(t.scrollTopChanged||t.scrollLeftChanged)&&this._resetHandler()})))}_onDidChangeCursorSelection(t){t.selection&&t.selection.startColumn!==t.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(t){this._lastMouseMoveEvent=t,this._onMouseMoveOrRelevantKeyDown.fire([t,null])}_onEditorMouseDown(t){this._hasTriggerKeyOnMouseDown=t.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(t)}_onEditorMouseUp(t){const i=this._extractLineNumberFromMouseEvent(t);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===i&&this._onExecute.fire(t)}_onEditorKeyDown(t){this._lastMouseMoveEvent&&(t.keyCodeIsTriggerKey||t.keyCodeIsSideBySideKey&&t.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,t]):t.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(t){t.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}var NJ=function(t,i){return function(e,s){i(e,s,t)}};let BJ=class extends CT{constructor(t,i,e,s,n,o,r,h,c,a,l,u,d){super(t,{...s.getRawOptions(),overflowWidgetsDomNode:s.getOverflowWidgetsDomNode()},e,n,o,r,h,c,a,l,u,d),this._parentEditor=s,this._overwriteOptions=i,super.updateOptions(this._overwriteOptions),this._register(s.onDidChangeConfiguration((t=>this._onParentConfigurationChanged(t))))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(t){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(t){it(this._overwriteOptions,t,!0),super.updateOptions(this._overwriteOptions)}};BJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([NJ(4,ur),NJ(5,fr),NJ(6,Sr),NJ(7,ah),NJ(8,qk),NJ(9,JF),NJ(10,zm),NJ(11,qd),NJ(12,gg)],BJ);const PJ=new sg(new tg(0,122,204)),$J={showArrow:!0,showFrame:!0,className:"",frameColor:PJ,arrowColor:PJ,keepEditorSelection:!1};class WJ{constructor(t,i,e,s,n,o,r,h){this.id="",this.domNode=t,this.afterLineNumber=i,this.afterColumn=e,this.heightInLines=s,this.showInHiddenAreas=r,this.ordinal=h,this._onDomNodeTop=n,this._onComputedHeight=o}onDomNodeTop(t){this._onDomNodeTop(t)}onComputedHeight(t){this._onComputedHeight(t)}}class jJ{constructor(t,i){this._id=t,this._domNode=i}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class zJ{constructor(t){this._editor=t,this._ruleName=zJ._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),Dl(this._ruleName)}set color(t){this._color!==t&&(this._color=t,this._updateStyle())}set height(t){this._height!==t&&(this._height=t,this._updateStyle())}_updateStyle(){Dl(this._ruleName),Sl(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px; margin-left: -${this._height}px; `)}show(t){1===t.column&&(t={lineNumber:t.lineNumber,column:2}),this._decorations.set([{range:Ms.fromPositions(t),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}zJ._IdGenerator=new H_(".arrow-decoration-");class HJ{constructor(t,i={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new te,this.container=null,this._isShowing=!1,this.editor=t,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=J(i),it(this.options,$J,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange((t=>{const i=this._getWidth(t);this.domNode.style.width=i+"px",this.domNode.style.left=this._getLeft(t)+"px",this._onWidth(i)})))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones((t=>{this._viewZone&&t.removeZone(this._viewZone.id),this._viewZone=null})),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new zJ(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(t){t.frameColor&&(this.options.frameColor=t.frameColor),t.arrowColor&&(this.options.arrowColor=t.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const t=this.options.frameColor.toString();this.container.style.borderTopColor=t,this.container.style.borderBottomColor=t}if(this._arrow&&this.options.arrowColor){const t=this.options.arrowColor.toString();this._arrow.color=t}}_getWidth(t){return t.width-t.minimap.minimapWidth-t.verticalScrollbarWidth}_getLeft(t){return t.minimap.minimapWidth>0&&0===t.minimap.minimapLeft?t.minimap.minimapWidth:0}_onViewZoneTop(t){this.domNode.style.top=t+"px"}_onViewZoneHeight(t){var i;if(this.domNode.style.height=`${t}px`,this.container){const i=t-this._decoratingElementsHeight();this.container.style.height=`${i}px`;const e=this.editor.getLayoutInfo();this._doLayout(i,this._getWidth(e))}null===(i=this._resizeSash)||void 0===i||i.layout()}get position(){const t=this._positionMarkerId.getRange(0);if(t)return t.getStartPosition()}show(t,i){const e=Ms.isIRange(t)?Ms.lift(t):Ms.fromPositions(t);this._isShowing=!0,this._showImpl(e,i),this._isShowing=!1,this._positionMarkerId.set([{range:e,options:bL.EMPTY}])}hide(){var t;this._viewZone&&(this.editor.changeViewZones((t=>{this._viewZone&&t.removeZone(this._viewZone.id)})),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),null===(t=this._arrow)||void 0===t||t.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const t=this.editor.getOption(66);let i=0;return this.options.showArrow&&(i+=2*Math.round(t/3)),this.options.showFrame&&(i+=2*Math.round(t/9)),i}_showImpl(t,i){const e=t.getStartPosition(),s=this.editor.getLayoutInfo(),n=this._getWidth(s);this.domNode.style.width=`${n}px`,this.domNode.style.left=this._getLeft(s)+"px";const o=document.createElement("div");o.style.overflow="hidden";const r=this.editor.getOption(66);if(!this.options.allowUnlimitedHeight){const t=Math.max(12,this.editor.getLayoutInfo().height/r*.8);i=Math.min(i,t)}let h=0,c=0;if(this._arrow&&this.options.showArrow&&(h=Math.round(r/3),this._arrow.height=h,this._arrow.show(e)),this.options.showFrame&&(c=Math.round(r/9)),this.editor.changeViewZones((t=>{this._viewZone&&t.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new WJ(o,e.lineNumber,e.column,i,(t=>this._onViewZoneTop(t)),(t=>this._onViewZoneHeight(t)),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=t.addZone(this._viewZone),this._overlayWidget=new jJ("vs.editor.contrib.zoneWidget"+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)})),this.container&&this.options.showFrame){const t=this.options.frameWidth?this.options.frameWidth:c;this.container.style.borderTopWidth=t+"px",this.container.style.borderBottomWidth=t+"px"}const a=i*r-this._decoratingElementsHeight();this.container&&(this.container.style.top=h+"px",this.container.style.height=a+"px",this.container.style.overflow="hidden"),this._doLayout(a,n),this.options.keepEditorSelection||this.editor.setSelection(t);const l=this.editor.getModel();if(l){const i=l.validateRange(new Ms(t.startLineNumber,1,t.endLineNumber+1,1));this.revealRange(i,i.startLineNumber===l.getLineCount())}}revealRange(t,i){i?this.editor.revealLineNearTop(t.endLineNumber,0):this.editor.revealRange(t,0)}setCssClass(t,i){this.container&&(i&&this.container.classList.remove(i),this.container.classList.add(t))}_onWidth(t){}_doLayout(t,i){}_relayout(t){this._viewZone&&this._viewZone.heightInLines!==t&&this.editor.changeViewZones((i=>{this._viewZone&&(this._viewZone.heightInLines=t,i.layoutZone(this._viewZone.id))}))}_initSash(){if(this._resizeSash)return;let t;this._resizeSash=this._disposables.add(new NP(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0),this._disposables.add(this._resizeSash.onDidStart((i=>{this._viewZone&&(t={startY:i.startY,heightInLines:this._viewZone.heightInLines})}))),this._disposables.add(this._resizeSash.onDidEnd((()=>{t=void 0}))),this._disposables.add(this._resizeSash.onDidChange((i=>{if(t){const e=(i.currentY-t.startY)/this.editor.getOption(66),s=e<0?Math.ceil(e):Math.floor(e),n=t.heightInLines+s;n>5&&n<35&&this._relayout(n)}})))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const t=this.editor.getLayoutInfo();return t.width-t.minimap.minimapWidth}}var VJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},UJ=function(t,i){return function(e,s){i(e,s,t)}};const qJ=dr("IPeekViewService");var KJ;Cd(qJ,class{constructor(){this._widgets=new Map}addExclusiveWidget(t,i){const e=this._widgets.get(t);e&&(e.listener.dispose(),e.widget.dispose()),this._widgets.set(t,{widget:i,listener:i.onDidClose((()=>{const e=this._widgets.get(t);e&&e.widget===i&&(e.listener.dispose(),this._widgets.delete(t))}))})}},1),function(t){t.inPeekEditor=new ch("inReferenceSearchEditor",!0,rt(0,"Whether the current code editor is embedded inside peek")),t.notInPeekEditor=t.inPeekEditor.toNegated()}(KJ||(KJ={}));let GJ=class{constructor(t,i){t instanceof BJ&&KJ.inPeekEditor.bindTo(i)}dispose(){}};GJ.ID="editor.contrib.referenceController",GJ=VJ([UJ(1,ah)],GJ),lu(GJ.ID,GJ,0);const ZJ={headerBackgroundColor:sg.white,primaryHeadingColor:sg.fromHex("#333333"),secondaryHeadingColor:sg.fromHex("#6c6c6cb3")};let QJ=class extends HJ{constructor(t,i,e){super(t,i),this.instantiationService=e,this._onDidClose=new fe,this.onDidClose=this._onDidClose.event,it(this.options,ZJ,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(t){const i=this.options;t.headerBackgroundColor&&(i.headerBackgroundColor=t.headerBackgroundColor),t.primaryHeadingColor&&(i.primaryHeadingColor=t.primaryHeadingColor),t.secondaryHeadingColor&&(i.secondaryHeadingColor=t.secondaryHeadingColor),super.style(t)}_applyStyles(){super._applyStyles();const t=this.options;this._headElement&&t.headerBackgroundColor&&(this._headElement.style.backgroundColor=t.headerBackgroundColor.toString()),this._primaryHeading&&t.primaryHeadingColor&&(this._primaryHeading.style.color=t.primaryHeadingColor.toString()),this._secondaryHeading&&t.secondaryHeadingColor&&(this._secondaryHeading.style.color=t.secondaryHeadingColor.toString()),this._bodyElement&&t.frameColor&&(this._bodyElement.style.borderColor=t.frameColor.toString())}_fillContainer(t){this.setCssClass("peekview-widget"),this._headElement=$l(".head"),this._bodyElement=$l(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),t.appendChild(this._headElement),t.appendChild(this._bodyElement)}_fillHead(t,i){this._titleElement=$l(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),qa(this._titleElement,"click",(t=>this._onTitleClick(t)))),Ol(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=$l("span.filename"),this._secondaryHeading=$l("span.dirname"),this._metaHeading=$l("span.meta"),Ol(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const e=$l(".peekview-actions");Ol(this._headElement,e);const s=this._getActionBarOptions();this._actionbarWidget=new VB(e,s),this._disposables.add(this._actionbarWidget),i||this._actionbarWidget.push(new mr("peekview.close",rt(0,"Close"),Cr.asClassName(Os.close),!0,(()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(t){}_getActionBarOptions(){return{actionViewItemProvider:HB.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(t){}setTitle(t,i){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=t,this._primaryHeading.setAttribute("title",t),i?this._secondaryHeading.innerText=i:za(this._secondaryHeading))}setMetaTitle(t){this._metaHeading&&(t?(this._metaHeading.innerText=t,Wl(this._metaHeading)):jl(this._metaHeading))}_doLayout(t,i){if(!this._isShowing&&t<0)return void this.dispose();const e=Math.ceil(1.2*this.editor.getOption(66)),s=Math.round(t-(e+2));this._doLayoutHead(e,i),this._doLayoutBody(s,i)}_doLayoutHead(t,i){this._headElement&&(this._headElement.style.height=`${t}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(t,i){this._bodyElement&&(this._bodyElement.style.height=`${t}px`)}};QJ=VJ([UJ(2,ur)],QJ);const JJ=ow("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:sg.black,hcLight:sg.white},rt(0,"Background color of the peek view title area.")),YJ=ow("peekViewTitleLabel.foreground",{dark:sg.white,light:sg.black,hcDark:sg.white,hcLight:sv},rt(0,"Color of the peek view title.")),XJ=ow("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},rt(0,"Color of the peek view title info.")),tY=ow("peekView.border",{dark:Xw,light:Xw,hcDark:lw,hcLight:lw},rt(0,"Color of the peek view borders and arrow.")),iY=ow("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:sg.black,hcLight:sg.white},rt(0,"Background color of the peek view result list."));ow("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:sg.white,hcLight:sv},rt(0,"Foreground color for line nodes in the peek view result list.")),ow("peekViewResult.fileForeground",{dark:sg.white,light:"#1E1E1E",hcDark:sg.white,hcLight:sv},rt(0,"Foreground color for file nodes in the peek view result list.")),ow("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},rt(0,"Background color of the selected entry in the peek view result list.")),ow("peekViewResult.selectionForeground",{dark:sg.white,light:"#6C6C6C",hcDark:sg.white,hcLight:sv},rt(0,"Foreground color of the selected entry in the peek view result list."));const eY=ow("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:sg.black,hcLight:sg.white},rt(0,"Background color of the peek view editor."));ow("peekViewEditorGutter.background",{dark:eY,light:eY,hcDark:eY,hcLight:eY},rt(0,"Background color of the gutter in the peek view editor.")),ow("peekViewEditorStickyScroll.background",{dark:eY,light:eY,hcDark:eY,hcLight:eY},rt(0,"Background color of sticky scroll in the peek view editor.")),ow("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},rt(0,"Match highlight color in the peek view result list.")),ow("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},rt(0,"Match highlight color in the peek view editor.")),ow("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:uw,hcLight:uw},rt(0,"Match highlight border in the peek view editor."));class sY{constructor(t,i,e,s){this.isProviderFirst=t,this.parent=i,this.link=e,this._rangeCallback=s,this.id=V_.nextId()}get uri(){return this.link.uri}get range(){var t,i;return null!==(i=null!==(t=this._range)&&void 0!==t?t:this.link.targetSelectionRange)&&void 0!==i?i:this.link.range}set range(t){this._range=t,this._rangeCallback(this)}get ariaMessage(){var t;const i=null===(t=this.parent.getPreview(this))||void 0===t?void 0:t.preview(this.range);return i?rt(0,"{0} in {1} on line {2} at column {3}",i.value,uA(this.uri),this.range.startLineNumber,this.range.startColumn):rt(0,"in {0} on line {1} at column {2}",uA(this.uri),this.range.startLineNumber,this.range.startColumn)}}class nY{constructor(t){this._modelReference=t}dispose(){this._modelReference.dispose()}preview(t,i=8){const e=this._modelReference.object.textEditorModel;if(!e)return;const{startLineNumber:s,startColumn:n,endLineNumber:o,endColumn:r}=t,h=e.getWordUntilPosition({lineNumber:s,column:n-i}),c=new Ms(s,h.startColumn,s,n),a=new Ms(o,r,o,1073741824),l=e.getValueInRange(c).replace(/^\s+/,""),u=e.getValueInRange(t);return{value:l+u+e.getValueInRange(a).replace(/\s+$/,""),highlight:{start:l.length,end:l.length+u.length}}}}class oY{constructor(t,i){this.parent=t,this.uri=i,this.children=[],this._previews=new _p}dispose(){Ji(this._previews.values()),this._previews.clear()}getPreview(t){return this._previews.get(t.uri)}get ariaMessage(){const t=this.children.length;return 1===t?rt(0,"1 symbol in {0}, full path {1}",uA(this.uri),this.uri.fsPath):rt(0,"{0} symbols in {1}, full path {2}",t,uA(this.uri),this.uri.fsPath)}async resolve(t){if(0!==this._previews.size)return this;for(const i of this.children)if(!this._previews.has(i.uri))try{const e=await t.createModelReference(i.uri);this._previews.set(i.uri,new nY(e))}catch(t){Pi(t)}return this}}class rY{constructor(t,i){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new fe,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=t,this._title=i;const[e]=t;let s;t.sort(rY._compareReferences);for(const i of t)if(s&&cA.isEqual(s.uri,i.uri,!0)||(s=new oY(this,i.uri),this.groups.push(s)),0===s.children.length||0!==rY._compareReferences(i,s.children[s.children.length-1])){const t=new sY(e===i,s,i,(t=>this._onDidChangeReferenceRange.fire(t)));this.references.push(t),s.children.push(t)}}dispose(){Ji(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new rY(this._links,this._title)}get title(){return this._title}get isEmpty(){return 0===this.groups.length}get ariaMessage(){return this.isEmpty?rt(0,"No results found"):1===this.references.length?rt(0,"Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?rt(0,"Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):rt(0,"Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(t,i){const{parent:e}=t;let s=e.children.indexOf(t);const n=e.children.length,o=e.parent.groups.length;return 1===o||i&&s+10?(s=i?(s+1)%n:(s+n-1)%n,e.children[s]):(s=e.parent.groups.indexOf(e),i?(s=(s+1)%o,e.parent.groups[s].children[0]):(s=(s+o-1)%o,e.parent.groups[s].children[e.parent.groups[s].children.length-1]))}nearestReference(t,i){const e=this.references.map(((e,s)=>({idx:s,prefixLen:fo(e.uri.toString(),t.toString()),offsetDist:100*Math.abs(e.range.startLineNumber-i.lineNumber)+Math.abs(e.range.startColumn-i.column)}))).sort(((t,i)=>t.prefixLen>i.prefixLen?-1:t.prefixLeni.offsetDist?1:0))[0];if(e)return this.references[e.idx]}referenceAt(t,i){for(const e of this.references)if(e.uri.toString()===t.toString()&&Ms.containsPosition(e.range,i))return e}firstReference(){for(const t of this.references)if(t.isProviderFirst)return t;return this.references[0]}static _compareReferences(t,i){return cA.compare(t.uri,i.uri)||Ms.compareRangesUsingStarts(t.range,i.range)}}var hY,cY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},aY=function(t,i){return function(e,s){i(e,s,t)}};let lY=class{constructor(t){this._resolverService=t}hasChildren(t){return t instanceof rY||t instanceof oY}getChildren(t){if(t instanceof rY)return t.groups;if(t instanceof oY)return t.resolve(this._resolverService).then((t=>t.children));throw new Error("bad tree")}};lY=cY([aY(0,gr)],lY);class uY{getHeight(){return 23}getTemplateId(t){return t instanceof oY?gY.id:wY.id}}let dY=class{constructor(t){this._keybindingService=t}getKeyboardNavigationLabel(t){var i;if(t instanceof sY){const e=null===(i=t.parent.getPreview(t))||void 0===i?void 0:i.preview(t.range);if(e)return e.value}return uA(t.uri)}};dY=cY([aY(0,Yx)],dY);class fY{getId(t){return t instanceof sY?t.id:t.uri}}let pY=class extends ie{constructor(t,i){super(),this._labelService=i;const e=document.createElement("div");e.classList.add("reference-file"),this.file=this._register(new Wj(e,{supportHighlights:!0})),this.badge=new Lj(Ol(e,$l(".count")),{},MB),t.appendChild(e)}set(t,i){const e=fA(t.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(t.uri),this._labelService.getUriLabel(e,{relative:!0}),{title:this._labelService.getUriLabel(t.uri),matches:i});const s=t.children.length;this.badge.setCount(s),this.badge.setTitleFormat(rt(0,s>1?"{0} references":"{0} reference",s))}};pY=cY([aY(1,TO)],pY);let gY=hY=class{constructor(t){this._instantiationService=t,this.templateId=hY.id}renderTemplate(t){return this._instantiationService.createInstance(pY,t)}renderElement(t,i,e){e.set(t.element,e_(t.filterData))}disposeTemplate(t){t.dispose()}};gY.id="FileReferencesRenderer",gY=hY=cY([aY(0,ur)],gY);class mY{constructor(t){this.label=new Pj(t)}set(t,i){var e;const s=null===(e=t.parent.getPreview(t))||void 0===e?void 0:e.preview(t.range);if(s&&s.value){const{value:t,highlight:e}=s;i&&!p_.isDefault(i)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(t,e_(i))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(t,[e]))}else this.label.set(`${uA(t.uri)}:${t.range.startLineNumber+1}:${t.range.startColumn+1}`)}}class wY{constructor(){this.templateId=wY.id}renderTemplate(t){return new mY(t)}renderElement(t,i,e){e.set(t.element,t.filterData)}disposeTemplate(){}}wY.id="OneReferenceRenderer";class vY{getWidgetAriaLabel(){return rt(0,"References")}getAriaLabel(t){return t.ariaMessage}}var bY=function(t,i){return function(e,s){i(e,s,t)}};class yY{constructor(t,i){this._editor=t,this._model=i,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new te,this._callOnModelChange=new te,this._callOnDispose.add(this._editor.onDidChangeModel((()=>this._onModelChanged()))),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const t=this._editor.getModel();if(t)for(const i of this._model.references)if(i.uri.toString()===t.uri.toString())return void this._addDecorations(i.parent)}_addDecorations(t){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations((()=>this._onDecorationChanged())));const i=[],e=[];for(let s=0,n=t.children.length;s{const n=s.deltaDecorations([],i);for(let i=0;i{t.equals(9)&&(this._keybindingService.dispatchEvent(t,t.target),t.stopPropagation())}),!0)),this._tree=this._instantiationService.createInstance(xY,"ReferencesWidget",this._treeContainer,new uY,[this._instantiationService.createInstance(gY),this._instantiationService.createInstance(wY)],this._instantiationService.createInstance(lY),i),this._splitView.addView({onDidChange:ce.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:t=>{this._preview.layout({height:this._dim.height,width:t})}},zP.Distribute),this._splitView.addView({onDidChange:ce.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:t=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${t}px`,this._tree.layout(this._dim.height,t)}},zP.Distribute),this._disposables.add(this._splitView.onDidSashChange((()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)}),void 0));const e=(t,i)=>{t instanceof sY&&("show"===i&&this._revealReference(t,!1),this._onDidSelectReference.fire({element:t,kind:i,source:"tree"}))};this._tree.onDidOpen((t=>{e(t.element,t.sideBySide?"side":t.editorOptions.pinned?"goto":"show")})),jl(this._treeContainer)}_onWidth(t){this._dim&&this._doLayoutBody(this._dim.height,t)}_doLayoutBody(t,i){super._doLayoutBody(t,i),this._dim=new el(i,t),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(i),this._splitView.resizeView(0,i*this.layoutData.ratio)}setSelection(t){return this._revealReference(t,!0).then((()=>{this._model&&(this._tree.setSelection([t]),this._tree.setFocus([t]))}))}setModel(t){return this._disposeOnNewModel.clear(),this._model=t,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=rt(0,"No results"),Wl(this._messageContainer),Promise.resolve(void 0)):(jl(this._messageContainer),this._decorationsManager=new yY(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange((t=>this._tree.rerender(t)))),this._disposeOnNewModel.add(this._preview.onMouseDown((t=>{const{event:i,target:e}=t;if(2!==i.detail)return;const s=this._getFocusedReference();s&&this._onDidSelectReference.fire({element:{uri:s.uri,range:e.range},kind:i.ctrlKey||i.metaKey||i.altKey?"side":"open",source:"editor"})}))),this.container.classList.add("results-loaded"),Wl(this._treeContainer),Wl(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(1===this._model.groups.length?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[t]=this._tree.getFocus();return t instanceof sY?t:t instanceof oY&&t.children.length>0?t.children[0]:void 0}async revealReference(t){await this._revealReference(t,!1),this._onDidSelectReference.fire({element:t,kind:"goto",source:"tree"})}async _revealReference(t,i){if(this._revealedReference===t)return;this._revealedReference=t,t.uri.scheme!==ka.inMemory?this.setTitle(lA(t.uri),this._uriLabel.getUriLabel(fA(t.uri))):this.setTitle(rt(0,"References"));const e=this._textModelResolverService.createModelReference(t.uri);this._tree.getInput()===t.parent||(i&&this._tree.reveal(t.parent),await this._tree.expand(t.parent)),this._tree.reveal(t);const s=await e;if(!this._model)return void s.dispose();Ji(this._previewModelReference);const n=s.object;if(n){const i=this._preview.getModel()===n.textEditorModel?0:1,e=Ms.lift(t.range).collapseToStart();this._previewModelReference=s,this._preview.setModel(n.textEditorModel),this._preview.setSelection(e),this._preview.revealRangeInCenter(e,i)}else this._preview.setModel(this._previewNotAvailableMessage),s.dispose()}};CY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([bY(3,qk),bY(4,gr),bY(5,ur),bY(6,qJ),bY(7,TO),bY(8,XM),bY(9,Yx),bY(10,yd),bY(11,qd)],CY);var SY,DY=function(t,i){return function(e,s){i(e,s,t)}};const EY=new ch("referenceSearchVisible",!1,rt(0,"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let AY=SY=class{static get(t){return t.getContribution(SY.ID)}constructor(t,i,e,s,n,o,r,h){this._defaultTreeKeyboardSupport=t,this._editor=i,this._editorService=s,this._notificationService=n,this._instantiationService=o,this._storageService=r,this._configurationService=h,this._disposables=new te,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=EY.bindTo(e)}dispose(){var t,i;this._referenceSearchVisible.reset(),this._disposables.dispose(),null===(t=this._widget)||void 0===t||t.dispose(),null===(i=this._model)||void 0===i||i.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(t,i,e){let s;if(this._widget&&(s=this._widget.position),this.closeWidget(),s&&t.containsPosition(s))return;this._peekMode=e,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>{this.closeWidget()}))),this._disposables.add(this._editor.onDidChangeModel((()=>{this._ignoreModelChangeEvent||this.closeWidget()})));const n="peekViewLayout",o=kY.fromJSON(this._storageService.get(n,0,"{}"));this._widget=this._instantiationService.createInstance(CY,this._editor,this._defaultTreeKeyboardSupport,o),this._widget.setTitle(rt(0,"Loading...")),this._widget.show(t),this._disposables.add(this._widget.onDidClose((()=>{i.cancel(),this._widget&&(this._storageService.store(n,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()}))),this._disposables.add(this._widget.onDidSelectReference((t=>{const{element:i,kind:s}=t;if(i)switch(s){case"open":"editor"===t.source&&this._configurationService.getValue("editor.stablePeek")||this.openReference(i,!1,!1);break;case"side":this.openReference(i,!0,!1);break;case"goto":e?this._gotoReference(i,!0):this.openReference(i,!1,!0)}})));const r=++this._requestIdPool;i.then((i=>{var e;if(r===this._requestIdPool&&this._widget)return null===(e=this._model)||void 0===e||e.dispose(),this._model=i,this._widget.setModel(this._model).then((()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._widget.setMetaTitle(this._model.isEmpty?"":rt(0,"{0} ({1})",this._model.title,this._model.references.length));const i=this._editor.getModel().uri,e=new As(t.startLineNumber,t.startColumn),s=this._model.nearestReference(i,e);if(s)return this._widget.setSelection(s).then((()=>{this._widget&&"editor"===this._editor.getOption(86)&&this._widget.focusOnPreviewEditor()}))}}));i.dispose()}),(t=>{this._notificationService.error(t)}))}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(t){if(!this._editor.hasModel()||!this._model||!this._widget)return;const i=this._widget.position;if(!i)return;const e=this._model.nearestReference(this._editor.getModel().uri,i);if(!e)return;const s=this._model.nextOrPreviousReference(e,t),n=this._editor.hasTextFocus(),o=this._widget.isPreviewEditorFocused();await this._widget.setSelection(s),await this._gotoReference(s,!1),n?this._editor.focus():this._widget&&o&&this._widget.focusOnPreviewEditor()}async revealReference(t){this._editor.hasModel()&&this._model&&this._widget&&await this._widget.revealReference(t)}closeWidget(t=!0){var i,e;null===(i=this._widget)||void 0===i||i.dispose(),null===(e=this._model)||void 0===e||e.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,t&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(t,i){var e;null===(e=this._widget)||void 0===e||e.hide(),this._ignoreModelChangeEvent=!0;const s=Ms.lift(t.range).collapseToStart();return this._editorService.openCodeEditor({resource:t.uri,options:{selection:s,selectionSource:"code.jump",pinned:i}},this._editor).then((t=>{var i;if(this._ignoreModelChangeEvent=!1,t&&this._widget)if(this._editor===t)this._widget.show(s),this._widget.focusOnReferenceTree();else{const e=SY.get(t),n=this._model.clone();this.closeWidget(),t.focus(),null==e||e.toggleWidget(s,nc((()=>Promise.resolve(n))),null!==(i=this._peekMode)&&void 0!==i&&i)}else this.closeWidget()}),(t=>{this._ignoreModelChangeEvent=!1,Pi(t)}))}openReference(t,i,e){i||this.closeWidget();const{uri:s,range:n}=t;this._editorService.openCodeEditor({resource:s,options:{selection:n,selectionSource:"code.jump",pinned:e}},this._editor,i)}};function MY(t,i){const e=function(t){const i=t.get(fr).getFocusedCodeEditor();return i instanceof BJ?i.getParentEditor():i}(t);if(!e)return;const s=AY.get(e);s&&i(s)}AY.ID="editor.contrib.referencesController",AY=SY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([DY(2,ah),DY(3,fr),DY(4,JF),DY(5,ur),DY(6,bB),DY(7,pd)],AY),Ah.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Ne(2089,60),when:zr.or(EY,KJ.inPeekEditor),handler(t){MY(t,(t=>{t.changeFocusBetweenPreviewAndReferences()}))}}),Ah.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:zr.or(EY,KJ.inPeekEditor),handler(t){MY(t,(t=>{t.goToNextOrPreviousReference(!0)}))}}),Ah.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:zr.or(EY,KJ.inPeekEditor),handler(t){MY(t,(t=>{t.goToNextOrPreviousReference(!1)}))}}),Dr.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),Dr.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),Dr.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),Dr.registerCommand("closeReferenceSearch",(t=>MY(t,(t=>t.closeWidget())))),Ah.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:zr.and(KJ.inPeekEditor,zr.not("config.editor.stablePeek"))}),Ah.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:zr.and(EY,zr.not("config.editor.stablePeek"))}),Ah.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:zr.and(EY,CW,LW.negate(),TW.negate()),handler(t){var i;const e=null===(i=t.get(bW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof sY&&MY(t,(t=>t.revealReference(e[0])))}}),Ah.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:zr.and(EY,CW,LW.negate(),TW.negate()),handler(t){var i;const e=null===(i=t.get(bW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof sY&&MY(t,(t=>t.openReference(e[0],!0,!0)))}}),Dr.registerCommand("openReference",(t=>{var i;const e=null===(i=t.get(bW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof sY&&MY(t,(t=>t.openReference(e[0],!1,!0)))}));var LY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},FY=function(t,i){return function(e,s){i(e,s,t)}};const TY=new ch("hasSymbols",!1,rt(0,"Whether there are symbol locations that can be navigated via keyboard-only.")),RY=dr("ISymbolNavigationService");let OY=class{constructor(t,i,e,s){this._editorService=i,this._notificationService=e,this._keybindingService=s,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=TY.bindTo(t)}reset(){var t,i;this._ctxHasSymbols.reset(),null===(t=this._currentState)||void 0===t||t.dispose(),null===(i=this._currentMessage)||void 0===i||i.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(t){const i=t.parent.parent;if(i.references.length<=1)return void this.reset();this._currentModel=i,this._currentIdx=i.references.indexOf(t),this._ctxHasSymbols.set(!0),this._showMessage();const e=new IY(this._editorService),s=e.onDidChange((()=>{if(this._ignoreEditorChange)return;const t=this._editorService.getActiveCodeEditor();if(!t)return;const e=t.getModel(),s=t.getPosition();if(!e||!s)return;let n=!1,o=!1;for(const t of i.references)if(aA(t.uri,e.uri))n=!0,o=o||Ms.containsPosition(t.range,s);else if(n)break;n&&o||this.reset()}));this._currentState=Yi(e,s)}revealNext(t){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const i=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:i.uri,options:{selection:Ms.collapseToStart(i.range),selectionRevealType:3}},t).finally((()=>{this._ignoreEditorChange=!1}))}_showMessage(){var t;null===(t=this._currentMessage)||void 0===t||t.dispose();const i=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),e=i?rt(0,"Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,i.getLabel()):rt(0,"Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(e)}};OY=LY([FY(0,ah),FY(1,fr),FY(2,JF),FY(3,Yx)],OY),Cd(RY,OY,1),hu(new class extends eu{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:TY,kbOpts:{weight:100,primary:70}})}runEditorCommand(t,i){return t.get(RY).revealNext(i)}}),Ah.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:TY,primary:9,handler(t){t.get(RY).reset()}});let IY=class{constructor(t){this._listener=new Map,this._disposables=new te,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._disposables.add(t.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(t.onCodeEditorAdd(this._onDidAddEditor,this)),t.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),Ji(this._listener.values())}_onDidAddEditor(t){this._listener.set(t,Yi(t.onDidChangeCursorPosition((()=>this._onDidChange.fire({editor:t}))),t.onDidChangeModelContent((()=>this._onDidChange.fire({editor:t})))))}_onDidRemoveEditor(t){var i;null===(i=this._listener.get(t))||void 0===i||i.dispose(),this._listener.delete(t)}};async function _Y(t,i,e,s){const n=e.ordered(t).map((e=>Promise.resolve(s(e,t,i)).then(void 0,(t=>{$i(t)}))));return w((await Promise.all(n)).flat())}function NY(t,i,e,s){return _Y(i,e,t,((t,i,e)=>t.provideDefinition(i,e,s)))}function BY(t,i,e,s){return _Y(i,e,t,((t,i,e)=>t.provideDeclaration(i,e,s)))}function PY(t,i,e,s){return _Y(i,e,t,((t,i,e)=>t.provideImplementation(i,e,s)))}function $Y(t,i,e,s){return _Y(i,e,t,((t,i,e)=>t.provideTypeDefinition(i,e,s)))}function WY(t,i,e,s,n){return _Y(i,e,t,(async(t,i,e)=>{const o=await t.provideReferences(i,e,{includeDeclaration:!0},n);if(!s||!o||2!==o.length)return o;const r=await t.provideReferences(i,e,{includeDeclaration:!1},n);return r&&1===r.length?r:o}))}async function jY(t){const i=await t(),e=new rY(i,""),s=e.references.map((t=>t.link));return e.dispose(),s}var zY,HY,VY,UY,qY,KY,GY,ZY;IY=LY([FY(0,fr)],IY),ru("_executeDefinitionProvider",((t,i,e)=>{const s=NY(t.get(gg).definitionProvider,i,e,xe.None);return jY((()=>s))})),ru("_executeTypeDefinitionProvider",((t,i,e)=>{const s=$Y(t.get(gg).typeDefinitionProvider,i,e,xe.None);return jY((()=>s))})),ru("_executeDeclarationProvider",((t,i,e)=>{const s=BY(t.get(gg).declarationProvider,i,e,xe.None);return jY((()=>s))})),ru("_executeReferenceProvider",((t,i,e)=>{const s=WY(t.get(gg).referenceProvider,i,e,!1,xe.None);return jY((()=>s))})),ru("_executeImplementationProvider",((t,i,e)=>{const s=PY(t.get(gg).implementationProvider,i,e,xe.None);return jY((()=>s))})),_h.appendMenuItem(Rh.EditorContext,{submenu:Rh.EditorContextPeek,title:rt(0,"Peek"),group:"navigation",order:100});class QY{static is(t){return!(!t||"object"!=typeof t)&&(t instanceof QY||!(!As.isIPosition(t.position)||!t.model))}constructor(t,i){this.model=t,this.position=i}}class JY extends ou{static all(){return JY._allSymbolNavigationCommands.values()}static _patchConfig(t){const i={...t,f1:!0};if(i.menu)for(const e of Vt.wrap(i.menu))e.id!==Rh.EditorContext&&e.id!==Rh.EditorContextPeek||(e.when=zr.and(t.precondition,e.when));return i}constructor(t,i){super(JY._patchConfig(i)),this.configuration=t,JY._allSymbolNavigationCommands.set(i.id,this)}runEditorCommand(t,i,e,s){if(!i.hasModel())return Promise.resolve(void 0);const n=t.get(JF),o=t.get(fr),r=t.get(IO),h=t.get(RY),c=t.get(gg),a=t.get(ur),l=i.getModel(),u=i.getPosition(),d=QY.is(e)?e:new QY(l,u),f=new gK(i,5),p=oc(this._getLocationModel(c,d.model,d.position,f.token),f.token).then((async t=>{var n;if(!t||f.token.isCancellationRequested)return;let r;if(Tm(t.ariaMessage),t.referenceAt(l.uri,u)){const t=this._getAlternativeCommand(i);!JY._activeAlternativeCommands.has(t)&&JY._allSymbolNavigationCommands.has(t)&&(r=JY._allSymbolNavigationCommands.get(t))}const c=t.references.length;if(0===c){if(!this.configuration.muteMessage){const t=l.getWordAtPosition(u);null===(n=hQ.get(i))||void 0===n||n.showMessage(this._getNoResultFoundMessage(t),u)}}else{if(1!==c||!r)return this._onResult(o,h,i,t,s);JY._activeAlternativeCommands.add(this.desc.id),a.invokeFunction((t=>r.runEditorCommand(t,i,e,s).finally((()=>{JY._activeAlternativeCommands.delete(this.desc.id)}))))}}),(t=>{n.error(t)})).finally((()=>{f.dispose()}));return r.showWhile(p,250),p}async _onResult(t,i,e,s,n){const o=this._getGoToPreference(e);if(e instanceof BJ||!(this.configuration.openInPeek||"peek"===o&&s.references.length>1)){const r=s.firstReference(),h=s.references.length>1&&"gotoAndPeek"===o,c=await this._openReference(e,t,r,this.configuration.openToSide,!h);h&&c?this._openInPeek(c,s,n):s.dispose(),"goto"===o&&i.put(r)}else this._openInPeek(e,s,n)}async _openReference(t,i,e,s,n){let o;var r;if((r=e)&&ms.isUri(r.uri)&&Ms.isIRange(r.range)&&(Ms.isIRange(r.originSelectionRange)||Ms.isIRange(r.targetSelectionRange))&&(o=e.targetSelectionRange),o||(o=e.range),!o)return;const h=await i.openCodeEditor({resource:e.uri,options:{selection:Ms.collapseToStart(o),selectionRevealType:3,selectionSource:"code.jump"}},t,s);if(h){if(n){const t=h.getModel(),i=h.createDecorationsCollection([{range:o,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout((()=>{h.getModel()===t&&i.clear()}),350)}return h}}_openInPeek(t,i,e){const s=AY.get(t);s&&t.hasModel()?s.toggleWidget(null!=e?e:t.getSelection(),nc((()=>Promise.resolve(i))),this.configuration.openInPeek):i.dispose()}}JY._allSymbolNavigationCommands=new Map,JY._activeAlternativeCommands=new Set;class YY extends JY{async _getLocationModel(t,i,e,s){return new rY(await NY(t.definitionProvider,i,e,s),rt(0,"Definitions"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No definition found for '{0}'",t.word):rt(0,"No definition found")}_getAlternativeCommand(t){return t.getOption(58).alternativeDefinitionCommand}_getGoToPreference(t){return t.getOption(58).multipleDefinitions}}$h(((zY=class extends YY{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:zY.id,title:{value:rt(0,"Go to Definition"),original:"Go to Definition",mnemonicTitle:rt(0,"Go to &&Definition")},precondition:zr.and(UC.hasDefinitionProvider,UC.isInWalkThroughSnippet.toNegated()),keybinding:[{when:UC.editorTextFocus,primary:70,weight:100},{when:zr.and(UC.editorTextFocus,dW),primary:2118,weight:100}],menu:[{id:Rh.EditorContext,group:"navigation",order:1.1},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Dr.registerCommandAlias("editor.action.goToDeclaration",zY.id)}}).id="editor.action.revealDefinition",zY)),$h(((HY=class extends YY{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:HY.id,title:{value:rt(0,"Open Definition to the Side"),original:"Open Definition to the Side"},precondition:zr.and(UC.hasDefinitionProvider,UC.isInWalkThroughSnippet.toNegated()),keybinding:[{when:UC.editorTextFocus,primary:Ne(2089,70),weight:100},{when:zr.and(UC.editorTextFocus,dW),primary:Ne(2089,2118),weight:100}]}),Dr.registerCommandAlias("editor.action.openDeclarationToTheSide",HY.id)}}).id="editor.action.revealDefinitionAside",HY)),$h(((VY=class extends YY{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:VY.id,title:{value:rt(0,"Peek Definition"),original:"Peek Definition"},precondition:zr.and(UC.hasDefinitionProvider,KJ.notInPeekEditor,UC.isInWalkThroughSnippet.toNegated()),keybinding:{when:UC.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Rh.EditorContextPeek,group:"peek",order:2}}),Dr.registerCommandAlias("editor.action.previewDeclaration",VY.id)}}).id="editor.action.peekDefinition",VY));class XY extends JY{async _getLocationModel(t,i,e,s){return new rY(await BY(t.declarationProvider,i,e,s),rt(0,"Declarations"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No declaration found for '{0}'",t.word):rt(0,"No declaration found")}_getAlternativeCommand(t){return t.getOption(58).alternativeDeclarationCommand}_getGoToPreference(t){return t.getOption(58).multipleDeclarations}}$h(((UY=class extends XY{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:UY.id,title:{value:rt(0,"Go to Declaration"),original:"Go to Declaration",mnemonicTitle:rt(0,"Go to &&Declaration")},precondition:zr.and(UC.hasDeclarationProvider,UC.isInWalkThroughSnippet.toNegated()),menu:[{id:Rh.EditorContext,group:"navigation",order:1.3},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No declaration found for '{0}'",t.word):rt(0,"No declaration found")}}).id="editor.action.revealDeclaration",UY)),$h(class extends XY{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:{value:rt(0,"Peek Declaration"),original:"Peek Declaration"},precondition:zr.and(UC.hasDeclarationProvider,KJ.notInPeekEditor,UC.isInWalkThroughSnippet.toNegated()),menu:{id:Rh.EditorContextPeek,group:"peek",order:3}})}});class tX extends JY{async _getLocationModel(t,i,e,s){return new rY(await $Y(t.typeDefinitionProvider,i,e,s),rt(0,"Type Definitions"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No type definition found for '{0}'",t.word):rt(0,"No type definition found")}_getAlternativeCommand(t){return t.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(t){return t.getOption(58).multipleTypeDefinitions}}$h(((qY=class extends tX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:qY.ID,title:{value:rt(0,"Go to Type Definition"),original:"Go to Type Definition",mnemonicTitle:rt(0,"Go to &&Type Definition")},precondition:zr.and(UC.hasTypeDefinitionProvider,UC.isInWalkThroughSnippet.toNegated()),keybinding:{when:UC.editorTextFocus,primary:0,weight:100},menu:[{id:Rh.EditorContext,group:"navigation",order:1.4},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}}).ID="editor.action.goToTypeDefinition",qY)),$h(((KY=class extends tX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:KY.ID,title:{value:rt(0,"Peek Type Definition"),original:"Peek Type Definition"},precondition:zr.and(UC.hasTypeDefinitionProvider,KJ.notInPeekEditor,UC.isInWalkThroughSnippet.toNegated()),menu:{id:Rh.EditorContextPeek,group:"peek",order:4}})}}).ID="editor.action.peekTypeDefinition",KY));class iX extends JY{async _getLocationModel(t,i,e,s){return new rY(await PY(t.implementationProvider,i,e,s),rt(0,"Implementations"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No implementation found for '{0}'",t.word):rt(0,"No implementation found")}_getAlternativeCommand(t){return t.getOption(58).alternativeImplementationCommand}_getGoToPreference(t){return t.getOption(58).multipleImplementations}}$h(((GY=class extends iX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:GY.ID,title:{value:rt(0,"Go to Implementations"),original:"Go to Implementations",mnemonicTitle:rt(0,"Go to &&Implementations")},precondition:zr.and(UC.hasImplementationProvider,UC.isInWalkThroughSnippet.toNegated()),keybinding:{when:UC.editorTextFocus,primary:2118,weight:100},menu:[{id:Rh.EditorContext,group:"navigation",order:1.45},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}}).ID="editor.action.goToImplementation",GY)),$h(((ZY=class extends iX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:ZY.ID,title:{value:rt(0,"Peek Implementations"),original:"Peek Implementations"},precondition:zr.and(UC.hasImplementationProvider,KJ.notInPeekEditor,UC.isInWalkThroughSnippet.toNegated()),keybinding:{when:UC.editorTextFocus,primary:3142,weight:100},menu:{id:Rh.EditorContextPeek,group:"peek",order:5}})}}).ID="editor.action.peekImplementation",ZY));class eX extends JY{_getNoResultFoundMessage(t){return t?rt(0,"No references found for '{0}'",t.word):rt(0,"No references found")}_getAlternativeCommand(t){return t.getOption(58).alternativeReferenceCommand}_getGoToPreference(t){return t.getOption(58).multipleReferences}}$h(class extends eX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{value:rt(0,"Go to References"),original:"Go to References",mnemonicTitle:rt(0,"Go to &&References")},precondition:zr.and(UC.hasReferenceProvider,KJ.notInPeekEditor,UC.isInWalkThroughSnippet.toNegated()),keybinding:{when:UC.editorTextFocus,primary:1094,weight:100},menu:[{id:Rh.EditorContext,group:"navigation",order:1.45},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(t,i,e,s){return new rY(await WY(t.referenceProvider,i,e,!0,s),rt(0,"References"))}}),$h(class extends eX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:{value:rt(0,"Peek References"),original:"Peek References"},precondition:zr.and(UC.hasReferenceProvider,KJ.notInPeekEditor,UC.isInWalkThroughSnippet.toNegated()),menu:{id:Rh.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(t,i,e,s){return new rY(await WY(t.referenceProvider,i,e,!1,s),rt(0,"References"))}});class sX extends JY{constructor(t,i,e){super(t,{id:"editor.action.goToLocation",title:{value:rt(0,"Go to Any Symbol"),original:"Go to Any Symbol"},precondition:zr.and(KJ.notInPeekEditor,UC.isInWalkThroughSnippet.toNegated())}),this._references=i,this._gotoMultipleBehaviour=e}async _getLocationModel(t,i,e,s){return new rY(this._references,rt(0,"Locations"))}_getNoResultFoundMessage(t){return t&&rt(0,"No results for '{0}'",t.word)||""}_getGoToPreference(t){var i;return null!==(i=this._gotoMultipleBehaviour)&&void 0!==i?i:t.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}Dr.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:ms},{name:"position",description:"The position at which to start",constraint:As.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(t,i,e,s,n,o,r)=>{K(ms.isUri(i)),K(As.isIPosition(e)),K(Array.isArray(s)),K(void 0===n||"string"==typeof n),K(void 0===r||"boolean"==typeof r);const h=t.get(fr),c=await h.openCodeEditor({resource:i},h.getFocusedCodeEditor());if(wK(c))return c.setPosition(e),c.revealPositionInCenterIfOutsideViewport(e,0),c.invokeWithinContext((t=>{const i=new class extends sX{_getNoResultFoundMessage(t){return o||super._getNoResultFoundMessage(t)}}({muteMessage:!Boolean(o),openInPeek:Boolean(r),openToSide:!1},s,n);t.get(ur).invokeFunction(i.run.bind(i),c)}))}}),Dr.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:ms},{name:"position",description:"The position at which to start",constraint:As.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"}]},handler:async(t,i,e,s,n)=>{t.get(Sr).executeCommand("editor.action.goToLocations",i,e,s,n,void 0,!0)}}),Dr.registerCommand({id:"editor.action.findReferences",handler:(t,i,e)=>{K(ms.isUri(i)),K(As.isIPosition(e));const s=t.get(gg),n=t.get(fr);return n.openCodeEditor({resource:i},n.getFocusedCodeEditor()).then((t=>{if(!wK(t)||!t.hasModel())return;const i=AY.get(t);if(!i)return;const n=nc((i=>WY(s.referenceProvider,t.getModel(),As.lift(e),!1,i).then((t=>new rY(t,rt(0,"References")))))),o=new Ms(e.lineNumber,e.column,e.lineNumber,e.column);return Promise.resolve(i.toggleWidget(o,n,!1))}))}}),Dr.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var nX,oX=function(t,i){return function(e,s){i(e,s,t)}};let rX=nX=class{constructor(t,i,e,s){this.textModelResolverService=i,this.languageService=e,this.languageFeaturesService=s,this.toUnhook=new te,this.toUnhookForKeyboard=new te,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=t,this.linkDecorations=this.editor.createDecorationsCollection();const n=new _J(t);this.toUnhook.add(n),this.toUnhook.add(n.onMouseMoveOrRelevantKeyDown((([t,i])=>{this.startFindDefinitionFromMouse(t,null!=i?i:void 0)}))),this.toUnhook.add(n.onExecute((t=>{this.isEnabled(t)&&this.gotoDefinition(t.target.position,t.hasSideBySideModifier).catch((t=>{Pi(t)})).finally((()=>{this.removeLinkDecorations()}))}))),this.toUnhook.add(n.onCancel((()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null})))}static get(t){return t.getContribution(nX.ID)}async startFindDefinitionFromCursor(t){await this.startFindDefinition(t),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition((()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()}))),this.toUnhookForKeyboard.add(this.editor.onKeyDown((t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())})))}startFindDefinitionFromMouse(t,i){if(!(9===t.target.type&&this.linkDecorations.length>0))return this.editor.hasModel()&&this.isEnabled(t,i)?void this.startFindDefinition(t.target.position):(this.currentWordAtPosition=null,void this.removeLinkDecorations())}async startFindDefinition(t){var i;this.toUnhookForKeyboard.clear();const e=t?null===(i=this.editor.getModel())||void 0===i?void 0:i.getWordAtPosition(t):null;if(!e)return this.currentWordAtPosition=null,void this.removeLinkDecorations();if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===e.startColumn&&this.currentWordAtPosition.endColumn===e.endColumn&&this.currentWordAtPosition.word===e.word)return;this.currentWordAtPosition=e;const s=new pK(this.editor,15);let n;this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=nc((i=>this.findDefinition(t,i)));try{n=await this.previousPromise}catch(t){return void Pi(t)}if(!n||!n.length||!s.validate(this.editor))return void this.removeLinkDecorations();const o=n[0].originSelectionRange?Ms.lift(n[0].originSelectionRange):new Ms(t.lineNumber,e.startColumn,t.lineNumber,e.endColumn);if(n.length>1){let t=o;for(const{originSelectionRange:i}of n)i&&(t=Ms.plusRange(t,i));this.addDecoration(t,(new M_).appendText(rt(0,"Click to show {0} definitions.",n.length)))}else{const t=n[0];if(!t.uri)return;this.textModelResolverService.createModelReference(t.uri).then((i=>{if(!i.object||!i.object.textEditorModel)return void i.dispose();const{object:{textEditorModel:e}}=i,{startLineNumber:s}=t.range;if(s<1||s>e.getLineCount())return void i.dispose();const n=this.getPreviewValue(e,s,t),r=this.languageService.guessLanguageIdByFilepathOrFirstLine(e.uri);this.addDecoration(o,n?(new M_).appendCodeblock(r||"",n):void 0),i.dispose()}))}}getPreviewValue(t,i,e){let s=e.range;return s.endLineNumber-s.startLineNumber>=nX.MAX_SOURCE_PREVIEW_LINES&&(s=this.getPreviewRangeBasedOnIndentation(t,i)),this.stripIndentationFromPreviewRange(t,i,s)}stripIndentationFromPreviewRange(t,i,e){let s=t.getLineFirstNonWhitespaceColumn(i);for(let n=i+1;n{const e=!i&&this.editor.getOption(87)&&!this.isInPeekEditor(t);return new YY({openToSide:i,openInPeek:e,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(t)}))}isInPeekEditor(t){const i=t.get(ah);return KJ.inPeekEditor.getValue(i)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};rX.ID="editor.contrib.gotodefinitionatposition",rX.MAX_SOURCE_PREVIEW_LINES=8,rX=nX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([oX(1,gr),oX(2,yd),oX(3,gg)],rX),lu(rX.ID,rX,2);const hX=$l;class cX extends ie{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this.scrollbar=this._register(new Sk(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}class aX extends ie{static render(t,i,e){return new aX(t,i,e)}constructor(t,i,e){super(),this.actionContainer=Ol(t,hX("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=Ol(this.actionContainer,hX("a.action")),this.action.setAttribute("role","button"),i.iconClass&&Ol(this.action,hX(`span.icon.${i.iconClass}`)),Ol(this.action,hX("span")).textContent=e?`${i.label} (${e})`:i.label,this._register(Va(this.actionContainer,Ll.CLICK,(t=>{t.stopPropagation(),t.preventDefault(),i.run(this.actionContainer)}))),this._register(Va(this.actionContainer,Ll.KEY_DOWN,(t=>{const e=new Qh(t);(e.equals(3)||e.equals(10))&&(t.stopPropagation(),t.preventDefault(),i.run(this.actionContainer))}))),this.setEnabled(!0)}setEnabled(t){t?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}class lX{constructor(t,i,e){this.value=t,this.isComplete=i,this.hasLoadingMessage=e}}class uX extends ie{constructor(t,i){super(),this._editor=t,this._computer=i,this._onResult=this._register(new fe),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new pc((()=>this._triggerAsyncComputation()),0)),this._secondWaitScheduler=this._register(new pc((()=>this._triggerSyncComputation()),0)),this._loadingMessageScheduler=this._register(new pc((()=>this._triggerLoadingMessage()),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(t,i=!0){this._state=t,i&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=function(t){const i=new Se,e=t(i.token);return new xc(i,(async t=>{const s=i.token.onCancellationRequested((()=>{s.dispose(),i.dispose(),t.reject(new Hi)}));try{for await(const s of e){if(i.token.isCancellationRequested)return;t.emitOne(s)}s.dispose(),i.dispose()}catch(e){s.dispose(),i.dispose(),t.reject(e)}}))}((t=>this._computer.computeAsync(t))),(async()=>{try{for await(const t of this._asyncIterable)t&&(this._result.push(t),this._fireResult());this._asyncIterableDone=!0,3!==this._state&&4!==this._state||this._setState(0)}catch(t){Pi(t)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){3===this._state&&this._setState(4)}_fireResult(){if(1===this._state||2===this._state)return;const t=0===this._state,i=4===this._state;this._onResult.fire(new lX(this._result.slice(0),t,i))}start(t){if(0===t)0===this._state&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation()}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}class dX{constructor(t,i,e,s){this.priority=t,this.range=i,this.initialMousePosX=e,this.initialMousePosY=s,this.type=1}equals(t){return 1===t.type&&this.range.equalsRange(t.range)}canAdoptVisibleHover(t,i){return 1===t.type&&i.lineNumber===this.range.startLineNumber}}class fX{constructor(t,i,e,s,n,o){this.priority=t,this.owner=i,this.range=e,this.initialMousePosX=s,this.initialMousePosY=n,this.supportsMarkerHover=o,this.type=2}equals(t){return 2===t.type&&this.owner===t.owner}canAdoptVisibleHover(t,i){return 2===t.type&&this.owner===t.owner}}const pX=new class{constructor(){this._participants=[]}register(t){this._participants.push(t)}getAll(){return this._participants}};class gX{constructor(){let t;this._onDidWillResize=new fe,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new fe,this.onDidResize=this._onDidResize.event,this._sashListener=new te,this._size=new el(0,0),this._minSize=new el(0,0),this._maxSize=new el(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new NP(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new NP(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new NP(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:MP.North}),this._southSash=new NP(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:MP.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let i=0,e=0;this._sashListener.add(ce.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)((()=>{void 0===t&&(this._onDidWillResize.fire(),t=this._size,i=0,e=0)}))),this._sashListener.add(ce.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)((()=>{void 0!==t&&(t=void 0,i=0,e=0,this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(this._eastSash.onDidChange((s=>{t&&(e=s.currentX-s.startX,this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))}))),this._sashListener.add(this._westSash.onDidChange((s=>{t&&(e=-(s.currentX-s.startX),this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))}))),this._sashListener.add(this._northSash.onDidChange((s=>{t&&(i=-(s.currentY-s.startY),this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))}))),this._sashListener.add(this._southSash.onDidChange((s=>{t&&(i=s.currentY-s.startY,this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))}))),this._sashListener.add(ce.any(this._eastSash.onDidReset,this._westSash.onDidReset)((()=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(ce.any(this._northSash.onDidReset,this._southSash.onDidReset)((()=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))})))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(t,i,e,s){this._northSash.state=t?3:0,this._eastSash.state=i?3:0,this._southSash.state=e?3:0,this._westSash.state=s?3:0}layout(t=this.size.height,i=this.size.width){const{height:e,width:s}=this._minSize,{height:n,width:o}=this._maxSize;t=Math.max(e,Math.min(n,t)),i=Math.max(s,Math.min(o,i));const r=new el(i,t);el.equals(r,this._size)||(this.domNode.style.height=t+"px",this.domNode.style.width=i+"px",this._size=r,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(t){this._maxSize=t}get maxSize(){return this._maxSize}set minSize(t){this._minSize=t}get minSize(){return this._minSize}set preferredSize(t){this._preferredSize=t}get preferredSize(){return this._preferredSize}}class mX extends ie{constructor(t,i=new el(10,10)){super(),this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new gX),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=el.lift(i),this._resizableNode.layout(i.height,i.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize((t=>{this._resize(new el(t.dimension.width,t.dimension.height)),t.done&&(this._isResizing=!1)}))),this._register(this._resizableNode.onDidWillResize((()=>{this._isResizing=!0})))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){var t;return(null===(t=this._contentPosition)||void 0===t?void 0:t.position)?As.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(t){const i=this._editor.getDomNode(),e=this._editor.getScrolledVisiblePosition(t);if(i&&e)return nl(i).top+e.top-30}_availableVerticalSpaceBelow(t){const i=this._editor.getDomNode(),e=this._editor.getScrolledVisiblePosition(t);if(!i||!e)return;const s=nl(i);return tl(i.ownerDocument.body).height-(s.top+e.top+e.height)-24}_findPositionPreference(t,i){var e,s;const n=Math.min(null!==(e=this._availableVerticalSpaceBelow(i))&&void 0!==e?e:1/0,t),o=Math.min(null!==(s=this._availableVerticalSpaceAbove(i))&&void 0!==s?s:1/0,t),r=Math.min(Math.max(o,n),t),h=Math.min(t,r);let c;return c=this._editor.getOption(60).above?h<=o?1:2:h<=n?2:1,1===c?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),c}_resize(t){this._resizableNode.layout(t.height,t.width)}}var wX,vX,bX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},yX=function(t,i){return function(e,s){i(e,s,t)}};const kX=$l;let xX=wX=class extends ie{constructor(t,i,e){super(),this._editor=t,this._instantiationService=i,this._keybindingService=e,this._currentResult=null,this._widget=this._register(this._instantiationService.createInstance(EX,this._editor)),this._participants=[];for(const t of pX.getAll())this._participants.push(this._instantiationService.createInstance(t,this._editor));this._participants.sort(((t,i)=>t.hoverOrdinal-i.hoverOrdinal)),this._computer=new MX(this._editor,this._participants),this._hoverOperation=this._register(new uX(this._editor,this._computer)),this._register(this._hoverOperation.onResult((t=>{if(!this._computer.anchor)return;const i=t.hasLoadingMessage?this._addLoadingMessage(t.value):t.value;this._withResult(new CX(this._computer.anchor,i,t.isComplete))}))),this._register(qa(this._widget.getDomNode(),"keydown",(t=>{t.equals(9)&&this.hide()}))),this._register(Zs.onDidChange((()=>{this._widget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})))}get widget(){return this._widget}maybeShowAt(t){if(this._widget.isResizing)return!0;const i=[];for(const e of this._participants)if(e.suggestHoverAnchor){const s=e.suggestHoverAnchor(t);s&&i.push(s)}const e=t.target;if(6===e.type&&i.push(new dX(0,e.range,t.event.posx,t.event.posy)),7===e.type){const s=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;!e.detail.isAfterLines&&"number"==typeof e.detail.horizontalDistanceToText&&e.detail.horizontalDistanceToTexti.priority-t.priority)),this._startShowingOrUpdateHover(i[0],0,0,!1,t))}startShowingAtRange(t,i,e,s){this._startShowingOrUpdateHover(new dX(0,t,void 0,void 0),i,e,s,null)}_startShowingOrUpdateHover(t,i,e,s,n){return this._widget.position&&this._currentResult?this._editor.getOption(60).sticky&&n&&this._widget.isMouseGettingCloser(n.event.posx,n.event.posy)?(t&&this._startHoverOperationIfNecessary(t,i,e,s,!0),!0):t?!(!t||!this._currentResult.anchor.equals(t))||(t.canAdoptVisibleHover(this._currentResult.anchor,this._widget.position)?(this._setCurrentResult(this._currentResult.filter(t)),this._startHoverOperationIfNecessary(t,i,e,s,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(t,i,e,s,!1),!0)):(this._setCurrentResult(null),!1):!!t&&(this._startHoverOperationIfNecessary(t,i,e,s,!1),!0)}_startHoverOperationIfNecessary(t,i,e,s,n){this._computer.anchor&&this._computer.anchor.equals(t)||(this._hoverOperation.cancel(),this._computer.anchor=t,this._computer.shouldFocus=s,this._computer.source=e,this._computer.insistOnKeepingHoverVisible=n,this._hoverOperation.start(i))}_setCurrentResult(t){this._currentResult!==t&&(t&&0===t.messages.length&&(t=null),this._currentResult=t,this._currentResult?this._renderMessages(this._currentResult.anchor,this._currentResult.messages):this._widget.hide())}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}get isColorPickerVisible(){return this._widget.isColorPickerVisible}get isVisibleFromKeyboard(){return this._widget.isVisibleFromKeyboard}get isVisible(){return this._widget.isVisible}get isFocused(){return this._widget.isFocused}get isResizing(){return this._widget.isResizing}containsNode(t){return!!t&&this._widget.getDomNode().contains(t)}_addLoadingMessage(t){if(this._computer.anchor)for(const i of this._participants)if(i.createLoadingMessage){const e=i.createLoadingMessage(this._computer.anchor);if(e)return t.slice(0).concat([e])}return t}_withResult(t){if(this._widget.position&&this._currentResult&&this._currentResult.isComplete){if(!t.isComplete)return;if(this._computer.insistOnKeepingHoverVisible&&0===t.messages.length)return}this._setCurrentResult(t)}_renderMessages(t,i){const{showAtPosition:e,showAtSecondaryPosition:s,highlightRange:n}=wX.computeHoverRanges(this._editor,t.range,i),o=new te,r=o.add(new AX(this._keybindingService)),h=document.createDocumentFragment();let c=null;const a={fragment:h,statusBar:r,setColorPicker:t=>c=t,onContentsChanged:()=>this._widget.onContentsChanged(),setMinimumDimensions:t=>this._widget.setMinimumDimensions(t),hide:()=>this.hide()};for(const t of this._participants){const e=i.filter((i=>i.owner===t));e.length>0&&o.add(t.renderHoverParts(a,e))}const l=i.some((t=>t.isBeforeContent));if(r.hasContent&&h.appendChild(r.hoverElement),h.hasChildNodes()){if(n){const t=this._editor.createDecorationsCollection();t.set([{range:n,options:wX._DECORATION_OPTIONS}]),o.add(Xi((()=>{t.clear()})))}this._widget.showAt(h,new DX(c,e,s,this._editor.getOption(60).above,this._computer.shouldFocus,this._computer.source,l,t.initialMousePosX,t.initialMousePosY,o))}else o.dispose()}static computeHoverRanges(t,i,e){let s=1;if(t.hasModel()){const e=t._getViewModel(),n=e.coordinatesConverter,o=n.convertModelRangeToViewRange(i),r=new As(o.startLineNumber,e.getLineMinColumn(o.startLineNumber));s=n.convertViewPositionToModelPosition(r).column}const n=i.startLineNumber;let o=i.startColumn,r=e[0].range,h=null;for(const t of e)r=Ms.plusRange(r,t.range),t.range.startLineNumber===n&&t.range.endLineNumber===n&&(o=Math.max(Math.min(o,t.range.startColumn),s)),t.forceShowAtRange&&(h=t.range);return{showAtPosition:h?h.getStartPosition():new As(n,i.startColumn),showAtSecondaryPosition:h?h.getStartPosition():new As(n,o),highlightRange:r}}focus(){this._widget.focus()}scrollUp(){this._widget.scrollUp()}scrollDown(){this._widget.scrollDown()}scrollLeft(){this._widget.scrollLeft()}scrollRight(){this._widget.scrollRight()}pageUp(){this._widget.pageUp()}pageDown(){this._widget.pageDown()}goToTop(){this._widget.goToTop()}goToBottom(){this._widget.goToBottom()}};xX._DECORATION_OPTIONS=bL.register({description:"content-hover-highlight",className:"hoverHighlight"}),xX=wX=bX([yX(1,ur),yX(2,Yx)],xX);class CX{constructor(t,i,e){this.anchor=t,this.messages=i,this.isComplete=e}filter(t){const i=this.messages.filter((i=>i.isValidForHoverAnchor(t)));return i.length===this.messages.length?this:new SX(this,this.anchor,i,this.isComplete)}}class SX extends CX{constructor(t,i,e,s){super(i,e,s),this.original=t}filter(t){return this.original.filter(t)}}class DX{constructor(t,i,e,s,n,o,r,h,c,a){this.colorPicker=t,this.showAtPosition=i,this.showAtSecondaryPosition=e,this.preferAbove=s,this.stoleFocus=n,this.source=o,this.isBeforeContent=r,this.initialMousePosX=h,this.initialMousePosY=c,this.disposables=a,this.closestMouseDistance=void 0}}let EX=vX=class extends mX{get isColorPickerVisible(){var t;return Boolean(null===(t=this._visibleData)||void 0===t?void 0:t.colorPicker)}get isVisibleFromKeyboard(){var t;return 1===(null===(t=this._visibleData)||void 0===t?void 0:t.source)}get isVisible(){var t;return null!==(t=this._hoverVisibleKey.get())&&void 0!==t&&t}get isFocused(){var t;return null!==(t=this._hoverFocusedKey.get())&&void 0!==t&&t}constructor(t,i,e,s,n){const o=t.getOption(66)+8,r=new el(150,o);super(t,r),this._configurationService=e,this._accessibilityService=s,this._keybindingService=n,this._hover=this._register(new cX),this._minimumSize=r,this._hoverVisibleKey=UC.hoverVisible.bindTo(i),this._hoverFocusedKey=UC.hoverFocused.bindTo(i),Ol(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange((()=>{this.isVisible&&this._updateMaxDimensions()}))),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._updateFont()})));const h=this._register(Rl(this._resizableNode.domNode));this._register(h.onDidFocus((()=>{this._hoverFocusedKey.set(!0)}))),this._register(h.onDidBlur((()=>{this._hoverFocusedKey.set(!1)}))),this._setHoverData(void 0),this._editor.addContentWidget(this)}dispose(){var t;super.dispose(),null===(t=this._visibleData)||void 0===t||t.disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return vX.ID}static _applyDimensions(t,i,e){const s="number"==typeof e?`${e}px`:e;t.style.width="number"==typeof i?`${i}px`:i,t.style.height=s}_setContentsDomNodeDimensions(t,i){return vX._applyDimensions(this._hover.contentsDomNode,t,i)}_setContainerDomNodeDimensions(t,i){return vX._applyDimensions(this._hover.containerDomNode,t,i)}_setHoverWidgetDimensions(t,i){this._setContentsDomNodeDimensions(t,i),this._setContainerDomNodeDimensions(t,i),this._layoutContentWidget()}static _applyMaxDimensions(t,i,e){const s="number"==typeof e?`${e}px`:e;t.style.maxWidth="number"==typeof i?`${i}px`:i,t.style.maxHeight=s}_setHoverWidgetMaxDimensions(t,i){vX._applyMaxDimensions(this._hover.contentsDomNode,t,i),vX._applyMaxDimensions(this._hover.containerDomNode,t,i),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth","number"==typeof t?`${t}px`:t),this._layoutContentWidget()}_hasHorizontalScrollbar(){const t=this._hover.scrollbar.getScrollDimensions();return t.scrollWidth>t.width}_adjustContentsBottomPadding(){const t=this._hover.contentsDomNode,i=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;t.style.paddingBottom!==i&&(t.style.paddingBottom=i)}_setAdjustedHoverWidgetDimensions(t){this._setHoverWidgetMaxDimensions("none","none");const i=t.width,e=t.height;this._setHoverWidgetDimensions(i,e),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._setContentsDomNodeDimensions(i,e-10))}_updateResizableNodeMaxDimensions(){var t,i;const e=null!==(t=this._findMaximumRenderingWidth())&&void 0!==t?t:1/0,s=null!==(i=this._findMaximumRenderingHeight())&&void 0!==i?i:1/0;this._resizableNode.maxSize=new el(e,s),this._setHoverWidgetMaxDimensions(e,s)}_resize(t){var i,e;vX._lastDimensions=new el(t.width,t.height),this._setAdjustedHoverWidgetDimensions(t),this._resizableNode.layout(t.height,t.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),null===(e=null===(i=this._visibleData)||void 0===i?void 0:i.colorPicker)||void 0===e||e.layout()}_findAvailableSpaceVertically(){var t;const i=null===(t=this._visibleData)||void 0===t?void 0:t.showAtPosition;if(i)return 1===this._positionPreference?this._availableVerticalSpaceAbove(i):this._availableVerticalSpaceBelow(i)}_findMaximumRenderingHeight(){const t=this._findAvailableSpaceVertically();if(!t)return;let i=6;return Array.from(this._hover.contentsDomNode.children).forEach((t=>{i+=t.clientHeight})),this._hasHorizontalScrollbar()&&(i+=10),Math.min(t,i)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const t=Array.from(this._hover.contentsDomNode.children).some((t=>t.scrollWidth>t.clientWidth));return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),t}_findMaximumRenderingWidth(){if(this._editor&&this._editor.hasModel())return this._isHoverTextOverflowing()||this._hover.containerDomNode.clientWidth<(void 0===this._contentWidth?0:this._contentWidth-2)?tl(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth+2}isMouseGettingCloser(t,i){if(!this._visibleData)return!1;if(void 0===this._visibleData.initialMousePosX||void 0===this._visibleData.initialMousePosY)return this._visibleData.initialMousePosX=t,this._visibleData.initialMousePosY=i,!1;const e=nl(this.getDomNode());void 0===this._visibleData.closestMouseDistance&&(this._visibleData.closestMouseDistance=LX(this._visibleData.initialMousePosX,this._visibleData.initialMousePosY,e.left,e.top,e.width,e.height));const s=LX(t,i,e.left,e.top,e.width,e.height);return!(s>this._visibleData.closestMouseDistance+4||(this._visibleData.closestMouseDistance=Math.min(this._visibleData.closestMouseDistance,s),0))}_setHoverData(t){var i;null===(i=this._visibleData)||void 0===i||i.disposables.dispose(),this._visibleData=t,this._hoverVisibleKey.set(!!t),this._hover.containerDomNode.classList.toggle("hidden",!t)}_updateFont(){const{fontSize:t,lineHeight:i}=this._editor.getOption(50),e=this._hover.contentsDomNode;e.style.fontSize=`${t}px`,e.style.lineHeight=""+i/t,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((t=>this._editor.applyFontInfo(t)))}_updateContent(t){const i=this._hover.contentsDomNode;i.style.paddingBottom="",i.textContent="",i.appendChild(t)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const t=Math.max(this._editor.getLayoutInfo().height/4,250,vX._lastDimensions.height),i=Math.max(.66*this._editor.getLayoutInfo().width,500,vX._lastDimensions.width);this._setHoverWidgetMaxDimensions(i,t)}_render(t,i){this._setHoverData(i),this._updateFont(),this._updateContent(t),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){var t;return this._visibleData?{position:this._visibleData.showAtPosition,secondaryPosition:this._visibleData.showAtSecondaryPosition,positionAffinity:this._visibleData.isBeforeContent?3:void 0,preference:[null!==(t=this._positionPreference)&&void 0!==t?t:1]}:null}showAt(t,i){var e,s,n,o;if(!this._editor||!this._editor.hasModel())return;this._render(t,i);const r=cl(this._hover.containerDomNode);this._positionPreference=null!==(e=this._findPositionPreference(r,i.showAtPosition))&&void 0!==e?e:1,this.onContentsChanged(),i.stoleFocus&&this._hover.containerDomNode.focus(),null===(s=i.colorPicker)||void 0===s||s.layout();const h=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&(c=!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),a=null!==(o=null===(n=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))||void 0===n?void 0:n.getAriaLabel())&&void 0!==o?o:"",c&&a?rt(0,"Inspect this in the accessible view with {0}.",a):c?rt(0,"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):"");var c,a;h&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+h)}hide(){if(!this._visibleData)return;const t=this._visibleData.stoleFocus||this._hoverFocusedKey.get();this._setHoverData(void 0),this._resizableNode.maxSize=new el(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),t&&this._editor.focus()}_removeConstraintsRenderNormally(){const t=this._editor.getLayoutInfo();this._resizableNode.layout(t.height,t.width),this._setHoverWidgetDimensions("auto","auto")}_adjustHoverHeightForScrollbar(t){var i;const e=this._hover.containerDomNode,s=this._hover.contentsDomNode,n=null!==(i=this._findMaximumRenderingHeight())&&void 0!==i?i:1/0;this._setContainerDomNodeDimensions(ol(e),Math.min(n,t)),this._setContentsDomNodeDimensions(ol(s),Math.min(n,t-10))}setMinimumDimensions(t){this._minimumSize=new el(Math.max(this._minimumSize.width,t.width),Math.max(this._minimumSize.height,t.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const t=void 0===this._contentWidth?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new el(t,this._minimumSize.height)}onContentsChanged(){var t;this._removeConstraintsRenderNormally();const i=this._hover.containerDomNode;let e=cl(i),s=ol(i);if(this._resizableNode.layout(e,s),this._setHoverWidgetDimensions(s,e),e=cl(i),s=ol(i),this._contentWidth=s,this._updateMinimumWidth(),this._resizableNode.layout(e,s),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._adjustHoverHeightForScrollbar(e)),null===(t=this._visibleData)||void 0===t?void 0:t.showAtPosition){const t=cl(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(t,this._visibleData.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:t-i.lineHeight})}scrollDown(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:t+i.lineHeight})}scrollLeft(){const t=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:t-30})}scrollRight(){const t=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:t+30})}pageUp(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:t-i})}pageDown(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:t+i})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};EX.ID="editor.contrib.resizableContentHoverWidget",EX._lastDimensions=new el(0,0),EX=vX=bX([yX(1,ah),yX(2,pd),yX(3,zm),yX(4,Yx)],EX);let AX=class extends ie{get hasContent(){return this._hasContent}constructor(t){super(),this._keybindingService=t,this._hasContent=!1,this.hoverElement=kX("div.hover-row.status-bar"),this.actionsElement=Ol(this.hoverElement,kX("div.actions"))}addAction(t){const i=this._keybindingService.lookupKeybinding(t.commandId),e=i?i.getLabel():null;return this._hasContent=!0,this._register(aX.render(this.actionsElement,t,e))}append(t){const i=Ol(this.actionsElement,t);return this._hasContent=!0,i}};AX=bX([yX(0,Yx)],AX);class MX{get anchor(){return this._anchor}set anchor(t){this._anchor=t}get shouldFocus(){return this._shouldFocus}set shouldFocus(t){this._shouldFocus=t}get source(){return this._source}set source(t){this._source=t}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(t){this._insistOnKeepingHoverVisible=t}constructor(t,i){this._editor=t,this._participants=i,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(t,i){if(1!==i.type&&!i.supportsMarkerHover)return[];const e=t.getModel(),s=i.range.startLineNumber;if(s>e.getLineCount())return[];const n=e.getLineMaxColumn(s);return t.getLineDecorations(s).filter((t=>{if(t.options.isWholeLine)return!0;const e=t.range.startLineNumber===s?t.range.startColumn:1,o=t.range.endLineNumber===s?t.range.endColumn:n;if(t.options.showIfCollapsed){if(e>i.range.startColumn+1||i.range.endColumn-1>o)return!1}else if(e>i.range.startColumn||i.range.endColumn>o)return!1;return!0}))}computeAsync(t){const i=this._anchor;if(!this._editor.hasModel()||!i)return kc.EMPTY;const e=MX._getLineDecorations(this._editor,i);return kc.merge(this._participants.map((s=>s.computeAsync?s.computeAsync(i,e,t):kc.EMPTY)))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const t=MX._getLineDecorations(this._editor,this._anchor);let i=[];for(const e of this._participants)i=i.concat(e.computeSync(this._anchor,t));return w(i)}}function LX(t,i,e,s,n,o){const r=s+o/2,h=Math.max(Math.abs(t-(e+n/2))-n/2,0),c=Math.max(Math.abs(i-r)-o/2,0);return Math.sqrt(h*h+c*c)}const FX=$l;class TX extends ie{constructor(t,i,e){super(),this._renderDisposeables=this._register(new te),this._editor=t,this._isVisible=!1,this._messages=[],this._hover=this._register(new cX),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new eQ({editor:this._editor},i,e)),this._computer=new RX(this._editor),this._hoverOperation=this._register(new uX(this._editor,this._computer)),this._register(this._hoverOperation.onResult((t=>{this._withResult(t.value)}))),this._register(this._editor.onDidChangeModelDecorations((()=>this._onModelDecorationsChanged()))),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._updateFont()}))),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return TX.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((t=>this._editor.applyFontInfo(t)))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}startShowingAt(t){this._computer.lineNumber!==t&&(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(t){this._messages=t,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(t,i){this._renderDisposeables.clear();const e=document.createDocumentFragment();for(const t of i){const i=FX("div.hover-row.markdown-hover"),s=Ol(i,FX("div.hover-contents")),n=this._renderDisposeables.add(this._markdownRenderer.render(t.value));s.appendChild(n.element),e.appendChild(i)}this._updateContents(e),this._showAt(t)}_updateContents(t){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(t),this._updateFont()}_showAt(t){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const i=this._editor.getLayoutInfo(),e=this._editor.getTopForLineNumber(t),s=this._editor.getScrollTop(),n=this._editor.getOption(66),o=e-s-(this._hover.containerDomNode.clientHeight-n)/2;this._hover.containerDomNode.style.left=`${i.glyphMarginLeft+i.glyphMarginWidth}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(o),0)}px`}}TX.ID="editor.contrib.modesGlyphHoverWidget";class RX{get lineNumber(){return this._lineNumber}set lineNumber(t){this._lineNumber=t}constructor(t){this._editor=t,this._lineNumber=-1}computeSync(){const t=t=>({value:t}),i=this._editor.getLineDecorations(this._lineNumber),e=[];if(!i)return e;for(const s of i){if(!s.options.glyphMarginClassName)continue;const i=s.options.glyphMarginHoverMessage;i&&!L_(i)&&e.push(...M(i).map(t))}return e}}class OX{constructor(t,i,e){this.provider=t,this.hover=i,this.ordinal=e}}function IX(t,i,e,s){const n=t.ordered(i).map(((t,n)=>async function(t,i,e,s,n){try{const o=await Promise.resolve(t.provideHover(e,s,n));if(o&&function(t){return void 0!==t.range&&void 0!==t.contents&&t.contents&&t.contents.length>0}(o))return new OX(t,o,i)}catch(t){$i(t)}}(t,n,i,e,s)));return kc.fromPromises(n).coalesce()}ru("_executeHoverProvider",((t,i,e)=>function(t,i,e){return IX(t,i,e,xe.None).map((t=>t.hover)).toPromise()}(t.get(gg).hoverProvider,i,e)));var _X=function(t,i){return function(e,s){i(e,s,t)}};const NX=$l;class BX{constructor(t,i,e,s,n){this.owner=t,this.range=i,this.contents=e,this.isBeforeContent=s,this.ordinal=n}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let PX=class{constructor(t,i,e,s,n){this._editor=t,this._languageService=i,this._openerService=e,this._configurationService=s,this._languageFeaturesService=n,this.hoverOrdinal=3}createLoadingMessage(t){return new BX(this,t.range,[(new M_).appendText(rt(0,"Loading..."))],!1,2e3)}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type)return[];const e=this._editor.getModel(),s=t.range.startLineNumber,n=e.getLineMaxColumn(s),o=[];let r=1e3;const h=e.getLineLength(s),c=e.getLanguageIdAtPosition(t.range.startLineNumber,t.range.startColumn),a=this._editor.getOption(116),l=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:c});let u=!1;a>=0&&h>a&&t.range.startColumn>=a&&(u=!0,o.push(new BX(this,t.range,[{value:rt(0,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,r++))),!u&&"number"==typeof l&&h>=l&&o.push(new BX(this,t.range,[{value:rt(0,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,r++));let d=!1;for(const e of i){const i=e.range.startLineNumber===s?e.range.startColumn:1,h=e.range.endLineNumber===s?e.range.endColumn:n,c=e.options.hoverMessage;if(!c||L_(c))continue;e.options.beforeContentClassName&&(d=!0);const a=new Ms(t.range.startLineNumber,i,t.range.startLineNumber,h);o.push(new BX(this,a,M(c),d,r++))}return o}computeAsync(t,i,e){if(!this._editor.hasModel()||1!==t.type)return kc.EMPTY;const s=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(s))return kc.EMPTY;const n=new As(t.range.startLineNumber,t.range.startColumn);return IX(this._languageFeaturesService.hoverProvider,s,n,e).filter((t=>!L_(t.hover.contents))).map((i=>{const e=i.hover.range?Ms.lift(i.hover.range):t.range;return new BX(this,e,i.hover.contents,!1,i.ordinal)}))}renderHoverParts(t,i){return $X(t,i,this._editor,this._languageService,this._openerService)}};function $X(t,i,e,s,n){i.sort(((t,i)=>t.ordinal-i.ordinal));const o=new te;for(const r of i)for(const i of r.contents){if(L_(i))continue;const r=NX("div.hover-row.markdown-hover"),h=Ol(r,NX("div.hover-contents")),c=o.add(new eQ({editor:e},s,n));o.add(c.onDidRenderAsync((()=>{h.className="hover-contents code-hover-contents",t.onContentsChanged()})));const a=o.add(c.render(i));h.appendChild(a.element),t.fragment.appendChild(r)}return o}PX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([_X(1,yd),_X(2,nP),_X(3,pd),_X(4,gg)],PX);var WX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},jX=function(t,i){return function(e,s){i(e,s,t)}};class zX{constructor(t,i,e){this.marker=t,this.index=i,this.total=e}}let HX=class{constructor(t,i,e){this._markerService=i,this._configService=e,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._dispoables=new te,this._markers=[],this._nextIdx=-1,ms.isUri(t)?this._resourceFilter=i=>i.toString()===t.toString():t&&(this._resourceFilter=t);const s=this._configService.getValue("problems.sortOrder"),n=(t,i)=>{let e=so(t.resource.toString(),i.resource.toString());return 0===e&&(e="position"===s?Ms.compareRangesUsingStarts(t,i)||uP.compare(t.severity,i.severity):uP.compare(t.severity,i.severity)||Ms.compareRangesUsingStarts(t,i)),e},o=()=>{this._markers=this._markerService.read({resource:ms.isUri(t)?t:void 0,severities:uP.Error|uP.Warning|uP.Info}),"function"==typeof t&&(this._markers=this._markers.filter((t=>this._resourceFilter(t.resource)))),this._markers.sort(n)};o(),this._dispoables.add(i.onMarkerChanged((t=>{this._resourceFilter&&!t.some((t=>this._resourceFilter(t)))||(o(),this._nextIdx=-1,this._onDidChange.fire())})))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(t){return!this._resourceFilter&&!t||!(!this._resourceFilter||!t)&&this._resourceFilter(t)}get selected(){const t=this._markers[this._nextIdx];return t&&new zX(t,this._nextIdx+1,this._markers.length)}_initIdx(t,i,e){let s=!1,n=this._markers.findIndex((i=>i.resource.toString()===t.uri.toString()));n<0&&(n=d(this._markers,{resource:t.uri},((t,i)=>so(t.resource.toString(),i.resource.toString()))),n<0&&(n=~n));for(let e=n;ei.resource.toString()===t.toString()));if(!(e<0))for(;e{t.preventDefault();const i=this._relatedDiagnostics.get(t.target);i&&e(i)}))),this._scrollable=new xk(o,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),t.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll((t=>{o.style.left=`-${t.scrollLeft}px`,o.style.top=`-${t.scrollTop}px`}))),this._disposables.add(this._scrollable)}dispose(){Ji(this._disposables)}update(t){const{source:i,message:e,relatedInformation:s,code:n}=t;let o=((null==i?void 0:i.length)||0)+2;n&&(o+="string"==typeof n?n.length:n.value.length);const r=Xn(e);this._lines=r.length,this._longestLineLength=0;for(const t of r)this._longestLineLength=Math.max(t.length+o,this._longestLineLength);za(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(t)),this._editor.applyFontInfo(this._messageBlock);let h=this._messageBlock;for(const t of r)h=document.createElement("div"),h.innerText=t,""===t&&(h.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(h);if(i||n){const t=document.createElement("span");if(t.classList.add("details"),h.appendChild(t),i){const e=document.createElement("span");e.innerText=i,e.classList.add("source"),t.appendChild(e)}if(n)if("string"==typeof n){const i=document.createElement("span");i.innerText=`(${n})`,i.classList.add("code"),t.appendChild(i)}else this._codeLink=$l("a.code-link"),this._codeLink.setAttribute("href",`${n.target.toString()}`),this._codeLink.onclick=t=>{this._openerService.open(n.target,{allowCommands:!0}),t.preventDefault(),t.stopPropagation()},Ol(this._codeLink,$l("span")).innerText=n.value,t.appendChild(this._codeLink)}if(za(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),y(s)){const t=this._relatedBlock.appendChild(document.createElement("div"));t.style.paddingTop=`${Math.floor(.66*this._editor.getOption(66))}px`,this._lines+=1;for(const i of s){const e=document.createElement("div"),s=document.createElement("a");s.classList.add("filename"),s.innerText=`${this._labelService.getUriBasenameLabel(i.resource)}(${i.startLineNumber}, ${i.startColumn}): `,s.title=this._labelService.getUriLabel(i.resource),this._relatedDiagnostics.set(s,i);const n=document.createElement("span");n.innerText=i.message,e.appendChild(s),e.appendChild(n),this._lines+=1,t.appendChild(e)}}const c=this._editor.getOption(50),a=Math.ceil(c.typicalFullwidthCharacterWidth*this._longestLineLength*.75);this._scrollable.setScrollDimensions({scrollWidth:a,scrollHeight:c.lineHeight*this._lines})}layout(t,i){this._scrollable.getDomNode().style.height=`${t}px`,this._scrollable.getDomNode().style.width=`${i}px`,this._scrollable.setScrollDimensions({width:i,height:t})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(t){let i="";switch(t.severity){case uP.Error:i=rt(0,"Error");break;case uP.Warning:i=rt(0,"Warning");break;case uP.Info:i=rt(0,"Info");break;case uP.Hint:i=rt(0,"Hint")}let e=rt(0,"{0} at {1}. ",i,t.startLineNumber+":"+t.startColumn);const s=this._editor.getModel();return s&&t.startLineNumber<=s.getLineCount()&&t.startLineNumber>=1&&(e=`${s.getLineContent(t.startLineNumber)}, ${e}`),e}}let QX=KX=class extends QJ{constructor(t,i,e,s,n,o,r){super(t,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},n),this._themeService=i,this._openerService=e,this._menuService=s,this._contextKeyService=o,this._labelService=r,this._callOnDispose=new te,this._onDidSelectRelatedInformation=new fe,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=uP.Warning,this._backgroundColor=sg.white,this._applyTheme(i.getColorTheme()),this._callOnDispose.add(i.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(t){this._backgroundColor=t.getColor(r0);let i=t0,e=i0;this._severity===uP.Warning?(i=e0,e=s0):this._severity===uP.Info&&(i=n0,e=o0);const s=t.getColor(i),n=t.getColor(e);this.style({arrowColor:s,frameColor:s,headerBackgroundColor:n,primaryHeadingColor:t.getColor(YJ),secondaryHeadingColor:t.getColor(XJ)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(t){super._fillHead(t),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun((()=>this.editor.focus())));const i=[],e=this._menuService.createMenu(KX.TitleMenu,this._contextKeyService);BB(e,void 0,i),this._actionbarWidget.push(i,{label:!1,icon:!0,index:0}),e.dispose()}_fillTitleIcon(t){this._icon=Ol(t,$l(""))}_fillBody(t){this._parentContainer=t,t.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),t.appendChild(this._container),this._message=new ZX(this._container,this.editor,(t=>this._onDidSelectRelatedInformation.fire(t)),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(t,i,e){this._container.classList.remove("stale"),this._message.update(t),this._severity=t.severity,this._applyTheme(this._themeService.getColorTheme());const s=Ms.lift(t),n=this.editor.getPosition(),o=n&&s.containsPosition(n)?n:s.getStartPosition();super.show(o,this.computeRequiredHeight());const r=this.editor.getModel();if(r){const t=rt(0,e>1?"{0} of {1} problems":"{0} of {1} problem",i,e);this.setTitle(uA(r.uri),t)}this._icon.className=`codicon ${qX.className(uP.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(o,0),this.editor.focus()}updateMarker(t){this._container.classList.remove("stale"),this._message.update(t)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(t,i){super._doLayoutBody(t,i),this._heightInPixel=t,this._message.layout(t,i),this._container.style.height=`${t}px`}_onWidth(t){this._message.layout(this._heightInPixel,t)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};QX.TitleMenu=new Rh("gotoErrorTitleMenu"),QX=KX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([GX(1,qk),GX(2,nP),GX(3,Oh),GX(4,ur),GX(5,ah),GX(6,TO)],QX);const JX=ny(Zw,Qw),YX=ny(Jw,Yw),XX=ny(Xw,tv),t0=ow("editorMarkerNavigationError.background",{dark:JX,light:JX,hcDark:lw,hcLight:lw},rt(0,"Editor marker navigation widget error color.")),i0=ow("editorMarkerNavigationError.headerBackground",{dark:sy(t0,.1),light:sy(t0,.1),hcDark:null,hcLight:null},rt(0,"Editor marker navigation widget error heading background.")),e0=ow("editorMarkerNavigationWarning.background",{dark:YX,light:YX,hcDark:lw,hcLight:lw},rt(0,"Editor marker navigation widget warning color.")),s0=ow("editorMarkerNavigationWarning.headerBackground",{dark:sy(e0,.1),light:sy(e0,.1),hcDark:"#0C141F",hcLight:sy(e0,.2)},rt(0,"Editor marker navigation widget warning heading background.")),n0=ow("editorMarkerNavigationInfo.background",{dark:XX,light:XX,hcDark:lw,hcLight:lw},rt(0,"Editor marker navigation widget info color.")),o0=ow("editorMarkerNavigationInfo.headerBackground",{dark:sy(n0,.1),light:sy(n0,.1),hcDark:null,hcLight:null},rt(0,"Editor marker navigation widget info heading background.")),r0=ow("editorMarkerNavigation.background",{dark:ev,light:ev,hcDark:ev,hcLight:ev},rt(0,"Editor marker navigation widget background."));var h0,c0=function(t,i){return function(e,s){i(e,s,t)}};let a0=h0=class{static get(t){return t.getContribution(h0.ID)}constructor(t,i,e,s,n){this._markerNavigationService=i,this._contextKeyService=e,this._editorService=s,this._instantiationService=n,this._sessionDispoables=new te,this._editor=t,this._widgetVisible=f0.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(t){if(this._model&&this._model.matches(t))return this._model;let i=!1;return this._model&&(i=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(t),i&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(QX,this._editor),this._widget.onDidClose((()=>this.close()),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition((t=>{var i,e,s;(null===(i=this._model)||void 0===i?void 0:i.selected)&&Ms.containsPosition(null===(e=this._model)||void 0===e?void 0:e.selected.marker,t.position)||null===(s=this._model)||void 0===s||s.resetIndex()}))),this._sessionDispoables.add(this._model.onDidChange((()=>{if(!this._widget||!this._widget.position||!this._model)return;const t=this._model.find(this._editor.getModel().uri,this._widget.position);t?this._widget.updateMarker(t.marker):this._widget.showStale()}))),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation((t=>{this._editorService.openCodeEditor({resource:t.resource,options:{pinned:!0,revealIfOpened:!0,selection:Ms.lift(t).collapseToStart()}},this._editor),this.close(!1)}))),this._sessionDispoables.add(this._editor.onDidChangeModel((()=>this._cleanUp()))),this._model}close(t=!0){this._cleanUp(),t&&this._editor.focus()}showAtMarker(t){if(this._editor.hasModel()){const i=this._getOrCreateModel(this._editor.getModel().uri);i.resetIndex(),i.move(!0,this._editor.getModel(),new As(t.startLineNumber,t.startColumn)),i.selected&&this._widget.showAtMarker(i.selected.marker,i.selected.index,i.selected.total)}}async nagivate(t,i){var e,s;if(this._editor.hasModel()){const n=this._getOrCreateModel(i?void 0:this._editor.getModel().uri);if(n.move(t,this._editor.getModel(),this._editor.getPosition()),!n.selected)return;if(n.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const o=await this._editorService.openCodeEditor({resource:n.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:n.selected.marker}},this._editor);o&&(null===(e=h0.get(o))||void 0===e||e.close(),null===(s=h0.get(o))||void 0===s||s.nagivate(t,i))}else this._widget.showAtMarker(n.selected.marker,n.selected.index,n.selected.total)}}};a0.ID="editor.contrib.markerController",a0=h0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([c0(1,VX),c0(2,ah),c0(3,fr),c0(4,ur)],a0);class l0 extends su{constructor(t,i,e){super(e),this._next=t,this._multiFile=i}async run(t,i){var e;i.hasModel()&&(null===(e=a0.get(i))||void 0===e||e.nagivate(this._next,this._multiFile))}}class u0 extends l0{constructor(){super(!0,!1,{id:u0.ID,label:u0.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:578,weight:100},menuOpts:{menuId:QX.TitleMenu,title:u0.LABEL,icon:_z("marker-navigation-next",Os.arrowDown,rt(0,"Icon for goto next marker.")),group:"navigation",order:1}})}}u0.ID="editor.action.marker.next",u0.LABEL=rt(0,"Go to Next Problem (Error, Warning, Info)");class d0 extends l0{constructor(){super(!1,!1,{id:d0.ID,label:d0.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:1602,weight:100},menuOpts:{menuId:QX.TitleMenu,title:d0.LABEL,icon:_z("marker-navigation-previous",Os.arrowUp,rt(0,"Icon for goto previous marker.")),group:"navigation",order:2}})}}d0.ID="editor.action.marker.prev",d0.LABEL=rt(0,"Go to Previous Problem (Error, Warning, Info)"),lu(a0.ID,a0,4),cu(u0),cu(d0),cu(class extends l0{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:rt(0,"Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:66,weight:100},menuOpts:{menuId:Rh.MenubarGoMenu,title:rt(0,"Next &&Problem"),group:"6_problem_nav",order:1}})}}),cu(class extends l0{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:rt(0,"Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:1090,weight:100},menuOpts:{menuId:Rh.MenubarGoMenu,title:rt(0,"Previous &&Problem"),group:"6_problem_nav",order:2}})}});const f0=new ch("markersNavigationVisible",!1);hu(new(eu.bindToContribution(a0.get))({id:"closeMarkersNavigation",precondition:f0,handler:t=>t.close(),kbOpts:{weight:150,kbExpr:UC.focus,primary:9,secondary:[1033]}}));var p0=function(t,i){return function(e,s){i(e,s,t)}};const g0=$l;class m0{constructor(t,i,e){this.owner=t,this.range=i,this.marker=e}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}const w0={type:1,filter:{include:MZ.QuickFix},triggerAction:LZ.QuickFixHover};let v0=class{constructor(t,i,e,s){this._editor=t,this._markerDecorationsService=i,this._openerService=e,this._languageFeaturesService=s,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type&&!t.supportsMarkerHover)return[];const e=this._editor.getModel(),s=t.range.startLineNumber,n=e.getLineMaxColumn(s),o=[];for(const r of i){const i=r.range.startLineNumber===s?r.range.startColumn:1,h=r.range.endLineNumber===s?r.range.endColumn:n,c=this._markerDecorationsService.getMarker(e.uri,r);if(!c)continue;const a=new Ms(t.range.startLineNumber,i,t.range.startLineNumber,h);o.push(new m0(this,a,c))}return o}renderHoverParts(t,i){if(!i.length)return ie.None;const e=new te;i.forEach((i=>t.fragment.appendChild(this.renderMarkerHover(i,e))));const s=1===i.length?i[0]:i.sort(((t,i)=>uP.compare(t.marker.severity,i.marker.severity)))[0];return this.renderMarkerStatusbar(t,s,e),e}renderMarkerHover(t,i){const e=g0("div.hover-row"),s=Ol(e,g0("div.marker.hover-contents")),{source:n,message:o,code:r,relatedInformation:h}=t.marker;this._editor.applyFontInfo(s);const c=Ol(s,g0("span"));if(c.style.whiteSpace="pre-wrap",c.innerText=o,n||r)if(r&&"string"!=typeof r){const t=g0("span");n&&(Ol(t,g0("span")).innerText=n);const e=Ol(t,g0("a.code-link"));e.setAttribute("href",r.target.toString()),i.add(Va(e,"click",(t=>{this._openerService.open(r.target,{allowCommands:!0}),t.preventDefault(),t.stopPropagation()}))),Ol(e,g0("span")).innerText=r.value;const o=Ol(s,t);o.style.opacity="0.6",o.style.paddingLeft="6px"}else{const t=Ol(s,g0("span"));t.style.opacity="0.6",t.style.paddingLeft="6px",t.innerText=n&&r?`${n}(${r})`:n||`(${r})`}if(y(h))for(const{message:t,resource:e,startLineNumber:n,startColumn:o}of h){const r=Ol(s,g0("div"));r.style.marginTop="8px";const h=Ol(r,g0("a"));h.innerText=`${uA(e)}(${n}, ${o}): `,h.style.cursor="pointer",i.add(Va(h,"click",(t=>{t.stopPropagation(),t.preventDefault(),this._openerService&&this._openerService.open(e,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:n,startColumn:o}}}).catch(Pi)})));const c=Ol(r,g0("span"));c.innerText=t,this._editor.applyFontInfo(c)}return e}renderMarkerStatusbar(t,i,e){if(i.marker.severity!==uP.Error&&i.marker.severity!==uP.Warning&&i.marker.severity!==uP.Info||t.statusBar.addAction({label:rt(0,"View Problem"),commandId:u0.ID,run:()=>{var e;t.hide(),null===(e=a0.get(this._editor))||void 0===e||e.showAtMarker(i.marker),this._editor.focus()}}),!this._editor.getOption(90)){const s=t.statusBar.append(g0("div"));this.recentMarkerCodeActionsInfo&&(dP.makeKey(this.recentMarkerCodeActionsInfo.marker)===dP.makeKey(i.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(s.textContent=rt(0,"No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const n=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?ie.None:e.add(lc((()=>s.textContent=rt(0,"Checking for quick fixes...")),200));s.textContent||(s.textContent=String.fromCharCode(160));const o=this.getCodeActions(i.marker);e.add(Xi((()=>o.cancel()))),o.then((o=>{if(n.dispose(),this.recentMarkerCodeActionsInfo={marker:i.marker,hasCodeActions:o.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions)return o.dispose(),void(s.textContent=rt(0,"No quick fixes available"));s.style.display="none";let r=!1;e.add(Xi((()=>{r||o.dispose()}))),t.statusBar.addAction({label:rt(0,"Quick Fix..."),commandId:IZ,run:i=>{r=!0;const e=RQ.get(this._editor),s=nl(i);t.hide(),null==e||e.showCodeActions(w0,o,{x:s.left,y:s.top,width:s.width,height:s.height})}})}),Pi)}}getCodeActions(t){return nc((i=>zZ(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new Ms(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn),w0,OO.None,i)))}};v0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([p0(1,Im),p0(2,nP),p0(3,gg)],v0);const b0="editor.action.inlineSuggest.commit",y0="editor.action.inlineSuggest.showPrevious",k0="editor.action.inlineSuggest.showNext";var x0,C0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},S0=function(t,i){return function(e,s){i(e,s,t)}};let D0=class extends ie{constructor(t,i,e){super(),this.editor=t,this.model=i,this.instantiationService=e,this.alwaysShowToolbar=$V(this.editor.onDidChangeConfiguration,(()=>"always"===this.editor.getOption(62).showToolbar)),this.sessionPosition=void 0,this.position=AV(this,(t=>{var i,e,s;const n=null===(i=this.model.read(t))||void 0===i?void 0:i.ghostText.read(t);if(!this.alwaysShowToolbar.read(t)||!n||0===n.parts.length)return this.sessionPosition=void 0,null;const o=n.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==n.lineNumber&&(this.sessionPosition=void 0);const r=new As(n.lineNumber,Math.min(o,null!==(s=null===(e=this.sessionPosition)||void 0===e?void 0:e.column)&&void 0!==s?s:Number.MAX_SAFE_INTEGER));return this.sessionPosition=r,r})),this._register(_V(((i,e)=>{const s=this.model.read(i);if(!s||!this.alwaysShowToolbar.read(i))return;const n=e.add(this.instantiationService.createInstance(M0,this.editor,!0,this.position,s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.selectedInlineCompletion.map((t=>{var i;return null!==(i=null==t?void 0:t.inlineCompletion.source.inlineCompletions.commands)&&void 0!==i?i:[]}))));t.addContentWidget(n),e.add(Xi((()=>t.removeContentWidget(n)))),e.add(RV((t=>{this.position.read(t)&&s.lastTriggerKind.read(t)!==$s.Explicit&&s.triggerExplicitly()})))})))}};D0=C0([S0(2,ur)],D0);const E0=_z("inline-suggestion-hints-next",Os.chevronRight,rt(0,"Icon for show next parameter hint.")),A0=_z("inline-suggestion-hints-previous",Os.chevronLeft,rt(0,"Icon for show previous parameter hint."));let M0=x0=class extends ie{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(t,i,e){const s=new mr(t,i,e,!0,(()=>this._commandService.executeCommand(t))),n=this.keybindingService.lookupKeybinding(t,this._contextKeyService);let o=i;return n&&(o=rt(0,"{0} ({1})",i,n.getLabel())),s.tooltip=o,s}constructor(t,i,e,s,n,o,r,h,c,a,l){super(),this.editor=t,this.withBorder=i,this._position=e,this._currentSuggestionIdx=s,this._suggestionCount=n,this._extraCommands=o,this._commandService=r,this.keybindingService=c,this._contextKeyService=a,this._menuService=l,this.id="InlineSuggestionHintsContentWidget"+x0.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Jl("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Jl("div@toolBar")]),this.previousAction=this.createCommandAction(y0,rt(0,"Previous"),Cr.asClassName(A0)),this.availableSuggestionCountAction=new mr("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(k0,rt(0,"Next"),Cr.asClassName(E0)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Rh.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new pc((()=>{this.availableSuggestionCountAction.label=""}),100)),this.disableButtonsDebounced=this._register(new pc((()=>{this.previousAction.enabled=this.nextAction.enabled=!1}),100)),this.lastCommands=[],this.toolBar=this._register(h.createInstance(T0,this.nodes.toolBar,Rh.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:t=>t.startsWith("primary")},actionViewItemProvider:t=>{if(t instanceof Bh)return h.createInstance(F0,t,void 0);if(t===this.availableSuggestionCountAction){const i=new L0(void 0,t,{label:!0,icon:!1});return i.setClass("availableSuggestionCount"),i}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility((t=>{x0._dropDownVisible=t}))),this._register(RV((t=>{this._position.read(t),this.editor.layoutContentWidget(this)}))),this._register(RV((t=>{const i=this._suggestionCount.read(t),e=this._currentSuggestionIdx.read(t);void 0!==i?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${e+1}/${i}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),void 0!==i&&i>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()}))),this._register(RV((t=>{const i=this._extraCommands.read(t);if(u(this.lastCommands,i))return;this.lastCommands=i;const e=i.map((t=>({class:void 0,id:t.id,enabled:!0,tooltip:t.tooltip||"",label:t.title,run:()=>this._commandService.executeCommand(t.id)})));for(const[t,i]of this.inlineCompletionsActionsMenus.getActions())for(const t of i)t instanceof Bh&&e.push(t);e.length>0&&e.unshift(new vr),this.toolBar.setAdditionalSecondaryActions(e)})))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};M0._dropDownVisible=!1,M0.id=0,M0=x0=C0([S0(6,Sr),S0(7,ur),S0(8,Yx),S0(9,ah),S0(10,Oh)],M0);class L0 extends aB{constructor(){super(...arguments),this._className=void 0}setClass(t){this._className=t}render(t){super.render(t),this._className&&t.classList.add(this._className)}}class F0 extends $B{updateLabel(){const t=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!t)return super.updateLabel();if(this.label){const i=Jl("div.keybinding").root;new Uj(i,_t,{disableTitle:!0,...Vj}).set(t),this.label.textContent=this._action.label,this.label.appendChild(i),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}}let T0=class extends Wq{constructor(t,i,e,s,n,o,r,h){super(t,{resetMenu:i,...e},s,n,o,r,h),this.menuId=i,this.options2=e,this.menuService=s,this.contextKeyService=n,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange((()=>this.updateToolbar()))),this.updateToolbar()}updateToolbar(){var t,i,e,s,n,o,r;const h=[],c=[];BB(this.menu,null===(t=this.options2)||void 0===t?void 0:t.menuOptions,{primary:h,secondary:c},null===(e=null===(i=this.options2)||void 0===i?void 0:i.toolbarOptions)||void 0===e?void 0:e.primaryGroup,null===(n=null===(s=this.options2)||void 0===s?void 0:s.toolbarOptions)||void 0===n?void 0:n.shouldInlineSubmenu,null===(r=null===(o=this.options2)||void 0===o?void 0:o.toolbarOptions)||void 0===r?void 0:r.useSeparatorsInPrimaryActions),c.push(...this.additionalActions),h.unshift(...this.prependedPrimaryActions),this.setActions(h,c)}setPrependedPrimaryActions(t){u(this.prependedPrimaryActions,t,((t,i)=>t===i))||(this.prependedPrimaryActions=t,this.updateToolbar())}setAdditionalSecondaryActions(t){u(this.additionalActions,t,((t,i)=>t===i))||(this.additionalActions=t,this.updateToolbar())}};T0=C0([S0(3,Oh),S0(4,ah),S0(5,eI),S0(6,Yx),S0(7,Wh)],T0);var R0,O0=function(t,i){return function(e,s){i(e,s,t)}};let I0=R0=class extends ie{static get(t){return t.getContribution(R0.ID)}constructor(t,i,e,s,n){super(),this._editor=t,this._instantiationService=i,this._openerService=e,this._languageService=s,this._keybindingService=n,this._toUnhook=new te,this._hoverActivatedByColorDecoratorClick=!1,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._reactToEditorMouseMoveRunner=this._register(new pc((()=>this._reactToEditorMouseMove(this._mouseMoveEvent)),0)),this._hookEvents(),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(60)&&(this._unhookEvents(),this._hookEvents())})))}_hookEvents(){const t=this._editor.getOption(60);this._isHoverEnabled=t.enabled,this._isHoverSticky=t.sticky,this._hidingDelay=t.hidingDelay,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown((t=>this._onEditorMouseDown(t)))),this._toUnhook.add(this._editor.onMouseUp((t=>this._onEditorMouseUp(t)))),this._toUnhook.add(this._editor.onMouseMove((t=>this._onEditorMouseMove(t)))),this._toUnhook.add(this._editor.onKeyDown((t=>this._onKeyDown(t))))):(this._toUnhook.add(this._editor.onMouseMove((t=>this._onEditorMouseMove(t)))),this._toUnhook.add(this._editor.onKeyDown((t=>this._onKeyDown(t))))),this._toUnhook.add(this._editor.onMouseLeave((t=>this._onEditorMouseLeave(t)))),this._toUnhook.add(this._editor.onDidChangeModel((()=>{this._cancelScheduler(),this._hideWidgets()}))),this._toUnhook.add(this._editor.onDidChangeModelContent((()=>this._cancelScheduler()))),this._toUnhook.add(this._editor.onDidScrollChange((t=>this._onEditorScrollChanged(t))))}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_unhookEvents(){this._toUnhook.clear()}_onEditorScrollChanged(t){(t.scrollTopChanged||t.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(t){var i;this._isMouseDown=!0;const e=t.target;9!==e.type||e.detail!==EX.ID?12===e.type&&e.detail===TX.ID||(12!==e.type&&(this._hoverClicked=!1),(null===(i=this._contentWidget)||void 0===i?void 0:i.widget.isResizing)||this._hideWidgets()):this._hoverClicked=!0}_onEditorMouseUp(t){this._isMouseDown=!1}_onEditorMouseLeave(t){var i,e;this._cancelScheduler(),(null===(i=this._contentWidget)||void 0===i?void 0:i.widget.isResizing)||(null===(e=this._contentWidget)||void 0===e?void 0:e.containsNode(t.event.browserEvent.relatedTarget))||this._hideWidgets()}_isMouseOverWidget(t){var i,e,s,n,o;const r=t.target;return!((!this._isHoverSticky||9!==r.type||r.detail!==EX.ID)&&(!this._isHoverSticky||!(null===(i=this._contentWidget)||void 0===i?void 0:i.containsNode(null===(e=t.event.browserEvent.view)||void 0===e?void 0:e.document.activeElement))||(null===(n=null===(s=t.event.browserEvent.view)||void 0===s?void 0:s.getSelection())||void 0===n?void 0:n.isCollapsed))&&(this._isHoverSticky||9!==r.type||r.detail!==EX.ID||!(null===(o=this._contentWidget)||void 0===o?void 0:o.isColorPickerVisible))&&(!this._isHoverSticky||12!==r.type||r.detail!==TX.ID))}_onEditorMouseMove(t){var i,e,s,n;this._mouseMoveEvent=t,(null===(i=this._contentWidget)||void 0===i?void 0:i.isFocused)||(null===(e=this._contentWidget)||void 0===e?void 0:e.isResizing)||this._isMouseDown&&this._hoverClicked||this._isHoverSticky&&(null===(s=this._contentWidget)||void 0===s?void 0:s.isVisibleFromKeyboard)||(this._isMouseOverWidget(t)?this._reactToEditorMouseMoveRunner.cancel():(null===(n=this._contentWidget)||void 0===n?void 0:n.isVisible)&&this._isHoverSticky&&this._hidingDelay>0?this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(this._hidingDelay):this._reactToEditorMouseMove(t))}_reactToEditorMouseMove(t){var i,e,s;if(!t)return;const n=t.target,o=null===(i=n.element)||void 0===i?void 0:i.classList.contains("colorpicker-color-decoration"),r=this._editor.getOption(146);if((!o||("click"!==r||this._hoverActivatedByColorDecoratorClick)&&("hover"!==r||this._isHoverEnabled)&&("clickAndHover"!==r||this._isHoverEnabled||this._hoverActivatedByColorDecoratorClick))&&(o||this._isHoverEnabled||this._hoverActivatedByColorDecoratorClick))return this._getOrCreateContentWidget().maybeShowAt(t)?void(null===(e=this._glyphWidget)||void 0===e||e.hide()):2===n.type&&n.position?(null===(s=this._contentWidget)||void 0===s||s.hide(),this._glyphWidget||(this._glyphWidget=new TX(this._editor,this._languageService,this._openerService)),void this._glyphWidget.startShowingAt(n.position.lineNumber)):void this._hideWidgets();this._hideWidgets()}_onKeyDown(t){var i;if(!this._editor.hasModel())return;const e=this._keybindingService.softDispatch(t,this._editor.getDomNode()),s=1===e.kind||2===e.kind&&"editor.action.showHover"===e.commandId&&(null===(i=this._contentWidget)||void 0===i?void 0:i.isVisible);5===t.keyCode||6===t.keyCode||57===t.keyCode||4===t.keyCode||s||this._hideWidgets()}_hideWidgets(){var t,i,e;this._isMouseDown&&this._hoverClicked&&(null===(t=this._contentWidget)||void 0===t?void 0:t.isColorPickerVisible)||M0.dropDownVisible||(this._hoverActivatedByColorDecoratorClick=!1,this._hoverClicked=!1,null===(i=this._glyphWidget)||void 0===i||i.hide(),null===(e=this._contentWidget)||void 0===e||e.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(xX,this._editor)),this._contentWidget}showContentHover(t,i,e,s,n=!1){this._hoverActivatedByColorDecoratorClick=n,this._getOrCreateContentWidget().startShowingAtRange(t,i,e,s)}focus(){var t;null===(t=this._contentWidget)||void 0===t||t.focus()}scrollUp(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollUp()}scrollDown(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollDown()}scrollLeft(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollLeft()}scrollRight(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollRight()}pageUp(){var t;null===(t=this._contentWidget)||void 0===t||t.pageUp()}pageDown(){var t;null===(t=this._contentWidget)||void 0===t||t.pageDown()}goToTop(){var t;null===(t=this._contentWidget)||void 0===t||t.goToTop()}goToBottom(){var t;null===(t=this._contentWidget)||void 0===t||t.goToBottom()}get isColorPickerVisible(){var t;return null===(t=this._contentWidget)||void 0===t?void 0:t.isColorPickerVisible}get isHoverVisible(){var t;return null===(t=this._contentWidget)||void 0===t?void 0:t.isVisible}dispose(){var t,i;super.dispose(),this._unhookEvents(),this._toUnhook.dispose(),null===(t=this._glyphWidget)||void 0===t||t.dispose(),null===(i=this._contentWidget)||void 0===i||i.dispose()}};var _0;I0.ID="editor.contrib.hover",I0=R0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([O0(1,ur),O0(2,nP),O0(3,yd),O0(4,Yx)],I0),function(t){t.NoAutoFocus="noAutoFocus",t.FocusIfVisible="focusIfVisible",t.AutoFocusImmediately="autoFocusImmediately"}(_0||(_0={})),lu(I0.ID,I0,2),cu(class extends su{constructor(){super({id:"editor.action.showHover",label:rt(0,"Show or Focus Hover"),metadata:{description:"Show or Focus Hover",args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[_0.NoAutoFocus,_0.FocusIfVisible,_0.AutoFocusImmediately],enumDescriptions:[rt(0,"The hover will not automatically take focus."),rt(0,"The hover will take focus only if it is already visible."),rt(0,"The hover will automatically take focus when it appears.")],default:_0.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2087),weight:100}})}run(t,i,e){if(!i.hasModel())return;const s=I0.get(i);if(!s)return;const n=null==e?void 0:e.focus;let o=_0.FocusIfVisible;n in _0?o=n:"boolean"==typeof n&&n&&(o=_0.AutoFocusImmediately);const r=t=>{const e=i.getPosition(),n=new Ms(e.lineNumber,e.column,e.lineNumber,e.column);s.showContentHover(n,1,1,t)},h=2===i.getOption(2);s.isHoverVisible?o!==_0.NoAutoFocus?s.focus():r(h):r(h||o===_0.AutoFocusImmediately)}}),cu(class extends su{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:rt(0,"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(t,i){const e=I0.get(i);if(!e)return;const s=i.getPosition();if(!s)return;const n=new Ms(s.lineNumber,s.column,s.lineNumber,s.column),o=rX.get(i);o&&o.startFindDefinitionFromCursor(s).then((()=>{e.showContentHover(n,1,1,!0)}))}}),cu(class extends su{constructor(){super({id:"editor.action.scrollUpHover",label:rt(0,"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:16,weight:100}})}run(t,i){const e=I0.get(i);e&&e.scrollUp()}}),cu(class extends su{constructor(){super({id:"editor.action.scrollDownHover",label:rt(0,"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:18,weight:100}})}run(t,i){const e=I0.get(i);e&&e.scrollDown()}}),cu(class extends su{constructor(){super({id:"editor.action.scrollLeftHover",label:rt(0,"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:15,weight:100}})}run(t,i){const e=I0.get(i);e&&e.scrollLeft()}}),cu(class extends su{constructor(){super({id:"editor.action.scrollRightHover",label:rt(0,"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:17,weight:100}})}run(t,i){const e=I0.get(i);e&&e.scrollRight()}}),cu(class extends su{constructor(){super({id:"editor.action.pageUpHover",label:rt(0,"Page Up Hover"),alias:"Page Up Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:11,secondary:[528],weight:100}})}run(t,i){const e=I0.get(i);e&&e.pageUp()}}),cu(class extends su{constructor(){super({id:"editor.action.pageDownHover",label:rt(0,"Page Down Hover"),alias:"Page Down Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:12,secondary:[530],weight:100}})}run(t,i){const e=I0.get(i);e&&e.pageDown()}}),cu(class extends su{constructor(){super({id:"editor.action.goToTopHover",label:rt(0,"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:14,secondary:[2064],weight:100}})}run(t,i){const e=I0.get(i);e&&e.goToTop()}}),cu(class extends su{constructor(){super({id:"editor.action.goToBottomHover",label:rt(0,"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:13,secondary:[2066],weight:100}})}run(t,i){const e=I0.get(i);e&&e.goToBottom()}}),pX.register(PX),pX.register(v0),Jk(((t,i)=>{const e=t.getColor(Mv);e&&(i.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${e.transparent(.5)}; }`),i.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${e.transparent(.5)}; }`),i.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${e.transparent(.5)}; }`))}));class N0 extends ie{constructor(t){super(),this._editor=t,this._register(t.onMouseDown((t=>this.onMouseDown(t))))}dispose(){super.dispose()}onMouseDown(t){const i=this._editor.getOption(146);if("click"!==i&&"clickAndHover"!==i)return;const e=t.target;if(6!==e.type)return;if(!e.detail.injectedText)return;if(e.detail.injectedText.options.attachedData!==rJ)return;if(!e.range)return;const s=this._editor.getContribution(I0.ID);if(s&&!s.isColorPickerVisible){const t=new Ms(e.range.startLineNumber,e.range.startColumn+1,e.range.endLineNumber,e.range.endColumn+1);s.showContentHover(t,1,0,!1,!0)}}}N0.ID="editor.contrib.colorContribution",lu(N0.ID,N0,2),pX.register(CJ);var B0,P0,$0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},W0=function(t,i){return function(e,s){i(e,s,t)}};let j0=B0=class extends ie{constructor(t,i,e,s,n,o,r){super(),this._editor=t,this._modelService=e,this._keybindingService=s,this._instantiationService=n,this._languageFeatureService=o,this._languageConfigurationService=r,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=UC.standaloneColorPickerVisible.bindTo(i),this._standaloneColorPickerFocused=UC.standaloneColorPickerFocused.bindTo(i)}showOrFocus(){var t;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||null===(t=this._standaloneColorPickerWidget)||void 0===t||t.focus():this._standaloneColorPickerWidget=new z0(this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused,this._instantiationService,this._modelService,this._keybindingService,this._languageFeatureService,this._languageConfigurationService))}hide(){var t;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),null===(t=this._standaloneColorPickerWidget)||void 0===t||t.hide(),this._editor.focus()}insertColor(){var t;null===(t=this._standaloneColorPickerWidget)||void 0===t||t.updateEditor(),this.hide()}static get(t){return t.getContribution(B0.ID)}};j0.ID="editor.contrib.standaloneColorPickerController",j0=B0=$0([W0(1,ah),W0(2,pr),W0(3,Yx),W0(4,ur),W0(5,gg),W0(6,qd)],j0),lu(j0.ID,j0,1);let z0=P0=class extends ie{constructor(t,i,e,s,n,o,r,h){var c;super(),this._editor=t,this._standaloneColorPickerVisible=i,this._standaloneColorPickerFocused=e,this._modelService=n,this._keybindingService=o,this._languageFeaturesService=r,this._languageConfigurationService=h,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new fe),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=s.createInstance(DJ,this._editor),this._position=null===(c=this._editor._getViewModel())||void 0===c?void 0:c.getPrimaryCursorState().modelState.position;const a=this._editor.getSelection(),l=a?{startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},u=this._register(Rl(this._body));this._register(u.onDidBlur((()=>{this.hide()}))),this._register(u.onDidFocus((()=>{this.focus()}))),this._register(this._editor.onDidChangeCursorPosition((()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()}))),this._register(this._editor.onMouseMove((t=>{var i;const e=null===(i=t.target.element)||void 0===i?void 0:i.classList;e&&e.contains("colorpicker-color-decoration")&&this.hide()}))),this._register(this.onResult((t=>{this._render(t.value,t.foundInEditor)}))),this._start(l),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return P0.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const t=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:t?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(t){const i=await this._computeAsync(t);i&&this._onResult.fire(new H0(i.result,i.foundInEditor))}async _computeAsync(t){if(!this._editor.hasModel())return null;const i={range:t,color:{red:0,green:0,blue:0,alpha:1}},e=await this._standaloneColorPickerParticipant.createColorHover(i,new ZQ(this._modelService,this._languageConfigurationService),this._languageFeaturesService.colorProvider);return e?{result:e.colorHover,foundInEditor:e.foundInEditor}:null}_render(t,i){const e=document.createDocumentFragment();let s;const n={fragment:e,statusBar:this._register(new AX(this._keybindingService)),setColorPicker:t=>s=t,onContentsChanged:()=>{},hide:()=>this.hide()};if(this._colorHover=t,this._register(this._standaloneColorPickerParticipant.renderHoverParts(n,[t])),void 0===s)return;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(.66*this._editor.getLayoutInfo().width,500)+"px",this._body.tabIndex=0,this._body.appendChild(e),s.layout();const o=s.body,r=o.saturationBox.domNode.clientWidth,h=o.domNode.clientWidth-r-22-8,c=s.body.enterButton;null==c||c.onClicked((()=>{this.updateEditor(),this.hide()}));const a=s.header;a.pickedColorNode.style.width=r+8+"px",a.originalColorNode.style.width=h+"px";const l=s.header.closeButton;null==l||l.onClicked((()=>{this.hide()})),i&&(c&&(c.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(t.range)),this._editor.layoutContentWidget(this)}};z0.ID="editor.contrib.standaloneColorPickerWidget",z0=P0=$0([W0(3,ur),W0(4,pr),W0(5,Yx),W0(6,gg),W0(7,qd)],z0);class H0{constructor(t,i){this.value=t,this.foundInEditor=i}}cu(class extends su{constructor(){super({id:"editor.action.hideColorPicker",label:rt(0,"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:UC.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100}})}run(t,i){var e;null===(e=j0.get(i))||void 0===e||e.hide()}}),cu(class extends su{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:rt(0,"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:UC.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100}})}run(t,i){var e;null===(e=j0.get(i))||void 0===e||e.insertColor()}}),$h(class extends ou{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{value:rt(0,"Show or Focus Standalone Color Picker"),mnemonicTitle:rt(0,"&&Show or Focus Standalone Color Picker"),original:"Show or Focus Standalone Color Picker"},precondition:void 0,menu:[{id:Rh.CommandPalette}]})}runEditorCommand(t,i){var e;null===(e=j0.get(i))||void 0===e||e.showOrFocus()}});class V0{constructor(t,i,e){this.languageConfigurationService=e,this._selection=t,this._insertSpace=i,this._usedEndToken=null}static _haystackHasNeedleAtOffset(t,i,e){if(e<0)return!1;const s=i.length;if(e+s>t.length)return!1;for(let n=0;n=65&&s<=90&&s+32===o||o>=65&&o<=90&&o+32===s))return!1}return!0}_createOperationsForBlockComment(t,i,e,s,n,o){const r=t.startLineNumber,h=t.startColumn,c=t.endLineNumber,a=t.endColumn,l=n.getLineContent(r),u=n.getLineContent(c);let d,f=l.lastIndexOf(i,h-1+i.length),p=u.indexOf(e,a-1-e.length);if(-1!==f&&-1!==p)if(r===c)l.substring(f+i.length,p).indexOf(e)>=0&&(f=-1,p=-1);else{const t=l.substring(f+i.length),s=u.substring(0,p);(t.indexOf(e)>=0||s.indexOf(e)>=0)&&(f=-1,p=-1)}-1!==f&&-1!==p?(s&&f+i.length0&&32===u.charCodeAt(p-1)&&(e=" "+e,p-=1),d=V0._createRemoveBlockCommentOperations(new Ms(r,f+i.length+1,c,p+1),i,e)):(d=V0._createAddBlockCommentOperations(t,i,e,this._insertSpace),this._usedEndToken=1===d.length?e:null);for(const t of d)o.addTrackedEditOperation(t.range,t.text)}static _createRemoveBlockCommentOperations(t,i,e){const s=[];return Ms.isEmpty(t)?s.push(rO.delete(new Ms(t.startLineNumber,t.startColumn-i.length,t.endLineNumber,t.endColumn+e.length))):(s.push(rO.delete(new Ms(t.startLineNumber,t.startColumn-i.length,t.startLineNumber,t.startColumn))),s.push(rO.delete(new Ms(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn+e.length)))),s}static _createAddBlockCommentOperations(t,i,e,s){const n=[];return Ms.isEmpty(t)?n.push(rO.replace(new Ms(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn),i+" "+e)):(n.push(rO.insert(new As(t.startLineNumber,t.startColumn),i+(s?" ":""))),n.push(rO.insert(new As(t.endLineNumber,t.endColumn),(s?" ":"")+e))),n}getEditOperations(t,i){const e=this._selection.startLineNumber,s=this._selection.startColumn;t.tokenization.tokenizeIfCheap(e);const n=t.getLanguageIdAtPosition(e,s),o=this.languageConfigurationService.getLanguageConfiguration(n).comments;o&&o.blockCommentStartToken&&o.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,o.blockCommentStartToken,o.blockCommentEndToken,this._insertSpace,t,i)}computeCursorState(t,i){const e=i.getInverseEditOperations();if(2===e.length){const t=e[0],i=e[1];return new Ls(t.range.endLineNumber,t.range.endColumn,i.range.startLineNumber,i.range.startColumn)}{const t=e[0].range,i=this._usedEndToken?-this._usedEndToken.length-1:0;return new Ls(t.endLineNumber,t.endColumn+i,t.endLineNumber,t.endColumn+i)}}}class U0{constructor(t,i,e,s,n,o,r){this.languageConfigurationService=t,this._selection=i,this._tabSize=e,this._type=s,this._insertSpace=n,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=o,this._ignoreFirstLine=r||!1}static _gatherPreflightCommentStrings(t,i,e,s){t.tokenization.tokenizeIfCheap(i);const n=t.getLanguageIdAtPosition(i,1),o=s.getLanguageConfiguration(n).comments,r=o?o.lineCommentToken:null;if(!r)return null;const h=[];for(let t=0,s=e-i+1;tr?n-1:n}}}class q0 extends su{constructor(t,i){super(i),this._type=t}run(t,i){const e=t.get(qd);if(!i.hasModel())return;const s=[],n=i.getModel().getOptions(),o=i.getOption(23),r=i.getSelections().map(((t,i)=>({selection:t,index:i,ignoreFirstLine:!1})));r.sort(((t,i)=>Ms.compareRangesUsingStarts(t.selection,i.selection)));let h=r[0];for(let t=1;tthis._onContextMenu(t)))),this._toDispose.add(this._editor.onMouseWheel((t=>{if(this._contextMenuIsBeingShownCount>0){const i=this._contextViewService.getContextViewElement(),e=t.srcElement;e.shadowRoot&&fl(i)===e.shadowRoot||this._contextViewService.hideContextView()}}))),this._toDispose.add(this._editor.onKeyDown((t=>{this._editor.getOption(24)&&58===t.keyCode&&(t.preventDefault(),t.stopPropagation(),this.showContextMenu())})))}_onContextMenu(t){if(!this._editor.hasModel())return;if(!this._editor.getOption(24))return this._editor.focus(),void(t.target.position&&!this._editor.getSelection().containsPosition(t.target.position)&&this._editor.setPosition(t.target.position));if(12===t.target.type)return;if(6===t.target.type&&t.target.detail.injectedText)return;if(t.event.preventDefault(),t.event.stopPropagation(),11===t.target.type)return this._showScrollbarContextMenu(t.event);if(6!==t.target.type&&7!==t.target.type&&1!==t.target.type)return;if(this._editor.focus(),t.target.position){let i=!1;for(const e of this._editor.getSelections())if(e.containsPosition(t.target.position)){i=!0;break}i||this._editor.setPosition(t.target.position)}let i=null;1!==t.target.type&&(i=t.event),this.showContextMenu(i)}showContextMenu(t){if(!this._editor.getOption(24))return;if(!this._editor.hasModel())return;const i=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?Rh.SimpleEditorContext:Rh.EditorContext);i.length>0&&this._doShowContextMenu(i,t)}_getMenuActions(t,i){const e=[],s=this._menuService.createMenu(i,this._contextKeyService),n=s.getActions({arg:t.uri});s.dispose();for(const i of n){const[,s]=i;let n=0;for(const i of s)if(i instanceof Nh){const s=this._getMenuActions(t,i.item.submenu);s.length>0&&(e.push(new br(i.id,i.label,s)),n++)}else e.push(i),n++;n&&e.push(new vr)}return e.length&&e.pop(),e}_doShowContextMenu(t,i=null){if(!this._editor.hasModel())return;const e=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let s=i;if(!s){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),i=nl(this._editor.getDomNode());s={x:i.left+t.left,y:i.top+t.top+t.height}}const n=this._editor.getOption(126)&&!Lt;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:n?this._editor.getDomNode():void 0,getAnchor:()=>s,getActions:()=>t,getActionViewItem:t=>{const i=this._keybindingFor(t);return i?new aB(t,t,{label:!0,keybinding:i.getLabel(),isMenu:!0}):"function"==typeof t.getActionViewItem?t.getActionViewItem():new aB(t,t,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:t=>this._keybindingFor(t),onHide:()=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:e})}})}_showScrollbarContextMenu(t){if(!this._editor.hasModel())return;if(this._workspaceContextService.getWorkspace().id===UO)return;const i=this._editor.getOption(72);let e=0;const s=t=>({id:"menu-action-"+ ++e,label:t.label,tooltip:"",class:void 0,enabled:void 0===t.enabled||t.enabled,checked:t.checked,run:t.run}),n=(t,i,n,o,r)=>{if(!i)return s({label:t,enabled:i,run:()=>{}});const h=t=>()=>{this._configurationService.updateValue(n,t)},c=[];for(const t of r)c.push(s({label:t.label,checked:o===t.value,run:h(t.value)}));return((t,i)=>new br("menu-action-"+ ++e,t,i,void 0))(t,c)},o=[];o.push(s({label:rt(0,"Minimap"),checked:i.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!i.enabled)}})),o.push(new vr),o.push(s({label:rt(0,"Render Characters"),enabled:i.enabled,checked:i.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!i.renderCharacters)}})),o.push(n(rt(0,"Vertical size"),i.enabled,"editor.minimap.size",i.size,[{label:rt(0,"Proportional"),value:"proportional"},{label:rt(0,"Fill"),value:"fill"},{label:rt(0,"Fit"),value:"fit"}])),o.push(n(rt(0,"Slider"),i.enabled,"editor.minimap.showSlider",i.showSlider,[{label:rt(0,"Mouse Over"),value:"mouseover"},{label:rt(0,"Always"),value:"always"}]));const r=this._editor.getOption(126)&&!Lt;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:r?this._editor.getDomNode():void 0,getAnchor:()=>t,getActions:()=>o,onHide:()=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(t){return this._keybindingService.lookupKeybinding(t.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};Z0.ID="editor.contrib.contextmenu",Z0=K0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([G0(1,eI),G0(2,iI),G0(3,ah),G0(4,Yx),G0(5,Oh),G0(6,pd),G0(7,jO)],Z0),lu(Z0.ID,Z0,2),cu(class extends su{constructor(){super({id:"editor.action.showContextMenu",label:rt(0,"Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:UC.textInputFocus,primary:1092,weight:100}})}run(t,i){var e;null===(e=Z0.get(i))||void 0===e||e.showContextMenu()}});class Q0{constructor(t){this.selections=t}equals(t){const i=this.selections.length;if(i!==t.selections.length)return!1;for(let e=0;e{this._undoStack=[],this._redoStack=[]}))),this._register(t.onDidChangeModelContent((()=>{this._undoStack=[],this._redoStack=[]}))),this._register(t.onDidChangeCursorSelection((i=>{if(this._isCursorUndoRedo)return;if(!i.oldSelections)return;if(i.oldModelVersionId!==i.modelVersionId)return;const e=new Q0(i.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(e)||(this._undoStack.push(new J0(e,t.getScrollTop(),t.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())})))}cursorUndo(){this._editor.hasModel()&&0!==this._undoStack.length&&(this._redoStack.push(new J0(new Q0(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){this._editor.hasModel()&&0!==this._redoStack.length&&(this._undoStack.push(new J0(new Q0(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(t){this._isCursorUndoRedo=!0,this._editor.setSelections(t.cursorState.selections),this._editor.setScrollPosition({scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),this._isCursorUndoRedo=!1}}Y0.ID="editor.contrib.cursorUndoRedoController",lu(Y0.ID,Y0,0),cu(class extends su{constructor(){super({id:"cursorUndo",label:rt(0,"Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:UC.textInputFocus,primary:2099,weight:100}})}run(t,i,e){var s;null===(s=Y0.get(i))||void 0===s||s.cursorUndo()}}),cu(class extends su{constructor(){super({id:"cursorRedo",label:rt(0,"Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(t,i,e){var s;null===(s=Y0.get(i))||void 0===s||s.cursorRedo()}});class X0{constructor(t,i,e){this.selection=t,this.targetPosition=i,this.copy=e,this.targetSelection=null}getEditOperations(t,i){const e=t.getValueInRange(this.selection);this.copy||i.addEditOperation(this.selection,null),i.addEditOperation(new Ms(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),e),this.targetSelection=!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?new Ls(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber>this.selection.endLineNumber?new Ls(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumberthis._onEditorMouseDown(t)))),this._register(this._editor.onMouseUp((t=>this._onEditorMouseUp(t)))),this._register(this._editor.onMouseDrag((t=>this._onEditorMouseDrag(t)))),this._register(this._editor.onMouseDrop((t=>this._onEditorMouseDrop(t)))),this._register(this._editor.onMouseDropCanceled((()=>this._onEditorMouseDropCanceled()))),this._register(this._editor.onKeyDown((t=>this.onEditorKeyDown(t)))),this._register(this._editor.onKeyUp((t=>this.onEditorKeyUp(t)))),this._register(this._editor.onDidBlurEditorWidget((()=>this.onEditorBlur()))),this._register(this._editor.onDidBlurEditorText((()=>this.onEditorBlur()))),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(t){this._editor.getOption(35)&&!this._editor.getOption(22)&&(t1(t)&&(this._modifierPressed=!0),this._mouseDown&&t1(t)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(t){this._editor.getOption(35)&&!this._editor.getOption(22)&&(t1(t)&&(this._modifierPressed=!1),this._mouseDown&&t.keyCode===i1.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(t){this._mouseDown=!0}_onEditorMouseUp(t){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(t){const i=t.target;if(null===this._dragSelection){const t=(this._editor.getSelections()||[]).filter((t=>i.position&&t.containsPosition(i.position)));if(1!==t.length)return;this._dragSelection=t[0]}t1(t.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),i.position&&(this._dragSelection.containsPosition(i.position)?this._removeDecoration():this.showAt(i.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(t){if(t.target&&(this._hitContent(t.target)||this._hitMargin(t.target))&&t.target.position){const i=new As(t.target.position.lineNumber,t.target.position.column);if(null===this._dragSelection){let e=null;if(t.event.shiftKey){const t=this._editor.getSelection();if(t){const{selectionStartLineNumber:s,selectionStartColumn:n}=t;e=[new Ls(s,n,i.lineNumber,i.column)]}}else e=(this._editor.getSelections()||[]).map((t=>t.containsPosition(i)?new Ls(i.lineNumber,i.column,i.lineNumber,i.column):t));this._editor.setSelections(e||[],"mouse",3)}else(!this._dragSelection.containsPosition(i)||(t1(t.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(i)||this._dragSelection.getStartPosition().equals(i)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(i1.ID,new X0(this._dragSelection,i,t1(t.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(t){this._dndDecorationIds.set([{range:new Ms(t.lineNumber,t.column,t.lineNumber,t.column),options:i1._DECORATION_OPTIONS}]),this._editor.revealPosition(t,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(t){return 6===t.type||7===t.type}_hitMargin(t){return 2===t.type||3===t.type||4===t.type}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}i1.ID="editor.contrib.dragAndDrop",i1.TRIGGER_KEY_VALUE=St?6:5,i1._DECORATION_OPTIONS=bL.register({description:"dnd-target",className:"dnd-target"}),lu(i1.ID,i1,2);const e1=function(){if("object"==typeof crypto&&"function"==typeof crypto.randomUUID)return crypto.randomUUID.bind(crypto);let t;t="object"==typeof crypto&&"function"==typeof crypto.getRandomValues?crypto.getRandomValues.bind(crypto):function(t){for(let i=0;it,asFile:()=>{},value:"string"==typeof t?t:void 0}}class n1{constructor(){this._entries=new Map}get size(){let t=0;for(const i of this._entries)t++;return t}has(t){return this._entries.has(this.toKey(t))}matches(t){const i=[...this._entries.keys()];return Vt.some(this,(([t,i])=>i.asFile()))&&i.push("files"),h1(o1(t),i)}get(t){var i;return null===(i=this._entries.get(this.toKey(t)))||void 0===i?void 0:i[0]}append(t,i){const e=this._entries.get(t);e?e.push(i):this._entries.set(this.toKey(t),[i])}replace(t,i){this._entries.set(this.toKey(t),[i])}delete(t){this._entries.delete(this.toKey(t))}*[Symbol.iterator](){for(const[t,i]of this._entries)for(const e of i)yield[t,e]}toKey(t){return o1(t)}}function o1(t){return t.toLowerCase()}function r1(t,i){return h1(o1(t),i.map(o1))}function h1(t,i){if("*/*"===t)return i.length>0;if(i.includes(t))return!0;const e=t.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!e)return!1;const[s,n,o]=e;return"*"===o&&i.some((t=>t.startsWith(n+"/")))}const c1=Object.freeze({create:t=>k(t.map((t=>t.toString()))).join("\r\n"),split:t=>t.split("\r\n"),parse:t=>c1.split(t).filter((t=>!t.startsWith("#")))});Dh.add("workbench.contributions.dragAndDrop",new class{});class a1{constructor(){}static getInstance(){return a1.INSTANCE}hasData(t){return t&&t===this.proto}getData(t){if(this.hasData(t))return this.data}}function l1(t){const i=new n1;for(const e of t.items){const t=e.type;if("string"===e.kind){const s=new Promise((t=>e.getAsString(t)));i.append(t,s1(s))}else if("file"===e.kind){const s=e.getAsFile();s&&i.append(t,u1(s))}}return i}function u1(t){const i=t.path?ms.parse(t.path):void 0;return function(t,i,e){const s={id:e1(),name:t,uri:i,data:e};return{asString:async()=>"",asFile:()=>s,value:void 0}}(t.name,i,(async()=>new Uint8Array(await t.arrayBuffer())))}a1.INSTANCE=new a1;const d1=Object.freeze(["CodeEditors","CodeFiles",yI.RESOURCES,yI.INTERNAL_URI_LIST]);function f1(t,i=!1){const e=l1(t),s=e.get(yI.INTERNAL_URI_LIST);if(s)e.replace(Dd.uriList,s);else if(i||!e.has(Dd.uriList)){const i=[];for(const e of t.items){const t=e.getAsFile();if(t){const e=t.path;try{i.push(e?ms.file(e).toString():ms.parse(t.name,!0).toString())}catch(t){}}}i.length&&e.replace(Dd.uriList,s1(c1.create(i)))}for(const t of d1)e.delete(t);return e}function p1(t){var i;function e(t,i){return"providerId"in t&&t.providerId===i.providerId||"mimeType"in t&&t.mimeType===i.handledMimeType}const s=new Map;for(const n of t)for(const o of null!==(i=n.yieldTo)&&void 0!==i?i:[])for(const i of t)if(i!==n&&e(o,i)){let t=s.get(n);t||(t=[],s.set(n,t)),t.push(i)}if(!s.size)return Array.from(t);const n=new Set,o=[];return function t(i){if(!i.length)return[];const e=i[0];if(o.includes(e))return console.warn(`Yield to cycle detected for ${e.providerId}`),i;if(n.has(e))return t(i.slice(1));let r=[];const h=s.get(e);return h&&(o.push(e),r=t(h),o.pop()),n.add(e),[...r,e,...t(i.slice(1))]}(Array.from(t))}const g1=bL.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:" ",inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});class m1 extends ie{constructor(t,i,e,s,n){super(),this.typeId=t,this.editor=i,this.range=e,this.delegate=n,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(s),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(t){this.domNode=$l(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=t;const i=$l("span.icon");this.domNode.append(i),i.classList.add(...Cr.asClassNameArray(Os.loading),"codicon-modifier-spin");const e=()=>{const t=this.editor.getOption(66);this.domNode.style.height=`${t}px`,this.domNode.style.width=`${Math.ceil(.8*t)}px`};e(),this._register(this.editor.onDidChangeConfiguration((t=>{(t.hasChanged(52)||t.hasChanged(66))&&e()}))),this._register(Va(this.domNode,Ll.CLICK,(()=>{this.delegate.cancel()})))}getId(){return m1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}}m1.baseId="editor.widget.inlineProgressWidget";let w1=class extends ie{constructor(t,i,e){super(),this.id=t,this._editor=i,this._instantiationService=e,this._showDelay=500,this._showPromise=this._register(new ee),this._currentWidget=new ee,this._operationIdPool=0,this._currentDecorations=i.createDecorationsCollection()}async showWhile(t,i,e){const s=this._operationIdPool++;this._currentOperation=s,this.clear(),this._showPromise.value=lc((()=>{const s=Ms.fromPositions(t);this._currentDecorations.set([{range:s,options:g1}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(m1,this.id,this._editor,s,i,e))}),this._showDelay);try{return await e}finally{this._currentOperation===s&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};w1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,ur)],w1);var v1,b1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},y1=function(t,i){return function(e,s){i(e,s,t)}};let k1=v1=class extends ie{constructor(t,i,e,s,n,o,r,h,c,a){super(),this.typeId=t,this.editor=i,this.showCommand=s,this.range=n,this.edits=o,this.onSelectNewEdit=r,this._contextMenuService=h,this._keybindingService=a,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=e.bindTo(c),this.visibleContext.set(!0),this._register(Xi((()=>this.visibleContext.reset()))),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Xi((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition((t=>{n.containsPosition(t.position)||this.dispose()}))),this._register(ce.runAndSubscribe(a.onDidUpdateKeybindings,(()=>{this._updateButtonTitle()})))}_updateButtonTitle(){var t;const i=null===(t=this._keybindingService.lookupKeybinding(this.showCommand.id))||void 0===t?void 0:t.getLabel();this.button.element.title=this.showCommand.label+(i?` (${i})`:"")}create(){this.domNode=$l(".post-edit-widget"),this.button=this._register(new Mj(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Va(this.domNode,Ll.CLICK,(()=>this.showSelector())))}getId(){return v1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const t=nl(this.button.element);return{x:t.left+t.width,y:t.top+t.height}},getActions:()=>this.edits.allEdits.map(((t,i)=>kr({id:"",label:t.label,checked:i===this.edits.activeEditIndex,run:()=>{if(i!==this.edits.activeEditIndex)return this.onSelectNewEdit(i)}})))})}};k1.baseId="editor.widget.postEditWidget",k1=v1=b1([y1(7,eI),y1(8,ah),y1(9,Yx)],k1);let x1=class extends ie{constructor(t,i,e,s,n,o){super(),this._id=t,this._editor=i,this._visibleContext=e,this._showCommand=s,this._instantiationService=n,this._bulkEditService=o,this._currentWidget=this._register(new ee),this._register(ce.any(i.onDidChangeModel,i.onDidChangeModelContent)((()=>this.clear())))}async applyEditAndShowIfNeeded(t,i,e,s){var n,o;const r=this._editor.getModel();if(!r||!t.length)return;const h=i.allEdits[i.activeEditIndex];if(!h)return;let c=[];c=("string"==typeof h.insertText?""===h.insertText:""===h.insertText.snippet)?[]:t.map((t=>new YR(r.uri,"string"==typeof h.insertText?{range:t,text:h.insertText,insertAsSnippet:!1}:{range:t,text:h.insertText.snippet,insertAsSnippet:!0})));const a={edits:[...c,...null!==(o=null===(n=h.additionalEdit)||void 0===n?void 0:n.edits)&&void 0!==o?o:[]]},l=t[0],u=r.deltaDecorations([],[{range:l,options:{description:"paste-line-suffix",stickiness:0}}]);let d,f;try{d=await this._bulkEditService.apply(a,{editor:this._editor,token:s}),f=r.getDecorationRange(u[0])}finally{r.deltaDecorations(u,[])}e&&d.isApplied&&i.allEdits.length>1&&this.show(null!=f?f:l,i,(async n=>{const o=this._editor.getModel();o&&(await o.undo(),this.applyEditAndShowIfNeeded(t,{activeEditIndex:n,allEdits:i.allEdits},e,s))}))}show(t,i,e){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(k1,this._id,this._editor,this._visibleContext,this._showCommand,t,i,e))}clear(){this._currentWidget.clear()}tryShowSelector(){var t;null===(t=this._currentWidget.value)||void 0===t||t.showSelector()}};x1=b1([y1(4,ur),y1(5,QR)],x1);var C1,S1=function(t,i){return function(e,s){i(e,s,t)}};const D1="editor.changePasteType",E1=new ch("pasteWidgetVisible",!1,rt(0,"Whether the paste widget is showing")),A1="application/vnd.code.copyMetadata";let M1=C1=class extends ie{static get(t){return t.getContribution(C1.ID)}constructor(t,i,e,s,n,o,r){super(),this._bulkEditService=e,this._clipboardService=s,this._languageFeaturesService=n,this._quickInputService=o,this._progressService=r,this._editor=t;const h=t.getContainerDomNode();this._register(Va(h,"copy",(t=>this.handleCopy(t)))),this._register(Va(h,"cut",(t=>this.handleCopy(t)))),this._register(Va(h,"paste",(t=>this.handlePaste(t)),!0)),this._pasteProgressManager=this._register(new w1("pasteIntoEditor",t,i)),this._postPasteWidgetManager=this._register(i.createInstance(x1,"pasteIntoEditor",t,E1,{id:D1,label:rt(0,"Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(t){this._editor.focus();try{this._pasteAsActionContext={preferredId:t},ml().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}isPasteAsEnabled(){return this._editor.getOption(84).enabled&&!this._editor.getOption(90)}handleCopy(t){var i,e;if(!this._editor.hasTextFocus())return;if(At&&this._clipboardService.writeResources([]),!t.clipboardData||!this.isPasteAsEnabled())return;const s=this._editor.getModel(),n=this._editor.getSelections();if(!s||!(null==n?void 0:n.length))return;const o=this._editor.getOption(37);let r=n;const h=1===n.length&&n[0].isEmpty();if(h){if(!o)return;r=[new Ms(r[0].startLineNumber,1,r[0].startLineNumber,1+s.getLineLength(r[0].startLineNumber))]}const c=null===(i=this._editor._getViewModel())||void 0===i?void 0:i.getPlainTextToCopy(n,o,Ct),a={multicursorText:Array.isArray(c)?c:null,pasteOnNewLine:h,mode:null},l=this._languageFeaturesService.documentPasteEditProvider.ordered(s).filter((t=>!!t.prepareDocumentPaste));if(!l.length)return void this.setCopyMetadata(t.clipboardData,{defaultPastePayload:a});const u=l1(t.clipboardData),d=l.flatMap((t=>{var i;return null!==(i=t.copyMimeTypes)&&void 0!==i?i:[]})),f=e1();this.setCopyMetadata(t.clipboardData,{id:f,providerCopyMimeTypes:d,defaultPastePayload:a});const p=nc((async t=>{const i=w(await Promise.all(l.map((async i=>{try{return await i.prepareDocumentPaste(s,r,u,t)}catch(t){return void console.error(t)}}))));i.reverse();for(const t of i)for(const[i,e]of t)u.replace(i,e);return u}));null===(e=this._currentCopyOperation)||void 0===e||e.dataTransferPromise.cancel(),this._currentCopyOperation={handle:f,dataTransferPromise:p}}async handlePaste(t){var i,e;if(!t.clipboardData||!this._editor.hasTextFocus())return;null===(i=this._currentPasteOperation)||void 0===i||i.cancel(),this._currentPasteOperation=void 0;const s=this._editor.getModel(),n=this._editor.getSelections();if(!(null==n?void 0:n.length)||!s)return;if(!this.isPasteAsEnabled())return;const o=this.fetchCopyMetadata(t),r=f1(t.clipboardData);r.delete(A1);const h=[...t.clipboardData.types,...null!==(e=null==o?void 0:o.providerCopyMimeTypes)&&void 0!==e?e:[],Dd.uriList],c=this._languageFeaturesService.documentPasteEditProvider.ordered(s).filter((t=>{var i;return null===(i=t.pasteMimeTypes)||void 0===i?void 0:i.some((t=>r1(t,h)))}));c.length&&(t.preventDefault(),t.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferredId,c,n,r,o):this.doPasteInline(c,n,r,o))}doPasteInline(t,i,e,s){const n=nc((async o=>{const r=this._editor;if(!r.hasModel())return;const h=r.getModel(),c=new gK(r,3,void 0,o);try{if(await this.mergeInDataFromCopy(e,s,c.token),c.token.isCancellationRequested)return;const n=t.filter((t=>L1(t,e)));if(!n.length||1===n.length&&"text"===n[0].id)return void await this.applyDefaultPasteHandler(e,s,c.token);const o=await this.getPasteEdits(n,e,h,i,c.token);if(c.token.isCancellationRequested)return;if(1===o.length&&"text"===o[0].providerId)return void await this.applyDefaultPasteHandler(e,s,c.token);if(o.length){const t="afterPaste"===r.getOption(84).showPasteSelector;return this._postPasteWidgetManager.applyEditAndShowIfNeeded(i,{activeEditIndex:0,allEdits:o},t,c.token)}await this.applyDefaultPasteHandler(e,s,c.token)}finally{c.dispose(),this._currentPasteOperation===n&&(this._currentPasteOperation=void 0)}}));this._pasteProgressManager.showWhile(i[0].getEndPosition(),rt(0,"Running paste handlers. Click to cancel"),n),this._currentPasteOperation=n}showPasteAsPick(t,i,e,s,n){const o=nc((async r=>{const h=this._editor;if(!h.hasModel())return;const c=h.getModel(),a=new gK(h,3,void 0,r);try{if(await this.mergeInDataFromCopy(s,n,a.token),a.token.isCancellationRequested)return;let o=i.filter((t=>L1(t,s)));t&&(o=o.filter((i=>i.id===t)));const r=await this.getPasteEdits(o,s,c,e,a.token);if(a.token.isCancellationRequested)return;if(!r.length)return;let h;if(t)h=r.at(0);else{const t=await this._quickInputService.pick(r.map((t=>({label:t.label,description:t.providerId,detail:t.detail,edit:t}))),{placeHolder:rt(0,"Select Paste Action")});h=null==t?void 0:t.edit}if(!h)return;const l=function(t,i,e){var s,n;return{edits:[...i.map((i=>new YR(t,"string"==typeof e.insertText?{range:i,text:e.insertText,insertAsSnippet:!1}:{range:i,text:e.insertText.snippet,insertAsSnippet:!0}))),...null!==(n=null===(s=e.additionalEdit)||void 0===s?void 0:s.edits)&&void 0!==n?n:[]]}}(c.uri,e,h);await this._bulkEditService.apply(l,{editor:this._editor})}finally{a.dispose(),this._currentPasteOperation===o&&(this._currentPasteOperation=void 0)}}));this._progressService.withProgress({location:10,title:rt(0,"Running paste handlers")},(()=>o))}setCopyMetadata(t,i){t.setData(A1,JSON.stringify(i))}fetchCopyMetadata(t){var i;if(!t.clipboardData)return;const e=t.clipboardData.getData(A1);if(e)try{return JSON.parse(e)}catch(t){return}const[s,n]=Wk.getTextData(t.clipboardData);return n?{defaultPastePayload:{mode:n.mode,multicursorText:null!==(i=n.multicursorText)&&void 0!==i?i:null,pasteOnNewLine:!!n.isFromEmptySelection}}:void 0}async mergeInDataFromCopy(t,i,e){var s;if((null==i?void 0:i.id)&&(null===(s=this._currentCopyOperation)||void 0===s?void 0:s.handle)===i.id){const i=await this._currentCopyOperation.dataTransferPromise;if(e.isCancellationRequested)return;for(const[e,s]of i)t.replace(e,s)}if(!t.has(Dd.uriList)){const i=await this._clipboardService.readResources();if(e.isCancellationRequested)return;i.length&&t.append(Dd.uriList,s1(c1.create(i)))}}async getPasteEdits(t,i,e,s,n){const o=await oc(Promise.all(t.map((async t=>{var o;try{const r=await(null===(o=t.provideDocumentPasteEdits)||void 0===o?void 0:o.call(t,e,s,i,n));if(r)return{...r,providerId:t.id}}catch(t){console.error(t)}}))),n);return p1(w(null!=o?o:[]))}async applyDefaultPasteHandler(t,i,e){var s,n,o;const r=null!==(s=t.get(Dd.text))&&void 0!==s?s:t.get("text");if(!r)return;const h=await r.asString();if(e.isCancellationRequested)return;const c={text:h,pasteOnNewLine:null!==(n=null==i?void 0:i.defaultPastePayload.pasteOnNewLine)&&void 0!==n&&n,multicursorText:null!==(o=null==i?void 0:i.defaultPastePayload.multicursorText)&&void 0!==o?o:null,mode:null};this._editor.trigger("keyboard","paste",c)}};function L1(t,i){var e;return Boolean(null===(e=t.pasteMimeTypes)||void 0===e?void 0:e.some((t=>i.matches(t))))}M1.ID="editor.contrib.copyPasteActionController",M1=C1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([S1(1,ur),S1(2,QR),S1(3,dH),S1(4,gg),S1(5,Dj),S1(6,RO)],M1);var F1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},T1=function(t,i){return function(e,s){i(e,s,t)}};const R1=rt(0,"Built-in");class O1{async provideDocumentPasteEdits(t,i,e,s){const n=await this.getEdit(e,s);return n?{insertText:n.insertText,label:n.label,detail:n.detail,handledMimeType:n.handledMimeType,yieldTo:n.yieldTo}:void 0}async provideDocumentOnDropEdits(t,i,e,s){const n=await this.getEdit(e,s);return n?{insertText:n.insertText,label:n.label,handledMimeType:n.handledMimeType,yieldTo:n.yieldTo}:void 0}}class I1 extends O1{constructor(){super(...arguments),this.id="text",this.dropMimeTypes=[Dd.text],this.pasteMimeTypes=[Dd.text]}async getEdit(t,i){const e=t.get(Dd.text);if(!e)return;if(t.has(Dd.uriList))return;const s=await e.asString();return{handledMimeType:Dd.text,label:rt(0,"Insert Plain Text"),detail:R1,insertText:s}}}class _1 extends O1{constructor(){super(...arguments),this.id="uri",this.dropMimeTypes=[Dd.uriList],this.pasteMimeTypes=[Dd.uriList]}async getEdit(t,i){const e=await B1(t);if(!e.length||i.isCancellationRequested)return;let s=0;const n=e.map((({uri:t,originalText:i})=>t.scheme===ka.file?t.fsPath:(s++,i))).join(" ");let o;return o=rt(0,s>0?e.length>1?"Insert Uris":"Insert Uri":e.length>1?"Insert Paths":"Insert Path"),{handledMimeType:Dd.uriList,insertText:n,label:o,detail:R1}}}let N1=class extends O1{constructor(t){super(),this._workspaceContextService=t,this.id="relativePath",this.dropMimeTypes=[Dd.uriList],this.pasteMimeTypes=[Dd.uriList]}async getEdit(t,i){const e=await B1(t);if(!e.length||i.isCancellationRequested)return;const s=w(e.map((({uri:t})=>{const i=this._workspaceContextService.getWorkspaceFolder(t);return i?mA(i.uri,t):void 0})));return s.length?{handledMimeType:Dd.uriList,insertText:s.join(" "),label:rt(0,e.length>1?"Insert Relative Paths":"Insert Relative Path"),detail:R1}:void 0}};async function B1(t){const i=t.get(Dd.uriList);if(!i)return[];const e=await i.asString(),s=[];for(const t of c1.parse(e))try{s.push({uri:ms.parse(t),originalText:t})}catch(t){}return s}N1=F1([T1(0,jO)],N1);let P1=class extends ie{constructor(t,i){super(),this._register(t.documentOnDropEditProvider.register("*",new I1)),this._register(t.documentOnDropEditProvider.register("*",new _1)),this._register(t.documentOnDropEditProvider.register("*",new N1(i)))}};P1=F1([T1(0,gg),T1(1,jO)],P1);let $1=class extends ie{constructor(t,i){super(),this._register(t.documentPasteEditProvider.register("*",new I1)),this._register(t.documentPasteEditProvider.register("*",new _1)),this._register(t.documentPasteEditProvider.register("*",new N1(i)))}};$1=F1([T1(0,gg),T1(1,jO)],$1),lu(M1.ID,M1,0),WH($1),hu(new class extends eu{constructor(){super({id:D1,precondition:E1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(t,i,e){var s;return null===(s=M1.get(i))||void 0===s?void 0:s.changePasteType()}}),cu(class extends su{constructor(){super({id:"editor.action.pasteAs",label:rt(0,"Paste As..."),alias:"Paste As...",precondition:void 0,metadata:{description:"Paste as",args:[{name:"args",schema:{type:"object",properties:{id:{type:"string",description:rt(0,"The id of the paste edit to try applying. If not provided, the editor will show a picker.")}}}}]}})}run(t,i,e){var s;const n="string"==typeof(null==e?void 0:e.id)?e.id:void 0;return null===(s=M1.get(i))||void 0===s?void 0:s.pasteAs(n)}});class W1{constructor(t){this.identifier=t}}const j1=dr("treeViewsDndService");Cd(j1,class{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(t){if(t&&this._dragOperations.has(t)){const i=this._dragOperations.get(t);return this._dragOperations.delete(t),i}}},1);var z1,H1=function(t,i){return function(e,s){i(e,s,t)}};const V1="editor.experimental.dropIntoEditor.defaultProvider",U1="editor.changeDropType",q1=new ch("dropWidgetVisible",!1,rt(0,"Whether the drop widget is showing"));let K1=z1=class extends ie{static get(t){return t.getContribution(z1.ID)}constructor(t,i,e,s,n){super(),this._configService=e,this._languageFeaturesService=s,this._treeViewsDragAndDropService=n,this.treeItemsTransfer=a1.getInstance(),this._dropProgressManager=this._register(i.createInstance(w1,"dropIntoEditor",t)),this._postDropWidgetManager=this._register(i.createInstance(x1,"dropIntoEditor",t,q1,{id:U1,label:rt(0,"Show drop options...")})),this._register(t.onDropIntoEditor((i=>this.onDropIntoEditor(t,i.position,i.event))))}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(t,i,e){var s;if(!e.dataTransfer||!t.hasModel())return;null===(s=this._currentOperation)||void 0===s||s.cancel(),t.focus(),t.setPosition(i);const n=nc((async s=>{const o=new gK(t,1,void 0,s);try{const n=await this.extractDataTransferData(e);if(0===n.size||o.token.isCancellationRequested)return;const r=t.getModel();if(!r)return;const h=this._languageFeaturesService.documentOnDropEditProvider.ordered(r).filter((t=>!t.dropMimeTypes||t.dropMimeTypes.some((t=>n.matches(t))))),c=await this.getDropEdits(h,r,i,n,o);if(o.token.isCancellationRequested)return;if(c.length){const e=this.getInitialActiveEditIndex(r,c),n="afterDrop"===t.getOption(36).showDropSelector;await this._postDropWidgetManager.applyEditAndShowIfNeeded([Ms.fromPositions(i)],{activeEditIndex:e,allEdits:c},n,s)}}finally{o.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}}));this._dropProgressManager.showWhile(i,rt(0,"Running drop handlers. Click to cancel"),n),this._currentOperation=n}async getDropEdits(t,i,e,s,n){const o=await oc(Promise.all(t.map((async t=>{try{const o=await t.provideDocumentOnDropEdits(i,e,s,n.token);if(o)return{...o,providerId:t.id}}catch(t){console.error(t)}}))),n.token);return p1(w(null!=o?o:[]))}getInitialActiveEditIndex(t,i){const e=this._configService.getValue(V1,{resource:t.uri});for(const[t,s]of Object.entries(e)){const e=i.findIndex((i=>s===i.providerId&&i.handledMimeType&&r1(t,[i.handledMimeType])));if(e>=0)return e}return 0}async extractDataTransferData(t){if(!t.dataTransfer)return new n1;const i=f1(t.dataTransfer);if(this.treeItemsTransfer.hasData(W1.prototype)){const t=this.treeItemsTransfer.getData(W1.prototype);if(Array.isArray(t))for(const e of t){const t=await this._treeViewsDragAndDropService.removeDragOperationTransfer(e.identifier);if(t)for(const[e,s]of t)i.replace(e,s)}}return i}};K1.ID="editor.contrib.dropIntoEditorController",K1=z1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([H1(1,ur),H1(2,pd),H1(3,gg),H1(4,j1)],K1),lu(K1.ID,K1,2),hu(new class extends eu{constructor(){super({id:U1,precondition:q1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(t,i,e){var s;null===(s=K1.get(i))||void 0===s||s.changeDropType()}}),WH(P1),Dh.as(Md).registerConfiguration({...iO,properties:{[V1]:{type:"object",scope:5,description:rt(0,"Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});class G1{constructor(t){this._editor=t,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const t=this._findScopeDecorationIds.map((t=>this._editor.getModel().getDecorationRange(t))).filter((t=>!!t));if(t.length)return t}return null}getStartPosition(){return this._startPosition}setStartPosition(t){this._startPosition=t,this.setCurrentFindMatch(null)}_getDecorationIndex(t){const i=this._decorations.indexOf(t);return i>=0?i+1:1}getDecorationRangeAt(t){const i=t{if(null!==this._highlightedDecorationId&&(t.changeDecorationOptions(this._highlightedDecorationId,G1._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),null!==i&&(this._highlightedDecorationId=i,t.changeDecorationOptions(this._highlightedDecorationId,G1._CURRENT_FIND_MATCH_DECORATION)),null!==this._rangeHighlightDecorationId&&(t.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),null!==i){let e=this._editor.getModel().getDecorationRange(i);if(e.startLineNumber!==e.endLineNumber&&1===e.endColumn){const t=e.endLineNumber-1,i=this._editor.getModel().getLineMaxColumn(t);e=new Ms(e.startLineNumber,e.startColumn,t,i)}this._rangeHighlightDecorationId=t.addDecoration(e,G1._RANGE_HIGHLIGHT_DECORATION)}})),e}set(t,i){this._editor.changeDecorations((e=>{let s=G1._FIND_MATCH_DECORATION;const n=[];if(t.length>1e3){s=G1._FIND_MATCH_NO_OVERVIEW_DECORATION;const i=this._editor.getModel().getLineCount(),e=this._editor.getLayoutInfo().height,o=Math.max(2,Math.ceil(3/(e/i)));let r=t[0].range.startLineNumber,h=t[0].range.endLineNumber;for(let i=1,e=t.length;i=e.startLineNumber?e.endLineNumber>h&&(h=e.endLineNumber):(n.push({range:new Ms(r,1,h,1),options:G1._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),r=e.startLineNumber,h=e.endLineNumber)}n.push({range:new Ms(r,1,h,1),options:G1._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const o=new Array(t.length);for(let i=0,e=t.length;ie.removeDecoration(t))),this._findScopeDecorationIds=[]),(null==i?void 0:i.length)&&(this._findScopeDecorationIds=i.map((t=>e.addDecoration(t,G1._FIND_SCOPE_DECORATION))))}))}matchBeforePosition(t){if(0===this._decorations.length)return null;for(let i=this._decorations.length-1;i>=0;i--){const e=this._decorations[i],s=this._editor.getModel().getDecorationRange(e);if(s&&!(s.endLineNumber>t.lineNumber)){if(s.endLineNumbert.column))return s}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(t){if(0===this._decorations.length)return null;for(let i=0,e=this._decorations.length;it.lineNumber)return s;if(!(s.startColumn0){const t=[];for(let i=0;iMs.compareRangesUsingStarts(t.range,i.range)));const e=[];let s=t[0];for(let i=1;i0?i[0].toUpperCase()+i.substr(1):t[0][0].toUpperCase()!==t[0][0]&&i.length>0?i[0].toLowerCase()+i.substr(1):i}return i}function J1(t,i,e){return-1!==t[0].indexOf(e)&&-1!==i.indexOf(e)&&t[0].split(e).length===i.split(e).length}function Y1(t,i,e){const s=i.split(e),n=t[0].split(e);let o="";return s.forEach(((t,i)=>{o+=Q1([n[i]],t)+e})),o.slice(0,-1)}class X1{constructor(t){this.staticValue=t,this.kind=0}}class t2{constructor(t){this.pieces=t,this.kind=1}}class i2{static fromStaticValue(t){return new i2([e2.staticValue(t)])}get hasReplacementPatterns(){return 1===this._state.kind}constructor(t){this._state=t&&0!==t.length?1===t.length&&null!==t[0].staticValue?new X1(t[0].staticValue):new t2(t):new X1("")}buildReplaceString(t,i){if(0===this._state.kind)return i?Q1(t,this._state.staticValue):this._state.staticValue;let e="";for(let i=0,s=this._state.pieces.length;i0){const t=[],i=s.caseOps.length;let e=0;for(let o=0,r=n.length;o=i){t.push(n.slice(o));break}switch(s.caseOps[e]){case"U":t.push(n[o].toUpperCase());break;case"u":t.push(n[o].toUpperCase()),e++;break;case"L":t.push(n[o].toLowerCase());break;case"l":t.push(n[o].toLowerCase()),e++;break;default:t.push(n[o])}}n=t.join("")}e+=n}return e}static _substitute(t,i){if(null===i)return"";if(0===t)return i[0];let e="";for(;t>0;){if(tthis.research(!1)),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition((t=>{3!==t.reason&&5!==t.reason&&6!==t.reason||this._decorations.setStartPosition(this._editor.getPosition())}))),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent((t=>{this._ignoreModelContentChanged||(t.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())}))),this._toDispose.add(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,Ji(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(t){!this._isDisposed&&this._editor.hasModel()&&(t.searchString||t.isReplaceRevealed||t.isRegex||t.wholeWord||t.matchCase||t.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet((()=>{t.searchScope?this.research(t.moveCursor,this._state.searchScope):this.research(t.moveCursor)}),240)):t.searchScope?this.research(t.moveCursor,this._state.searchScope):this.research(t.moveCursor))}static _getSearchRange(t,i){return i||t.getFullModelRange()}research(t,i){let e=null;void 0!==i?null!==i&&(e=Array.isArray(i)?i:[i]):e=this._decorations.getFindScopes(),null!==e&&(e=e.map((t=>{if(t.startLineNumber!==t.endLineNumber){let i=t.endLineNumber;return 1===t.endColumn&&(i-=1),new Ms(t.startLineNumber,1,i,this._editor.getModel().getLineMaxColumn(i))}return t})));const s=this._findMatches(e,!1,x2);this._decorations.set(s,e);const n=this._editor.getSelection();let o=this._decorations.getCurrentMatchesPosition(n);if(0===o&&s.length>0){const t=ep(s.map((t=>t.range)),(t=>Ms.compareRangesUsingStarts(t,n)>=0));o=t>0?t-1+1:o}this._state.changeMatchInfo(o,this._decorations.getCount(),void 0),t&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const t=this._decorations.getFindScope();return t&&this._editor.revealRangeInCenterIfOutsideViewport(t,0),!0}return!1}_setCurrentFindMatch(t){const i=this._decorations.setCurrentFindMatch(t);this._state.changeMatchInfo(i,this._decorations.getCount(),t),this._editor.setSelection(t),this._editor.revealRangeInCenterIfOutsideViewport(t,0)}_prevSearchPosition(t){const i=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:e,column:s}=t;const n=this._editor.getModel();return i||1===s?(1===e?e=n.getLineCount():e--,s=n.getLineMaxColumn(e)):s--,new As(e,s)}_moveToPrevMatch(t,i=!1){if(!this._state.canNavigateBack()){const i=this._decorations.matchAfterPosition(t);return void(i&&this._setCurrentFindMatch(i))}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:e,column:s}=t;const n=this._editor.getModel();return i||s===n.getLineMaxColumn(e)?(e===n.getLineCount()?e=1:e++,s=1):s++,new As(e,s)}_moveToNextMatch(t){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(t);return void(i&&this._setCurrentFindMatch(i))}if(this._decorations.getCount()=n)break;const o=t.charCodeAt(s);if(36===o){e.emitUnchanged(s-1),e.emitStatic("$",s+1);continue}if(48===o||38===o){e.emitUnchanged(s-1),e.emitMatchIndex(0,s+1,i),i.length=0;continue}if(49<=o&&o<=57){let r=o-48;if(s+1=n)break;const o=t.charCodeAt(s);switch(o){case 92:e.emitUnchanged(s-1),e.emitStatic("\\",s+1);break;case 110:e.emitUnchanged(s-1),e.emitStatic("\n",s+1);break;case 116:e.emitUnchanged(s-1),e.emitStatic("\t",s+1);break;case 117:case 85:case 108:case 76:e.emitUnchanged(s-1),e.emitStatic("",s+1),i.push(String.fromCharCode(o))}}}return e.finalize()}(this._state.replaceString):i2.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const t=this._getReplacePattern(),i=this._editor.getSelection(),e=this._getNextMatch(i.getStartPosition(),!0,!1);if(e)if(i.equalsRange(e.range)){const s=t.buildReplaceString(e.matches,this._state.preserveCase),n=new gC(i,s);this._executeEditorCommand("replace",n),this._decorations.setStartPosition(new As(i.startLineNumber,i.startColumn+s.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(e.range)}_findMatches(t,i,e){const s=(t||[null]).map((t=>C2._getSearchRange(this._editor.getModel(),t)));return this._editor.getModel().findMatches(this._state.searchString,s,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(129):null,i,e)}replaceAll(){if(!this._hasMatches())return;const t=this._decorations.getFindScopes();null===t&&this._state.matchesCount>=x2?this._largeReplaceAll():this._regularReplaceAll(t),this.research(!1)}_largeReplaceAll(){const t=new Wf(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(129):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let t="mu";i.ignoreCase&&(t+="i"),i.global&&(t+="g"),i=new RegExp(i.source,t)}const e=this._editor.getModel(),s=e.getValue(1),n=e.getFullModelRange(),o=this._getReplacePattern();let r;const h=this._state.preserveCase;r=s.replace(i,o.hasReplacementPatterns||h?function(){return o.buildReplaceString(arguments,h)}:o.buildReplaceString(null,h));const c=new bC(n,r,this._editor.getSelection());this._executeEditorCommand("replaceAll",c)}_regularReplaceAll(t){const i=this._getReplacePattern(),e=this._findMatches(t,i.hasReplacementPatterns||this._state.preserveCase,1073741824),s=[];for(let t=0,n=e.length;tt.range)),s);this._executeEditorCommand("replaceAll",n)}selectAllMatches(){if(!this._hasMatches())return;const t=this._decorations.getFindScopes();let i=this._findMatches(t,!1,1073741824).map((t=>new Ls(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn)));const e=this._editor.getSelection();for(let t=0,s=i.length;tthis._hide()),2e3)),this._isVisible=!1,this._editor=t,this._state=i,this._keybindingService=e,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const s={inputActiveOptionBorder:ew(vw),inputActiveOptionForeground:ew(yw),inputActiveOptionBackground:ew(bw)};this.caseSensitive=this._register(new JP({appendTitle:this._keybindingLabelFor(g2),isChecked:this._state.matchCase,...s})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange((()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)}))),this.wholeWords=this._register(new YP({appendTitle:this._keybindingLabelFor(m2),isChecked:this._state.wholeWord,...s})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange((()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)}))),this.regex=this._register(new XP({appendTitle:this._keybindingLabelFor(w2),isChecked:this._state.isRegex,...s})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange((()=>{this._state.change({isRegex:this.regex.checked},!1)}))),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange((t=>{let i=!1;t.isRegex&&(this.regex.checked=this._state.isRegex,i=!0),t.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,i=!0),t.matchCase&&(this.caseSensitive.checked=this._state.matchCase,i=!0),!this._state.isRevealed&&i&&this._revealTemporarily()}))),this._register(Va(this._domNode,Ll.MOUSE_LEAVE,(()=>this._onMouseLeave()))),this._register(Va(this._domNode,"mouseover",(()=>this._onMouseOver())))}_keybindingLabelFor(t){const i=this._keybindingService.lookupKeybinding(t);return i?` (${i.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return S2.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}}function D2(t,i){return 1===t||2!==t&&i}S2.ID="editor.contrib.findOptionsWidget";class E2 extends ie{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return D2(this._isRegexOverride,this._isRegex)}get wholeWord(){return D2(this._wholeWordOverride,this._wholeWord)}get matchCase(){return D2(this._matchCaseOverride,this._matchCase)}get preserveCase(){return D2(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new fe),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(t,i,e){const s={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let n=!1;0===i&&(t=0),t>i&&(t=i),this._matchesPosition!==t&&(this._matchesPosition=t,s.matchesPosition=!0,n=!0),this._matchesCount!==i&&(this._matchesCount=i,s.matchesCount=!0,n=!0),void 0!==e&&(Ms.equalsRange(this._currentMatch,e)||(this._currentMatch=e,s.currentMatch=!0,n=!0)),n&&this._onFindReplaceStateChange.fire(s)}change(t,i,e=!0){var s;const n={moveCursor:i,updateHistory:e,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let o=!1;const r=this.isRegex,h=this.wholeWord,c=this.matchCase,a=this.preserveCase;void 0!==t.searchString&&this._searchString!==t.searchString&&(this._searchString=t.searchString,n.searchString=!0,o=!0),void 0!==t.replaceString&&this._replaceString!==t.replaceString&&(this._replaceString=t.replaceString,n.replaceString=!0,o=!0),void 0!==t.isRevealed&&this._isRevealed!==t.isRevealed&&(this._isRevealed=t.isRevealed,n.isRevealed=!0,o=!0),void 0!==t.isReplaceRevealed&&this._isReplaceRevealed!==t.isReplaceRevealed&&(this._isReplaceRevealed=t.isReplaceRevealed,n.isReplaceRevealed=!0,o=!0),void 0!==t.isRegex&&(this._isRegex=t.isRegex),void 0!==t.wholeWord&&(this._wholeWord=t.wholeWord),void 0!==t.matchCase&&(this._matchCase=t.matchCase),void 0!==t.preserveCase&&(this._preserveCase=t.preserveCase),void 0!==t.searchScope&&((null===(s=t.searchScope)||void 0===s?void 0:s.every((t=>{var i;return null===(i=this._searchScope)||void 0===i?void 0:i.some((i=>!Ms.equalsRange(i,t)))})))||(this._searchScope=t.searchScope,n.searchScope=!0,o=!0)),void 0!==t.loop&&this._loop!==t.loop&&(this._loop=t.loop,n.loop=!0,o=!0),void 0!==t.isSearching&&this._isSearching!==t.isSearching&&(this._isSearching=t.isSearching,n.isSearching=!0,o=!0),void 0!==t.filters&&(this._filters?this._filters.update(t.filters):this._filters=t.filters,n.filters=!0,o=!0),this._isRegexOverride=void 0!==t.isRegexOverride?t.isRegexOverride:0,this._wholeWordOverride=void 0!==t.wholeWordOverride?t.wholeWordOverride:0,this._matchCaseOverride=void 0!==t.matchCaseOverride?t.matchCaseOverride:0,this._preserveCaseOverride=void 0!==t.preserveCaseOverride?t.preserveCaseOverride:0,r!==this.isRegex&&(o=!0,n.isRegex=!0),h!==this.wholeWord&&(o=!0,n.wholeWord=!0),c!==this.matchCase&&(o=!0,n.matchCase=!0),a!==this.preserveCase&&(o=!0,n.preserveCase=!0),o&&this._onFindReplaceStateChange.fire(n)}canNavigateBack(){return this.canNavigateInLoop()||1!==this.matchesPosition}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=x2}}const A2=rt(0,"input"),M2=rt(0,"Preserve Case");class L2 extends KP{constructor(t){super({icon:Os.preserveCase,title:M2+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}class F2 extends hk{constructor(t,i,e,s){super(),this._showOptionButtons=e,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new fe),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new fe),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new fe),this._onInput=this._register(new fe),this._onKeyUp=this._register(new fe),this._onPreserveCaseKeyDown=this._register(new fe),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=i,this.placeholder=s.placeholder||"",this.validation=s.validation,this.label=s.label||A2;const n=s.appendPreserveCaseLabel||"",o=s.history||[],r=!!s.flexibleHeight,h=!!s.flexibleWidth,c=s.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new n$(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:o,showHistoryHint:s.showHistoryHint,flexibleHeight:r,flexibleWidth:h,flexibleMaxHeight:c,inputBoxStyles:s.inputBoxStyles})),this.preserveCase=this._register(new L2({appendTitle:n,isChecked:!1,...s.toggleStyles})),this._register(this.preserveCase.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.preserveCase.onKeyDown((t=>{this._onPreserveCaseKeyDown.fire(t)}))),this.cachedOptionsWidth=this._showOptionButtons?this.preserveCase.width():0;const a=[this.preserveCase.domNode];this.onkeydown(this.domNode,(t=>{if(t.equals(15)||t.equals(17)||t.equals(9)){const i=a.indexOf(this.domNode.ownerDocument.activeElement);if(i>=0){let e=-1;t.equals(17)?e=(i+1)%a.length:t.equals(15)&&(e=0===i?a.length-1:i-1),t.equals(9)?(a[i].blur(),this.inputBox.focus()):e>=0&&a[e].focus(),Fl(t,!0)}}}));const l=document.createElement("div");l.className="controls",l.style.display=this._showOptionButtons?"block":"none",l.appendChild(this.preserveCase.domNode),this.domNode.appendChild(l),null==t||t.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,(t=>this._onKeyDown.fire(t))),this.onkeyup(this.inputBox.inputElement,(t=>this._onKeyUp.fire(t))),this.oninput(this.inputBox.inputElement,(()=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(t=>this._onMouseDown.fire(t)))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(t){t?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(t){this.preserveCase.checked=t}focusOnPreserve(){this.preserveCase.focus()}validate(){var t;null===(t=this.inputBox)||void 0===t||t.validate()}set width(t){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=t+"px"}dispose(){super.dispose()}}var T2=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},R2=function(t,i){return function(e,s){i(e,s,t)}};const O2=new ch("suggestWidgetVisible",!1,rt(0,"Whether suggestion are visible")),I2="historyNavigationWidgetFocus",_2="historyNavigationForwardsEnabled",N2="historyNavigationBackwardsEnabled";let B2;const P2=[];function $2(t,i){if(P2.includes(i))throw new Error("Cannot register the same widget multiple times");P2.push(i);const e=new te,s=new ch(I2,!1).bindTo(t),n=new ch(_2,!0).bindTo(t),o=new ch(N2,!0).bindTo(t),r=()=>{s.set(!0),B2=i},h=()=>{s.set(!1),B2===i&&(B2=void 0)};return gl(i.element)&&r(),e.add(i.onDidFocus((()=>r()))),e.add(i.onDidBlur((()=>h()))),e.add(Xi((()=>{P2.splice(P2.indexOf(i),1),h()}))),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:o,dispose(){e.dispose()}}}let W2=class extends r${constructor(t,i,e,s){super(t,i,e);const n=this._register(s.createScoped(this.inputBox.element));this._register($2(n,this.inputBox))}};W2=T2([R2(3,ah)],W2);let j2=class extends F2{constructor(t,i,e,s,n=!1){super(t,i,n,e);const o=this._register(s.createScoped(this.inputBox.element));this._register($2(o,this.inputBox))}};function z2(t){var i,e;return"Up"===(null===(i=t.lookupKeybinding("history.showPrevious"))||void 0===i?void 0:i.getElectronAccelerator())&&"Down"===(null===(e=t.lookupKeybinding("history.showNext"))||void 0===e?void 0:e.getElectronAccelerator())}j2=T2([R2(3,ah)],j2),Ah.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:zr.and(zr.has(I2),zr.equals(N2,!0),zr.not("isComposing"),O2.isEqualTo(!1)),primary:16,secondary:[528],handler:()=>{null==B2||B2.showPreviousValue()}}),Ah.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:zr.and(zr.has(I2),zr.equals(_2,!0),zr.not("isComposing"),O2.isEqualTo(!1)),primary:18,secondary:[530],handler:()=>{null==B2||B2.showNextValue()}});const H2=_z("find-selection",Os.selection,rt(0,"Icon for 'Find in Selection' in the editor find widget.")),V2=_z("find-collapsed",Os.chevronRight,rt(0,"Icon to indicate that the editor find widget is collapsed.")),U2=_z("find-expanded",Os.chevronDown,rt(0,"Icon to indicate that the editor find widget is expanded.")),q2=_z("find-replace",Os.replace,rt(0,"Icon for 'Replace' in the editor find widget.")),K2=_z("find-replace-all",Os.replaceAll,rt(0,"Icon for 'Replace All' in the editor find widget.")),G2=_z("find-previous-match",Os.arrowUp,rt(0,"Icon for 'Find Previous' in the editor find widget.")),Z2=_z("find-next-match",Os.arrowDown,rt(0,"Icon for 'Find Next' in the editor find widget.")),Q2=rt(0,"Find / Replace"),J2=rt(0,"Find"),Y2=rt(0,"Find"),X2=rt(0,"Previous Match"),t4=rt(0,"Next Match"),i4=rt(0,"Find in Selection"),e4=rt(0,"Close"),s4=rt(0,"Replace"),n4=rt(0,"Replace"),o4=rt(0,"Replace"),r4=rt(0,"Replace All"),h4=rt(0,"Toggle Replace"),c4=rt(0,"Only the first {0} results are highlighted, but all find operations work on the entire text.",x2),a4=rt(0,"{0} of {1}"),l4=rt(0,"No results"),u4=419;let d4=69;const f4="ctrlEnterReplaceAll.windows.donotask",p4=St?256:2048;class g4{constructor(t){this.afterLineNumber=t,this.heightInPx=33,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function m4(t,i,e){const s=!!i.match(/\n/);e&&s&&e.selectionStart>0&&t.stopPropagation()}function w4(t,i,e){const s=!!i.match(/\n/);e&&s&&e.selectionEndthis._updateHistoryDelayer.cancel()))),this._register(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration((t=>{if(t.hasChanged(90)&&(this._codeEditor.getOption(90)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),t.hasChanged(143)&&this._tryUpdateWidgetWidth(),t.hasChanged(2)&&this.updateAccessibilitySupport(),t.hasChanged(41)){const t=this._codeEditor.getOption(41).loop;this._state.change({loop:t},!1);const i=this._codeEditor.getOption(41).addExtraSpaceOnTop;i&&!this._viewZone&&(this._viewZone=new g4(0),this._showViewZone()),!i&&this._viewZone&&this._removeViewZone()}}))),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection((()=>{this._isVisible&&this._updateToggleSelectionFindButton()}))),this._register(this._codeEditor.onDidFocusEditorWidget((async()=>{if(this._isVisible){const t=await this._controller.getGlobalBufferTerm();t&&t!==this._state.searchString&&(this._state.change({searchString:t},!1),this._findInput.select())}}))),this._findInputFocused=o2.bindTo(o),this._findFocusTracker=this._register(Rl(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus((()=>{this._findInputFocused.set(!0),this._updateSearchScope()}))),this._register(this._findFocusTracker.onDidBlur((()=>{this._findInputFocused.set(!1)}))),this._replaceInputFocused=r2.bindTo(o),this._replaceFocusTracker=this._register(Rl(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus((()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()}))),this._register(this._replaceFocusTracker.onDidBlur((()=>{this._replaceInputFocused.set(!1)}))),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new g4(0)),this._register(this._codeEditor.onDidChangeModel((()=>{this._isVisible&&(this._viewZoneId=void 0)}))),this._register(this._codeEditor.onDidScrollChange((t=>{t.scrollTopChanged?this._layoutViewZone():setTimeout((()=>{this._layoutViewZone()}),0)})))}getId(){return v4.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(t){if(t.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}t.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),t.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),t.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getOption(90)||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=ol(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(t.isRevealed||t.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),t.isRegex&&this._findInput.setRegex(this._state.isRegex),t.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),t.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),t.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),t.searchScope&&(this._toggleSelectionFind.checked=!!this._state.searchScope,this._updateToggleSelectionFindButton()),(t.searchString||t.matchesCount||t.matchesPosition)&&(this._domNode.classList.toggle("no-results",this._state.searchString.length>0&&0===this._state.matchesCount),this._updateMatchesCount(),this._updateButtons()),(t.searchString||t.currentMatch)&&this._layoutViewZone(),t.updateHistory&&this._delayedUpdateHistory(),t.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,Pi)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){let t;if(this._matchesCount.style.minWidth=d4+"px",this._matchesCount.title=this._state.matchesCount>=x2?c4:"",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild),this._state.matchesCount>0){let i=String(this._state.matchesCount);this._state.matchesCount>=x2&&(i+="+");let e=String(this._state.matchesPosition);"0"===e&&(e="?"),t=qn(a4,e,i)}else t=l4;this._matchesCount.appendChild(document.createTextNode(t)),Tm(this._getAriaLabel(t,this._state.currentMatch,this._state.searchString)),d4=Math.max(d4,this._matchesCount.clientWidth)}_getAriaLabel(t,i,e){if(t===l4)return""===e?rt(0,"{0} found",t):rt(0,"{0} found for '{1}'",t,e);if(i){const s=rt(0,"{0} found for '{1}', at {2}",t,e,i.startLineNumber+":"+i.startColumn),n=this._codeEditor.getModel();return n&&i.startLineNumber<=n.getLineCount()&&i.startLineNumber>=1?`${n.getLineContent(i.startLineNumber)}, ${s}`:s}return rt(0,"{0} found for '{1}'",t,e)}_updateToggleSelectionFindButton(){const t=this._codeEditor.getSelection();this._isVisible&&(this._toggleSelectionFind.checked||t&&(t.startLineNumber!==t.endLineNumber||t.startColumn!==t.endColumn))?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const t=this._state.searchString.length>0,i=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&t&&i&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&t&&i&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&t),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&t),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const e=!this._codeEditor.getOption(90);this._toggleReplaceBtn.setEnabled(this._isVisible&&e)}_reveal(){if(this._revealTimeouts.forEach((t=>{clearTimeout(t)})),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const t=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":this._toggleSelectionFind.checked=!!t&&t.startLineNumber!==t.endLineNumber}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout((()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")}),0)),this._revealTimeouts.push(setTimeout((()=>{this._findInput.validate()}),200)),this._codeEditor.layoutOverlayWidget(this);let i=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&t){const e=this._codeEditor.getDomNode();if(e){const s=nl(e),n=this._codeEditor.getScrolledVisiblePosition(t.getStartPosition()),o=s.left+(n?n.left:0);if(this._viewZone&&(n?n.top:0)t.startLineNumber&&(i=!1);const e=sl(this._domNode).left;o>e&&(i=!1);const n=this._codeEditor.getScrolledVisiblePosition(t.getEndPosition());s.left+(n?n.left:0)>e&&(i=!1)}}}this._showViewZone(i)}}_hide(t){this._revealTimeouts.forEach((t=>{clearTimeout(t)})),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),t&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(t){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return void this._removeViewZone();if(!this._isVisible)return;const i=this._viewZone;void 0===this._viewZoneId&&i&&this._codeEditor.changeViewZones((e=>{i.heightInPx=this._getHeight(),this._viewZoneId=e.addZone(i),this._codeEditor.setScrollTop(t||this._codeEditor.getScrollTop()+i.heightInPx)}))}_showViewZone(t=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;void 0===this._viewZone&&(this._viewZone=new g4(0));const i=this._viewZone;this._codeEditor.changeViewZones((e=>{if(void 0!==this._viewZoneId){const s=this._getHeight();if(s===i.heightInPx)return;const n=s-i.heightInPx;return i.heightInPx=s,e.layoutZone(this._viewZoneId),void(t&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+n))}{let s=this._getHeight();if(s-=this._codeEditor.getOption(83).top,s<=0)return;i.heightInPx=s,this._viewZoneId=e.addZone(i),t&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s)}}))}_removeViewZone(){this._codeEditor.changeViewZones((t=>{void 0!==this._viewZoneId&&(t.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))}))}_tryUpdateWidgetWidth(){if(!this._isVisible)return;if(!this._domNode.isConnected)return;const t=this._codeEditor.getLayoutInfo();if(t.contentWidth<=0)return void this._domNode.classList.add("hiddenEditor");this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const i=t.width,e=t.minimap.minimapWidth;let s=!1,n=!1,o=!1;if(this._resized&&ol(this._domNode)>u4)return this._domNode.style.maxWidth=i-28-e-15+"px",void(this._replaceInput.width=ol(this._findInput.domNode));if(447+e>=i&&(n=!0),447+e-d4>=i&&(o=!0),447+e-d4>=i+50&&(s=!0),this._domNode.classList.toggle("collapsed-find-widget",s),this._domNode.classList.toggle("narrow-find-widget",o),this._domNode.classList.toggle("reduced-find-widget",n),o||s||(this._domNode.style.maxWidth=i-28-e-15+"px"),this._findInput.layout({collapsedFindWidget:s,narrowFindWidget:o,reducedFindWidget:n}),this._resized){const t=this._findInput.inputBox.element.clientWidth;t>0&&(this._replaceInput.width=t)}else this._isReplaceVisible&&(this._replaceInput.width=ol(this._findInput.domNode))}_getHeight(){let t=0;return t+=4,t+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(t+=4,t+=this._replaceInput.inputBox.height+2),t+=4,t}_tryUpdateHeight(){const t=this._getHeight();return(null===this._cachedHeight||this._cachedHeight!==t)&&(this._cachedHeight=t,this._domNode.style.height=`${t}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const t=this._codeEditor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.startLineNumber===t.endLineNumber||Ms.equalsRange(t,this._state.currentMatch)?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}_onFindInputMouseDown(t){t.middleButton&&t.stopPropagation()}_onFindInputKeyDown(t){return t.equals(3|p4)?(this._keybindingService.dispatchEvent(t,t.target)||this._findInput.inputBox.insertAtCursor("\n"),void t.preventDefault()):t.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void t.preventDefault()):t.equals(2066)?(this._codeEditor.focus(),void t.preventDefault()):t.equals(16)?m4(t,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):t.equals(18)?w4(t,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0}_onReplaceInputKeyDown(t){return t.equals(3|p4)?(this._keybindingService.dispatchEvent(t,t.target)||(Ct&&Et&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(rt(0,"Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(f4,!0,0,0)),this._replaceInput.inputBox.insertAtCursor("\n")),void t.preventDefault()):t.equals(2)?(this._findInput.focusOnCaseSensitive(),void t.preventDefault()):t.equals(1026)?(this._findInput.focus(),void t.preventDefault()):t.equals(2066)?(this._codeEditor.focus(),void t.preventDefault()):t.equals(16)?m4(t,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):t.equals(18)?w4(t,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):void 0}getVerticalSashLeft(t){return 0}_keybindingLabelFor(t){const i=this._keybindingService.lookupKeybinding(t);return i?` (${i.getLabel()})`:""}_buildDomNode(){this._findInput=this._register(new W2(null,this._contextViewProvider,{width:221,label:J2,placeholder:Y2,appendCaseSensitiveLabel:this._keybindingLabelFor(g2),appendWholeWordsLabel:this._keybindingLabelFor(m2),appendRegexLabel:this._keybindingLabelFor(w2),validation:t=>{if(0===t.length||!this._findInput.getRegex())return null;try{return null}catch(t){return{content:t.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>z2(this._keybindingService),inputBoxStyles:EB,toggleStyles:DB},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown((t=>this._onFindInputKeyDown(t)))),this._register(this._findInput.inputBox.onDidChange((()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)}))),this._register(this._findInput.onDidOptionChange((()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)}))),this._register(this._findInput.onCaseSensitiveKeyDown((t=>{t.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),t.preventDefault())}))),this._register(this._findInput.onRegexKeyDown((t=>{t.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),t.preventDefault())}))),this._register(this._findInput.inputBox.onDidHeightChange((()=>{this._tryUpdateHeight()&&this._showViewZone()}))),Dt&&this._register(this._findInput.onMouseDown((t=>this._onFindInputMouseDown(t)))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new b4({label:X2+this._keybindingLabelFor(f2),icon:G2,onTrigger:()=>{G(this._codeEditor.getAction(f2)).run().then(void 0,Pi)}})),this._nextBtn=this._register(new b4({label:t4+this._keybindingLabelFor(d2),icon:Z2,onTrigger:()=>{G(this._codeEditor.getAction(d2)).run().then(void 0,Pi)}}));const t=document.createElement("div");t.className="find-part",t.appendChild(this._findInput.domNode);const i=document.createElement("div");i.className="find-actions",t.appendChild(i),i.appendChild(this._matchesCount),i.appendChild(this._prevBtn.domNode),i.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new KP({icon:H2,title:i4+this._keybindingLabelFor(v2),isChecked:!1,inputActiveOptionBackground:ew(bw),inputActiveOptionBorder:ew(vw),inputActiveOptionForeground:ew(yw)})),this._register(this._toggleSelectionFind.onChange((()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){const t=this._codeEditor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}else this._state.change({searchScope:null},!0)}))),i.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new b4({label:e4+this._keybindingLabelFor(p2),icon:Wz,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:t=>{t.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),t.preventDefault())}})),this._replaceInput=this._register(new j2(null,void 0,{label:s4,placeholder:n4,appendPreserveCaseLabel:this._keybindingLabelFor(b2),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>z2(this._keybindingService),inputBoxStyles:EB,toggleStyles:DB},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown((t=>this._onReplaceInputKeyDown(t)))),this._register(this._replaceInput.inputBox.onDidChange((()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)}))),this._register(this._replaceInput.inputBox.onDidHeightChange((()=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()}))),this._register(this._replaceInput.onDidOptionChange((()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)}))),this._register(this._replaceInput.onPreserveCaseKeyDown((t=>{t.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),t.preventDefault())}))),this._replaceBtn=this._register(new b4({label:o4+this._keybindingLabelFor(y2),icon:q2,onTrigger:()=>{this._controller.replace()},onKeyDown:t=>{t.equals(1026)&&(this._closeBtn.focus(),t.preventDefault())}})),this._replaceAllBtn=this._register(new b4({label:r4+this._keybindingLabelFor(k2),icon:K2,onTrigger:()=>{this._controller.replaceAll()}}));const e=document.createElement("div");e.className="replace-part",e.appendChild(this._replaceInput.domNode);const s=document.createElement("div");s.className="replace-actions",e.appendChild(s),s.appendChild(this._replaceBtn.domNode),s.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new b4({label:h4,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=ol(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=Q2,this._domNode.role="dialog",this._domNode.style.width="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(t),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(e),this._resizeSash=new NP(this._domNode,this,{orientation:0,size:2}),this._resized=!1;let n=u4;this._register(this._resizeSash.onDidStart((()=>{n=ol(this._domNode)}))),this._register(this._resizeSash.onDidChange((t=>{this._resized=!0;const i=n+t.startX-t.currentX;i(parseFloat(Xa(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${i}px`,this._isReplaceVisible&&(this._replaceInput.width=ol(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())}))),this._register(this._resizeSash.onDidReset((()=>{const t=ol(this._domNode);if(t{this._opts.onTrigger(),t.preventDefault()})),this.onkeydown(this._domNode,(t=>{var i,e;if(t.equals(10)||t.equals(3))return this._opts.onTrigger(),void t.preventDefault();null===(e=(i=this._opts).onKeyDown)||void 0===e||e.call(i,t)}))}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(t){this._domNode.classList.toggle("disabled",!t),this._domNode.setAttribute("aria-disabled",String(!t)),this._domNode.tabIndex=t?0:-1}setExpanded(t){this._domNode.setAttribute("aria-expanded",String(!!t)),t?(this._domNode.classList.remove(...Cr.asClassNameArray(V2)),this._domNode.classList.add(...Cr.asClassNameArray(U2))):(this._domNode.classList.remove(...Cr.asClassNameArray(U2)),this._domNode.classList.add(...Cr.asClassNameArray(V2)))}}Jk(((t,i)=>{const e=(t,e)=>{e&&i.addRule(`.monaco-editor ${t} { background-color: ${e}; }`)};e(".findMatch",t.getColor(xv)),e(".currentFindMatch",t.getColor(kv)),e(".findScope",t.getColor(Cv)),e(".find-widget",t.getColor(nv));const s=t.getColor(fw);s&&i.addRule(`.monaco-editor .find-widget { box-shadow: 0 0 8px 2px ${s}; }`);const n=t.getColor(pw);n&&i.addRule(`.monaco-editor .find-widget { border-left: 1px solid ${n}; border-right: 1px solid ${n}; border-bottom: 1px solid ${n}; }`);const o=t.getColor(Dv);o&&i.addRule(`.monaco-editor .findMatch { border: 1px ${_y(t.type)?"dotted":"solid"} ${o}; box-sizing: border-box; }`);const r=t.getColor(Sv);r&&i.addRule(`.monaco-editor .currentFindMatch { border: 2px solid ${r}; padding: 1px; box-sizing: border-box; }`);const h=t.getColor(Ev);h&&i.addRule(`.monaco-editor .findScope { border: 1px ${_y(t.type)?"dashed":"solid"} ${h}; }`);const c=t.getColor(lw);c&&i.addRule(`.monaco-editor .find-widget { border: 1px solid ${c}; }`);const a=t.getColor(ov);a&&i.addRule(`.monaco-editor .find-widget { color: ${a}; }`);const l=t.getColor(hw);l&&i.addRule(`.monaco-editor .find-widget.no-results .matchesCount { color: ${l}; }`);const u=t.getColor(hv);if(u)i.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${u}; }`);else{const e=t.getColor(rv);e&&i.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${e}; }`)}const d=t.getColor(Lb);d&&i.addRule(`\n\t\t.monaco-editor .find-widget .button:not(.disabled):hover,\n\t\t.monaco-editor .find-widget .codicon-find-selection:hover {\n\t\t\tbackground-color: ${d} !important;\n\t\t}\n\t`);const f=t.getColor(aw);f&&i.addRule(`.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${f}; }`)}));var y4,k4=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},x4=function(t,i){return function(e,s){i(e,s,t)}};function C4(t,i="single",e=!1){if(!t.hasModel())return null;const s=t.getSelection();if("single"===i&&s.startLineNumber===s.endLineNumber||"multiple"===i)if(s.isEmpty()){const i=t.getConfiguredWordAtPosition(s.getStartPosition());if(i&&!1===e)return i.word}else if(t.getModel().getValueLengthInRange(s)<524288)return t.getModel().getValueInRange(s);return null}let S4=y4=class extends ie{get editor(){return this._editor}static get(t){return t.getContribution(y4.ID)}constructor(t,i,e,s,n){super(),this._editor=t,this._findWidgetVisible=n2.bindTo(i),this._contextKeyService=i,this._storageService=e,this._clipboardService=s,this._notificationService=n,this._updateHistoryDelayer=new hc(500),this._state=this._register(new E2),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this._model=null,this._register(this._editor.onDidChangeModel((()=>{const t=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),t&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})})))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(t){this.saveQueryState(t),t.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),t.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(t){t.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),t.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),t.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),t.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!o2.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){const t=this._editor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}setSearchString(t){this._state.isRegex&&(t=Gn(t)),this._state.change({searchString:t},!1)}highlightFindOptions(t=!1){}async _start(t,i){if(this.disposeModel(),!this._editor.hasModel())return;const e={...i,isRevealed:!0};if("single"===t.seedSearchStringFromSelection){const i=C4(this._editor,t.seedSearchStringFromSelection,t.seedSearchStringFromNonEmptySelection);i&&(e.searchString=this._state.isRegex?Gn(i):i)}else if("multiple"===t.seedSearchStringFromSelection&&!t.updateSearchScope){const i=C4(this._editor,t.seedSearchStringFromSelection);i&&(e.searchString=i)}if(!e.searchString&&t.seedSearchStringFromGlobalClipboard){const t=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;t&&(e.searchString=t)}if(t.forceRevealReplace||e.isReplaceRevealed?e.isReplaceRevealed=!0:this._findWidgetVisible.get()||(e.isReplaceRevealed=!1),t.updateSearchScope){const t=this._editor.getSelections();t.some((t=>!t.isEmpty()))&&(e.searchScope=t)}e.loop=t.loop,this._state.change(e,!1),this._model||(this._model=new C2(this._editor,this._state))}start(t,i){return this._start(t,i)}moveToNextMatch(){return!!this._model&&(this._model.moveToNextMatch(),!0)}moveToPrevMatch(){return!!this._model&&(this._model.moveToPrevMatch(),!0)}goToMatch(t){return!!this._model&&(this._model.moveToMatch(t),!0)}replace(){return!!this._model&&(this._model.replace(),!0)}replaceAll(){var t;return!!this._model&&((null===(t=this._editor.getModel())||void 0===t?void 0:t.isTooLargeForHeapOperation())?(this._notificationService.warn(rt(0,"The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0))}selectAllMatches(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(t){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(t)}};S4.ID="editor.contrib.findController",S4=y4=k4([x4(1,ah),x4(2,bB),x4(3,dH),x4(4,JF)],S4);let D4=class extends S4{constructor(t,i,e,s,n,o,r,h){super(t,e,r,h,o),this._contextViewService=i,this._keybindingService=s,this._themeService=n,this._widget=null,this._findOptionsWidget=null}async _start(t,i){this._widget||this._createFindWidget();const e=this._editor.getSelection();let s=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":s=!0;break;case"never":s=!1;break;case"multiline":s=!!e&&e.startLineNumber!==e.endLineNumber}t.updateSearchScope=t.updateSearchScope||s,await super._start(t,i),this._widget&&(2===t.shouldFocus?this._widget.focusReplaceInput():1===t.shouldFocus&&this._widget.focusFindInput())}highlightFindOptions(t=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!t?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new v4(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new S2(this._editor,this._state,this._keybindingService))}};D4=k4([x4(1,iI),x4(2,ah),x4(3,Yx),x4(4,qk),x4(5,JF),x4(6,bB),x4(7,dH)],D4),au(new nu({id:"actions.find",label:rt(0,"Find"),alias:"Find",precondition:zr.or(UC.focus,zr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Rh.MenubarEditMenu,group:"3_find",title:rt(0,"&&Find"),order:1}})).addImplementation(0,((t,i)=>{const e=S4.get(i);return!!e&&e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:i.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop})}));const E4={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},regex:{type:"boolean"},regexOverride:{type:"number",description:rt(0,'Overrides "Use Regular Expression" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},wholeWord:{type:"boolean"},wholeWordOverride:{type:"number",description:rt(0,'Overrides "Match Whole Word" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},matchCase:{type:"boolean"},matchCaseOverride:{type:"number",description:rt(0,'Overrides "Math Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},preserveCase:{type:"boolean"},preserveCaseOverride:{type:"number",description:rt(0,'Overrides "Preserve Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},findInSelection:{type:"boolean"}}}}]};class A4 extends su{async run(t,i){const e=S4.get(i);e&&!this._run(e)&&(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===e.getState().searchString.length&&"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),this._run(e))}}class M4 extends su{async run(t,i){const e=S4.get(i);if(!e)return;const s=C4(i,"single",!1);s&&e.setSearchString(s),this._run(e)||(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),this._run(e))}}au(new nu({id:"editor.action.startFindReplaceAction",label:rt(0,"Replace"),alias:"Replace",precondition:zr.or(UC.focus,zr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Rh.MenubarEditMenu,group:"3_find",title:rt(0,"&&Replace"),order:2}})).addImplementation(0,((t,i)=>{if(!i.hasModel()||i.getOption(90))return!1;const e=S4.get(i);if(!e)return!1;const s=i.getSelection(),n=e.isFindInputFocused(),o=!s.isEmpty()&&s.startLineNumber===s.endLineNumber&&"never"!==i.getOption(41).seedSearchStringFromSelection&&!n,r=n||o?2:1;return e.start({forceRevealReplace:!0,seedSearchStringFromSelection:o?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:"never"!==i.getOption(41).seedSearchStringFromSelection,shouldFocus:r,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop})})),lu(S4.ID,D4,0),cu(class extends su{constructor(){super({id:"editor.actions.findWithArgs",label:rt(0,"Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:E4})}async run(t,i,e){const s=S4.get(i);if(s){const t=e?{searchString:e.searchString,replaceString:e.replaceString,isReplaceRevealed:void 0!==e.replaceString,isRegex:e.isRegex,wholeWord:e.matchWholeWord,matchCase:e.isCaseSensitive,preserveCase:e.preserveCase}:{};await s.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===s.getState().searchString.length&&"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(null==e?void 0:e.findInSelection)||!1,loop:i.getOption(41).loop},t),s.setGlobalBufferTerm(s.getState().searchString)}}}),cu(class extends su{constructor(){super({id:"actions.findWithSelection",label:rt(0,"Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(t,i){const e=S4.get(i);e&&(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),e.setGlobalBufferTerm(e.getState().searchString))}}),cu(class extends A4{constructor(){super({id:d2,label:rt(0,"Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:UC.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:zr.and(UC.focus,o2),primary:3,weight:100}]})}_run(t){return!!t.moveToNextMatch()&&(t.editor.pushUndoStop(),!0)}}),cu(class extends A4{constructor(){super({id:f2,label:rt(0,"Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:UC.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:zr.and(UC.focus,o2),primary:1027,weight:100}]})}_run(t){return t.moveToPrevMatch()}}),cu(class extends su{constructor(){super({id:"editor.action.goToMatchFindAction",label:rt(0,"Go to Match..."),alias:"Go to Match...",precondition:n2}),this._highlightDecorations=[]}run(t,i,e){const s=S4.get(i);if(!s)return;const n=s.getState().matchesCount;if(n<1)return void t.get(JF).notify({severity:QF.Warning,message:rt(0,"No matches. Try searching for something else.")});const o=t.get(Dj).createInputBox();o.placeholder=rt(0,"Type a number to go to a specific match (between 1 and {0})",n);const r=t=>{const i=parseInt(t);if(isNaN(i))return;const e=s.getState().matchesCount;return i>0&&i<=e?i-1:i<0&&i>=-e?e+i:void 0},h=t=>{const e=r(t);if("number"==typeof e){o.validationMessage=void 0,s.goToMatch(e);const t=s.getState().currentMatch;t&&this.addDecorations(i,t)}else o.validationMessage=rt(0,"Please type a number between 1 and {0}",s.getState().matchesCount),this.clearDecorations(i)};o.onDidChangeValue((t=>{h(t)})),o.onDidAccept((()=>{const t=r(o.value);"number"==typeof t?(s.goToMatch(t),o.hide()):o.validationMessage=rt(0,"Please type a number between 1 and {0}",s.getState().matchesCount)})),o.onDidHide((()=>{this.clearDecorations(i),o.dispose()})),o.show()}clearDecorations(t){t.changeDecorations((t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])}))}addDecorations(t,i){t.changeDecorations((t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[{range:i,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:i,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:Kk(Dx),position:Mf.Full}}}])}))}}),cu(class extends M4{constructor(){super({id:"editor.action.nextSelectionMatchFindAction",label:rt(0,"Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:2109,weight:100}})}_run(t){return t.moveToNextMatch()}}),cu(class extends M4{constructor(){super({id:"editor.action.previousSelectionMatchFindAction",label:rt(0,"Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:3133,weight:100}})}_run(t){return t.moveToPrevMatch()}});const L4=eu.bindToContribution(S4.get);hu(new L4({id:p2,precondition:n2,handler:t=>t.closeFindWidget(),kbOpts:{weight:105,kbExpr:zr.and(UC.focus,zr.not("isComposing")),primary:9,secondary:[1033]}})),hu(new L4({id:g2,precondition:void 0,handler:t=>t.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:UC.focus,primary:h2.primary,mac:h2.mac,win:h2.win,linux:h2.linux}})),hu(new L4({id:m2,precondition:void 0,handler:t=>t.toggleWholeWords(),kbOpts:{weight:105,kbExpr:UC.focus,primary:c2.primary,mac:c2.mac,win:c2.win,linux:c2.linux}})),hu(new L4({id:w2,precondition:void 0,handler:t=>t.toggleRegex(),kbOpts:{weight:105,kbExpr:UC.focus,primary:a2.primary,mac:a2.mac,win:a2.win,linux:a2.linux}})),hu(new L4({id:v2,precondition:void 0,handler:t=>t.toggleSearchScope(),kbOpts:{weight:105,kbExpr:UC.focus,primary:l2.primary,mac:l2.mac,win:l2.win,linux:l2.linux}})),hu(new L4({id:b2,precondition:void 0,handler:t=>t.togglePreserveCase(),kbOpts:{weight:105,kbExpr:UC.focus,primary:u2.primary,mac:u2.mac,win:u2.win,linux:u2.linux}})),hu(new L4({id:y2,precondition:n2,handler:t=>t.replace(),kbOpts:{weight:105,kbExpr:UC.focus,primary:3094}})),hu(new L4({id:y2,precondition:n2,handler:t=>t.replace(),kbOpts:{weight:105,kbExpr:zr.and(UC.focus,r2),primary:3}})),hu(new L4({id:k2,precondition:n2,handler:t=>t.replaceAll(),kbOpts:{weight:105,kbExpr:UC.focus,primary:2563}})),hu(new L4({id:k2,precondition:n2,handler:t=>t.replaceAll(),kbOpts:{weight:105,kbExpr:zr.and(UC.focus,r2),primary:void 0,mac:{primary:2051}}})),hu(new L4({id:"editor.action.selectAllMatches",precondition:n2,handler:t=>t.selectAllMatches(),kbOpts:{weight:105,kbExpr:UC.focus,primary:515}}));const F4={0:" ",1:"u",2:"r"},T4=16777215,R4=4278190080;class O4{constructor(t){const i=Math.ceil(t/32);this._states=new Uint32Array(i)}get(t){return 0!=(this._states[t/32|0]&1<65535)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=t,this._endIndexes=i,this._collapseStates=new O4(t.length),this._userDefinedStates=new O4(t.length),this._recoveredStates=new O4(t.length),this._types=e,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const t=[],i=(i,e)=>{const s=t[t.length-1];return this.getStartLineNumber(s)<=i&&this.getEndLineNumber(s)>=e};for(let e=0,s=this._startIndexes.length;eT4||n>T4)throw new Error("startLineNumber or endLineNumber must not exceed "+T4);for(;t.length>0&&!i(s,n);)t.pop();const o=t.length>0?t[t.length-1]:-1;t.push(e),this._startIndexes[e]=s+((255&o)<<24),this._endIndexes[e]=n+((65280&o)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(t){return this._startIndexes[t]&T4}getEndLineNumber(t){return this._endIndexes[t]&T4}getType(t){return this._types?this._types[t]:void 0}hasTypes(){return!!this._types}isCollapsed(t){return this._collapseStates.get(t)}setCollapsed(t,i){this._collapseStates.set(t,i)}isUserDefined(t){return this._userDefinedStates.get(t)}setUserDefined(t,i){return this._userDefinedStates.set(t,i)}isRecovered(t){return this._recoveredStates.get(t)}setRecovered(t,i){return this._recoveredStates.set(t,i)}getSource(t){return this.isUserDefined(t)?1:this.isRecovered(t)?2:0}setSource(t,i){1===i?(this.setUserDefined(t,!0),this.setRecovered(t,!1)):2===i?(this.setUserDefined(t,!1),this.setRecovered(t,!0)):(this.setUserDefined(t,!1),this.setRecovered(t,!1))}setCollapsedAllOfType(t,i){let e=!1;if(this._types)for(let s=0;s>>24)+((this._endIndexes[t]&R4)>>>16);return 65535===i?-1:i}contains(t,i){return this.getStartLineNumber(t)<=i&&this.getEndLineNumber(t)>=i}findIndex(t){let i=0,e=this._startIndexes.length;if(0===e)return-1;for(;i=0){if(this.getEndLineNumber(i)>=t)return i;for(i=this.getParentIndex(i);-1!==i;){if(this.contains(i,t))return i;i=this.getParentIndex(i)}}return-1}toString(){const t=[];for(let i=0;iArray.isArray(t)?e=>ee=a.startLineNumber))c&&c.startLineNumber===a.startLineNumber?(1===a.source?t=a:(t=c,t.isCollapsed=a.isCollapsed&&c.endLineNumber===a.endLineNumber,t.source=0),c=n(++r)):(t=a,a.isCollapsed&&0===a.source&&(t.source=2)),a=o(++h);else{let i=h,e=a;for(;;){if(!e||e.startLineNumber>c.endLineNumber){t=c;break}if(1===e.source&&e.endLineNumber>c.endLineNumber)break;e=o(++i)}c=n(++r)}if(t){for(;u&&u.endLineNumbert.startLineNumber&&t.startLineNumber>d&&t.endLineNumber<=e&&(!u||u.endLineNumber>=t.endLineNumber)&&(f.push(t),d=t.startLineNumber,u&&l.push(u),u=t)}}return f}}class _4{constructor(t,i){this.ranges=t,this.index=i}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(t){return t.startLineNumber<=this.startLineNumber&&t.endLineNumber>=this.endLineNumber}containsLine(t){return this.startLineNumber<=t&&t<=this.endLineNumber}}class N4{get regions(){return this._regions}get textModel(){return this._textModel}constructor(t,i){this._updateEventEmitter=new fe,this.onDidChange=this._updateEventEmitter.event,this._textModel=t,this._decorationProvider=i,this._regions=new I4(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(t){if(!t.length)return;t=t.sort(((t,i)=>t.regionIndex-i.regionIndex));const i={};this._decorationProvider.changeDecorations((e=>{let s=0,n=-1,o=-1;const r=t=>{for(;so&&(o=t),s++}};for(const e of t){const t=e.regionIndex,s=this._editorDecorationIds[t];if(s&&!i[s]){i[s]=!0,r(t);const e=!this._regions.isCollapsed(t);this._regions.setCollapsed(t,e),n=Math.max(n,this._regions.getEndLineNumber(t))}}r(this._regions.length)})),this._updateEventEmitter.fire({model:this,collapseStateChanged:t})}removeManualRanges(t){const i=new Array,e=i=>{for(const e of t)if(!(e.startLineNumber>i.endLineNumber||i.startLineNumber>e.endLineNumber))return!0;return!1};for(let t=0;te&&(e=o)}this._decorationProvider.changeDecorations((t=>this._editorDecorationIds=t.deltaDecorations(this._editorDecorationIds,i))),this._regions=t,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(t=[]){const i=(i,e)=>{for(const s of t)if(i=n.endLineNumber||n.startLineNumber<1||n.endLineNumber>e)continue;const o=this._getLinesChecksum(n.startLineNumber+1,n.endLineNumber);i.push({startLineNumber:n.startLineNumber,endLineNumber:n.endLineNumber,isCollapsed:n.isCollapsed,source:n.source,checksum:o})}return i.length>0?i:void 0}applyMemento(t){var i,e;if(!Array.isArray(t))return;const s=[],n=this._textModel.getLineCount();for(const o of t){if(o.startLineNumber>=o.endLineNumber||o.startLineNumber<1||o.endLineNumber>n)continue;const t=this._getLinesChecksum(o.startLineNumber+1,o.endLineNumber);o.checksum&&t!==o.checksum||s.push({startLineNumber:o.startLineNumber,endLineNumber:o.endLineNumber,type:void 0,isCollapsed:null===(i=o.isCollapsed)||void 0===i||i,source:null!==(e=o.source)&&void 0!==e?e:0})}const o=I4.sanitizeAndMerge(this._regions,s,n);this.updatePost(I4.fromFoldRanges(o))}_getLinesChecksum(t,i){return Ma(this._textModel.getLineContent(t)+this._textModel.getLineContent(i))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(t,i){const e=[];if(this._regions){let s=this._regions.findRange(t),n=1;for(;s>=0;){const t=this._regions.toRegion(s);i&&!i(t,n)||e.push(t),n++,s=t.parentIndex}}return e}getRegionAtLine(t){if(this._regions){const i=this._regions.findRange(t);if(i>=0)return this._regions.toRegion(i)}return null}getRegionsInside(t,i){const e=[],s=t?t.regionIndex+1:0,n=t?t.endLineNumber:Number.MAX_VALUE;if(i&&2===i.length){const t=[];for(let o=s,r=this._regions.length;o0&&!s.containedBy(t[t.length-1]);)t.pop();t.push(s),i(s,t.length)&&e.push(s)}}else for(let t=s,o=this._regions.length;t1){const o=t.getRegionsInside(e,((t,e)=>t.isCollapsed!==n&&e0)for(const o of s){const s=t.getRegionAtLine(o);if(s&&(s.isCollapsed!==i&&n.push(s),e>1)){const o=t.getRegionsInside(s,((t,s)=>t.isCollapsed!==i&&st.isCollapsed!==i&&st.isCollapsed!==i&&s<=e));n.push(...s)}t.toggleCollapseState(n)}function W4(t,i,e){const s=[];for(const i of e){const e=t.getAllRegionsAtLine(i,void 0);e.length>0&&s.push(e[0])}const n=t.getRegionsInside(null,(t=>s.every((i=>!i.containedBy(t)&&!t.containedBy(i)))&&t.isCollapsed!==i));t.toggleCollapseState(n)}function j4(t,i,e){const s=t.textModel,n=t.regions,o=[];for(let t=n.length-1;t>=0;t--)if(e!==n.isCollapsed(t)){const e=n.getStartLineNumber(t);i.test(s.getLineContent(e))&&o.push(n.toRegion(t))}t.toggleCollapseState(o)}function z4(t,i,e){const s=t.regions,n=[];for(let t=s.length-1;t>=0;t--)e!==s.isCollapsed(t)&&i===s.getType(t)&&n.push(s.toRegion(t));t.toggleCollapseState(n)}class H4{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(t){this._updateEventEmitter=new fe,this._hasLineChanges=!1,this._foldingModel=t,this._foldingModelListener=t.onDidChange((()=>this.updateHiddenRanges())),this._hiddenRanges=[],t.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(t){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=t.changes.some((t=>t.range.endLineNumber!==t.range.startLineNumber||0!==WD(t.text)[0])))}updateHiddenRanges(){let t=!1;const i=[];let e=0,s=0,n=Number.MAX_VALUE,o=-1;const r=this._foldingModel.regions;for(;e0}isHidden(t){return null!==V4(this._hiddenRanges,t)}adjustSelections(t){let i=!1;const e=this._foldingModel.textModel;let s=null;const n=t=>(s&&function(t,i){return t>=i.startLineNumber&&t<=i.endLineNumber}(t,s)||(s=V4(this._hiddenRanges,t)),s?s.startLineNumber-1:null);for(let s=0,o=t.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function V4(t,i){const e=ep(t,(t=>i=0&&t[e].endLineNumber>=i?t[e]:null}class U4{constructor(t,i,e){this.editorModel=t,this.languageConfigurationService=i,this.foldingRangesLimit=e,this.id="indent"}dispose(){}compute(t){const i=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules;return Promise.resolve(function(t,i,e,s=K4){const n=t.getOptions().tabSize,o=new q4(s);let r;e&&(r=new RegExp(`(${e.start.source})|(?:${e.end.source})`));const h=[],c=t.getLineCount()+1;h.push({indent:-1,endAbove:c,line:c});for(let e=t.getLineCount();e>0;e--){const s=t.getLineContent(e),c=DS(s,n);let a,l=h[h.length-1];if(-1!==c){if(r&&(a=s.match(r))){if(!a[1]){h.push({indent:-2,endAbove:e,line:e});continue}{let t=h.length-1;for(;t>0&&-2!==h[t].indent;)t--;if(t>0){h.length=t+1,l=h[t],o.insertFirst(e,l.line,c),l.line=e,l.indent=c,l.endAbove=e;continue}}}if(l.indent>c){do{h.pop(),l=h[h.length-1]}while(l.indent>c);const t=l.endAbove-1;t-e>=1&&o.insertFirst(e,t,c)}l.indent===c?l.endAbove=e:h.push({indent:c,endAbove:e,line:e})}else i&&(l.endAbove=e)}return o.toIndentRanges(t)}(this.editorModel,i&&!!i.offSide,i&&i.markers,this.foldingRangesLimit))}}class q4{constructor(t){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=t}insertFirst(t,i,e){if(t>T4||i>T4)return;const s=this._length;this._startIndexes[s]=t,this._endIndexes[s]=i,this._length++,e<1e3&&(this._indentOccurrences[e]=(this._indentOccurrences[e]||0)+1)}toIndentRanges(t){const i=this._foldingRangesLimit.limit;if(this._length<=i){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let e=this._length-1,s=0;e>=0;e--,s++)t[s]=this._startIndexes[e],i[s]=this._endIndexes[e];return new I4(t,i)}{this._foldingRangesLimit.update(this._length,i);let e=0,s=this._indentOccurrences.length;for(let t=0;ti){s=t;break}e+=n}}const n=t.getOptions().tabSize,o=new Uint32Array(i),r=new Uint32Array(i);for(let h=this._length-1,c=0;h>=0;h--){const a=this._startIndexes[h],l=DS(t.getLineContent(a),n);(l{}},G4=ow("editor.foldBackground",{light:sy(wv,.3),dark:sy(wv,.3),hcDark:null,hcLight:null},rt(0,"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);ow("editorGutter.foldingControlForeground",{dark:cw,light:cw,hcDark:cw,hcLight:cw},rt(0,"Color of the folding control in the editor gutter."));const Z4=_z("folding-expanded",Os.chevronDown,rt(0,"Icon for expanded ranges in the editor glyph margin.")),Q4=_z("folding-collapsed",Os.chevronRight,rt(0,"Icon for collapsed ranges in the editor glyph margin.")),J4=_z("folding-manual-collapsed",Q4,rt(0,"Icon for manually collapsed ranges in the editor glyph margin.")),Y4=_z("folding-manual-expanded",Z4,rt(0,"Icon for manually expanded ranges in the editor glyph margin.")),X4={color:Kk(G4),position:Ff.Inline};class t5{constructor(t){this.editor=t,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(t,i,e){return i?t5.HIDDEN_RANGE_DECORATION:"never"===this.showFoldingControls?t?this.showFoldingHighlights?t5.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:t5.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:t5.NO_CONTROLS_EXPANDED_RANGE_DECORATION:t?e?this.showFoldingHighlights?t5.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:t5.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?t5.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:t5.COLLAPSED_VISUAL_DECORATION:"mouseover"===this.showFoldingControls?e?t5.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:t5.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:e?t5.MANUALLY_EXPANDED_VISUAL_DECORATION:t5.EXPANDED_VISUAL_DECORATION}changeDecorations(t){return this.editor.changeDecorations(t)}removeDecorations(t){this.editor.removeDecorations(t)}}t5.COLLAPSED_VISUAL_DECORATION=bL.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(Q4)}),t5.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=bL.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:X4,isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(Q4)}),t5.MANUALLY_COLLAPSED_VISUAL_DECORATION=bL.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(J4)}),t5.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=bL.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:X4,isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(J4)}),t5.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=bL.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0}),t5.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=bL.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:X4,isWholeLine:!0}),t5.EXPANDED_VISUAL_DECORATION=bL.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Cr.asClassName(Z4)}),t5.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=bL.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(Z4)}),t5.MANUALLY_EXPANDED_VISUAL_DECORATION=bL.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Cr.asClassName(Y4)}),t5.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=bL.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(Y4)}),t5.NO_CONTROLS_EXPANDED_RANGE_DECORATION=bL.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),t5.HIDDEN_RANGE_DECORATION=bL.register({description:"folding-hidden-range-decoration",stickiness:1});const i5={};class e5{constructor(t,i,e,s,n){this.editorModel=t,this.providers=i,this.handleFoldingRangesChange=e,this.foldingRangesLimit=s,this.fallbackRangeProvider=n,this.id="syntax",this.disposables=new te,n&&this.disposables.add(n);for(const t of i)"function"==typeof t.onDidChange&&this.disposables.add(t.onDidChange(e))}compute(t){return function(t,i,e){let s=null;const n=t.map(((t,n)=>Promise.resolve(t.provideFoldingRanges(i,i5,e)).then((t=>{if(!e.isCancellationRequested&&Array.isArray(t)){Array.isArray(s)||(s=[]);const e=i.getLineCount();for(const i of t)i.start>0&&i.end>i.start&&i.end<=e&&s.push({start:i.start,end:i.end,rank:n,kind:i.kind})}}),$i)));return Promise.all(n).then((()=>s))}(this.providers,this.editorModel,t).then((i=>{var e,s;return i?function(t,i){const e=t.sort(((t,i)=>{let e=t.start-i.start;return 0===e&&(e=t.rank-i.rank),e})),s=new s5(i);let n;const o=[];for(const t of e)if(n){if(t.start>n.start)if(t.end<=n.end)o.push(n),n=t,s.add(t.start,t.end,t.kind&&t.kind.value,o.length);else{if(t.start>n.end){do{n=o.pop()}while(n&&t.start>n.end);n&&o.push(n),n=t}s.add(t.start,t.end,t.kind&&t.kind.value,o.length)}}else n=t,s.add(t.start,t.end,t.kind&&t.kind.value,o.length);return s.toIndentRanges()}(i,this.foldingRangesLimit):null!==(s=null===(e=this.fallbackRangeProvider)||void 0===e?void 0:e.compute(t))&&void 0!==s?s:null}))}dispose(){this.disposables.dispose()}}class s5{constructor(t){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=t}add(t,i,e,s){if(t>T4||i>T4)return;const n=this._length;this._startIndexes[n]=t,this._endIndexes[n]=i,this._nestingLevels[n]=s,this._types[n]=e,this._length++,s<30&&(this._nestingLevelCounts[s]=(this._nestingLevelCounts[s]||0)+1)}toIndentRanges(){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let e=0;et){e=s;break}i+=n}}const s=new Uint32Array(t),n=new Uint32Array(t),o=[];for(let r=0,h=0;rthis.onModelChanged()))),this._register(this.editor.onDidChangeConfiguration((t=>{if(t.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),t.hasChanged(47)&&this.onModelChanged(),t.hasChanged(109)||t.hasChanged(45)){const t=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=t.get(109),this.foldingDecorationProvider.showFoldingHighlights=t.get(45),this.triggerFoldingModelChanged()}t.hasChanged(44)&&(this._useFoldingProviders="indentation"!==this.editor.getOptions().get(44),this.onFoldingStrategyChanged()),t.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),t.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))}))),this.onModelChanged()}saveViewState(){const t=this.editor.getModel();if(!t||!this._isEnabled||t.isTooLargeForTokenization())return{};if(this.foldingModel){const i=this.foldingModel.getMemento(),e=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:i,lineCount:t.getLineCount(),provider:e,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(t){const i=this.editor.getModel();if(i&&this._isEnabled&&!i.isTooLargeForTokenization()&&this.hiddenRangeModel&&t&&(this._currentModelHasFoldedImports=!!t.foldedImports,t.collapsedRegions&&t.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(t.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const t=this.editor.getModel();this._isEnabled&&t&&!t.isTooLargeForTokenization()&&(this._currentModelHasFoldedImports=!1,this.foldingModel=new N4(t,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new H4(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange((t=>this.onHiddenRangesChanges(t)))),this.updateScheduler=new hc(this.updateDebounceInfo.get(t)),this.cursorChangedScheduler=new pc((()=>this.revealCursor()),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange((()=>this.onFoldingStrategyChanged()))),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration((()=>this.onFoldingStrategyChanged()))),this.localToDispose.add(this.editor.onDidChangeModelContent((t=>this.onDidChangeModelContent(t)))),this.localToDispose.add(this.editor.onDidChangeCursorPosition((()=>this.onCursorPositionChanged()))),this.localToDispose.add(this.editor.onMouseDown((t=>this.onEditorMouseDown(t)))),this.localToDispose.add(this.editor.onMouseUp((t=>this.onEditorMouseUp(t)))),this.localToDispose.add({dispose:()=>{var t,i;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),null===(t=this.updateScheduler)||void 0===t||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,null===(i=this.rangeProvider)||void 0===i||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var t;null===(t=this.rangeProvider)||void 0===t||t.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(t){if(this.rangeProvider)return this.rangeProvider;const i=new U4(t,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=i,this._useFoldingProviders&&this.foldingModel){const e=n5.getFoldingRangeProviders(this.languageFeaturesService,t);e.length>0&&(this.rangeProvider=new e5(t,e,(()=>this.triggerFoldingModelChanged()),this._foldingLimitReporter,i))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(t){var i;null===(i=this.hiddenRangeModel)||void 0===i||i.notifyChangeModelContent(t),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger((()=>{const t=this.foldingModel;if(!t)return null;const i=new he,e=this.getRangeProvider(t.textModel),s=this.foldingRegionPromise=nc((t=>e.compute(t)));return s.then((e=>{if(e&&s===this.foldingRegionPromise){let s;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const t=e.setCollapsedAllOfType(Ks.Imports.value,!0);t&&(s=KV.capture(this.editor),this._currentModelHasFoldedImports=t)}const n=this.editor.getSelections(),o=n?n.map((t=>t.startLineNumber)):[];t.update(e,o),null==s||s.restore(this.editor);const r=this.updateDebounceInfo.update(t.textModel,i.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=r)}return t}))})).then(void 0,(t=>(Pi(t),null))))}onHiddenRangesChanges(t){if(this.hiddenRangeModel&&t.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(t,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const t=this.getFoldingModel();t&&t.then((t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const e=[];for(const s of i){const i=s.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(i)&&e.push(...t.getAllRegionsAtLine(i,(t=>t.isCollapsed&&i>t.startLineNumber)))}e.length&&(t.toggleCollapseState(e),this.reveal(i[0].getPosition()))}}})).then(void 0,Pi)}onEditorMouseDown(t){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!t.target||!t.target.range)return;if(!t.event.leftButton&&!t.event.middleButton)return;const i=t.target.range;let e=!1;switch(t.target.type){case 4:if(t.target.detail.offsetX-t.target.element.offsetLeft<4)return;e=!0;break;case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!t.target.detail.isAfterLines)break;return;case 6:if(this.hiddenRangeModel.hasRanges()){const t=this.editor.getModel();if(t&&i.startColumn===t.getLineMaxColumn(i.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:i.startLineNumber,iconClicked:e}}onEditorMouseUp(t){const i=this.foldingModel;if(!i||!this.mouseDownInfo||!t.target)return;const e=this.mouseDownInfo.lineNumber,s=this.mouseDownInfo.iconClicked,n=t.target.range;if(!n||n.startLineNumber!==e)return;if(s){if(4!==t.target.type)return}else{const t=this.editor.getModel();if(!t||n.startColumn!==t.getLineMaxColumn(e))return}const o=i.getRegionAtLine(e);if(o&&o.startLineNumber===e){const n=o.isCollapsed;if(s||n){let s=[];if(t.event.altKey){const t=i.getRegionsInside(null,(t=>!t.containedBy(o)&&!o.containedBy(t)));for(const i of t)i.isCollapsed&&s.push(i);0===s.length&&(s=t)}else{const e=t.event.middleButton||t.event.shiftKey;if(e)for(const t of i.getRegionsInside(o))t.isCollapsed===n&&s.push(t);!n&&e&&0!==s.length||s.push(o)}i.toggleCollapseState(s),this.reveal({lineNumber:e,column:1})}}}reveal(t){this.editor.revealPositionInCenterIfOutsideViewport(t,0)}};h5.ID="editor.contrib.folding",h5=n5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([o5(1,ah),o5(2,qd),o5(3,JF),o5(4,hR),o5(5,gg)],h5);class c5{constructor(t){this.editor=t,this._onDidChange=new fe,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(t,i){t===this._computed&&i===this._limited||(this._computed=t,this._limited=i,this._onDidChange.fire())}}class a5 extends su{runEditorCommand(t,i,e){const s=t.get(qd),n=h5.get(i);if(!n)return;const o=n.getFoldingModel();return o?(this.reportTelemetry(t,i),o.then((t=>{if(t){this.invoke(n,t,i,e,s);const o=i.getSelection();o&&n.reveal(o.getStartPosition())}}))):void 0}getSelectedLines(t){const i=t.getSelections();return i?i.map((t=>t.startLineNumber)):[]}getLineNumbers(t,i){return t&&t.selectionLines?t.selectionLines.map((t=>t+1)):this.getSelectedLines(i)}run(t,i){}}function l5(t){if(!V(t)){if(!$(t))return!1;const i=t;if(!V(i.levels)&&!j(i.levels))return!1;if(!V(i.direction)&&!P(i.direction))return!1;if(!(V(i.selectionLines)||Array.isArray(i.selectionLines)&&i.selectionLines.every(j)))return!1}return!0}class u5 extends a5{getFoldingLevel(){return parseInt(this.id.substr(u5.ID_PREFIX.length))}invoke(t,i,e){!function(t,i,e,s){const n=t.getRegionsInside(null,((t,e)=>e===i&&true!==t.isCollapsed&&!s.some((i=>t.containsLine(i)))));t.toggleCollapseState(n)}(i,this.getFoldingLevel(),0,this.getSelectedLines(e))}}u5.ID_PREFIX="editor.foldLevel",u5.ID=t=>u5.ID_PREFIX+t,lu(h5.ID,h5,0),cu(class extends a5{constructor(){super({id:"editor.unfold",label:rt(0,"Unfold"),alias:"Unfold",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t",constraint:l5,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(t,i,e,s){const n=s&&s.levels||1,o=this.getLineNumbers(s,e);s&&"up"===s.direction?$4(i,!1,n,o):P4(i,!1,n,o)}}),cu(class extends a5{constructor(){super({id:"editor.unfoldRecursively",label:rt(0,"Unfold Recursively"),alias:"Unfold Recursively",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2142),weight:100}})}invoke(t,i,e,s){P4(i,!1,Number.MAX_VALUE,this.getSelectedLines(e))}}),cu(class extends a5{constructor(){super({id:"editor.fold",label:rt(0,"Fold"),alias:"Fold",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t",constraint:l5,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(t,i,e,s){const n=this.getLineNumbers(s,e),o=s&&s.levels,r=s&&s.direction;"number"!=typeof o&&"string"!=typeof r?function(t,i,e){const s=[];for(const i of e){const e=t.getAllRegionsAtLine(i,(t=>true!==t.isCollapsed));e.length>0&&s.push(e[0])}t.toggleCollapseState(s)}(i,0,n):"up"===r?$4(i,!0,o||1,n):P4(i,!0,o||1,n)}}),cu(class extends a5{constructor(){super({id:"editor.foldRecursively",label:rt(0,"Fold Recursively"),alias:"Fold Recursively",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2140),weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);P4(i,!0,Number.MAX_VALUE,s)}}),cu(class extends a5{constructor(){super({id:"editor.foldAll",label:rt(0,"Fold All"),alias:"Fold All",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2069),weight:100}})}invoke(t,i,e){P4(i,!0)}}),cu(class extends a5{constructor(){super({id:"editor.unfoldAll",label:rt(0,"Unfold All"),alias:"Unfold All",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2088),weight:100}})}invoke(t,i,e){P4(i,!1)}}),cu(class extends a5{constructor(){super({id:"editor.foldAllBlockComments",label:rt(0,"Fold All Block Comments"),alias:"Fold All Block Comments",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2138),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())z4(i,Ks.Comment.value,!0);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).comments;s&&s.blockCommentStartToken&&j4(i,new RegExp("^\\s*"+Gn(s.blockCommentStartToken)),!0)}}}),cu(class extends a5{constructor(){super({id:"editor.foldAllMarkerRegions",label:rt(0,"Fold All Regions"),alias:"Fold All Regions",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2077),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())z4(i,Ks.Region.value,!0);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).foldingRules;s&&s.markers&&s.markers.start&&j4(i,new RegExp(s.markers.start),!0)}}}),cu(class extends a5{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:rt(0,"Unfold All Regions"),alias:"Unfold All Regions",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2078),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())z4(i,Ks.Region.value,!1);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).foldingRules;s&&s.markers&&s.markers.start&&j4(i,new RegExp(s.markers.start),!1)}}}),cu(class extends a5{constructor(){super({id:"editor.foldAllExcept",label:rt(0,"Fold All Except Selected"),alias:"Fold All Except Selected",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2136),weight:100}})}invoke(t,i,e){W4(i,!0,this.getSelectedLines(e))}}),cu(class extends a5{constructor(){super({id:"editor.unfoldAllExcept",label:rt(0,"Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2134),weight:100}})}invoke(t,i,e){W4(i,!1,this.getSelectedLines(e))}}),cu(class extends a5{constructor(){super({id:"editor.toggleFold",label:rt(0,"Toggle Fold"),alias:"Toggle Fold",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2090),weight:100}})}invoke(t,i,e){B4(i,1,this.getSelectedLines(e))}}),cu(class extends a5{constructor(){super({id:"editor.gotoParentFold",label:rt(0,"Go to Parent Fold"),alias:"Go to Parent Fold",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=null;const s=i.getRegionAtLine(t);if(null!==s&&(e=s.startLineNumber,t===e)){const t=s.parentIndex;e=-1!==t?i.regions.getStartLineNumber(t):null}return e}(s[0],i);null!==t&&e.setSelection({startLineNumber:t,startColumn:1,endLineNumber:t,endColumn:1})}}}),cu(class extends a5{constructor(){super({id:"editor.gotoPreviousFold",label:rt(0,"Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=i.getRegionAtLine(t);if(null!==e&&e.startLineNumber===t){if(t!==e.startLineNumber)return e.startLineNumber;{const t=e.parentIndex;let s=0;for(-1!==t&&(s=i.regions.getStartLineNumber(e.parentIndex));null!==e;){if(!(e.regionIndex>0))return null;if(e=i.regions.toRegion(e.regionIndex-1),e.startLineNumber<=s)return null;if(e.parentIndex===t)return e.startLineNumber}}}else if(i.regions.length>0)for(e=i.regions.toRegion(i.regions.length-1);null!==e;){if(e.startLineNumber0?i.regions.toRegion(e.regionIndex-1):null}return null}(s[0],i);null!==t&&e.setSelection({startLineNumber:t,startColumn:1,endLineNumber:t,endColumn:1})}}}),cu(class extends a5{constructor(){super({id:"editor.gotoNextFold",label:rt(0,"Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=i.getRegionAtLine(t);if(null!==e&&e.startLineNumber===t){const t=e.parentIndex;let s=0;if(-1!==t)s=i.regions.getEndLineNumber(e.parentIndex);else{if(0===i.regions.length)return null;s=i.regions.getEndLineNumber(i.regions.length-1)}for(;null!==e;){if(!(e.regionIndex=s)return null;if(e.parentIndex===t)return e.startLineNumber}}else if(i.regions.length>0)for(e=i.regions.toRegion(0);null!==e;){if(e.startLineNumber>t)return e.startLineNumber;e=e.regionIndext.startLineNumber&&(n.push({startLineNumber:t.startLineNumber,endLineNumber:i,type:void 0,isCollapsed:!0,source:1}),e.setSelection({startLineNumber:t.startLineNumber,startColumn:1,endLineNumber:t.startLineNumber,endColumn:1}))}if(n.length>0){n.sort(((t,i)=>t.startLineNumber-i.startLineNumber));const t=I4.sanitizeAndMerge(i.regions,n,null===(s=e.getModel())||void 0===s?void 0:s.getLineCount());i.updatePost(I4.fromFoldRanges(t))}}}}),cu(class extends a5{constructor(){super({id:"editor.removeManualFoldingRanges",label:rt(0,"Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2137),weight:100}})}invoke(t,i,e){const s=e.getSelections();if(s){const e=[];for(const t of s){const{startLineNumber:i,endLineNumber:s}=t;e.push(s>=i?{startLineNumber:i,endLineNumber:s}:{endLineNumber:s,startLineNumber:i})}i.removeManualRanges(e),t.triggerFoldingModelChanged()}}});for(let t=1;t<=7;t++)d5=new u5({id:u5.ID(t),label:rt(0,"Fold Level {0}",t),alias:`Fold Level ${t}`,precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2048|21+t),weight:100}}),du.INSTANCE.registerEditorAction(d5);var d5;Dr.registerCommand("_executeFoldingRangeProvider",(async function(t,...i){const[e]=i;if(!(e instanceof ms))throw Vi();const s=t.get(gg),n=t.get(pr).getModel(e);if(!n)throw Vi();const o=t.get(pd);if(!o.getValue("editor.folding",{resource:e}))return[];const r=t.get(qd),h=o.getValue("editor.foldingStrategy",{resource:e}),c={get limit(){return o.getValue("editor.foldingMaximumRegions",{resource:e})},update:()=>{}},a=new U4(n,r,c);let l=a;if("indentation"!==h){const t=h5.getFoldingRangeProviders(s,n);t.length&&(l=new e5(n,t,(()=>{}),c,a))}const u=await l.compute(xe.None),d=[];try{if(u)for(let t=0;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},p5=function(t,i){return function(e,s){i(e,s,t)}};let g5=class{constructor(t,i,e,s){this._editor=t,this._languageFeaturesService=i,this._workerService=e,this._accessibleNotificationService=s,this._disposables=new te,this._sessionDisposables=new te,this._disposables.add(i.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(t.onDidChangeModel((()=>this._update()))),this._disposables.add(t.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(t.onDidChangeConfiguration((t=>{t.hasChanged(56)&&this._update()}))),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56))return;if(!this._editor.hasModel())return;const t=this._editor.getModel(),[i]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(t);if(!i||!i.autoFormatTriggerCharacters)return;const e=new bf;for(const t of i.autoFormatTriggerCharacters)e.add(t.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType((t=>{const i=t.charCodeAt(t.length-1);e.has(i)&&this._trigger(String.fromCharCode(i))})))}_trigger(t){if(!this._editor.hasModel())return;if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const i=this._editor.getModel(),e=this._editor.getPosition(),s=new Se,n=this._editor.onDidChangeModelContent((t=>{if(t.isFlush)return s.cancel(),void n.dispose();for(let i=0,o=t.changes.length;i{s.token.isCancellationRequested||y(t)&&(this._accessibleNotificationService.notify("format",!1),yK.execute(this._editor,t,!0))})).finally((()=>{n.dispose()}))}};g5.ID="editor.contrib.autoFormat",g5=f5([p5(1,gg),p5(2,lP),p5(3,Vm)],g5);let m5=class{constructor(t,i,e){this.editor=t,this._languageFeaturesService=i,this._instantiationService=e,this._callOnDispose=new te,this._callOnModel=new te,this._callOnDispose.add(t.onDidChangeConfiguration((()=>this._update()))),this._callOnDispose.add(t.onDidChangeModel((()=>this._update()))),this._callOnDispose.add(t.onDidChangeModelLanguage((()=>this._update()))),this._callOnDispose.add(i.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste((({range:t})=>this._trigger(t))))}_trigger(t){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(DK,this.editor,t,2,OO.None,xe.None,!1).catch(Pi))}};m5.ID="editor.contrib.formatOnPaste",m5=f5([p5(1,gg),p5(2,ur)],m5),lu(g5.ID,g5,2),lu(m5.ID,m5,2),cu(class extends su{constructor(){super({id:"editor.action.formatDocument",label:rt(0,"Format Document"),alias:"Format Document",precondition:zr.and(UC.notInCompositeEditor,UC.writable,UC.hasDocumentFormattingProvider),kbOpts:{kbExpr:UC.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(t,i){if(i.hasModel()){const e=t.get(ur),s=t.get(IO);await s.showWhile(e.invokeFunction(AK,i,1,OO.None,xe.None,!0),250)}}}),cu(class extends su{constructor(){super({id:"editor.action.formatSelection",label:rt(0,"Format Selection"),alias:"Format Selection",precondition:zr.and(UC.writable,UC.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2084),weight:100},contextMenuOpts:{when:UC.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(t,i){if(!i.hasModel())return;const e=t.get(ur),s=i.getModel(),n=i.getSelections().map((t=>t.isEmpty()?new Ms(t.startLineNumber,1,t.startLineNumber,s.getLineMaxColumn(t.startLineNumber)):t)),o=t.get(IO);await o.showWhile(e.invokeFunction(DK,i,n,1,OO.None,xe.None,!0),250)}}),Dr.registerCommand("editor.action.format",(async t=>{const i=t.get(fr).getFocusedCodeEditor();if(!i||!i.hasModel())return;const e=t.get(Sr);i.getSelection().isEmpty()?await e.executeCommand("editor.action.formatDocument"):await e.executeCommand("editor.action.formatSelection")}));var w5=function(t,i){return function(e,s){i(e,s,t)}};class v5{remove(){var t;null===(t=this.parent)||void 0===t||t.children.delete(this.id)}static findId(t,i){let e;"string"==typeof t?e=`${i.id}/${t}`:(e=`${i.id}/${t.name}`,void 0!==i.children.get(e)&&(e=`${i.id}/${t.name}_${t.range.startLineNumber}_${t.range.startColumn}`));let s=e;for(let t=0;void 0!==i.children.get(s);t++)s=`${e}_${t}`;return s}static empty(t){return 0===t.children.size}}class b5 extends v5{constructor(t,i,e){super(),this.id=t,this.parent=i,this.symbol=e,this.children=new Map}}class y5 extends v5{constructor(t,i,e,s){super(),this.id=t,this.parent=i,this.label=e,this.order=s,this.children=new Map}}class k5 extends v5{static create(t,i,e){const s=new Se(e),n=new k5(i.uri),o=t.ordered(i),r=o.map(((t,e)=>{var o;const r=v5.findId(`provider_${e}`,n),h=new y5(r,n,null!==(o=t.displayName)&&void 0!==o?o:"Unknown Outline Provider",e);return Promise.resolve(t.provideDocumentSymbols(i,s.token)).then((t=>{for(const i of t||[])k5._makeOutlineElement(i,h);return h}),(t=>($i(t),h))).then((t=>{v5.empty(t)?t.remove():n._groups.set(r,t)}))})),h=t.onDidChange((()=>{u(t.ordered(i),o)||s.cancel()}));return Promise.all(r).then((()=>s.token.isCancellationRequested&&!e.isCancellationRequested?k5.create(t,i,e):n._compact())).finally((()=>{s.dispose(),h.dispose(),s.dispose()}))}static _makeOutlineElement(t,i){const e=v5.findId(t,i),s=new b5(e,i,t);if(t.children)for(const i of t.children)k5._makeOutlineElement(i,s);i.children.set(s.id,s)}constructor(t){super(),this.uri=t,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let t=0;for(const[i,e]of this._groups)0===e.children.size?this._groups.delete(i):t+=1;if(1!==t)this.children=this._groups;else{const t=Vt.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const t=[];for(const i of this.children.values())i instanceof b5?t.push(i.symbol):t.push(...Vt.map(i.children.values(),(t=>t.symbol)));return t.sort(((t,i)=>Ms.compareRangesUsingStarts(t.range,i.range)))}asListOfDocumentSymbols(){const t=this.getTopLevelSymbols(),i=[];return k5._flattenDocumentSymbols(i,t,""),i.sort(((t,i)=>As.compare(Ms.getStartPosition(t.range),Ms.getStartPosition(i.range))||As.compare(Ms.getEndPosition(i.range),Ms.getEndPosition(t.range))))}static _flattenDocumentSymbols(t,i,e){for(const s of i)t.push({kind:s.kind,tags:s.tags,name:s.name,detail:s.detail,containerName:s.containerName||e,range:s.range,selectionRange:s.selectionRange,children:void 0}),s.children&&k5._flattenDocumentSymbols(t,s.children,s.name)}}const x5=dr("IOutlineModelService");let C5=class{constructor(t,i,e){this._languageFeaturesService=t,this._disposables=new te,this._cache=new Bp(10,.7),this._debounceInformation=i.for(t.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(e.onModelRemoved((t=>{this._cache.delete(t.id)})))}dispose(){this._disposables.dispose()}async getOrCreate(t,i){const e=this._languageFeaturesService.documentSymbolProvider,s=e.ordered(t);let n=this._cache.get(t.id);if(!n||n.versionId!==t.getVersionId()||!u(n.provider,s)){const i=new Se;n={versionId:t.getVersionId(),provider:s,promiseCnt:0,source:i,promise:k5.create(e,t,i.token),model:void 0},this._cache.set(t.id,n);const o=Date.now();n.promise.then((i=>{n.model=i,this._debounceInformation.update(t,Date.now()-o)})).catch((()=>{this._cache.delete(t.id)}))}if(n.model)return n.model;n.promiseCnt+=1;const o=i.onCancellationRequested((()=>{0==--n.promiseCnt&&(n.source.cancel(),this._cache.delete(t.id))}));try{return await n.promise}finally{o.dispose()}}};C5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([w5(0,gg),w5(1,hR),w5(2,pr)],C5),Cd(x5,C5,1),Dr.registerCommand("_executeDocumentSymbolProvider",(async function(t,...i){const[e]=i;K(ms.isUri(e));const s=t.get(x5),n=t.get(gr),o=await n.createModelReference(e);try{return(await s.getOrCreate(o.object.textEditorModel,xe.None)).getTopLevelSymbols()}finally{o.dispose()}}));class S5 extends ie{constructor(t,i){super(),this.contextKeyService=t,this.model=i,this.inlineCompletionVisible=S5.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=S5.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=S5.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=S5.suppressSuggestions.bindTo(this.contextKeyService),this._register(RV((t=>{const i=this.model.read(t),e=null==i?void 0:i.state.read(t),s=!!(null==e?void 0:e.inlineCompletion)&&void 0!==(null==e?void 0:e.ghostText)&&!(null==e?void 0:e.ghostText.isEmpty());this.inlineCompletionVisible.set(s),(null==e?void 0:e.ghostText)&&(null==e?void 0:e.inlineCompletion)&&this.suppressSuggestions.set(e.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)}))),this._register(RV((t=>{const i=this.model.read(t);let e=!1,s=!0;const n=null==i?void 0:i.ghostText.read(t);if((null==i?void 0:i.selectedSuggestItem)&&n&&n.parts.length>0){const{column:t,lines:o}=n.parts[0],r=o[0];if(t<=i.textModel.getLineIndentColumn(n.lineNumber)){let t=to(r);-1===t&&(t=r.length-1),e=t>0;const n=i.textModel.getOptions().tabSize;s=qy.visibleColumnFromColumn(r,t+1,n)i)throw new Gi(`startColumn ${t} cannot be after endColumnExclusive ${i}`)}toRange(t){return new Ms(t,this.startColumn,t,this.endColumnExclusive)}equals(t){return this.startColumn===t.startColumn&&this.endColumnExclusive===t.endColumnExclusive}}function M5(t,i){return new As(t.lineNumber+i.lineNumber-1,1===i.lineNumber?t.column+i.column-1:i.column)}function L5(t){let i=1,e=1;for(const s of t)"\n"===s?(i++,e=1):e++;return new As(i,e)}class F5{constructor(t,i){this.lineNumber=t,this.parts=i}equals(t){return this.lineNumber===t.lineNumber&&this.parts.length===t.parts.length&&this.parts.every(((i,e)=>i.equals(t.parts[e])))}renderForScreenReader(t){if(0===this.parts.length)return"";const i=function(t,i){const e=new D5(t),s=i.map((t=>{const i=Ms.lift(t.range);return{startOffset:e.getOffset(i.getStartPosition()),endOffset:e.getOffset(i.getEndPosition()),text:t.text}}));s.sort(((t,i)=>i.startOffset-t.startOffset));for(const i of s)t=t.substring(0,i.startOffset)+i.text+t.substring(i.endOffset);return t}(t.substr(0,this.parts[this.parts.length-1].column-1),this.parts.map((t=>({range:{startLineNumber:1,endLineNumber:1,startColumn:t.column,endColumn:t.column},text:t.lines.join("\n")}))));return i.substring(this.parts[0].column-1)}isEmpty(){return this.parts.every((t=>0===t.lines.length))}get lineCount(){return 1+this.parts.reduce(((t,i)=>t+i.lines.length-1),0)}}class T5{constructor(t,i,e){this.column=t,this.lines=i,this.preview=e}equals(t){return this.column===t.column&&this.lines.length===t.lines.length&&this.lines.every(((i,e)=>i===t.lines[e]))}}class R5{constructor(t,i,e,s=0){this.lineNumber=t,this.columnRange=i,this.newLines=e,this.additionalReservedLineCount=s,this.parts=[new T5(this.columnRange.endColumnExclusive,this.newLines,!1)]}renderForScreenReader(t){return this.newLines.join("\n")}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every((t=>0===t.lines.length))}equals(t){return this.lineNumber===t.lineNumber&&this.columnRange.equals(t.columnRange)&&this.newLines.length===t.newLines.length&&this.newLines.every(((i,e)=>i===t.newLines[e]))&&this.additionalReservedLineCount===t.additionalReservedLineCount}}function O5(t,i){return t===i||!(!t||!i)&&(t instanceof F5&&i instanceof F5||t instanceof R5&&i instanceof R5)&&t.equals(i)}const I5="ghost-text";let _5=class extends ie{constructor(t,i,e){super(),this.editor=t,this.model=i,this.languageService=e,this.isDisposed=xV(this,!1),this.currentTextModel=$V(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this.uiState=AV(this,(t=>{if(this.isDisposed.read(t))return;const i=this.currentTextModel.read(t);if(i!==this.model.targetTextModel.read(t))return;const e=this.model.ghostText.read(t);if(!e)return;const s=e instanceof R5?e.columnRange:void 0,n=[],o=[];function r(t,i){if(o.length>0){const e=o[o.length-1];i&&e.decorations.push(new Og(e.content.length+1,e.content.length+1+t[0].length,i,0)),e.content+=t[0],t=t.slice(1)}for(const e of t)o.push({content:e,decorations:i?[new Og(1,e.length+1,i,0)]:[]})}const h=i.getLineContent(e.lineNumber);let c,a=0;for(const t of e.parts){let i=t.lines;void 0===c?(n.push({column:t.column,text:i[0],preview:t.preview}),i=i.slice(1)):r([h.substring(a,t.column-1)],void 0),i.length>0&&(r(i,I5),void 0===c&&t.column<=h.length&&(c=t.column)),a=t.column-1}void 0!==c&&r([h.substring(a)],void 0);const l=void 0!==c?new A5(c,h.length+1):void 0;return{replacedRange:s,inlineTexts:n,additionalLines:o,hiddenRange:l,lineNumber:e.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(t),targetTextModel:i}})),this.decorations=AV(this,(t=>{const i=this.uiState.read(t);if(!i)return[];const e=[];i.replacedRange&&e.push({range:i.replacedRange.toRange(i.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),i.hiddenRange&&e.push({range:i.hiddenRange.toRange(i.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const t of i.inlineTexts)e.push({range:Ms.fromPositions(new As(i.lineNumber,t.column)),options:{description:I5,after:{content:t.text,inlineClassName:t.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:Tf.Left},showIfCollapsed:!0}});return e})),this.additionalLinesWidget=this._register(new N5(this.editor,this.languageService.languageIdCodec,AV((t=>{const i=this.uiState.read(t);return i?{lineNumber:i.lineNumber,additionalLines:i.additionalLines,minReservedLineCount:i.additionalReservedLineCount,targetTextModel:i.targetTextModel}:void 0})))),this._register(Xi((()=>{this.isDisposed.set(!0,void 0)}))),this._register(function(t,i){const e=new te,s=t.createDecorationsCollection();return e.add(OV({debugName:()=>`Apply decorations from ${i.debugName}`},(t=>{const e=i.read(t);s.set(e)}))),e.add({dispose:()=>{s.clear()}}),e}(this.editor,this.decorations))}ownsViewZone(t){return this.additionalLinesWidget.viewZoneId===t}};_5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,yd)],_5);class N5 extends ie{get viewZoneId(){return this._viewZoneId}constructor(t,i,e){super(),this.editor=t,this.languageIdCodec=i,this.lines=e,this._viewZoneId=void 0,this.editorOptionsChanged=jV("editorOptionChanged",ce.filter(this.editor.onDidChangeConfiguration,(t=>t.hasChanged(33)||t.hasChanged(116)||t.hasChanged(98)||t.hasChanged(93)||t.hasChanged(51)||t.hasChanged(50)||t.hasChanged(66)))),this._register(RV((t=>{const i=this.lines.read(t);this.editorOptionsChanged.read(t),i?this.updateLines(i.lineNumber,i.additionalLines,i.minReservedLineCount):this.clear()})))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones((t=>{this._viewZoneId&&(t.removeZone(this._viewZoneId),this._viewZoneId=void 0)}))}updateLines(t,i,e){const s=this.editor.getModel();if(!s)return;const{tabSize:n}=s.getOptions();this.editor.changeViewZones((s=>{this._viewZoneId&&(s.removeZone(this._viewZoneId),this._viewZoneId=void 0);const o=Math.max(i.length,e);if(o>0){const e=document.createElement("div");!function(t,i,e,s,n){const o=s.get(33),r=s.get(116),h=s.get(93),c=s.get(51),a=s.get(50),l=s.get(66),u=new td(1e4);u.appendString('
    ');for(let t=0,s=e.length;t');const f=Eo(d),p=So(d),g=Tg.createEmpty(d,n);Hg(new $g(a.isMonospace&&!o,a.canUseHalfwidthRightwardsArrow,d,!1,f,p,0,g,s.decorations,i,0,a.spaceWidth,a.middotWidth,a.wsmiddotWidth,r,"none",h,c!==vi.OFF,null),u),u.appendString("
    ")}u.appendString(""),ir(t,a);const d=u.build(),f=B5?B5.createHTML(d):d;t.innerHTML=f}(e,n,i,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=s.addZone({afterLineNumber:t,heightInLines:o,domNode:e,afterColumnAffinity:1})}}))}}const B5=Mu("editorGhostText",{createHTML:t=>t});class P5{constructor(t){this.lines=t,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(t){return this.lines[t-1].getLineContent().length}}class $5{constructor(){this.value="",this.pos=0}static isDigitCharacter(t){return t>=48&&t<=57}static isVariableCharacter(t){return 95===t||t>=97&&t<=122||t>=65&&t<=90}text(t){this.value=t,this.pos=0}tokenText(t){return this.value.substr(t.pos,t.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const t=this.pos;let i,e=0,s=this.value.charCodeAt(t);if(i=$5._table[s],"number"==typeof i)return this.pos+=1,{type:i,pos:t,len:1};if($5.isDigitCharacter(s)){i=8;do{e+=1,s=this.value.charCodeAt(t+e)}while($5.isDigitCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}if($5.isVariableCharacter(s)){i=9;do{s=this.value.charCodeAt(t+ ++e)}while($5.isVariableCharacter(s)||$5.isDigitCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}i=10;do{e+=1,s=this.value.charCodeAt(t+e)}while(!isNaN(s)&&void 0===$5._table[s]&&!$5.isDigitCharacter(s)&&!$5.isVariableCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}}$5._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};class W5{constructor(){this._children=[]}appendChild(t){return t instanceof j5&&this._children[this._children.length-1]instanceof j5?this._children[this._children.length-1].value+=t.value:(t.parent=this,this._children.push(t)),this}replace(t,i){const{parent:e}=t,s=e.children.indexOf(t),n=e.children.slice(0);n.splice(s,1,...i),e._children=n,function t(i,e){for(const s of i)s.parent=e,t(s.children,s)}(i,e)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let t=this;for(;;){if(!t)return;if(t instanceof Z5)return t;t=t.parent}}toString(){return this.children.reduce(((t,i)=>t+i.toString()),"")}len(){return 0}}class j5 extends W5{constructor(t){super(),this.value=t}toString(){return this.value}len(){return this.value.length}clone(){return new j5(this.value)}}class z5 extends W5{}class H5 extends z5{static compareByIndex(t,i){return t.index===i.index?0:t.isFinalTabstop?1:i.isFinalTabstop||t.indexi.index?1:0}constructor(t){super(),this.index=t}get isFinalTabstop(){return 0===this.index}get choice(){return 1===this._children.length&&this._children[0]instanceof V5?this._children[0]:void 0}clone(){const t=new H5(this.index);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map((t=>t.clone())),t}}class V5 extends W5{constructor(){super(...arguments),this.options=[]}appendChild(t){return t instanceof j5&&(t.parent=this,this.options.push(t)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const t=new V5;return this.options.forEach(t.appendChild,t),t}}class U5 extends W5{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(t){const i=this;let e=!1,s=t.replace(this.regexp,(function(){return e=!0,i._replace(Array.prototype.slice.call(arguments,0,-2))}));return!e&&this._children.some((t=>t instanceof q5&&Boolean(t.elseValue)))&&(s=this._replace([])),s}_replace(t){let i="";for(const e of this._children)if(e instanceof q5){let s=t[e.index]||"";s=e.resolve(s),i+=s}else i+=e.toString();return i}toString(){return""}clone(){const t=new U5;return t.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),t._children=this.children.map((t=>t.clone())),t}}class q5 extends W5{constructor(t,i,e,s){super(),this.index=t,this.shorthandName=i,this.ifValue=e,this.elseValue=s}resolve(t){return"upcase"===this.shorthandName?t?t.toLocaleUpperCase():"":"downcase"===this.shorthandName?t?t.toLocaleLowerCase():"":"capitalize"===this.shorthandName?t?t[0].toLocaleUpperCase()+t.substr(1):"":"pascalcase"===this.shorthandName?t?this._toPascalCase(t):"":"camelcase"===this.shorthandName?t?this._toCamelCase(t):"":Boolean(t)&&"string"==typeof this.ifValue?this.ifValue:Boolean(t)||"string"!=typeof this.elseValue?t||"":this.elseValue}_toPascalCase(t){const i=t.match(/[a-z0-9]+/gi);return i?i.map((t=>t.charAt(0).toUpperCase()+t.substr(1))).join(""):t}_toCamelCase(t){const i=t.match(/[a-z0-9]+/gi);return i?i.map(((t,i)=>0===i?t.charAt(0).toLowerCase()+t.substr(1):t.charAt(0).toUpperCase()+t.substr(1))).join(""):t}clone(){return new q5(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class K5 extends z5{constructor(t){super(),this.name=t}resolve(t){let i=t.resolve(this);return this.transform&&(i=this.transform.resolve(i||"")),void 0!==i&&(this._children=[new j5(i)],!0)}clone(){const t=new K5(this.name);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map((t=>t.clone())),t}}function G5(t,i){const e=[...t];for(;e.length>0;){const t=e.shift();if(!i(t))break;e.unshift(...t.children)}}class Z5 extends W5{get placeholderInfo(){if(!this._placeholders){const t=[];let i;this.walk((function(e){return e instanceof H5&&(t.push(e),i=!i||i.indexs===t?(e=!0,!1):(i+=s.len(),!0))),e?i:-1}fullLen(t){let i=0;return G5([t],(t=>(i+=t.len(),!0))),i}enclosingPlaceholders(t){const i=[];let{parent:e}=t;for(;e;)e instanceof H5&&i.push(e),e=e.parent;return i}resolveVariables(t){return this.walk((i=>(i instanceof K5&&i.resolve(t)&&(this._placeholders=void 0),!0))),this}appendChild(t){return this._placeholders=void 0,super.appendChild(t)}replace(t,i){return this._placeholders=void 0,super.replace(t,i)}clone(){const t=new Z5;return this._children=this.children.map((t=>t.clone())),t}walk(t){G5(this.children,t)}}class Q5{constructor(){this._scanner=new $5,this._token={type:14,pos:0,len:0}}static escape(t){return t.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(t){return/\${?CLIPBOARD/.test(t)}parse(t,i,e){const s=new Z5;return this.parseFragment(t,s),this.ensureFinalTabstop(s,null!=e&&e,null!=i&&i),s}parseFragment(t,i){const e=i.children.length;for(this._scanner.text(t),this._token=this._scanner.next();this._parse(i););const s=new Map,n=[];i.walk((t=>(t instanceof H5&&(t.isFinalTabstop?s.set(0,void 0):!s.has(t.index)&&t.children.length>0?s.set(t.index,t.children):n.push(t)),!0)));const o=(t,e)=>{const n=s.get(t.index);if(!n)return;const r=new H5(t.index);r.transform=t.transform;for(const t of n){const i=t.clone();r.appendChild(i),i instanceof H5&&s.has(i.index)&&!e.has(i.index)&&(e.add(i.index),o(i,e),e.delete(i.index))}i.replace(t,[r])},r=new Set;for(const t of n)o(t,r);return i.children.slice(e)}ensureFinalTabstop(t,i,e){(i||e&&t.placeholders.length>0)&&(t.placeholders.find((t=>0===t.index))||t.appendChild(new H5(0)))}_accept(t,i){if(void 0===t||this._token.type===t){const t=!i||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),t}return!1}_backTo(t){return this._scanner.pos=t.pos+t.len,this._token=t,!1}_until(t){const i=this._token;for(;this._token.type!==t;){if(14===this._token.type)return!1;if(5===this._token.type){const t=this._scanner.next();if(0!==t.type&&4!==t.type&&5!==t.type)return!1}this._token=this._scanner.next()}const e=this._scanner.value.substring(i.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),e}_parse(t){return this._parseEscaped(t)||this._parseTabstopOrVariableName(t)||this._parseComplexPlaceholder(t)||this._parseComplexVariable(t)||this._parseAnything(t)}_parseEscaped(t){let i;return!!(i=this._accept(5,!0))&&(i=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||i,t.appendChild(new j5(i)),!0)}_parseTabstopOrVariableName(t){let i;const e=this._token;return this._accept(0)&&(i=this._accept(9,!0)||this._accept(8,!0))?(t.appendChild(/^\d+$/.test(i)?new H5(Number(i)):new K5(i)),!0):this._backTo(e)}_parseComplexPlaceholder(t){let i;const e=this._token;if(!(this._accept(0)&&this._accept(3)&&(i=this._accept(8,!0))))return this._backTo(e);const s=new H5(Number(i));if(this._accept(1))for(;;){if(this._accept(4))return t.appendChild(s),!0;if(!this._parse(s))return t.appendChild(new j5("${"+i+":")),s.children.forEach(t.appendChild,t),!0}else{if(!(s.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(s)?(t.appendChild(s),!0):(this._backTo(e),!1):this._accept(4)?(t.appendChild(s),!0):this._backTo(e);{const i=new V5;for(;;){if(this._parseChoiceElement(i)){if(this._accept(2))continue;if(this._accept(7)&&(s.appendChild(i),this._accept(4)))return t.appendChild(s),!0}return this._backTo(e),!1}}}}_parseChoiceElement(t){const i=this._token,e=[];for(;2!==this._token.type&&7!==this._token.type;){let t;if(t=(t=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||t:this._accept(void 0,!0),!t)return this._backTo(i),!1;e.push(t)}return 0===e.length?(this._backTo(i),!1):(t.appendChild(new j5(e.join(""))),!0)}_parseComplexVariable(t){let i;const e=this._token;if(!(this._accept(0)&&this._accept(3)&&(i=this._accept(9,!0))))return this._backTo(e);const s=new K5(i);if(!this._accept(1))return this._accept(6)?this._parseTransform(s)?(t.appendChild(s),!0):(this._backTo(e),!1):this._accept(4)?(t.appendChild(s),!0):this._backTo(e);for(;;){if(this._accept(4))return t.appendChild(s),!0;if(!this._parse(s))return t.appendChild(new j5("${"+i+":")),s.children.forEach(t.appendChild,t),!0}}_parseTransform(t){const i=new U5;let e="",s="";for(;!this._accept(6);){let t;if(t=this._accept(5,!0))t=this._accept(6,!0)||t,e+=t;else{if(14===this._token.type)return!1;e+=this._accept(void 0,!0)}}for(;!this._accept(6);){let t;if(t=this._accept(5,!0))t=this._accept(5,!0)||this._accept(6,!0)||t,i.appendChild(new j5(t));else if(!this._parseFormatString(i)&&!this._parseAnything(i))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;s+=this._accept(void 0,!0)}try{i.regexp=new RegExp(e,s)}catch(t){return!1}return t.transform=i,!0}_parseFormatString(t){const i=this._token;if(!this._accept(0))return!1;let e=!1;this._accept(3)&&(e=!0);const s=this._accept(8,!0);if(!s)return this._backTo(i),!1;if(!e)return t.appendChild(new q5(Number(s))),!0;if(this._accept(4))return t.appendChild(new q5(Number(s))),!0;if(!this._accept(1))return this._backTo(i),!1;if(this._accept(6)){const e=this._accept(9,!0);return e&&this._accept(4)?(t.appendChild(new q5(Number(s),e)),!0):(this._backTo(i),!1)}if(this._accept(11)){const i=this._until(4);if(i)return t.appendChild(new q5(Number(s),void 0,i,void 0)),!0}else if(this._accept(12)){const i=this._until(4);if(i)return t.appendChild(new q5(Number(s),void 0,void 0,i)),!0}else if(this._accept(13)){const i=this._until(1);if(i){const e=this._until(4);if(e)return t.appendChild(new q5(Number(s),void 0,i,e)),!0}}else{const i=this._until(4);if(i)return t.appendChild(new q5(Number(s),void 0,void 0,i)),!0}return this._backTo(i),!1}_parseAnything(t){return 14!==this._token.type&&(t.appendChild(new j5(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}}async function J5(t,i,e,s,n=xe.None,o){const r=function(t,i){const e=i.getWordAtPosition(t),s=i.getLineMaxColumn(t.lineNumber);return e?new Ms(t.lineNumber,e.startColumn,t.lineNumber,s):Ms.fromPositions(t,t.with(void 0,s))}(i,e),h=t.all(e),c=new $p;for(const t of h)t.groupId&&c.add(t.groupId,t);function a(t){if(!t.yieldsToGroupIds)return[];const i=[];for(const e of t.yieldsToGroupIds||[]){const t=c.get(e);for(const e of t)i.push(e)}return i}const l=new Map,u=new Set;function d(t,i){if(i=[...i,t],u.has(t))return i;u.add(t);try{const e=a(t);for(const t of e){const e=d(t,i);if(e)return e}}finally{u.delete(t)}}function f(t){const o=l.get(t);if(o)return o;const r=d(t,[]);r&&$i(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${r.map((t=>t.toString?t.toString():""+t)).join(" -> ")}`));const h=new bc;return l.set(t,h.p),(async()=>{if(!r){const i=a(t);for(const t of i){const i=await f(t);if(i&&i.items.length>0)return}}try{return await t.provideInlineCompletions(e,i,s,n)}catch(t){return void $i(t)}})().then((t=>h.complete(t)),(t=>h.error(t))),h.p}const p=await Promise.all(h.map((async t=>({provider:t,completions:await f(t)})))),g=new Map,m=[];for(const t of p){const i=t.completions;if(!i)continue;const s=new X5(i,t.provider);m.push(s);for(const t of i.items){const i=t3.from(t,s,r,e,o);g.set(i.hash(),i)}}return new Y5(Array.from(g.values()),new Set(g.keys()),m)}class Y5{constructor(t,i,e){this.completions=t,this.hashs=i,this.providerResults=e}has(t){return this.hashs.has(t.hash())}dispose(){for(const t of this.providerResults)t.removeRef()}}class X5{constructor(t,i){this.inlineCompletions=t,this.provider=i,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,0===this.refCount&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class t3{static from(t,i,e,s,n){let o,r,h=t.range?Ms.lift(t.range):e;if("string"==typeof t.insertText){if(o=t.insertText,n&&t.completeBracketPairs){o=i3(o,h.getStartPosition(),s,n);const i=o.length-t.insertText.length;0!==i&&(h=new Ms(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn+i))}r=void 0}else if("snippet"in t.insertText){const i=t.insertText.snippet.length;if(n&&t.completeBracketPairs){t.insertText.snippet=i3(t.insertText.snippet,h.getStartPosition(),s,n);const e=t.insertText.snippet.length-i;0!==e&&(h=new Ms(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn+e))}const e=(new Q5).parse(t.insertText.snippet);1===e.children.length&&e.children[0]instanceof j5?(o=e.children[0].value,r=void 0):(o=e.toString(),r={snippet:t.insertText.snippet,range:h})}else xh();return new t3(o,t.command,h,o,r,t.additionalTextEdits||E5,t,i)}constructor(t,i,e,s,n,o,r,h){this.filterText=t,this.command=i,this.range=e,this.insertText=s,this.snippetInfo=n,this.additionalTextEdits=o,this.sourceInlineCompletion=r,this.source=h,s=(t=t.replace(/\r\n|\r/g,"\n")).replace(/\r\n|\r/g,"\n")}withRange(t){return new t3(this.filterText,this.command,t,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}}function i3(t,i,e,s){const n=e.getLineContent(i.lineNumber).substring(0,i.column-1)+t,o=e.tokenization.tokenizeLineWithEdit(i,n.length-(i.column-1),t),r=null==o?void 0:o.sliceAndInflate(i.column-1,n.length,0);if(!r)return t;const h=function(t,i){const e=new uE,s=new LE(e,(t=>i.getLanguageConfiguration(t))),n=NE(new DE(new P5([t]),s),[],void 0,!0);let o="";const r=t.getLineContent();return function t(i,e){if(2===i.kind)if(t(i.openingBracket,e),e=QD(e,i.openingBracket.length),i.child&&(t(i.child,e),e=QD(e,i.child.length)),i.closingBracket)t(i.closingBracket,e),e=QD(e,i.closingBracket.length);else{const t=s.getSingleLanguageBracketTokens(i.openingBracket.languageId).findClosingTokenText(i.openingBracket.bracketIds);o+=t}else if(3===i.kind);else if(0===i.kind||1===i.kind)o+=r.substring(e,QD(e,i.length));else if(4===i.kind)for(const s of i.children)t(s,e),e=QD(e,s.length)}(n,UD),o}(r,s);return h}class e3{constructor(t,i){this.range=t,this.text=i}removeCommonPrefix(t,i){const e=i?this.range.intersectRanges(i):this.range;if(!e)return this;const s=t.getValueInRange(e,1),n=fo(s,this.text),o=M5(this.range.getStartPosition(),L5(s.substring(0,n))),r=this.text.substring(n),h=Ms.fromPositions(o,this.range.getEndPosition());return new e3(h,r)}augments(t){return this.text.startsWith(t.text)&&(i=this.range,(e=t.range).getStartPosition().equals(i.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(i.getEndPosition()));var i,e}computeGhostText(t,i,e,s=0){let n=this.removeCommonPrefix(t);if(n.range.endLineNumber!==n.range.startLineNumber)return;const o=t.getLineContent(n.range.startLineNumber),r=io(o).length;if(n.range.startColumn-1<=r){const t=io(n.text).length,i=o.substring(n.range.startColumn-1,r),[e,s]=[n.range.getStartPosition(),n.range.getEndPosition()],h=e.column+i.length<=s.column?e.delta(0,i.length):s,c=Ms.fromPositions(h,s),a=n.text.startsWith(i)?n.text.substring(i.length):n.text.substring(t);n=new e3(c,a)}const h=t.getValueInRange(n.range),c=function(t,i){if((null==s3?void 0:s3.originalValue)===t&&(null==s3?void 0:s3.newValue)===i)return null==s3?void 0:s3.changes;{let e=o3(t,i,!0);if(e){const s=n3(e);if(s>0){const n=o3(t,i,!1);n&&n3(n)0===t.originalLength));if(t.length>1||1===t.length&&t[0].originalStart!==h.length)return}const u=n.text.length-s;for(const t of c){const s=n.range.startColumn+t.originalStart+t.originalLength;if("subwordSmart"===i&&e&&e.lineNumber===n.range.startLineNumber&&s0)return;if(0===t.modifiedLength)continue;const o=t.modifiedStart+t.modifiedLength,r=Math.max(t.modifiedStart,Math.min(o,u)),h=n.text.substring(t.modifiedStart,r),c=n.text.substring(r,Math.max(t.modifiedStart,o));if(h.length>0){const t=Xn(h);l.push(new T5(s,t,!1))}if(c.length>0){const t=Xn(c);l.push(new T5(s,t,!0))}}return new F5(a,l)}}let s3;function n3(t){let i=0;for(const e of t)i+=e.originalLength;return i}function o3(t,i,e){if(t.length>5e3||i.length>5e3)return;function s(t){let i=0;for(let e=0,s=t.length;ei&&(i=s)}return i}const n=Math.max(s(t),s(i));function o(t){if(t<0)throw new Error("unexpected");return n+t+1}function r(t){let i=0,s=0;const n=new Int32Array(t.length);for(let r=0,h=t.length;rh},{getElements:()=>c}).ComputeDiff(!1).changes}var r3=function(t,i){return function(e,s){i(e,s,t)}};let h3=class extends ie{constructor(t,i,e,s,n){super(),this.textModel=t,this.versionId=i,this._debounceValue=e,this.languageFeaturesService=s,this.languageConfigurationService=n,this._updateOperation=this._register(new ee),this.inlineCompletions=SV("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=SV("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent((()=>{this._updateOperation.clear()})))}fetch(t,i,e){var s,n;const o=new c3(t,i,this.textModel.getVersionId()),r=i.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(null===(s=this._updateOperation.value)||void 0===s?void 0:s.request.satisfies(o))return this._updateOperation.value.promise;if(null===(n=r.get())||void 0===n?void 0:n.request.satisfies(o))return Promise.resolve(!0);const h=!!this._updateOperation.value;this._updateOperation.clear();const c=new Se,a=(async()=>{var s;if((h||i.triggerKind===$s.Automatic)&&await(s=this._debounceValue.get(this.textModel),new Promise((t=>{let i;setTimeout((()=>{i&&i.dispose(),t()}),s)}))),c.token.isCancellationRequested||this.textModel.getVersionId()!==o.versionId)return!1;const n=new Date,a=await J5(this.languageFeaturesService.inlineCompletionsProvider,t,this.textModel,i,c.token,this.languageConfigurationService);if(c.token.isCancellationRequested||this.textModel.getVersionId()!==o.versionId)return!1;const l=new Date;this._debounceValue.update(this.textModel,l.getTime()-n.getTime());const u=new l3(a,o,this.textModel,this.versionId);if(e){const i=e.toInlineCompletion(void 0);e.canBeReused(this.textModel,t)&&!a.has(i)&&u.prepend(e.inlineCompletion,i.range,!0)}return this._updateOperation.clear(),dV((t=>{r.set(u,t)})),!0})(),l=new a3(o,c,a);return this._updateOperation.value=l,a}clear(t){this._updateOperation.clear(),this.inlineCompletions.set(void 0,t),this.suggestWidgetInlineCompletions.set(void 0,t)}clearSuggestWidgetInlineCompletions(t){var i;(null===(i=this._updateOperation.value)||void 0===i?void 0:i.request.context.selectedSuggestionInfo)&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,t)}cancelUpdate(){this._updateOperation.clear()}};h3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([r3(3,gg),r3(4,qd)],h3);class c3{constructor(t,i,e){this.position=t,this.context=i,this.versionId=e}satisfies(t){return this.position.equals(t.position)&&(e=t.context.selectedSuggestionInfo,(i=this.context.selectedSuggestionInfo)&&e?((t,i)=>t.equals(i))(i,e):i===e)&&(t.context.triggerKind===$s.Automatic||this.context.triggerKind===$s.Explicit)&&this.versionId===t.versionId;var i,e}}class a3{constructor(t,i,e){this.request=t,this.cancellationTokenSource=i,this.promise=e}dispose(){this.cancellationTokenSource.cancel()}}class l3{get inlineCompletions(){return this._inlineCompletions}constructor(t,i,e,s){this.inlineCompletionProviderResult=t,this.request=i,this.textModel=e,this.versionId=s,this._refCount=1,this._prependedInlineCompletionItems=[],this._rangeVersionIdValue=0,this._rangeVersionId=AV(this,(t=>{this.versionId.read(t);let i=!1;for(const t of this._inlineCompletions)i=i||t._updateRange(this.textModel);return i&&this._rangeVersionIdValue++,this._rangeVersionIdValue}));const n=e.deltaDecorations([],t.completions.map((t=>({range:t.range,options:{description:"inline-completion-tracking-range"}}))));this._inlineCompletions=t.completions.map(((t,i)=>new u3(t,n[i],this._rangeVersionId)))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,0===this._refCount){setTimeout((()=>{this.textModel.isDisposed()||this.textModel.deltaDecorations(this._inlineCompletions.map((t=>t.decorationId)),[])}),0),this.inlineCompletionProviderResult.dispose();for(const t of this._prependedInlineCompletionItems)t.source.removeRef()}}prepend(t,i,e){e&&t.source.addRef();const s=this.textModel.deltaDecorations([],[{range:i,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new u3(t,s,this._rangeVersionId,i)),this._prependedInlineCompletionItems.push(t)}}class u3{get forwardStable(){var t;return null!==(t=this.inlineCompletion.source.inlineCompletions.enableForwardStability)&&void 0!==t&&t}constructor(t,i,e,s){this.inlineCompletion=t,this.decorationId=i,this.rangeVersion=e,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._isValid=!0,this._updatedRange=null!=s?s:t.range}toInlineCompletion(t){return this.inlineCompletion.withRange(this._getUpdatedRange(t))}toSingleTextEdit(t){return new e3(this._getUpdatedRange(t),this.inlineCompletion.insertText)}isVisible(t,i,e){const s=this._toFilterTextReplacement(e).removeCommonPrefix(t);if(!this._isValid||!this.inlineCompletion.range.getStartPosition().equals(this._getUpdatedRange(e).getStartPosition())||i.lineNumber!==s.range.startLineNumber)return!1;const n=t.getValueInRange(s.range,1),o=s.text,r=Math.max(0,i.column-s.range.startColumn);let h=o.substring(0,r),c=o.substring(r),a=n.substring(0,r),l=n.substring(r);const u=t.getLineIndentColumn(s.range.startLineNumber);return s.range.startColumn<=u&&(a=a.trimStart(),0===a.length&&(l=l.trimStart()),h=h.trimStart(),0===h.length&&(c=c.trimStart())),h.startsWith(a)&&!!RI(l,c)}canBeReused(t,i){return this._isValid&&this._getUpdatedRange(void 0).containsPosition(i)&&this.isVisible(t,i,void 0)&&!this._isSmallerThanOriginal(void 0)}_toFilterTextReplacement(t){return new e3(this._getUpdatedRange(t),this.inlineCompletion.filterText)}_isSmallerThanOriginal(t){return d3(this._getUpdatedRange(t)).isBefore(d3(this.inlineCompletion.range))}_getUpdatedRange(t){return this.rangeVersion.read(t),this._updatedRange}_updateRange(t){const i=t.getDecorationRange(this.decorationId);return i?!this._updatedRange.equalsRange(i)&&(this._updatedRange=i,!0):(this._isValid=!1,!0)}}function d3(t){return t.startLineNumber===t.endLineNumber?new As(1,1+t.endColumn-t.startColumn):new As(1+t.endLineNumber-t.startLineNumber,t.endColumn)}const f3={Visible:O2,HasFocusedSuggestion:new ch("suggestWidgetHasFocusedSuggestion",!1,rt(0,"Whether any suggestion is focused")),DetailsVisible:new ch("suggestWidgetDetailsVisible",!1,rt(0,"Whether suggestion details are visible")),MultipleSuggestions:new ch("suggestWidgetMultipleSuggestions",!1,rt(0,"Whether there are multiple suggestions to pick from")),MakesTextEdit:new ch("suggestionMakesTextEdit",!0,rt(0,"Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new ch("acceptSuggestionOnEnter",!0,rt(0,"Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new ch("suggestionHasInsertAndReplaceRange",!1,rt(0,"Whether the current suggestion has insert and replace behaviour")),InsertMode:new ch("suggestionInsertMode",void 0,{type:"string",description:rt(0,"Whether the default behaviour is to insert or replace")}),CanResolve:new ch("suggestionCanResolve",!1,rt(0,"Whether the current suggestion supports to resolve further details"))},p3=new Rh("suggestWidgetStatusBar");class g3{constructor(t,i,e,s){var n;this.position=t,this.completion=i,this.container=e,this.provider=s,this.isInvalid=!1,this.score=p_.Default,this.distance=0,this.textLabel="string"==typeof i.label?i.label:null===(n=i.label)||void 0===n?void 0:n.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=i.sortText&&i.sortText.toLowerCase(),this.filterTextLow=i.filterText&&i.filterText.toLowerCase(),this.extensionId=i.extensionId,Ms.isIRange(i.range)?(this.editStart=new As(i.range.startLineNumber,i.range.startColumn),this.editInsertEnd=new As(i.range.endLineNumber,i.range.endColumn),this.editReplaceEnd=new As(i.range.endLineNumber,i.range.endColumn),this.isInvalid=this.isInvalid||Ms.spansMultipleLines(i.range)||i.range.startLineNumber!==t.lineNumber):(this.editStart=new As(i.range.insert.startLineNumber,i.range.insert.startColumn),this.editInsertEnd=new As(i.range.insert.endLineNumber,i.range.insert.endColumn),this.editReplaceEnd=new As(i.range.replace.endLineNumber,i.range.replace.endColumn),this.isInvalid=this.isInvalid||Ms.spansMultipleLines(i.range.insert)||Ms.spansMultipleLines(i.range.replace)||i.range.insert.startLineNumber!==t.lineNumber||i.range.replace.startLineNumber!==t.lineNumber||i.range.insert.startColumn!==i.range.replace.startColumn),"function"!=typeof s.resolveCompletionItem&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return void 0!==this._resolveDuration}get resolveDuration(){return void 0!==this._resolveDuration?this._resolveDuration:-1}async resolve(t){if(!this._resolveCache){const i=t.onCancellationRequested((()=>{this._resolveCache=void 0,this._resolveDuration=void 0})),e=new he(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,t)).then((t=>{Object.assign(this.completion,t),this._resolveDuration=e.elapsed()}),(t=>{zi(t)&&(this._resolveCache=void 0,this._resolveDuration=void 0)})).finally((()=>{i.dispose()}))}return this._resolveCache}}class m3{constructor(t=2,i=new Set,e=new Set,s=new Map,n=!0){this.snippetSortOrder=t,this.kindFilter=i,this.providerFilter=e,this.providerItemsToReuse=s,this.showDeprecated=n}}m3.default=new m3;class w3{constructor(t,i,e,s){this.items=t,this.needsClipboard=i,this.durations=e,this.disposable=s}}async function v3(t,i,e,s=m3.default,n={triggerKind:0},o=xe.None){const r=new he;e=e.clone();const h=i.getWordAtPosition(e),c=h?new Ms(e.lineNumber,h.startColumn,e.lineNumber,h.endColumn):Ms.fromPositions(e),a={replace:c,insert:c.setEndPosition(e.lineNumber,e.column)},l=[],u=new te,d=[];let f=!1;const p=(t,i,n)=>{var o,r,h;let c=!1;if(!i)return c;for(const n of i.suggestions)if(!s.kindFilter.has(n.kind)){if(!s.showDeprecated&&(null===(o=null==n?void 0:n.tags)||void 0===o?void 0:o.includes(1)))continue;n.range||(n.range=a),n.sortText||(n.sortText="string"==typeof n.label?n.label:n.label.label),!f&&n.insertTextRules&&4&n.insertTextRules&&(f=Q5.guessNeedsClipboard(n.insertText)),l.push(new g3(e,n,i,t)),c=!0}return Qi(i)&&u.add(i),d.push({providerName:null!==(r=t._debugDisplayName)&&void 0!==r?r:"unknown_provider",elapsedProvider:null!==(h=i.duration)&&void 0!==h?h:-1,elapsedOverall:n.elapsed()}),c},g=(async()=>{})();for(const r of t.orderedGroups(i)){let t=!1;if(await Promise.all(r.map((async r=>{if(s.providerItemsToReuse.has(r)){const i=s.providerItemsToReuse.get(r);return i.forEach((t=>l.push(t))),void(t=t||i.length>0)}if(!(s.providerFilter.size>0)||s.providerFilter.has(r))try{const s=new he,h=await r.provideCompletionItems(i,e,n,o);t=p(r,h,s)||t}catch(t){$i(t)}}))),t||o.isCancellationRequested)break}return await g,o.isCancellationRequested?(u.dispose(),Promise.reject(new Hi)):new w3(l.sort(y3.get(s.snippetSortOrder)),f,{entries:d,elapsed:r.elapsed()},u)}function b3(t,i){if(t.sortTextLow&&i.sortTextLow){if(t.sortTextLowi.sortTextLow)return 1}return t.textLabeli.textLabel?1:t.completion.kind-i.completion.kind}const y3=new Map;y3.set(0,(function(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return-1;if(27===i.completion.kind)return 1}return b3(t,i)})),y3.set(2,(function(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return 1;if(27===i.completion.kind)return-1}return b3(t,i)})),y3.set(1,b3),Dr.registerCommand("_executeCompletionItemProvider",(async(t,...i)=>{const[e,s,n,o]=i;K(ms.isUri(e)),K(As.isIPosition(s)),K("string"==typeof n||!n),K("number"==typeof o||!o);const{completionProvider:r}=t.get(gg),h=await t.get(gr).createModelReference(e);try{const t={incomplete:!1,suggestions:[]},i=[],e=h.object.textEditorModel.validatePosition(s),c=await v3(r,h.object.textEditorModel,e,void 0,{triggerCharacter:null!=n?n:void 0,triggerKind:n?1:0});for(const e of c.items)i.length<(null!=o?o:0)&&i.push(e.resolve(xe.None)),t.incomplete=t.incomplete||e.container.incomplete,t.suggestions.push(e.completion);try{return await Promise.all(i),t}finally{setTimeout((()=>c.disposable.dispose()),100)}}finally{h.dispose()}}));class k3{static isAllOff(t){return"off"===t.other&&"off"===t.comments&&"off"===t.strings}static isAllOn(t){return"on"===t.other&&"on"===t.comments&&"on"===t.strings}static valueFor(t,i){switch(i){case 1:return t.comments;case 2:return t.strings;default:return t.other}}}function x3(t,i=Ct){return function(t,i=Ct){return!!i&&rA(t.charCodeAt(0))&&58===t.charCodeAt(1)}(t,i)?t.charAt(0).toUpperCase()+t.slice(1):t}Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,CURRENT_TIMEZONE_OFFSET:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,CURSOR_INDEX:!0,CURSOR_NUMBER:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});class C3{constructor(t){this._delegates=t}resolve(t){for(const i of this._delegates){const e=i.resolve(t);if(void 0!==e)return e}}}class S3{constructor(t,i,e,s){this._model=t,this._selection=i,this._selectionIdx=e,this._overtypingCapturer=s}resolve(t){const{name:i}=t;if("SELECTION"===i||"TM_SELECTED_TEXT"===i){let i=this._model.getValueInRange(this._selection)||void 0,e=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const t=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);t&&(i=t.value,e=t.multiline)}if(i&&e&&t.snippet){const e=io(this._model.getLineContent(this._selection.startLineNumber),0,this._selection.startColumn-1);let s=e;t.snippet.walk((i=>i!==t&&(i instanceof j5&&(s=io(Xn(i.value).pop())),!0)));const n=fo(s,e);i=i.replace(/(\r\n|\r|\n)(.*)/g,((t,i,e)=>`${i}${s.substr(n)}${e}`))}return i}if("TM_CURRENT_LINE"===i)return this._model.getLineContent(this._selection.positionLineNumber);if("TM_CURRENT_WORD"===i){const t=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return t&&t.word||void 0}return"TM_LINE_INDEX"===i?String(this._selection.positionLineNumber-1):"TM_LINE_NUMBER"===i?String(this._selection.positionLineNumber):"CURSOR_INDEX"===i?String(this._selectionIdx):"CURSOR_NUMBER"===i?String(this._selectionIdx+1):void 0}}class D3{constructor(t,i){this._labelService=t,this._model=i}resolve(t){const{name:i}=t;if("TM_FILENAME"===i)return hs(this._model.uri.fsPath);if("TM_FILENAME_BASE"===i){const t=hs(this._model.uri.fsPath),i=t.lastIndexOf(".");return i<=0?t:t.slice(0,i)}return"TM_DIRECTORY"===i?"."===rs(this._model.uri.fsPath)?"":this._labelService.getUriLabel(fA(this._model.uri)):"TM_FILEPATH"===i?this._labelService.getUriLabel(this._model.uri):"RELATIVE_FILEPATH"===i?this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0}):void 0}}class E3{constructor(t,i,e,s){this._readClipboardText=t,this._selectionIdx=i,this._selectionCount=e,this._spread=s}resolve(t){if("CLIPBOARD"!==t.name)return;const i=this._readClipboardText();if(i){if(this._spread){const t=i.split(/\r\n|\n|\r/).filter((t=>!Vn(t)));if(t.length===this._selectionCount)return t[this._selectionIdx]}return i}}}let A3=class{constructor(t,i,e){this._model=t,this._selection=i,this._languageConfigurationService=e}resolve(t){const{name:i}=t,e=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),s=this._languageConfigurationService.getLanguageConfiguration(e).comments;if(s)return"LINE_COMMENT"===i?s.lineCommentToken||void 0:"BLOCK_COMMENT_START"===i?s.blockCommentStartToken||void 0:"BLOCK_COMMENT_END"===i&&s.blockCommentEndToken||void 0}};A3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,qd)],A3);class M3{constructor(){this._date=new Date}resolve(t){const{name:i}=t;if("CURRENT_YEAR"===i)return String(this._date.getFullYear());if("CURRENT_YEAR_SHORT"===i)return String(this._date.getFullYear()).slice(-2);if("CURRENT_MONTH"===i)return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if("CURRENT_DATE"===i)return String(this._date.getDate().valueOf()).padStart(2,"0");if("CURRENT_HOUR"===i)return String(this._date.getHours().valueOf()).padStart(2,"0");if("CURRENT_MINUTE"===i)return String(this._date.getMinutes().valueOf()).padStart(2,"0");if("CURRENT_SECOND"===i)return String(this._date.getSeconds().valueOf()).padStart(2,"0");if("CURRENT_DAY_NAME"===i)return M3.dayNames[this._date.getDay()];if("CURRENT_DAY_NAME_SHORT"===i)return M3.dayNamesShort[this._date.getDay()];if("CURRENT_MONTH_NAME"===i)return M3.monthNames[this._date.getMonth()];if("CURRENT_MONTH_NAME_SHORT"===i)return M3.monthNamesShort[this._date.getMonth()];if("CURRENT_SECONDS_UNIX"===i)return String(Math.floor(this._date.getTime()/1e3));if("CURRENT_TIMEZONE_OFFSET"===i){const t=this._date.getTimezoneOffset(),i=t>0?"-":"+",e=Math.trunc(Math.abs(t/60)),s=e<10?"0"+e:e,n=Math.abs(t)-60*e;return i+s+":"+(n<10?"0"+n:n)}}}M3.dayNames=[rt(0,"Sunday"),rt(0,"Monday"),rt(0,"Tuesday"),rt(0,"Wednesday"),rt(0,"Thursday"),rt(0,"Friday"),rt(0,"Saturday")],M3.dayNamesShort=[rt(0,"Sun"),rt(0,"Mon"),rt(0,"Tue"),rt(0,"Wed"),rt(0,"Thu"),rt(0,"Fri"),rt(0,"Sat")],M3.monthNames=[rt(0,"January"),rt(0,"February"),rt(0,"March"),rt(0,"April"),rt(0,"May"),rt(0,"June"),rt(0,"July"),rt(0,"August"),rt(0,"September"),rt(0,"October"),rt(0,"November"),rt(0,"December")],M3.monthNamesShort=[rt(0,"Jan"),rt(0,"Feb"),rt(0,"Mar"),rt(0,"Apr"),rt(0,"May"),rt(0,"Jun"),rt(0,"Jul"),rt(0,"Aug"),rt(0,"Sep"),rt(0,"Oct"),rt(0,"Nov"),rt(0,"Dec")];class L3{constructor(t){this._workspaceService=t}resolve(t){if(!this._workspaceService)return;const i="string"==typeof(e=this._workspaceService.getWorkspace())||void 0===e?"string"==typeof e?{id:hs(e)}:HO:e.configuration?{id:e.id,configPath:e.configuration}:1===e.folders.length?{id:e.id,uri:e.folders[0].uri}:{id:e.id};var e,s;return"string"!=typeof(null==(s=i)?void 0:s.id)||zO(s)||function(t){return"string"==typeof(null==t?void 0:t.id)&&ms.isUri(t.configPath)}(s)?"WORKSPACE_NAME"===t.name?this._resolveWorkspaceName(i):"WORKSPACE_FOLDER"===t.name?this._resoveWorkspacePath(i):void 0:void 0}_resolveWorkspaceName(t){if(zO(t))return hs(t.uri.path);let i=hs(t.configPath.path);return i.endsWith("code-workspace")&&(i=i.substr(0,i.length-14-1)),i}_resoveWorkspacePath(t){if(zO(t))return x3(t.uri.fsPath);const i=hs(t.configPath.path);let e=t.configPath.fsPath;return e.endsWith(i)&&(e=e.substr(0,e.length-i.length-1)),e?x3(e):"/"}}class F3{resolve(t){const{name:i}=t;return"RANDOM"===i?Math.random().toString().slice(-6):"RANDOM_HEX"===i?Math.random().toString(16).slice(-6):"UUID"===i?e1():void 0}}var T3;class R3{constructor(t,i,e){this._editor=t,this._snippet=i,this._snippetLineLeadingWhitespace=e,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=p(i.placeholders,H5.compareByIndex),this._placeholderGroupsIdx=-1}initialize(t){this._offset=t.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(-1===this._offset)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const t=this._editor.getModel();this._editor.changeDecorations((i=>{for(const e of this._snippet.placeholders){const s=this._snippet.offset(e),n=this._snippet.fullLen(e),o=Ms.fromPositions(t.getPositionAt(this._offset+s),t.getPositionAt(this._offset+s+n)),r=i.addDecoration(o,e.isFinalTabstop?R3._decor.inactiveFinal:R3._decor.inactive);this._placeholderDecorations.set(e,r)}}))}move(t){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const t=[];for(const i of this._placeholderGroups[this._placeholderGroupsIdx])if(i.transform){const e=this._placeholderDecorations.get(i),s=this._editor.getModel().getDecorationRange(e),n=this._editor.getModel().getValueInRange(s),o=i.transform.resolve(n).split(/\r\n|\r|\n/);for(let t=1;t0&&this._editor.executeEdits("snippet.placeholderTransform",t)}let i=!1;!0===t&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,i=!0);const e=this._editor.getModel().changeDecorations((t=>{const e=new Set,s=[];for(const n of this._placeholderGroups[this._placeholderGroupsIdx]){const o=this._placeholderDecorations.get(n),r=this._editor.getModel().getDecorationRange(o);s.push(new Ls(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn)),i=i&&this._hasPlaceholderBeenCollapsed(n),t.changeDecorationOptions(o,n.isFinalTabstop?R3._decor.activeFinal:R3._decor.active),e.add(n);for(const i of this._snippet.enclosingPlaceholders(n)){const s=this._placeholderDecorations.get(i);t.changeDecorationOptions(s,i.isFinalTabstop?R3._decor.activeFinal:R3._decor.active),e.add(i)}}for(const[i,s]of this._placeholderDecorations)e.has(i)||t.changeDecorationOptions(s,i.isFinalTabstop?R3._decor.inactiveFinal:R3._decor.inactive);return s}));return i?this.move(t):null!=e?e:[]}_hasPlaceholderBeenCollapsed(t){let i=t;for(;i;){if(i instanceof H5){const t=this._placeholderDecorations.get(i);if(this._editor.getModel().getDecorationRange(t).isEmpty()&&i.toString().length>0)return!0}i=i.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(0===this._snippet.placeholders.length)return!0;if(1===this._snippet.placeholders.length){const[t]=this._snippet.placeholders;if(t.isFinalTabstop&&this._snippet.rightMostDescendant===t)return!0}return!1}computePossibleSelections(){const t=new Map;for(const i of this._placeholderGroups){let e;for(const s of i){if(s.isFinalTabstop)break;e||(e=[],t.set(s.index,e));const i=this._placeholderDecorations.get(s),n=this._editor.getModel().getDecorationRange(i);if(!n){t.delete(s.index);break}e.push(n)}}return t}get activeChoice(){if(!this._placeholderDecorations)return;const t=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(null==t?void 0:t.choice))return;const i=this._placeholderDecorations.get(t);if(!i)return;const e=this._editor.getModel().getDecorationRange(i);return e?{range:e,choice:t.choice}:void 0}get hasChoice(){let t=!1;return this._snippet.walk((i=>(t=i instanceof V5,!t))),t}merge(t){const i=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations((e=>{for(const s of this._placeholderGroups[this._placeholderGroupsIdx]){const n=t.shift();console.assert(-1!==n._offset),console.assert(!n._placeholderDecorations);const o=n._snippet.placeholderInfo.last.index;for(const t of n._snippet.placeholderInfo.all)t.index=t.isFinalTabstop?s.index+(o+1)/this._nestingLevel:s.index+t.index/this._nestingLevel;this._snippet.replace(s,n._snippet.children);const r=this._placeholderDecorations.get(s);e.removeDecoration(r),this._placeholderDecorations.delete(s);for(const t of n._snippet.placeholders){const s=n._snippet.offset(t),o=n._snippet.fullLen(t),r=Ms.fromPositions(i.getPositionAt(n._offset+s),i.getPositionAt(n._offset+s+o)),h=e.addDecoration(r,R3._decor.inactive);this._placeholderDecorations.set(t,h)}}this._placeholderGroups=p(this._snippet.placeholders,H5.compareByIndex)}))}}R3._decor={active:bL.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:bL.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:bL.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:bL.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const O3={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let I3=T3=class{static adjustWhitespace(t,i,e,s,n){const o=io(t.getLineContent(i.lineNumber),0,i.column-1);let r;return s.walk((i=>{if(!(i instanceof j5)||i.parent instanceof V5)return!0;if(n&&!n.has(i))return!0;const h=i.value.split(/\r\n|\r|\n/);if(e){const e=s.offset(i);if(0===e)h[0]=t.normalizeIndentation(h[0]);else{r=null!=r?r:s.toString();const i=r.charCodeAt(e-1);10!==i&&13!==i||(h[0]=t.normalizeIndentation(o+h[0]))}for(let i=1;it.get(jO))),f=t.invokeWithinContext((t=>new D3(t.get(TO),u))),p=()=>r,g=u.getValueInRange(T3.adjustSelection(u,t.getSelection(),e,0)),m=u.getValueInRange(T3.adjustSelection(u,t.getSelection(),0,s)),w=u.getLineFirstNonWhitespaceColumn(t.getSelection().positionLineNumber),v=t.getSelections().map(((t,i)=>({selection:t,idx:i}))).sort(((t,i)=>Ms.compareRangesUsingStarts(t.selection,i.selection)));for(const{selection:r,idx:b}of v){let y=T3.adjustSelection(u,r,e,0),k=T3.adjustSelection(u,r,0,s);g!==u.getValueInRange(y)&&(y=r),m!==u.getValueInRange(k)&&(k=r);const x=r.setStartPosition(y.startLineNumber,y.startColumn).setEndPosition(k.endLineNumber,k.endColumn),C=(new Q5).parse(i,!0,n),S=x.getStartPosition(),D=T3.adjustWhitespace(u,S,o||b>0&&w!==u.getLineFirstNonWhitespaceColumn(r.positionLineNumber),C);C.resolveVariables(new C3([f,new E3(p,b,v.length,"spread"===t.getOption(78)),new S3(u,r,b,h),new A3(u,r,c),new M3,new L3(d),new F3])),a[b]=rO.replace(x,C.toString()),a[b].identifier={major:b,minor:0},a[b]._isTracked=!0,l[b]=new R3(t,C,D)}return{edits:a,snippets:l}}static createEditsAndSnippetsFromEdits(t,i,e,s,n,o,r){if(!t.hasModel()||0===i.length)return{edits:[],snippets:[]};const h=[],c=t.getModel(),a=new Q5,l=new Z5,u=new C3([t.invokeWithinContext((t=>new D3(t.get(TO),c))),new E3((()=>n),0,t.getSelections().length,"spread"===t.getOption(78)),new S3(c,t.getSelection(),0,o),new A3(c,t.getSelection(),r),new M3,new L3(t.invokeWithinContext((t=>t.get(jO)))),new F3]);i=i.sort(((t,i)=>Ms.compareRangesUsingStarts(t.range,i.range)));let d=0;for(let t=0;t0){const s=Ms.fromPositions(i[t-1].range.getEndPosition(),e.getStartPosition()),n=new j5(c.getValueInRange(s));l.appendChild(n),d+=n.value.length}const n=a.parseFragment(s,l);T3.adjustWhitespace(c,e.getStartPosition(),!0,l,new Set(n)),l.resolveVariables(u);const o=l.toString(),r=o.slice(d);d=o.length;const f=rO.replace(e,r);f.identifier={major:t,minor:0},f._isTracked=!0,h.push(f)}return a.ensureFinalTabstop(l,e,!0),{edits:h,snippets:[new R3(t,l,"")]}}constructor(t,i,e=O3,s){this._editor=t,this._template=i,this._options=e,this._languageConfigurationService=s,this._templateMerges=[],this._snippets=[]}dispose(){Ji(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:t,snippets:i}="string"==typeof this._template?T3.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):T3.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=i,this._editor.executeEdits("snippet",t,(t=>{const e=t.filter((t=>!!t.identifier));for(let t=0;tLs.fromPositions(t.range.getEndPosition())))})),this._editor.revealRange(this._editor.getSelections()[0])}merge(t,i=O3){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);const{edits:e,snippets:s}=T3.createEditsAndSnippetsFromSelections(this._editor,t,i.overwriteBefore,i.overwriteAfter,!0,i.adjustWhitespace,i.clipboardText,i.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",e,(t=>{const i=t.filter((t=>!!t.identifier));for(let t=0;tLs.fromPositions(t.range.getEndPosition())))}))}next(){const t=this._move(!0);this._editor.setSelections(t),this._editor.revealPositionInCenterIfOutsideViewport(t[0].getPosition())}prev(){const t=this._move(!1);this._editor.setSelections(t),this._editor.revealPositionInCenterIfOutsideViewport(t[0].getPosition())}_move(t){const i=[];for(const e of this._snippets){const s=e.move(t);i.push(...s)}return i}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const t=this._editor.getSelections();if(t.length{t.push(...s.get(i))}))}t.sort(Ms.compareRangesUsingStarts);for(const[e,s]of i)if(s.length===t.length){s.sort(Ms.compareRangesUsingStarts);for(let n=0;n0}};I3=T3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,qd)],I3);var _3,N3=function(t,i){return function(e,s){i(e,s,t)}};const B3={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let P3=_3=class{static get(t){return t.getContribution(_3.ID)}constructor(t,i,e,s,n){this._editor=t,this._logService=i,this._languageFeaturesService=e,this._languageConfigurationService=n,this._snippetListener=new te,this._modelVersionId=-1,this._inSnippet=_3.InSnippetMode.bindTo(s),this._hasNextTabstop=_3.HasNextTabstop.bindTo(s),this._hasPrevTabstop=_3.HasPrevTabstop.bindTo(s)}dispose(){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),null===(t=this._session)||void 0===t||t.dispose(),this._snippetListener.dispose()}insert(t,i){try{this._doInsert(t,void 0===i?B3:{...B3,...i})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",t),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(t,i){var e;if(this._editor.hasModel()){if(this._snippetListener.clear(),i.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&"string"!=typeof t&&this.cancel(),this._session?(K("string"==typeof t),this._session.merge(t,i)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new I3(this._editor,t,i,this._languageConfigurationService),this._session.insert()),i.undoStopAfter&&this._editor.getModel().pushStackElement(),null===(e=this._session)||void 0===e?void 0:e.hasChoice){const t={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(t,i)=>{if(!this._session||t!==this._editor.getModel()||!As.equals(this._editor.getPosition(),i))return;const{activeChoice:e}=this._session;if(!e||0===e.choice.options.length)return;const s=t.getValueInRange(e.range),n=Boolean(e.choice.options.find((t=>t.value===s))),o=[];for(let t=0;t{s||(e=this._languageFeaturesService.completionProvider.register({language:i.getLanguageId(),pattern:i.uri.fsPath,scheme:i.uri.scheme,exclusive:!0},t),this._snippetListener.add(e),s=!0)},disable:()=>{null==e||e.dispose(),s=!1}}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent((t=>t.isFlush&&this.cancel()))),this._snippetListener.add(this._editor.onDidChangeModel((()=>this.cancel()))),this._snippetListener.add(this._editor.onDidChangeCursorSelection((()=>this._updateState())))}}_updateState(){if(this._session&&this._editor.hasModel()){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){var t;if(!this._session||!this._editor.hasModel())return void(this._currentChoice=void 0);const{activeChoice:i}=this._session;if(!i||!this._choiceCompletions)return null===(t=this._choiceCompletions)||void 0===t||t.disable(),void(this._currentChoice=void 0);this._currentChoice!==i.choice&&(this._currentChoice=i.choice,this._choiceCompletions.enable(),queueMicrotask((()=>{!function(t,i){var e;null===(e=t.getContribution("editor.contrib.suggestController"))||void 0===e||e.triggerSuggest((new Set).add(i),void 0,!0)}(this._editor,this._choiceCompletions.provider)})))}finish(){for(;this._inSnippet.get();)this.next()}cancel(t=!1){var i;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,null===(i=this._session)||void 0===i||i.dispose(),this._session=void 0,this._modelVersionId=-1,t&&this._editor.setSelections([this._editor.getSelection()])}prev(){var t;null===(t=this._session)||void 0===t||t.prev(),this._updateState()}next(){var t;null===(t=this._session)||void 0===t||t.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};P3.ID="snippetController2",P3.InSnippetMode=new ch("inSnippetMode",!1,rt(0,"Whether the editor in current in snippet mode")),P3.HasNextTabstop=new ch("hasNextTabstop",!1,rt(0,"Whether there is a next tab stop when in snippet mode")),P3.HasPrevTabstop=new ch("hasPrevTabstop",!1,rt(0,"Whether there is a previous tab stop when in snippet mode")),P3=_3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([N3(1,jh),N3(2,gg),N3(3,ah),N3(4,qd)],P3),lu(P3.ID,P3,4);const $3=eu.bindToContribution(P3.get);hu(new $3({id:"jumpToNextSnippetPlaceholder",precondition:zr.and(P3.InSnippetMode,P3.HasNextTabstop),handler:t=>t.next(),kbOpts:{weight:130,kbExpr:UC.editorTextFocus,primary:2}})),hu(new $3({id:"jumpToPrevSnippetPlaceholder",precondition:zr.and(P3.InSnippetMode,P3.HasPrevTabstop),handler:t=>t.prev(),kbOpts:{weight:130,kbExpr:UC.editorTextFocus,primary:1026}})),hu(new $3({id:"leaveSnippet",precondition:P3.InSnippetMode,handler:t=>t.cancel(!0),kbOpts:{weight:130,kbExpr:UC.editorTextFocus,primary:9,secondary:[1033]}})),hu(new $3({id:"acceptSnippet",precondition:P3.InSnippetMode,handler:t=>t.finish()}));var W3,j3=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t[t.Undo=0]="Undo",t[t.Redo=1]="Redo",t[t.AcceptWord=2]="AcceptWord",t[t.Other=3]="Other"}(W3||(W3={}));let z3=class extends ie{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(t,i,e,s,n,o,r,h,c,a,l,u){let d;super(),this.textModel=t,this.selectedSuggestItem=i,this.cursorPosition=e,this.textModelVersionId=s,this._debounceValue=n,this._suggestPreviewEnabled=o,this._suggestPreviewMode=r,this._inlineSuggestMode=h,this._enabled=c,this._instantiationService=a,this._commandService=l,this._languageConfigurationService=u,this._source=this._register(this._instantiationService.createInstance(h3,this.textModel,this.textModelVersionId,this._debounceValue)),this._isActive=xV(this,!1),this._forceUpdateSignal=HV("forceUpdate"),this._selectedInlineCompletionId=xV(this,void 0),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([W3.Redo,W3.Undo,W3.AcceptWord]),this._fetchInlineCompletions=function(t,i){var e;return new TV(t.owner,t.debugName,i,t.createEmptyChangeSummary,t.handleChange,void 0,null!==(e=t.equalityComparer)&&void 0!==e?e:EV)}({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:$s.Automatic}),handleChange:(t,i)=>(t.didChange(this.textModelVersionId)&&this._preserveCurrentCompletionReasons.has(t.change)?i.preserveCurrentCompletion=!0:t.didChange(this._forceUpdateSignal)&&(i.inlineCompletionTriggerKind=t.change),!0)},((t,i)=>{if(this._forceUpdateSignal.read(t),!(this._enabled.read(t)&&this.selectedSuggestItem.read(t)||this._isActive.read(t)))return void this._source.cancelUpdate();this.textModelVersionId.read(t);const e=this.selectedInlineCompletion.get(),s=i.preserveCurrentCompletion||(null==e?void 0:e.forwardStable)?e:void 0,n=this._source.suggestWidgetInlineCompletions.get(),o=this.selectedSuggestItem.read(t);if(n&&!o){const t=this._source.inlineCompletions.get();dV((i=>{(!t||n.request.versionId>t.request.versionId)&&this._source.inlineCompletions.set(n.clone(),i),this._source.clearSuggestWidgetInlineCompletions(i)}))}const r=this.cursorPosition.read(t),h={triggerKind:i.inlineCompletionTriggerKind,selectedSuggestionInfo:null==o?void 0:o.toSelectedSuggestionInfo()};return this._source.fetch(r,h,s)})),this._filteredInlineCompletionItems=AV(this,(t=>{const i=this._source.inlineCompletions.read(t);if(!i)return[];const e=this.cursorPosition.read(t),s=i.inlineCompletions.filter((i=>i.isVisible(this.textModel,e,t)));return s})),this.selectedInlineCompletionIndex=AV(this,(t=>{const i=this._selectedInlineCompletionId.read(t),e=this._filteredInlineCompletionItems.read(t),s=void 0===this._selectedInlineCompletionId?-1:e.findIndex((t=>t.semanticId===i));return-1===s?(this._selectedInlineCompletionId.set(void 0,void 0),0):s})),this.selectedInlineCompletion=AV(this,(t=>this._filteredInlineCompletionItems.read(t)[this.selectedInlineCompletionIndex.read(t)])),this.lastTriggerKind=this._source.inlineCompletions.map(this,(t=>null==t?void 0:t.request.context.triggerKind)),this.inlineCompletionsCount=AV(this,(t=>this.lastTriggerKind.read(t)===$s.Explicit?this._filteredInlineCompletionItems.read(t).length:void 0)),this.state=MV({owner:this,equalityComparer:(t,i)=>t&&i?O5(t.ghostText,i.ghostText)&&t.inlineCompletion===i.inlineCompletion&&t.suggestItem===i.suggestItem:t===i},(t=>{var i;const e=this.textModel,s=this.selectedSuggestItem.read(t);if(s){const n=s.toSingleTextEdit().removeCommonPrefix(e),o=this._computeAugmentedCompletion(n,t);if(!this._suggestPreviewEnabled.read(t)&&!o)return;const r=null!==(i=null==o?void 0:o.edit)&&void 0!==i?i:n,h=o?o.edit.text.length-n.text.length:0,c=this._suggestPreviewMode.read(t),a=this.cursorPosition.read(t),l=r.computeGhostText(e,c,a,h);return{ghostText:null!=l?l:new F5(r.range.endLineNumber,[]),inlineCompletion:null==o?void 0:o.completion,suggestItem:s}}{if(!this._isActive.read(t))return;const i=this.selectedInlineCompletion.read(t);if(!i)return;const s=i.toSingleTextEdit(t),n=this._inlineSuggestMode.read(t),o=this.cursorPosition.read(t),r=s.computeGhostText(e,n,o);return r?{ghostText:r,inlineCompletion:i,suggestItem:void 0}:void 0}})),this.ghostText=MV({owner:this,equalityComparer:O5},(t=>{const i=this.state.read(t);if(i)return i.ghostText})),this._register(UV(this._fetchInlineCompletions)),this._register(RV((t=>{var i,e;const s=this.state.read(t),n=null==s?void 0:s.inlineCompletion;if((null==n?void 0:n.semanticId)!==(null==d?void 0:d.semanticId)&&(d=n,n)){const t=n.inlineCompletion,s=t.source;null===(e=(i=s.provider).handleItemDidShow)||void 0===e||e.call(i,s.inlineCompletions,t.sourceInlineCompletion,t.insertText)}})))}async trigger(t){this._isActive.set(!0,t),await this._fetchInlineCompletions.get()}async triggerExplicitly(t){pV(t,(t=>{this._isActive.set(!0,t),this._forceUpdateSignal.trigger(t,$s.Explicit)})),await this._fetchInlineCompletions.get()}stop(t){pV(t,(t=>{this._isActive.set(!1,t),this._source.clear(t)}))}_computeAugmentedCompletion(t,i){const e=this.textModel,s=this._source.suggestWidgetInlineCompletions.read(i);return function(t,i){for(const e of t){const t=i(e);if(void 0!==t)return t}}(s?s.inlineCompletions:[this.selectedInlineCompletion.read(i)].filter(U),(s=>{let n=s.toSingleTextEdit(i);return n=n.removeCommonPrefix(e,Ms.fromPositions(n.range.getStartPosition(),t.range.getEndPosition())),n.augments(t)?{edit:n,completion:s}:void 0}))}async _deltaSelectedInlineCompletionIndex(t){await this.triggerExplicitly();const i=this._filteredInlineCompletionItems.get()||[];if(i.length>0){const e=(this.selectedInlineCompletionIndex.get()+t+i.length)%i.length;this._selectedInlineCompletionId.set(i[e].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(t){var i;if(t.getModel()!==this.textModel)throw new Gi;const e=this.state.get();if(!e||e.ghostText.isEmpty()||!e.inlineCompletion)return;const s=e.inlineCompletion.toInlineCompletion(void 0);t.pushUndoStop(),s.snippetInfo?(t.executeEdits("inlineSuggestion.accept",[rO.replaceMove(s.range,""),...s.additionalTextEdits]),t.setPosition(s.snippetInfo.range.getStartPosition()),null===(i=P3.get(t))||void 0===i||i.insert(s.snippetInfo.snippet,{undoStopBefore:!1})):t.executeEdits("inlineSuggestion.accept",[rO.replaceMove(s.range,s.insertText),...s.additionalTextEdits]),s.command&&s.source.addRef(),dV((t=>{this._source.clear(t),this._isActive.set(!1,t)})),s.command&&(await this._commandService.executeCommand(s.command.id,...s.command.arguments||[]).then(void 0,$i),s.source.removeRef())}async acceptNextWord(t){await this._acceptNext(t,((t,i)=>{const e=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),s=this._languageConfigurationService.getLanguageConfiguration(e),n=new RegExp(s.wordDefinition.source,s.wordDefinition.flags.replace("g","")),o=i.match(n);let r=0;r=o&&void 0!==o.index?0===o.index?o[0].length:o.index:i.length;const h=/\s+/g.exec(i);return h&&void 0!==h.index&&h.index+h[0].length{const e=i.match(/\n/);return e&&void 0!==e.index?e.index+1:i.length}))}async _acceptNext(t,i){if(t.getModel()!==this.textModel)throw new Gi;const e=this.state.get();if(!e||e.ghostText.isEmpty()||!e.inlineCompletion)return;const s=e.ghostText,n=e.inlineCompletion.toInlineCompletion(void 0);if(n.snippetInfo||n.filterText!==n.insertText)return void await this.accept(t);const o=s.parts[0],r=new As(s.lineNumber,o.column),h=o.lines.join("\n"),c=i(r,h);if(c===h.length&&1===s.parts.length)return void this.accept(t);const a=h.substring(0,c);n.source.addRef();try{this._isAcceptingPartially=!0;try{t.pushUndoStop(),t.executeEdits("inlineSuggestion.accept",[rO.replace(Ms.fromPositions(r),a)]);const i=L5(a);t.setPosition(M5(r,i))}finally{this._isAcceptingPartially=!1}if(n.source.provider.handlePartialAccept){const i=Ms.fromPositions(n.range.getStartPosition(),M5(r,L5(a))),e=t.getModel().getValueInRange(i,1);n.source.provider.handlePartialAccept(n.source.inlineCompletions,n.sourceInlineCompletion,e.length)}}finally{n.source.removeRef()}}handleSuggestAccepted(t){var i,e;const s=t.toSingleTextEdit().removeCommonPrefix(this.textModel),n=this._computeAugmentedCompletion(s,void 0);if(!n)return;const o=n.completion.inlineCompletion;null===(e=(i=o.source.provider).handlePartialAccept)||void 0===e||e.call(i,o.source.inlineCompletions,o.sourceInlineCompletion,s.text.length)}};z3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([j3(9,ur),j3(10,Sr),j3(11,qd)],z3);var H3,V3=function(t,i){return function(e,s){i(e,s,t)}};class U3{constructor(t){this.name=t}select(t,i,e){if(0===e.length)return 0;const s=e[0].score[0];for(let t=0;tthis._saveState()),500),this._disposables.add(t.onWillSaveState((t=>{t.reason===yB.SHUTDOWN&&this._saveState()})))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(t,i,e){this._withStrategy(t,i).memorize(t,i,e),this._persistSoon.schedule()}select(t,i,e){return this._withStrategy(t,i).select(t,i,e)}_withStrategy(t,i){var e;const s=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:t.getLanguageIdAtPosition(i.lineNumber,i.column),resource:t.uri});if((null===(e=this._strategy)||void 0===e?void 0:e.name)!==s){this._saveState();const t=H3._strategyCtors.get(s)||q3;this._strategy=new t;try{const t=this._configService.getValue("editor.suggest.shareSuggestSelections"),i=this._storageService.get(`${H3._storagePrefix}/${s}`,t?0:1);i&&this._strategy.fromJSON(JSON.parse(i))}catch(t){}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${H3._storagePrefix}/${this._strategy.name}`,i,t,1)}}};K3._strategyCtors=new Map([["recentlyUsedByPrefix",class extends U3{constructor(){super("recentlyUsedByPrefix"),this._trie=WO.forStrings(),this._seq=0}memorize(t,i,e){const{word:s}=t.getWordUntilPosition(i),n=`${t.getLanguageId()}/${s}`;this._trie.set(n,{type:e.completion.kind,insertText:e.completion.insertText,touch:this._seq++})}select(t,i,e){const{word:s}=t.getWordUntilPosition(i);if(!s)return super.select(t,i,e);const n=`${t.getLanguageId()}/${s}`;let o=this._trie.get(n);if(o||(o=this._trie.findSubstr(n)),o)for(let t=0;tt.push([e,i]))),t.sort(((t,i)=>-(t[1].touch-i[1].touch))).forEach(((t,i)=>t[1].touch=i)),t.slice(0,200)}fromJSON(t){if(this._trie.clear(),t.length>0){this._seq=t[0][1].touch+1;for(const[i,e]of t)e.type="number"==typeof e.type?e.type:Ps.fromString(e.type),this._trie.set(i,e)}}}],["recentlyUsed",class extends U3{constructor(){super("recentlyUsed"),this._cache=new Bp(300,.66),this._seq=0}memorize(t,i,e){const s=`${t.getLanguageId()}/${e.textLabel}`;this._cache.set(s,{touch:this._seq++,type:e.completion.kind,insertText:e.completion.insertText})}select(t,i,e){if(0===e.length)return 0;const s=t.getLineContent(i.lineNumber).substr(i.column-10,i.column-1);if(/\s$/.test(s))return super.select(t,i,e);const n=e[0].score[0];let o=-1,r=-1;for(let i=0;ir&&n.type===e[i].completion.kind&&n.insertText===e[i].completion.insertText&&(r=n.touch,o=i),e[i].completion.preselect)return i}return-1!==o?o:0}toJSON(){return this._cache.toJSON()}fromJSON(t){this._cache.clear();for(const[i,e]of t)e.touch=0,e.type="number"==typeof e.type?e.type:Ps.fromString(e.type),this._cache.set(i,e);this._seq=this._cache.size}}],["first",q3]]),K3._storagePrefix="suggest/memories",K3=H3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([V3(0,bB),V3(1,pd)],K3);const G3=dr("ISuggestMemories");Cd(G3,K3,1);var Z3;let Q3=Z3=class{constructor(t,i){this._editor=t,this._enabled=!1,this._ckAtEnd=Z3.AtEnd.bindTo(i),this._configListener=this._editor.onDidChangeConfiguration((t=>t.hasChanged(122)&&this._update())),this._update()}dispose(){var t;this._configListener.dispose(),null===(t=this._selectionListener)||void 0===t||t.dispose(),this._ckAtEnd.reset()}_update(){const t="on"===this._editor.getOption(122);if(this._enabled!==t)if(this._enabled=t,this._enabled){const t=()=>{if(!this._editor.hasModel())return void this._ckAtEnd.set(!1);const t=this._editor.getModel(),i=this._editor.getSelection(),e=t.getWordAtPosition(i.getStartPosition());this._ckAtEnd.set(!!e&&e.endColumn===i.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};Q3.AtEnd=new ch("atEndOfWord",!1),Q3=Z3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,ah)],Q3);var J3;let Y3=J3=class{constructor(t,i){this._editor=t,this._index=0,this._ckOtherSuggestions=J3.OtherSuggestions.bindTo(i)}dispose(){this.reset()}reset(){var t;this._ckOtherSuggestions.reset(),null===(t=this._listener)||void 0===t||t.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:t,index:i},e){0!==t.items.length&&J3._moveIndex(!0,t,i)!==i?(this._acceptNext=e,this._model=t,this._index=i,this._listener=this._editor.onDidChangeCursorPosition((()=>{this._ignore||this.reset()})),this._ckOtherSuggestions.set(!0)):this.reset()}static _moveIndex(t,i,e){let s=e;for(let n=i.items.length;n>0&&(s=(s+i.items.length+(t?1:-1))%i.items.length,s!==e)&&i.items[s].completion.additionalTextEdits;n--);return s}next(){this._move(!0)}prev(){this._move(!1)}_move(t){if(this._model)try{this._ignore=!0,this._index=J3._moveIndex(t,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};Y3.OtherSuggestions=new ch("hasOtherSuggestions",!1),Y3=J3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,ah)],Y3);class X3{constructor(t,i,e,s){this._disposables=new te,this._disposables.add(e.onDidSuggest((t=>{0===t.completionModel.items.length&&this.reset()}))),this._disposables.add(e.onDidCancel((()=>{this.reset()}))),this._disposables.add(i.onDidShow((()=>this._onItem(i.getFocusedItem())))),this._disposables.add(i.onDidFocus(this._onItem,this)),this._disposables.add(i.onDidHide(this.reset,this)),this._disposables.add(t.onWillType((n=>{if(this._active&&!i.isFrozen()&&0!==e.state){const i=n.charCodeAt(n.length-1);this._active.acceptCharacters.has(i)&&t.getOption(0)&&s(this._active.item)}})))}_onItem(t){if(!t||!y(t.item.completion.commitCharacters))return void this.reset();if(this._active&&this._active.item.item===t.item)return;const i=new bf;for(const e of t.item.completion.commitCharacters)e.length>0&&i.add(e.charCodeAt(0));this._active={acceptCharacters:i,item:t}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class t6{async provideSelectionRanges(t,i){const e=[];for(const s of i){const i=[];e.push(i);const n=new Map;await new Promise((i=>t6._bracketsRightYield(i,0,t,s,n))),await new Promise((e=>t6._bracketsLeftYield(e,0,t,s,n,i)))}return e}static _bracketsRightYield(t,i,e,s,n){const o=new Map,r=Date.now();for(;;){if(i>=t6._maxRounds){t();break}if(!s){t();break}const h=e.bracketPairs.findNextBracket(s);if(!h){t();break}if(Date.now()-r>t6._maxDuration){setTimeout((()=>t6._bracketsRightYield(t,i+1,e,s,n)));break}if(h.bracketInfo.isOpeningBracket){const t=h.bracketInfo.bracketText,i=o.has(t)?o.get(t):0;o.set(t,i+1)}else{const t=h.bracketInfo.getOpeningBrackets()[0].bracketText;let i=o.has(t)?o.get(t):0;if(i-=1,o.set(t,Math.max(0,i)),i<0){let i=n.get(t);i||(i=new qt,n.set(t,i)),i.push(h.range)}}s=h.range.getEndPosition()}}static _bracketsLeftYield(t,i,e,s,n,o){const r=new Map,h=Date.now();for(;;){if(i>=t6._maxRounds&&0===n.size){t();break}if(!s){t();break}const c=e.bracketPairs.findPrevBracket(s);if(!c){t();break}if(Date.now()-h>t6._maxDuration){setTimeout((()=>t6._bracketsLeftYield(t,i+1,e,s,n,o)));break}if(c.bracketInfo.isOpeningBracket){const t=c.bracketInfo.bracketText;let i=r.has(t)?r.get(t):0;if(i-=1,r.set(t,Math.max(0,i)),i<0){const i=n.get(t);if(i){const s=i.shift();0===i.size&&n.delete(t);const r=Ms.fromPositions(c.range.getEndPosition(),s.getStartPosition()),h=Ms.fromPositions(c.range.getStartPosition(),s.getEndPosition());o.push({range:r}),o.push({range:h}),t6._addBracketLeading(e,h,o)}}}else{const t=c.bracketInfo.getOpeningBrackets()[0].bracketText,i=r.has(t)?r.get(t):0;r.set(t,i+1)}s=c.range.getStartPosition()}}static _addBracketLeading(t,i,e){if(i.startLineNumber===i.endLineNumber)return;const s=i.startLineNumber,n=t.getLineFirstNonWhitespaceColumn(s);0!==n&&n!==i.startColumn&&(e.push({range:Ms.fromPositions(new As(s,n),i.getEndPosition())}),e.push({range:Ms.fromPositions(new As(s,1),i.getEndPosition())}));const o=s-1;if(o>0){const s=t.getLineFirstNonWhitespaceColumn(o);s===i.startColumn&&s!==t.getLineLastNonWhitespaceColumn(o)&&(e.push({range:Ms.fromPositions(new As(o,s),i.getEndPosition())}),e.push({range:Ms.fromPositions(new As(o,1),i.getEndPosition())}))}}}t6._maxDuration=30,t6._maxRounds=2;class i6{static async create(t,i){if(!i.getOption(117).localityBonus)return i6.None;if(!i.hasModel())return i6.None;const e=i.getModel(),s=i.getPosition();if(!t.canComputeWordRanges(e.uri))return i6.None;const[n]=await(new t6).provideSelectionRanges(e,[s]);if(0===n.length)return i6.None;const o=await t.computeWordRanges(e.uri,n[0].range);if(!o)return i6.None;const r=e.getWordUntilPosition(s);return delete o[r.word],new class extends i6{distance(t,e){if(!s.equals(i.getPosition()))return 0;if(17===e.kind)return 2<<20;const r=o["string"==typeof e.label?e.label:e.label.label];if(b(r))return 2<<20;const h=d(r,Ms.fromPositions(t),Ms.compareRangesUsingStarts),c=h>=0?r[h]:r[Math.max(0,~h-1)];let a=n.length;for(const t of n){if(!Ms.containsRange(t.range,c))break;a-=1}return a}}}}i6.None=new class extends i6{distance(){return 0}};class e6{constructor(t,i){this.leadingLineContent=t,this.characterCountDelta=i}}class s6{constructor(t,i,e,s,n,o,r=g_.default,h){this.clipboardText=h,this._snippetCompareFn=s6._compareCompletionItems,this._items=t,this._column=i,this._wordDistance=s,this._options=n,this._refilterKind=1,this._lineContext=e,this._fuzzyScoreOptions=r,"top"===o?this._snippetCompareFn=s6._compareCompletionItemsSnippetsUp:"bottom"===o&&(this._snippetCompareFn=s6._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(t){this._lineContext.leadingLineContent===t.leadingLineContent&&this._lineContext.characterCountDelta===t.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta0&&e[0].container.incomplete&&t.add(i);return t}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){0!==this._refilterKind&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const t=[],{leadingLineContent:i,characterCountDelta:e}=this._lineContext;let s="",n="";const o=1===this._refilterKind?this._items:this._filteredItems,r=[],h=!this._options.filterGraceful||o.length>2e3?m_:v_;for(let c=0;c=d)a.score=p_.Default;else if("string"==typeof a.completion.filterText){const i=h(s,n,t,a.completion.filterText,a.filterTextLow,0,this._fuzzyScoreOptions);if(!i)continue;0===oo(a.completion.filterText,a.textLabel)?a.score=i:(a.score=i_(s,n,t,a.textLabel,a.labelLow,0),a.score[0]=i[0])}else{const i=h(s,n,t,a.textLabel,a.labelLow,0,this._fuzzyScoreOptions);if(!i)continue;a.score=i}}a.idx=c,a.distance=this._wordDistance.distance(a.position,a.completion),r.push(a),t.push(a.textLabel.length)}this._filteredItems=r.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:t.length?f(t.length-.85,t,((t,i)=>t-i)):0}}static _compareCompletionItems(t,i){return t.score[0]>i.score[0]?-1:t.score[0]i.distance?1:t.idxi.idx?1:0}static _compareCompletionItemsSnippetsDown(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return 1;if(27===i.completion.kind)return-1}return s6._compareCompletionItems(t,i)}static _compareCompletionItemsSnippetsUp(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return-1;if(27===i.completion.kind)return 1}return s6._compareCompletionItems(t,i)}}var n6,o6=function(t,i){return function(e,s){i(e,s,t)}};class r6{static shouldAutoTrigger(t){if(!t.hasModel())return!1;const i=t.getModel(),e=t.getPosition();i.tokenization.tokenizeIfCheap(e.lineNumber);const s=i.getWordAtPosition(e);return!(!s||s.endColumn!==e.column&&s.startColumn+1!==e.column||!isNaN(Number(s.word)))}constructor(t,i,e){this.leadingLineContent=t.getLineContent(i.lineNumber).substr(0,i.column-1),this.leadingWord=t.getWordUntilPosition(i),this.lineNumber=i.lineNumber,this.column=i.column,this.triggerOptions=e}}let h6=n6=class{constructor(t,i,e,s,n,o,r,h,c){this._editor=t,this._editorWorkerService=i,this._clipboardService=e,this._telemetryService=s,this._logService=n,this._contextKeyService=o,this._configurationService=r,this._languageFeaturesService=h,this._envService=c,this._toDispose=new te,this._triggerCharacterListener=new te,this._triggerQuickSuggest=new dc,this._triggerState=void 0,this._completionDisposables=new te,this._onDidCancel=new fe,this._onDidTrigger=new fe,this._onDidSuggest=new fe,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Ls(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel((()=>{this._updateTriggerCharacters(),this.cancel()}))),this._toDispose.add(this._editor.onDidChangeModelLanguage((()=>{this._updateTriggerCharacters(),this.cancel()}))),this._toDispose.add(this._editor.onDidChangeConfiguration((()=>{this._updateTriggerCharacters()}))),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange((()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()})));let a=!1;this._toDispose.add(this._editor.onDidCompositionStart((()=>{a=!0}))),this._toDispose.add(this._editor.onDidCompositionEnd((()=>{a=!1,this._onCompositionEnd()}))),this._toDispose.add(this._editor.onDidChangeCursorSelection((t=>{a||this._onCursorChange(t)}))),this._toDispose.add(this._editor.onDidChangeModelContent((()=>{a||void 0===this._triggerState||this._refilterCompletionItems()}))),this._updateTriggerCharacters()}dispose(){Ji(this._triggerCharacterListener),Ji([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(90)||!this._editor.hasModel()||!this._editor.getOption(120))return;const t=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const e of i.triggerCharacters||[]){let s=t.get(e);s||(s=new Set,s.add(void 0),t.set(e,s)),s.add(i)}const i=i=>{var e;if(!function(t,i){if(!Boolean(i.getContextKeyValue("inlineSuggestionVisible")))return!0;const e=i.getContextKeyValue(S5.suppressSuggestions.key);return void 0!==e?!e:!t.getOption(62).suppressSuggestions}(this._editor,this._contextKeyService))return;if(r6.shouldAutoTrigger(this._editor))return;if(!i){const t=this._editor.getPosition();i=this._editor.getModel().getLineContent(t.lineNumber).substr(0,t.column-1)}let s="";mo(i.charCodeAt(i.length-1))?go(i.charCodeAt(i.length-2))&&(s=i.substr(i.length-2)):s=i.charAt(i.length-1);const n=t.get(s);if(n){const t=new Map;if(this._completionModel)for(const[i,e]of this._completionModel.getItemsByProvider())n.has(i)||t.set(i,e);this.trigger({auto:!0,triggerKind:1,triggerCharacter:s,retrigger:Boolean(this._completionModel),clipboardText:null===(e=this._completionModel)||void 0===e?void 0:e.clipboardText,completionOptions:{providerFilter:n,providerItemsToReuse:t}})}};this._triggerCharacterListener.add(this._editor.onDidType(i)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd((()=>i())))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(t=!1){var i;void 0!==this._triggerState&&(this._triggerQuickSuggest.cancel(),null===(i=this._requestToken)||void 0===i||i.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:t}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){void 0!==this._triggerState&&(this._editor.hasModel()&&this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.trigger({auto:this._triggerState.auto,retrigger:!0}):this.cancel())}_onCursorChange(t){if(!this._editor.hasModel())return;const i=this._currentSelection;this._currentSelection=this._editor.getSelection(),!t.selection.isEmpty()||0!==t.reason&&3!==t.reason||"keyboard"!==t.source&&"deleteLeft"!==t.source?this.cancel():void 0===this._triggerState&&0===t.reason?(i.containsRange(this._currentSelection)||i.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():void 0!==this._triggerState&&3===t.reason&&this._refilterCompletionItems()}_onCompositionEnd(){void 0===this._triggerState?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var t;k3.isAllOff(this._editor.getOption(88))||this._editor.getOption(117).snippetsPreventQuickSuggestions&&(null===(t=P3.get(this._editor))||void 0===t?void 0:t.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet((()=>{if(void 0!==this._triggerState)return;if(!r6.shouldAutoTrigger(this._editor))return;if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const t=this._editor.getModel(),i=this._editor.getPosition(),e=this._editor.getOption(88);if(!k3.isAllOff(e)){if(!k3.isAllOn(e)){t.tokenization.tokenizeIfCheap(i.lineNumber);const s=t.tokenization.getLineTokens(i.lineNumber),n=s.getStandardTokenType(s.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if("on"!==k3.valueFor(e,n))return}(function(t,i){if(!Boolean(i.getContextKeyValue(S5.inlineSuggestionVisible.key)))return!0;const e=i.getContextKeyValue(S5.suppressSuggestions.key);return void 0!==e?!e:!t.getOption(62).suppressSuggestions})(this._editor,this._contextKeyService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}}),this._editor.getOption(89)))}_refilterCompletionItems(){K(this._editor.hasModel()),K(void 0!==this._triggerState);const t=this._editor.getModel(),i=this._editor.getPosition(),e=new r6(t,i,{...this._triggerState,refilter:!0});this._onNewContext(e)}trigger(t){var i,e,s,n,o,r;if(!this._editor.hasModel())return;const h=this._editor.getModel(),c=new r6(h,this._editor.getPosition(),t);this.cancel(t.retrigger),this._triggerState=t,this._onDidTrigger.fire({auto:t.auto,shy:null!==(i=t.shy)&&void 0!==i&&i,position:this._editor.getPosition()}),this._context=c;let a={triggerKind:null!==(e=t.triggerKind)&&void 0!==e?e:0};t.triggerCharacter&&(a={triggerKind:1,triggerCharacter:t.triggerCharacter}),this._requestToken=new Se;let l=1;switch(this._editor.getOption(111)){case"top":l=0;break;case"bottom":l=2}const{itemKind:u,showDeprecated:d}=n6._createSuggestFilter(this._editor),f=new m3(l,null!==(n=null===(s=t.completionOptions)||void 0===s?void 0:s.kindFilter)&&void 0!==n?n:u,null===(o=t.completionOptions)||void 0===o?void 0:o.providerFilter,null===(r=t.completionOptions)||void 0===r?void 0:r.providerItemsToReuse,d),p=i6.create(this._editorWorkerService,this._editor),g=v3(this._languageFeaturesService.completionProvider,h,this._editor.getPosition(),f,a,this._requestToken.token);Promise.all([g,p]).then((async([i,e])=>{var s;if(null===(s=this._requestToken)||void 0===s||s.dispose(),!this._editor.hasModel())return;let n=null==t?void 0:t.clipboardText;if(!n&&i.needsClipboard&&(n=await this._clipboardService.readText()),void 0===this._triggerState)return;const o=this._editor.getModel(),r=new r6(o,this._editor.getPosition(),t),h={...g_.default,firstMatchCanBeWeak:!this._editor.getOption(117).matchOnWordStartOnly};if(this._completionModel=new s6(i.items,this._context.column,{leadingLineContent:r.leadingLineContent,characterCountDelta:r.column-this._context.column},e,this._editor.getOption(117),this._editor.getOption(111),h,n),this._completionDisposables.add(i.disposable),this._onNewContext(r),this._reportDurationsTelemetry(i.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const t of i.items)t.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${t.provider._debugDisplayName}`,t.completion)})).catch(Pi)}_reportDurationsTelemetry(t){this._telemetryGate++%230==0&&setTimeout((()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(t)}),this._logService.debug("suggest.durations.json",t)}))}static _createSuggestFilter(t){const i=new Set;"none"===t.getOption(111)&&i.add(27);const e=t.getOption(117);return e.showMethods||i.add(0),e.showFunctions||i.add(1),e.showConstructors||i.add(2),e.showFields||i.add(3),e.showVariables||i.add(4),e.showClasses||i.add(5),e.showStructs||i.add(6),e.showInterfaces||i.add(7),e.showModules||i.add(8),e.showProperties||i.add(9),e.showEvents||i.add(10),e.showOperators||i.add(11),e.showUnits||i.add(12),e.showValues||i.add(13),e.showConstants||i.add(14),e.showEnums||i.add(15),e.showEnumMembers||i.add(16),e.showKeywords||i.add(17),e.showWords||i.add(18),e.showColors||i.add(19),e.showFiles||i.add(20),e.showReferences||i.add(21),e.showColors||i.add(22),e.showFolders||i.add(23),e.showTypeParameters||i.add(24),e.showSnippets||i.add(27),e.showUsers||i.add(25),e.showIssues||i.add(26),{itemKind:i,showDeprecated:e.showDeprecated}}_onNewContext(t){if(this._context)if(t.lineNumber===this._context.lineNumber)if(io(t.leadingLineContent)===io(this._context.leadingLineContent)){if(t.columnthis._context.leadingWord.startColumn){if(r6.shouldAutoTrigger(this._editor)&&this._context){const t=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:t}})}}else if(t.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&0!==t.leadingWord.word.length){const t=new Map,i=new Set;for(const[e,s]of this._completionModel.getItemsByProvider())s.length>0&&s[0].container.incomplete?i.add(e):t.set(e,s);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{const i=this._completionModel.lineContext;let e=!1;if(this._completionModel.lineContext={leadingLineContent:t.leadingLineContent,characterCountDelta:t.column-this._context.column},0===this._completionModel.items.length){const s=r6.shouldAutoTrigger(this._editor);if(!this._context)return void this.cancel();if(s&&this._context.leadingWord.endColumn0,e&&0===t.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:t.triggerOptions,isFrozen:e})}}else this.cancel();else this.cancel()}};h6=n6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([o6(1,lP),o6(2,dH),o6(3,Wh),o6(4,jh),o6(5,ah),o6(6,pd),o6(7,gg),o6(8,oR)],h6);class c6{constructor(t,i){this._disposables=new te,this._lastOvertyped=[],this._locked=!1,this._disposables.add(t.onWillType((()=>{if(this._locked||!t.hasModel())return;const i=t.getSelections(),e=i.length;let s=!1;for(let t=0;tc6._maxSelectionLength)return;this._lastOvertyped[t]={value:n.getValueInRange(e),multiline:e.startLineNumber!==e.endLineNumber}}}))),this._disposables.add(i.onDidTrigger((()=>{this._locked=!0}))),this._disposables.add(i.onDidCancel((()=>{this._locked=!1})))}getLastOvertypedInfo(t){if(t>=0&&tt instanceof Bh?e.createInstance(l6,t,void 0):void 0;this._leftActions=new VB(this.element,{actionViewItemProvider:o}),this._rightActions=new VB(this.element,{actionViewItemProvider:o}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const t=this._menuService.createMenu(this._menuId,this._contextKeyService),i=()=>{const i=[],e=[];for(const[s,n]of t.getActions())"left"===s?i.push(...n):e.push(...n);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(e)};this._menuDisposables.add(t.onDidChange((()=>i()))),this._menuDisposables.add(t)}hide(){this._menuDisposables.clear()}};u6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([a6(2,ur),a6(3,Oh),a6(4,ah)],u6);function d6(t){return!!t&&Boolean(t.completion.documentation||t.completion.detail&&t.completion.detail!==t.completion.label)}let f6=class{constructor(t,i){this._editor=t,this._onDidClose=new fe,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new fe,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new te,this._renderDisposeable=new te,this._borderWidth=1,this._size=new el(330,0),this.domNode=$l(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=i.createInstance(eQ,{editor:t}),this._body=$l(".body"),this._scrollbar=new Sk(this._body,{alwaysConsumeMouseWheel:!0}),Ol(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=Ol(this._body,$l(".header")),this._close=Ol(this._header,$l("span"+Cr.asCSSSelector(Os.close))),this._close.title=rt(0,"Close"),this._type=Ol(this._header,$l("p.type")),this._docs=Ol(this._body,$l("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._configureFont()})))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const t=this._editor.getOptions(),i=t.get(50),e=i.getMassagedFontFamily(),s=t.get(118)||i.fontSize,n=t.get(119)||i.lineHeight,o=i.fontWeight,r=`${n}px`;this.domNode.style.fontSize=`${s}px`,this.domNode.style.lineHeight=""+n/s,this.domNode.style.fontWeight=o,this.domNode.style.fontFeatureSettings=i.fontFeatureSettings,this._type.style.fontFamily=e,this._close.style.height=r,this._close.style.width=r}getLayoutInfo(){const t=this._editor.getOption(119)||this._editor.getOption(50).lineHeight,i=this._borderWidth;return{lineHeight:t,borderWidth:i,borderHeight:2*i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=rt(0,"Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,2*this.getLayoutInfo().lineHeight),this._onDidChangeContents.fire(this)}renderItem(t,i){var e,s;this._renderDisposeable.clear();let{detail:n,documentation:o}=t.completion;if(i){let i="";i+=`score: ${t.score[0]}\n`,i+=`prefix: ${null!==(e=t.word)&&void 0!==e?e:"(no prefix)"}\n`,i+=`word: ${t.completion.filterText?t.completion.filterText+" (filterText)":t.textLabel}\n`,i+=`distance: ${t.distance} (localityBonus-setting)\n`,i+=`index: ${t.idx}, based on ${t.completion.sortText&&`sortText: "${t.completion.sortText}"`||"label"}\n`,i+=`commit_chars: ${null===(s=t.completion.commitCharacters)||void 0===s?void 0:s.join("")}\n`,o=(new M_).appendCodeblock("empty",i),n=`Provider: ${t.provider._debugDisplayName}`}if(i||d6(t)){if(this.domNode.classList.remove("no-docs","no-type"),n){const t=n.length>1e5?`${n.substr(0,1e5)}…`:n;this._type.textContent=t,this._type.title=t,Wl(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gim.test(t))}else za(this._type),this._type.title="",jl(this._type),this.domNode.classList.add("no-type");if(za(this._docs),"string"==typeof o)this._docs.classList.remove("markdown-docs"),this._docs.textContent=o;else if(o){this._docs.classList.add("markdown-docs"),za(this._docs);const t=this._markdownRenderer.render(o);this._docs.appendChild(t.element),this._renderDisposeable.add(t),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync((()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)})))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=t=>{t.preventDefault(),t.stopPropagation()},this._close.onclick=t=>{t.preventDefault(),t.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}else this.clearContents()}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get size(){return this._size}layout(t,i){const e=new el(t,i);el.equals(e,this._size)||(this._size=e,function(t,i,e){"number"==typeof i&&(t.style.width=`${i}px`),"number"==typeof e&&(t.style.height=`${e}px`)}(this.domNode,t,i)),this._scrollbar.scanDomNode()}scrollDown(t=8){this._body.scrollTop+=t}scrollUp(t=8){this._body.scrollTop-=t}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(t){this._borderWidth=t}get borderWidth(){return this._borderWidth}};f6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,ur)],f6);class p6{constructor(t,i){let e,s;this.widget=t,this._editor=i,this._disposables=new te,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new gX,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(t.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let n=0,o=0;this._disposables.add(this._resizable.onDidWillResize((()=>{e=this._topLeft,s=this._resizable.size}))),this._disposables.add(this._resizable.onDidResize((t=>{if(e&&s){this.widget.layout(t.dimension.width,t.dimension.height);let i=!1;t.west&&(o=s.width-t.dimension.width,i=!0),t.north&&(n=s.height-t.dimension.height,i=!0),i&&this._applyTopLeft({top:e.top+n,left:e.left+o})}t.done&&(e=void 0,s=void 0,n=0,o=0,this._userSize=t.dimension)}))),this._disposables.add(this.widget.onDidChangeContents((()=>{var t;this._anchorBox&&this._placeAtAnchor(this._anchorBox,null!==(t=this._userSize)&&void 0!==t?t:this.widget.size,this._preferAlignAtTop)})))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return null}show(){this._added||(this._editor.addOverlayWidget(this),this.getDomNode().style.position="fixed",this._added=!0)}hide(t=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),t&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(t,i){var e;const s=t.getBoundingClientRect();this._anchorBox=s,this._preferAlignAtTop=i,this._placeAtAnchor(this._anchorBox,null!==(e=this._userSize)&&void 0!==e?e:this.widget.size,i)}_placeAtAnchor(t,i,e){var s;const n=tl(this.getDomNode().ownerDocument.body),o=this.widget.getLayoutInfo(),r=new el(220,2*o.lineHeight),h=t.top,c=function(){const e=n.width-(t.left+t.width+o.borderWidth+o.horizontalPadding),s=-o.borderWidth+t.left+t.width,c=new el(e,n.height-t.top-o.borderHeight-o.verticalPadding),a=c.with(void 0,t.top+t.height-o.borderHeight-o.verticalPadding);return{top:h,left:s,fit:e-i.width,maxSizeTop:c,maxSizeBottom:a,minSize:r.with(Math.min(e,r.width))}}(),a=[c,function(){const e=t.left-o.borderWidth-o.horizontalPadding,s=Math.max(o.horizontalPadding,t.left-i.width-o.borderWidth),c=new el(e,n.height-t.top-o.borderHeight-o.verticalPadding),a=c.with(void 0,t.top+t.height-o.borderHeight-o.verticalPadding);return{top:h,left:s,fit:e-i.width,maxSizeTop:c,maxSizeBottom:a,minSize:r.with(Math.min(e,r.width))}}(),function(){const e=t.left,s=-o.borderWidth+t.top+t.height,h=new el(t.width-o.borderHeight,n.height-t.top-t.height-o.verticalPadding);return{top:s,left:e,fit:h.height-i.height,maxSizeBottom:h,maxSizeTop:h,minSize:r.with(h.width)}}()],l=null!==(s=a.find((t=>t.fit>=0)))&&void 0!==s?s:a.sort(((t,i)=>i.fit-t.fit))[0],u=t.top+t.height-o.borderHeight;let d,f=i.height;const p=Math.max(l.maxSizeTop.height,l.maxSizeBottom.height);let g;f>p&&(f=p),e?f<=l.maxSizeTop.height?(d=!0,g=l.maxSizeTop):(d=!1,g=l.maxSizeBottom):f<=l.maxSizeBottom.height?(d=!1,g=l.maxSizeBottom):(d=!0,g=l.maxSizeTop),this._applyTopLeft({left:l.left,top:d?l.top:u-f}),this.getDomNode().style.position="fixed",this._resizable.enableSashes(!d,l===c,d,l!==c),this._resizable.minSize=l.minSize,this._resizable.maxSize=g,this._resizable.layout(f,Math.min(g.width,i.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(t){this._topLeft=t,this.getDomNode().style.left=`${this._topLeft.left}px`,this.getDomNode().style.top=`${this._topLeft.top}px`}}var g6;!function(t){t[t.FILE=0]="FILE",t[t.FOLDER=1]="FOLDER",t[t.ROOT_FOLDER=2]="ROOT_FOLDER"}(g6||(g6={}));const m6=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function w6(t,i,e,s){const n=s===g6.ROOT_FOLDER?["rootfolder-icon"]:s===g6.FOLDER?["folder-icon"]:["file-icon"];if(e){let o;if(e.scheme===ka.data)o=yA.parseMetaData(e).get(yA.META_DATA_LABEL);else{const t=e.path.match(m6);t?(o=v6(t[2].toLowerCase()),t[1]&&n.push(`${v6(t[1].toLowerCase())}-name-dir-icon`)):o=v6(e.authority.toLowerCase())}if(s===g6.ROOT_FOLDER)n.push(`${o}-root-name-folder-icon`);else if(s===g6.FOLDER)n.push(`${o}-name-folder-icon`);else{if(o){if(n.push(`${o}-name-file-icon`),n.push("name-file-icon"),o.length<=255){const t=o.split(".");for(let i=1;i{const t=this._editor.getOptions(),i=t.get(50),n=i.getMassagedFontFamily(),o=i.fontFeatureSettings,h=t.get(118)||i.fontSize,c=t.get(119)||i.lineHeight,a=i.fontWeight,l=`${c}px`,u=`${i.letterSpacing}px`;e.style.fontSize=`${h}px`,e.style.fontWeight=a,e.style.letterSpacing=u,r.style.fontFamily=n,r.style.fontFeatureSettings=o,r.style.lineHeight=l,s.style.height=l,s.style.width=l,p.style.height=l,p.style.width=l};return g(),i.add(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(50)||t.hasChanged(118)||t.hasChanged(119))&&g()}))),{root:e,left:c,right:a,icon:s,colorspan:n,iconLabel:l,iconContainer:h,parametersLabel:u,qualifierLabel:d,detailsLabel:f,readMore:p,disposables:i}}renderElement(t,i,e){const{completion:s}=t;e.root.id=k6(i),e.colorspan.style.backgroundColor="";const n={labelEscapeNewLines:!0,matches:e_(t.score)},o=[];if(19===s.kind&&C6.extract(t,o))e.icon.className="icon customcolor",e.iconContainer.className="icon hide",e.colorspan.style.backgroundColor=o[0];else if(20===s.kind&&this._themeService.getFileIconTheme().hasFileIcons){e.icon.className="icon hide",e.iconContainer.className="icon hide";const i=w6(this._modelService,this._languageService,ms.from({scheme:"fake",path:t.textLabel}),g6.FILE),o=w6(this._modelService,this._languageService,ms.from({scheme:"fake",path:s.detail}),g6.FILE);n.extraClasses=i.length>o.length?i:o}else 23===s.kind&&this._themeService.getFileIconTheme().hasFolderIcons?(e.icon.className="icon hide",e.iconContainer.className="icon hide",n.extraClasses=[w6(this._modelService,this._languageService,ms.from({scheme:"fake",path:t.textLabel}),g6.FOLDER),w6(this._modelService,this._languageService,ms.from({scheme:"fake",path:s.detail}),g6.FOLDER)].flat()):(e.icon.className="icon hide",e.iconContainer.className="",e.iconContainer.classList.add("suggest-icon",...Cr.asClassNameArray(Ps.toIcon(s.kind))));s.tags&&s.tags.indexOf(1)>=0&&(n.extraClasses=(n.extraClasses||[]).concat(["deprecated"]),n.matches=[]),e.iconLabel.setLabel(t.textLabel,void 0,n),"string"==typeof s.label?(e.parametersLabel.textContent="",e.detailsLabel.textContent=D6(s.detail||""),e.root.classList.add("string-label")):(e.parametersLabel.textContent=D6(s.label.detail||""),e.detailsLabel.textContent=D6(s.label.description||""),e.root.classList.remove("string-label")),this._editor.getOption(117).showInlineDetails?Wl(e.detailsLabel):jl(e.detailsLabel),d6(t)?(e.right.classList.add("can-expand-details"),Wl(e.readMore),e.readMore.onmousedown=t=>{t.stopPropagation(),t.preventDefault()},e.readMore.onclick=t=>{t.stopPropagation(),t.preventDefault(),this._onDidToggleDetails.fire()}):(e.right.classList.remove("can-expand-details"),jl(e.readMore),e.readMore.onmousedown=null,e.readMore.onclick=null)}disposeTemplate(t){t.disposables.dispose()}};function D6(t){return t.replace(/\r\n|\r|\n/g,"")}S6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([y6(1,pr),y6(2,yd),y6(3,qk)],S6);var E6,A6=function(t,i){return function(e,s){i(e,s,t)}};ow("editorSuggestWidget.background",{dark:nv,light:nv,hcDark:nv,hcLight:nv},rt(0,"Background color of the suggest widget.")),ow("editorSuggestWidget.border",{dark:rv,light:rv,hcDark:rv,hcLight:rv},rt(0,"Border color of the suggest widget."));const M6=ow("editorSuggestWidget.foreground",{dark:sv,light:sv,hcDark:sv,hcLight:sv},rt(0,"Foreground color of the suggest widget."));ow("editorSuggestWidget.selectedForeground",{dark:bb,light:bb,hcDark:bb,hcLight:bb},rt(0,"Foreground color of the selected entry in the suggest widget.")),ow("editorSuggestWidget.selectedIconForeground",{dark:yb,light:yb,hcDark:yb,hcLight:yb},rt(0,"Icon foreground color of the selected entry in the suggest widget."));const L6=ow("editorSuggestWidget.selectedBackground",{dark:kb,light:kb,hcDark:kb,hcLight:kb},rt(0,"Background color of the selected entry in the suggest widget."));ow("editorSuggestWidget.highlightForeground",{dark:sb,light:sb,hcDark:sb,hcLight:sb},rt(0,"Color of the match highlights in the suggest widget.")),ow("editorSuggestWidget.focusHighlightForeground",{dark:nb,light:nb,hcDark:nb,hcLight:nb},rt(0,"Color of the match highlights in the suggest widget when an item is focused.")),ow("editorSuggestWidgetStatus.foreground",{dark:sy(M6,.5),light:sy(M6,.5),hcDark:sy(M6,.5),hcLight:sy(M6,.5)},rt(0,"Foreground color of the suggest widget status."));class F6{constructor(t,i){this._service=t,this._key=`suggestWidget.size/${i.getEditorType()}/${i instanceof BJ}`}restore(){var t;const i=null!==(t=this._service.get(this._key,0))&&void 0!==t?t:"";try{const t=JSON.parse(i);if(el.is(t))return el.lift(t)}catch(t){}}store(t){this._service.store(this._key,JSON.stringify(t),0,1)}reset(){this._service.remove(this._key,0)}}let T6=E6=class{constructor(t,i,e,s,n){this.editor=t,this._storageService=i,this._state=0,this._isAuto=!1,this._pendingLayout=new ee,this._pendingShowDetails=new ee,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new dc,this._disposables=new te,this._onDidSelect=new ge,this._onDidFocus=new ge,this._onDidHide=new fe,this._onDidShow=new fe,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new fe,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new gX,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new R6(this,t),this._persistedSize=new F6(i,t);class o{constructor(t,i,e=!1,s=!1){this.persistedSize=t,this.currentSize=i,this.persistHeight=e,this.persistWidth=s}}let r;this._disposables.add(this.element.onDidWillResize((()=>{this._contentWidget.lockPreference(),r=new o(this._persistedSize.restore(),this.element.size)}))),this._disposables.add(this.element.onDidResize((t=>{var i,e,s,n;if(this._resize(t.dimension.width,t.dimension.height),r&&(r.persistHeight=r.persistHeight||!!t.north||!!t.south,r.persistWidth=r.persistWidth||!!t.east||!!t.west),t.done){if(r){const{itemHeight:t,defaultSize:o}=this.getLayoutInfo(),h=Math.round(t/2);let{width:c,height:a}=this.element.size;(!r.persistHeight||Math.abs(r.currentSize.height-a)<=h)&&(a=null!==(e=null===(i=r.persistedSize)||void 0===i?void 0:i.height)&&void 0!==e?e:o.height),(!r.persistWidth||Math.abs(r.currentSize.width-c)<=h)&&(c=null!==(n=null===(s=r.persistedSize)||void 0===s?void 0:s.width)&&void 0!==n?n:o.width),this._persistedSize.store(new el(c,a))}this._contentWidget.unlockPreference(),r=void 0}}))),this._messageElement=Ol(this.element.domNode,$l(".message")),this._listElement=Ol(this.element.domNode,$l(".tree"));const h=this._disposables.add(n.createInstance(f6,this.editor));h.onDidClose(this.toggleDetails,this,this._disposables),this._details=new p6(h,this.editor);const c=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(117).showIcons);c();const a=n.createInstance(S6,this.editor);this._disposables.add(a),this._disposables.add(a.onDidToggleDetails((()=>this.toggleDetails()))),this._list=new iB("SuggestWidget",this._listElement,{getHeight:()=>this.getLayoutInfo().itemHeight,getTemplateId:()=>"suggestion"},[a],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>rt(0,"Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:t=>{let i=t.textLabel;if("string"!=typeof t.completion.label){const{detail:e,description:s}=t.completion.label;e&&s?i=rt(0,"{0} {1}, {2}",i,e,s):e?i=rt(0,"{0} {1}",i,e):s&&(i=rt(0,"{0}, {1}",i,s))}if(!t.isResolved||!this._isDetailsVisible())return i;const{documentation:e,detail:s}=t.completion;return rt(0,"{0}, docs: {1}",i,qn("{0}{1}",s||"",e?"string"==typeof e?e:e.value:""))}}}),this._list.style(FB({listInactiveFocusBackground:L6,listInactiveFocusOutline:uw})),this._status=n.createInstance(u6,this.element.domNode,p3);const l=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(117).showStatusBar);l(),this._disposables.add(s.onDidColorThemeChange((t=>this._onThemeChange(t)))),this._onThemeChange(s.getColorTheme()),this._disposables.add(this._list.onMouseDown((t=>this._onListMouseDownOrTap(t)))),this._disposables.add(this._list.onTap((t=>this._onListMouseDownOrTap(t)))),this._disposables.add(this._list.onDidChangeSelection((t=>this._onListSelection(t)))),this._disposables.add(this._list.onDidChangeFocus((t=>this._onListFocus(t)))),this._disposables.add(this.editor.onDidChangeCursorSelection((()=>this._onCursorSelectionChanged()))),this._disposables.add(this.editor.onDidChangeConfiguration((t=>{t.hasChanged(117)&&(l(),c())}))),this._ctxSuggestWidgetVisible=f3.Visible.bindTo(e),this._ctxSuggestWidgetDetailsVisible=f3.DetailsVisible.bindTo(e),this._ctxSuggestWidgetMultipleSuggestions=f3.MultipleSuggestions.bindTo(e),this._ctxSuggestWidgetHasFocusedSuggestion=f3.HasFocusedSuggestion.bindTo(e),this._disposables.add(qa(this._details.widget.domNode,"keydown",(t=>{this._onDetailsKeydown.fire(t)}))),this._disposables.add(this.editor.onMouseDown((t=>this._onEditorMouseDown(t))))}dispose(){var t;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),null===(t=this._loadingTimeout)||void 0===t||t.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(t){this._details.widget.domNode.contains(t.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(t.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){0!==this._state&&this._contentWidget.layout()}_onListMouseDownOrTap(t){void 0!==t.element&&void 0!==t.index&&(t.browserEvent.preventDefault(),t.browserEvent.stopPropagation(),this._select(t.element,t.index))}_onListSelection(t){t.elements.length&&this._select(t.elements[0],t.indexes[0])}_select(t,i){const e=this._completionModel;e&&(this._onDidSelect.fire({item:t,index:i,model:e}),this.editor.focus())}_onThemeChange(t){this._details.widget.borderWidth=_y(t.type)?2:1}_onListFocus(t){var i;if(this._ignoreFocusEvents)return;if(!t.elements.length)return this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),void this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const e=t.elements[0],s=t.indexes[0];e!==this._focusedItem&&(null===(i=this._currentSuggestionDetails)||void 0===i||i.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=e,this._list.reveal(s),this._currentSuggestionDetails=nc((async t=>{const i=lc((()=>{this._isDetailsVisible()&&this.showDetails(!0)}),250),s=t.onCancellationRequested((()=>i.dispose()));try{return await e.resolve(t)}finally{i.dispose(),s.dispose()}})),this._currentSuggestionDetails.then((()=>{s>=this._list.length||e!==this._list.element(s)||(this._ignoreFocusEvents=!0,this._list.splice(s,1,[e]),this._list.setFocus([s]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:k6(s)}))})).catch(Pi)),this._onDidFocus.fire({item:e,index:s,model:this._completionModel})}_setState(t){if(this._state!==t)switch(this._state=t,this.element.domNode.classList.toggle("frozen",4===t),this.element.domNode.classList.remove("message"),t){case 0:jl(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=E6.LOADING_MESSAGE,jl(this._listElement,this._status.element),Wl(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Rm(E6.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=E6.NO_SUGGESTIONS_MESSAGE,jl(this._listElement,this._status.element),Wl(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Rm(E6.NO_SUGGESTIONS_MESSAGE);break;case 3:case 4:jl(this._messageElement),Wl(this._listElement,this._status.element),this._show();break;case 5:jl(this._messageElement),Wl(this._listElement,this._status.element),this._details.show(),this._show()}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet((()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)}),100)}showTriggered(t,i){0===this._state&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!t,this._isAuto||(this._loadingTimeout=lc((()=>this._setState(1)),i)))}showSuggestions(t,i,e,s,n){var o,r;if(this._contentWidget.setPosition(this.editor.getPosition()),null===(o=this._loadingTimeout)||void 0===o||o.dispose(),null===(r=this._currentSuggestionDetails)||void 0===r||r.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==t&&(this._completionModel=t),e&&2!==this._state&&0!==this._state)return void this._setState(4);const h=this._completionModel.items.length,c=0===h;if(this._ctxSuggestWidgetMultipleSuggestions.set(h>1),c)return this._setState(s?0:2),void(this._completionModel=void 0);this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(e?4:3),this._list.reveal(i,0),this._list.setFocus(n?[]:[i])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=Za(Na(this.element.domNode),(()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")}))}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(0!==this._state&&2!==this._state&&1!==this._state&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){5===this._state?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):3===this._state&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):!d6(this._list.getFocusedElements()[0])&&!this._explainMode||3!==this._state&&5!==this._state&&4!==this._state||(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(t){this._pendingShowDetails.value=Za(Na(this.element.domNode),(()=>{this._pendingShowDetails.clear(),this._details.show(),t?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._positionDetails(),this.editor.focus(),this.element.domNode.classList.add("shows-details")}))}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var t;this._pendingLayout.clear(),this._pendingShowDetails.clear(),null===(t=this._loadingTimeout)||void 0===t||t.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const i=this._persistedSize.restore(),e=Math.ceil(4.3*this.getLayoutInfo().itemHeight);i&&i.heightc&&(h=c);const a=this._completionModel?this._completionModel.stats.pLabelLen*o.typicalHalfwidthCharacterWidth:h,l=o.statusBarHeight+this._list.contentHeight+o.borderHeight,u=o.itemHeight+o.statusBarHeight,d=nl(this.editor.getDomNode()),f=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),p=Math.min(n.height-(d.top+f.top+f.height)-o.verticalPadding,l),g=d.top+f.top-o.verticalPadding,m=Math.min(g,l);let w=Math.min(Math.max(m,p)+o.borderHeight,l);r===(null===(i=this._cappedHeight)||void 0===i?void 0:i.capped)&&(r=this._cappedHeight.wanted),rw&&(r=w),r>p||this._forceRenderingAbove&&g>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),w=m):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),w=p),this.element.preferredSize=new el(a,o.defaultSize.height),this.element.maxSize=new el(c,w),this.element.minSize=new el(220,u),this._cappedHeight=r===l?{wanted:null!==(s=null===(e=this._cappedHeight)||void 0===e?void 0:e.wanted)&&void 0!==s?s:t.height,capped:r}:void 0}this._resize(h,r)}_resize(t,i){const{width:e,height:s}=this.element.maxSize;t=Math.min(e,t),i=Math.min(s,i);const{statusBarHeight:n}=this.getLayoutInfo();this._list.layout(i-n,t),this._listElement.style.height=i-n+"px",this.element.layout(i,t),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var t;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,2===(null===(t=this._contentWidget.getPosition())||void 0===t?void 0:t.preference[0]))}getLayoutInfo(){const t=this.editor.getOption(50),i=eR(this.editor.getOption(119)||t.lineHeight,8,1e3),e=this.editor.getOption(117).showStatusBar&&2!==this._state&&1!==this._state?i:0,s=this._details.widget.borderWidth,n=2*s;return{itemHeight:i,statusBarHeight:e,borderWidth:s,borderHeight:n,typicalHalfwidthCharacterWidth:t.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new el(430,e+12*i+n)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(t){this._storageService.store("expandSuggestionDocs",t,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};T6.LOADING_MESSAGE=rt(0,"Loading..."),T6.NO_SUGGESTIONS_MESSAGE=rt(0,"No suggestions."),T6=E6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([A6(1,bB),A6(2,ah),A6(3,qk),A6(4,ur)],T6);class R6{constructor(t,i){this._widget=t,this._editor=i,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return!this._hidden&&this._position&&this._preference?{position:this._position,preference:[this._preference]}:null}beforeRender(){const{height:t,width:i}=this._widget.element.size,{borderWidth:e,horizontalPadding:s}=this._widget.getLayoutInfo();return new el(i+2*e+s,t+2*e)}afterRender(t){this._widget._afterRender(t)}setPreference(t){this._preferenceLocked||(this._preference=t)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(t){this._position=t}}var O6,I6=function(t,i){return function(e,s){i(e,s,t)}};class _6{constructor(t,i){if(this._model=t,this._position=i,t.getLineMaxColumn(i.lineNumber)!==i.column){const e=t.getOffsetAt(i),s=t.getPositionAt(e+1);this._marker=t.deltaDecorations([],[{range:Ms.fromPositions(i,s),options:{description:"suggest-line-suffix",stickiness:1}}])}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])}delta(t){if(this._model.isDisposed()||this._position.lineNumber!==t.lineNumber)return 0;if(this._marker){const i=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(i.getStartPosition())-this._model.getOffsetAt(t)}return this._model.getLineMaxColumn(t.lineNumber)-t.column}}let N6=O6=class{static get(t){return t.getContribution(O6.ID)}constructor(t,i,e,s,n,o,r){this._memoryService=i,this._commandService=e,this._contextKeyService=s,this._instantiationService=n,this._logService=o,this._telemetryService=r,this._lineSuffix=new ee,this._toDispose=new te,this._selectors=new B6((t=>t.priority)),this._onWillInsertSuggestItem=new fe,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=t,this.model=n.createInstance(h6,this.editor),this._selectors.register({priority:0,select:(t,i,e)=>this._memoryService.select(t,i,e)});const h=f3.InsertMode.bindTo(s);h.set(t.getOption(117).insertMode),this._toDispose.add(this.model.onDidTrigger((()=>h.set(t.getOption(117).insertMode)))),this.widget=this._toDispose.add(new Ga(Na(t.getDomNode()),(()=>{const t=this._instantiationService.createInstance(T6,this.editor);this._toDispose.add(t),this._toDispose.add(t.onDidSelect((t=>this._insertSuggestion(t,0)),this));const i=new X3(this.editor,t,this.model,(t=>this._insertSuggestion(t,2)));this._toDispose.add(i);const e=f3.MakesTextEdit.bindTo(this._contextKeyService),s=f3.HasInsertAndReplaceRange.bindTo(this._contextKeyService),n=f3.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Xi((()=>{e.reset(),s.reset(),n.reset()}))),this._toDispose.add(t.onDidFocus((({item:t})=>{const i=this.editor.getPosition(),o=t.editStart.column,r=i.column;let h=!0;"smart"!==this.editor.getOption(1)||2!==this.model.state||t.completion.additionalTextEdits||4&t.completion.insertTextRules||r-o!==t.completion.insertText.length||(h=this.editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:o,endLineNumber:i.lineNumber,endColumn:r})!==t.completion.insertText),e.set(h),s.set(!As.equals(t.editInsertEnd,t.editReplaceEnd)),n.set(Boolean(t.provider.resolveCompletionItem)||Boolean(t.completion.documentation)||t.completion.detail!==t.completion.label)}))),this._toDispose.add(t.onDetailsKeyDown((t=>{t.toKeyCodeChord().equals(new wh(!0,!1,!1,!1,33))||St&&t.toKeyCodeChord().equals(new wh(!1,!1,!1,!0,33))?t.stopPropagation():t.toKeyCodeChord().isModifierKey()||this.editor.focus()}))),t}))),this._overtypingCapturer=this._toDispose.add(new Ga(Na(t.getDomNode()),(()=>this._toDispose.add(new c6(this.editor,this.model))))),this._alternatives=this._toDispose.add(new Ga(Na(t.getDomNode()),(()=>this._toDispose.add(new Y3(this.editor,this._contextKeyService))))),this._toDispose.add(n.createInstance(Q3,t)),this._toDispose.add(this.model.onDidTrigger((t=>{this.widget.value.showTriggered(t.auto,t.shy?250:50),this._lineSuffix.value=new _6(this.editor.getModel(),t.position)}))),this._toDispose.add(this.model.onDidSuggest((t=>{if(t.triggerOptions.shy)return;let i=-1;for(const e of this._selectors.itemsOrderedByPriorityDesc)if(i=e.select(this.editor.getModel(),this.editor.getPosition(),t.completionModel.items),-1!==i)break;-1===i&&(i=0);let e=!1;if(t.triggerOptions.auto){const i=this.editor.getOption(117);"never"===i.selectionMode||"always"===i.selectionMode?e="never"===i.selectionMode:"whenTriggerCharacter"===i.selectionMode?e=1!==t.triggerOptions.triggerKind:"whenQuickSuggestion"===i.selectionMode&&(e=1===t.triggerOptions.triggerKind&&!t.triggerOptions.refilter)}this.widget.value.showSuggestions(t.completionModel,i,t.isFrozen,t.triggerOptions.auto,e)}))),this._toDispose.add(this.model.onDidCancel((t=>{t.retrigger||this.widget.value.hideWidget()}))),this._toDispose.add(this.editor.onDidBlurEditorWidget((()=>{this.model.cancel(),this.model.clear()})));const c=f3.AcceptSuggestionsOnEnter.bindTo(s),a=()=>{const t=this.editor.getOption(1);c.set("on"===t||"smart"===t)};this._toDispose.add(this.editor.onDidChangeConfiguration((()=>a()))),a()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(t,i){if(!t||!t.item)return this._alternatives.value.reset(),this.model.cancel(),void this.model.clear();if(!this.editor.hasModel())return;const e=P3.get(this.editor);if(!e)return;this._onWillInsertSuggestItem.fire({item:t.item});const s=this.editor.getModel(),n=s.getAlternativeVersionId(),{item:o}=t,r=[],h=new Se;1&i||this.editor.pushUndoStop();const c=this.getOverwriteInfo(o,Boolean(8&i));this._memoryService.memorize(s,this.editor.getPosition(),o);const a=o.isResolved;let l=-1,u=-1;if(Array.isArray(o.completion.additionalTextEdits)){this.model.cancel();const t=KV.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",o.completion.additionalTextEdits.map((t=>rO.replaceMove(Ms.lift(t.range),t.text)))),t.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!a){const t=new he;let e;const n=s.onDidChangeContent((t=>{if(t.isFlush)return h.cancel(),void n.dispose();for(const i of t.changes){const t=Ms.getEndPosition(i.range);e&&!As.isBefore(t,e)||(e=t)}})),c=i;i|=2;let a=!1;const l=this.editor.onWillType((()=>{l.dispose(),a=!0,2&c||this.editor.pushUndoStop()}));r.push(o.resolve(h.token).then((()=>{if(!o.completion.additionalTextEdits||h.token.isCancellationRequested)return;if(e&&o.completion.additionalTextEdits.some((t=>As.isBefore(e,Ms.getStartPosition(t.range)))))return!1;a&&this.editor.pushUndoStop();const t=KV.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",o.completion.additionalTextEdits.map((t=>rO.replaceMove(Ms.lift(t.range),t.text)))),t.restoreRelativeVerticalPositionOfCursor(this.editor),!a&&2&c||this.editor.pushUndoStop(),!0})).then((i=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",t.elapsed(),i),u=!0===i?1:!1===i?0:-2})).finally((()=>{n.dispose(),l.dispose()})))}let{insertText:d}=o.completion;if(4&o.completion.insertTextRules||(d=Q5.escape(d)),this.model.cancel(),e.insert(d,{overwriteBefore:c.overwriteBefore,overwriteAfter:c.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&o.completion.insertTextRules),clipboardText:t.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),2&i||this.editor.pushUndoStop(),o.completion.command)if(o.completion.command.id===P6.id)this.model.trigger({auto:!0,retrigger:!0});else{const t=new he;r.push(this._commandService.executeCommand(o.completion.command.id,...o.completion.command.arguments?[...o.completion.command.arguments]:[]).catch((t=>{o.completion.extensionId?$i(t):Pi(t)})).finally((()=>{l=t.elapsed()})))}4&i&&this._alternatives.value.set(t,(t=>{for(h.cancel();s.canUndo();){n!==s.getAlternativeVersionId()&&s.undo(),this._insertSuggestion(t,3|(8&i?8:0));break}})),this._alertCompletionItem(o),Promise.all(r).finally((()=>{this._reportSuggestionAcceptedTelemetry(o,s,a,l,u),this.model.clear(),h.dispose()}))}_reportSuggestionAcceptedTelemetry(t,i,e,s,n){var o,r,h;0!==Math.floor(100*Math.random())&&this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:null!==(r=null===(o=t.extensionId)||void 0===o?void 0:o.value)&&void 0!==r?r:"unknown",providerId:null!==(h=t.provider._debugDisplayName)&&void 0!==h?h:"unknown",kind:t.completion.kind,basenameHash:Ma(uA(i.uri)).toString(16),languageId:i.getLanguageId(),fileExtension:dA(i.uri),resolveInfo:t.provider.resolveCompletionItem?e?1:0:-1,resolveDuration:t.resolveDuration,commandDuration:s,additionalEditsAsync:n})}getOverwriteInfo(t,i){K(this.editor.hasModel());let e="replace"===this.editor.getOption(117).insertMode;i&&(e=!e);const s=(e?t.editReplaceEnd.column:t.editInsertEnd.column)-t.position.column;return{overwriteBefore:t.position.column-t.editStart.column+(this.editor.getPosition().column-t.position.column),overwriteAfter:s+(this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0)}}_alertCompletionItem(t){y(t.completion.additionalTextEdits)&&Tm(rt(0,"Accepting '{0}' made {1} additional edits",t.textLabel,t.completion.additionalTextEdits.length))}triggerSuggest(t,i,e){this.editor.hasModel()&&(this.model.trigger({auto:null!=i&&i,completionOptions:{providerFilter:t,kindFilter:e?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(t){if(!this.editor.hasModel())return;const i=this.editor.getPosition(),e=()=>{i.equals(this.editor.getPosition())&&this._commandService.executeCommand(t.fallback)},s=t=>{if(4&t.completion.insertTextRules||t.completion.additionalTextEdits)return!0;const i=this.editor.getPosition(),e=t.editStart.column,s=i.column;return s-e!==t.completion.insertText.length||this.editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:e,endLineNumber:i.lineNumber,endColumn:s})!==t.completion.insertText};ce.once(this.model.onDidTrigger)((()=>{const t=[];ce.any(this.model.onDidTrigger,this.model.onDidCancel)((()=>{Ji(t),e()}),void 0,t),this.model.onDidSuggest((({completionModel:i})=>{if(Ji(t),0===i.items.length)return void e();const n=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),i.items),o=i.items[n];s(o)?(this.editor.pushUndoStop(),this._insertSuggestion({index:n,item:o,model:i},7)):e()}),void 0,t)})),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(i,0),this.editor.focus()}acceptSelectedSuggestion(t,i){const e=this.widget.value.getFocusedItem();let s=0;t&&(s|=4),i&&(s|=8),this._insertSuggestion(e,s)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(t){return this._selectors.register(t)}};N6.ID="editor.contrib.suggestController",N6=O6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([I6(1,G3),I6(2,Sr),I6(3,ah),I6(4,ur),I6(5,jh),I6(6,Wh)],N6);class B6{constructor(t){this.prioritySelector=t,this._items=new Array}register(t){if(-1!==this._items.indexOf(t))throw new Error("Value is already registered");return this._items.push(t),this._items.sort(((t,i)=>this.prioritySelector(i)-this.prioritySelector(t))),{dispose:()=>{const i=this._items.indexOf(t);i>=0&&this._items.splice(i,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class P6 extends su{constructor(){super({id:P6.id,label:rt(0,"Trigger Suggest"),alias:"Trigger Suggest",precondition:zr.and(UC.writable,UC.hasCompletionItemProvider,f3.Visible.toNegated()),kbOpts:{kbExpr:UC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(t,i,e){const s=N6.get(i);if(!s)return;let n;e&&"object"==typeof e&&!0===e.auto&&(n=!0),s.triggerSuggest(void 0,n,void 0)}}P6.id="editor.action.triggerSuggest",lu(N6.ID,N6,2),cu(P6);const $6=190,W6=eu.bindToContribution(N6.get);hu(new W6({id:"acceptSelectedSuggestion",precondition:zr.and(f3.Visible,f3.HasFocusedSuggestion),handler(t){t.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:zr.and(f3.Visible,UC.textInputFocus),weight:$6},{primary:3,kbExpr:zr.and(f3.Visible,UC.textInputFocus,f3.AcceptSuggestionsOnEnter,f3.MakesTextEdit),weight:$6}],menuOpts:[{menuId:p3,title:rt(0,"Insert"),group:"left",order:1,when:f3.HasInsertAndReplaceRange.toNegated()},{menuId:p3,title:rt(0,"Insert"),group:"left",order:1,when:zr.and(f3.HasInsertAndReplaceRange,f3.InsertMode.isEqualTo("insert"))},{menuId:p3,title:rt(0,"Replace"),group:"left",order:1,when:zr.and(f3.HasInsertAndReplaceRange,f3.InsertMode.isEqualTo("replace"))}]})),hu(new W6({id:"acceptAlternativeSelectedSuggestion",precondition:zr.and(f3.Visible,UC.textInputFocus,f3.HasFocusedSuggestion),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:1027,secondary:[1026]},handler(t){t.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:p3,group:"left",order:2,when:zr.and(f3.HasInsertAndReplaceRange,f3.InsertMode.isEqualTo("insert")),title:rt(0,"Replace")},{menuId:p3,group:"left",order:2,when:zr.and(f3.HasInsertAndReplaceRange,f3.InsertMode.isEqualTo("replace")),title:rt(0,"Insert")}]})),Dr.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),hu(new W6({id:"hideSuggestWidget",precondition:f3.Visible,handler:t=>t.cancelSuggestWidget(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:9,secondary:[1033]}})),hu(new W6({id:"selectNextSuggestion",precondition:zr.and(f3.Visible,zr.or(f3.MultipleSuggestions,f3.HasFocusedSuggestion.negate())),handler:t=>t.selectNextSuggestion(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),hu(new W6({id:"selectNextPageSuggestion",precondition:zr.and(f3.Visible,zr.or(f3.MultipleSuggestions,f3.HasFocusedSuggestion.negate())),handler:t=>t.selectNextPageSuggestion(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:12,secondary:[2060]}})),hu(new W6({id:"selectLastSuggestion",precondition:zr.and(f3.Visible,zr.or(f3.MultipleSuggestions,f3.HasFocusedSuggestion.negate())),handler:t=>t.selectLastSuggestion()})),hu(new W6({id:"selectPrevSuggestion",precondition:zr.and(f3.Visible,zr.or(f3.MultipleSuggestions,f3.HasFocusedSuggestion.negate())),handler:t=>t.selectPrevSuggestion(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),hu(new W6({id:"selectPrevPageSuggestion",precondition:zr.and(f3.Visible,zr.or(f3.MultipleSuggestions,f3.HasFocusedSuggestion.negate())),handler:t=>t.selectPrevPageSuggestion(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:11,secondary:[2059]}})),hu(new W6({id:"selectFirstSuggestion",precondition:zr.and(f3.Visible,zr.or(f3.MultipleSuggestions,f3.HasFocusedSuggestion.negate())),handler:t=>t.selectFirstSuggestion()})),hu(new W6({id:"focusSuggestion",precondition:zr.and(f3.Visible,f3.HasFocusedSuggestion.negate()),handler:t=>t.focusSuggestion(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),hu(new W6({id:"focusAndAcceptSuggestion",precondition:zr.and(f3.Visible,f3.HasFocusedSuggestion.negate()),handler:t=>{t.focusSuggestion(),t.acceptSelectedSuggestion(!0,!1)}})),hu(new W6({id:"toggleSuggestionDetails",precondition:zr.and(f3.Visible,f3.HasFocusedSuggestion),handler:t=>t.toggleSuggestionDetails(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:p3,group:"right",order:1,when:zr.and(f3.DetailsVisible,f3.CanResolve),title:rt(0,"show less")},{menuId:p3,group:"right",order:1,when:zr.and(f3.DetailsVisible.toNegated(),f3.CanResolve),title:rt(0,"show more")}]})),hu(new W6({id:"toggleExplainMode",precondition:f3.Visible,handler:t=>t.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),hu(new W6({id:"toggleSuggestionFocus",precondition:f3.Visible,handler:t=>t.toggleSuggestionFocus(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:2570,mac:{primary:778}}})),hu(new W6({id:"insertBestCompletion",precondition:zr.and(UC.textInputFocus,zr.equals("config.editor.tabCompletion","on"),Q3.AtEnd,f3.Visible.toNegated(),Y3.OtherSuggestions.toNegated(),P3.InSnippetMode.toNegated()),handler:(t,i)=>{t.triggerSuggestAndAcceptBest($(i)?{fallback:"tab",...i}:{fallback:"tab"})},kbOpts:{weight:$6,primary:2}})),hu(new W6({id:"insertNextSuggestion",precondition:zr.and(UC.textInputFocus,zr.equals("config.editor.tabCompletion","on"),Y3.OtherSuggestions,f3.Visible.toNegated(),P3.InSnippetMode.toNegated()),handler:t=>t.acceptNextSuggestion(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:2}})),hu(new W6({id:"insertPrevSuggestion",precondition:zr.and(UC.textInputFocus,zr.equals("config.editor.tabCompletion","on"),Y3.OtherSuggestions,f3.Visible.toNegated(),P3.InSnippetMode.toNegated()),handler:t=>t.acceptPrevSuggestion(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:1026}})),cu(class extends su{constructor(){super({id:"editor.action.resetSuggestSize",label:rt(0,"Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(t,i){var e;null===(e=N6.get(i))||void 0===e||e.resetWidgetSize()}});class j6 extends ie{get selectedItem(){return this._selectedItem}constructor(t,i,e,s){super(),this.editor=t,this.suggestControllerPreselector=i,this.checkModelVersion=e,this.onWillAccept=s,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._selectedItem=xV(this,void 0),this._register(t.onKeyDown((t=>{t.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))}))),this._register(t.onKeyUp((t=>{t.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))})));const n=N6.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(t,i,e)=>{var s;dV((t=>this.checkModelVersion(t)));const o=this.editor.getModel();if(!o)return-1;const r=null===(s=this.suggestControllerPreselector())||void 0===s?void 0:s.removeCommonPrefix(o);if(!r)return-1;const h=As.lift(i),c=np(e.map(((t,i)=>{const e=z6.fromSuggestion(n,o,h,t,this.isShiftKeyPressed).toSingleTextEdit().removeCommonPrefix(o);return{index:i,valid:r.augments(e),prefixLength:e.text.length,suggestItem:t}})).filter((t=>t&&t.valid&&t.prefixLength>0)),R((t=>t.prefixLength),O));return c?c.index:-1}}));let t=!1;const i=()=>{t||(t=!0,this._register(n.widget.value.onDidShow((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))),this._register(n.widget.value.onDidHide((()=>{this.isSuggestWidgetVisible=!1,this.update(!1)}))),this._register(n.widget.value.onDidFocus((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))))};this._register(ce.once(n.model.onDidTrigger)((()=>{i()}))),this._register(n.onWillInsertSuggestItem((t=>{const i=this.editor.getPosition(),e=this.editor.getModel();if(!i||!e)return;const s=z6.fromSuggestion(n,e,i,t.item,this.isShiftKeyPressed);this.onWillAccept(s)})))}this.update(this._isActive)}update(t){const i=this.getSuggestItemInfo();var e,s;this._isActive===t&&((e=this._currentSuggestItemInfo)===(s=i)||e&&s&&e.equals(s))||(this._isActive=t,this._currentSuggestItemInfo=i,dV((t=>{this.checkModelVersion(t),this._selectedItem.set(this._isActive?this._currentSuggestItemInfo:void 0,t)})))}getSuggestItemInfo(){const t=N6.get(this.editor);if(!t||!this.isSuggestWidgetVisible)return;const i=t.widget.value.getFocusedItem(),e=this.editor.getPosition(),s=this.editor.getModel();return i&&e&&s?z6.fromSuggestion(t,s,e,i.item,this.isShiftKeyPressed):void 0}stopForceRenderingAbove(){const t=N6.get(this.editor);null==t||t.stopForceRenderingAbove()}forceRenderingAbove(){const t=N6.get(this.editor);null==t||t.forceRenderingAbove()}}class z6{static fromSuggestion(t,i,e,s,n){let{insertText:o}=s.completion,r=!1;if(4&s.completion.insertTextRules){const t=(new Q5).parse(o);t.children.length<100&&I3.adjustWhitespace(i,e,!0,t),o=t.toString(),r=!0}const h=t.getOverwriteInfo(s,n);return new z6(Ms.fromPositions(e.delta(0,-h.overwriteBefore),e.delta(0,Math.max(h.overwriteAfter,0))),o,s.completion.kind,r)}constructor(t,i,e,s){this.range=t,this.insertText=i,this.completionItemKind=e,this.isSnippetText=s}equals(t){return this.range.equalsRange(t.range)&&this.insertText===t.insertText&&this.completionItemKind===t.completionItemKind&&this.isSnippetText===t.isSnippetText}toSelectedSuggestionInfo(){return new zs(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new e3(this.range,this.insertText)}}var H6,V6=function(t,i){return function(e,s){i(e,s,t)}};let U6=H6=class extends ie{static get(t){return t.getContribution(H6.ID)}constructor(t,i,e,s,n,o,r,h,c){super(),this.editor=t,this._instantiationService=i,this._contextKeyService=e,this._configurationService=s,this._commandService=n,this._debounceService=o,this._languageFeaturesService=r,this._audioCueService=h,this._keybindingService=c,this.model=SV("inlineCompletionModel",void 0),this._textModelVersionId=xV(this,-1),this._cursorPosition=xV(this,new As(1,1)),this._suggestWidgetAdaptor=this._register(new j6(this.editor,(()=>{var t,i;return null===(i=null===(t=this.model.get())||void 0===t?void 0:t.selectedInlineCompletion.get())||void 0===i?void 0:i.toSingleTextEdit(void 0)}),(t=>this.updateObservables(t,W3.Other)),(t=>{dV((i=>{var e;this.updateObservables(i,W3.Other),null===(e=this.model.get())||void 0===e||e.handleSuggestAccepted(t)}))}))),this._enabled=$V(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).enabled)),this._ghostTextWidget=this._register(this._instantiationService.createInstance(_5,this.editor,{ghostText:this.model.map(((t,i)=>null==t?void 0:t.ghostText.read(i))),minReservedLineCount:BV(0),targetTextModel:this.model.map((t=>null==t?void 0:t.textModel))})),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this._playAudioCueSignal=HV(this),this._isReadonly=$V(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(90))),this._textModel=$V(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this._textModelIfWritable=AV((t=>this._isReadonly.read(t)?void 0:this._textModel.read(t))),this._register(new S5(this._contextKeyService,this.model)),this._register(RV((e=>{const s=this._textModelIfWritable.read(e);dV((e=>{if(this.model.set(void 0,e),this.updateObservables(e,W3.Other),s){const n=i.createInstance(z3,s,this._suggestWidgetAdaptor.selectedItem,this._cursorPosition,this._textModelVersionId,this._debounceValue,$V(t.onDidChangeConfiguration,(()=>t.getOption(117).preview)),$V(t.onDidChangeConfiguration,(()=>t.getOption(117).previewMode)),$V(t.onDidChangeConfiguration,(()=>t.getOption(62).mode)),this._enabled);this.model.set(n,e)}}))})));const a=t=>{var i;return t.isUndoing?W3.Undo:t.isRedoing?W3.Redo:(null===(i=this.model.get())||void 0===i?void 0:i.isAcceptingPartially)?W3.AcceptWord:W3.Other};let l;this._register(t.onDidChangeModelContent((t=>dV((i=>this.updateObservables(i,a(t))))))),this._register(t.onDidChangeCursorPosition((t=>dV((i=>{var e;this.updateObservables(i,W3.Other),3!==t.reason&&"api"!==t.source||null===(e=this.model.get())||void 0===e||e.stop(i)}))))),this._register(t.onDidType((()=>dV((t=>{var i;this.updateObservables(t,W3.Other),this._enabled.get()&&(null===(i=this.model.get())||void 0===i||i.trigger(t))}))))),this._register(this._commandService.onDidExecuteCommand((i=>{new Set([tS.Tab.id,tS.DeleteLeft.id,tS.DeleteRight.id,b0,"acceptSelectedSuggestion"]).has(i.commandId)&&t.hasTextFocus()&&this._enabled.get()&&dV((t=>{var i;null===(i=this.model.get())||void 0===i||i.trigger(t)}))}))),this._register(this.editor.onDidBlurEditorWidget((()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||t.getOption(62).keepOnBlur||M0.dropDownVisible||dV((t=>{var i;null===(i=this.model.get())||void 0===i||i.stop(t)}))}))),this._register(RV((t=>{var i;const e=null===(i=this.model.read(t))||void 0===i?void 0:i.state.read(t);(null==e?void 0:e.suggestItem)?e.ghostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register(Xi((()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register(IV({handleChange:t=>(t.didChange(this._playAudioCueSignal)&&(l=void 0),!0)},(async t=>{this._playAudioCueSignal.read(t);const i=this.model.read(t),e=null==i?void 0:i.state.read(t);if(i&&e&&e.inlineCompletion){if(e.inlineCompletion.semanticId!==l){l=e.inlineCompletion.semanticId;const t=i.textModel.getLineContent(e.ghostText.lineNumber);this._audioCueService.playAudioCue(BH.inlineSuggestion).then((()=>{this.editor.getOption(8)&&this.provideScreenReaderUpdate(e.ghostText.renderForScreenReader(t))}))}}else l=void 0}))),this._register(new D0(this.editor,this.model,this._instantiationService)),this._register(this._configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}))),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAudioCue(t){this._playAudioCueSignal.trigger(t)}provideScreenReaderUpdate(t){const i=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),e=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let s;!i&&e&&this.editor.getOption(147)&&(s=rt(0,"Inspect this in the accessible view ({0})",e.getAriaLabel())),Tm(s?t+", "+s:t)}updateObservables(t,i){var e,s;const n=this.editor.getModel();this._textModelVersionId.set(null!==(e=null==n?void 0:n.getVersionId())&&void 0!==e?e:-1,t,i),this._cursorPosition.set(null!==(s=this.editor.getPosition())&&void 0!==s?s:new As(1,1),t)}shouldShowHoverAt(t){var i;const e=null===(i=this.model.get())||void 0===i?void 0:i.ghostText.get();return!!e&&e.parts.some((i=>t.containsPosition(new As(e.lineNumber,i.column))))}shouldShowHoverAtViewZone(t){return this._ghostTextWidget.ownsViewZone(t)}};U6.ID="editor.contrib.inlineCompletionsController",U6=H6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([V6(1,ur),V6(2,ah),V6(3,pd),V6(4,Sr),V6(5,hR),V6(6,gg),V6(7,IH),V6(8,Yx)],U6);class q6 extends su{constructor(){super({id:q6.ID,label:rt(0,"Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:zr.and(UC.writable,S5.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(t,i){var e;const s=U6.get(i);null===(e=null==s?void 0:s.model.get())||void 0===e||e.next()}}q6.ID=k0;class K6 extends su{constructor(){super({id:K6.ID,label:rt(0,"Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:zr.and(UC.writable,S5.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(t,i){var e;const s=U6.get(i);null===(e=null==s?void 0:s.model.get())||void 0===e||e.previous()}}K6.ID=y0;class G6 extends su{constructor(){super({id:G6.ID,label:rt(0,"Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:S5.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(t,i){const e=U6.get(i);dV((t=>{var i;null===(i=null==e?void 0:e.model.get())||void 0===i||i.stop(t)}))}}G6.ID="editor.action.inlineSuggest.hide";class Z6 extends Ph{constructor(){super({id:Z6.ID,title:rt(0,"Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:Rh.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:zr.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(t,i){const e=t.get(pd),s=e.getValue("editor.inlineSuggest.showToolbar");e.updateValue("editor.inlineSuggest.showToolbar","always"===s?"onHover":"always")}}Z6.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";var Q6=function(t,i){return function(e,s){i(e,s,t)}};class J6{constructor(t,i,e){this.owner=t,this.range=i,this.controller=e}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let Y6=class{constructor(t,i,e,s,n,o){this._editor=t,this._languageService=i,this._openerService=e,this.accessibilityService=s,this._instantiationService=n,this._telemetryService=o,this.hoverOrdinal=4}suggestHoverAnchor(t){const i=U6.get(this._editor);if(!i)return null;const e=t.target;if(8===e.type){const s=e.detail;if(i.shouldShowHoverAtViewZone(s.viewZoneId))return new fX(1e3,this,Ms.fromPositions(this._editor.getModel().validatePosition(s.positionBefore||s.position)),t.event.posx,t.event.posy,!1)}return 7===e.type&&i.shouldShowHoverAt(e.range)||6===e.type&&e.detail.mightBeForeignElement&&i.shouldShowHoverAt(e.range)?new fX(1e3,this,e.range,t.event.posx,t.event.posy,!1):null}computeSync(t,i){if("onHover"!==this._editor.getOption(62).showToolbar)return[];const e=U6.get(this._editor);return e&&e.shouldShowHoverAt(t.range)?[new J6(this,t.range,e)]:[]}renderHoverParts(t,i){const e=new te,s=i[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&this.renderScreenReaderText(t,s,e);const n=s.controller.model.get(),o=this._instantiationService.createInstance(M0,this._editor,!1,BV(null),n.selectedInlineCompletionIndex,n.inlineCompletionsCount,n.selectedInlineCompletion.map((t=>{var i;return null!==(i=null==t?void 0:t.inlineCompletion.source.inlineCompletions.commands)&&void 0!==i?i:[]})));return t.fragment.appendChild(o.getDomNode()),n.triggerExplicitly(),e.add(o),e}renderScreenReaderText(t,i,e){const s=$l,n=s("div.hover-row.markdown-hover"),o=Ol(n,s("div.hover-contents",{"aria-live":"assertive"})),r=e.add(new eQ({editor:this._editor},this._languageService,this._openerService));e.add(RV((s=>{var n;const h=null===(n=i.controller.model.read(s))||void 0===n?void 0:n.ghostText.read(s);if(h){const i=this._editor.getModel().getLineContent(h.lineNumber);(i=>{e.add(r.onDidRenderAsync((()=>{o.className="hover-contents code-hover-contents",t.onContentsChanged()})));const s=rt(0,"Suggestion:"),n=e.add(r.render((new M_).appendText(s).appendCodeblock("text",i)));o.replaceChildren(n.element)})(h.renderForScreenReader(i))}else _l(o)}))),t.fragment.appendChild(n)}};function X6(t,i){let e=0;for(let s=0;s=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Q6(1,yd),Q6(2,nP),Q6(3,zm),Q6(4,ur),Q6(5,Wh)],Y6),lu(U6.ID,U6,3),cu(class extends su{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:rt(0,"Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:UC.writable})}async run(t,i){const e=U6.get(i);await async function(t){const i=new gV(t,void 0);try{await t(i)}finally{i.finish()}}((async t=>{var i;await(null===(i=null==e?void 0:e.model.get())||void 0===i?void 0:i.triggerExplicitly(t)),null==e||e.playAudioCue(t)}))}}),cu(q6),cu(K6),cu(class extends su{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:rt(0,"Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:zr.and(UC.writable,S5.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:zr.and(UC.writable,S5.inlineSuggestionVisible)},menuOpts:[{menuId:Rh.InlineSuggestionToolbar,title:rt(0,"Accept Word"),group:"primary",order:2}]})}async run(t,i){var e;const s=U6.get(i);await(null===(e=null==s?void 0:s.model.get())||void 0===e?void 0:e.acceptNextWord(s.editor))}}),cu(class extends su{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:rt(0,"Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:zr.and(UC.writable,S5.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Rh.InlineSuggestionToolbar,title:rt(0,"Accept Line"),group:"secondary",order:2}]})}async run(t,i){var e;const s=U6.get(i);await(null===(e=null==s?void 0:s.model.get())||void 0===e?void 0:e.acceptNextLine(s.editor))}}),cu(class extends su{constructor(){super({id:b0,label:rt(0,"Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:S5.inlineSuggestionVisible,menuOpts:[{menuId:Rh.InlineSuggestionToolbar,title:rt(0,"Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:zr.and(S5.inlineSuggestionVisible,UC.tabMovesFocus.toNegated(),S5.inlineSuggestionHasIndentationLessThanTabSize,f3.Visible.toNegated(),UC.hoverFocused.toNegated())}})}async run(t,i){var e;const s=U6.get(i);s&&(null===(e=s.model.get())||void 0===e||e.accept(s.editor),s.editor.focus())}}),cu(G6),$h(Z6),pX.register(Y6);function i9(t,i,e,s,n){if(1===t.getLineCount()&&1===t.getLineMaxColumn(1))return[];const o=i.getLanguageConfiguration(t.getLanguageId()).indentationRules;if(!o)return[];for(s=Math.min(s,t.getLineCount());e<=s&&o.unIndentedLinePattern;){const i=t.getLineContent(e);if(!o.unIndentedLinePattern.test(i))break;e++}if(e>s-1)return[];const{tabSize:r,indentSize:h,insertSpaces:c}=t.getOptions(),a=(t,i)=>RC.shiftIndent(t,t.length+(i=i||1),r,h,c),l=(t,i)=>RC.unshiftIndent(t,t.length+(i=i||1),r,h,c),u=[];let d;const f=t.getLineContent(e);let p=f;if(null!=n){d=n;const t=io(f);p=d+f.substring(t.length),o.decreaseIndentPattern&&o.decreaseIndentPattern.test(p)&&(d=l(d),p=d+f.substring(t.length)),f!==p&&u.push(rO.replaceMove(new Ls(e,1,e,t.length+1),sC(d,h,c)))}else d=io(f);let g=d;o.increaseIndentPattern&&o.increaseIndentPattern.test(p)?(g=a(g),d=a(d)):o.indentNextLinePattern&&o.indentNextLinePattern.test(p)&&(g=a(g));for(let i=++e;i<=s;i++){const e=t.getLineContent(i),s=io(e),n=g+e.substring(s.length);o.decreaseIndentPattern&&o.decreaseIndentPattern.test(n)&&(g=l(g),d=l(d)),s!==g&&u.push(rO.replaceMove(new Ls(i,1,i,s.length+1),sC(g,h,c))),o.unIndentedLinePattern&&o.unIndentedLinePattern.test(e)||(o.increaseIndentPattern&&o.increaseIndentPattern.test(n)?(d=a(d),g=d):g=o.indentNextLinePattern&&o.indentNextLinePattern.test(n)?a(g):d)}return u}class e9 extends su{constructor(){super({id:e9.ID,label:rt(0,"Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:UC.writable})}run(t,i){const e=i.getModel();if(!e)return;const s=e.getOptions(),n=i.getSelection();if(!n)return;const o=new d9(n,s.tabSize);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop(),e.updateOptions({insertSpaces:!0})}}e9.ID="editor.action.indentationToSpaces";class s9 extends su{constructor(){super({id:s9.ID,label:rt(0,"Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:UC.writable})}run(t,i){const e=i.getModel();if(!e)return;const s=e.getOptions(),n=i.getSelection();if(!n)return;const o=new f9(n,s.tabSize);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop(),e.updateOptions({insertSpaces:!1})}}s9.ID="editor.action.indentationToTabs";class n9 extends su{constructor(t,i,e){super(e),this.insertSpaces=t,this.displaySizeOnly=i}run(t,i){const e=t.get(Dj),s=t.get(pr),n=i.getModel();if(!n)return;const o=s.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget),r=n.getOptions(),h=[1,2,3,4,5,6,7,8].map((t=>({id:t.toString(),label:t.toString(),description:t===o.tabSize&&t===r.tabSize?rt(0,"Configured Tab Size"):t===o.tabSize?rt(0,"Default Tab Size"):t===r.tabSize?rt(0,"Current Tab Size"):void 0}))),c=Math.min(n.getOptions().tabSize-1,7);setTimeout((()=>{e.pick(h,{placeHolder:rt(0,"Select Tab Size for Current File"),activeItem:h[c]}).then((t=>{if(t&&n&&!n.isDisposed()){const i=parseInt(t.label,10);n.updateOptions(this.displaySizeOnly?{tabSize:i}:{tabSize:i,indentSize:i,insertSpaces:this.insertSpaces})}}))}),50)}}class o9 extends n9{constructor(){super(!1,!1,{id:o9.ID,label:rt(0,"Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}}o9.ID="editor.action.indentUsingTabs";class r9 extends n9{constructor(){super(!0,!1,{id:r9.ID,label:rt(0,"Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}}r9.ID="editor.action.indentUsingSpaces";class h9 extends n9{constructor(){super(!0,!0,{id:h9.ID,label:rt(0,"Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0})}}h9.ID="editor.action.changeTabDisplaySize";class c9 extends su{constructor(){super({id:c9.ID,label:rt(0,"Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(t,i){const e=t.get(pr),s=i.getModel();if(!s)return;const n=e.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget);s.detectIndentation(n.insertSpaces,n.tabSize)}}c9.ID="editor.action.detectIndentation";class a9{constructor(t,i){this._initialSelection=i,this._edits=[],this._selectionId=null;for(const i of t)i.range&&"string"==typeof i.text&&this._edits.push(i)}getEditOperations(t,i){for(const t of this._edits)i.addEditOperation(Ms.lift(t.range),t.text);let e=!1;Array.isArray(this._edits)&&1===this._edits.length&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(e=!0,this._selectionId=i.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(e=!0,this._selectionId=i.trackSelection(this._initialSelection,!1))),e||(this._selectionId=i.trackSelection(this._initialSelection))}computeCursorState(t,i){return i.getTrackedSelection(this._selectionId)}}let l9=class{constructor(t,i){this.editor=t,this._languageConfigurationService=i,this.callOnDispose=new te,this.callOnModel=new te,this.callOnDispose.add(t.onDidChangeConfiguration((()=>this.update()))),this.callOnDispose.add(t.onDidChangeModel((()=>this.update()))),this.callOnDispose.add(t.onDidChangeModelLanguage((()=>this.update())))}update(){this.callOnModel.clear(),this.editor.getOption(12)<4||this.editor.getOption(55)||this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste((({range:t})=>{this.trigger(t)})))}trigger(t){const i=this.editor.getSelections();if(null===i||i.length>1)return;const e=this.editor.getModel();if(!e)return;if(!e.tokenization.isCheapToTokenize(t.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:n,indentSize:o,insertSpaces:r}=e.getOptions(),h=[],c={shiftIndent:t=>RC.shiftIndent(t,t.length+1,n,o,r),unshiftIndent:t=>RC.unshiftIndent(t,t.length+1,n,o,r)};let a=t.startLineNumber;for(;a<=t.endLineNumber&&this.shouldIgnoreLine(e,a);)a++;if(a>t.endLineNumber)return;let l=e.getLineContent(a);if(!/\S/.test(l.substring(0,t.startColumn-1))){const t=NC(s,e,e.getLanguageId(),a,c,this._languageConfigurationService);if(null!==t){const i=io(l),s=X6(t,n);if(s!==X6(i,n)){const t=t9(s,n,r);h.push({range:new Ms(a,1,a,i.length+1),text:t}),l=t+l.substr(i.length)}else{const t=BC(e,a,this._languageConfigurationService);if(0===t||8===t)return}}}const u=a;for(;ae.tokenization.getLineTokens(t),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,i)=>e.getLanguageIdAtPosition(t,i)},getLineContent:t=>t===u?l:e.getLineContent(t)},e.getLanguageId(),a+1,c,this._languageConfigurationService);if(null!==i){const s=X6(i,n),o=X6(io(e.getLineContent(a+1)),n);if(s!==o){const i=s-o;for(let s=a+1;s<=t.endLineNumber;s++){const t=io(e.getLineContent(s)),o=t9(X6(t,n)+i,n,r);o!==t&&h.push({range:new Ms(s,1,s,t.length+1),text:o})}}}}if(h.length>0){this.editor.pushUndoStop();const t=new a9(h,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",t),this.editor.pushUndoStop()}}shouldIgnoreLine(t,i){t.tokenization.forceTokenization(i);const e=t.getLineFirstNonWhitespaceColumn(i);if(0===e)return!0;const s=t.tokenization.getLineTokens(i);if(s.getCount()>0){const t=s.findTokenIndexAtOffset(e);if(t>=0&&1===s.getStandardTokenType(t))return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};function u9(t,i,e,s){if(1===t.getLineCount()&&1===t.getLineMaxColumn(1))return;let n="";for(let t=0;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,qd)],l9);class d9{constructor(t,i){this.selection=t,this.tabSize=i,this.selectionId=null}getEditOperations(t,i){this.selectionId=i.trackSelection(this.selection),u9(t,i,this.tabSize,!0)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}}class f9{constructor(t,i){this.selection=t,this.tabSize=i,this.selectionId=null}getEditOperations(t,i){this.selectionId=i.trackSelection(this.selection),u9(t,i,this.tabSize,!1)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}}lu(l9.ID,l9,2),cu(e9),cu(s9),cu(o9),cu(r9),cu(h9),cu(c9),cu(class extends su{constructor(){super({id:"editor.action.reindentlines",label:rt(0,"Reindent Lines"),alias:"Reindent Lines",precondition:UC.writable})}run(t,i){const e=t.get(qd),s=i.getModel();if(!s)return;const n=i9(s,e,1,s.getLineCount());n.length>0&&(i.pushUndoStop(),i.executeEdits(this.id,n),i.pushUndoStop())}}),cu(class extends su{constructor(){super({id:"editor.action.reindentselectedlines",label:rt(0,"Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:UC.writable})}run(t,i){const e=t.get(qd),s=i.getModel();if(!s)return;const n=i.getSelections();if(null===n)return;const o=[];for(const t of n){let i=t.startLineNumber,n=t.endLineNumber;if(i!==n&&1===t.endColumn&&n--,1===i){if(i===n)continue}else i--;const r=i9(s,e,i,n);o.push(...r)}o.length>0&&(i.pushUndoStop(),i.executeEdits(this.id,o),i.pushUndoStop())}});class p9{constructor(t,i){this.range=t,this.direction=i}}class g9{constructor(t,i,e){this.hint=t,this.anchor=i,this.provider=e,this._isResolved=!1}with(t){const i=new g9(this.hint,t.anchor,this.provider);return i._isResolved=this._isResolved,i._currentResolve=this._currentResolve,i}async resolve(t){if("function"==typeof this.provider.resolveInlayHint){if(this._currentResolve){if(await this._currentResolve,t.isCancellationRequested)return;return this.resolve(t)}this._isResolved||(this._currentResolve=this._doResolve(t).finally((()=>this._currentResolve=void 0))),await this._currentResolve}}async _doResolve(t){var i,e;try{const s=await Promise.resolve(this.provider.resolveInlayHint(this.hint,t));this.hint.tooltip=null!==(i=null==s?void 0:s.tooltip)&&void 0!==i?i:this.hint.tooltip,this.hint.label=null!==(e=null==s?void 0:s.label)&&void 0!==e?e:this.hint.label,this._isResolved=!0}catch(t){$i(t),this._isResolved=!1}}}class m9{static async create(t,i,e,s){const n=[],o=t.ordered(i).reverse().map((t=>e.map((async e=>{try{const o=await t.provideInlayHints(i,e,s);(null==o?void 0:o.hints.length)&&n.push([o,t])}catch(t){$i(t)}}))));if(await Promise.all(o.flat()),s.isCancellationRequested||i.isDisposed())throw new Hi;return new m9(e,n,i)}constructor(t,i,e){this._disposables=new te,this.ranges=t,this.provider=new Set;const s=[];for(const[t,n]of i){this._disposables.add(t),this.provider.add(n);for(const i of t.hints){const t=e.validatePosition(i.position);let o="before";const r=m9._getRangeAtPosition(e,t);let h;r.getStartPosition().isBefore(t)?(h=Ms.fromPositions(r.getStartPosition(),t),o="after"):(h=Ms.fromPositions(t,r.getEndPosition()),o="before"),s.push(new g9(i,new p9(h,o),n))}}this.items=s.sort(((t,i)=>As.compare(t.hint.position,i.hint.position)))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(t,i){const e=i.lineNumber,s=t.getWordAtPosition(i);if(s)return new Ms(e,s.startColumn,e,s.endColumn);t.tokenization.tokenizeIfCheap(e);const n=t.tokenization.getLineTokens(e),o=i.column-1,r=n.findTokenIndexAtOffset(o);let h=n.getStartOffset(r),c=n.getEndOffset(r);return c-h==1&&(h===o&&r>1?(h=n.getStartOffset(r-1),c=n.getEndOffset(r-1)):c===o&&rTh(t)?t.command.id:e1())));for(const t of JY.all())d.has(t.desc.id)&&u.push(new mr(t.desc.id,Bh.label(t.desc,{renderShortTitle:!0}),void 0,!0,(async()=>{const e=await o.createModelReference(l.uri);try{const n=new QY(e.object.textEditorModel,Ms.getStartPosition(l.range)),o=s.item.anchor.range;await c.invokeFunction(t.runEditorCommand.bind(t),i,n,o)}finally{e.dispose()}})));if(s.part.command){const{command:t}=s.part;u.push(new vr),u.push(new mr(t.id,t.title,void 0,!0,(async()=>{var i;try{await h.executeCommand(t.id,...null!==(i=t.arguments)&&void 0!==i?i:[])}catch(t){a.notify({severity:QF.Error,source:s.item.provider.displayName,message:t})}})))}const f=i.getOption(126);r.showContextMenu({domForShadowRoot:f&&null!==(n=i.getDomNode())&&void 0!==n?n:void 0,getAnchor:()=>{const t=nl(e);return{x:t.left,y:t.top+t.height+8}},getActions:()=>u,onHide:()=>{i.focus()},autoSelectFirstItem:!0})}async function v9(t,i,e,s){const n=t.get(gr),o=await n.createModelReference(s.uri);await e.invokeWithinContext((async t=>{const n=i.hasSideBySideModifier,r=t.get(ah),h=KJ.inPeekEditor.getValue(r),c=!n&&e.getOption(87)&&!h;return new YY({openToSide:n,openInPeek:c,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(t,new QY(o.object.textEditorModel,Ms.getStartPosition(s.range)),Ms.lift(s.range))})),o.dispose()}var b9,y9=function(t,i){return function(e,s){i(e,s,t)}};class k9{constructor(){this._entries=new Bp(50)}get(t){const i=k9._key(t);return this._entries.get(i)}set(t,i){const e=k9._key(t);this._entries.set(e,i)}static _key(t){return`${t.uri.toString()}/${t.getVersionId()}`}}const x9=dr("IInlayHintsCache");Cd(x9,k9,1);class C9{constructor(t,i){this.item=t,this.index=i}get part(){const t=this.item.hint.label;return"string"==typeof t?{label:t}:t[this.index]}}class S9{constructor(t,i){this.part=t,this.hasTriggerModifier=i}}let D9=b9=class{static get(t){var i;return null!==(i=t.getContribution(b9.ID))&&void 0!==i?i:void 0}constructor(t,i,e,s,n,o,r){this._editor=t,this._languageFeaturesService=i,this._inlayHintsCache=s,this._commandService=n,this._notificationService=o,this._instaService=r,this._disposables=new te,this._sessionDisposables=new te,this._decorationsMetadata=new Map,this._ruleFactory=new yy(this._editor),this._activeRenderMode=0,this._debounceInfo=e.for(i.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(i.inlayHintsProvider.onDidChange((()=>this._update()))),this._disposables.add(t.onDidChangeModel((()=>this._update()))),this._disposables.add(t.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(t.onDidChangeConfiguration((t=>{t.hasChanged(139)&&this._update()}))),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const t=this._editor.getOption(139);if("off"===t.enabled)return;const i=this._editor.getModel();if(!i||!this._languageFeaturesService.inlayHintsProvider.has(i))return;const e=this._inlayHintsCache.get(i);let s;e&&this._updateHintsDecorators([i.getFullModelRange()],e),this._sessionDisposables.add(Xi((()=>{i.isDisposed()||this._cacheHintsForFastRestore(i)})));const n=new Set,o=new pc((async()=>{const t=Date.now();null==s||s.dispose(!0),s=new Se;const e=i.onWillDispose((()=>null==s?void 0:s.cancel()));try{const e=s.token,r=await m9.create(this._languageFeaturesService.inlayHintsProvider,i,this._getHintsRanges(),e);if(o.delay=this._debounceInfo.update(i,Date.now()-t),e.isCancellationRequested)return void r.dispose();for(const t of r.provider)"function"!=typeof t.onDidChangeInlayHints||n.has(t)||(n.add(t),this._sessionDisposables.add(t.onDidChangeInlayHints((()=>{o.isScheduled()||o.schedule()}))));this._sessionDisposables.add(r),this._updateHintsDecorators(r.ranges,r.items),this._cacheHintsForFastRestore(i)}catch(t){Pi(t)}finally{s.dispose(),e.dispose()}}),this._debounceInfo.get(i));if(this._sessionDisposables.add(o),this._sessionDisposables.add(Xi((()=>null==s?void 0:s.dispose(!0)))),o.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange((t=>{!t.scrollTopChanged&&o.isScheduled()||o.schedule()}))),this._sessionDisposables.add(this._editor.onDidChangeModelContent((()=>{const t=Math.max(o.delay,1250);o.schedule(t)}))),"on"===t.enabled)this._activeRenderMode=0;else{let i,e;"onUnlessPressed"===t.enabled?(i=0,e=1):(i=1,e=0),this._activeRenderMode=i,this._sessionDisposables.add(Gl.getInstance().event((t=>{if(!this._editor.hasModel())return;const s=t.altKey&&t.ctrlKey&&!t.shiftKey&&!t.metaKey?e:i;if(s!==this._activeRenderMode){this._activeRenderMode=s;const t=this._editor.getModel(),i=this._copyInlayHintsWithCurrentAnchor(t);this._updateHintsDecorators([t.getFullModelRange()],i),o.schedule(0)}})))}this._sessionDisposables.add(this._installDblClickGesture((()=>o.schedule(0)))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const t=new te,i=t.add(new _J(this._editor)),e=new te;return t.add(e),t.add(i.onMouseMoveOrRelevantKeyDown((t=>{const[i]=t,s=this._getInlayHintLabelPart(i),n=this._editor.getModel();if(!s||!n)return void e.clear();const o=new Se;e.add(Xi((()=>o.dispose(!0)))),s.item.resolve(o.token),this._activeInlayHintPart=s.part.command||s.part.location?new S9(s,i.hasTriggerModifier):void 0;const r=n.validatePosition(s.item.hint.position).lineNumber,h=new Ms(r,1,r,n.getLineMaxColumn(r)),c=this._getInlineHintsForRange(h);this._updateHintsDecorators([h],c),e.add(Xi((()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([h],c)})))}))),t.add(i.onCancel((()=>e.clear()))),t.add(i.onExecute((async t=>{const i=this._getInlayHintLabelPart(t);if(i){const e=i.part;e.location?this._instaService.invokeFunction(v9,t,this._editor,e.location):Us.is(e.command)&&await this._invokeCommand(e.command,i.item)}}))),t}_getInlineHintsForRange(t){const i=new Set;for(const e of this._decorationsMetadata.values())t.containsRange(e.item.anchor.range)&&i.add(e.item);return Array.from(i)}_installDblClickGesture(t){return this._editor.onMouseUp((async i=>{if(2!==i.event.detail)return;const e=this._getInlayHintLabelPart(i);if(e&&(i.event.preventDefault(),await e.item.resolve(xe.None),y(e.item.hint.textEdits))){const i=e.item.hint.textEdits.map((t=>rO.replace(Ms.lift(t.range),t.text)));this._editor.executeEdits("inlayHint.default",i),t()}}))}_installContextMenu(){return this._editor.onContextMenu((async t=>{if(!(t.event.target instanceof HTMLElement))return;const i=this._getInlayHintLabelPart(t);i&&await this._instaService.invokeFunction(w9,this._editor,t.event.target,i)}))}_getInlayHintLabelPart(t){var i;if(6!==t.target.type)return;const e=null===(i=t.target.detail.injectedText)||void 0===i?void 0:i.options;return e instanceof vL&&(null==e?void 0:e.attachedData)instanceof C9?e.attachedData:void 0}async _invokeCommand(t,i){var e;try{await this._commandService.executeCommand(t.id,...null!==(e=t.arguments)&&void 0!==e?e:[])}catch(t){this._notificationService.notify({severity:QF.Error,source:i.provider.displayName,message:t})}}_cacheHintsForFastRestore(t){const i=this._copyInlayHintsWithCurrentAnchor(t);this._inlayHintsCache.set(t,i)}_copyInlayHintsWithCurrentAnchor(t){const i=new Map;for(const[e,s]of this._decorationsMetadata){if(i.has(s.item))continue;const n=t.getDecorationRange(e);if(n){const t=new p9(n,s.item.anchor.direction),e=s.item.with({anchor:t});i.set(s.item,e)}}return Array.from(i.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),e=[];for(const s of i.sort(Ms.compareRangesUsingStarts)){const i=t.validateRange(new Ms(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));0!==e.length&&Ms.areIntersectingOrTouching(e[e.length-1],i)?e[e.length-1]=Ms.plusRange(e[e.length-1],i):e.push(i)}return e}_updateHintsDecorators(t,i){var e,s;const n=[],o=(t,i,e,s,o)=>{const r={content:e,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:i.className,cursorStops:s,attachedData:o};n.push({item:t,classNameRef:i,decoration:{range:t.anchor.range,options:{description:"InlayHint",showIfCollapsed:t.anchor.range.isEmpty(),collapseOnReplaceEdit:!t.anchor.range.isEmpty(),stickiness:0,[t.anchor.direction]:0===this._activeRenderMode?r:void 0}}})},r=(t,i)=>{const e=this._ruleFactory.createClassNameRef({width:(h/3|0)+"px",display:"inline-block"});o(t,e," ",i?Tf.Right:Tf.None)},{fontSize:h,fontFamily:c,padding:a,isUniform:l}=this._getLayoutInfo(),u="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(u,c);for(const t of i){t.hint.paddingLeft&&r(t,!1);const i="string"==typeof t.hint.label?[{label:t.hint.label}]:t.hint.label;for(let s=0;sb9._MAX_DECORATORS)break}const d=[];for(const i of t)for(const{id:t}of null!==(s=this._editor.getDecorationsInRange(i))&&void 0!==s?s:[]){const i=this._decorationsMetadata.get(t);i&&(d.push(t),i.classNameRef.dispose(),this._decorationsMetadata.delete(t))}const f=KV.capture(this._editor);this._editor.changeDecorations((t=>{const i=t.deltaDecorations(d,n.map((t=>t.decoration)));for(let t=0;te)&&(n=e);const o=t.fontFamily||s;return{fontSize:n,fontFamily:o,padding:i,isUniform:!i&&o===s&&n===e}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const t of this._decorationsMetadata.values())t.classNameRef.dispose();this._decorationsMetadata.clear()}};D9.ID="editor.contrib.InlayHints",D9._MAX_DECORATORS=1500,D9=b9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([y9(1,gg),y9(2,hR),y9(3,x9),y9(4,Sr),y9(5,JF),y9(6,ur)],D9),Dr.registerCommand("_executeInlayHintProvider",(async(t,...i)=>{const[e,s]=i;K(ms.isUri(e)),K(Ms.isIRange(s));const{inlayHintsProvider:n}=t.get(gg),o=await t.get(gr).createModelReference(e);try{const t=await m9.create(n,o.object.textEditorModel,[Ms.lift(s)],xe.None),i=t.items.map((t=>t.hint));return setTimeout((()=>t.dispose()),0),i}finally{o.dispose()}}));var E9=function(t,i){return function(e,s){i(e,s,t)}};class A9 extends fX{constructor(t,i,e,s){super(10,i,t.item.anchor.range,e,s,!0),this.part=t}}let M9=class extends PX{constructor(t,i,e,s,n,o){super(t,i,e,s,o),this._resolverService=n,this.hoverOrdinal=6}suggestHoverAnchor(t){var i;if(!D9.get(this._editor))return null;if(6!==t.target.type)return null;const e=null===(i=t.target.detail.injectedText)||void 0===i?void 0:i.options;return e instanceof vL&&e.attachedData instanceof C9?new A9(e.attachedData,this,t.event.posx,t.event.posy):null}computeSync(){return[]}computeAsync(t,i,e){return t instanceof A9?new kc((async i=>{const{part:s}=t;if(await s.item.resolve(e),e.isCancellationRequested)return;let n,o;if("string"==typeof s.item.hint.tooltip?n=(new M_).appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(n=s.item.hint.tooltip),n&&i.emitOne(new BX(this,t.range,[n],!1,0)),y(s.item.hint.textEdits)&&i.emitOne(new BX(this,t.range,[(new M_).appendText(rt(0,"Double-click to insert"))],!1,10001)),"string"==typeof s.part.tooltip?o=(new M_).appendText(s.part.tooltip):s.part.tooltip&&(o=s.part.tooltip),o&&i.emitOne(new BX(this,t.range,[o],!1,1)),s.part.location||s.part.command){let e;const n=rt(0,"altKey"===this._editor.getOption(77)?St?"cmd + click":"ctrl + click":St?"option + click":"alt + click");s.part.location&&s.part.command?e=(new M_).appendText(rt(0,"Go to Definition ({0}), right click for more",n)):s.part.location?e=(new M_).appendText(rt(0,"Go to Definition ({0})",n)):s.part.command&&(e=new M_(`[${rt(0,"Execute Command")}](${r=s.part.command,ms.from({scheme:ka.command,path:r.id,query:r.arguments&&encodeURIComponent(JSON.stringify(r.arguments))}).toString()} "${s.part.command.title}") (${n})`,{isTrusted:!0})),e&&i.emitOne(new BX(this,t.range,[e],!1,1e4))}var r;const h=await this._resolveInlayHintLabelPartHover(s,e);for await(const t of h)i.emitOne(t)})):kc.EMPTY}async _resolveInlayHintLabelPartHover(t,i){if(!t.part.location)return kc.EMPTY;const{uri:e,range:s}=t.part.location,n=await this._resolverService.createModelReference(e);try{const e=n.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(e)?IX(this._languageFeaturesService.hoverProvider,e,new As(s.startLineNumber,s.startColumn),i).filter((t=>!L_(t.hover.contents))).map((i=>new BX(this,t.item.anchor.range,i.hover.contents,!1,2+i.ordinal))):kc.EMPTY}finally{n.dispose()}}};M9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([E9(1,yd),E9(2,nP),E9(3,pd),E9(4,gr),E9(5,gg)],M9),lu(D9.ID,D9,1),pX.register(M9);class L9{constructor(t,i,e){this._editRange=t,this._originalSelection=i,this._text=e}getEditOperations(t,i){i.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(t,i){const e=i.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new Ls(e.endLineNumber,Math.min(this._originalSelection.positionColumn,e.endColumn),e.endLineNumber,Math.min(this._originalSelection.positionColumn,e.endColumn)):new Ls(e.endLineNumber,e.endColumn-this._text.length,e.endLineNumber,e.endColumn)}}var F9;let T9=F9=class{static get(t){return t.getContribution(F9.ID)}constructor(t,i){this.editor=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(t,i){var e;null===(e=this.currentRequest)||void 0===e||e.cancel();const s=this.editor.getSelection(),n=this.editor.getModel();if(!n||!s)return;let o=s;if(o.startLineNumber!==o.endLineNumber)return;const r=new pK(this.editor,5),h=n.uri;return this.editorWorkerService.canNavigateValueSet(h)?(this.currentRequest=nc((()=>this.editorWorkerService.navigateValueSet(h,o,i))),this.currentRequest.then((i=>{var e;if(!i||!i.range||!i.value)return;if(!r.validate(this.editor))return;const s=Ms.lift(i.range);let n=i.range;const h=i.value.length-(o.endColumn-o.startColumn);n={startLineNumber:n.startLineNumber,startColumn:n.startColumn,endLineNumber:n.endLineNumber,endColumn:n.startColumn+i.value.length},h>1&&(o=new Ls(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn+h-1));const c=new L9(s,o,i.value);this.editor.pushUndoStop(),this.editor.executeCommand(t,c),this.editor.pushUndoStop(),this.decorations.set([{range:n,options:F9.DECORATION}]),null===(e=this.decorationRemover)||void 0===e||e.cancel(),this.decorationRemover=ac(350),this.decorationRemover.then((()=>this.decorations.clear())).catch(Pi)})).catch(Pi)):Promise.resolve(void 0)}};T9.ID="editor.contrib.inPlaceReplaceController",T9.DECORATION=bL.register({description:"in-place-replace",className:"valueSetReplacement"}),T9=F9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,lP)],T9),lu(T9.ID,T9,4),cu(class extends su{constructor(){super({id:"editor.action.inPlaceReplace.up",label:rt(0,"Replace with Previous Value"),alias:"Replace with Previous Value",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:3159,weight:100}})}run(t,i){const e=T9.get(i);return e?e.run(this.id,!1):Promise.resolve(void 0)}}),cu(class extends su{constructor(){super({id:"editor.action.inPlaceReplace.down",label:rt(0,"Replace with Next Value"),alias:"Replace with Next Value",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:3161,weight:100}})}run(t,i){const e=T9.get(i);return e?e.run(this.id,!0):Promise.resolve(void 0)}}),cu(class extends su{constructor(){super({id:"expandLineSelection",label:rt(0,"Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:2090}})}run(t,i,e){if(e=e||{},!i.hasModel())return;const s=i._getViewModel();s.model.pushStackElement(),s.setCursorStates(e.source,3,EC.expandLineSelection(s,s.getCursorStates())),s.revealPrimaryCursor(e.source,!0)}});class R9{constructor(t,i){this._selection=t,this._cursors=i,this._selectionId=null}getEditOperations(t,i){const e=function(t,i){i.sort(((t,i)=>t.lineNumber===i.lineNumber?t.column-i.column:t.lineNumber-i.lineNumber));for(let t=i.length-2;t>=0;t--)i[t].lineNumber===i[t+1].lineNumber&&i.splice(t,1);const e=[];let s=0,n=0;const o=i.length;for(let r=1,h=t.getLineCount();r<=h;r++){const h=t.getLineContent(r),c=h.length+1;let a=0;if(nt.tokenization.getLineTokens(i),getLanguageId:()=>t.getLanguageId(),getLanguageIdAtPosition:(i,e)=>t.getLanguageIdAtPosition(i,e)},getLineContent:null};if(s.startLineNumber===s.endLineNumber&&1===t.getLineMaxColumn(s.startLineNumber)){const e=s.startLineNumber,n=this._isMovingDown?e+1:e-1;1===t.getLineMaxColumn(n)?i.addEditOperation(new Ms(1,1,1,1),null):(i.addEditOperation(new Ms(e,1,e,1),t.getLineContent(n)),i.addEditOperation(new Ms(n,1,n,t.getLineMaxColumn(n)),null)),s=new Ls(n,1,n,1)}else{let e,o;if(this._isMovingDown){e=s.endLineNumber+1,o=t.getLineContent(e),i.addEditOperation(new Ms(e-1,t.getLineMaxColumn(e-1),e,t.getLineMaxColumn(e)),null);let a=o;if(this.shouldAutoIndent(t,s)){const l=this.matchEnterRule(t,h,n,e,s.startLineNumber-1);if(null!==l){const i=t9(l+X6(io(t.getLineContent(e)),n),n,r);a=i+this.trimStart(o)}else{c.getLineContent=i=>t.getLineContent(i===s.startLineNumber?e:i);const i=NC(this._autoIndent,c,t.getLanguageIdAtPosition(e,1),s.startLineNumber,h,this._languageConfigurationService);if(null!==i){const s=io(t.getLineContent(e)),h=X6(i,n);if(h!==X6(s,n)){const t=t9(h,n,r);a=t+this.trimStart(o)}}}i.addEditOperation(new Ms(s.startLineNumber,1,s.startLineNumber,1),a+"\n");const u=this.matchEnterRuleMovingDown(t,h,n,s.startLineNumber,e,a);if(null!==u)0!==u&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,u);else{c.getLineContent=i=>i===s.startLineNumber?a:t.getLineContent(i>=s.startLineNumber+1&&i<=s.endLineNumber+1?i-1:i);const o=NC(this._autoIndent,c,t.getLanguageIdAtPosition(e,1),s.startLineNumber+1,h,this._languageConfigurationService);if(null!==o){const e=io(t.getLineContent(s.startLineNumber)),h=X6(o,n),c=X6(e,n);h!==c&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,h-c)}}}else i.addEditOperation(new Ms(s.startLineNumber,1,s.startLineNumber,1),a+"\n")}else if(e=s.startLineNumber-1,o=t.getLineContent(e),i.addEditOperation(new Ms(e,1,e+1,1),null),i.addEditOperation(new Ms(s.endLineNumber,t.getLineMaxColumn(s.endLineNumber),s.endLineNumber,t.getLineMaxColumn(s.endLineNumber)),"\n"+o),this.shouldAutoIndent(t,s)){c.getLineContent=i=>t.getLineContent(i===e?s.startLineNumber:i);const o=this.matchEnterRule(t,h,n,s.startLineNumber,s.startLineNumber-2);if(null!==o)0!==o&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,o);else{const o=NC(this._autoIndent,c,t.getLanguageIdAtPosition(s.startLineNumber,1),e,h,this._languageConfigurationService);if(null!==o){const e=io(t.getLineContent(s.startLineNumber)),h=X6(o,n),c=X6(e,n);h!==c&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,h-c)}}}}this._selectionId=i.trackSelection(s)}buildIndentConverter(t,i,e){return{shiftIndent:s=>RC.shiftIndent(s,s.length+1,t,i,e),unshiftIndent:s=>RC.unshiftIndent(s,s.length+1,t,i,e)}}parseEnterResult(t,i,e,s,n){if(n){let o=n.indentation;n.indentAction===Ru.None||n.indentAction===Ru.Indent?o=n.indentation+n.appendText:n.indentAction===Ru.IndentOutdent?o=n.indentation:n.indentAction===Ru.Outdent&&(o=i.unshiftIndent(n.indentation)+n.appendText);const r=t.getLineContent(s);if(this.trimStart(r).indexOf(this.trimStart(o))>=0){const n=io(t.getLineContent(s));let r=io(o);const h=BC(t,s,this._languageConfigurationService);return null!==h&&2&h&&(r=i.unshiftIndent(r)),X6(r,e)-X6(n,e)}}return null}matchEnterRuleMovingDown(t,i,e,s,n,o){if(eo(o)>=0){const o=t.getLineMaxColumn(n),r=MC(this._autoIndent,t,new Ms(n,o,n,o),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,r)}{let n=s-1;for(;n>=1&&!(eo(t.getLineContent(n))>=0);)n--;if(n<1||s>t.getLineCount())return null;const o=t.getLineMaxColumn(n),r=MC(this._autoIndent,t,new Ms(n,o,n,o),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,r)}}matchEnterRule(t,i,e,s,n,o){let r=n;for(;r>=1;){let i;if(i=r===n&&void 0!==o?o:t.getLineContent(r),eo(i)>=0)break;r--}if(r<1||s>t.getLineCount())return null;const h=t.getLineMaxColumn(r),c=MC(this._autoIndent,t,new Ms(r,h,r,h),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,c)}trimStart(t){return t.replace(/^\s+/,"")}shouldAutoIndent(t,i){if(this._autoIndent<4)return!1;if(!t.tokenization.isCheapToTokenize(i.startLineNumber))return!1;const e=t.getLanguageIdAtPosition(i.startLineNumber,1);return e===t.getLanguageIdAtPosition(i.endLineNumber,1)&&null!==this._languageConfigurationService.getLanguageConfiguration(e).indentRulesSupport}getIndentEditsOfMovingBlock(t,i,e,s,n,o){for(let r=e.startLineNumber;r<=e.endLineNumber;r++){const h=io(t.getLineContent(r)),c=t9(X6(h,s)+o,s,n);c!==h&&(i.addEditOperation(new Ms(r,1,r,h.length+1),c),r===e.endLineNumber&&e.endColumn<=h.length+1&&""===c&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(t,i){let e=i.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(e=e.setEndPosition(e.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&e.startLineNumber=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,qd)],I9);class _9{static getCollator(){return _9._COLLATOR||(_9._COLLATOR=new Intl.Collator),_9._COLLATOR}constructor(t,i){this.selection=t,this.descending=i,this.selectionId=null}getEditOperations(t,i){const e=function(t,i,e){const s=N9(t,i,e);return s?rO.replace(new Ms(s.startLineNumber,1,s.endLineNumber,t.getLineMaxColumn(s.endLineNumber)),s.after.join("\n")):null}(t,this.selection,this.descending);e&&i.addEditOperation(e.range,e.text),this.selectionId=i.trackSelection(this.selection)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}static canRun(t,i,e){if(null===t)return!1;const s=N9(t,i,e);if(!s)return!1;for(let t=0,i=s.before.length;t=n)return null;const o=[];for(let i=s;i<=n;i++)o.push(t.getLineContent(i));let r=o.slice(0);return r.sort(_9.getCollator().compare),!0===e&&(r=r.reverse()),{startLineNumber:s,endLineNumber:n,before:o,after:r}}_9._COLLATOR=null;class B9 extends su{constructor(t,i){super(i),this.down=t}run(t,i){if(!i.hasModel())return;const e=i.getSelections().map(((t,i)=>({selection:t,index:i,ignore:!1})));e.sort(((t,i)=>Ms.compareRangesUsingStarts(t.selection,i.selection)));let s=e[0];for(let t=1;tnew As(t.positionLineNumber,t.positionColumn))));const n=i.getSelection();if(null===n)return;const o=new R9(n,s);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop()}}W9.ID="editor.action.trimTrailingWhitespace";class j9 extends su{run(t,i){if(!i.hasModel())return;const e=i.getSelection(),s=this._getRangesToDelete(i),n=[];for(let t=0,i=s.length-1;trO.replace(t,"")));i.pushUndoStop(),i.executeEdits(this.id,r,o),i.pushUndoStop()}}class z9 extends su{run(t,i){const e=i.getSelections();if(null===e)return;const s=i.getModel();if(null===s)return;const n=i.getOption(129),o=[];for(const t of e)if(t.isEmpty()){const e=t.getStartPosition(),r=i.getConfiguredWordAtPosition(e);if(!r)continue;const h=new Ms(e.lineNumber,r.startColumn,e.lineNumber,r.endColumn),c=s.getValueInRange(h);o.push(rO.replace(h,this._modifyText(c,n)))}else{const i=s.getValueInRange(t);o.push(rO.replace(t,this._modifyText(i,n)))}i.pushUndoStop(),i.executeEdits(this.id,o),i.pushUndoStop()}}class H9{constructor(t,i){this._pattern=t,this._flags=i,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(t){}}return this._actual}isSupported(){return null!==this.get()}}class V9 extends z9{constructor(){super({id:"editor.action.transformToTitlecase",label:rt(0,"Transform to Title Case"),alias:"Transform to Title Case",precondition:UC.writable})}_modifyText(t,i){const e=V9.titleBoundary.get();return e?t.toLocaleLowerCase().replace(e,(t=>t.toLocaleUpperCase())):t}}V9.titleBoundary=new H9("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class U9 extends z9{constructor(){super({id:"editor.action.transformToSnakecase",label:rt(0,"Transform to Snake Case"),alias:"Transform to Snake Case",precondition:UC.writable})}_modifyText(t,i){const e=U9.caseBoundary.get(),s=U9.singleLetters.get();return e&&s?t.replace(e,"$1_$2").replace(s,"$1_$2$3").toLocaleLowerCase():t}}U9.caseBoundary=new H9("(\\p{Ll})(\\p{Lu})","gmu"),U9.singleLetters=new H9("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");class q9 extends z9{constructor(){super({id:"editor.action.transformToCamelcase",label:rt(0,"Transform to Camel Case"),alias:"Transform to Camel Case",precondition:UC.writable})}_modifyText(t,i){const e=q9.wordBoundary.get();if(!e)return t;const s=t.split(e);return s.shift()+s.map((t=>t.substring(0,1).toLocaleUpperCase()+t.substring(1))).join("")}}q9.wordBoundary=new H9("[_\\s-]","gm");class K9 extends z9{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every((t=>t.isSupported()))}constructor(){super({id:"editor.action.transformToKebabcase",label:rt(0,"Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:UC.writable})}_modifyText(t,i){const e=K9.caseBoundary.get(),s=K9.singleLetters.get(),n=K9.underscoreBoundary.get();return e&&s&&n?t.replace(n,"$1-$3").replace(e,"$1-$2").replace(s,"$1-$2").toLocaleLowerCase():t}}K9.caseBoundary=new H9("(\\p{Ll})(\\p{Lu})","gmu"),K9.singleLetters=new H9("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),K9.underscoreBoundary=new H9("(\\S)(_)(\\S)","gm"),cu(class extends B9{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:rt(0,"Copy Line Up"),alias:"Copy Line Up",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:rt(0,"&&Copy Line Up"),order:1}})}}),cu(class extends B9{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:rt(0,"Copy Line Down"),alias:"Copy Line Down",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:rt(0,"Co&&py Line Down"),order:2}})}}),cu(class extends su{constructor(){super({id:"editor.action.duplicateSelection",label:rt(0,"Duplicate Selection"),alias:"Duplicate Selection",precondition:UC.writable,menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:rt(0,"&&Duplicate Selection"),order:5}})}run(t,i,e){if(!i.hasModel())return;const s=[],n=i.getSelections(),o=i.getModel();for(const t of n)if(t.isEmpty())s.push(new O9(t,!0));else{const i=new Ls(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn);s.push(new mC(i,o.getValueInRange(t)))}i.pushUndoStop(),i.executeCommands(this.id,s),i.pushUndoStop()}}),cu(class extends P9{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:rt(0,"Move Line Up"),alias:"Move Line Up",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:rt(0,"Mo&&ve Line Up"),order:3}})}}),cu(class extends P9{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:rt(0,"Move Line Down"),alias:"Move Line Down",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:rt(0,"Move &&Line Down"),order:4}})}}),cu(class extends $9{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:rt(0,"Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:UC.writable})}}),cu(class extends $9{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:rt(0,"Sort Lines Descending"),alias:"Sort Lines Descending",precondition:UC.writable})}}),cu(class extends su{constructor(){super({id:"editor.action.removeDuplicateLines",label:rt(0,"Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:UC.writable})}run(t,i){if(!i.hasModel())return;const e=i.getModel();if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return;const s=[],n=[];let o=0;for(const t of i.getSelections()){const i=new Set,r=[];for(let s=t.startLineNumber;s<=t.endLineNumber;s++){const t=e.getLineContent(s);i.has(t)||(r.push(t),i.add(t))}const h=new Ls(t.startLineNumber,1,t.endLineNumber,e.getLineMaxColumn(t.endLineNumber)),c=t.startLineNumber-o,a=new Ls(c,1,c+r.length-1,r[r.length-1].length);s.push(rO.replace(h,r.join("\n"))),n.push(a),o+=t.endLineNumber-t.startLineNumber+1-r.length}i.pushUndoStop(),i.executeEdits(this.id,s,n),i.pushUndoStop()}}),cu(W9),cu(class extends su{constructor(){super({id:"editor.action.deleteLines",label:rt(0,"Delete Line"),alias:"Delete Line",precondition:UC.writable,kbOpts:{kbExpr:UC.textInputFocus,primary:3113,weight:100}})}run(t,i){if(!i.hasModel())return;const e=this._getLinesToRemove(i),s=i.getModel();if(1===s.getLineCount()&&1===s.getLineMaxColumn(1))return;let n=0;const o=[],r=[];for(let t=0,i=e.length;t1&&(h-=1,a=s.getLineMaxColumn(h)),o.push(rO.replace(new Ls(h,a,c,l),"")),r.push(new Ls(h-n,i.positionColumn,h-n,i.positionColumn)),n+=i.endLineNumber-i.startLineNumber+1}i.pushUndoStop(),i.executeEdits(this.id,o,r),i.pushUndoStop()}_getLinesToRemove(t){const i=t.getSelections().map((t=>{let i=t.endLineNumber;return t.startLineNumbert.startLineNumber===i.startLineNumber?t.endLineNumber-i.endLineNumber:t.startLineNumber-i.startLineNumber));const e=[];let s=i[0];for(let t=1;t=i[t].startLineNumber?s.endLineNumber=i[t].endLineNumber:(e.push(s),s=i[t]);return e.push(s),e}}),cu(class extends su{constructor(){super({id:"editor.action.indentLines",label:rt(0,"Indent Line"),alias:"Indent Line",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:2142,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,PC.indent(e.cursorConfig,i.getModel(),i.getSelections())),i.pushUndoStop())}}),cu(class extends su{constructor(){super({id:"editor.action.outdentLines",label:rt(0,"Outdent Line"),alias:"Outdent Line",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:2140,weight:100}})}run(t,i){tS.Outdent.runEditorCommand(t,i,null)}}),cu(class extends su{constructor(){super({id:"editor.action.insertLineBefore",label:rt(0,"Insert Line Above"),alias:"Insert Line Above",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:3075,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,PC.lineInsertBefore(e.cursorConfig,i.getModel(),i.getSelections())))}}),cu(class extends su{constructor(){super({id:"editor.action.insertLineAfter",label:rt(0,"Insert Line Below"),alias:"Insert Line Below",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:2051,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,PC.lineInsertAfter(e.cursorConfig,i.getModel(),i.getSelections())))}}),cu(class extends j9{constructor(){super({id:"deleteAllLeft",label:rt(0,"Delete All Left"),alias:"Delete All Left",precondition:UC.writable,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(t,i){let e=null;const s=[];let n=0;return i.forEach((i=>{let o;if(1===i.endColumn&&n>0){const t=i.startLineNumber-n;o=new Ls(t,i.startColumn,t,i.startColumn)}else o=new Ls(i.startLineNumber,i.startColumn,i.startLineNumber,i.startColumn);n+=i.endLineNumber-i.startLineNumber,i.intersectRanges(t)?e=o:s.push(o)})),e&&s.unshift(e),s}_getRangesToDelete(t){const i=t.getSelections();if(null===i)return[];let e=i;const s=t.getModel();return null===s?[]:(e.sort(Ms.compareRangesUsingStarts),e=e.map((t=>{if(t.isEmpty()){if(1===t.startColumn){const i=Math.max(1,t.startLineNumber-1),e=1===t.startLineNumber?1:s.getLineLength(i)+1;return new Ms(i,e,t.startLineNumber,1)}return new Ms(t.startLineNumber,1,t.startLineNumber,t.startColumn)}return new Ms(t.startLineNumber,1,t.endLineNumber,t.endColumn)})),e)}}),cu(class extends j9{constructor(){super({id:"deleteAllRight",label:rt(0,"Delete All Right"),alias:"Delete All Right",precondition:UC.writable,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(t,i){let e=null;const s=[];for(let n=0,o=i.length,r=0;n{if(t.isEmpty()){const e=i.getLineMaxColumn(t.startLineNumber);return t.startColumn===e?new Ms(t.startLineNumber,t.startColumn,t.startLineNumber+1,1):new Ms(t.startLineNumber,t.startColumn,t.startLineNumber,e)}return t}));return s.sort(Ms.compareRangesUsingStarts),s}}),cu(class extends su{constructor(){super({id:"editor.action.joinLines",label:rt(0,"Join Lines"),alias:"Join Lines",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(t,i){const e=i.getSelections();if(null===e)return;let s=i.getSelection();if(null===s)return;e.sort(Ms.compareRangesUsingStarts);const n=[],o=e.reduce(((t,i)=>t.isEmpty()?t.endLineNumber===i.startLineNumber?(s.equalsSelection(t)&&(s=i),i):i.startLineNumber>t.endLineNumber+1?(n.push(t),i):new Ls(t.startLineNumber,t.startColumn,i.endLineNumber,i.endColumn):i.startLineNumber>t.endLineNumber?(n.push(t),i):new Ls(t.startLineNumber,t.startColumn,i.endLineNumber,i.endColumn)));n.push(o);const r=i.getModel();if(null===r)return;const h=[],c=[];let a=s,l=0;for(let t=0,i=n.length;t=1){let t=!0;""===g&&(t=!1),!t||" "!==g.charAt(g.length-1)&&"\t"!==g.charAt(g.length-1)||(t=!1,g=g.replace(/[\s\uFEFF\xA0]+$/g," "));const s=i.substr(e-1);g+=(t?" ":"")+s,f=t?s.length+1:s.length}else f=0}const m=new Ms(e,o,u,d);if(!m.isEmpty()){let t;i.isEmpty()?(h.push(rO.replace(m,g)),t=new Ls(m.startLineNumber-l,g.length-f+1,e-l,g.length-f+1)):i.startLineNumber===i.endLineNumber?(h.push(rO.replace(m,g)),t=new Ls(i.startLineNumber-l,i.startColumn,i.endLineNumber-l,i.endColumn)):(h.push(rO.replace(m,g)),t=new Ls(i.startLineNumber-l,i.startColumn,i.startLineNumber-l,g.length-p)),null!==Ms.intersectRanges(m,s)?a=t:c.push(t)}l+=m.endLineNumber-m.startLineNumber}c.unshift(a),i.pushUndoStop(),i.executeEdits(this.id,h,c),i.pushUndoStop()}}),cu(class extends su{constructor(){super({id:"editor.action.transpose",label:rt(0,"Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:UC.writable})}run(t,i){const e=i.getSelections();if(null===e)return;const s=i.getModel();if(null===s)return;const n=[];for(let t=0,i=e.length;t=r){if(o.lineNumber===s.getLineCount())continue;const t=new Ms(o.lineNumber,Math.max(1,o.column-1),o.lineNumber+1,1),i=s.getValueInRange(t).split("").reverse().join("");n.push(new gC(new Ls(o.lineNumber,Math.max(1,o.column-1),o.lineNumber+1,1),i))}else{const t=new Ms(o.lineNumber,Math.max(1,o.column-1),o.lineNumber,o.column+1),i=s.getValueInRange(t).split("").reverse().join("");n.push(new bC(t,i,new Ls(o.lineNumber,o.column+1,o.lineNumber,o.column+1)))}}i.pushUndoStop(),i.executeCommands(this.id,n),i.pushUndoStop()}}),cu(class extends z9{constructor(){super({id:"editor.action.transformToUppercase",label:rt(0,"Transform to Uppercase"),alias:"Transform to Uppercase",precondition:UC.writable})}_modifyText(t,i){return t.toLocaleUpperCase()}}),cu(class extends z9{constructor(){super({id:"editor.action.transformToLowercase",label:rt(0,"Transform to Lowercase"),alias:"Transform to Lowercase",precondition:UC.writable})}_modifyText(t,i){return t.toLocaleLowerCase()}}),U9.caseBoundary.isSupported()&&U9.singleLetters.isSupported()&&cu(U9),q9.wordBoundary.isSupported()&&cu(q9),V9.titleBoundary.isSupported()&&cu(V9),K9.isSupported()&&cu(K9);var G9,Z9=function(t,i){return function(e,s){i(e,s,t)}};const Q9=new ch("LinkedEditingInputVisible",!1);let J9=G9=class extends ie{static get(t){return t.getContribution(G9.ID)}constructor(t,i,e,s,n){super(),this.languageConfigurationService=s,this._syncRangesToken=0,this._localToDispose=this._register(new te),this._editor=t,this._providers=e.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=Q9.bindTo(i),this._debounceInformation=n.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new te),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequest=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel((()=>this.reinitialize(!0)))),this._register(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(69)||t.hasChanged(92))&&this.reinitialize(!1)}))),this._register(this._providers.onDidChange((()=>this.reinitialize(!1)))),this._register(this._editor.onDidChangeModelLanguage((()=>this.reinitialize(!0)))),this.reinitialize(!0)}reinitialize(t){const i=this._editor.getModel(),e=null!==i&&(this._editor.getOption(69)||this._editor.getOption(92))&&this._providers.has(i);if(e===this._enabled&&!t)return;if(this._enabled=e,this.clearRanges(),this._localToDispose.clear(),!e||null===i)return;this._localToDispose.add(ce.runAndSubscribe(i.onDidChangeLanguageConfiguration,(()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId()).getWordDefinition()})));const s=new hc(this._debounceInformation.get(i)),n=()=>{var t;this._rangeUpdateTriggerPromise=s.trigger((()=>this.updateRanges()),null!==(t=this._debounceDuration)&&void 0!==t?t:this._debounceInformation.get(i))},o=new hc(0),r=t=>{this._rangeSyncTriggerPromise=o.trigger((()=>this._syncRanges(t)))};this._localToDispose.add(this._editor.onDidChangeCursorPosition((()=>{n()}))),this._localToDispose.add(this._editor.onDidChangeModelContent((t=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const i=this._currentDecorations.getRange(0);if(i&&t.changes.every((t=>i.intersectRanges(t.range))))return void r(this._syncRangesToken)}n()}))),this._localToDispose.add({dispose:()=>{s.dispose(),o.dispose()}}),this.updateRanges()}_syncRanges(t){if(!this._editor.hasModel()||t!==this._syncRangesToken||0===this._currentDecorations.length)return;const i=this._editor.getModel(),e=this._currentDecorations.getRange(0);if(!e||e.startLineNumber!==e.endLineNumber)return this.clearRanges();const s=i.getValueInRange(e);if(this._currentWordPattern){const t=s.match(this._currentWordPattern);if((t?t[0].length:0)!==s.length)return this.clearRanges()}const n=[];for(let t=1,e=this._currentDecorations.length;t1)return void this.clearRanges();const e=this._editor.getModel(),s=e.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===s){if(i.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const t=this._currentDecorations.getRange(0);if(t&&t.containsPosition(i))return}}this.clearRanges(),this._currentRequestPosition=i,this._currentRequestModelVersion=s;const n=nc((async t=>{try{const o=new he(!1),r=await Y9(this._providers,e,i,t);if(this._debounceInformation.update(e,o.elapsed()),n!==this._currentRequest)return;if(this._currentRequest=null,s!==e.getVersionId())return;let h=[];(null==r?void 0:r.ranges)&&(h=r.ranges),this._currentWordPattern=(null==r?void 0:r.wordPattern)||this._languageWordPattern;let c=!1;for(let t=0,e=h.length;t({range:t,options:G9.DECORATION})));this._visibleContextKey.set(!0),this._currentDecorations.set(a),this._syncRangesToken++}catch(t){zi(t)||Pi(t),this._currentRequest!==n&&this._currentRequest||this.clearRanges()}}));return this._currentRequest=n,n}};function Y9(t,i,e,s){return uc(t.ordered(i).map((t=>async()=>{try{return await t.provideLinkedEditingRanges(i,e,s)}catch(t){return void $i(t)}})),(t=>!!t&&y(null==t?void 0:t.ranges)))}J9.ID="editor.contrib.linkedEditing",J9.DECORATION=bL.register({description:"linked-editing",stickiness:0,className:"linked-editing-decoration"}),J9=G9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Z9(1,ah),Z9(2,gg),Z9(3,qd),Z9(4,hR)],J9),hu(new(eu.bindToContribution(J9.get))({id:"cancelLinkedEditingInput",precondition:Q9,handler:t=>t.clearRanges(),kbOpts:{kbExpr:UC.editorTextFocus,weight:199,primary:9,secondary:[1033]}})),ow("editor.linkedEditingBackground",{dark:sg.fromHex("#f00").transparent(.3),light:sg.fromHex("#f00").transparent(.3),hcDark:sg.fromHex("#f00").transparent(.3),hcLight:sg.white},rt(0,"Background color when the editor auto renames on type.")),ru("_executeLinkedEditingProvider",((t,i,e)=>{const{linkedEditingRangeProvider:s}=t.get(gg);return Y9(s,i,e,xe.None)})),lu(J9.ID,J9,1),cu(class extends su{constructor(){super({id:"editor.action.linkedEditing",label:rt(0,"Start Linked Editing"),alias:"Start Linked Editing",precondition:zr.and(UC.writable,UC.hasRenameProvider),kbOpts:{kbExpr:UC.editorTextFocus,primary:3132,weight:100}})}runCommand(t,i){const e=t.get(fr),[s,n]=Array.isArray(i)&&i||[void 0,void 0];return ms.isUri(s)&&As.isIPosition(n)?e.openCodeEditor({resource:s},e.getActiveCodeEditor()).then((t=>{t&&(t.setPosition(n),t.invokeWithinContext((i=>(this.reportTelemetry(i,t),this.run(i,t)))))}),Pi):super.runCommand(t,i)}run(t,i){const e=J9.get(i);return e?Promise.resolve(e.updateRanges(!0)):Promise.resolve()}});class X9{constructor(t,i){this._link=t,this._provider=i}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(t){return this._link.url?this._link.url:"function"==typeof this._provider.resolveLink?Promise.resolve(this._provider.resolveLink(this._link,t)).then((i=>(this._link=i||this._link,this._link.url?this.resolve(t):Promise.reject(new Error("missing"))))):Promise.reject(new Error("missing"))}}class t7{constructor(t){this._disposables=new te;let i=[];for(const[e,s]of t){const t=e.links.map((t=>new X9(t,s)));i=t7._union(i,t),Qi(e)&&this._disposables.add(e)}this.links=i}dispose(){this._disposables.dispose(),this.links.length=0}static _union(t,i){const e=[];let s,n,o,r;for(s=0,o=0,n=t.length,r=i.length;sPromise.resolve(t.provideLinks(i,e)).then((i=>{i&&(s[n]=[i,t])}),$i)));return Promise.all(n).then((()=>{const t=new t7(w(s));return e.isCancellationRequested?(t.dispose(),new t7([])):t}))}Dr.registerCommand("_executeLinkProvider",(async(t,...i)=>{let[e,s]=i;K(e instanceof ms),"number"!=typeof s&&(s=0);const{linkProvider:n}=t.get(gg),o=t.get(pr).getModel(e);if(!o)return[];const r=await i7(n,o,xe.None);if(!r)return[];for(let t=0;tthis.computeLinksNow()),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const o=this._register(new _J(t));this._register(o.onMouseMoveOrRelevantKeyDown((([t,i])=>{this._onEditorMouseMove(t,i)}))),this._register(o.onExecute((t=>{this.onEditorMouseUp(t)}))),this._register(o.onCancel((()=>{this.cleanUpActiveLinkDecoration()}))),this._register(t.onDidChangeConfiguration((t=>{t.hasChanged(70)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))}))),this._register(t.onDidChangeModelContent((()=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))}))),this._register(t.onDidChangeModel((()=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)}))),this._register(t.onDidChangeModelLanguage((()=>{this.stop(),this.computeLinks.schedule(0)}))),this._register(this.providers.onDidChange((()=>{this.stop(),this.computeLinks.schedule(0)}))),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(70))return;const t=this.editor.getModel();if(!t.isTooLargeForSyncing()&&this.providers.has(t)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=nc((i=>i7(this.providers,t,i)));try{const i=new he(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(t,i.elapsed()),t.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){Pi(t)}finally{this.computePromise=null}}}updateDecorations(t){const i="altKey"===this.editor.getOption(77),e=[],s=Object.keys(this.currentOccurrences);for(const t of s)e.push(this.currentOccurrences[t].decorationId);const n=[];if(t)for(const e of t)n.push(h7.decoration(e,i));this.editor.changeDecorations((i=>{const s=i.deltaDecorations(e,n);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let i=0,e=s.length;i{i.activate(t,e),this.activeLinkDecorationId=i.decorationId}))}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const t="altKey"===this.editor.getOption(77);if(this.activeLinkDecorationId){const i=this.currentOccurrences[this.activeLinkDecorationId];i&&this.editor.changeDecorations((e=>{i.deactivate(e,t)})),this.activeLinkDecorationId=null}}onEditorMouseUp(t){if(!this.isEnabled(t))return;const i=this.getLinkOccurrence(t.target.position);i&&this.openLinkOccurrence(i,t.hasSideBySideModifier,!0)}openLinkOccurrence(t,i,e=!1){if(!this.openerService)return;const{link:s}=t;s.resolve(xe.None).then((t=>{if("string"==typeof t&&this.editor.hasModel()){const i=this.editor.getModel().uri;if(i.scheme===ka.file&&t.startsWith(`${ka.file}:`)){const e=ms.parse(t);if(e.scheme===ka.file){const s=hA(e);let n=null;s.startsWith("/./")?n=`.${s.substr(1)}`:s.startsWith("//./")&&(n=`.${s.substr(2)}`),n&&(t=pA(i,n))}}}return this.openerService.open(t,{openToSide:i,fromUserGesture:e,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})}),(t=>{const i=t instanceof Error?t.message:t;"invalid"===i?this.notificationService.warn(rt(0,"Failed to open this link because it is not well-formed: {0}",s.url.toString())):"missing"===i?this.notificationService.warn(rt(0,"Failed to open this link because its target is missing.")):Pi(t)}))}getLinkOccurrence(t){if(!this.editor.hasModel()||!t)return null;const i=this.editor.getModel().getDecorationsInRange({startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:t.lineNumber,endColumn:t.column},0,!0);for(const t of i){const i=this.currentOccurrences[t.id];if(i)return i}return null}isEnabled(t,i){return Boolean(6===t.target.type&&(t.hasTriggerModifier||i&&i.keyCodeIsTriggerKey))}stop(){var t;this.computeLinks.cancel(),this.activeLinksList&&(null===(t=this.activeLinksList)||void 0===t||t.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};n7.ID="editor.linkDetector",n7=e7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([s7(1,nP),s7(2,JF),s7(3,gg),s7(4,hR)],n7);const o7=bL.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),r7=bL.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"});class h7{static decoration(t,i){return{range:t.range,options:h7._getOptions(t,i,!1)}}static _getOptions(t,i,e){const s={...e?r7:o7};return s.hoverMessage=function(t,i){const e=t.url&&/^command:/i.test(t.url.toString()),s=t.tooltip?t.tooltip:rt(0,e?"Execute command":"Follow link"),n=rt(0,i?St?"cmd + click":"ctrl + click":St?"option + click":"alt + click");if(t.url){let i="";if(/^command:/i.test(t.url.toString())){const e=t.url.toString().match(/^command:([^?#]+)/);e&&(i=rt(0,"Execute command {0}",e[1]))}return new M_("",!0).appendLink(t.url.toString(!0).replace(/ /g,"%20"),s,i).appendMarkdown(` (${n})`)}return(new M_).appendText(`${s} (${n})`)}(t,i),s}constructor(t,i){this.link=t,this.decorationId=i}activate(t,i){t.changeDecorationOptions(this.decorationId,h7._getOptions(this.link,i,!0))}deactivate(t,i){t.changeDecorationOptions(this.decorationId,h7._getOptions(this.link,i,!1))}}lu(n7.ID,n7,1),cu(class extends su{constructor(){super({id:"editor.action.openLink",label:rt(0,"Open Link"),alias:"Open Link",precondition:void 0})}run(t,i){const e=n7.get(i);if(!e)return;if(!i.hasModel())return;const s=i.getSelections();for(const t of s){const i=e.getLinkOccurrence(t.getEndPosition());i&&e.openLinkOccurrence(i,!1)}}});class c7 extends ie{constructor(t){super(),this._editor=t,this._register(this._editor.onMouseDown((t=>{const i=this._editor.getOption(116);i>=0&&6===t.target.type&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})})))}}c7.ID="editor.contrib.longLinesHelper",lu(c7.ID,c7,2);const a7=ow("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},rt(0,"Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);ow("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},rt(0,"Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),ow("editor.wordHighlightTextBackground",{light:a7,dark:a7,hcDark:a7,hcLight:a7},rt(0,"Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const l7=ow("editor.wordHighlightBorder",{light:null,dark:null,hcDark:uw,hcLight:uw},rt(0,"Border color of a symbol during read-access, like reading a variable."));ow("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:uw,hcLight:uw},rt(0,"Border color of a symbol during write-access, like writing to a variable.")),ow("editor.wordHighlightTextBorder",{light:l7,dark:l7,hcDark:l7,hcLight:l7},rt(0,"Border color of a textual occurrence for a symbol."));const u7=ow("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},rt(0,"Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),d7=ow("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hcDark:"#C0A0C0CC",hcLight:"#C0A0C0CC"},rt(0,"Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),f7=ow("editorOverviewRuler.wordHighlightTextForeground",{dark:Hb,light:Hb,hcDark:Hb,hcLight:Hb},rt(0,"Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),p7=bL.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:Kk(d7),position:Mf.Center},minimap:{color:Kk(Ub),position:Ff.Inline}}),g7=bL.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:Kk(f7),position:Mf.Center},minimap:{color:Kk(Ub),position:Ff.Inline}}),m7=bL.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:Kk(Hb),position:Mf.Center},minimap:{color:Kk(Ub),position:Ff.Inline}}),w7=bL.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),v7=bL.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:Kk(u7),position:Mf.Center},minimap:{color:Kk(Ub),position:Ff.Inline}});function b7(t){return t?w7:m7}Jk(((t,i)=>{const e=t.getColor(yv);e&&i.addRule(`.monaco-editor .selectionHighlight { background-color: ${e.transparent(.5)}; }`)}));var y7;function k7(t,i){const e=i.filter((i=>!t.find((t=>t.equals(i)))));if(e.length>=1){const t=e.map((t=>`line ${t.viewState.position.lineNumber} column ${t.viewState.position.column}`)).join(", ");Rm(rt(0,1===e.length?"Cursor added: {0}":"Cursors added: {0}",t))}}class x7{constructor(t,i,e){this.selections=t,this.revealRange=i,this.revealScrollType=e}}class C7{static create(t,i){if(!t.hasModel())return null;const e=i.getState();if(!t.hasTextFocus()&&e.isRevealed&&e.searchString.length>0)return new C7(t,i,!1,e.searchString,e.wholeWord,e.matchCase,null);let s,n,o=!1;const r=t.getSelections();1===r.length&&r[0].isEmpty()?(o=!0,s=!0,n=!0):(s=e.wholeWord,n=e.matchCase);const h=t.getSelection();let c,a=null;if(h.isEmpty()){const i=t.getConfiguredWordAtPosition(h.getStartPosition());if(!i)return null;c=i.word,a=new Ls(h.startLineNumber,i.startColumn,h.startLineNumber,i.endColumn)}else c=t.getModel().getValueInRange(h).replace(/\r\n/g,"\n");return new C7(t,i,o,c,s,n,a)}constructor(t,i,e,s,n,o,r){this._editor=t,this.findController=i,this.isDisconnectedFromFindController=e,this.searchText=s,this.wholeWord=n,this.matchCase=o,this.currentMatch=r}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const t=this._getNextMatch();if(!t)return null;const i=this._editor.getSelections();return new x7(i.concat(t),t,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const t=this._getNextMatch();if(!t)return null;const i=this._editor.getSelections();return new x7(i.slice(0,i.length-1).concat(t),t,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const t=this.currentMatch;return this.currentMatch=null,t}this.findController.highlightFindOptions();const t=this._editor.getSelections(),i=t[t.length-1],e=this._editor.getModel().findNextMatch(this.searchText,i.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1);return e?new Ls(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const t=this._getPreviousMatch();if(!t)return null;const i=this._editor.getSelections();return new x7(i.concat(t),t,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const t=this._getPreviousMatch();if(!t)return null;const i=this._editor.getSelections();return new x7(i.slice(0,i.length-1).concat(t),t,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const t=this.currentMatch;return this.currentMatch=null,t}this.findController.highlightFindOptions();const t=this._editor.getSelections(),i=t[t.length-1],e=this._editor.getModel().findPreviousMatch(this.searchText,i.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1);return e?new Ls(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn):null}selectAll(t){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();return this._editor.getModel().findMatches(this.searchText,t||!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1,1073741824)}}class S7 extends ie{static get(t){return t.getContribution(S7.ID)}constructor(t){super(),this._sessionDispose=this._register(new te),this._editor=t,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(t){if(!this._session){const i=C7.create(this._editor,t);if(!i)return;this._session=i;const e={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(e.wholeWordOverride=1,e.matchCaseOverride=1,e.isRegexOverride=2),t.getState().change(e,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection((()=>{this._ignoreSelectionChange||this._endSession()}))),this._sessionDispose.add(this._editor.onDidBlurEditorText((()=>{this._endSession()}))),this._sessionDispose.add(t.getState().onFindReplaceStateChange((t=>{(t.matchCase||t.wholeWord)&&this._endSession()})))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const t={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(t,!1)}this._session=null}_setSelections(t){this._ignoreSelectionChange=!0,this._editor.setSelections(t),this._ignoreSelectionChange=!1}_expandEmptyToWord(t,i){if(!i.isEmpty())return i;const e=this._editor.getConfiguredWordAtPosition(i.getStartPosition());return e?new Ls(i.startLineNumber,e.startColumn,i.startLineNumber,e.endColumn):i}_applySessionResult(t){t&&(this._setSelections(t.selections),t.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(t.revealRange,t.revealScrollType))}getSession(t){return this._session}addSelectionToNextFindMatch(t){if(this._editor.hasModel()){if(!this._session){const i=this._editor.getSelections();if(i.length>1){const e=t.getState().matchCase;if(!M7(this._editor.getModel(),i,e)){const t=this._editor.getModel(),e=[];for(let s=0,n=i.length;s0&&e.isRegex){i=this._editor.getModel().findMatches(e.searchString,!e.searchScope||e.searchScope,e.isRegex,e.matchCase,e.wholeWord?this._editor.getOption(129):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(t),!this._session)return;i=this._session.selectAll(e.searchScope)}if(i.length>0){const t=this._editor.getSelection();for(let e=0,s=i.length;enew Ls(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn))))}}}S7.ID="editor.contrib.multiCursorController";class D7 extends su{run(t,i){const e=S7.get(i);if(!e)return;const s=i._getViewModel();if(s){const n=s.getCursorStates(),o=S4.get(i);if(o)this._run(e,o);else{const s=t.get(ur).createInstance(S4,i);this._run(e,s),s.dispose()}k7(n,s.getCursorStates())}}}class E7{constructor(t,i,e,s,n){this._model=t,this._searchText=i,this._matchCase=e,this._wordSeparators=s,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,n&&this._model===n._model&&this._searchText===n._searchText&&this._matchCase===n._matchCase&&this._wordSeparators===n._wordSeparators&&this._modelVersionId===n._modelVersionId&&(this._cachedFindMatches=n._cachedFindMatches)}findMatches(){return null===this._cachedFindMatches&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map((t=>t.range)),this._cachedFindMatches.sort(Ms.compareRangesUsingStarts)),this._cachedFindMatches}}let A7=y7=class extends ie{constructor(t,i){super(),this._languageFeaturesService=i,this.editor=t,this._isEnabled=t.getOption(107),this._decorations=t.createDecorationsCollection(),this.updateSoon=this._register(new pc((()=>this._update()),300)),this.state=null,this._register(t.onDidChangeConfiguration((()=>{this._isEnabled=t.getOption(107)}))),this._register(t.onDidChangeCursorSelection((t=>{this._isEnabled&&(t.selection.isEmpty()?3===t.reason?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())}))),this._register(t.onDidChangeModel((()=>{this._setState(null)}))),this._register(t.onDidChangeModelContent((()=>{this._isEnabled&&this.updateSoon.schedule()})));const e=S4.get(t);e&&this._register(e.getState().onFindReplaceStateChange((()=>{this._update()}))),this.updateSoon.schedule()}_update(){this._setState(y7._createState(this.state,this._isEnabled,this.editor))}static _createState(t,i,e){if(!i)return null;if(!e.hasModel())return null;const s=e.getSelection();if(s.startLineNumber!==s.endLineNumber)return null;const n=S7.get(e);if(!n)return null;const o=S4.get(e);if(!o)return null;let r=n.getSession(o);if(!r){const t=e.getSelections();if(t.length>1){const i=o.getState().matchCase;if(!M7(e.getModel(),t,i))return null}r=C7.create(e,o)}if(!r)return null;if(r.currentMatch)return null;if(/^[ \t]+$/.test(r.searchText))return null;if(r.searchText.length>200)return null;const h=o.getState(),c=h.matchCase;if(h.isRevealed){let t=h.searchString;c||(t=t.toLowerCase());let i=r.searchText;if(c||(i=i.toLowerCase()),t===i&&r.matchCase===h.matchCase&&r.wholeWord===h.wholeWord&&!h.isRegex)return null}return new E7(e.getModel(),r.searchText,r.matchCase,r.wholeWord?e.getOption(129):null,t)}_setState(t){if(this.state=t,!this.state)return void this._decorations.clear();if(!this.editor.hasModel())return;const i=this.editor.getModel();if(i.isTooLargeForTokenization())return;const e=this.state.findMatches(),s=this.editor.getSelections();s.sort(Ms.compareRangesUsingStarts);const n=[];for(let t=0,i=0,o=e.length,r=s.length;t=r)n.push(o),t++;else{const e=Ms.compareRangesUsingStarts(o,s[i]);e<0?(!s[i].isEmpty()&&Ms.areIntersecting(o,s[i])||n.push(o),t++):(e>0||t++,i++)}}const o="off"!==this.editor.getOption(80),r=this._languageFeaturesService.documentHighlightProvider.has(i)&&o,h=n.map((t=>({range:t,options:b7(r)})));this._decorations.set(h)}dispose(){this._setState(null),super.dispose()}};function M7(t,i,e){const s=L7(t,i[0],!e);for(let n=1,o=i.length;n=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,gg)],A7),lu(S7.ID,S7,4),lu(A7.ID,A7,1),cu(class extends su{constructor(){super({id:"editor.action.insertCursorAbove",label:rt(0,"Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:UC.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"&&Add Cursor Above"),order:2}})}run(t,i,e){if(!i.hasModel())return;let s=!0;e&&!1===e.logicalLine&&(s=!1);const n=i._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const o=n.getCursorStates();n.setCursorStates(e.source,3,EC.addCursorUp(n,o,s)),n.revealTopMostCursor(e.source),k7(o,n.getCursorStates())}}),cu(class extends su{constructor(){super({id:"editor.action.insertCursorBelow",label:rt(0,"Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:UC.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"A&&dd Cursor Below"),order:3}})}run(t,i,e){if(!i.hasModel())return;let s=!0;e&&!1===e.logicalLine&&(s=!1);const n=i._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const o=n.getCursorStates();n.setCursorStates(e.source,3,EC.addCursorDown(n,o,s)),n.revealBottomMostCursor(e.source),k7(o,n.getCursorStates())}}),cu(class extends su{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:rt(0,"Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:UC.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(t,i,e){if(!t.isEmpty()){for(let s=t.startLineNumber;s1&&e.push(new Ls(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn))}}run(t,i){if(!i.hasModel())return;const e=i.getModel(),s=i.getSelections(),n=i._getViewModel(),o=n.getCursorStates(),r=[];s.forEach((t=>this.getCursorsForSelection(t,e,r))),r.length>0&&i.setSelections(r),k7(o,n.getCursorStates())}}),cu(class extends D7{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:rt(0,"Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:2082,weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Add &&Next Occurrence"),order:5}})}_run(t,i){t.addSelectionToNextFindMatch(i)}}),cu(class extends D7{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:rt(0,"Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Add P&&revious Occurrence"),order:6}})}_run(t,i){t.addSelectionToPreviousFindMatch(i)}}),cu(class extends D7{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:rt(0,"Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:Ne(2089,2082),weight:100}})}_run(t,i){t.moveSelectionToNextFindMatch(i)}}),cu(class extends D7{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:rt(0,"Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(t,i){t.moveSelectionToPreviousFindMatch(i)}}),cu(class extends D7{constructor(){super({id:"editor.action.selectHighlights",label:rt(0,"Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:3114,weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Select All &&Occurrences"),order:7}})}_run(t,i){t.selectAll(i)}}),cu(class extends D7{constructor(){super({id:"editor.action.changeAll",label:rt(0,"Change All Occurrences"),alias:"Change All Occurrences",precondition:zr.and(UC.writable,UC.editorTextFocus),kbOpts:{kbExpr:UC.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(t,i){t.selectAll(i)}}),cu(class extends su{constructor(){super({id:"editor.action.addCursorsToBottom",label:rt(0,"Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getSelections(),s=i.getModel().getLineCount(),n=[];for(let t=e[0].startLineNumber;t<=s;t++)n.push(new Ls(t,e[0].startColumn,t,e[0].endColumn));const o=i._getViewModel(),r=o.getCursorStates();n.length>0&&i.setSelections(n),k7(r,o.getCursorStates())}}),cu(class extends su{constructor(){super({id:"editor.action.addCursorsToTop",label:rt(0,"Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getSelections(),s=[];for(let t=e[0].startLineNumber;t>=1;t--)s.push(new Ls(t,e[0].startColumn,t,e[0].endColumn));const n=i._getViewModel(),o=n.getCursorStates();s.length>0&&i.setSelections(s),k7(o,n.getCursorStates())}}),cu(class extends su{constructor(){super({id:"editor.action.focusNextCursor",label:rt(0,"Focus Next Cursor"),metadata:{description:rt(0,"Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(t,i,e){if(!i.hasModel())return;const s=i._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const n=Array.from(s.getCursorStates()),o=n.shift();o&&(n.push(o),s.setCursorStates(e.source,3,n),s.revealPrimaryCursor(e.source,!0),k7(n,s.getCursorStates()))}}),cu(class extends su{constructor(){super({id:"editor.action.focusPreviousCursor",label:rt(0,"Focus Previous Cursor"),metadata:{description:rt(0,"Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(t,i,e){if(!i.hasModel())return;const s=i._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const n=Array.from(s.getCursorStates()),o=n.pop();o&&(n.unshift(o),s.setCursorStates(e.source,3,n),s.revealPrimaryCursor(e.source,!0),k7(n,s.getCursorStates()))}});const F7={Visible:new ch("parameterHintsVisible",!1),MultipleSignatures:new ch("parameterHintsMultipleSignatures",!1)};async function T7(t,i,e,s,n){const o=t.ordered(i);for(const t of o)try{const o=await t.provideSignatureHelp(i,e,n,s);if(o)return o}catch(t){$i(t)}}var R7;Dr.registerCommand("_executeSignatureHelpProvider",(async(t,...i)=>{const[e,s,n]=i;K(ms.isUri(e)),K(As.isIPosition(s)),K("string"==typeof n||!n);const o=t.get(gg),r=await t.get(gr).createModelReference(e);try{const t=await T7(o.signatureHelpProvider,r.object.textEditorModel,As.lift(s),{triggerKind:Ws.Invoke,isRetrigger:!1,triggerCharacter:n},xe.None);if(!t)return;return setTimeout((()=>t.dispose()),0),t.value}finally{r.dispose()}})),function(t){t.Default={type:0},t.Pending=class{constructor(t,i){this.request=t,this.previouslyActiveHints=i,this.type=2}},t.Active=class{constructor(t){this.hints=t,this.type=1}}}(R7||(R7={}));class O7 extends ie{constructor(t,i,e=O7.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new fe),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=R7.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new ee),this.triggerChars=new bf,this.retriggerChars=new bf,this.triggerId=0,this.editor=t,this.providers=i,this.throttledDelayer=new hc(e),this._register(this.editor.onDidBlurEditorWidget((()=>this.cancel()))),this._register(this.editor.onDidChangeConfiguration((()=>this.onEditorConfigurationChange()))),this._register(this.editor.onDidChangeModel((()=>this.onModelChanged()))),this._register(this.editor.onDidChangeModelLanguage((()=>this.onModelChanged()))),this._register(this.editor.onDidChangeCursorSelection((t=>this.onCursorChange(t)))),this._register(this.editor.onDidChangeModelContent((()=>this.onModelContentChange()))),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType((t=>this.onDidType(t)))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(t){2===this._state.type&&this._state.request.cancel(),this._state=t}cancel(t=!1){this.state=R7.Default,this.throttledDelayer.cancel(),t||this._onChangedHints.fire(void 0)}trigger(t,i){const e=this.editor.getModel();if(!e||!this.providers.has(e))return;const s=++this.triggerId;this._pendingTriggers.push(t),this.throttledDelayer.trigger((()=>this.doTrigger(s)),i).catch(Pi)}next(){if(1!==this.state.type)return;const t=this.state.hints.signatures.length,i=this.state.hints.activeSignature,e=i%t==t-1,s=this.editor.getOption(85).cycle;!(t<2||e)||s?this.updateActiveSignature(e&&s?0:i+1):this.cancel()}previous(){if(1!==this.state.type)return;const t=this.state.hints.signatures.length,i=this.state.hints.activeSignature,e=0===i,s=this.editor.getOption(85).cycle;!(t<2||e)||s?this.updateActiveSignature(e&&s?t-1:i-1):this.cancel()}updateActiveSignature(t){1===this.state.type&&(this.state=new R7.Active({...this.state.hints,activeSignature:t}),this._onChangedHints.fire(this.state.hints))}async doTrigger(t){const i=1===this.state.type||2===this.state.type,e=this.getLastActiveHints();if(this.cancel(!0),0===this._pendingTriggers.length)return!1;const s=this._pendingTriggers.reduce(I7);this._pendingTriggers=[];const n={triggerKind:s.triggerKind,triggerCharacter:s.triggerCharacter,isRetrigger:i,activeSignatureHelp:e};if(!this.editor.hasModel())return!1;const o=this.editor.getModel(),r=this.editor.getPosition();this.state=new R7.Pending(nc((t=>T7(this.providers,o,r,n,t))),e);try{const i=await this.state.request;return t!==this.triggerId?(null==i||i.dispose(),!1):i&&i.value.signatures&&0!==i.value.signatures.length?(this.state=new R7.Active(i.value),this._lastSignatureHelpResult.value=i,this._onChangedHints.fire(this.state.hints),!0):(null==i||i.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1)}catch(i){return t===this.triggerId&&(this.state=R7.Default),Pi(i),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return 1===this.state.type||2===this.state.type||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const t=this.editor.getModel();if(t)for(const i of this.providers.ordered(t)){for(const t of i.signatureHelpTriggerCharacters||[])if(t.length){const i=t.charCodeAt(0);this.triggerChars.add(i),this.retriggerChars.add(i)}for(const t of i.signatureHelpRetriggerCharacters||[])t.length&&this.retriggerChars.add(t.charCodeAt(0))}}onDidType(t){if(!this.triggerOnType)return;const i=t.length-1,e=t.charCodeAt(i);(this.triggerChars.has(e)||this.isTriggered&&this.retriggerChars.has(e))&&this.trigger({triggerKind:Ws.TriggerCharacter,triggerCharacter:t.charAt(i)})}onCursorChange(t){"mouse"===t.source?this.cancel():this.isTriggered&&this.trigger({triggerKind:Ws.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:Ws.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(85).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}function I7(t,i){switch(i.triggerKind){case Ws.Invoke:return i;case Ws.ContentChange:return t;default:return i}}O7.DEFAULT_DELAY=120;var _7,N7=function(t,i){return function(e,s){i(e,s,t)}};const B7=$l,P7=_z("parameter-hints-next",Os.chevronDown,rt(0,"Icon for show next parameter hint.")),$7=_z("parameter-hints-previous",Os.chevronUp,rt(0,"Icon for show previous parameter hint."));let W7=_7=class extends ie{constructor(t,i,e,s,n){super(),this.editor=t,this.model=i,this.renderDisposeables=this._register(new te),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new eQ({editor:t},n,s)),this.keyVisible=F7.Visible.bindTo(e),this.keyMultipleSignatures=F7.MultipleSignatures.bindTo(e)}createParameterHintDOMNodes(){const t=B7(".editor-widget.parameter-hints-widget"),i=Ol(t,B7(".phwrapper"));i.tabIndex=-1;const e=Ol(i,B7(".controls")),s=Ol(e,B7(".button"+Cr.asCSSSelector($7))),n=Ol(e,B7(".overloads")),o=Ol(e,B7(".button"+Cr.asCSSSelector(P7)));this._register(Va(s,"click",(t=>{Fl(t),this.previous()}))),this._register(Va(o,"click",(t=>{Fl(t),this.next()})));const r=B7(".body"),h=new Sk(r,{alwaysConsumeMouseWheel:!0});this._register(h),i.appendChild(h.getDomNode());const c=Ol(r,B7(".signature")),a=Ol(r,B7(".docs"));t.style.userSelect="text",this.domNodes={element:t,signature:c,overloads:n,docs:a,scrollbar:h},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection((()=>{this.visible&&this.editor.layoutContentWidget(this)})));const l=()=>{if(!this.domNodes)return;const t=this.editor.getOption(50);this.domNodes.element.style.fontSize=`${t.fontSize}px`,this.domNodes.element.style.lineHeight=""+t.lineHeight/t.fontSize};l(),this._register(ce.chain(this.editor.onDidChangeConfiguration.bind(this.editor),(t=>t.filter((t=>t.hasChanged(50)))))(l)),this._register(this.editor.onDidLayoutChange((()=>this.updateMaxHeight()))),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout((()=>{var t;null===(t=this.domNodes)||void 0===t||t.element.classList.add("visible")}),100),this.editor.layoutContentWidget(this))}hide(){var t;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,null===(t=this.domNodes)||void 0===t||t.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(t){var i;if(this.renderDisposeables.clear(),!this.domNodes)return;const e=t.signatures.length>1;this.domNodes.element.classList.toggle("multiple",e),this.keyMultipleSignatures.set(e),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const s=t.signatures[t.activeSignature];if(!s)return;const n=Ol(this.domNodes.signature,B7(".code")),o=this.editor.getOption(50);n.style.fontSize=`${o.fontSize}px`,n.style.fontFamily=o.fontFamily;const r=null!==(i=s.activeParameter)&&void 0!==i?i:t.activeParameter;s.parameters.length>0?this.renderParameters(n,s,r):Ol(n,B7("span")).textContent=s.label;const h=s.parameters[r];if(null==h?void 0:h.documentation){const t=B7("span.documentation");if("string"==typeof h.documentation)t.textContent=h.documentation;else{const i=this.renderMarkdownDocs(h.documentation);t.appendChild(i.element)}Ol(this.domNodes.docs,B7("p",{},t))}if(void 0===s.documentation);else if("string"==typeof s.documentation)Ol(this.domNodes.docs,B7("p",{},s.documentation));else{const t=this.renderMarkdownDocs(s.documentation);Ol(this.domNodes.docs,t.element)}const c=this.hasDocs(s,h);if(this.domNodes.signature.classList.toggle("has-docs",c),this.domNodes.docs.classList.toggle("empty",!c),this.domNodes.overloads.textContent=String(t.activeSignature+1).padStart(t.signatures.length.toString().length,"0")+"/"+t.signatures.length,h){let t="";const i=s.parameters[r];t=Array.isArray(i.label)?s.label.substring(i.label[0],i.label[1]):i.label,i.documentation&&(t+="string"==typeof i.documentation?`, ${i.documentation}`:`, ${i.documentation.value}`),s.documentation&&(t+="string"==typeof s.documentation?`, ${s.documentation}`:`, ${s.documentation.value}`),this.announcedLabel!==t&&(Tm(rt(0,"{0}, hint",t)),this.announcedLabel=t)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(t){const i=this.renderDisposeables.add(this.markdownRenderer.render(t,{asyncRenderCallback:()=>{var t;null===(t=this.domNodes)||void 0===t||t.scrollbar.scanDomNode()}}));return i.element.classList.add("markdown-docs"),i}hasDocs(t,i){return!!(i&&"string"==typeof i.documentation&&G(i.documentation).length>0||i&&"object"==typeof i.documentation&&G(i.documentation).value.length>0||t.documentation&&"string"==typeof t.documentation&&G(t.documentation).length>0||t.documentation&&"object"==typeof t.documentation&&G(t.documentation.value).length>0)}renderParameters(t,i,e){const[s,n]=this.getParameterLabelOffsets(i,e),o=document.createElement("span");o.textContent=i.label.substring(0,s);const r=document.createElement("span");r.textContent=i.label.substring(s,n),r.className="parameter active";const h=document.createElement("span");h.textContent=i.label.substring(n),Ol(t,o,r,h)}getParameterLabelOffsets(t,i){const e=t.parameters[i];if(e){if(Array.isArray(e.label))return e.label;if(e.label.length){const i=new RegExp(`(\\W|^)${Gn(e.label)}(?=\\W|$)`,"g");i.test(t.label);const s=i.lastIndex-e.label.length;return s>=0?[s,i.lastIndex]:[0,0]}return[0,0]}return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return _7.ID}updateMaxHeight(){if(!this.domNodes)return;const t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}};W7.ID="editor.widget.parameterHintsWidget",W7=_7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([N7(2,ah),N7(3,nP),N7(4,yd)],W7),ow("editorHoverWidget.highlightForeground",{dark:sb,light:sb,hcDark:sb,hcLight:sb},rt(0,"Foreground color of the active item in the parameter hint."));var j7,z7=function(t,i){return function(e,s){i(e,s,t)}};let H7=j7=class extends ie{static get(t){return t.getContribution(j7.ID)}constructor(t,i,e){super(),this.editor=t,this.model=this._register(new O7(t,e.signatureHelpProvider)),this._register(this.model.onChangedHints((t=>{var i;t?(this.widget.value.show(),this.widget.value.render(t)):null===(i=this.widget.rawValue)||void 0===i||i.hide()}))),this.widget=new zn((()=>this._register(i.createInstance(W7,this.editor,this.model))))}cancel(){this.model.cancel()}previous(){var t;null===(t=this.widget.rawValue)||void 0===t||t.previous()}next(){var t;null===(t=this.widget.rawValue)||void 0===t||t.next()}trigger(t){this.model.trigger(t,0)}};H7.ID="editor.controller.parameterHints",H7=j7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([z7(1,ur),z7(2,gg)],H7),lu(H7.ID,H7,2),cu(class extends su{constructor(){super({id:"editor.action.triggerParameterHints",label:rt(0,"Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:UC.hasSignatureHelpProvider,kbOpts:{kbExpr:UC.editorTextFocus,primary:3082,weight:100}})}run(t,i){const e=H7.get(i);null==e||e.trigger({triggerKind:Ws.Invoke})}});const V7=eu.bindToContribution(H7.get);hu(new V7({id:"closeParameterHints",precondition:F7.Visible,handler:t=>t.cancel(),kbOpts:{weight:175,kbExpr:UC.focus,primary:9,secondary:[1033]}})),hu(new V7({id:"showPrevParameterHint",precondition:zr.and(F7.Visible,F7.MultipleSignatures),handler:t=>t.previous(),kbOpts:{weight:175,kbExpr:UC.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),hu(new V7({id:"showNextParameterHint",precondition:zr.and(F7.Visible,F7.MultipleSignatures),handler:t=>t.next(),kbOpts:{weight:175,kbExpr:UC.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var U7=function(t,i){return function(e,s){i(e,s,t)}};const q7=new ch("renameInputVisible",!1,rt(0,"Whether the rename input widget is visible"));let K7=class{constructor(t,i,e,s,n){this._editor=t,this._acceptKeybindings=i,this._themeService=e,this._keybindingService=s,this._disposables=new te,this.allowEditorOverflow=!0,this._visibleContextKey=q7.bindTo(n),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._updateFont()}))),this._disposables.add(e.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._input=document.createElement("input"),this._input.className="rename-input",this._input.type="text",this._input.setAttribute("aria-label",rt(0,"Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._input),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(t){var i,e,s,n;if(!this._input||!this._domNode)return;const o=t.getColor(fw),r=t.getColor(pw);this._domNode.style.backgroundColor=String(null!==(i=t.getColor(nv))&&void 0!==i?i:""),this._domNode.style.boxShadow=o?` 0 0 8px 2px ${o}`:"",this._domNode.style.border=r?`1px solid ${r}`:"",this._domNode.style.color=String(null!==(e=t.getColor(mw))&&void 0!==e?e:""),this._input.style.backgroundColor=String(null!==(s=t.getColor(gw))&&void 0!==s?s:"");const h=t.getColor(ww);this._input.style.borderWidth=h?"1px":"0px",this._input.style.borderStyle=h?"solid":"none",this._input.style.borderColor=null!==(n=null==h?void 0:h.toString())&&void 0!==n?n:"none"}_updateFont(){if(!this._input||!this._label)return;const t=this._editor.getOption(50);this._input.style.fontFamily=t.fontFamily,this._input.style.fontWeight=t.fontWeight,this._input.style.fontSize=`${t.fontSize}px`,this._label.style.fontSize=.8*t.fontSize+"px"}getPosition(){return this._visible?{position:this._position,preference:[2,1]}:null}beforeRender(){var t,i;const[e,s]=this._acceptKeybindings;return this._label.innerText=rt(0,"{0} to Rename, {1} to Preview",null===(t=this._keybindingService.lookupKeybinding(e))||void 0===t?void 0:t.getLabel(),null===(i=this._keybindingService.lookupKeybinding(s))||void 0===i?void 0:i.getLabel()),null}afterRender(t){t||this.cancelInput(!0)}acceptInput(t){var i;null===(i=this._currentAcceptInput)||void 0===i||i.call(this,t)}cancelInput(t){var i;null===(i=this._currentCancelInput)||void 0===i||i.call(this,t)}getInput(t,i,e,s,n,o){this._domNode.classList.toggle("preview",n),this._position=new As(t.startLineNumber,t.startColumn),this._input.value=i,this._input.setAttribute("selectionStart",e.toString()),this._input.setAttribute("selectionEnd",s.toString()),this._input.size=Math.max(1.1*(t.endColumn-t.startColumn),20);const r=new te;return new Promise((t=>{this._currentCancelInput=i=>(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,t(i),!0),this._currentAcceptInput=e=>{0!==this._input.value.trim().length&&this._input.value!==i?(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,t({newName:this._input.value,wantsPreview:n&&e})):this.cancelInput(!0)},r.add(o.onCancellationRequested((()=>this.cancelInput(!0)))),r.add(this._editor.onDidBlurEditorWidget((()=>{var t;return this.cancelInput(!(null===(t=this._domNode)||void 0===t?void 0:t.ownerDocument.hasFocus()))}))),this._show()})).finally((()=>{r.dispose(),this._hide()}))}_show(){this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout((()=>{this._input.focus(),this._input.setSelectionRange(parseInt(this._input.getAttribute("selectionStart")),parseInt(this._input.getAttribute("selectionEnd")))}),100)}_hide(){this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}};K7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([U7(2,qk),U7(3,Yx),U7(4,ah)],K7);var G7,Z7=function(t,i){return function(e,s){i(e,s,t)}};class Q7{constructor(t,i,e){this.model=t,this.position=i,this._providerRenameIdx=0,this._providers=e.ordered(t)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(t){const i=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?i.join("\n"):void 0}:{range:Ms.fromPositions(this.position),text:"",rejectReason:i.length>0?i.join("\n"):void 0}}async provideRenameEdits(t,i){return this._provideRenameEdits(t,this._providerRenameIdx,[],i)}async _provideRenameEdits(t,i,e,s){const n=this._providers[i];if(!n)return{edits:[],rejectReason:e.join("\n")};const o=await n.provideRenameEdits(this.model,this.position,t,s);return o?o.rejectReason?this._provideRenameEdits(t,i+1,e.concat(o.rejectReason),s):o:this._provideRenameEdits(t,i+1,e.concat(rt(0,"No result.")),s)}}let J7=G7=class{static get(t){return t.getContribution(G7.ID)}constructor(t,i,e,s,n,o,r,h){this.editor=t,this._instaService=i,this._notificationService=e,this._bulkEditService=s,this._progressService=n,this._logService=o,this._configService=r,this._languageFeaturesService=h,this._disposableStore=new te,this._cts=new Se,this._renameInputField=this._disposableStore.add(this._instaService.createInstance(K7,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var t,i;if(this._cts.dispose(!0),this._cts=new Se,!this.editor.hasModel())return;const e=this.editor.getPosition(),s=new Q7(this.editor.getModel(),e,this._languageFeaturesService.renameProvider);if(!s.hasProvider())return;const n=new gK(this.editor,5,void 0,this._cts.token);let o;try{const t=s.resolveRenameLocation(n.token);this._progressService.showWhile(t,250),o=await t}catch(i){return void(null===(t=hQ.get(this.editor))||void 0===t||t.showMessage(i||rt(0,"An unknown error occurred while resolving rename location"),e))}finally{n.dispose()}if(!o)return;if(o.rejectReason)return void(null===(i=hQ.get(this.editor))||void 0===i||i.showMessage(o.rejectReason,e));if(n.token.isCancellationRequested)return;const r=new gK(this.editor,5,o.range,this._cts.token),h=this.editor.getSelection();let c=0,a=o.text.length;Ms.isEmpty(h)||Ms.spansMultipleLines(h)||!Ms.containsRange(o.range,h)||(c=Math.max(0,h.startColumn-o.range.startColumn),a=Math.min(o.range.endColumn,h.endColumn)-o.range.startColumn);const l=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),u=await this._renameInputField.getInput(o.range,o.text,c,a,l,r.token);if("boolean"==typeof u)return u&&this.editor.focus(),void r.dispose();this.editor.focus();const d=oc(s.provideRenameEdits(u.newName,r.token),r.token).then((async t=>{t&&this.editor.hasModel()&&(t.rejectReason?this._notificationService.info(t.rejectReason):(this.editor.setSelection(Ms.fromPositions(this.editor.getSelection().getPosition())),this._bulkEditService.apply(t,{editor:this.editor,showPreview:u.wantsPreview,label:rt(0,"Renaming '{0}' to '{1}'",null==o?void 0:o.text,u.newName),code:"undoredo.rename",quotableLabel:rt(0,"Renaming {0} to {1}",null==o?void 0:o.text,u.newName),respectAutoSaveConfig:!0}).then((t=>{t.ariaSummary&&Tm(rt(0,"Successfully renamed '{0}' to '{1}'. Summary: {2}",o.text,u.newName,t.ariaSummary))})).catch((t=>{this._notificationService.error(rt(0,"Rename failed to apply edits")),this._logService.error(t)}))))}),(t=>{this._notificationService.error(rt(0,"Rename failed to compute edits")),this._logService.error(t)})).finally((()=>{r.dispose()}));return this._progressService.showWhile(d,250),d}acceptRenameInput(t){this._renameInputField.acceptInput(t)}cancelRenameInput(){this._renameInputField.cancelInput(!0)}};J7.ID="editor.contrib.renameController",J7=G7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Z7(1,ur),Z7(2,JF),Z7(3,QR),Z7(4,IO),Z7(5,jh),Z7(6,fg),Z7(7,gg)],J7),lu(J7.ID,J7,4),cu(class extends su{constructor(){super({id:"editor.action.rename",label:rt(0,"Rename Symbol"),alias:"Rename Symbol",precondition:zr.and(UC.writable,UC.hasRenameProvider),kbOpts:{kbExpr:UC.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(t,i){const e=t.get(fr),[s,n]=Array.isArray(i)&&i||[void 0,void 0];return ms.isUri(s)&&As.isIPosition(n)?e.openCodeEditor({resource:s},e.getActiveCodeEditor()).then((t=>{t&&(t.setPosition(n),t.invokeWithinContext((i=>(this.reportTelemetry(i,t),this.run(i,t)))))}),Pi):super.runCommand(t,i)}run(t,i){const e=J7.get(i);return e?e.run():Promise.resolve()}});const Y7=eu.bindToContribution(J7.get);function X7(t){const i=new Uint32Array(function(t){let i=0;if(i+=2,"full"===t.type)i+=1+t.data.length;else{i+=1,i+=3*t.deltas.length;for(const e of t.deltas)e.data&&(i+=e.data.length)}return i}(t));let e=0;if(i[e++]=t.id,"full"===t.type)i[e++]=1,i[e++]=t.data.length,i.set(t.data,e),e+=t.data.length;else{i[e++]=2,i[e++]=t.deltas.length;for(const s of t.deltas)i[e++]=s.start,i[e++]=s.deleteCount,s.data?(i[e++]=s.data.length,i.set(s.data,e),e+=s.data.length):i[e++]=0}return function(t){const i=new Uint8Array(t.buffer,t.byteOffset,4*t.length);return Pt()||function(t){for(let i=0,e=t.length;it.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:zr.and(UC.focus,zr.not("isComposing")),primary:3}})),hu(new Y7({id:"acceptRenameInputWithPreview",precondition:zr.and(q7,zr.has("config.editor.rename.enablePreview")),handler:t=>t.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:zr.and(UC.focus,zr.not("isComposing")),primary:1027}})),hu(new Y7({id:"cancelRenameInput",precondition:q7,handler:t=>t.cancelRenameInput(),kbOpts:{weight:199,kbExpr:UC.focus,primary:9,secondary:[1033]}})),ru("_executeDocumentRenameProvider",(function(t,i,e,...s){const[n]=s;K("string"==typeof n);const{renameProvider:o}=t.get(gg);return async function(t,i,e,s){const n=new Q7(i,e,t),o=await n.resolveRenameLocation(xe.None);return(null==o?void 0:o.rejectReason)?{edits:[],rejectReason:o.rejectReason}:n.provideRenameEdits(s,xe.None)}(o,i,e,n)})),ru("_executePrepareRename",(async function(t,i,e){const{renameProvider:s}=t.get(gg),n=new Q7(i,e,s),o=await n.resolveRenameLocation(xe.None);if(null==o?void 0:o.rejectReason)throw new Error(o.rejectReason);return o})),Dh.as(Md).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:rt(0,"Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});class e8{constructor(t,i,e){this.provider=t,this.tokens=i,this.error=e}}function s8(t,i){return t.has(i)}async function n8(t,i,e,s,n){const o=function(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:[]}(t,i),r=await Promise.all(o.map((async t=>{let o,r=null;try{o=await t.provideDocumentSemanticTokens(i,t===e?s:null,n)}catch(t){r=t,o=null}return o&&(t8(o)||i8(o))||(o=null),new e8(t,o,r)})));for(const t of r){if(t.error)throw t.error;if(t.tokens)return t}return r.length>0?r[0]:null}class o8{constructor(t,i){this.provider=t,this.tokens=i}}function r8(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:[]}async function h8(t,i,e,s){const n=r8(t,i),o=await Promise.all(n.map((async t=>{let n;try{n=await t.provideDocumentRangeSemanticTokens(i,e,s)}catch(t){$i(t),n=null}return n&&t8(n)||(n=null),new o8(t,n)})));for(const t of o)if(t.tokens)return t;return o.length>0?o[0]:null}Dr.registerCommand("_provideDocumentSemanticTokensLegend",(async(t,...i)=>{const[e]=i;K(e instanceof ms);const s=t.get(pr).getModel(e);if(!s)return;const{documentSemanticTokensProvider:n}=t.get(gg),o=function(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:null}(n,s);return o?o[0].getLegend():t.get(Sr).executeCommand("_provideDocumentRangeSemanticTokensLegend",e)})),Dr.registerCommand("_provideDocumentSemanticTokens",(async(t,...i)=>{const[e]=i;K(e instanceof ms);const s=t.get(pr).getModel(e);if(!s)return;const{documentSemanticTokensProvider:n}=t.get(gg);if(!s8(n,s))return t.get(Sr).executeCommand("_provideDocumentRangeSemanticTokens",e,s.getFullModelRange());const o=await n8(n,s,null,null,xe.None);if(!o)return;const{provider:r,tokens:h}=o;if(!h||!t8(h))return;const c=X7({id:0,type:"full",data:h.data});return h.resultId&&r.releaseDocumentSemanticTokens(h.resultId),c})),Dr.registerCommand("_provideDocumentRangeSemanticTokensLegend",(async(t,...i)=>{const[e,s]=i;K(e instanceof ms);const n=t.get(pr).getModel(e);if(!n)return;const{documentRangeSemanticTokensProvider:o}=t.get(gg),r=r8(o,n);if(0===r.length)return;if(1===r.length)return r[0].getLegend();if(!s||!Ms.isIRange(s))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const h=await h8(o,n,Ms.lift(s),xe.None);return h?h.provider.getLegend():void 0})),Dr.registerCommand("_provideDocumentRangeSemanticTokens",(async(t,...i)=>{const[e,s]=i;K(e instanceof ms),K(Ms.isIRange(s));const n=t.get(pr).getModel(e);if(!n)return;const{documentRangeSemanticTokensProvider:o}=t.get(gg),r=await h8(o,n,Ms.lift(s),xe.None);return r&&r.tokens?X7({id:0,type:"full",data:r.tokens.data}):void 0}));const c8="editor.semanticHighlighting";function a8(t,i,e){var s;const n=null===(s=e.getValue(c8,{overrideIdentifier:t.getLanguageId(),resource:t.uri}))||void 0===s?void 0:s.enabled;return"boolean"==typeof n?n:i.getColorTheme().semanticHighlighting}var l8,u8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},d8=function(t,i){return function(e,s){i(e,s,t)}};let f8=class extends ie{constructor(t,i,e,s,n,o){super(),this._watchers=Object.create(null);const r=i=>{this._watchers[i.uri.toString()]=new p8(i,t,e,n,o)},h=(t,i)=>{i.dispose(),delete this._watchers[t.uri.toString()]},c=()=>{for(const t of i.getModels()){const i=this._watchers[t.uri.toString()];a8(t,e,s)?i||r(t):i&&h(t,i)}};this._register(i.onModelAdded((t=>{a8(t,e,s)&&r(t)}))),this._register(i.onModelRemoved((t=>{const i=this._watchers[t.uri.toString()];i&&h(t,i)}))),this._register(s.onDidChangeConfiguration((t=>{t.affectsConfiguration(c8)&&c()}))),this._register(e.onDidColorThemeChange(c))}dispose(){for(const t of Object.values(this._watchers))t.dispose();super.dispose()}};f8=u8([d8(0,yR),d8(1,pr),d8(2,qk),d8(3,pd),d8(4,hR),d8(5,gg)],f8);let p8=l8=class extends ie{constructor(t,i,e,s,n){super(),this._semanticTokensStylingService=i,this._isDisposed=!1,this._model=t,this._provider=n.documentSemanticTokensProvider,this._debounceInformation=s.for(this._provider,"DocumentSemanticTokens",{min:l8.REQUEST_MIN_DELAY,max:l8.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new pc((()=>this._fetchDocumentSemanticTokensNow()),l8.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent((()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(this._model.onDidChangeAttached((()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(this._model.onDidChangeLanguage((()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)})));const o=()=>{Ji(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const i of this._provider.all(t))"function"==typeof i.onDidChange&&this._documentProvidersChangeListeners.push(i.onDidChange((()=>{this._currentDocumentRequestCancellationTokenSource?this._providersChangedDuringRequest=!0:this._fetchDocumentSemanticTokens.schedule(0)})))};o(),this._register(this._provider.onDidChange((()=>{o(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(e.onDidColorThemeChange((()=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),Ji(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!s8(this._provider,this._model))return void(this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1));if(!this._model.isAttachedToEditor())return;const t=new Se,i=n8(this._provider,this._model,this._currentDocumentResponse?this._currentDocumentResponse.provider:null,this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,t.token);this._currentDocumentRequestCancellationTokenSource=t,this._providersChangedDuringRequest=!1;const e=[],s=this._model.onDidChangeContent((t=>{e.push(t)})),n=new he(!1);i.then((t=>{if(this._debounceInformation.update(this._model,n.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),t){const{provider:i,tokens:s}=t,n=this._semanticTokensStylingService.getStyling(i);this._setDocumentSemanticTokens(i,s||null,n,e)}else this._setDocumentSemanticTokens(null,null,null,e)}),(t=>{t&&(zi(t)||"string"==typeof t.message&&-1!==t.message.indexOf("busy"))||Pi(t),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),(e.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))}))}static _copy(t,i,e,s,n){n=Math.min(n,e.length-s,t.length-i);for(let o=0;o{(s.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed)t&&i&&t.releaseDocumentSemanticTokens(i.resultId);else if(t&&e){if(!i)return this._model.tokenization.setSemanticTokens(null,!0),void o();if(i8(i)){if(!n)return void this._model.tokenization.setSemanticTokens(null,!0);if(0===i.edits.length)i={resultId:i.resultId,data:n.data};else{let t=0;for(const e of i.edits)t+=(e.data?e.data.length:0)-e.deleteCount;const s=n.data,o=new Uint32Array(s.length+t);let r=s.length,h=o.length;for(let t=i.edits.length-1;t>=0;t--){const c=i.edits[t];if(c.start>s.length)return e.warnInvalidEditStart(n.resultId,i.resultId,t,c.start,s.length),void this._model.tokenization.setSemanticTokens(null,!0);const a=r-(c.start+c.deleteCount);a>0&&(l8._copy(s,r-a,o,h-a,a),h-=a),c.data&&(l8._copy(c.data,0,o,h-c.data.length,c.data.length),h-=c.data.length),r=c.start}r>0&&l8._copy(s,0,o,0,r),i={resultId:i.resultId,data:o}}}if(t8(i)){this._currentDocumentResponse=new g8(t,i.resultId,i.data);const n=wR(i,e,this._model.getLanguageId());if(s.length>0)for(const t of s)for(const i of n)for(const e of t.changes)i.applyEdit(e.range,e.text);this._model.tokenization.setSemanticTokens(n,!0)}else this._model.tokenization.setSemanticTokens(null,!0);o()}else this._model.tokenization.setSemanticTokens(null,!1)}};p8.REQUEST_MIN_DELAY=300,p8.REQUEST_MAX_DELAY=2e3,p8=l8=u8([d8(1,yR),d8(2,qk),d8(3,hR),d8(4,gg)],p8);class g8{constructor(t,i,e){this.provider=t,this.resultId=i,this.data=e}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}WH(f8);var m8=function(t,i){return function(e,s){i(e,s,t)}};let w8=class extends ie{constructor(t,i,e,s,n,o){super(),this._semanticTokensStylingService=i,this._themeService=e,this._configurationService=s,this._editor=t,this._provider=o.documentRangeSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new pc((()=>this._tokenizeViewportNow()),100)),this._outstandingRequests=[];const r=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange((()=>{r()}))),this._register(this._editor.onDidChangeModel((()=>{this._cancelAll(),r()}))),this._register(this._editor.onDidChangeModelContent((()=>{this._cancelAll(),r()}))),this._register(this._provider.onDidChange((()=>{this._cancelAll(),r()}))),this._register(this._configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration(c8)&&(this._cancelAll(),r())}))),this._register(this._themeService.onDidColorThemeChange((()=>{this._cancelAll(),r()}))),r()}_cancelAll(){for(const t of this._outstandingRequests)t.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(t){for(let i=0,e=this._outstandingRequests.length;ithis._requestRange(t,i))))}_requestRange(t,i){const e=t.getVersionId(),s=nc((e=>Promise.resolve(h8(this._provider,t,i,e)))),n=new he(!1);return s.then((s=>{if(this._debounceInformation.update(t,n.elapsed()),!s||!s.tokens||t.isDisposed()||t.getVersionId()!==e)return;const{provider:o,tokens:r}=s,h=this._semanticTokensStylingService.getStyling(o);t.tokenization.setPartialSemanticTokens(i,wR(r,h,t.getLanguageId()))})).then((()=>this._removeOutstandingRequest(s)),(()=>this._removeOutstandingRequest(s))),s}};w8.ID="editor.contrib.viewportSemanticTokens",w8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([m8(1,yR),m8(2,qk),m8(3,pd),m8(4,hR),m8(5,gg)],w8),lu(w8.ID,w8,1);class v8{constructor(t=!0){this.selectSubwords=t}provideSelectionRanges(t,i){const e=[];for(const s of i){const i=[];e.push(i),this.selectSubwords&&this._addInWordRanges(i,t,s),this._addWordRanges(i,t,s),this._addWhitespaceLine(i,t,s),i.push({range:t.getFullModelRange()})}return e}_addInWordRanges(t,i,e){const s=i.getWordAtPosition(e);if(!s)return;const{word:n,startColumn:o}=s,r=e.column-o;let h=r,c=r,a=0;for(;h>=0;h--){const t=n.charCodeAt(h);if(h!==r&&(95===t||45===t))break;if(co(t)&&ao(a))break;a=t}for(h+=1;c0&&0===i.getLineFirstNonWhitespaceColumn(e.lineNumber)&&0===i.getLineLastNonWhitespaceColumn(e.lineNumber)&&t.push({range:new Ms(e.lineNumber,1,e.lineNumber,i.getLineMaxColumn(e.lineNumber))})}}var b8;class y8{constructor(t,i){this.index=t,this.ranges=i}mov(t){const i=this.index+(t?1:-1);if(i<0||i>=this.ranges.length)return this;const e=new y8(i,this.ranges);return e.ranges[i].equalsRange(this.ranges[this.index])?e.mov(t):e}}let k8=b8=class{static get(t){return t.getContribution(b8.ID)}constructor(t,i){this._editor=t,this._languageFeaturesService=i,this._ignoreSelection=!1}dispose(){var t;null===(t=this._selectionListener)||void 0===t||t.dispose()}async run(t){if(!this._editor.hasModel())return;const i=this._editor.getSelections(),e=this._editor.getModel();if(this._state||await C8(this._languageFeaturesService.selectionRangeProvider,e,i.map((t=>t.getPosition())),this._editor.getOption(112),xe.None).then((t=>{var e;if(y(t)&&t.length===i.length&&this._editor.hasModel()&&u(this._editor.getSelections(),i,((t,i)=>t.equalsSelection(i)))){for(let e=0;et.containsPosition(i[e].getStartPosition())&&t.containsPosition(i[e].getEndPosition()))),t[e].unshift(i[e]);this._state=t.map((t=>new y8(0,t))),null===(e=this._selectionListener)||void 0===e||e.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition((()=>{var t;this._ignoreSelection||(null===(t=this._selectionListener)||void 0===t||t.dispose(),this._state=void 0)}))}})),!this._state)return;this._state=this._state.map((i=>i.mov(t)));const s=this._state.map((t=>Ls.fromPositions(t.ranges[t.index].getStartPosition(),t.ranges[t.index].getEndPosition())));this._ignoreSelection=!0;try{this._editor.setSelections(s)}finally{this._ignoreSelection=!1}}};k8.ID="editor.contrib.smartSelectController",k8=b8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,gg)],k8);class x8 extends su{constructor(t,i){super(i),this._forward=t}async run(t,i){const e=k8.get(i);e&&await e.run(this._forward)}}async function C8(t,i,e,s,n){const o=t.all(i).concat(new v8(s.selectSubwords));1===o.length&&o.unshift(new t6);const r=[],h=[];for(const t of o)r.push(Promise.resolve(t.provideSelectionRanges(i,e,n)).then((t=>{if(y(t)&&t.length===e.length)for(let i=0;i{if(0===t.length)return[];t.sort(((t,i)=>As.isBefore(t.getStartPosition(),i.getStartPosition())?1:As.isBefore(i.getStartPosition(),t.getStartPosition())||As.isBefore(t.getEndPosition(),i.getEndPosition())?-1:As.isBefore(i.getEndPosition(),t.getEndPosition())?1:0));const e=[];let n;for(const i of t)(!n||Ms.containsRange(i,n)&&!Ms.equalsRange(i,n))&&(e.push(i),n=i);if(!s.selectLeadingAndTrailingWhitespace)return e;const o=[e[0]];for(let t=1;tt}),A8="data-sticky-line-index",M8="data-sticky-is-line",L8="data-sticky-is-folding-icon";class F8 extends ie{constructor(t){super(),this._editor=t,this._foldingIconStore=new te,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(66),this._stickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",t instanceof BJ),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const i=()=>{this._linesDomNode.style.left=this._editor.getOption(114).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(114)&&i(),t.hasChanged(66)&&(this._lineHeight=this._editor.getOption(66))}))),this._register(this._editor.onDidScrollChange((t=>{t.scrollLeftChanged&&i(),t.scrollWidthChanged&&this._updateWidgetWidth()}))),this._register(this._editor.onDidChangeModel((()=>{i(),this._updateWidgetWidth()}))),this._register(this._foldingIconStore),i(),this._register(this._editor.onDidLayoutChange((()=>{this._updateWidgetWidth()}))),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getStickyLineForLine(t){return this._stickyLines.find((i=>i.lineNumber===t))}getCurrentLines(){return this._lineNumbers}setState(t,i,e=1/0){if((!this._previousState&&!t||this._previousState&&this._previousState.equals(t))&&e===1/0)return;this._previousState=t;const s=this._stickyLines;if(this._clearStickyWidget(),t&&this._editor._getViewModel()){if(t.startLineNumbers.length*this._lineHeight+t.lastLineRelativePosition>0){this._lastLineRelativePosition=t.lastLineRelativePosition;const i=[...t.startLineNumbers];null!==t.showEndForLine&&(i[t.showEndForLine]=t.endLineNumbers[t.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];this._renderRootNode(s,i,e)}}_updateWidgetWidth(){const t=this._editor.getLayoutInfo();this._lineNumbersDomNode.style.width=`${t.contentLeft}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",this._editor.getScrollWidth()-t.verticalScrollbarWidth+"px"),this._rootDomNode.style.width=t.width-t.verticalScrollbarWidth+"px"}_clearStickyWidget(){this._stickyLines=[],this._foldingIconStore.clear(),za(this._lineNumbersDomNode),za(this._linesDomNode),this._rootDomNode.style.display="none"}_useFoldingOpacityTransition(t){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${t?.5:0}s`)}_setFoldingIconsVisibility(t){for(const i of this._stickyLines){const e=i.foldingIcon;e&&e.setVisible(!!t||e.isCollapsed)}}async _renderRootNode(t,i,e=1/0){const s=this._editor.getLayoutInfo();for(const[n,o]of this._lineNumbers.entries()){const r=t[n],h=o>=e||(null==r?void 0:r.lineNumber)!==o?this._renderChildNode(n,o,i,s):this._updateTopAndZIndexOfStickyLine(r);h&&(this._linesDomNode.appendChild(h.lineDomNode),this._lineNumbersDomNode.appendChild(h.lineNumberDomNode),this._stickyLines.push(h))}i&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));const n=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;0!==n?(this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${n}px`,this._linesDomNodeScrollable.style.height=`${n}px`,this._rootDomNode.style.height=`${n}px`,this._rootDomNode.style.marginLeft="0px",this._updateMinContentWidth(),this._editor.layoutOverlayWidget(this)):this._clearStickyWidget()}_setFoldingHoverListeners(){"mouseover"===this._editor.getOption(109)&&(this._foldingIconStore.add(Va(this._lineNumbersDomNode,Ll.MOUSE_ENTER,(()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)}))),this._foldingIconStore.add(Va(this._lineNumbersDomNode,Ll.MOUSE_LEAVE,(()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)}))))}_renderChildNode(t,i,e,s){const n=this._editor._getViewModel();if(!n)return;const o=n.coordinatesConverter.convertModelPositionToViewPosition(new As(i,1)).lineNumber,r=n.getViewLineRenderingData(o),h=this._editor.getOption(67);let c;try{c=Og.filter(r.inlineDecorations,o,r.minColumn,r.maxColumn)}catch(t){c=[]}const a=new $g(!0,!0,r.content,r.continuesWithWrappedLine,r.isBasicASCII,r.containsRTL,0,r.tokens,c,r.tabSize,r.startVisibleColumn,1,1,1,500,"none",!0,!0,null),l=new td(2e3),u=Hg(a,l);let d;d=E8?E8.createHTML(l.build()):l.build();const f=document.createElement("span");f.setAttribute(A8,String(t)),f.setAttribute(M8,""),f.setAttribute("role","listitem"),f.tabIndex=0,f.className="sticky-line-content",f.classList.add(`stickyLine${i}`),f.style.lineHeight=`${this._lineHeight}px`,f.innerHTML=d;const p=document.createElement("span");p.setAttribute(A8,String(t)),p.setAttribute("data-sticky-is-line-number",""),p.className="sticky-line-number",p.style.lineHeight=`${this._lineHeight}px`,p.style.width=`${s.contentLeft}px`;const g=document.createElement("span");1===h.renderType||3===h.renderType&&i%10==0?g.innerText=i.toString():2===h.renderType&&(g.innerText=Math.abs(i-this._editor.getPosition().lineNumber).toString()),g.className="sticky-line-number-inner",g.style.lineHeight=`${this._lineHeight}px`,g.style.width=`${s.lineNumbersWidth}px`,g.style.paddingLeft=`${s.lineNumbersLeft}px`,p.appendChild(g);const m=this._renderFoldingIconForLine(e,i);m&&p.appendChild(m.domNode),this._editor.applyFontInfo(f),this._editor.applyFontInfo(g),p.style.lineHeight=`${this._lineHeight}px`,f.style.lineHeight=`${this._lineHeight}px`,p.style.height=`${this._lineHeight}px`,f.style.height=`${this._lineHeight}px`;const w=new T8(t,i,f,p,m,u.characterMapping);return this._updateTopAndZIndexOfStickyLine(w)}_updateTopAndZIndexOfStickyLine(t){var i;const e=t.index,s=t.lineDomNode,n=t.lineNumberDomNode,o=e===this._lineNumbers.length-1;s.style.zIndex=o?"0":"1",n.style.zIndex=o?"0":"1";const r=`${e*this._lineHeight+this._lastLineRelativePosition+((null===(i=t.foldingIcon)||void 0===i?void 0:i.isCollapsed)?1:0)}px`,h=e*this._lineHeight+"px";return s.style.top=o?r:h,n.style.top=o?r:h,t}_renderFoldingIconForLine(t,i){const e=this._editor.getOption(109);if(!t||"never"===e)return;const s=t.regions,n=s.findRange(i),o=s.getStartLineNumber(n);if(i!==o)return;const r=s.isCollapsed(n),h=new R8(r,o,s.getEndLineNumber(n),this._lineHeight);return h.setVisible(!!this._isOnGlyphMargin||r||"always"===e),h.domNode.setAttribute(L8,""),h}_updateMinContentWidth(){this._minContentWidthInPx=0;for(const t of this._stickyLines)t.lineDomNode.scrollWidth>this._minContentWidthInPx&&(this._minContentWidthInPx=t.lineDomNode.scrollWidth);this._minContentWidthInPx+=this._editor.getLayoutInfo().verticalScrollbarWidth}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:null}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(t){0<=t&&t0)return null;const i=this._getRenderedStickyLineFromChildDomNode(t);if(!i)return null;const e=Uy(i.characterMapping,t,0);return new As(i.lineNumber,e)}getLineNumberFromChildDomNode(t){var i,e;return null!==(e=null===(i=this._getRenderedStickyLineFromChildDomNode(t))||void 0===i?void 0:i.lineNumber)&&void 0!==e?e:null}_getRenderedStickyLineFromChildDomNode(t){const i=this.getLineIndexFromChildDomNode(t);return null===i||i<0||i>=this._stickyLines.length?null:this._stickyLines[i]}getLineIndexFromChildDomNode(t){const i=this._getAttributeValue(t,A8);return i?parseInt(i,10):null}isInStickyLine(t){return void 0!==this._getAttributeValue(t,M8)}isInFoldingIconDomNode(t){return void 0!==this._getAttributeValue(t,L8)}_getAttributeValue(t,i){for(;t&&t!==this._rootDomNode;){const e=t.getAttribute(i);if(null!==e)return e;t=t.parentElement}}}class T8{constructor(t,i,e,s,n,o){this.index=t,this.lineNumber=i,this.lineDomNode=e,this.lineNumberDomNode=s,this.foldingIcon=n,this.characterMapping=o}}class R8{constructor(t,i,e,s){this.isCollapsed=t,this.foldingStartLine=i,this.foldingEndLine=e,this.dimension=s,this.domNode=document.createElement("div"),this.domNode.style.width=`${s}px`,this.domNode.style.height=`${s}px`,this.domNode.className=Cr.asClassName(t?Q4:Z4)}setVisible(t){this.domNode.style.cursor=t?"pointer":"default",this.domNode.style.opacity=t?"1":"0"}}class O8{constructor(t,i){this.startLineNumber=t,this.endLineNumber=i}}class I8{constructor(t,i,e){this.range=t,this.children=i,this.parent=e}}class _8{constructor(t,i,e,s){this.uri=t,this.version=i,this.element=e,this.outlineProviderId=s}}var N8,B8,P8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},$8=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t.OUTLINE_MODEL="outlineModel",t.FOLDING_PROVIDER_MODEL="foldingProviderModel",t.INDENTATION_MODEL="indentationModel"}(N8||(N8={})),function(t){t[t.VALID=0]="VALID",t[t.INVALID=1]="INVALID",t[t.CANCELED=2]="CANCELED"}(B8||(B8={}));let W8=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._languageConfigurationService=i,this._languageFeaturesService=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new hc(300)),this._updateOperation=this._register(new te);const n=new z8(e),o=new U8(this._editor,e),r=new V8(this._editor,i);switch(s){case N8.OUTLINE_MODEL:this._modelProviders.push(n),this._modelProviders.push(o),this._modelProviders.push(r);break;case N8.FOLDING_PROVIDER_MODEL:this._modelProviders.push(o),this._modelProviders.push(r);break;case N8.INDENTATION_MODEL:this._modelProviders.push(r)}}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(t,i,e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger((async()=>{for(const s of this._modelProviders){const{statusPromise:n,modelPromise:o}=s.computeStickyModel(t,i,e);this._modelPromise=o;const r=await n;if(this._modelPromise!==o)return null;switch(r){case B8.CANCELED:return this._updateOperation.clear(),null;case B8.VALID:return s.stickyModel}}return null})).catch((t=>(Pi(t),null)))}};W8=P8([$8(1,qd),$8(2,gg)],W8);class j8{constructor(){this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,B8.INVALID}computeStickyModel(t,i,e){if(e.isCancellationRequested||!this.isProviderValid(t))return{statusPromise:this._invalid(),modelPromise:null};const s=nc((e=>this.createModelFromProvider(t,i,e)));return{statusPromise:s.then((s=>this.isModelValid(s)?e.isCancellationRequested?B8.CANCELED:(this._stickyModel=this.createStickyModel(t,i,e,s),B8.VALID):this._invalid())).then(void 0,(t=>(Pi(t),B8.CANCELED))),modelPromise:s}}isModelValid(t){return!0}isProviderValid(t){return!0}}let z8=class extends j8{constructor(t){super(),this._languageFeaturesService=t}createModelFromProvider(t,i,e){return k5.create(this._languageFeaturesService.documentSymbolProvider,t,e)}createStickyModel(t,i,e,s){var n;const{stickyOutlineElement:o,providerID:r}=this._stickyModelFromOutlineModel(s,null===(n=this._stickyModel)||void 0===n?void 0:n.outlineProviderId);return new _8(t.uri,i,o,r)}isModelValid(t){return t&&t.children.size>0}_stickyModelFromOutlineModel(t,i){let e;if(Vt.first(t.children.values())instanceof y5){const s=Vt.find(t.children.values(),(t=>t.id===i));if(s)e=s.children;else{let s,n="",o=-1;for(const[i,e]of t.children.entries()){const t=this._findSumOfRangesOfGroup(e);t>o&&(s=e,o=t,n=e.id)}i=n,e=s.children}}else e=t.children;const s=[],n=Array.from(e.values()).sort(((t,i)=>{const e=new O8(t.symbol.range.startLineNumber,t.symbol.range.endLineNumber),s=new O8(i.symbol.range.startLineNumber,i.symbol.range.endLineNumber);return this._comparator(e,s)}));for(const t of n)s.push(this._stickyModelFromOutlineElement(t,t.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new I8(void 0,s,void 0),providerID:i}}_stickyModelFromOutlineElement(t,i){const e=[];for(const s of t.children.values())if(s.symbol.selectionRange.startLineNumber!==s.symbol.range.endLineNumber)if(s.symbol.selectionRange.startLineNumber!==i)e.push(this._stickyModelFromOutlineElement(s,s.symbol.selectionRange.startLineNumber));else for(const t of s.children.values())e.push(this._stickyModelFromOutlineElement(t,s.symbol.selectionRange.startLineNumber));e.sort(((t,i)=>this._comparator(t.range,i.range)));const s=new O8(t.symbol.selectionRange.startLineNumber,t.symbol.range.endLineNumber);return new I8(s,e,void 0)}_comparator(t,i){return t.startLineNumber!==i.startLineNumber?t.startLineNumber-i.startLineNumber:i.endLineNumber-t.endLineNumber}_findSumOfRangesOfGroup(t){let i=0;for(const e of t.children.values())i+=this._findSumOfRangesOfGroup(e);return t instanceof b5?i+t.symbol.range.endLineNumber-t.symbol.selectionRange.startLineNumber:i}};z8=P8([$8(0,gg)],z8);class H8 extends j8{constructor(t){super(),this._foldingLimitReporter=new c5(t)}createStickyModel(t,i,e,s){const n=this._fromFoldingRegions(s);return new _8(t.uri,i,n,void 0)}isModelValid(t){return null!==t}_fromFoldingRegions(t){const i=t.length,e=[],s=new I8(void 0,[],void 0);for(let n=0;n0}createModelFromProvider(t,i,e){const s=h5.getFoldingRangeProviders(this._languageFeaturesService,t);return new e5(t,s,(()=>this.createModelFromProvider(t,i,e)),this._foldingLimitReporter,void 0).compute(e)}};U8=P8([$8(1,gg)],U8);var q8=function(t,i){return function(e,s){i(e,s,t)}};class K8{constructor(t,i,e){this.startLineNumber=t,this.endLineNumber=i,this.nestingDepth=e}}let G8=class extends ie{constructor(t,i,e){super(),this._languageFeaturesService=i,this._languageConfigurationService=e,this._onDidChangeStickyScroll=this._register(new fe),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._options=null,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=t,this._sessionStore=this._register(new te),this._updateSoon=this._register(new pc((()=>this.update()),50)),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(114)&&this.readConfiguration()}))),this.readConfiguration()}readConfiguration(){this._stickyModelProvider=null,this._sessionStore.clear(),this._options=this._editor.getOption(114),this._options.enabled&&(this._stickyModelProvider=this._sessionStore.add(new W8(this._editor,this._languageConfigurationService,this._languageFeaturesService,this._options.defaultModel)),this._sessionStore.add(this._editor.onDidChangeModel((()=>{this._model=null,this._onDidChangeStickyScroll.fire(),this.update()}))),this._sessionStore.add(this._editor.onDidChangeHiddenAreas((()=>this.update()))),this._sessionStore.add(this._editor.onDidChangeModelContent((()=>this._updateSoon.schedule()))),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>this.update()))),this.update())}getVersionId(){var t;return null===(t=this._model)||void 0===t?void 0:t.version}async update(){var t;null===(t=this._cts)||void 0===t||t.dispose(!0),this._cts=new Se,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(t){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization())return void(this._model=null);const i=this._editor.getModel(),e=i.getVersionId(),s=await this._stickyModelProvider.update(i,e,t);t.isCancellationRequested||(this._model=s)}updateIndex(t){return-1===t?t=0:t<0&&(t=-t-2),t}getCandidateStickyLinesIntersectingFromStickyModel(t,i,e,s,n){if(0===i.children.length)return;let o=n;const r=[];for(let t=0;tt-i))),c=this.updateIndex(d(r,t.startLineNumber+s,((t,i)=>t-i)));for(let r=h;r<=c;r++){const h=i.children[r];if(!h)return;if(h.range){const i=h.range.startLineNumber,n=h.range.endLineNumber;t.startLineNumber<=n+1&&i-1<=t.endLineNumber&&i!==o&&(o=i,e.push(new K8(i,n-1,s+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(t,h,e,s+1,i))}else this.getCandidateStickyLinesIntersectingFromStickyModel(t,h,e,s,n)}}getCandidateStickyLinesIntersecting(t){var i,e;if(!(null===(i=this._model)||void 0===i?void 0:i.element))return[];let s=[];this.getCandidateStickyLinesIntersectingFromStickyModel(t,this._model.element,s,0,-1);const n=null===(e=this._editor._getViewModel())||void 0===e?void 0:e.getHiddenAreas();if(n)for(const t of n)s=s.filter((i=>!(i.startLineNumber>=t.startLineNumber&&i.endLineNumber<=t.endLineNumber+1)));return s}};G8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([q8(1,gg),q8(2,qd)],G8);var Z8,Q8=function(t,i){return function(e,s){i(e,s,t)}};let J8=Z8=class extends ie{constructor(t,i,e,s,n,o,r){super(),this._editor=t,this._contextMenuService=i,this._languageFeaturesService=e,this._instaService=s,this._contextKeyService=r,this._sessionStore=new te,this._foldingModel=null,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._showEndForLine=null,this._stickyScrollWidget=new F8(this._editor),this._stickyLineCandidateProvider=new G8(this._editor,e,n),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=new D8([],[],0),this._readConfiguration();const h=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(114)||t.hasChanged(72)||t.hasChanged(66)||t.hasChanged(109))&&this._readConfiguration()}))),this._register(Va(h,Ll.CONTEXT_MENU,(async t=>{this._onContextMenu(Na(h),t)}))),this._stickyScrollFocusedContextKey=UC.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=UC.stickyScrollVisible.bindTo(this._contextKeyService);const c=this._register(Rl(h));this._register(c.onDidBlur((()=>{!1===this._positionRevealed&&0===h.clientHeight?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()}))),this._register(c.onDidFocus((()=>{this.focus()}))),this._registerMouseListeners(),this._register(Va(h,Ll.MOUSE_DOWN,(()=>{this._onMouseDown=!0})))}static get(t){return t.getContribution(Z8.ID)}_disposeFocusStickyScrollStore(){var t;this._stickyScrollFocusedContextKey.set(!1),null===(t=this._focusDisposableStore)||void 0===t||t.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown)return this._onMouseDown=!1,void this._editor.focus();!0!==this._stickyScrollFocusedContextKey.get()&&(this._focused=!0,this._focusDisposableStore=new te,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(t){this._focusedStickyElementIndex=t?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const t=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:t[this._focusedStickyElementIndex],column:1})}_revealPosition(t){this._reveaInEditor(t,(()=>this._editor.revealPosition(t)))}_revealLineInCenterIfOutsideViewport(t){this._reveaInEditor(t,(()=>this._editor.revealLineInCenterIfOutsideViewport(t.lineNumber,0)))}_reveaInEditor(t,i){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,i(),this._editor.setSelection(Ms.fromPositions(t)),this._editor.focus()}_registerMouseListeners(){const t=this._register(new te),i=this._register(new _J(this._editor,{extractLineNumberFromMouseEvent:t=>{const i=this._stickyScrollWidget.getEditorPositionFromNode(t.target.element);return i?i.lineNumber:0}})),e=t=>{if(!this._editor.hasModel())return null;if(12!==t.target.type||t.target.detail!==this._stickyScrollWidget.getId())return null;const i=t.target.element;if(!i||i.innerText!==i.innerHTML)return null;const e=this._stickyScrollWidget.getEditorPositionFromNode(i);return e?{range:new Ms(e.lineNumber,e.column,e.lineNumber,e.column+i.innerText.length),textElement:i}:null},s=this._stickyScrollWidget.getDomNode();this._register(qa(s,Ll.CLICK,(t=>{if(t.ctrlKey||t.altKey||t.metaKey)return;if(!t.leftButton)return;if(t.shiftKey){const i=this._stickyScrollWidget.getLineIndexFromChildDomNode(t.target);if(null===i)return;const e=new As(this._endLineNumbers[i],1);return void this._revealLineInCenterIfOutsideViewport(e)}if(this._stickyScrollWidget.isInFoldingIconDomNode(t.target)){const i=this._stickyScrollWidget.getLineNumberFromChildDomNode(t.target);return void this._toggleFoldingRegionForLine(i)}if(!this._stickyScrollWidget.isInStickyLine(t.target))return;let i=this._stickyScrollWidget.getEditorPositionFromNode(t.target);if(!i){const e=this._stickyScrollWidget.getLineNumberFromChildDomNode(t.target);if(null===e)return;i=new As(e,1)}this._revealPosition(i)}))),this._register(qa(s,Ll.MOUSE_MOVE,(t=>{if(t.shiftKey){const i=this._stickyScrollWidget.getLineIndexFromChildDomNode(t.target);if(null===i||null!==this._showEndForLine&&this._showEndForLine===i)return;return this._showEndForLine=i,void this._renderStickyScroll()}null!==this._showEndForLine&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._register(Va(s,Ll.MOUSE_LEAVE,(()=>{null!==this._showEndForLine&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._register(i.onMouseMoveOrRelevantKeyDown((([i,s])=>{const n=e(i);if(!n||!i.hasTriggerModifier||!this._editor.hasModel())return void t.clear();const{range:o,textElement:r}=n;if(o.equalsRange(this._stickyRangeProjectedOnEditor)){if("underline"===r.style.textDecoration)return}else this._stickyRangeProjectedOnEditor=o,t.clear();const h=new Se;let c;t.add(Xi((()=>h.dispose(!0)))),NY(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new As(o.startLineNumber,o.startColumn+1),h.token).then((i=>{if(!h.token.isCancellationRequested)if(0!==i.length){this._candidateDefinitionsLength=i.length;const e=r;c!==e?(t.clear(),c=e,c.style.textDecoration="underline",t.add(Xi((()=>{c.style.textDecoration="none"})))):c||(c=e,c.style.textDecoration="underline",t.add(Xi((()=>{c.style.textDecoration="none"}))))}else t.clear()}))}))),this._register(i.onCancel((()=>{t.clear()}))),this._register(i.onExecute((async t=>{if(12!==t.target.type||t.target.detail!==this._stickyScrollWidget.getId())return;const i=this._stickyScrollWidget.getEditorPositionFromNode(t.target.element);i&&(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:i.lineNumber,column:1})),this._instaService.invokeFunction(v9,t,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor}))})))}_onContextMenu(t,i){const e=new tc(t,i);this._contextMenuService.showContextMenu({menuId:Rh.StickyScrollContext,getAnchor:()=>e})}_toggleFoldingRegionForLine(t){if(!this._foldingModel||null===t)return;const i=this._stickyScrollWidget.getStickyLineForLine(t),e=null==i?void 0:i.foldingIcon;if(!e)return;B4(this._foldingModel,Number.MAX_VALUE,[t]),e.isCollapsed=!e.isCollapsed;const s=this._editor.getTopForLineNumber(e.isCollapsed?e.foldingEndLine:e.foldingStartLine)-this._editor.getOption(66)*i.index+1;this._editor.setScrollTop(s),this._renderStickyScroll(t)}_readConfiguration(){const t=this._editor.getOption(114);if(!1===t.enabled)return this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),void(this._enabled=!1);t.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange((t=>{t.scrollTopChanged&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._sessionStore.add(this._editor.onDidLayoutChange((()=>this._onDidResize()))),this._sessionStore.add(this._editor.onDidChangeModelTokens((t=>this._onTokensChange(t)))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll((()=>{this._showEndForLine=null,this._renderStickyScroll()}))),this._enabled=!0),2===this._editor.getOption(67).renderType&&this._sessionStore.add(this._editor.onDidChangeCursorPosition((()=>{this._showEndForLine=null,this._renderStickyScroll(-1)})))}_needsUpdate(t){const i=this._stickyScrollWidget.getCurrentLines();for(const e of i)for(const i of t.ranges)if(e>=i.fromLineNumber&&e<=i.toLineNumber)return!0;return!1}_onTokensChange(t){this._needsUpdate(t)&&this._renderStickyScroll(-1)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(66);this._maxStickyLines=Math.round(.25*t)}async _renderStickyScroll(t=1/0){var i,e;const s=this._editor.getModel();if(!s||s.isTooLargeForTokenization())return this._foldingModel=null,void this._stickyScrollWidget.setState(void 0,null,t);const n=this._stickyLineCandidateProvider.getVersionId();if(void 0===n||n===s.getVersionId())if(this._foldingModel=null!==(e=await(null===(i=h5.get(this._editor))||void 0===i?void 0:i.getFoldingModel()))&&void 0!==e?e:null,this._widgetState=this.findScrollWidgetState(),this._stickyScrollVisibleContextKey.set(!(0===this._widgetState.startLineNumbers.length)),this._focused)if(-1===this._focusedStickyElementIndex)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,-1!==this._focusedStickyElementIndex&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const i=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t),0===this._stickyScrollWidget.lineNumberCount?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(i)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}else this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t)}findScrollWidgetState(){const t=this._editor.getOption(66),i=Math.min(this._maxStickyLines,this._editor.getOption(114).maxLineCount),e=this._editor.getScrollTop();let s=0;const n=[],o=[],r=this._editor.getVisibleRanges();if(0!==r.length){const h=new O8(r[0].startLineNumber,r[r.length-1].endLineNumber),c=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(h);for(const r of c){const h=r.startLineNumber,c=r.endLineNumber,a=r.nestingDepth;if(c-h>0){const r=(a-1)*t,l=a*t,u=this._editor.getBottomForLineNumber(h)-e,d=this._editor.getTopForLineNumber(c)-e,f=this._editor.getBottomForLineNumber(c)-e;if(r>d&&r<=f){n.push(h),o.push(c+1),s=f-l;break}if(l>u&&l<=f&&(n.push(h),o.push(c+1)),n.length===i)break}}}return this._endLineNumbers=o,new D8(n,o,s,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};J8.ID="store.contrib.stickyScrollController",J8=Z8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Q8(1,eI),Q8(2,gg),Q8(3,ur),Q8(4,qd),Q8(5,hR),Q8(6,ah)],J8);const Y8=100;lu(J8.ID,J8,1),$h(class extends Ph{constructor(){super({id:"editor.action.toggleStickyScroll",title:{value:rt(0,"Toggle Sticky Scroll"),mnemonicTitle:rt(0,"&&Toggle Sticky Scroll"),original:"Toggle Sticky Scroll"},category:S8.View,toggled:{condition:zr.equals("config.editor.stickyScroll.enabled",!0),title:rt(0,"Sticky Scroll"),mnemonicTitle:rt(0,"&&Sticky Scroll")},menu:[{id:Rh.CommandPalette},{id:Rh.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Rh.StickyScrollContext}]})}async run(t){const i=t.get(pd),e=!i.getValue("editor.stickyScroll.enabled");return i.updateValue("editor.stickyScroll.enabled",e)}}),$h(class extends ou{constructor(){super({id:"editor.action.focusStickyScroll",title:{value:rt(0,"Focus Sticky Scroll"),mnemonicTitle:rt(0,"&&Focus Sticky Scroll"),original:"Focus Sticky Scroll"},precondition:zr.and(zr.has("config.editor.stickyScroll.enabled"),UC.stickyScrollVisible),menu:[{id:Rh.CommandPalette}]})}runEditorCommand(t,i){var e;null===(e=J8.get(i))||void 0===e||e.focus()}}),$h(class extends ou{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:{value:rt(0,"Select previous sticky scroll line"),original:"Select previous sticky scroll line"},precondition:UC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Y8,primary:16}})}runEditorCommand(t,i){var e;null===(e=J8.get(i))||void 0===e||e.focusPrevious()}}),$h(class extends ou{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:{value:rt(0,"Select next sticky scroll line"),original:"Select next sticky scroll line"},precondition:UC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Y8,primary:18}})}runEditorCommand(t,i){var e;null===(e=J8.get(i))||void 0===e||e.focusNext()}}),$h(class extends ou{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:{value:rt(0,"Go to focused sticky scroll line"),original:"Go to focused sticky scroll line"},precondition:UC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Y8,primary:3}})}runEditorCommand(t,i){var e;null===(e=J8.get(i))||void 0===e||e.goToFocused()}}),$h(class extends ou{constructor(){super({id:"editor.action.selectEditor",title:{value:rt(0,"Select Editor"),original:"Select Editor"},precondition:UC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Y8,primary:9}})}runEditorCommand(t,i){var e;null===(e=J8.get(i))||void 0===e||e.selectEditor()}});var X8,ttt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},itt=function(t,i){return function(e,s){i(e,s,t)}};class ett{constructor(t,i,e,s,n,o){this.range=t,this.insertText=i,this.filterText=e,this.additionalTextEdits=s,this.command=n,this.completion=o}}let stt=class extends se{constructor(t,i,e,s,n,o){super(n.disposable),this.model=t,this.line=i,this.word=e,this.completionModel=s,this._suggestMemoryService=o}canBeReused(t,i,e){return this.model===t&&this.line===i&&this.word.word.length>0&&this.word.startColumn===e.startColumn&&this.word.endColumn=0&&e.resolve(xe.None)}return i}};stt=ttt([itt(5,G3)],stt);let ntt=class{constructor(t,i,e,s){this._getEditorOption=t,this._languageFeatureService=i,this._clipboardService=e,this._suggestMemoryService=s}async provideInlineCompletions(t,i,e,s){var n;if(e.selectedSuggestionInfo)return;const o=this._getEditorOption(88,t);if(k3.isAllOff(o))return;t.tokenization.tokenizeIfCheap(i.lineNumber);const r=t.tokenization.getLineTokens(i.lineNumber),h=r.getStandardTokenType(r.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if("inline"!==k3.valueFor(o,h))return;let c,a,l=t.getWordAtPosition(i);if((null==l?void 0:l.word)||(c=this._getTriggerCharacterInfo(t,i)),!(null==l?void 0:l.word)&&!c)return;if(l||(l=t.getWordUntilPosition(i)),l.endColumn!==i.column)return;const u=t.getValueInRange(new Ms(i.lineNumber,1,i.lineNumber,i.column));if(!c&&(null===(n=this._lastResult)||void 0===n?void 0:n.canBeReused(t,i.lineNumber,l))){const t=new e6(u,i.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=t,this._lastResult.acquire(),a=this._lastResult}else{const e=await v3(this._languageFeatureService.completionProvider,t,i,new m3(void 0,void 0,null==c?void 0:c.providers),c&&{triggerKind:1,triggerCharacter:c.ch},s);let n;e.needsClipboard&&(n=await this._clipboardService.readText());const o=new s6(e.items,i.column,new e6(u,0),i6.None,this._getEditorOption(117,t),this._getEditorOption(111,t),{boostFullMatch:!1,firstMatchCanBeWeak:!1},n);a=new stt(t,i.lineNumber,l,o,e,this._suggestMemoryService)}return this._lastResult=a,a}handleItemDidShow(t,i){i.completion.resolve(xe.None)}freeInlineCompletions(t){t.release()}_getTriggerCharacterInfo(t,i){var e;const s=t.getValueInRange(Ms.fromPositions({lineNumber:i.lineNumber,column:i.column-1},i)),n=new Set;for(const i of this._languageFeatureService.completionProvider.all(t))(null===(e=i.triggerCharacters)||void 0===e?void 0:e.includes(s))&&n.add(i);if(0!==n.size)return{providers:n,ch:s}}};ntt=ttt([itt(1,gg),itt(2,dH),itt(3,G3)],ntt);let ott=X8=class{constructor(t,i,e,s){if(1==++X8._counter){const n=s.createInstance(ntt,((i,s)=>{var n;return(null!==(n=e.listCodeEditors().find((t=>t.getModel()===s)))&&void 0!==n?n:t).getOption(i)}));X8._disposable=i.inlineCompletionsProvider.register("*",n)}}dispose(){var t;0==--X8._counter&&(null===(t=X8._disposable)||void 0===t||t.dispose(),X8._disposable=void 0)}};ott._counter=0,ott=X8=ttt([itt(1,gg),itt(2,fr),itt(3,ur)],ott),lu("suggest.inlineCompletionsProvider",ott,0),cu(class extends su{constructor(){super({id:"editor.action.forceRetokenize",label:rt(0,"Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getModel();e.tokenization.resetTokenization();const s=new he;e.tokenization.forceTokenization(e.getLineCount()),s.stop(),console.log(`tokenization took ${s.elapsed()}`)}});class rtt extends Ph{constructor(){super({id:rtt.ID,title:{value:rt(0,"Toggle Tab Key Moves Focus"),original:"Toggle Tab Key Moves Focus"},precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},f1:!0})}run(){const t=!jm.getTabFocusMode();jm.setTabFocusMode(t),Tm(rt(0,t?"Pressing Tab will now move focus to the next focusable element":"Pressing Tab will now insert the tab character"))}}rtt.ID="editor.action.toggleTabFocusMode",$h(rtt);let htt=class extends ie{get enabled(){return this._enabled}set enabled(t){t?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=t}constructor(t,i,e={},s){var n;super(),this._link=i,this._enabled=!0,this.el=Ol(t,$l("a.monaco-link",{tabIndex:null!==(n=i.tabIndex)&&void 0!==n?n:0,href:i.href,title:i.title},i.label)),this.el.setAttribute("role","button");const o=this._register(new Fk(this.el,"click")),r=this._register(new Fk(this.el,"keypress")),h=ce.chain(r.event,(t=>t.map((t=>new Qh(t))).filter((t=>3===t.keyCode)))),c=this._register(new Fk(this.el,Ym.Tap)).event;this._register(Xm.addTarget(this.el));const a=ce.any(o.event,h,c);this._register(a((t=>{this.enabled&&(Fl(t,!0),(null==e?void 0:e.opener)?e.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))}))),this.enabled=!0}};htt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,nP)],htt);var ctt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},att=function(t,i){return function(e,s){i(e,s,t)}};let ltt=class extends ie{constructor(t,i){super(),this._editor=t,this.instantiationService=i,this.banner=this._register(this.instantiationService.createInstance(utt))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(t){this.banner.show({...t,onClose:()=>{var i;this.hide(),null===(i=t.onClose)||void 0===i||i.call(t)}}),this._editor.setBanner(this.banner.element,26)}};ltt=ctt([att(1,ur)],ltt);let utt=class extends ie{constructor(t){super(),this.instantiationService=t,this.markdownRenderer=this.instantiationService.createInstance(eQ,{}),this.element=$l("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(t){return t.ariaLabel?t.ariaLabel:"string"==typeof t.message?t.message:void 0}getBannerMessage(t){if("string"==typeof t){const i=$l("span");return i.innerText=t,i}return this.markdownRenderer.render(t).element}clear(){za(this.element)}show(t){za(this.element);const i=this.getAriaLabel(t);i&&this.element.setAttribute("aria-label",i);const e=Ol(this.element,$l("div.icon-container"));e.setAttribute("aria-hidden","true"),t.icon&&e.appendChild($l(`div${Cr.asCSSSelector(t.icon)}`));const s=Ol(this.element,$l("div.message-container"));if(s.setAttribute("aria-hidden","true"),s.appendChild(this.getBannerMessage(t.message)),this.messageActionsContainer=Ol(this.element,$l("div.message-actions-container")),t.actions)for(const i of t.actions)this._register(this.instantiationService.createInstance(htt,this.messageActionsContainer,{...i,tabIndex:-1},{}));const n=Ol(this.element,$l("div.action-container"));this.actionBar=this._register(new VB(n)),this.actionBar.push(this._register(new mr("banner.close","Close Banner",Cr.asClassName(Wz),!0,(()=>{"function"==typeof t.onClose&&t.onClose()}))),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};utt=ctt([att(0,ur)],utt);var dtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},ftt=function(t,i){return function(e,s){i(e,s,t)}};const ptt=_z("extensions-warning-message",Os.warning,rt(0,"Icon shown with a warning message in the extensions editor."));let gtt=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._editorWorkerService=i,this._workspaceTrustService=e,this._highlighter=null,this._bannerClosed=!1,this._updateState=t=>{if(t&&t.hasMore){if(this._bannerClosed)return;const i=Math.max(t.ambiguousCharacterCount,t.nonBasicAsciiCharacterCount,t.invisibleCharacterCount);let e;if(t.nonBasicAsciiCharacterCount>=i)e={message:rt(0,"This document contains many non-basic ASCII unicode characters"),command:new Att};else if(t.ambiguousCharacterCount>=i)e={message:rt(0,"This document contains many ambiguous unicode characters"),command:new Dtt};else{if(!(t.invisibleCharacterCount>=i))throw new Error("Unreachable");e={message:rt(0,"This document contains many invisible unicode characters"),command:new Ett}}this._bannerController.show({id:"unicodeHighlightBanner",message:e.message,icon:ptt,actions:[{label:e.command.shortLabel,href:`command:${e.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(s.createInstance(ltt,t)),this._register(this._editor.onDidChangeModel((()=>{this._bannerClosed=!1,this._updateHighlighter()}))),this._options=t.getOption(124),this._register(e.onDidChangeTrust((()=>{this._updateHighlighter()}))),this._register(t.onDidChangeConfiguration((i=>{i.hasChanged(124)&&(this._options=t.getOption(124),this._updateHighlighter())}))),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const t=function(t,i){return{nonBasicASCII:i.nonBasicASCII===Si?!t:i.nonBasicASCII,ambiguousCharacters:i.ambiguousCharacters,invisibleCharacters:i.invisibleCharacters,includeComments:i.includeComments===Si?!t:i.includeComments,includeStrings:i.includeStrings===Si?!t:i.includeStrings,allowedCharacters:i.allowedCharacters,allowedLocales:i.allowedLocales}}(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([t.nonBasicASCII,t.ambiguousCharacters,t.invisibleCharacters].every((t=>!1===t)))return;const i={nonBasicASCII:t.nonBasicASCII,ambiguousCharacters:t.ambiguousCharacters,invisibleCharacters:t.invisibleCharacters,includeComments:t.includeComments,includeStrings:t.includeStrings,allowedCodePoints:Object.keys(t.allowedCharacters).map((t=>t.codePointAt(0))),allowedLocales:Object.keys(t.allowedLocales).map((t=>"_os"===t?(new Intl.NumberFormat).resolvedOptions().locale:"_vscode"===t?Rt:t))};this._highlighter=this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?new mtt(this._editor,i,this._updateState,this._editorWorkerService):new wtt(this._editor,i,this._updateState)}getDecorationInfo(t){return this._highlighter?this._highlighter.getDecorationInfo(t):null}};gtt.ID="editor.contrib.unicodeHighlighter",gtt=dtt([ftt(1,lP),ftt(2,tI),ftt(3,ur)],gtt);let mtt=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._options=i,this._updateState=e,this._editorWorkerService=s,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new pc((()=>this._update()),250)),this._register(this._editor.onDidChangeModelContent((()=>{this._updateSoon.schedule()}))),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII())return void this._decorations.clear();const t=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then((i=>{if(this._model.isDisposed())return;if(this._model.getVersionId()!==t)return;this._updateState(i);const e=[];if(!i.hasMore)for(const t of i.ranges)e.push({range:t,options:xtt.instance.getDecorationFromOptions(this._options)});this._decorations.set(e)}))}getDecorationInfo(t){if(!this._decorations.has(t))return null;const i=this._editor.getModel();return SF(i,t)?{reason:ktt(i.getValueInRange(t.range),this._options),inComment:DF(i,t),inString:EF(i,t)}:null}};mtt=dtt([ftt(3,lP)],mtt);class wtt extends ie{constructor(t,i,e){super(),this._editor=t,this._options=i,this._updateState=e,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new pc((()=>this._update()),250)),this._register(this._editor.onDidLayoutChange((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidScrollChange((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidChangeHiddenAreas((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidChangeModelContent((()=>{this._updateSoon.schedule()}))),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII())return void this._decorations.clear();const t=this._editor.getVisibleRanges(),i=[],e={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const i of t){const t=qf.computeUnicodeHighlights(this._model,this._options,i);for(const i of t.ranges)e.ranges.push(i);e.ambiguousCharacterCount+=e.ambiguousCharacterCount,e.invisibleCharacterCount+=e.invisibleCharacterCount,e.nonBasicAsciiCharacterCount+=e.nonBasicAsciiCharacterCount,e.hasMore=e.hasMore||t.hasMore}if(!e.hasMore)for(const t of e.ranges)i.push({range:t,options:xtt.instance.getDecorationFromOptions(this._options)});this._updateState(e),this._decorations.set(i)}getDecorationInfo(t){if(!this._decorations.has(t))return null;const i=this._editor.getModel(),e=i.getValueInRange(t.range);return SF(i,t)?{reason:ktt(e,this._options),inComment:DF(i,t),inString:EF(i,t)}:null}}let vtt=class{constructor(t,i,e){this._editor=t,this._languageService=i,this._openerService=e,this.hoverOrdinal=5}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type)return[];const e=this._editor.getModel(),s=this._editor.getContribution(gtt.ID);if(!s)return[];const n=[],o=new Set;let r=300;for(const t of i){const i=s.getDecorationInfo(t);if(!i)continue;const h=e.getValueInRange(t.range).codePointAt(0),c=ytt(h);let a;switch(i.reason.kind){case 0:a=Eo(i.reason.confusableWith)?rt(0,"The character {0} could be confused with the ASCII character {1}, which is more common in source code.",c,ytt(i.reason.confusableWith.codePointAt(0))):rt(0,"The character {0} could be confused with the character {1}, which is more common in source code.",c,ytt(i.reason.confusableWith.codePointAt(0)));break;case 1:a=rt(0,"The character {0} is invisible.",c);break;case 2:a=rt(0,"The character {0} is not a basic ASCII character.",c)}if(o.has(a))continue;o.add(a);const l={codePoint:h,reason:i.reason,inComment:i.inComment,inString:i.inString},u=rt(0,"Adjust settings"),d=`command:${Mtt.ID}?${encodeURIComponent(JSON.stringify(l))}`,f=new M_("",!0).appendMarkdown(a).appendText(" ").appendLink(d,u);n.push(new BX(this,t.range,[f],!1,r++))}return n}renderHoverParts(t,i){return $X(t,i,this._editor,this._languageService,this._openerService)}};function btt(t){return`U+${t.toString(16).padStart(4,"0")}`}function ytt(t){let i=`\`${btt(t)}\``;return Po.isInvisibleCharacter(t)||(i+=` "${function(t){return 96===t?"`` ` ``":"`"+String.fromCodePoint(t)+"`"}(t)}"`),i}function ktt(t,i){return qf.computeUnicodeHighlightReason(t,i)}vtt=dtt([ftt(1,yd),ftt(2,nP)],vtt);class xtt{constructor(){this.map=new Map}getDecorationFromOptions(t){return this.getDecoration(!t.includeComments,!t.includeStrings)}getDecoration(t,i){const e=`${t}${i}`;let s=this.map.get(e);return s||(s=bL.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:t,hideInStringTokens:i}),this.map.set(e,s)),s}}xtt.instance=new xtt;class Ctt extends su{constructor(){super({id:Dtt.ID,label:rt(0,"Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=rt(0,"Disable Highlight In Comments")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Li,!1,2)}}class Stt extends su{constructor(){super({id:Dtt.ID,label:rt(0,"Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=rt(0,"Disable Highlight In Strings")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Fi,!1,2)}}class Dtt extends su{constructor(){super({id:Dtt.ID,label:rt(0,"Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=rt(0,"Disable Ambiguous Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Mi,!1,2)}}Dtt.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";class Ett extends su{constructor(){super({id:Ett.ID,label:rt(0,"Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=rt(0,"Disable Invisible Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Ei,!1,2)}}Ett.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";class Att extends su{constructor(){super({id:Att.ID,label:rt(0,"Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=rt(0,"Disable Non ASCII Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Ai,!1,2)}}Att.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";class Mtt extends su{constructor(){super({id:Mtt.ID,label:rt(0,"Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(t,i,e){const{codePoint:s,reason:n,inString:o,inComment:r}=e,h=String.fromCodePoint(s),c=t.get(Dj),a=t.get(pd),l=[];if(0===n.kind)for(const t of n.notAmbiguousInLocales)l.push({label:rt(0,'Allow unicode characters that are more common in the language "{0}".',t),run:async()=>{Ltt(a,[t])}});if(l.push({label:function(t){return Po.isInvisibleCharacter(t)?rt(0,"Exclude {0} (invisible character) from being highlighted",btt(t)):rt(0,"Exclude {0} from being highlighted",`${btt(t)} "${h}"`)}(s),run:()=>async function(t,i){const e=t.getValue(Di);let s;s="object"==typeof e&&e?e:{};for(const t of i)s[String.fromCodePoint(t)]=!0;await t.updateValue(Di,s,2)}(a,[s])}),r){const t=new Ctt;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(o){const t=new Stt;l.push({label:t.label,run:async()=>t.runAction(a)})}if(0===n.kind){const t=new Dtt;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(1===n.kind){const t=new Ett;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(2===n.kind){const t=new Att;l.push({label:t.label,run:async()=>t.runAction(a)})}else!function(t){throw new Error(`Unexpected value: ${t}`)}(n);const u=await c.pick(l,{title:rt(0,"Configure Unicode Highlight Options")});u&&await u.run()}}async function Ltt(t,i){var e;const s=null===(e=t.inspect(Ti).user)||void 0===e?void 0:e.value;let n;n="object"==typeof s&&s?Object.assign({},s):{};for(const t of i)n[t]=!0;await t.updateValue(Ti,n,2)}Mtt.ID="editor.action.unicodeHighlight.showExcludeOptions",cu(Dtt),cu(Ett),cu(Att),cu(Mtt),lu(gtt.ID,gtt,1),pX.register(vtt);var Ftt=function(t,i){return function(e,s){i(e,s,t)}};const Ttt="ignoreUnusualLineTerminators";let Rtt=class extends ie{constructor(t,i,e){super(),this._editor=t,this._dialogService=i,this._codeEditorService=e,this._isPresentingDialog=!1,this._config=this._editor.getOption(125),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(125)&&(this._config=this._editor.getOption(125),this._checkForUnusualLineTerminators())}))),this._register(this._editor.onDidChangeModel((()=>{this._checkForUnusualLineTerminators()}))),this._register(this._editor.onDidChangeModelContent((t=>{t.isUndoing||this._checkForUnusualLineTerminators()}))),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if("off"===this._config)return;if(!this._editor.hasModel())return;const t=this._editor.getModel();if(!t.mightContainUnusualLineTerminators())return;const i=function(t,i){return t.getModelProperty(i.uri,Ttt)}(this._codeEditorService,t);if(!0===i)return;if(this._editor.getOption(90))return;if("auto"===this._config)return void t.removeUnusualLineTerminators(this._editor.getSelections());if(this._isPresentingDialog)return;let e;try{this._isPresentingDialog=!0,e=await this._dialogService.confirm({title:rt(0,"Unusual Line Terminators"),message:rt(0,"Detected unusual line terminators"),detail:rt(0,"The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",uA(t.uri)),primaryButton:rt(0,"&&Remove Unusual Line Terminators"),cancelButton:rt(0,"Ignore")})}finally{this._isPresentingDialog=!1}e.confirmed?t.removeUnusualLineTerminators(this._editor.getSelections()):function(t,i){t.setModelProperty(i.uri,Ttt,!0)}(this._codeEditorService,t)}};Rtt.ID="editor.contrib.unusualLineTerminatorsDetector",Rtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Ftt(1,HT),Ftt(2,fr)],Rtt),lu(Rtt.ID,Rtt,1);var Ott,Itt,_tt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Ntt=function(t,i){return function(e,s){i(e,s,t)}};const Btt=new ch("hasWordHighlights",!1);function Ptt(t,i,e,s){return uc(t.ordered(i).map((t=>()=>Promise.resolve(t.provideDocumentHighlights(i,e,s)).then(void 0,$i))),y).then((t=>{if(t){const e=new _p;return e.set(i.uri,t),e}return new _p}))}class $tt{constructor(t,i,e){this._model=t,this._selection=i,this._wordSeparators=e,this._wordRange=this._getCurrentWordRange(t,i),this._result=null}get result(){return this._result||(this._result=nc((t=>this._compute(this._model,this._selection,this._wordSeparators,t)))),this._result}_getCurrentWordRange(t,i){const e=t.getWordAtPosition(i.getPosition());return e?new Ms(i.startLineNumber,e.startColumn,i.startLineNumber,e.endColumn):null}isValid(t,i,e){const s=i.startLineNumber,n=i.startColumn,o=i.endColumn,r=this._getCurrentWordRange(t,i);let h=Boolean(this._wordRange&&this._wordRange.equalsRange(r));for(let t=0,i=e.length;!h&&t=o&&(h=!0)}return h}cancel(){this.result.cancel()}}class Wtt extends $tt{constructor(t,i,e,s){super(t,i,e),this._providers=s}_compute(t,i,e,s){return Ptt(this._providers,t,i.getPosition(),s).then((t=>t||new _p))}}class jtt extends $tt{constructor(t,i,e,s,n){super(t,i,e),this._providers=s,this._otherModels=n}_compute(t,i,e,s){return function(t,i,e,s,n,o){return uc(t.ordered(i).map((t=>()=>{const s=o.filter((i=>UR(t.selector,i.uri,i.getLanguageId(),!0,void 0,void 0)>0));return Promise.resolve(t.provideMultiDocumentHighlights(i,e,s,n)).then(void 0,$i)})),(t=>t instanceof _p&&t.size>0))}(this._providers,t,i.getPosition(),0,s,this._otherModels).then((t=>t||new _p))}}class ztt extends $tt{constructor(t,i,e,s,n){super(t,i,s),this._otherModels=n,this._selectionIsEmpty=i.isEmpty(),this._word=e}_compute(t,i,e,s){return ac(250,s).then((()=>{const s=new _p;let n;if(n=this._word?this._word:t.getWordAtPosition(i.getPosition()),!n)return new _p;const o=[t,...this._otherModels];for(const t of o){if(t.isDisposed())continue;const i=t.findMatches(n.word,!0,!1,!0,e,!1).map((t=>({range:t.range,kind:js.Text})));i&&s.set(t.uri,i)}return s}))}isValid(t,i,e){const s=i.isEmpty();return this._selectionIsEmpty===s&&super.isValid(t,i,e)}}ru("_executeDocumentHighlights",(async(t,i,e)=>{const s=t.get(gg),n=await Ptt(s.documentHighlightProvider,i,e,xe.None);return null==n?void 0:n.get(i.uri)}));let Htt=Ott=class{constructor(t,i,e,s,n){this.toUnhook=new te,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new _p,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=t,this.providers=i,this.multiDocumentProviders=e,this.codeEditorService=n,this._hasWordHighlights=Btt.bindTo(s),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(80),this.model=this.editor.getModel(),this.toUnhook.add(t.onDidChangeCursorPosition((t=>{this._ignorePositionChangeEvent||"off"!==this.occurrencesHighlight&&this._onPositionChanged(t)}))),this.toUnhook.add(t.onDidChangeModelContent((()=>{this._stopAll()}))),this.toUnhook.add(t.onDidChangeModel((t=>{!t.newModelUrl&&t.oldModelUrl?this._stopSingular():Ott.query&&this._run()}))),this.toUnhook.add(t.onDidChangeConfiguration((()=>{const t=this.editor.getOption(80);this.occurrencesHighlight!==t&&(this.occurrencesHighlight=t,this._stopAll())}))),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,Ott.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){"off"!==this.occurrencesHighlight&&this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(Ms.compareRangesUsingStarts)}moveNext(){const t=this._getSortedHighlights(),i=t.findIndex((t=>t.containsPosition(this.editor.getPosition()))),e=(i+1)%t.length,s=t[e];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(s.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(s);const i=this._getWord();i&&Tm(`${this.editor.getModel().getLineContent(s.startLineNumber)}, ${e+1} of ${t.length} for '${i.word}'`)}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const t=this._getSortedHighlights(),i=t.findIndex((t=>t.containsPosition(this.editor.getPosition()))),e=(i-1+t.length)%t.length,s=t[e];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(s.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(s);const i=this._getWord();i&&Tm(`${this.editor.getModel().getLineContent(s.startLineNumber)}, ${e+1} of ${t.length} for '${i.word}'`)}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const t=Ott.storedDecorations.get(this.editor.getModel().uri);t&&(this.editor.removeDecorations(t),Ott.storedDecorations.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(){const t=this.codeEditorService.listCodeEditors();for(const i of t){if(!i.hasModel())continue;const t=Ott.storedDecorations.get(i.getModel().uri);if(!t)continue;i.removeDecorations(t),Ott.storedDecorations.delete(i.getModel().uri);const e=Vtt.get(i);(null==e?void 0:e.wordHighlighter)&&e.wordHighlighter.decorations.length>0&&(e.wordHighlighter.decorations.clear(),e.wordHighlighter._hasWordHighlights.set(!1))}}_stopSingular(){var t,i,e,s;this._removeSingleDecorations(),this.editor.hasWidgetFocus()&&((null===(t=this.editor.getModel())||void 0===t?void 0:t.uri.scheme)!==ka.vscodeNotebookCell&&(null===(e=null===(i=Ott.query)||void 0===i?void 0:i.modelInfo)||void 0===e?void 0:e.model.uri.scheme)!==ka.vscodeNotebookCell?(Ott.query=null,this._run()):(null===(s=Ott.query)||void 0===s?void 0:s.modelInfo)&&(Ott.query.modelInfo=null)),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(){this._removeAllDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(t){var i;"off"===this.occurrencesHighlight||3!==t.reason&&(null===(i=this.editor.getModel())||void 0===i?void 0:i.uri.scheme)!==ka.vscodeNotebookCell?this._stopAll():this._run()}_getWord(){const t=this.editor.getSelection(),i=t.startLineNumber,e=t.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:i,column:e})}getOtherModelsToHighlight(t){if(!t)return[];if(t.uri.scheme===ka.vscodeNotebookCell){const i=[],e=this.codeEditorService.listCodeEditors();for(const s of e){const e=s.getModel();e&&e!==t&&e.uri.scheme===ka.vscodeNotebookCell&&i.push(e)}return i}const i=[],e=this.codeEditorService.listCodeEditors();for(const s of e){if(!vK(s))continue;const e=s.getModel();e&&t===e.modified&&i.push(e.modified)}if(i.length)return i;if("singleFile"===this.occurrencesHighlight)return[];for(const s of e){const e=s.getModel();e&&e!==t&&i.push(e)}return i}_run(){var t,i;let e;if(this.editor.hasWidgetFocus()){const t=this.editor.getSelection();if(!t||t.startLineNumber!==t.endLineNumber)return void this._stopAll();const i=t.startColumn,s=t.endColumn,n=this._getWord();if(!n||n.startColumn>i||n.endColumn{e===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=t||[],this._beginRenderDecorations())}),Pi)}}computeWithModel(t,i,e,s){return s.length?function(t,i,e,s,n,o){return t.has(i)?new jtt(i,e,n,t,o):new ztt(i,e,s,n,o)}(this.multiDocumentProviders,t,i,e,this.editor.getOption(129),s):function(t,i,e,s,n){return t.has(i)?new Wtt(i,e,n,t):new ztt(i,e,s,n,[])}(this.providers,t,i,e,this.editor.getOption(129))}_beginRenderDecorations(){const t=(new Date).getTime(),i=this.lastCursorPositionChangeTime+250;t>=i?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout((()=>{this.renderDecorations()}),i-t)}renderDecorations(){var t,i,e;this.renderDecorationsTimer=-1;const s=this.codeEditorService.listCodeEditors();for(const o of s){const s=Vtt.get(o);if(!s)continue;const r=[],h=null===(t=o.getModel())||void 0===t?void 0:t.uri;if(h&&this.workerRequestValue.has(h)){const t=Ott.storedDecorations.get(h),c=this.workerRequestValue.get(h);if(c)for(const t of c)r.push({range:t.range,options:(n=t.kind,n===js.Write?p7:n===js.Text?g7:v7)});let a=[];o.changeDecorations((i=>{a=i.deltaDecorations(null!=t?t:[],r)})),Ott.storedDecorations=Ott.storedDecorations.set(h,a),r.length>0&&(null===(i=s.wordHighlighter)||void 0===i||i.decorations.set(r),null===(e=s.wordHighlighter)||void 0===e||e._hasWordHighlights.set(!0))}}var n}dispose(){this._stopSingular(),this.toUnhook.dispose()}};Htt.storedDecorations=new _p,Htt.query=null,Htt=Ott=_tt([Ntt(4,fr)],Htt);let Vtt=Itt=class extends ie{static get(t){return t.getContribution(Itt.ID)}constructor(t,i,e,s){super(),this._wordHighlighter=null;const n=()=>{t.hasModel()&&!t.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new Htt(t,e.documentHighlightProvider,e.multiDocumentHighlightProvider,i,s))};this._register(t.onDidChangeModel((()=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),n()}))),n()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!(!this._wordHighlighter||!this._wordHighlighter.hasDecorations())}moveNext(){var t;null===(t=this._wordHighlighter)||void 0===t||t.moveNext()}moveBack(){var t;null===(t=this._wordHighlighter)||void 0===t||t.moveBack()}restoreViewState(t){this._wordHighlighter&&t&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};Vtt.ID="editor.contrib.wordHighlighter",Vtt=Itt=_tt([Ntt(1,ah),Ntt(2,gg),Ntt(3,fr)],Vtt);class Utt extends su{constructor(t,i){super(i),this._isNext=t}run(t,i){const e=Vtt.get(i);e&&(this._isNext?e.moveNext():e.moveBack())}}lu(Vtt.ID,Vtt,0),cu(class extends Utt{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:rt(0,"Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:Btt,kbOpts:{kbExpr:UC.editorTextFocus,primary:65,weight:100}})}}),cu(class extends Utt{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:rt(0,"Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:Btt,kbOpts:{kbExpr:UC.editorTextFocus,primary:1089,weight:100}})}}),cu(class extends su{constructor(){super({id:"editor.action.wordHighlight.trigger",label:rt(0,"Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:Btt.toNegated(),kbOpts:{kbExpr:UC.editorTextFocus,primary:0,weight:100}})}run(t,i,e){const s=Vtt.get(i);s&&s.restoreViewState(!0)}});class qtt extends eu{constructor(t){super(t),this._inSelectionMode=t.inSelectionMode,this._wordNavigationType=t.wordNavigationType}runEditorCommand(t,i,e){if(!i.hasModel())return;const s=Af(i.getOption(129)),n=i.getModel(),o=i.getSelections().map((t=>{const i=new As(t.positionLineNumber,t.positionColumn),e=this._move(s,n,i,this._wordNavigationType);return this._moveTo(t,e,this._inSelectionMode)}));if(n.pushStackElement(),i._getViewModel().setCursorStates("moveWordCommand",3,o.map((t=>cC.fromModelSelection(t)))),1===o.length){const t=new As(o[0].positionLineNumber,o[0].positionColumn);i.revealPosition(t,0)}}_moveTo(t,i,e){return e?new Ls(t.selectionStartLineNumber,t.selectionStartColumn,i.lineNumber,i.column):new Ls(i.lineNumber,i.column,i.lineNumber,i.column)}}class Ktt extends qtt{_move(t,i,e,s){return CC.moveWordLeft(t,i,e,s)}}class Gtt extends qtt{_move(t,i,e,s){return CC.moveWordRight(t,i,e,s)}}class Ztt extends eu{constructor(t){super(t),this._whitespaceHeuristics=t.whitespaceHeuristics,this._wordNavigationType=t.wordNavigationType}runEditorCommand(t,i,e){const s=t.get(qd);if(!i.hasModel())return;const n=Af(i.getOption(129)),o=i.getModel(),r=i.getSelections(),h=i.getOption(6),c=i.getOption(11),a=s.getLanguageConfiguration(o.getLanguageId()).getAutoClosingPairs(),l=i._getViewModel(),u=r.map((t=>{const e=this._delete({wordSeparators:n,model:o,selection:t,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:i.getOption(9),autoClosingBrackets:h,autoClosingQuotes:c,autoClosingPairs:a,autoClosedCharacters:l.getCursorAutoClosedCharacters()},this._wordNavigationType);return new gC(e,"")}));i.pushUndoStop(),i.executeCommands(this.id,u),i.pushUndoStop()}}class Qtt extends Ztt{_delete(t,i){return CC.deleteWordLeft(t,i)||new Ms(1,1,1,1)}}class Jtt extends Ztt{_delete(t,i){const e=CC.deleteWordRight(t,i);if(e)return e;const s=t.model.getLineCount(),n=t.model.getLineMaxColumn(s);return new Ms(s,n,s,n)}}hu(new class extends Ktt{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}),hu(new class extends Ktt{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}),hu(new class extends Ktt{constructor(){var t;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:zr.and(UC.textInputFocus,null===(t=zr.and(Hm,uW))||void 0===t?void 0:t.negate()),primary:2063,mac:{primary:527},weight:100}})}}),hu(new class extends Ktt{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}),hu(new class extends Ktt{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}),hu(new class extends Ktt{constructor(){var t;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:zr.and(UC.textInputFocus,null===(t=zr.and(Hm,uW))||void 0===t?void 0:t.negate()),primary:3087,mac:{primary:1551},weight:100}})}}),hu(new class extends Gtt{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}),hu(new class extends Gtt{constructor(){var t;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:zr.and(UC.textInputFocus,null===(t=zr.and(Hm,uW))||void 0===t?void 0:t.negate()),primary:2065,mac:{primary:529},weight:100}})}}),hu(new class extends Gtt{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}),hu(new class extends Gtt{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}),hu(new class extends Gtt{constructor(){var t;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:zr.and(UC.textInputFocus,null===(t=zr.and(Hm,uW))||void 0===t?void 0:t.negate()),primary:3089,mac:{primary:1553},weight:100}})}}),hu(new class extends Gtt{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}),hu(new class extends Ktt{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(t,i,e,s){return super._move(Af(Ni.wordSeparators.defaultValue),i,e,s)}}),hu(new class extends Ktt{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(t,i,e,s){return super._move(Af(Ni.wordSeparators.defaultValue),i,e,s)}}),hu(new class extends Gtt{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(t,i,e,s){return super._move(Af(Ni.wordSeparators.defaultValue),i,e,s)}}),hu(new class extends Gtt{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(t,i,e,s){return super._move(Af(Ni.wordSeparators.defaultValue),i,e,s)}}),hu(new class extends Qtt{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:UC.writable})}}),hu(new class extends Qtt{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:UC.writable})}}),hu(new class extends Qtt{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:UC.writable,kbOpts:{kbExpr:UC.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}),hu(new class extends Jtt{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:UC.writable})}}),hu(new class extends Jtt{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:UC.writable})}}),hu(new class extends Jtt{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:UC.writable,kbOpts:{kbExpr:UC.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}),cu(class extends su{constructor(){super({id:"deleteInsideWord",precondition:UC.writable,label:rt(0,"Delete Word"),alias:"Delete Word"})}run(t,i,e){if(!i.hasModel())return;const s=Af(i.getOption(129)),n=i.getModel(),o=i.getSelections().map((t=>{const i=CC.deleteInsideWord(s,n,t);return new gC(i,"")}));i.pushUndoStop(),i.executeCommands(this.id,o),i.pushUndoStop()}});class Ytt extends qtt{_move(t,i,e,s){return SC.moveWordPartLeft(t,i,e)}}Dr.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft"),Dr.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class Xtt extends qtt{_move(t,i,e,s){return SC.moveWordPartRight(t,i,e)}}hu(new class extends Ztt{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:UC.writable,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(t,i){return SC.deleteWordPartLeft(t)||new Ms(1,1,1,1)}}),hu(new class extends Ztt{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:UC.writable,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(t,i){const e=SC.deleteWordPartRight(t);if(e)return e;const s=t.model.getLineCount(),n=t.model.getLineMaxColumn(s);return new Ms(s,n,s,n)}}),hu(new class extends Ytt{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}),hu(new class extends Ytt{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}),hu(new class extends Xtt{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}),hu(new class extends Xtt{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}});class tit extends ie{constructor(t){super(),this.editor=t,this._register(this.editor.onDidAttemptReadOnlyEdit((()=>this._onDidAttemptReadOnlyEdit())))}_onDidAttemptReadOnlyEdit(){const t=hQ.get(this.editor);if(t&&this.editor.hasModel()){let i=this.editor.getOptions().get(91);i||(i=new M_(rt(0,this.editor.isSimpleWidget?"Cannot edit in read-only input":"Cannot edit in read-only editor"))),t.showMessage(i,this.editor.getPosition())}}}tit.ID="editor.contrib.readOnlyMessageController",lu(tit.ID,tit,2);class iit extends ie{constructor(t){super(),this.editor=t,this.widget=null,Lt&&(this._register(t.onDidChangeConfiguration((()=>this.update()))),this.update())}update(){const t=!this.editor.getOption(90);!this.widget&&t?this.widget=new eit(this.editor):this.widget&&!t&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}iit.ID="editor.contrib.iPadShowKeyboard";class eit extends ie{constructor(t){super(),this.editor=t,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Va(this._domNode,"touchstart",(()=>{this.editor.focus()}))),this._register(Va(this._domNode,"focus",(()=>{this.editor.focus()}))),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return eit.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}eit.ID="editor.contrib.ShowKeyboardWidget",lu(iit.ID,iit,3);var sit,nit=function(t,i){return function(e,s){i(e,s,t)}};let oit=sit=class extends ie{static get(t){return t.getContribution(sit.ID)}constructor(t,i,e){super(),this._editor=t,this._languageService=e,this._widget=null,this._register(this._editor.onDidChangeModel((()=>this.stop()))),this._register(this._editor.onDidChangeModelLanguage((()=>this.stop()))),this._register(Zs.onDidChange((()=>this.stop()))),this._register(this._editor.onKeyUp((t=>9===t.keyCode&&this.stop())))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new rit(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};oit.ID="editor.contrib.inspectTokens",oit=sit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([nit(1,Yz),nit(2,yd)],oit);class rit extends ie{constructor(t,i){super(),this.allowEditorOverflow=!0,this._editor=t,this._languageService=i,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=function(t,i){const e=Zs.get(i);if(e)return e;const s=t.encodeLanguageId(i);return{getInitialState:()=>Ag,tokenize:(t,e,s)=>Mg(i,s),tokenizeEncoded:(t,i,e)=>Lg(s,e)}}(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition((()=>this._compute(this._editor.getPosition())))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return rit._ID}_compute(t){const i=this._getTokensAtLine(t.lineNumber);let e=0;for(let s=i.tokens1.length-1;s>=0;s--)if(t.column-1>=i.tokens1[s].offset){e=s;break}let s=0;for(let e=i.tokens2.length>>>1;e>=0;e--)if(t.column-1>=i.tokens2[e<<1]){s=e;break}const n=this._model.getLineContent(t.lineNumber);let o="";e{const[i]=t.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})}))),i.add(t.onDidChangeValue((t=>{const i=this.registry.getQuickAccessProvider(t.substr(hit.PREFIX.length));i&&i.prefix&&i.prefix!==hit.PREFIX&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})}))),t.items=this.getQuickAccessProviders().filter((t=>t.prefix!==hit.PREFIX)),i}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort(((t,i)=>t.prefix.localeCompare(i.prefix))).flatMap((t=>this.createPicks(t)))}createPicks(t){return t.helpEntries.map((i=>{const e=i.prefix||t.prefix,s=e||"…";return{prefix:e,label:s,keybinding:i.commandId?this.keybindingService.lookupKeybinding(i.commandId):void 0,ariaLabel:rt(0,"{0}, {1}",s,i.description),description:i.description}}))}};ait.PREFIX="?",ait=hit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([cit(0,Dj),cit(1,Yx)],ait),Dh.as(kj).registerQuickAccessProvider({ctor:ait,prefix:"",helpEntries:[{description:GO.helpQuickAccessActionLabel}]});class lit{constructor(t){this.options=t,this.rangeHighlightDecorationId=void 0}provide(t,i){var e;const s=new te;t.canAcceptInBackground=!!(null===(e=this.options)||void 0===e?void 0:e.canAcceptInBackground),t.matchOnLabel=t.matchOnDescription=t.matchOnDetail=t.sortByLabel=!1;const n=s.add(new ee);return n.value=this.doProvide(t,i),s.add(this.onDidActiveTextEditorControlChange((()=>{n.value=void 0,n.value=this.doProvide(t,i)}))),s}doProvide(t,i){var e;const s=new te,n=this.activeTextEditorControl;if(n&&this.canProvideWithTextEditor(n)){const o={editor:n},r=bK(n);if(r){let t=null!==(e=n.saveViewState())&&void 0!==e?e:void 0;s.add(r.onDidChangeCursorPosition((()=>{var i;t=null!==(i=n.saveViewState())&&void 0!==i?i:void 0}))),o.restoreViewState=()=>{t&&n===this.activeTextEditorControl&&n.restoreViewState(t)},s.add(Zi(i.onCancellationRequested)((()=>{var t;return null===(t=o.restoreViewState)||void 0===t?void 0:t.call(o)})))}s.add(Xi((()=>this.clearDecorations(n)))),s.add(this.provideWithTextEditor(o,t,i))}else s.add(this.provideWithoutTextEditor(t,i));return s}canProvideWithTextEditor(t){return!0}gotoLocation({editor:t},i){t.setSelection(i.range),t.revealRangeInCenter(i.range,0),i.preserveFocus||t.focus();const e=t.getModel();e&&"getLineContent"in e&&Rm(`${e.getLineContent(i.range.startLineNumber)}`)}getModel(t){var i;return vK(t)?null===(i=t.getModel())||void 0===i?void 0:i.modified:t.getModel()}addDecorations(t,i){t.changeDecorations((t=>{const e=[];this.rangeHighlightDecorationId&&(e.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),e.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const s=[{range:i,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:i,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:Kk(Dx),position:Mf.Full}}}],[n,o]=t.deltaDecorations(e,s);this.rangeHighlightDecorationId={rangeHighlightId:n,overviewRulerDecorationId:o}}))}clearDecorations(t){const i=this.rangeHighlightDecorationId;i&&(t.changeDecorations((t=>{t.deltaDecorations([i.overviewRulerDecorationId,i.rangeHighlightId],[])})),this.rangeHighlightDecorationId=void 0)}}class uit extends lit{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(t){const i=rt(0,"Open a text editor first to go to a line.");return t.items=[{label:i}],t.ariaLabel=i,ie.None}provideWithTextEditor(t,i,e){const s=t.editor,n=new te;n.add(i.onDidAccept((e=>{const[n]=i.selectedItems;if(n){if(!this.isValidLineNumber(s,n.lineNumber))return;this.gotoLocation(t,{range:this.toRange(n.lineNumber,n.column),keyMods:i.keyMods,preserveFocus:e.inBackground}),e.inBackground||i.hide()}})));const o=()=>{const t=this.parsePosition(s,i.value.trim().substr(uit.PREFIX.length)),e=this.getPickLabel(s,t.lineNumber,t.column);if(i.items=[{lineNumber:t.lineNumber,column:t.column,label:e}],i.ariaLabel=e,!this.isValidLineNumber(s,t.lineNumber))return void this.clearDecorations(s);const n=this.toRange(t.lineNumber,t.column);s.revealRangeInCenter(n,0),this.addDecorations(s,n)};o(),n.add(i.onDidChangeValue((()=>o())));const r=bK(s);return r&&2===r.getOptions().get(67).renderType&&(r.updateOptions({lineNumbers:"on"}),n.add(Xi((()=>r.updateOptions({lineNumbers:"relative"}))))),n}toRange(t=1,i=1){return{startLineNumber:t,startColumn:i,endLineNumber:t,endColumn:i}}parsePosition(t,i){const e=i.split(/,|:|#/).map((t=>parseInt(t,10))).filter((t=>!isNaN(t))),s=this.lineCount(t)+1;return{lineNumber:e[0]>0?e[0]:s+e[0],column:e[1]}}getPickLabel(t,i,e){if(this.isValidLineNumber(t,i))return this.isValidColumn(t,i,e)?rt(0,"Go to line {0} and character {1}.",i,e):rt(0,"Go to line {0}.",i);const s=t.getPosition()||{lineNumber:1,column:1},n=this.lineCount(t);return n>1?rt(0,"Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",s.lineNumber,s.column,n):rt(0,"Current Line: {0}, Character: {1}. Type a line number to navigate to.",s.lineNumber,s.column)}isValidLineNumber(t,i){return!(!i||"number"!=typeof i)&&i>0&&i<=this.lineCount(t)}isValidColumn(t,i,e){if(!e||"number"!=typeof e)return!1;const s=this.getModel(t);if(!s)return!1;const n={lineNumber:i,column:e};return s.validatePosition(n).equals(n)}lineCount(t){var i,e;return null!==(e=null===(i=this.getModel(t))||void 0===i?void 0:i.getLineCount())&&void 0!==e?e:0}}uit.PREFIX=":";let dit=class extends uit{constructor(t){super(),this.editorService=t,this.onDidActiveTextEditorControlChange=ce.None}get activeTextEditorControl(){var t;return null!==(t=this.editorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}};dit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,fr)],dit);class fit extends su{constructor(){super({id:fit.ID,label:KO.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:2085,mac:{primary:293},weight:100}})}run(t){t.get(Dj).quickAccess.show(dit.PREFIX)}}fit.ID="editor.action.gotoLine",cu(fit),Dh.as(kj).registerQuickAccessProvider({ctor:dit,prefix:dit.PREFIX,helpEntries:[{description:KO.gotoLineActionLabel,commandId:fit.ID}]});const pit=[void 0,[]];function git(t,i,e=0,s=0){return i.values&&i.values.length>1?function(t,i,e,s){let n=0;const o=[];for(const r of i){const[i,h]=mit(t,r,e,s);if("number"!=typeof i)return pit;n+=i,o.push(...h)}return[n,wit(o)]}(t,i.values,e,s):mit(t,i,e,s)}function mit(t,i,e,s){const n=m_(i.original,i.originalLowercase,e,t,t.toLowerCase(),s,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],e_(n)]:pit}function wit(t){const i=t.sort(((t,i)=>t.start-i.start)),e=[];let s;for(const t of i)!s||((n=s).end<(o=t).start||o.end=0,r=vit(t);let h;const c=t.split(bit);if(c.length>1)for(const t of c){const i=vit(t),{pathNormalized:e,normalized:s,normalizedLowercase:n}=kit(t);s&&(h||(h=[]),h.push({original:t,originalLowercase:t.toLowerCase(),pathNormalized:e,normalized:s,normalizedLowercase:n,expectContiguousMatch:i}))}return{original:t,originalLowercase:i,pathNormalized:e,normalized:s,normalizedLowercase:n,values:h,containsPathSeparator:o,expectContiguousMatch:r}}function kit(t){let i;i=t.replace(Ct?/\//g:/\\/g,as);const e=(s=i,s.replace(/\*/g,"")).replace(/\s|"/g,"");var s;return{pathNormalized:i,normalized:e,normalizedLowercase:e.toLowerCase()}}function xit(t){return Array.isArray(t)?yit(t.map((t=>t.original)).join(bit)):yit(t.original)}var Cit,Sit=function(t,i){return function(e,s){i(e,s,t)}};let Dit=Cit=class extends lit{constructor(t,i,e=Object.create(null)){super(e),this._languageFeaturesService=t,this._outlineModelService=i,this.options=e,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(t){return this.provideLabelPick(t,rt(0,"To go to a symbol, first open a text editor with symbol information.")),ie.None}provideWithTextEditor(t,i,e){const s=this.getModel(t.editor);return s?this._languageFeaturesService.documentSymbolProvider.has(s)?this.doProvideWithEditorSymbols(t,s,i,e):this.doProvideWithoutEditorSymbols(t,s,i,e):ie.None}doProvideWithoutEditorSymbols(t,i,e,s){const n=new te;return this.provideLabelPick(e,rt(0,"The active text editor does not provide symbol information.")),(async()=>{await this.waitForLanguageSymbolRegistry(i,n)&&!s.isCancellationRequested&&n.add(this.doProvideWithEditorSymbols(t,i,e,s))})(),n}provideLabelPick(t,i){t.items=[{label:i,index:0,kind:14}],t.ariaLabel=i}async waitForLanguageSymbolRegistry(t,i){if(this._languageFeaturesService.documentSymbolProvider.has(t))return!0;const e=new bc,s=i.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>{this._languageFeaturesService.documentSymbolProvider.has(t)&&(s.dispose(),e.complete(!0))})));return i.add(Xi((()=>e.complete(!1)))),e.p}doProvideWithEditorSymbols(t,i,e,s){var n;const o=t.editor,r=new te;r.add(e.onDidAccept((i=>{const[s]=e.selectedItems;s&&s.range&&(this.gotoLocation(t,{range:s.range.selection,keyMods:e.keyMods,preserveFocus:i.inBackground}),i.inBackground||e.hide())}))),r.add(e.onDidTriggerItemButton((({item:i})=>{i&&i.range&&(this.gotoLocation(t,{range:i.range.selection,keyMods:e.keyMods,forceSideBySide:!0}),e.hide())})));const h=this.getDocumentSymbols(i,s);let c;const a=async t=>{null==c||c.dispose(!0),e.busy=!1,c=new Se(s),e.busy=!0;try{const i=yit(e.value.substr(Cit.PREFIX.length).trim()),n=await this.doGetSymbolPicks(h,i,void 0,c.token);if(s.isCancellationRequested)return;if(n.length>0){if(e.items=n,t&&0===i.original.length){const i=Xf(n,(i=>Boolean("separator"!==i.type&&i.range&&Ms.containsPosition(i.range.decoration,t))));i&&(e.activeItems=[i])}}else this.provideLabelPick(e,rt(0,i.original.length>0?"No matching editor symbols":"No editor symbols"))}finally{s.isCancellationRequested||(e.busy=!1)}};return r.add(e.onDidChangeValue((()=>a(void 0)))),a(null===(n=o.getSelection())||void 0===n?void 0:n.getPosition()),r.add(e.onDidChangeActive((()=>{const[t]=e.activeItems;t&&t.range&&(o.revealRangeInCenter(t.range.selection,0),this.addDecorations(o,t.range.decoration))}))),r}async doGetSymbolPicks(t,i,e,s){var n,o;const r=await t;if(s.isCancellationRequested)return[];const h=0===i.original.indexOf(Cit.SCOPE_PREFIX),c=h?1:0;let a,l,u;i.values&&i.values.length>1?(a=xit(i.values[0]),l=xit(i.values.slice(1))):a=i;const d=null===(o=null===(n=this.options)||void 0===n?void 0:n.openSideBySideDirection)||void 0===o?void 0:o.call(n);d&&(u=[{iconClass:Cr.asClassName("right"===d?Os.splitHorizontal:Os.splitVertical),tooltip:rt(0,"right"===d?"Open to the Side":"Open to the Bottom")}]);const f=[];for(let v=0;vc){let L=!1;if(a!==i&&([C,S]=git(k,{...i,values:void 0},c,x),"number"==typeof C&&(L=!0)),"number"!=typeof C&&([C,S]=git(k,a,c,x),"number"!=typeof C))continue;if(!L&&l){if(A&&l.original.length>0&&([D,E]=git(A,l)),"number"!=typeof D)continue;"number"==typeof C&&(C+=D)}}const M=b.tags&&b.tags.indexOf(1)>=0;f.push({index:v,kind:b.kind,score:C,label:k,ariaLabel:(p=b.name,g=b.kind,rt(0,"{0} ({1})",p,Hs[g])),description:A,highlights:M?void 0:{label:S,description:E},range:{selection:Ms.collapseToStart(b.selectionRange),decoration:b.range},strikethrough:M,buttons:u})}var p,g;const m=f.sort(((t,i)=>h?this.compareByKindAndScore(t,i):this.compareByScore(t,i)));let w=[];if(h){let F,T,R=0;function O(){T&&"number"==typeof F&&R>0&&(T.label=qn(Ait[F]||Eit,R))}for(const I of m)F!==I.kind?(O(),F=I.kind,R=1,T={type:"separator"},w.push(T)):R++,w.push(I);O()}else m.length>0&&(w=[{label:rt(0,"symbols ({0})",f.length),type:"separator"},...m]);return w}compareByScore(t,i){if("number"!=typeof t.score&&"number"==typeof i.score)return 1;if("number"==typeof t.score&&"number"!=typeof i.score)return-1;if("number"==typeof t.score&&"number"==typeof i.score){if(t.score>i.score)return-1;if(t.scorei.index?1:0}compareByKindAndScore(t,i){const e=(Ait[t.kind]||Eit).localeCompare(Ait[i.kind]||Eit);return 0===e?this.compareByScore(t,i):e}async getDocumentSymbols(t,i){const e=await this._outlineModelService.getOrCreate(t,i);return i.isCancellationRequested?[]:e.asListOfDocumentSymbols()}};Dit.PREFIX="@",Dit.SCOPE_PREFIX=":",Dit.PREFIX_BY_CATEGORY=`${Cit.PREFIX}${Cit.SCOPE_PREFIX}`,Dit=Cit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Sit(0,gg),Sit(1,x5)],Dit);const Eit=rt(0,"properties ({0})"),Ait={5:rt(0,"methods ({0})"),11:rt(0,"functions ({0})"),8:rt(0,"constructors ({0})"),12:rt(0,"variables ({0})"),4:rt(0,"classes ({0})"),22:rt(0,"structs ({0})"),23:rt(0,"events ({0})"),24:rt(0,"operators ({0})"),10:rt(0,"interfaces ({0})"),2:rt(0,"namespaces ({0})"),3:rt(0,"packages ({0})"),25:rt(0,"type parameters ({0})"),1:rt(0,"modules ({0})"),6:rt(0,"properties ({0})"),9:rt(0,"enumerations ({0})"),21:rt(0,"enumeration members ({0})"),14:rt(0,"strings ({0})"),0:rt(0,"files ({0})"),17:rt(0,"arrays ({0})"),15:rt(0,"numbers ({0})"),16:rt(0,"booleans ({0})"),18:rt(0,"objects ({0})"),19:rt(0,"keys ({0})"),7:rt(0,"fields ({0})"),13:rt(0,"constants ({0})")};var Mit=function(t,i){return function(e,s){i(e,s,t)}};let Lit=class extends Dit{constructor(t,i,e){super(i,e),this.editorService=t,this.onDidActiveTextEditorControlChange=ce.None}get activeTextEditorControl(){var t;return null!==(t=this.editorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}};Lit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Mit(0,fr),Mit(1,gg),Mit(2,x5)],Lit);class Fit extends su{constructor(){super({id:Fit.ID,label:QO.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:UC.hasDocumentSymbolProvider,kbOpts:{kbExpr:UC.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(t){t.get(Dj).quickAccess.show(Dit.PREFIX,{itemActivation:Sj.NONE})}}function Tit(t,i){return i&&(t.stack||t.stacktrace)?rt(0,"{0}: {1}",Oit(t),Rit(t.stack)||Rit(t.stacktrace)):Oit(t)}function Rit(t){return Array.isArray(t)?t.join("\n"):t}function Oit(t){return"ERR_UNC_HOST_NOT_ALLOWED"===t.code?`${t.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:"string"==typeof t.code&&"number"==typeof t.errno&&"string"==typeof t.syscall?rt(0,"A system error occurred ({0})",t.message):t.message||rt(0,"An unknown error occurred. Please consult the log for more details.")}function Iit(t=null,i=!1){if(!t)return rt(0,"An unknown error occurred. Please consult the log for more details.");if(Array.isArray(t)){const e=w(t),s=Iit(e[0],i);return e.length>1?rt(0,"{0} ({1} errors in total)",s,e.length):s}if(P(t))return t;if(t.detail){const e=t.detail;if(e.error)return Tit(e.error,i);if(e.exception)return Tit(e.exception,i)}return t.stack?Tit(t,i):t.message?t.message:rt(0,"An unknown error occurred. Please consult the log for more details.")}Fit.ID="editor.action.quickOutline",cu(Fit),Dh.as(kj).registerQuickAccessProvider({ctor:Lit,prefix:Dit.PREFIX,helpEntries:[{description:QO.quickOutlineActionLabel,prefix:Dit.PREFIX,commandId:Fit.ID},{description:QO.quickOutlineByCategoryActionLabel,prefix:Dit.PREFIX_BY_CATEGORY}]});class _it{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(t,i){const e=this.computeEmbedding(t),s=new Map,n=[];for(const[t,o]of this.documents){if(i.isCancellationRequested)return[];for(const i of o.chunks){const o=this.computeSimilarityScore(i,e,s);o>0&&n.push({key:t,score:o})}}return n}static termFrequencies(t){return function(t){var i;const e=new Map;for(const s of t)e.set(s,(null!==(i=e.get(s))&&void 0!==i?i:0)+1);return e}(_it.splitTerms(t))}static*splitTerms(t){const i=t=>t.toLowerCase();for(const[e]of t.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield i(e);const t=e.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(t.length>1)for(const e of t)e.length>2&&/\p{Letter}{3,}/gu.test(e)&&(yield i(e))}}updateDocuments(t){var i;for(const{key:i}of t)this.deleteDocument(i);for(const e of t){const t=[];for(const s of e.textChunks){const e=_it.termFrequencies(s);for(const t of e.keys())this.chunkOccurrences.set(t,(null!==(i=this.chunkOccurrences.get(t))&&void 0!==i?i:0)+1);t.push({text:s,tf:e})}this.chunkCount+=t.length,this.documents.set(e.key,{chunks:t})}return this}deleteDocument(t){const i=this.documents.get(t);if(i){this.documents.delete(t),this.chunkCount-=i.chunks.length;for(const t of i.chunks)for(const i of t.tf.keys()){const t=this.chunkOccurrences.get(i);if("number"==typeof t){const e=t-1;e<=0?this.chunkOccurrences.delete(i):this.chunkOccurrences.set(i,e)}}}}computeSimilarityScore(t,i,e){let s=0;for(const[n,o]of Object.entries(i)){const i=t.tf.get(n);if(!i)continue;let r=e.get(n);"number"!=typeof r&&(r=this.computeIdf(n),e.set(n,r)),s+=i*r*o}return s}computeEmbedding(t){const i=_it.termFrequencies(t);return this.computeTfidf(i)}computeIdf(t){var i;const e=null!==(i=this.chunkOccurrences.get(t))&&void 0!==i?i:0;return e>0?Math.log((this.chunkCount+1)/e):0}computeTfidf(t){const i=Object.create(null);for(const[e,s]of t){const t=this.computeIdf(e);t>0&&(i[e]=s*t)}return i}}var Nit;function Bit(t){return Array.isArray(t.items)}function Pit(t){return!!t.picks&&t.additionalPicks instanceof Promise}!function(t){t[t.NO_ACTION=0]="NO_ACTION",t[t.CLOSE_PICKER=1]="CLOSE_PICKER",t[t.REFRESH_PICKER=2]="REFRESH_PICKER",t[t.REMOVE_ITEM=3]="REMOVE_ITEM"}(Nit||(Nit={}));class $it extends ie{constructor(t,i){super(),this.prefix=t,this.options=i}provide(t,i,e){var s;const n=new te;let o;t.canAcceptInBackground=!!(null===(s=this.options)||void 0===s?void 0:s.canAcceptInBackground),t.matchOnLabel=t.matchOnDescription=t.matchOnDetail=t.sortByLabel=!1;const r=n.add(new ee),h=async()=>{const s=r.value=new te;null==o||o.dispose(!0),t.busy=!1,o=new Se(i);const n=o.token,h=t.value.substr(this.prefix.length).trim(),c=this._getPicks(h,s,n,e),a=(i,e)=>{var s;let n,o;if(Bit(i)?(n=i.items,o=i.active):n=i,0===n.length){if(e)return!1;(h.length>0||t.hideInput)&&(null===(s=this.options)||void 0===s?void 0:s.noResultsPick)&&(n=Z(this.options.noResultsPick)?[this.options.noResultsPick(h)]:[this.options.noResultsPick])}return t.items=n,o&&(t.activeItems=[o]),!0},l=async i=>{let e=!1,s=!1;await Promise.all([(async()=>{"number"==typeof i.mergeDelay&&(await ac(i.mergeDelay),n.isCancellationRequested)||s||(e=a(i.picks,!0))})(),(async()=>{t.busy=!0;try{const s=await i.additionalPicks;if(n.isCancellationRequested)return;let o,r,h,c;if(Bit(i.picks)?(o=i.picks.items,r=i.picks.active):o=i.picks,Bit(s)?(h=s.items,c=s.active):h=s,h.length>0||!e){let i;if(!r&&!c){const e=t.activeItems[0];e&&-1!==o.indexOf(e)&&(i=e)}a({items:[...o,...h],active:r||c||i})}}finally{n.isCancellationRequested||(t.busy=!1),s=!0}})()])};if(null===c);else if(Pit(c))await l(c);else if(c instanceof Promise){t.busy=!0;try{const t=await c;if(n.isCancellationRequested)return;Pit(t)?await l(t):a(t)}finally{n.isCancellationRequested||(t.busy=!1)}}else a(c)};return n.add(t.onDidChangeValue((()=>h()))),h(),n.add(t.onDidAccept((i=>{const[e]=t.selectedItems;"function"==typeof(null==e?void 0:e.accept)&&(i.inBackground||t.hide(),e.accept(t.keyMods,i))}))),n.add(t.onDidTriggerItemButton((async({button:e,item:s})=>{var n,o;if("function"==typeof s.trigger){const r=null!==(o=null===(n=s.buttons)||void 0===n?void 0:n.indexOf(e))&&void 0!==o?o:-1;if(r>=0){const e=s.trigger(r,t.keyMods),n="number"==typeof e?e:await e;if(i.isCancellationRequested)return;switch(n){case Nit.NO_ACTION:break;case Nit.CLOSE_PICKER:t.hide();break;case Nit.REFRESH_PICKER:h();break;case Nit.REMOVE_ITEM:{const i=t.items.indexOf(s);if(-1!==i){const e=t.items.slice(),s=e.splice(i,1),n=t.activeItems.filter((t=>t!==s[0])),o=t.keepScrollPosition;t.keepScrollPosition=!0,t.items=e,n&&(t.activeItems=n),t.keepScrollPosition=o}break}}}}}))),n}}var Wit,jit,zit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Hit=function(t,i){return function(e,s){i(e,s,t)}};let Vit=Wit=class extends $it{constructor(t,i,e,s,n,o){super(Wit.PREFIX,t),this.instantiationService=i,this.keybindingService=e,this.commandService=s,this.telemetryService=n,this.dialogService=o,this.commandsHistory=this._register(this.instantiationService.createInstance(Uit)),this.options=t}async _getPicks(t,i,e,s){var n,o,r,h;const c=await this.getCommandPicks(e);if(e.isCancellationRequested)return[];const a=Zi((()=>{const i=new _it;return i.updateDocuments(c.map((t=>({key:t.commandId,textChunks:[this.getTfIdfChunk(t)]})))),function(t){var i,e;const s=t.slice(0);s.sort(((t,i)=>i.score-t.score));const n=null!==(e=null===(i=s[0])||void 0===i?void 0:i.score)&&void 0!==e?e:0;if(n>0)for(const t of s)t.score/=n;return s}(i.calculateScores(t,e)).filter((t=>t.score>Wit.TFIDF_THRESHOLD)).slice(0,Wit.TFIDF_MAX_RESULTS)})),l=[];for(const i of c){const s=null!==(n=Wit.WORD_FILTER(t,i.label))&&void 0!==n?n:void 0,r=i.commandAlias&&null!==(o=Wit.WORD_FILTER(t,i.commandAlias))&&void 0!==o?o:void 0;if(s||r)i.highlights={label:s,detail:this.options.showAlias?r:void 0},l.push(i);else if(t===i.commandId)l.push(i);else if(t.length>=3){const t=a();if(e.isCancellationRequested)return[];const s=t.find((t=>t.key===i.commandId));s&&(i.tfIdfScore=s.score,l.push(i))}}const u=new Map;for(const t of l){const i=u.get(t.label);i?(t.description=t.commandId,i.description=i.commandId):u.set(t.label,t)}l.sort(((t,i)=>{if(t.tfIdfScore&&i.tfIdfScore)return t.tfIdfScore===i.tfIdfScore?t.label.localeCompare(i.label):i.tfIdfScore-t.tfIdfScore;if(t.tfIdfScore)return 1;if(i.tfIdfScore)return-1;const e=this.commandsHistory.peek(t.commandId),s=this.commandsHistory.peek(i.commandId);if(e&&s)return e>s?-1:1;if(e)return-1;if(s)return 1;if(this.options.suggestedCommandIds){const e=this.options.suggestedCommandIds.has(t.commandId),s=this.options.suggestedCommandIds.has(i.commandId);if(e&&s)return 0;if(e)return-1;if(s)return 1}return t.label.localeCompare(i.label)}));const d=[];let f=!1,p=!0,g=!!this.options.suggestedCommandIds;for(let t=0;t{var i;const n=await this.getAdditionalCommandPicks(c,l,t,e);if(e.isCancellationRequested)return[];const o=n.map((t=>this.toCommandPick(t,s)));return p&&"separator"!==(null===(i=o[0])||void 0===i?void 0:i.type)&&o.unshift({type:"separator",label:rt(0,"similar commands")}),o})()}:d}toCommandPick(t,i){if("separator"===t.type)return t;const e=this.keybindingService.lookupKeybinding(t.commandId),s=e?rt(0,"{0}, {1}",t.label,e.getAriaLabel()):t.label;return{...t,ariaLabel:s,detail:this.options.showAlias&&t.commandAlias!==t.label?t.commandAlias:void 0,keybinding:e,accept:async()=>{var e,s;this.commandsHistory.push(t.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:t.commandId,from:null!==(e=null==i?void 0:i.from)&&void 0!==e?e:"quick open"});try{(null===(s=t.args)||void 0===s?void 0:s.length)?await this.commandService.executeCommand(t.commandId,...t.args):await this.commandService.executeCommand(t.commandId)}catch(i){zi(i)||this.dialogService.error(rt(0,"Command '{0}' resulted in an error",t.label),Iit(i))}}}}getTfIdfChunk({label:t,commandAlias:i,commandDescription:e}){let s=t;return i&&i!==t&&(s+=` - ${i}`),e&&e.value!==t&&(s+=` - ${e.value===e.original?e.value:`${e.value} (${e.original})`}`),s}};Vit.PREFIX=">",Vit.TFIDF_THRESHOLD=.5,Vit.TFIDF_MAX_RESULTS=5,Vit.WORD_FILTER=MI(LI,(function(t,i,e=!1){if(!i||0===i.length)return null;let s=null,n=0;for(t=t.toLowerCase(),i=i.toLowerCase();nthis.updateConfiguration(t)))),this._register(this.storageService.onWillSaveState((t=>{t.reason===yB.SHUTDOWN&&this.saveState()})))}updateConfiguration(t){t&&!t.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=jit.getConfiguredCommandHistoryLength(this.configurationService),jit.cache&&jit.cache.limit!==this.configuredCommandsHistoryLength&&(jit.cache.limit=this.configuredCommandsHistoryLength,jit.hasChanges=!0))}load(){const t=this.storageService.get(jit.PREF_KEY_CACHE,0);let i;if(t)try{i=JSON.parse(t)}catch(t){}const e=jit.cache=new Bp(this.configuredCommandsHistoryLength,1);if(i){let t;t=i.usesLRU?i.entries:i.entries.sort(((t,i)=>t.value-i.value)),t.forEach((t=>e.set(t.key,t.value)))}jit.counter=this.storageService.getNumber(jit.PREF_KEY_COUNTER,0,jit.counter)}push(t){jit.cache&&(jit.cache.set(t,jit.counter++),jit.hasChanges=!0)}peek(t){var i;return null===(i=jit.cache)||void 0===i?void 0:i.peek(t)}saveState(){if(!jit.cache)return;if(!jit.hasChanges)return;const t={usesLRU:!0,entries:[]};jit.cache.forEach(((i,e)=>t.entries.push({key:e,value:i}))),this.storageService.store(jit.PREF_KEY_CACHE,JSON.stringify(t),0,0),this.storageService.store(jit.PREF_KEY_COUNTER,jit.counter,0,0),jit.hasChanges=!1}static getConfiguredCommandHistoryLength(t){var i,e;const s=null===(e=null===(i=t.getValue().workbench)||void 0===i?void 0:i.commandPalette)||void 0===e?void 0:e.history;return"number"==typeof s?s:jit.DEFAULT_COMMANDS_HISTORY_LENGTH}};Uit.DEFAULT_COMMANDS_HISTORY_LENGTH=50,Uit.PREF_KEY_CACHE="commandPalette.mru.cache",Uit.PREF_KEY_COUNTER="commandPalette.mru.counter",Uit.counter=1,Uit.hasChanges=!1,Uit=jit=zit([Hit(0,bB),Hit(1,pd)],Uit);class qit extends Vit{constructor(t,i,e,s,n,o){super(t,i,e,s,n,o)}getCodeEditorCommandPicks(){const t=this.activeTextEditorControl;if(!t)return[];const i=[];for(const e of t.getSupportedActions())i.push({commandId:e.id,commandAlias:e.alias,label:S_(e.label)||e.id});return i}}var Kit=function(t,i){return function(e,s){i(e,s,t)}};let Git=class extends qit{get activeTextEditorControl(){var t;return null!==(t=this.codeEditorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}constructor(t,i,e,s,n,o){super({showAlias:!1},t,e,s,n,o),this.codeEditorService=i}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};Git=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Kit(0,ur),Kit(1,fr),Kit(2,Yx),Kit(3,Sr),Kit(4,Wh),Kit(5,HT)],Git);class Zit extends su{constructor(){super({id:Zit.ID,label:ZO.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(t){t.get(Dj).quickAccess.show(Git.PREFIX)}}Zit.ID="editor.action.quickCommand",cu(Zit),Dh.as(kj).registerQuickAccessProvider({ctor:Git,prefix:Git.PREFIX,helpEntries:[{description:ZO.quickCommandHelp,commandId:Zit.ID}]});var Qit=function(t,i){return function(e,s){i(e,s,t)}};let Jit=class extends AY{constructor(t,i,e,s,n,o,r){super(!0,t,i,e,s,n,o,r)}};Jit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Qit(1,ah),Qit(2,fr),Qit(3,JF),Qit(4,ur),Qit(5,bB),Qit(6,pd)],Jit),lu(AY.ID,Jit,4),cu(class extends su{constructor(){super({id:"editor.action.toggleHighContrast",label:YO.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(t,i){const e=t.get(Yz),s=e.getColorTheme();_y(s.type)?(e.setTheme(this._originalThemeName||(Ny(s.type)?Hz:zz)),this._originalThemeName=null):(e.setTheme(Ny(s.type)?Vz:Uz),this._originalThemeName=s.themeName)}});const Yit=performance.getEntriesByType("resource").slice(-1)[0].name;self.MonacoEnvironment={getWorkerUrl:(t,i)=>`${Yit.replace(/(.*\/).*?$/,"$1")}${"html"===i?"html":"editor"}.worker.js?t=${Date.now()}`};const Xit=class{constructor(i){t(this,i),this.monacoEditorDidLoad=o(this,"monacoEditorDidLoad",7),this.defaultOptions={language:"html",readOnly:!1,theme:"vs-light",scrollBeyondLastLine:!1,minimap:{enabled:!1},automaticLayout:!0,wordWrap:"on"},this.rendered=!1,this.options=void 0,this.initialValue="",this.tiptapEditor=void 0,this.updateInputValue=void 0}init(){const t=this.element.querySelector(":scope > *:first-of-type");this.monaco=HK.create(this.container,Object.assign({value:this.initialValue||(null==t?void 0:t.innerHTML.trim())||""},this.mergeOptions())),this.monaco.onDidChangeModelContent((()=>{var t,i,e;null===(t=this.tiptapEditor)||void 0===t||t.chain().setContent(null===(i=this.monaco)||void 0===i?void 0:i.getValue()).run(),null===(e=this.updateInputValue)||void 0===e||e.call(this)})),this.monacoEditorDidLoad.emit();let i=0;const e=setInterval((()=>{const t=this.monaco.getAction("editor.action.formatDocument");(t||++i>50)&&(null==t||t.run(),clearInterval(e))}),100)}connectedCallback(){this.rendered&&this.init()}componentDidLoad(){this.init(),this.rendered=!0}async disconnectedCallback(){return Boolean(this.monaco)?new Promise((t=>{var i;this.monaco.onDidDispose((()=>t())),null===(i=this.monaco.getModel())||void 0===i||i.dispose(),this.monaco.dispose()})):Promise.resolve()}onOptionsChange(){var t;null===(t=this.monaco)||void 0===t||t.updateOptions(this.mergeOptions())}async setFocus(){var t;null===(t=this.monaco)||void 0===t||t.focus()}async getValue(){var t;return null===(t=this.monaco)||void 0===t?void 0:t.getValue()}mergeOptions(){return Object.assign(Object.assign({},this.defaultOptions),this.options||{})}render(){return e(r,null,e("article",{ref:t=>this.container=t}))}get element(){return n(this)}static get watchers(){return{options:["onOptionsChange"]}}};Xit.style='/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .codicon,.monaco-action-bar .action-item .icon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-aria-container{position:absolute;left:-999em}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border,transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled,.monaco-button.disabled:focus{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator,.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border,transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-description,.monaco-description-button .monaco-button-label{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-description>.codicon,.monaco-description-button .monaco-button-label>.codicon{margin:0 .2em;color:inherit!important}.monaco-button-dropdown.default-colors>.monaco-button,.monaco-button.default-colors{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button-dropdown.default-colors>.monaco-button:hover,.monaco-button.default-colors:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary,.monaco-button.default-colors.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover,.monaco-button.default-colors.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}@font-face{font-family:codicon;font-display:block;src:url(../base/browser/ui/codicons/codicon/codicon.ttf) format("truetype")}.codicon[class*=codicon-]{font:normal normal normal 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(1turn)}}.codicon-gear.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin,.codicon-sync.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.hc-light .monaco-findInput.highlight-0 .controls,.monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.hc-light .monaco-findInput.highlight-1 .controls,.monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:rgba(253,255,0,.8)}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:rgba(253,255,0,.8)}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:hsla(0,0%,100%,.44)}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:hsla(0,0%,100%,.44)}99%{background:transparent}}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace,normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth,500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0;border-right:0;margin:4px -8px -4px;height:1px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-multiple,.monaco-list.selection-single{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-mouse-cursor-text{cursor:text}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translateX(0) scaleX(1)}50%{transform:translateX(2500%) scaleX(3)}to{transform:translateX(4900%) scaleX(1)}}:root{--vscode-sash-size:4px;--vscode-sash-hover-size:4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size)*2);width:calc(var(--vscode-sash-size)*2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size)*-0.5);top:calc(var(--vscode-sash-size)*-1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size)*-0.5);bottom:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size)*-0.5);left:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size)*-0.5);right:calc(var(--vscode-sash-size)*-1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.active:before,.monaco-sash.hover:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - var(--vscode-sash-hover-size)/2)}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - var(--vscode-sash-hover-size)/2)}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:rgba(0,255,255,.2)}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:transparent;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-select-box-dropdown-padding{--dropdown-padding-top:1px;--dropdown-padding-bottom:1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top:3px;--dropdown-padding-bottom:4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:auto}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:normal;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-td,.monaco-table-th{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size)/2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-contents,.monaco-tl-twistie{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translateX(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line,.monaco-editor .view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .line-numbers{font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background,var(--vscode-editor-background));color:var(--vscode-button-foreground,var(--vscode-editor-foreground));border:1px solid var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .mtkw,.monaco-editor .mtkz{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover .minimap-slider.active,.monaco-editor .minimap.slider-mouseover:hover .minimap-slider{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-diff-editor .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-diff-editor .diff-review{position:absolute;user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review-summary{padding-left:10px}.monaco-diff-editor .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-diff-editor .diff-review-row{white-space:pre}.monaco-diff-editor .diff-review-table{display:table;min-width:100%}.monaco-diff-editor .diff-review-row{display:table-row;width:100%}.monaco-diff-editor .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-diff-editor .diff-review-spacer>.codicon{font-size:9px!important}.monaco-diff-editor .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-diff-editor .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-diff-editor .revertButton{cursor:pointer}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines .bottom.dragging,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .bottom,.monaco-editor .diff-hidden-lines .top{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *{cursor:n-resize!important}.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *{cursor:s-resize!important}.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedModified,.monaco-editor .movedOriginal{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedModified.currentMove,.monaco-editor .movedOriginal.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:3px solid var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .char-insert.diff-range-empty{border-left:3px solid var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:rgba(0,0,0,.03)}.monaco-diff-editor.vs-dark .diffOverview{background:hsla(0,0%,100%,.01)}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar{background:transparent}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:hsla(0,0%,67.1%,.4)}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-diff-editor .delete-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-editor .insert-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-diff-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.hc-black .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-editor.hc-light .insert-sign{opacity:1}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .inline-deleted-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-diff-editor .char-insert,.monaco-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-diff-editor .line-insert,.monaco-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground,var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-insert,.monaco-editor .line-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .char-insert,.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .char-insert,.monaco-editor.hc-light .line-insert{border-style:dashed}.monaco-editor .char-delete,.monaco-editor .line-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .char-delete,.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .char-delete,.monaco-editor.hc-light .line-delete{border-style:dashed}.monaco-diff-editor .gutter-insert,.monaco-editor .gutter-insert,.monaco-editor .inline-added-margin-view-zone{background-color:var(--vscode-diffEditorGutter-insertedLineBackground,var(--vscode-diffEditor-insertedLineBackground),var(--vscode-diffEditor-insertedTextBackground))}.monaco-diff-editor .char-delete,.monaco-editor .char-delete{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-diff-editor .line-delete,.monaco-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground,var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor .gutter-delete,.monaco-editor .gutter-delete,.monaco-editor .inline-deleted-margin-view-zone{background-color:var(--vscode-diffEditorGutter-removedLineBackground,var(--vscode-diffEditor-removedLineBackground),var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,transparent 0,transparent 50%,var(--vscode-diffEditor-diagonalFill) 0,var(--vscode-diffEditor-diagonalFill) 62.5%,transparent 0,transparent);background-size:8px 8px}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground)}.monaco-editor,.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground,inherit)}.monaco-component .multiDiffEntry{display:flex;flex-direction:column}.monaco-component .multiDiffEntry .editorParent{border-left:2px solid var(--vscode-tab-inactiveBackground)}.monaco-component .multiDiffEntry.focused .editorParent{border-left:2px solid var(--vscode-notebook-focusedCellBorder)}.monaco-component .multiDiffEntry .editorParent .editorContainer{border-left:17px solid var(--vscode-tab-inactiveBackground)}.monaco-component .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component .multiDiffEntry .collapse-button a{display:block}.monaco-component .multiDiffEntry .header{display:flex;align-items:center;padding:8px 5px;color:var(--vscode-foreground);background:var(--vscode-editor-background);z-index:1000;border-bottom:1px solid var(--vscode-sideBarSectionHeader-border);border-top:1px solid var(--vscode-sideBarSectionHeader-border);border-left:2px solid var(--vscode-editor-background)}.monaco-component .multiDiffEntry.focused .header{border-left:2px solid var(--vscode-notebook-focusedCellBorder)}.monaco-component .multiDiffEntry .header.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component .multiDiffEntry .header .title{flex:1;font-size:14px;line-height:22px}.monaco-component .multiDiffEntry .header .actions{padding:0 8px}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;background-color:var(--vscode-editor-background);z-index:1}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*0.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>a,.monaco-editor .codelens-decoration>span{user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer}.monaco-editor .codelens-decoration>a:hover,.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:.1em solid #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:.1em solid #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid #fff;border-radius:100%;box-shadow:0 0 2px rgba(0,0,0,.8);position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid hsla(0,0%,100%,.71);box-shadow:0 0 1px rgba(0,0,0,.85)}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor.hc-light .dnd-target,.monaco-editor.vs .dnd-target{border-right:2px dotted #000;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #aeafad;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines,.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines{cursor:default}.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines,.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines{cursor:copy}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border,transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions,.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:50%;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important}.monaco-editor .find-widget .monaco-sash{left:0!important}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{transition:initial}.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays:hover .codicon{opacity:1}.monaco-editor .inline-folded:after{color:grey;margin:.1em .2em 0;content:"\\22EF";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground);color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input,.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder,transparent);box-sizing:border-box}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:"\\ea76"}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-radius:3px;border:1px solid var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;z-index:1000;border:8px solid transparent;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage.below .anchor.below,.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .body,.monaco-editor .parameter-hints-widget .monaco-scrollable-element{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:normal}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .code,.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename,.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input{padding:3px;border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder,transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder,transparent)}.monaco-editor .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{float:left;background-color:inherit}.monaco-editor .sticky-widget-lines-scrollable{display:inline-block;position:absolute;overflow:hidden;width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit}.monaco-editor .sticky-widget-lines{position:absolute;background-color:inherit}.monaco-editor .sticky-line-content,.monaco-editor .sticky-line-number{color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute;background-color:inherit}.monaco-editor .sticky-line-number .codicon-folding-collapsed,.monaco-editor .sticky-line-number .codicon-folding-expanded{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit;white-space:nowrap}.monaco-editor .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor.hc-black .sticky-widget,.monaco-editor.hc-light .sticky-widget{border-bottom:1px solid var(--vscode-contrastBorder)}.monaco-editor .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 3px 2px -2px;z-index:4;background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-details,.monaco-editor .suggest-widget{flex:0 1 auto;width:100%;border:1px solid var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-light .suggest-details,.monaco-editor.hc-light .suggest-widget{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:normal;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:50%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:normal;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ol,.monaco-editor .suggest-details ul{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-enum,.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-value{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:50%;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iIzQyNDI0MiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #f6f6f6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iI0M1QzVDNSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,86.7%,.4);border:1px solid hsla(0,0%,80%,.4);border-bottom-color:hsla(0,0%,73.3%,.4);box-shadow:inset 0 -1px 0 hsla(0,0%,73.3%,.4);color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #6fc3df;box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #0f4a85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,50.2%,.17);border:1px solid rgba(51,51,51,.6);border-bottom-color:rgba(68,68,68,.6);box-shadow:inset 0 -1px 0 rgba(68,68,68,.6);color:#ccc}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font:"SF Mono",Monaco,Menlo,Consolas,"Ubuntu Mono","Liberation Mono","DejaVu Sans Mono","Courier New",monospace}.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.action-widget{font-size:13px;border-radius:0;min-width:160px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;border-radius:2px;background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground)}.context-view-block{z-index:-1}.context-view-block,.context-view-pointerBlock{position:fixed;cursor:auto;left:0;top:0;width:100%;height:100%}.context-view-pointerBlock{z-index:2}.action-widget .monaco-list{user-select:none;-webkit-user-select:none;border:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-quickInputList-focusBackground)!important;color:var(--vscode-quickInputList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder,transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-weight:600}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before,.action-widget .monaco-list .option-disabled:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:6px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorHoverWidget-statusBarBackground);border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:0 8px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-top-left-radius:5px;border-top-right-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:50%;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{display:flex;padding:8px 6px 6px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-highlighted-label .highlight{font-weight:700}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{font-weight:600;font-size:12px}.extension-editor .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.markers-panel .marker-icon .codicon.codicon-error,.markers-panel .marker-icon.error,.monaco-editor .zone-widget .codicon.codicon-error,.preferences-editor .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.extension-editor .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.markers-panel .marker-icon .codicon.codicon-warning,.markers-panel .marker-icon.warning,.monaco-editor .zone-widget .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.extension-editor .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.markers-panel .marker-icon .codicon.codicon-info,.markers-panel .marker-icon.info,.monaco-editor .zone-widget .codicon.codicon-info,.preferences-editor .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}article{width:var(--monaco-editor-width, 100%);height:var(--monaco-editor-height, 100%)}::slotted(*){display:none}';export{c as L,Xit as M,a as Z,qK as m,tZ as t} \ No newline at end of file +var jG=Object.defineProperty,zG=Object.getOwnPropertyDescriptor,HG=Object.getOwnPropertyNames,VG=Object.prototype.hasOwnProperty,UG=(t,i,e,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let n of HG(i))VG.call(t,n)||n===e||jG(t,n,{get:()=>i[n],enumerable:!(s=zG(i,n))||s.enumerable});return t},qG={};((t,i)=>{UG(qG,i,"default")})(0,qK);var KG=(t=>(t[t.None=0]="None",t[t.CommonJS=1]="CommonJS",t[t.AMD=2]="AMD",t[t.UMD=3]="UMD",t[t.System=4]="System",t[t.ES2015=5]="ES2015",t[t.ESNext=99]="ESNext",t))(KG||{}),GG=(t=>(t[t.None=0]="None",t[t.Preserve=1]="Preserve",t[t.React=2]="React",t[t.ReactNative=3]="ReactNative",t[t.ReactJSX=4]="ReactJSX",t[t.ReactJSXDev=5]="ReactJSXDev",t))(GG||{}),ZG=(t=>(t[t.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",t[t.LineFeed=1]="LineFeed",t))(ZG||{}),QG=(t=>(t[t.ES3=0]="ES3",t[t.ES5=1]="ES5",t[t.ES2015=2]="ES2015",t[t.ES2016=3]="ES2016",t[t.ES2017=4]="ES2017",t[t.ES2018=5]="ES2018",t[t.ES2019=6]="ES2019",t[t.ES2020=7]="ES2020",t[t.ESNext=99]="ESNext",t[t.JSON=100]="JSON",t[t.Latest=99]="Latest",t))(QG||{}),JG=(t=>(t[t.Classic=1]="Classic",t[t.NodeJs=2]="NodeJs",t))(JG||{}),YG=class{_onDidChange=new qG.Emitter;_onDidExtraLibsChange=new qG.Emitter;_extraLibs;_removedExtraLibs;_eagerModelSync;_compilerOptions;_diagnosticsOptions;_workerOptions;_onDidExtraLibsChangeTimeout;_inlayHintsOptions;_modeConfiguration;constructor(t,i,e,s,n){this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(t),this.setDiagnosticsOptions(i),this.setWorkerOptions(e),this.setInlayHintsOptions(s),this.setModeConfiguration(n),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(t,i){let e;if(e=void 0===i?`ts:extralib-${Math.random().toString(36).substring(2,15)}`:i,this._extraLibs[e]&&this._extraLibs[e].content===t)return{dispose:()=>{}};let s=1;return this._removedExtraLibs[e]&&(s=this._removedExtraLibs[e]+1),this._extraLibs[e]&&(s=this._extraLibs[e].version+1),this._extraLibs[e]={content:t,version:s},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let t=this._extraLibs[e];t&&t.version===s&&(delete this._extraLibs[e],this._removedExtraLibs[e]=s,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(t){for(const t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),t&&t.length>0)for(const i of t){const t=i.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`;let e=1;this._removedExtraLibs[t]&&(e=this._removedExtraLibs[t]+1),this._extraLibs[t]={content:i.content,version:e}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){-1===this._onDidExtraLibsChangeTimeout&&(this._onDidExtraLibsChangeTimeout=window.setTimeout((()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)}),0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(t){this._compilerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(t){this._diagnosticsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(t){this._workerOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(t){this._inlayHintsOptions=t||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(t){}setEagerModelSync(t){this._eagerModelSync=t}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(t){this._modeConfiguration=t||Object.create(null),this._onDidChange.fire(void 0)}},XG={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},tZ=new YG({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},XG),iZ=new YG({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},XG);function eZ(){return import("./p-7a631f80.js")}qG.languages.typescript={ModuleKind:KG,JsxEmit:GG,NewLineKind:ZG,ScriptTarget:QG,ModuleResolutionKind:JG,typescriptVersion:"5.0.2",typescriptDefaults:tZ,javascriptDefaults:iZ,getTypeScriptWorker:()=>eZ().then((t=>t.getTypeScriptWorker())),getJavaScriptWorker:()=>eZ().then((t=>t.getJavaScriptWorker()))},qG.languages.onLanguage("typescript",(()=>eZ().then((t=>t.setupTypeScript(tZ))))),qG.languages.onLanguage("javascript",(()=>eZ().then((t=>t.setupJavaScript(iZ))))),$h(class extends Ph{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:{value:rt(0,"Toggle Collapse Unchanged Regions"),original:"Toggle Collapse Unchanged Regions"},icon:Os.map,toggled:zr.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:zr.has("isInDiffEditor"),menu:{when:zr.has("isInDiffEditor"),id:Rh.EditorTitle,order:22,group:"navigation"}})}run(t,...i){const e=t.get(pd),s=!e.getValue("diffEditor.hideUnchangedRegions.enabled");e.updateValue("diffEditor.hideUnchangedRegions.enabled",s)}});class sZ extends Ph{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:{value:rt(0,"Toggle Show Moved Code Blocks"),original:"Toggle Show Moved Code Blocks"},precondition:zr.has("isInDiffEditor")})}run(t,...i){const e=t.get(pd),s=!e.getValue("diffEditor.experimental.showMoves");e.updateValue("diffEditor.experimental.showMoves",s)}}$h(sZ);class nZ extends Ph{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:{value:rt(0,"Toggle Use Inline View When Space Is Limited"),original:"Toggle Use Inline View When Space Is Limited"},precondition:zr.has("isInDiffEditor")})}run(t,...i){const e=t.get(pd),s=!e.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");e.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",s)}}$h(nZ),_h.appendMenuItem(Rh.EditorTitle,{command:{id:(new nZ).desc.id,title:rt(0,"Use Inline View When Space Is Limited"),toggled:zr.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:zr.has("isInDiffEditor")},order:11,group:"1_diff",when:zr.and(UC.diffEditorRenderSideBySideInlineBreakpointReached,zr.has("isInDiffEditor"))}),_h.appendMenuItem(Rh.EditorTitle,{command:{id:(new sZ).desc.id,title:rt(0,"Show Moved Code Blocks"),icon:Os.move,toggled:Kr.create("config.diffEditor.experimental.showMoves",!0),precondition:zr.has("isInDiffEditor")},order:10,group:"1_diff",when:zr.has("isInDiffEditor")});const oZ={value:rt(0,"Diff Editor"),original:"Diff Editor"};$h(class extends ou{constructor(){super({id:"diffEditor.switchSide",title:{value:rt(0,"Switch Side"),original:"Switch Side"},icon:Os.arrowSwap,precondition:zr.has("isInDiffEditor"),f1:!0,category:oZ})}runEditorCommand(t,i,e){const s=aZ(t);if(s instanceof Eq){if(e&&e.dryRun)return{destinationSelection:s.mapToOtherSide().destinationSelection};s.switchSide()}}}),$h(class extends ou{constructor(){super({id:"diffEditor.exitCompareMove",title:{value:rt(0,"Exit Compare Move"),original:"Exit Compare Move"},icon:Os.close,precondition:UC.comparingMovedCode,f1:!1,category:oZ,keybinding:{weight:1e4,primary:9}})}runEditorCommand(t,i,...e){const s=aZ(t);s instanceof Eq&&s.exitCompareMove()}}),$h(class extends ou{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:{value:rt(0,"Collapse All Unchanged Regions"),original:"Collapse All Unchanged Regions"},icon:Os.fold,precondition:zr.has("isInDiffEditor"),f1:!0,category:oZ})}runEditorCommand(t,i,...e){const s=aZ(t);s instanceof Eq&&s.collapseAllUnchangedRegions()}}),$h(class extends ou{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:{value:rt(0,"Show All Unchanged Regions"),original:"Show All Unchanged Regions"},icon:Os.unfold,precondition:zr.has("isInDiffEditor"),f1:!0,category:oZ})}runEditorCommand(t,i,...e){const s=aZ(t);s instanceof Eq&&s.showAllUnchangedRegions()}});const rZ={value:rt(0,"Accessible Diff Viewer"),original:"Accessible Diff Viewer"};class hZ extends Ph{constructor(){super({id:hZ.id,title:{value:rt(0,"Go to Next Difference"),original:"Go to Next Difference"},category:rZ,precondition:zr.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(t){const i=aZ(t);null==i||i.accessibleDiffViewerNext()}}hZ.id="editor.action.accessibleDiffViewer.next",_h.appendMenuItem(Rh.EditorTitle,{command:{id:hZ.id,title:rt(0,"Open Accessible Diff Viewer"),precondition:zr.has("isInDiffEditor")},order:10,group:"2_diff",when:zr.and(UC.accessibleDiffViewerVisible.negate(),zr.has("isInDiffEditor"))});class cZ extends Ph{constructor(){super({id:cZ.id,title:{value:rt(0,"Go to Previous Difference"),original:"Go to Previous Difference"},category:rZ,precondition:zr.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(t){const i=aZ(t);null==i||i.accessibleDiffViewerPrev()}}function aZ(t){var i;const e=t.get(fr),s=e.listDiffEditors(),n=null!==(i=e.getFocusedCodeEditor())&&void 0!==i?i:e.getActiveCodeEditor();if(!n)return null;for(let t=0,i=s.length;tthis.selectionAnchorSetContextKey.reset()))}setSelectionAnchor(){if(this.editor.hasModel()){const t=this.editor.getPosition();this.editor.changeDecorations((i=>{this.decorationId&&i.removeDecoration(this.decorationId),this.decorationId=i.addDecoration(Ls.fromPositions(t,t),{description:"selection-anchor",stickiness:1,hoverMessage:(new M_).appendText(rt(0,"Selection Anchor")),className:"selection-anchor"})})),this.selectionAnchorSetContextKey.set(!!this.decorationId),Tm(rt(0,"Anchor set at {0}:{1}",t.lineNumber,t.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const t=this.editor.getModel().getDecorationRange(this.decorationId);t&&this.editor.setPosition(t.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const t=this.editor.getModel().getDecorationRange(this.decorationId);if(t){const i=this.editor.getPosition();this.editor.setSelection(Ls.fromPositions(t.getStartPosition(),i)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const t=this.decorationId;this.editor.changeDecorations((i=>{i.removeDecoration(t),this.decorationId=void 0})),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};fZ.ID="editor.contrib.selectionAnchorController",fZ=uZ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,ah)],fZ),lu(fZ.ID,fZ,4),cu(class extends su{constructor(){super({id:"editor.action.setSelectionAnchor",label:rt(0,"Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2080),weight:100}})}async run(t,i){var e;null===(e=fZ.get(i))||void 0===e||e.setSelectionAnchor()}}),cu(class extends su{constructor(){super({id:"editor.action.goToSelectionAnchor",label:rt(0,"Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:dZ})}async run(t,i){var e;null===(e=fZ.get(i))||void 0===e||e.goToSelectionAnchor()}}),cu(class extends su{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:rt(0,"Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:dZ,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2089),weight:100}})}async run(t,i){var e;null===(e=fZ.get(i))||void 0===e||e.selectFromAnchorToCursor()}}),cu(class extends su{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:rt(0,"Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:dZ,kbOpts:{kbExpr:UC.editorTextFocus,primary:9,weight:100}})}async run(t,i){var e;null===(e=fZ.get(i))||void 0===e||e.cancelSelectionAnchor()}});const pZ=ow("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},rt(0,"Overview ruler marker color for matching brackets."));class gZ{constructor(t,i,e){this.position=t,this.brackets=i,this.options=e}}class mZ extends ie{static get(t){return t.getContribution(mZ.ID)}constructor(t){super(),this._editor=t,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new pc((()=>this._updateBrackets()),50)),this._matchBrackets=this._editor.getOption(71),this._updateBracketsSoon.schedule(),this._register(t.onDidChangeCursorPosition((()=>{"never"!==this._matchBrackets&&this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModelContent((()=>{this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModel((()=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeModelLanguageConfiguration((()=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()}))),this._register(t.onDidChangeConfiguration((t=>{t.hasChanged(71)&&(this._matchBrackets=this._editor.getOption(71),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())}))),this._register(t.onDidBlurEditorWidget((()=>{this._updateBracketsSoon.schedule()}))),this._register(t.onDidFocusEditorWidget((()=>{this._updateBracketsSoon.schedule()})))}jumpToBracket(){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=this._editor.getSelections().map((i=>{const e=i.getStartPosition(),s=t.bracketPairs.matchBracket(e);let n=null;if(s)s[0].containsPosition(e)&&!s[1].containsPosition(e)?n=s[1].getStartPosition():s[1].containsPosition(e)&&(n=s[0].getStartPosition());else{const i=t.bracketPairs.findEnclosingBrackets(e);if(i)n=i[1].getStartPosition();else{const i=t.bracketPairs.findNextBracket(e);i&&i.range&&(n=i.range.getStartPosition())}}return n?new Ls(n.lineNumber,n.column,n.lineNumber,n.column):new Ls(e.lineNumber,e.column,e.lineNumber,e.column)}));this._editor.setSelections(i),this._editor.revealRange(i[0])}selectToBracket(t){if(!this._editor.hasModel())return;const i=this._editor.getModel(),e=[];this._editor.getSelections().forEach((s=>{const n=s.getStartPosition();let o=i.bracketPairs.matchBracket(n);if(!o&&(o=i.bracketPairs.findEnclosingBrackets(n),!o)){const t=i.bracketPairs.findNextBracket(n);t&&t.range&&(o=i.bracketPairs.matchBracket(t.range.getStartPosition()))}let r=null,h=null;if(o){o.sort(Ms.compareRangesUsingStarts);const[i,e]=o;if(r=t?i.getStartPosition():i.getEndPosition(),h=t?e.getEndPosition():e.getStartPosition(),e.containsPosition(n)){const t=r;r=h,h=t}}r&&h&&e.push(new Ls(r.lineNumber,r.column,h.lineNumber,h.column))})),e.length>0&&(this._editor.setSelections(e),this._editor.revealRange(e[0]))}removeBrackets(t){if(!this._editor.hasModel())return;const i=this._editor.getModel();this._editor.getSelections().forEach((e=>{const s=e.getPosition();let n=i.bracketPairs.matchBracket(s);n||(n=i.bracketPairs.findEnclosingBrackets(s)),n&&(this._editor.pushUndoStop(),this._editor.executeEdits(t,[{range:n[0],text:""},{range:n[1],text:""}]),this._editor.pushUndoStop())}))}_updateBrackets(){if("never"===this._matchBrackets)return;this._recomputeBrackets();const t=[];let i=0;for(const e of this._lastBracketsData){const s=e.brackets;s&&(t[i++]={range:s[0],options:e.options},t[i++]={range:s[1],options:e.options})}this._decorations.set(t)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return this._lastBracketsData=[],void(this._lastVersionId=0);const t=this._editor.getSelections();if(t.length>100)return this._lastBracketsData=[],void(this._lastVersionId=0);const i=this._editor.getModel(),e=i.getVersionId();let s=[];this._lastVersionId===e&&(s=this._lastBracketsData);const n=[];let o=0;for(let i=0,e=t.length;i1&&n.sort(As.compare);const r=[];let h=0,c=0;const a=s.length;for(let t=0,e=n.length;t0&&(i.pushUndoStop(),i.executeCommands(this.id,s),i.pushUndoStop())}});const bZ="9_cutcopypaste",yZ=Et||document.queryCommandSupported("cut"),kZ=Et||document.queryCommandSupported("copy"),xZ=void 0!==navigator.clipboard&&!Uo||document.queryCommandSupported("paste");function CZ(t){return t.register(),t}const SZ=yZ?CZ(new tu({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Et?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:Rh.MenubarEditMenu,group:"2_ccp",title:rt(0,"Cu&&t"),order:1},{menuId:Rh.EditorContext,group:bZ,title:rt(0,"Cut"),when:UC.writable,order:1},{menuId:Rh.CommandPalette,group:"",title:rt(0,"Cut"),order:1},{menuId:Rh.SimpleEditorContext,group:bZ,title:rt(0,"Cut"),when:UC.writable,order:1}]})):void 0,DZ=kZ?CZ(new tu({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Et?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:Rh.MenubarEditMenu,group:"2_ccp",title:rt(0,"&&Copy"),order:2},{menuId:Rh.EditorContext,group:bZ,title:rt(0,"Copy"),order:2},{menuId:Rh.CommandPalette,group:"",title:rt(0,"Copy"),order:1},{menuId:Rh.SimpleEditorContext,group:bZ,title:rt(0,"Copy"),order:2}]})):void 0;_h.appendMenuItem(Rh.MenubarEditMenu,{submenu:Rh.MenubarCopy,title:{value:rt(0,"Copy As"),original:"Copy As"},group:"2_ccp",order:3}),_h.appendMenuItem(Rh.EditorContext,{submenu:Rh.EditorContextCopy,title:{value:rt(0,"Copy As"),original:"Copy As"},group:bZ,order:3}),_h.appendMenuItem(Rh.EditorContext,{submenu:Rh.EditorContextShare,title:{value:rt(0,"Share"),original:"Share"},group:"11_share",order:-1,when:zr.and(zr.notEquals("resourceScheme","output"),UC.editorTextFocus)}),_h.appendMenuItem(Rh.EditorTitleContext,{submenu:Rh.EditorTitleContextShare,title:{value:rt(0,"Share"),original:"Share"},group:"11_share",order:-1}),_h.appendMenuItem(Rh.ExplorerContext,{submenu:Rh.ExplorerContextShare,title:{value:rt(0,"Share"),original:"Share"},group:"11_share",order:-1});const EZ=xZ?CZ(new tu({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Et?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:Rh.MenubarEditMenu,group:"2_ccp",title:rt(0,"&&Paste"),order:4},{menuId:Rh.EditorContext,group:bZ,title:rt(0,"Paste"),when:UC.writable,order:4},{menuId:Rh.CommandPalette,group:"",title:rt(0,"Paste"),order:1},{menuId:Rh.SimpleEditorContext,group:bZ,title:rt(0,"Paste"),when:UC.writable,order:4}]})):void 0;function AZ(t,i){t&&(t.addImplementation(1e4,"code-editor",(t=>{const e=t.get(fr).getFocusedCodeEditor();if(e&&e.hasTextFocus()){const t=e.getOption(37),s=e.getSelection();return s&&s.isEmpty()&&!t||e.getContainerDomNode().ownerDocument.execCommand(i),!0}return!1})),t.addImplementation(0,"generic-dom",(()=>(ml().execCommand(i),!0))))}AZ(SZ,"cut"),AZ(DZ,"copy"),EZ&&(EZ.addImplementation(1e4,"code-editor",(t=>{const i=t.get(fr),e=t.get(dH),s=i.getFocusedCodeEditor();return!(!s||!s.hasTextFocus())&&(!(!s.getContainerDomNode().ownerDocument.execCommand("paste")&&At)||(async()=>{const t=await e.readText();if(""!==t){const i=Bk.INSTANCE.get(t);let e=!1,n=null,o=null;i&&(e=s.getOption(37)&&!!i.isFromEmptySelection,n=void 0!==i.multicursorText?i.multicursorText:null,o=i.mode),s.trigger("keyboard","paste",{text:t,pasteOnNewLine:e,multicursorText:n,mode:o})}})())})),EZ.addImplementation(0,"generic-dom",(()=>(ml().execCommand("paste"),!0)))),kZ&&cu(class extends su{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:rt(0,"Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:UC.textInputFocus,primary:0,weight:100}})}run(t,i){i.hasModel()&&(!i.getOption(37)&&i.getSelection().isEmpty()||(Nk.forceCopyWithSyntaxHighlighting=!0,i.focus(),i.getContainerDomNode().ownerDocument.execCommand("copy"),Nk.forceCopyWithSyntaxHighlighting=!1))}});class MZ{constructor(t){this.value=t}equals(t){return this.value===t.value}contains(t){return this.equals(t)||""===this.value||t.value.startsWith(this.value+MZ.sep)}intersects(t){return this.contains(t)||t.contains(this)}append(t){return new MZ(this.value+MZ.sep+t)}}var LZ;function FZ(t,i,e){return!(!i.contains(t)||e&&i.contains(e))}MZ.sep=".",MZ.None=new MZ("@@none@@"),MZ.Empty=new MZ(""),MZ.QuickFix=new MZ("quickfix"),MZ.Refactor=new MZ("refactor"),MZ.RefactorExtract=MZ.Refactor.append("extract"),MZ.RefactorInline=MZ.Refactor.append("inline"),MZ.RefactorMove=MZ.Refactor.append("move"),MZ.RefactorRewrite=MZ.Refactor.append("rewrite"),MZ.Notebook=new MZ("notebook"),MZ.Source=new MZ("source"),MZ.SourceOrganizeImports=MZ.Source.append("organizeImports"),MZ.SourceFixAll=MZ.Source.append("fixAll"),MZ.SurroundWith=MZ.Refactor.append("surround"),function(t){t.Refactor="refactor",t.RefactorPreview="refactor preview",t.Lightbulb="lightbulb",t.Default="other (default)",t.SourceAction="source action",t.QuickFix="quick fix action",t.FixAll="fix all",t.OrganizeImports="organize imports",t.AutoFix="auto fix",t.QuickFixHover="quick fix hover window",t.OnSave="save participants",t.ProblemsView="problems view"}(LZ||(LZ={}));class TZ{static fromUser(t,i){return t&&"object"==typeof t?new TZ(TZ.getKindFromUser(t,i.kind),TZ.getApplyFromUser(t,i.apply),TZ.getPreferredUser(t)):new TZ(i.kind,i.apply,!1)}static getApplyFromUser(t,i){switch("string"==typeof t.apply?t.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return i}}static getKindFromUser(t,i){return"string"==typeof t.kind?new MZ(t.kind):i}static getPreferredUser(t){return"boolean"==typeof t.preferred&&t.preferred}constructor(t,i,e){this.kind=t,this.apply=i,this.preferred=e}}class RZ{constructor(t,i,e){this.action=t,this.provider=i,this.highlightRange=e}async resolve(t){var i;if((null===(i=this.provider)||void 0===i?void 0:i.resolveCodeAction)&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,t)}catch(t){$i(t)}i&&(this.action.edit=i.edit)}return this}}const OZ="editor.action.codeAction",IZ="editor.action.quickFix",_Z="editor.action.autoFix",NZ="editor.action.refactor",BZ="editor.action.sourceAction",PZ="editor.action.organizeImports",$Z="editor.action.fixAll";class WZ extends ie{static codeActionsPreferredComparator(t,i){return t.isPreferred&&!i.isPreferred?-1:!t.isPreferred&&i.isPreferred?1:0}static codeActionsComparator({action:t},{action:i}){return t.isAI&&!i.isAI?1:!t.isAI&&i.isAI?-1:y(t.diagnostics)?y(i.diagnostics)?WZ.codeActionsPreferredComparator(t,i):-1:y(i.diagnostics)?1:WZ.codeActionsPreferredComparator(t,i)}constructor(t,i,e){super(),this.documentation=i,this._register(e),this.allActions=[...t].sort(WZ.codeActionsComparator),this.validActions=this.allActions.filter((({action:t})=>!t.disabled))}get hasAutoFix(){return this.validActions.some((({action:t})=>!!t.kind&&MZ.QuickFix.contains(new MZ(t.kind))&&!!t.isPreferred))}get hasAIFix(){return this.validActions.some((({action:t})=>!!t.isAI))}get allAIFixes(){return this.validActions.every((({action:t})=>!!t.isAI))}}const jZ={actions:[],documentation:void 0};async function zZ(t,i,e,s,n,o){var r;const h=s.filter||{},c={...h,excludes:[...h.excludes||[],MZ.Notebook]},a={only:null===(r=h.include)||void 0===r?void 0:r.value,trigger:s.type},l=new mK(i,o),d=function(t,i,e){return t.all(i).filter((t=>!t.providedCodeActionKinds||t.providedCodeActionKinds.some((t=>function(t,i){return!(t.include&&!t.include.intersects(i)||t.excludes&&t.excludes.some((e=>FZ(i,e,t.include)))||!t.includeSourceActions&&MZ.Source.contains(i))}(e,new MZ(t))))))}(t,i,2===s.type?c:h),f=new te,p=d.map((async t=>{try{n.report(t);const s=await t.provideCodeActions(i,e,a,l.token);if(s&&f.add(s),l.token.isCancellationRequested)return jZ;const o=((null==s?void 0:s.actions)||[]).filter((t=>t&&function(t,i){const e=i.kind?new MZ(i.kind):void 0;return!(!(!t.include||e&&t.include.contains(e))||t.excludes&&e&&t.excludes.some((i=>FZ(e,i,t.include)))||!t.includeSourceActions&&e&&MZ.Source.contains(e)||t.onlyIncludePreferredActions&&!i.isPreferred)}(h,t))),r=function(t,i,e){if(!t.documentation)return;const s=t.documentation.map((t=>({kind:new MZ(t.kind),command:t.command})));if(e){let t;for(const i of s)i.kind.contains(e)&&(t?t.kind.contains(i.kind)&&(t=i):t=i);if(t)return null==t?void 0:t.command}for(const t of i)if(t.kind)for(const i of s)if(i.kind.contains(new MZ(t.kind)))return i.command}(t,o,h.include);return{actions:o.map((i=>new RZ(i,t))),documentation:r}}catch(t){if(zi(t))throw t;return $i(t),jZ}})),g=t.onDidChange((()=>{u(t.all(i),d)||l.cancel()}));try{const e=await Promise.all(p),n=e.map((t=>t.actions)).flat(),o=[...w(e.map((t=>t.documentation))),...HZ(t,i,s,n)];return new WZ(n,o,f)}finally{g.dispose(),l.dispose()}}function*HZ(t,i,e,s){var n,o,r;if(i&&s.length)for(const h of t.all(i))h._getAdditionalMenuItems&&(yield*null===(n=h._getAdditionalMenuItems)||void 0===n?void 0:n.call(h,{trigger:e.type,only:null===(r=null===(o=e.filter)||void 0===o?void 0:o.include)||void 0===r?void 0:r.value},s.map((t=>t.action))))}var VZ;async function UZ(t,i,e,s,n=xe.None){var o;const r=t.get(QR),h=t.get(Sr),c=t.get(Wh),a=t.get(JF);if(c.publicLog2("codeAction.applyCodeAction",{codeActionTitle:i.action.title,codeActionKind:i.action.kind,codeActionIsPreferred:!!i.action.isPreferred,reason:e}),await i.resolve(n),!n.isCancellationRequested){if((null===(o=i.action.edit)||void 0===o?void 0:o.edits.length)&&!(await r.apply(i.action.edit,{editor:null==s?void 0:s.editor,label:i.action.title,quotableLabel:i.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:e!==VZ.OnSave,showPreview:null==s?void 0:s.preview})).isApplied)return;if(i.action.command)try{await h.executeCommand(i.action.command.id,...i.action.command.arguments||[])}catch(t){const i=function(t){return"string"==typeof t?t:t instanceof Error&&"string"==typeof t.message?t.message:void 0}(t);a.error("string"==typeof i?i:rt(0,"An unknown error occurred while applying the code action"))}}}!function(t){t.OnSave="onSave",t.FromProblemsView="fromProblemsView",t.FromCodeActions="fromCodeActions"}(VZ||(VZ={})),Dr.registerCommand("_executeCodeActionProvider",(async function(t,i,e,s,n){if(!(i instanceof ms))throw Vi();const{codeActionProvider:o}=t.get(gg),r=t.get(pr).getModel(i);if(!r)throw Vi();const h=Ls.isISelection(e)?Ls.liftSelection(e):Ms.isIRange(e)?r.validateRange(e):void 0;if(!h)throw Vi();const c="string"==typeof s?new MZ(s):void 0,a=await zZ(o,r,h,{type:1,triggerAction:LZ.Default,filter:{includeSourceActions:!0,include:c}},OO.None,xe.None),l=[],u=Math.min(a.validActions.length,"number"==typeof n?n:0);for(let t=0;tt.action))}finally{setTimeout((()=>a.dispose()),100)}}));var qZ;let KZ=qZ=class{constructor(t){this.keybindingService=t}getResolver(){const t=new zn((()=>this.keybindingService.getKeybindings().filter((t=>qZ.codeActionCommands.indexOf(t.command)>=0)).filter((t=>t.resolvedKeybinding)).map((t=>{let i=t.commandArgs;return t.command===PZ?i={kind:MZ.SourceOrganizeImports.value}:t.command===$Z&&(i={kind:MZ.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...TZ.fromUser(i,{kind:MZ.None,apply:"never"})}}))));return i=>{if(i.kind){const e=this.bestKeybindingForCodeAction(i,t.value);return null==e?void 0:e.resolvedKeybinding}}}bestKeybindingForCodeAction(t,i){if(!t.kind)return;const e=new MZ(t.kind);return i.filter((t=>t.kind.contains(e))).filter((i=>!i.preferred||t.isPreferred)).reduceRight(((t,i)=>t?t.kind.contains(i.kind)?i:t:i),void 0)}};KZ.codeActionCommands=[NZ,OZ,BZ,PZ,$Z],KZ=qZ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,Yx)],KZ),ow("symbolIcon.arrayForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.booleanForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},rt(0,"The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.colorForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.constantForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},rt(0,"The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},rt(0,"The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},rt(0,"The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.fileForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.folderForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},rt(0,"The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.keyForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.keywordForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},rt(0,"The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.moduleForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.namespaceForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.nullForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.numberForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.objectForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.operatorForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.packageForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.propertyForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.referenceForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.snippetForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.stringForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.structForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.textForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.typeParameterForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.unitForeground",{dark:rw,light:rw,hcDark:rw,hcLight:rw},rt(0,"The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget.")),ow("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},rt(0,"The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const GZ=Object.freeze({kind:MZ.Empty,title:rt(0,"More Actions...")}),ZZ=Object.freeze([{kind:MZ.QuickFix,title:rt(0,"Quick Fix")},{kind:MZ.RefactorExtract,title:rt(0,"Extract"),icon:Os.wrench},{kind:MZ.RefactorInline,title:rt(0,"Inline"),icon:Os.wrench},{kind:MZ.RefactorRewrite,title:rt(0,"Rewrite"),icon:Os.wrench},{kind:MZ.RefactorMove,title:rt(0,"Move"),icon:Os.wrench},{kind:MZ.SurroundWith,title:rt(0,"Surround With"),icon:Os.symbolSnippet},{kind:MZ.Source,title:rt(0,"Source Action"),icon:Os.symbolFile},GZ]);var QZ,JZ,YZ=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t.Hidden={type:0},t.Showing=class{constructor(t,i,e,s){this.actions=t,this.trigger=i,this.editorPosition=e,this.widgetPosition=s,this.type=1}}}(JZ||(JZ={}));let XZ=QZ=class extends ie{constructor(t,i,e){var s,n,o;super(),this._editor=t,this._keybindingService=i,this._onClick=this._register(new fe),this.onClick=this._onClick.event,this._state=JZ.Hidden,this._iconClasses=[],this._domNode=$l("div.lightBulbWidget"),this._register(Xm.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent((()=>{const t=this._editor.getModel();(1!==this.state.type||!t||this.state.editorPosition.lineNumber>=t.getLineCount())&&this.hide()}))),this._register((n=t=>{var i;if(1!==this.state.type)return;const s=this._editor.getOption(64).experimental.showAiIcon;if((s===wi.On||s===wi.OnCode)&&this.state.actions.allAIFixes&&1===this.state.actions.validActions.length){const s=this.state.actions.validActions[0].action;if(null===(i=s.command)||void 0===i?void 0:i.id)return e.executeCommand(s.command.id,...s.command.arguments||[]),void t.preventDefault()}this._editor.focus(),t.preventDefault();const{top:n,height:o}=nl(this._domNode),r=this._editor.getOption(66);let h=Math.floor(r/3);null!==this.state.widgetPosition.position&&this.state.widgetPosition.position.lineNumber{1==(1&t.buttons)&&this.hide()}))),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(64)&&(this._editor.getOption(64).enabled||this.hide(),this._updateLightBulbTitleAndIcon())}))),this._register(ce.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,(()=>{var t,i,e,s;this._preferredKbLabel=null!==(i=null===(t=this._keybindingService.lookupKeybinding(_Z))||void 0===t?void 0:t.getLabel())&&void 0!==i?i:void 0,this._quickFixKbLabel=null!==(s=null===(e=this._keybindingService.lookupKeybinding(IZ))||void 0===e?void 0:e.getLabel())&&void 0!==s?s:void 0,this._updateLightBulbTitleAndIcon()})))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return 1===this._state.type?this._state.widgetPosition:null}update(t,i,e){if(t.validActions.length<=0)return this.hide();const s=this._editor.getOptions();if(!s.get(64).enabled)return this.hide();const n=this._editor.getModel();if(!n)return this.hide();const{lineNumber:o,column:r}=n.validatePosition(e),h=n.getOptions().tabSize,c=s.get(50),a=DS(n.getLineContent(o),h),l=t=>t>2&&this._editor.getTopForLineNumber(t)===this._editor.getTopForLineNumber(t-1);let u=o;if(!(c.spaceWidth*a>22))if(o>1&&!l(o-1))u-=1;else if(l(o+1)){if(r*c.spaceWidth<22)return this.hide()}else u+=1;this.state=new JZ.Showing(t,i,e,{position:{lineNumber:u,column:n.getLineContent(u).match(/^\S\s*$/)?2:1},preference:QZ._posPref}),this._editor.layoutContentWidget(this)}hide(){this.state!==JZ.Hidden&&(this.state=JZ.Hidden,this._editor.layoutContentWidget(this))}get state(){return this._state}set state(t){this._state=t,this._updateLightBulbTitleAndIcon()}_updateLightBulbTitleAndIcon(){var t,i,e;if(this._domNode.classList.remove(...this._iconClasses),this._iconClasses=[],1!==this.state.type)return;const s=()=>{this._preferredKbLabel&&(this.title=rt(0,"Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel))},n=()=>{this.title=this._quickFixKbLabel?rt(0,"Show Code Actions ({0})",this._quickFixKbLabel):rt(0,"Show Code Actions")};let o;const r=this._editor.getOption(64).experimental.showAiIcon;if(r===wi.On||r===wi.OnCode)if(r===wi.On&&this.state.actions.allAIFixes)if(o=Os.sparkleFilled,this.state.actions.allAIFixes&&1===this.state.actions.validActions.length)if("inlineChat.start"===(null===(t=this.state.actions.validActions[0].action.command)||void 0===t?void 0:t.id)){const t=null!==(e=null===(i=this._keybindingService.lookupKeybinding("inlineChat.start"))||void 0===i?void 0:i.getLabel())&&void 0!==e?e:void 0;this.title=t?rt(0,"Start Inline Chat ({0})",t):rt(0,"Start Inline Chat")}else this.title=rt(0,"Trigger AI Action");else n();else this.state.actions.hasAutoFix?(o=this.state.actions.hasAIFix?Os.lightbulbSparkleAutofix:Os.lightbulbAutofix,s()):this.state.actions.hasAIFix?(o=Os.lightbulbSparkle,n()):(o=Os.lightBulb,n());else this.state.actions.hasAutoFix?(o=Os.lightbulbAutofix,s()):(o=Os.lightBulb,n());this._iconClasses=Cr.asClassNameArray(o),this._domNode.classList.add(...this._iconClasses)}set title(t){this._domNode.title=t}};XZ.ID="editor.contrib.lightbulbWidget",XZ._posPref=[0],XZ=QZ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([YZ(1,Yx),YZ(2,Sr)],XZ);var tQ,iQ=function(t,i){return function(e,s){i(e,s,t)}};let eQ=tQ=class{constructor(t,i,e){this._options=t,this._languageService=i,this._openerService=e,this._onDidRenderAsync=new fe,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(t,i,e){if(!t)return{element:document.createElement("span"),dispose:()=>{}};const s=new te,n=s.add(J_(t,{...this._getRenderOptions(t,s),...i},e));return n.element.classList.add("rendered-markdown"),{element:n.element,dispose:()=>s.dispose()}}_getRenderOptions(t,i){return{codeBlockRenderer:async(t,i)=>{var e,s,n;let o;t?o=this._languageService.getLanguageIdByLanguageName(t):this._options.editor&&(o=null===(e=this._options.editor.getModel())||void 0===e?void 0:e.getLanguageId()),o||(o=Pd);const r=await async function(t,i,e){if(!e)return mF(i,t.languageIdCodec,pF);const s=await Zs.getOrCreate(e);return mF(i,t.languageIdCodec,s||pF)}(this._languageService,i,o),h=document.createElement("span");return h.innerHTML=null!==(n=null===(s=tQ._ttpTokenizer)||void 0===s?void 0:s.createHTML(r))&&void 0!==n?n:r,this._options.editor?ir(h,this._options.editor.getOption(50)):this._options.codeBlockFontFamily&&(h.style.fontFamily=this._options.codeBlockFontFamily),void 0!==this._options.codeBlockFontSize&&(h.style.fontSize=this._options.codeBlockFontSize),h},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:i=>sQ(this._openerService,i,t.isTrusted),disposables:i}}}};async function sQ(t,i,e){try{return await t.open(i,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:nQ(e)})}catch(t){return Pi(t),!1}}function nQ(t){return!0===t||!(!t||!Array.isArray(t.enabledCommands))&&t.enabledCommands}eQ._ttpTokenizer=Mu("tokenizeToString",{createHTML:t=>t}),eQ=tQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([iQ(1,yd),iQ(2,nP)],eQ);var oQ,rQ=function(t,i){return function(e,s){i(e,s,t)}};let hQ=oQ=class{static get(t){return t.getContribution(oQ.ID)}constructor(t,i,e){this._openerService=e,this._messageWidget=new ee,this._messageListeners=new te,this._mouseOverMessage=!1,this._editor=t,this._visible=oQ.MESSAGE_VISIBLE.bindTo(i)}dispose(){var t;null===(t=this._message)||void 0===t||t.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(t,i){let e;Tm(F_(t)?t.value:t),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=F_(t)?J_(t,{actionHandler:{callback:i=>sQ(this._openerService,i,F_(t)?t.isTrusted:void 0),disposables:this._messageListeners}}):void 0,this._messageWidget.value=new cQ(this._editor,i,"string"==typeof t?t:this._message.element),this._messageListeners.add(ce.debounce(this._editor.onDidBlurEditorText,((t,i)=>i),0)((()=>{this._mouseOverMessage||this._messageWidget.value&&al(pl(),this._messageWidget.value.getDomNode())||this.closeMessage()}))),this._messageListeners.add(this._editor.onDidChangeCursorPosition((()=>this.closeMessage()))),this._messageListeners.add(this._editor.onDidDispose((()=>this.closeMessage()))),this._messageListeners.add(this._editor.onDidChangeModel((()=>this.closeMessage()))),this._messageListeners.add(Va(this._messageWidget.value.getDomNode(),Ll.MOUSE_ENTER,(()=>this._mouseOverMessage=!0),!0)),this._messageListeners.add(Va(this._messageWidget.value.getDomNode(),Ll.MOUSE_LEAVE,(()=>this._mouseOverMessage=!1),!0)),this._messageListeners.add(this._editor.onMouseMove((t=>{t.target.position&&(e?e.containsPosition(t.target.position)||this.closeMessage():e=new Ms(i.lineNumber-3,1,t.target.position.lineNumber+3,1))})))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(cQ.fadeOut(this._messageWidget.value))}};hQ.ID="editor.contrib.messageController",hQ.MESSAGE_VISIBLE=new ch("messageVisible",!1,rt(0,"Whether the editor is currently showing an inline message")),hQ=oQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([rQ(1,ah),rQ(2,nP)],hQ),hu(new(eu.bindToContribution(hQ.get))({id:"leaveEditorMessage",precondition:hQ.MESSAGE_VISIBLE,handler:t=>t.closeMessage(),kbOpts:{weight:130,primary:9}}));class cQ{static fadeOut(t){const i=()=>{t.dispose(),clearTimeout(e),t.getDomNode().removeEventListener("animationend",i)},e=setTimeout(i,110);return t.getDomNode().addEventListener("animationend",i),t.getDomNode().classList.add("fadeOut"),{dispose:i}}constructor(t,{lineNumber:i,column:e},s){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=t,this._editor.revealLinesInCenterIfOutsideViewport(i,i,0),this._position={lineNumber:i,column:e},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const n=document.createElement("div");n.classList.add("anchor","top"),this._domNode.appendChild(n);const o=document.createElement("div");"string"==typeof s?(o.classList.add("message"),o.textContent=s):(s.classList.add("message"),o.appendChild(s)),this._domNode.appendChild(o);const r=document.createElement("div");r.classList.add("anchor","below"),this._domNode.appendChild(r),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(t){this._domNode.classList.toggle("below",2===t)}}lu(hQ.ID,hQ,4);var aQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},lQ=function(t,i){return function(e,s){i(e,s,t)}};const uQ="acceptSelectedCodeAction",dQ="previewSelectedCodeAction";class fQ{get templateId(){return"header"}renderTemplate(t){t.classList.add("group-header");const i=document.createElement("span");return t.append(i),{container:t,text:i}}renderElement(t,i,e){var s,n;e.text.textContent=null!==(n=null===(s=t.group)||void 0===s?void 0:s.title)&&void 0!==n?n:""}disposeTemplate(t){}}let pQ=class{get templateId(){return"action"}constructor(t,i){this._supportsPreview=t,this._keybindingService=i}renderTemplate(t){t.classList.add(this.templateId);const i=document.createElement("div");i.className="icon",t.append(i);const e=document.createElement("span");return e.className="title",t.append(e),{container:t,icon:i,text:e,keybinding:new Uj(t,_t)}}renderElement(t,i,e){var s,n,o;if((null===(s=t.group)||void 0===s?void 0:s.icon)?(e.icon.className=Cr.asClassName(t.group.icon),t.group.icon.color&&(e.icon.style.color=ew(t.group.icon.color.id))):(e.icon.className=Cr.asClassName(Os.lightBulb),e.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!t.item||!t.label)return;e.text.textContent=bQ(t.label),e.keybinding.set(t.keybinding),function(t,...i){t?Wl(...i):jl(...i)}(!!t.keybinding,e.keybinding.element);const r=null===(n=this._keybindingService.lookupKeybinding(uQ))||void 0===n?void 0:n.getLabel(),h=null===(o=this._keybindingService.lookupKeybinding(dQ))||void 0===o?void 0:o.getLabel();e.container.classList.toggle("option-disabled",t.disabled),e.container.title=t.disabled?t.label:r&&h?this._supportsPreview&&t.canPreview?rt(0,"{0} to apply, {1} to preview",r,h):rt(0,"{0} to apply",r):""}disposeTemplate(t){}};pQ=aQ([lQ(1,Yx)],pQ);class gQ extends UIEvent{constructor(){super("acceptSelectedAction")}}class mQ extends UIEvent{constructor(){super("previewSelectedAction")}}function wQ(t){if("action"===t.kind)return t.label}let vQ=class extends ie{constructor(t,i,e,s,n,o){super(),this._delegate=s,this._contextViewService=n,this._keybindingService=o,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new Se),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList"),this._list=this._register(new iB(t,this.domNode,{getHeight:t=>"header"===t.kind?this._headerLineHeight:this._actionLineHeight,getTemplateId:t=>t.kind},[new pQ(i,this._keybindingService),new fQ],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:wQ},accessibilityProvider:{getAriaLabel:t=>{if("action"===t.kind){let i=t.label?bQ(null==t?void 0:t.label):"";return t.disabled&&(i=rt(0,"{0}, Disabled Reason: {1}",i,t.disabled)),i}return null},getWidgetAriaLabel:()=>rt(0,"Action Widget"),getRole:t=>"action"===t.kind?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(LB),this._register(this._list.onMouseClick((t=>this.onListClick(t)))),this._register(this._list.onMouseOver((t=>this.onListHover(t)))),this._register(this._list.onDidChangeFocus((()=>this.onFocus()))),this._register(this._list.onDidChangeSelection((t=>this.onListSelection(t)))),this._allMenuItems=e,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(t){return!t.disabled&&"action"===t.kind}hide(t){this._delegate.onHide(t),this.cts.cancel(),this._contextViewService.hideContextView()}layout(t){const i=this._allMenuItems.filter((t=>"header"===t.kind)).length,e=this._allMenuItems.length*this._actionLineHeight+i*this._headerLineHeight-i*this._actionLineHeight;this._list.layout(e);let s=t;if(this._allMenuItems.length>=50)s=380;else{const i=this._allMenuItems.map(((t,i)=>{const e=this.domNode.ownerDocument.getElementById(this._list.getElementID(i));if(e){e.style.width="auto";const t=e.getBoundingClientRect().width;return e.style.width="",t}return 0}));s=Math.max(...i,t)}const n=Math.min(e,.7*this.domNode.ownerDocument.body.clientHeight);return this._list.layout(n,s),this.domNode.style.height=`${n}px`,this._list.domFocus(),s}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(t){const i=this._list.getFocus();if(0===i.length)return;const e=i[0],s=this._list.element(e);if(!this.focusCondition(s))return;const n=t?new mQ:new gQ;this._list.setSelection([e],n)}onListSelection(t){if(!t.elements.length)return;const i=t.elements[0];i.item&&this.focusCondition(i)?this._delegate.onSelect(i.item,t.browserEvent instanceof mQ):this._list.setSelection([])}onFocus(){var t,i;this._list.domFocus();const e=this._list.getFocus();if(0===e.length)return;const s=this._list.element(e[0]);null===(i=(t=this._delegate).onFocus)||void 0===i||i.call(t,s.item)}async onListHover(t){const i=t.element;if(i&&i.item&&this.focusCondition(i)){if(this._delegate.onHover&&!i.disabled&&"action"===i.kind){const t=await this._delegate.onHover(i.item,this.cts.token);i.canPreview=t?t.canPreview:void 0}t.index&&this._list.splice(t.index,1,[i])}this._list.setFocus("number"==typeof t.index?[t.index]:[])}onListClick(t){t.element&&this.focusCondition(t.element)&&this._list.setFocus([])}};function bQ(t){return t.replace(/\r\n|\r|\n/g," ")}vQ=aQ([lQ(4,iI),lQ(5,Yx)],vQ);var yQ=function(t,i){return function(e,s){i(e,s,t)}};ow("actionBar.toggledBackground",{dark:bw,light:bw,hcDark:bw,hcLight:bw},rt(0,"Background color for toggled action items in action bar."));const kQ={Visible:new ch("codeActionMenuVisible",!1,rt(0,"Whether the action widget list is visible"))},xQ=dr("actionWidgetService");let CQ=class extends ie{get isVisible(){return kQ.Visible.getValue(this._contextKeyService)||!1}constructor(t,i,e){super(),this._contextViewService=t,this._contextKeyService=i,this._instantiationService=e,this._list=this._register(new ee)}show(t,i,e,s,n,o,r){const h=kQ.Visible.bindTo(this._contextKeyService),c=this._instantiationService.createInstance(vQ,t,i,e,s);this._contextViewService.showContextView({getAnchor:()=>n,render:t=>(h.set(!0),this._renderWidget(t,c,null!=r?r:[])),onHide:t=>{h.reset(),this._onWidgetClosed(t)}},o,!1)}acceptSelected(t){var i;null===(i=this._list.value)||void 0===i||i.acceptSelected(t)}focusPrevious(){var t,i;null===(i=null===(t=this._list)||void 0===t?void 0:t.value)||void 0===i||i.focusPrevious()}focusNext(){var t,i;null===(i=null===(t=this._list)||void 0===t?void 0:t.value)||void 0===i||i.focusNext()}hide(){var t;null===(t=this._list.value)||void 0===t||t.hide(),this._list.clear()}_renderWidget(t,i,e){var s;const n=document.createElement("div");if(n.classList.add("action-widget"),t.appendChild(n),this._list.value=i,!this._list.value)throw new Error("List has no value");n.appendChild(this._list.value.domNode);const o=new te,r=document.createElement("div"),h=t.appendChild(r);h.classList.add("context-view-block"),o.add(Va(h,Ll.MOUSE_DOWN,(t=>t.stopPropagation())));const c=document.createElement("div"),a=t.appendChild(c);a.classList.add("context-view-pointerBlock"),o.add(Va(a,Ll.POINTER_MOVE,(()=>a.remove()))),o.add(Va(a,Ll.MOUSE_DOWN,(()=>a.remove())));let l=0;if(e.length){const t=this._createActionBar(".action-widget-action-bar",e);t&&(n.appendChild(t.getContainer().parentElement),o.add(t),l=t.getContainer().offsetWidth)}const u=null===(s=this._list.value)||void 0===s?void 0:s.layout(l);n.style.width=`${u}px`;const d=o.add(Rl(t));return o.add(d.onDidBlur((()=>this.hide()))),o}_createActionBar(t,i){if(!i.length)return;const e=$l(t),s=new VB(e);return s.push(i,{icon:!1,label:!0}),s}_onWidgetClosed(t){var i;null===(i=this._list.value)||void 0===i||i.hide(t)}};CQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([yQ(0,iI),yQ(1,ah),yQ(2,ur)],CQ),Cd(xQ,CQ,1);const SQ=1100;$h(class extends Ph{constructor(){super({id:"hideCodeActionWidget",title:{value:rt(0,"Hide action widget"),original:"Hide action widget"},precondition:kQ.Visible,keybinding:{weight:SQ,primary:9,secondary:[1033]}})}run(t){t.get(xQ).hide()}}),$h(class extends Ph{constructor(){super({id:"selectPrevCodeAction",title:{value:rt(0,"Select previous action"),original:"Select previous action"},precondition:kQ.Visible,keybinding:{weight:SQ,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(t){const i=t.get(xQ);i instanceof CQ&&i.focusPrevious()}}),$h(class extends Ph{constructor(){super({id:"selectNextCodeAction",title:{value:rt(0,"Select next action"),original:"Select next action"},precondition:kQ.Visible,keybinding:{weight:SQ,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(t){const i=t.get(xQ);i instanceof CQ&&i.focusNext()}}),$h(class extends Ph{constructor(){super({id:uQ,title:{value:rt(0,"Accept selected action"),original:"Accept selected action"},precondition:kQ.Visible,keybinding:{weight:SQ,primary:3,secondary:[2137]}})}run(t){const i=t.get(xQ);i instanceof CQ&&i.acceptSelected()}}),$h(class extends Ph{constructor(){super({id:dQ,title:{value:rt(0,"Preview selected action"),original:"Preview selected action"},precondition:kQ.Visible,keybinding:{weight:SQ,primary:2051}})}run(t){const i=t.get(xQ);i instanceof CQ&&i.acceptSelected(!0)}});const DQ=new ch("supportedCodeAction","");class EQ extends ie{constructor(t,i,e,s=250){super(),this._editor=t,this._markerService=i,this._signalChange=e,this._delay=s,this._autoTriggerTimer=this._register(new dc),this._register(this._markerService.onMarkerChanged((t=>this._onMarkerChanges(t)))),this._register(this._editor.onDidChangeCursorPosition((()=>this._tryAutoTrigger())))}trigger(t){const i=this._getRangeOfSelectionUnlessWhitespaceEnclosed(t);this._signalChange(i?{trigger:t,selection:i}:void 0)}_onMarkerChanges(t){const i=this._editor.getModel();i&&t.some((t=>aA(t,i.uri)))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet((()=>{this.trigger({type:2,triggerAction:LZ.Default})}),this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(t){var i;if(!this._editor.hasModel())return;const e=this._editor.getModel(),s=this._editor.getSelection();if(s.isEmpty()&&2===t.type){const{lineNumber:t,column:n}=s.getPosition(),o=e.getLineContent(t);if(0===o.length){if((null===(i=this._editor.getOption(64).experimental)||void 0===i?void 0:i.showAiIcon)!==wi.On)return}else if(1===n){if(/\s/.test(o[0]))return}else if(n===e.getLineMaxColumn(t)){if(/\s/.test(o[o.length-1]))return}else if(/\s/.test(o[n-2])&&/\s/.test(o[n-1]))return}return s}}var AQ;!function(t){t.Empty={type:0},t.Triggered=class{constructor(t,i,e){this.trigger=t,this.position=i,this._cancellablePromise=e,this.type=1,this.actions=e.catch((t=>{if(zi(t))return MQ;throw t}))}cancel(){this._cancellablePromise.cancel()}}}(AQ||(AQ={}));const MQ=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class LQ extends ie{constructor(t,i,e,s,n,o){super(),this._editor=t,this._registry=i,this._markerService=e,this._progressService=n,this._configurationService=o,this._codeActionOracle=this._register(new ee),this._state=AQ.Empty,this._onDidChangeState=this._register(new fe),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=DQ.bindTo(s),this._register(this._editor.onDidChangeModel((()=>this._update()))),this._register(this._editor.onDidChangeModelLanguage((()=>this._update()))),this._register(this._registry.onDidChange((()=>this._update()))),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(AQ.Empty,!0))}_settingEnabledNearbyQuickfixes(){var t;const i=null===(t=this._editor)||void 0===t?void 0:t.getModel();return!!this._configurationService&&this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:null==i?void 0:i.uri})}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(AQ.Empty);const t=this._editor.getModel();if(t&&this._registry.has(t)&&!this._editor.getOption(90)){const i=this._registry.all(t).flatMap((t=>{var i;return null!==(i=t.providedCodeActionKinds)&&void 0!==i?i:[]}));this._supportedCodeActions.set(i.join(" ")),this._codeActionOracle.value=new EQ(this._editor,this._markerService,(i=>{var e;if(!i)return void this.setState(AQ.Empty);const s=i.selection.getStartPosition(),n=nc((async e=>{var s,n,o,r,h,c;if(this._settingEnabledNearbyQuickfixes()&&1===i.trigger.type&&(i.trigger.triggerAction===LZ.QuickFix||(null===(n=null===(s=i.trigger.filter)||void 0===s?void 0:s.include)||void 0===n?void 0:n.contains(MZ.QuickFix)))){const s=await zZ(this._registry,t,i.selection,i.trigger,OO.None,e),n=[...s.allActions];if(e.isCancellationRequested)return MQ;if(!(null===(o=s.validActions)||void 0===o?void 0:o.some((t=>!!t.action.kind&&MZ.QuickFix.contains(new MZ(t.action.kind)))))){const o=this._markerService.read({resource:t.uri});if(o.length>0){const a=i.selection.getPosition();let l=a,u=Number.MAX_VALUE;const d=[...s.validActions];for(const f of o){const o=f.endColumn,p=f.endLineNumber;if(p===a.lineNumber||f.startLineNumber===a.lineNumber){l=new As(p,o);const f={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(null===(r=i.trigger.filter)||void 0===r?void 0:r.include)?null===(h=i.trigger.filter)||void 0===h?void 0:h.include:MZ.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:(null===(c=i.trigger.context)||void 0===c?void 0:c.notAvailableMessage)||"",position:l}},g=new Ls(l.lineNumber,l.column,l.lineNumber,l.column),m=await zZ(this._registry,t,g,f,OO.None,e);if(0!==m.validActions.length){for(const t of m.validActions)t.highlightRange=t.action.isPreferred;0===s.allActions.length&&n.push(...m.allActions),Math.abs(a.column-o)e.findIndex((i=>i.action.title===t.action.title))===i));return f.sort(((t,i)=>t.action.isPreferred&&!i.action.isPreferred?-1:!t.action.isPreferred&&i.action.isPreferred||t.action.isAI&&!i.action.isAI?1:!t.action.isAI&&i.action.isAI?-1:0)),{validActions:f,allActions:n,documentation:s.documentation,hasAutoFix:s.hasAutoFix,hasAIFix:s.hasAIFix,allAIFixes:s.allAIFixes,dispose:()=>{s.dispose()}}}}}return zZ(this._registry,t,i.selection,i.trigger,OO.None,e)}));1===i.trigger.type&&(null===(e=this._progressService)||void 0===e||e.showWhile(n,250)),this.setState(new AQ.Triggered(i.trigger,s,n))}),void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:LZ.Default})}else this._supportedCodeActions.reset()}trigger(t){var i;null===(i=this._codeActionOracle.value)||void 0===i||i.trigger(t)}setState(t,i){t!==this._state&&(1===this._state.type&&this._state.cancel(),this._state=t,i||this._disposed||this._onDidChangeState.fire(t))}}var FQ,TQ=function(t,i){return function(e,s){i(e,s,t)}};let RQ=FQ=class extends ie{static get(t){return t.getContribution(FQ.ID)}constructor(t,i,e,s,n,o,r,h,c,a){super(),this._commandService=r,this._configurationService=h,this._actionWidgetService=c,this._instantiationService=a,this._activeCodeActions=this._register(new ee),this._showDisabled=!1,this._disposed=!1,this._editor=t,this._model=this._register(new LQ(this._editor,n.codeActionProvider,i,e,o,h)),this._register(this._model.onDidChangeState((t=>this.update(t)))),this._lightBulbWidget=new zn((()=>{const t=this._editor.getContribution(XZ.ID);return t&&this._register(t.onClick((t=>this.showCodeActionList(t.actions,t,{includeDisabledActions:!1,fromLightbulb:!0})))),t})),this._resolver=s.createInstance(KZ),this._register(this._editor.onDidLayoutChange((()=>this._actionWidgetService.hide())))}dispose(){this._disposed=!0,super.dispose()}showCodeActions(t,i,e){return this.showCodeActionList(i,e,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(t,i,e,s){var n;if(!this._editor.hasModel())return;null===(n=hQ.get(this._editor))||void 0===n||n.closeMessage();const o=this._editor.getPosition();this._trigger({type:1,triggerAction:i,filter:e,autoApply:s,context:{notAvailableMessage:t,position:o}})}_trigger(t){return this._model.trigger(t)}async _applyCodeAction(t,i,e){try{await this._instantiationService.invokeFunction(UZ,t,VZ.FromCodeActions,{preview:e,editor:this._editor})}finally{i&&this._trigger({type:2,triggerAction:LZ.QuickFix,filter:{}})}}async update(t){var i,e,s,n,o,r,h;if(1!==t.type)return void(null===(i=this._lightBulbWidget.rawValue)||void 0===i||i.hide());let c;try{c=await t.actions}catch(t){return void Pi(t)}if(!this._disposed)if(null===(e=this._lightBulbWidget.value)||void 0===e||e.update(c,t.trigger,t.position),1===t.trigger.type){if(null===(s=t.trigger.filter)||void 0===s?void 0:s.include){const i=this.tryGetValidActionToApply(t.trigger,c);if(i){try{null===(n=this._lightBulbWidget.value)||void 0===n||n.hide(),await this._applyCodeAction(i,!1,!1)}finally{c.dispose()}return}if(t.trigger.context){const i=this.getInvalidActionThatWouldHaveBeenApplied(t.trigger,c);if(i&&i.action.disabled)return null===(o=hQ.get(this._editor))||void 0===o||o.showMessage(i.action.disabled,t.trigger.context.position),void c.dispose()}}const i=!!(null===(r=t.trigger.filter)||void 0===r?void 0:r.include);if(t.trigger.context&&(!c.allActions.length||!i&&!c.validActions.length))return null===(h=hQ.get(this._editor))||void 0===h||h.showMessage(t.trigger.context.notAvailableMessage,t.trigger.context.position),this._activeCodeActions.value=c,void c.dispose();this._activeCodeActions.value=c,this.showCodeActionList(c,this.toCoords(t.position),{includeDisabledActions:i,fromLightbulb:!1})}else this._actionWidgetService.isVisible?c.dispose():this._activeCodeActions.value=c}getInvalidActionThatWouldHaveBeenApplied(t,i){if(i.allActions.length)return"first"===t.autoApply&&0===i.validActions.length||"ifSingle"===t.autoApply&&1===i.allActions.length?i.allActions.find((({action:t})=>t.disabled)):void 0}tryGetValidActionToApply(t,i){if(i.validActions.length)return"first"===t.autoApply&&i.validActions.length>0||"ifSingle"===t.autoApply&&1===i.validActions.length?i.validActions[0]:void 0}async showCodeActionList(t,i,e){const s=this._editor.createDecorationsCollection(),n=this._editor.getDomNode();if(!n)return;const o=e.includeDisabledActions&&(this._showDisabled||0===t.validActions.length)?t.allActions:t.validActions;if(!o.length)return;const r=As.isIPosition(i)?this.toCoords(i):i,h={onSelect:async(t,i)=>{this._applyCodeAction(t,!0,!!i),this._actionWidgetService.hide(),s.clear()},onHide:()=>{var t;null===(t=this._editor)||void 0===t||t.focus(),s.clear()},onHover:async(t,i)=>{var e;if(await t.resolve(i),!i.isCancellationRequested)return{canPreview:!!(null===(e=t.action.edit)||void 0===e?void 0:e.edits.length)}},onFocus:t=>{var i,e;if(t&&t.highlightRange&&t.action.diagnostics){s.set([{range:t.action.diagnostics[0],options:FQ.DECORATION}]);const n=t.action.diagnostics[0];Rm(rt(0,"Context: {0} at line {1} and column {2}.",null===(e=null===(i=this._editor.getModel())||void 0===i?void 0:i.getWordAtPosition({lineNumber:n.startLineNumber,column:n.startColumn}))||void 0===e?void 0:e.word,n.startLineNumber,n.startColumn))}else s.clear()}};this._actionWidgetService.show("codeActionWidget",!0,function(t,i,e){if(!i)return t.map((t=>{var i;return{kind:"action",item:t,group:GZ,disabled:!!t.action.disabled,label:t.action.disabled||t.action.title,canPreview:!!(null===(i=t.action.edit)||void 0===i?void 0:i.edits.length)}}));const s=ZZ.map((t=>({group:t,actions:[]})));for(const i of t){const t=i.action.kind?new MZ(i.action.kind):MZ.None;for(const e of s)if(e.group.kind.contains(t)){e.actions.push(i);break}}const n=[];for(const t of s)if(t.actions.length){n.push({kind:"header",group:t.group});for(const i of t.actions){const s=t.group;n.push({kind:"action",item:i,group:i.action.isAI?{title:s.title,kind:s.kind,icon:Os.sparkle}:s,label:i.action.title,disabled:!!i.action.disabled,keybinding:e(i.action)})}}return n}(o,this._shouldShowHeaders(),this._resolver.getResolver()),h,r,n,this._getActionBarActions(t,i,e))}toCoords(t){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(t,1),this._editor.render();const i=this._editor.getScrolledVisiblePosition(t),e=nl(this._editor.getDomNode());return{x:e.left+i.left,y:e.top+i.top+i.height}}_shouldShowHeaders(){var t;const i=null===(t=this._editor)||void 0===t?void 0:t.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:null==i?void 0:i.uri})}_getActionBarActions(t,i,e){if(e.fromLightbulb)return[];const s=t.documentation.map((t=>{var i;return{id:t.id,label:t.title,tooltip:null!==(i=t.tooltip)&&void 0!==i?i:"",class:void 0,enabled:!0,run:()=>{var i;return this._commandService.executeCommand(t.id,...null!==(i=t.arguments)&&void 0!==i?i:[])}}}));return e.includeDisabledActions&&t.validActions.length>0&&t.allActions.length!==t.validActions.length&&s.push(this._showDisabled?{id:"hideMoreActions",label:rt(0,"Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(t,i,e))}:{id:"showMoreActions",label:rt(0,"Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(t,i,e))}),s}};function OQ(t){return zr.regex(DQ.keys()[0],new RegExp("(\\s|^)"+Gn(t.value)+"\\b"))}RQ.ID="editor.contrib.codeActionController",RQ.DECORATION=bL.register({description:"quickfix-highlight",className:"quickfix-edit-highlight"}),RQ=FQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([TQ(1,fP),TQ(2,ah),TQ(3,ur),TQ(4,gg),TQ(5,IO),TQ(6,Sr),TQ(7,pd),TQ(8,xQ),TQ(9,ur)],RQ),Jk(((t,i)=>{((t,e)=>{e&&i.addRule(`.monaco-editor .quickfix-edit-highlight { background-color: ${e}; }`)})(0,t.getColor(xv));const e=t.getColor(Dv);e&&i.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${_y(t.type)?"dotted":"solid"} ${e}; box-sizing: border-box; }`)}));const IQ={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:rt(0,"Kind of the code action to run.")},apply:{type:"string",description:rt(0,"Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[rt(0,"Always apply the first returned code action."),rt(0,"Apply the first returned code action if it is the only one."),rt(0,"Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:rt(0,"Controls if only preferred code actions should be returned.")}}};function _Q(t,i,e,s,n=LZ.Default){if(t.hasModel()){const o=RQ.get(t);null==o||o.manualTriggerAtCurrentPosition(i,n,e,s)}}lu(RQ.ID,RQ,3),lu(XZ.ID,XZ,4),cu(class extends su{constructor(){super({id:IZ,label:rt(0,"Quick Fix..."),alias:"Quick Fix...",precondition:zr.and(UC.writable,UC.hasCodeActionsProvider),kbOpts:{kbExpr:UC.textInputFocus,primary:2137,weight:100}})}run(t,i){return _Q(i,rt(0,"No code actions available"),void 0,void 0,LZ.QuickFix)}}),cu(class extends su{constructor(){super({id:NZ,label:rt(0,"Refactor..."),alias:"Refactor...",precondition:zr.and(UC.writable,UC.hasCodeActionsProvider),kbOpts:{kbExpr:UC.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:zr.and(UC.writable,OQ(MZ.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:IQ}]}})}run(t,i,e){const s=TZ.fromUser(e,{kind:MZ.Refactor,apply:"never"});return _Q(i,"string"==typeof(null==e?void 0:e.kind)?rt(0,s.preferred?"No preferred refactorings for '{0}' available":"No refactorings for '{0}' available",e.kind):rt(0,s.preferred?"No preferred refactorings available":"No refactorings available"),{include:MZ.Refactor.contains(s.kind)?s.kind:MZ.None,onlyIncludePreferredActions:s.preferred},s.apply,LZ.Refactor)}}),cu(class extends su{constructor(){super({id:BZ,label:rt(0,"Source Action..."),alias:"Source Action...",precondition:zr.and(UC.writable,UC.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:zr.and(UC.writable,OQ(MZ.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:IQ}]}})}run(t,i,e){const s=TZ.fromUser(e,{kind:MZ.Source,apply:"never"});return _Q(i,"string"==typeof(null==e?void 0:e.kind)?rt(0,s.preferred?"No preferred source actions for '{0}' available":"No source actions for '{0}' available",e.kind):rt(0,s.preferred?"No preferred source actions available":"No source actions available"),{include:MZ.Source.contains(s.kind)?s.kind:MZ.None,includeSourceActions:!0,onlyIncludePreferredActions:s.preferred},s.apply,LZ.SourceAction)}}),cu(class extends su{constructor(){super({id:PZ,label:rt(0,"Organize Imports"),alias:"Organize Imports",precondition:zr.and(UC.writable,OQ(MZ.SourceOrganizeImports)),kbOpts:{kbExpr:UC.textInputFocus,primary:1581,weight:100}})}run(t,i){return _Q(i,rt(0,"No organize imports action available"),{include:MZ.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",LZ.OrganizeImports)}}),cu(class extends su{constructor(){super({id:_Z,label:rt(0,"Auto Fix..."),alias:"Auto Fix...",precondition:zr.and(UC.writable,OQ(MZ.QuickFix)),kbOpts:{kbExpr:UC.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(t,i){return _Q(i,rt(0,"No auto fixes available"),{include:MZ.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",LZ.AutoFix)}}),cu(class extends su{constructor(){super({id:$Z,label:rt(0,"Fix All"),alias:"Fix All",precondition:zr.and(UC.writable,OQ(MZ.SourceFixAll))})}run(t,i){return _Q(i,rt(0,"No fix all action available"),{include:MZ.SourceFixAll,includeSourceActions:!0},"ifSingle",LZ.FixAll)}}),hu(new class extends eu{constructor(){super({id:OZ,precondition:zr.and(UC.writable,UC.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:IQ}]}})}runEditorCommand(t,i,e){const s=TZ.fromUser(e,{kind:MZ.Empty,apply:"ifSingle"});return _Q(i,"string"==typeof(null==e?void 0:e.kind)?rt(0,s.preferred?"No preferred code actions for '{0}' available":"No code actions for '{0}' available",e.kind):rt(0,s.preferred?"No preferred code actions available":"No code actions available"),{include:s.kind,includeSourceActions:!0,onlyIncludePreferredActions:s.preferred},s.apply)}}),Dh.as(Md).registerConfiguration({...iO,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:rt(0,"Enable/disable showing group headers in the Code Action menu."),default:!0}}}),Dh.as(Md).registerConfiguration({...iO,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:rt(0,"Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});class NQ{constructor(){this.lenses=[],this._disposables=new te}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(t,i){this._disposables.add(t);for(const e of t.lenses)this.lenses.push({symbol:e,provider:i})}}async function BQ(t,i,e){const s=t.ordered(i),n=new Map,o=new NQ,r=s.map((async(t,s)=>{n.set(t,s);try{const s=await Promise.resolve(t.provideCodeLenses(i,e));s&&o.add(s,t)}catch(t){$i(t)}}));return await Promise.all(r),o.lenses=o.lenses.sort(((t,i)=>t.symbol.range.startLineNumberi.symbol.range.startLineNumber?1:n.get(t.provider)n.get(i.provider)?1:t.symbol.range.startColumni.symbol.range.startColumn?1:0)),o}Dr.registerCommand("_executeCodeLensProvider",(function(t,...i){let[e,s]=i;K(ms.isUri(e)),K("number"==typeof s||!s);const{codeLensProvider:n}=t.get(gg),o=t.get(pr).getModel(e);if(!o)throw Vi();const r=[],h=new te;return BQ(n,o,xe.None).then((t=>{h.add(t);const i=[];for(const e of t.lenses)null==s||Boolean(e.symbol.command)?r.push(e.symbol):s-- >0&&e.provider.resolveCodeLens&&i.push(Promise.resolve(e.provider.resolveCodeLens(o,e.symbol,xe.None)).then((t=>r.push(t||e.symbol))));return Promise.all(i)})).then((()=>r)).finally((()=>{setTimeout((()=>h.dispose()),100)}))}));const PQ=dr("ICodeLensCache");class $Q{constructor(t,i){this.lineCount=t,this.data=i}}let WQ=class{constructor(t){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Bp(20,.75),Ka($n,(()=>t.remove("codelens/cache",1)));const i="codelens/cache2",e=t.get(i,1,"{}");this._deserialize(e),ce.once(t.onWillSaveState)((e=>{e.reason===yB.SHUTDOWN&&t.store(i,this._serialize(),1,1)}))}put(t,i){const e=i.lenses.map((t=>{var i;return{range:t.symbol.range,command:t.symbol.command&&{id:"",title:null===(i=t.symbol.command)||void 0===i?void 0:i.title}}})),s=new NQ;s.add({lenses:e,dispose:()=>{}},this._fakeProvider);const n=new $Q(t.getLineCount(),s);this._cache.set(t.uri.toString(),n)}get(t){const i=this._cache.get(t.uri.toString());return i&&i.lineCount===t.getLineCount()?i.data:void 0}delete(t){this._cache.delete(t.uri.toString())}_serialize(){const t=Object.create(null);for(const[i,e]of this._cache){const s=new Set;for(const t of e.data.lenses)s.add(t.symbol.range.startLineNumber);t[i]={lineCount:e.lineCount,lines:[...s.values()]}}return JSON.stringify(t)}_deserialize(t){try{const i=JSON.parse(t);for(const t in i){const e=i[t],s=[];for(const t of e.lines)s.push({range:new Ms(t,1,t,11)});const n=new NQ;n.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(t,new $Q(e.lineCount,n))}}catch(t){}}};WQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,bB)],WQ),Cd(PQ,WQ,1);class jQ{constructor(t,i,e){this.afterColumn=1073741824,this.afterLineNumber=t,this.heightInPx=i,this._onHeight=e,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(t){void 0===this._lastHeight?this._lastHeight=t:this._lastHeight!==t&&(this._lastHeight=t,this._onHeight())}isVisible(){return 0!==this._lastHeight&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class zQ{constructor(t,i){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=t,this._id="codelens.widget-"+zQ._idPool++,this.updatePosition(i),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(t,i){this._commands.clear();const e=[];let s=!1;for(let i=0;i{t.symbol.command&&h.push(t.symbol),e.addDecoration({range:t.symbol.range,options:VQ},(t=>this._decorationIds[i]=t)),r=r?Ms.plusRange(r,t.symbol.range):Ms.lift(t.symbol.range)})),this._viewZone=new jQ(r.startLineNumber-1,n,o),this._viewZoneId=s.addZone(this._viewZone),h.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(h,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new zQ(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(t,i){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],null==i||i.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some(((t,i)=>{const e=this._editor.getModel().getDecorationRange(t);return!(!e||Ms.isEmpty(this._data[i].symbol.range)!==e.isEmpty())}))}updateCodeLensSymbols(t,i){this._decorationIds.forEach(i.removeDecoration,i),this._decorationIds=[],this._data=t,this._data.forEach(((t,e)=>{i.addDecoration({range:t.symbol.range,options:VQ},(t=>this._decorationIds[e]=t))}))}updateHeight(t,i){this._viewZone.heightInPx=t,i.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(t){if(!this._viewZone.isVisible())return null;for(let i=0;ithis._resolveCodeLensesInViewport()),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel((()=>this._onModelChange()))),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>this._onModelChange()))),this._disposables.add(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(50)||t.hasChanged(19)||t.hasChanged(18))&&this._updateLensStyle(),t.hasChanged(17)&&this._onModelChange()}))),this._disposables.add(i.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var t;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),null===(t=this._currentCodeLensModel)||void 0===t||t.dispose()}_getLayoutInfo(){const t=Math.max(1.3,this._editor.getOption(66)/this._editor.getOption(52));let i=this._editor.getOption(19);return(!i||i<5)&&(i=.9*this._editor.getOption(52)|0),{fontSize:i,codeLensHeight:i*t|0}}_updateLensStyle(){const{codeLensHeight:t,fontSize:i}=this._getLayoutInfo(),e=this._editor.getOption(18),s=this._editor.getOption(50),{style:n}=this._editor.getContainerDomNode();n.setProperty("--vscode-editorCodeLens-lineHeight",`${t}px`),n.setProperty("--vscode-editorCodeLens-fontSize",`${i}px`),n.setProperty("--vscode-editorCodeLens-fontFeatureSettings",s.fontFeatureSettings),e&&(n.setProperty("--vscode-editorCodeLens-fontFamily",e),n.setProperty("--vscode-editorCodeLens-fontFamilyDefault",Oi.fontFamily)),this._editor.changeViewZones((i=>{for(const e of this._lenses)e.updateHeight(t,i)}))}_localDispose(){var t,i,e;null===(t=this._getCodeLensModelPromise)||void 0===t||t.cancel(),this._getCodeLensModelPromise=void 0,null===(i=this._resolveCodeLensesPromise)||void 0===i||i.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),null===(e=this._currentCodeLensModel)||void 0===e||e.dispose()}_onModelChange(){this._localDispose();const t=this._editor.getModel();if(!t)return;if(!this._editor.getOption(17)||t.isTooLargeForTokenization())return;const i=this._codeLensCache.get(t);if(i&&this._renderCodeLensSymbols(i),!this._languageFeaturesService.codeLensProvider.has(t))return void(i&&lc((()=>{const e=this._codeLensCache.get(t);i===e&&(this._codeLensCache.delete(t),this._onModelChange())}),3e4,this._localToDispose));for(const i of this._languageFeaturesService.codeLensProvider.all(t))if("function"==typeof i.onDidChange){const t=i.onDidChange((()=>e.schedule()));this._localToDispose.add(t)}const e=new pc((()=>{var i;const s=Date.now();null===(i=this._getCodeLensModelPromise)||void 0===i||i.cancel(),this._getCodeLensModelPromise=nc((i=>BQ(this._languageFeaturesService.codeLensProvider,t,i))),this._getCodeLensModelPromise.then((i=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=i,this._codeLensCache.put(t,i);const n=this._provideCodeLensDebounce.update(t,Date.now()-s);e.delay=n,this._renderCodeLensSymbols(i),this._resolveCodeLensesInViewportSoon()}),Pi)}),this._provideCodeLensDebounce.get(t));this._localToDispose.add(e),this._localToDispose.add(Xi((()=>this._resolveCodeLensesScheduler.cancel()))),this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{var t;this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{const e=[];let s=-1;this._lenses.forEach((t=>{t.isValid()&&s!==t.getLineNumber()?(t.update(i),s=t.getLineNumber()):e.push(t)}));const n=new HQ;e.forEach((t=>{t.dispose(n,i),this._lenses.splice(this._lenses.indexOf(t),1)})),n.commit(t)}))})),e.schedule(),this._resolveCodeLensesScheduler.cancel(),null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0}))),this._localToDispose.add(this._editor.onDidFocusEditorWidget((()=>{e.schedule()}))),this._localToDispose.add(this._editor.onDidBlurEditorText((()=>{e.cancel()}))),this._localToDispose.add(this._editor.onDidScrollChange((t=>{t.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(this._editor.onDidLayoutChange((()=>{this._resolveCodeLensesInViewportSoon()}))),this._localToDispose.add(Xi((()=>{if(this._editor.getModel()){const t=KV.capture(this._editor);this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{this._disposeAllLenses(t,i)}))})),t.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)}))),this._localToDispose.add(this._editor.onMouseDown((t=>{if(9!==t.target.type)return;let i=t.target.element;if("SPAN"===(null==i?void 0:i.tagName)&&(i=i.parentElement),"A"===(null==i?void 0:i.tagName))for(const t of this._lenses){const e=t.getCommand(i);if(e){this._commandService.executeCommand(e.id,...e.arguments||[]).catch((t=>this._notificationService.error(t)));break}}}))),e.schedule()}_disposeAllLenses(t,i){const e=new HQ;for(const t of this._lenses)t.dispose(e,i);t&&e.commit(t),this._lenses.length=0}_renderCodeLensSymbols(t){if(!this._editor.hasModel())return;const i=this._editor.getModel().getLineCount(),e=[];let s;for(const n of t.lenses){const t=n.symbol.range.startLineNumber;t<1||t>i||(s&&s[s.length-1].symbol.range.startLineNumber===t?s.push(n):(s=[n],e.push(s)))}if(!e.length&&!this._lenses.length)return;const n=KV.capture(this._editor),o=this._getLayoutInfo();this._editor.changeDecorations((t=>{this._editor.changeViewZones((i=>{const s=new HQ;let n=0,r=0;for(;rthis._resolveCodeLensesInViewportSoon()))),n++,r++)}for(;nthis._resolveCodeLensesInViewportSoon()))),r++;s.commit(t)}))})),n.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var t;null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0;const i=this._editor.getModel();if(!i)return;const e=[],s=[];if(this._lenses.forEach((t=>{const n=t.computeIfNecessary(i);n&&(e.push(n),s.push(t))})),0===e.length)return;const n=Date.now(),o=nc((t=>{const n=e.map(((e,n)=>{const o=new Array(e.length),r=e.map(((e,s)=>e.symbol.command||"function"!=typeof e.provider.resolveCodeLens?(o[s]=e.symbol,Promise.resolve(void 0)):Promise.resolve(e.provider.resolveCodeLens(i,e.symbol,t)).then((t=>{o[s]=t}),$i)));return Promise.all(r).then((()=>{t.isCancellationRequested||s[n].isDisposed()||s[n].updateCommands(o)}))}));return Promise.all(n)}));this._resolveCodeLensesPromise=o,this._resolveCodeLensesPromise.then((()=>{const t=this._resolveCodeLensesDebounce.update(i,Date.now()-n);this._resolveCodeLensesScheduler.delay=t,this._currentCodeLensModel&&this._codeLensCache.put(i,this._currentCodeLensModel),this._oldCodeLensModels.clear(),o===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}),(t=>{Pi(t),o===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)}))}async getModel(){var t;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,(null===(t=this._currentCodeLensModel)||void 0===t?void 0:t.isDisposed)?void 0:this._currentCodeLensModel}};KQ.ID="css.editor.codeLens",KQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([qQ(1,gg),qQ(2,hR),qQ(3,Sr),qQ(4,JF),qQ(5,PQ)],KQ),lu(KQ.ID,KQ,1),cu(class extends su{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:UC.hasCodeLensProvider,label:rt(0,"Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(t,i){if(!i.hasModel())return;const e=t.get(Dj),s=t.get(Sr),n=t.get(JF),o=i.getSelection().positionLineNumber,r=i.getContribution(KQ.ID);if(!r)return;const h=await r.getModel();if(!h)return;const c=[];for(const t of h.lenses)t.symbol.command&&t.symbol.range.startLineNumber===o&&c.push({label:t.symbol.command.title,command:t.symbol.command});if(0===c.length)return;const a=await e.pick(c,{canPickMany:!1,placeHolder:rt(0,"Select a command")});if(!a)return;let l=a.command;if(h.isDisposed){const t=await r.getModel(),i=null==t?void 0:t.lenses.find((t=>{var i;return t.symbol.range.startLineNumber===o&&(null===(i=t.symbol.command)||void 0===i?void 0:i.title)===l.title}));if(!i||!i.symbol.command)return;l=i.symbol.command}try{await s.executeCommand(l.id,...l.arguments||[])}catch(t){n.error(t)}}});var GQ=function(t,i){return function(e,s){i(e,s,t)}};class ZQ{constructor(t,i){this._editorWorkerClient=new Sg(t,!1,"editorWorkerService",i)}async provideDocumentColors(t,i){return this._editorWorkerClient.computeDefaultDocumentColors(t.uri)}provideColorPresentations(t,i,e){const s=i.range,n=i.color,o=n.alpha,r=new sg(new tg(Math.round(255*n.red),Math.round(255*n.green),Math.round(255*n.blue),o)),h=o?sg.Format.CSS.formatRGB(r):sg.Format.CSS.formatRGBA(r),c=o?sg.Format.CSS.formatHSL(r):sg.Format.CSS.formatHSLA(r),a=o?sg.Format.CSS.formatHex(r):sg.Format.CSS.formatHexA(r),l=[];return l.push({label:h,textEdit:{range:s,text:h}}),l.push({label:c,textEdit:{range:s,text:c}}),l.push({label:a,textEdit:{range:s,text:a}}),l}}let QQ=class extends ie{constructor(t,i,e){super(),this._register(e.colorProvider.register("*",new ZQ(t,i)))}};async function JQ(t,i,e,s=!0){return eJ(new XQ,t,i,e,s)}function YQ(t,i,e,s){return Promise.resolve(e.provideColorPresentations(t,i,s))}QQ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([GQ(0,pr),GQ(1,qd),GQ(2,gg)],QQ),WH(QQ);class XQ{constructor(){}async compute(t,i,e,s){const n=await t.provideDocumentColors(i,e);if(Array.isArray(n))for(const i of n)s.push({colorInfo:i,provider:t});return Array.isArray(n)}}class tJ{constructor(){}async compute(t,i,e,s){const n=await t.provideDocumentColors(i,e);if(Array.isArray(n))for(const t of n)s.push({range:t.range,color:[t.color.red,t.color.green,t.color.blue,t.color.alpha]});return Array.isArray(n)}}class iJ{constructor(t){this.colorInfo=t}async compute(t,i,e,s){const n=await t.provideColorPresentations(i,this.colorInfo,xe.None);return Array.isArray(n)&&s.push(...n),Array.isArray(n)}}async function eJ(t,i,e,s,n){let o,r=!1;const h=[],c=i.ordered(e);for(let i=c.length-1;i>=0;i--){const n=c[i];if(n instanceof ZQ)o=n;else try{await t.compute(n,e,s,h)&&(r=!0)}catch(t){$i(t)}}return r?h:o&&n?(await t.compute(o,e,s,h),h):[]}function sJ(t,i){const{colorProvider:e}=t.get(gg),s=t.get(pr).getModel(i);if(!s)throw Vi();return{model:s,colorProviderRegistry:e,isDefaultColorDecoratorsEnabled:t.get(pd).getValue("editor.defaultColorDecorators",{resource:i})}}Dr.registerCommand("_executeDocumentColorProvider",(function(t,...i){const[e]=i;if(!(e instanceof ms))throw Vi();const{model:s,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:o}=sJ(t,e);return eJ(new tJ,n,s,xe.None,o)})),Dr.registerCommand("_executeColorPresentationProvider",(function(t,...i){const[e,s]=i,{uri:n,range:o}=s;if(!(n instanceof ms&&Array.isArray(e)&&4===e.length&&Ms.isIRange(o)))throw Vi();const{model:r,colorProviderRegistry:h,isDefaultColorDecoratorsEnabled:c}=sJ(t,n),[a,l,u,d]=e;return eJ(new iJ({range:o,color:{red:a,green:l,blue:u,alpha:d}}),h,r,xe.None,c)}));var nJ,oJ=function(t,i){return function(e,s){i(e,s,t)}};const rJ=Object.create({});let hJ=nJ=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._configurationService=i,this._languageFeaturesService=e,this._localToDispose=this._register(new te),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new yy(this._editor),this._decoratorLimitReporter=new cJ,this._colorDecorationClassRefs=this._register(new te),this._debounceInformation=s.for(e.colorProvider,"Document Colors",{min:nJ.RECOMPUTE_TIME}),this._register(t.onDidChangeModel((()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()}))),this._register(t.onDidChangeModelLanguage((()=>this.updateColors()))),this._register(e.colorProvider.onDidChange((()=>this.updateColors()))),this._register(t.onDidChangeConfiguration((t=>{const i=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(145);const e=i!==this._isColorDecoratorsEnabled||t.hasChanged(21),s=t.hasChanged(145);(e||s)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())}))),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(145),this.updateColors()}isEnabled(){const t=this._editor.getModel();if(!t)return!1;const i=t.getLanguageId(),e=this._configurationService.getValue(i);if(e&&"object"==typeof e){const t=e.colorDecorators;if(t&&void 0!==t.enable&&!t.enable)return t.enable}return this._editor.getOption(20)}static get(t){return t.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const t=this._editor.getModel();t&&this._languageFeaturesService.colorProvider.has(t)&&(this._localToDispose.add(this._editor.onDidChangeModelContent((()=>{this._timeoutTimer||(this._timeoutTimer=new dc,this._timeoutTimer.cancelAndSet((()=>{this._timeoutTimer=null,this.beginCompute()}),this._debounceInformation.get(t)))}))),this.beginCompute())}async beginCompute(){this._computePromise=nc((async t=>{const i=this._editor.getModel();if(!i)return[];const e=new he(!1),s=await JQ(this._languageFeaturesService.colorProvider,i,t,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(i,e.elapsed()),s}));try{const t=await this._computePromise;this.updateDecorations(t),this.updateColorDecorators(t),this._computePromise=null}catch(t){Pi(t)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(t){const i=t.map((t=>({range:{startLineNumber:t.colorInfo.range.startLineNumber,startColumn:t.colorInfo.range.startColumn,endLineNumber:t.colorInfo.range.endLineNumber,endColumn:t.colorInfo.range.endColumn},options:bL.EMPTY})));this._editor.changeDecorations((e=>{this._decorationsIds=e.deltaDecorations(this._decorationsIds,i),this._colorDatas=new Map,this._decorationsIds.forEach(((i,e)=>this._colorDatas.set(i,t[e])))}))}updateColorDecorators(t){this._colorDecorationClassRefs.clear();const i=[],e=this._editor.getOption(21);for(let s=0;sthis._colorDatas.has(t.id)));return 0===e.length?null:this._colorDatas.get(e[0].id)}isColorDecoration(t){return this._colorDecoratorIds.has(t)}};hJ.ID="editor.contrib.colorDetector",hJ.RECOMPUTE_TIME=1e3,hJ=nJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([oJ(1,pd),oJ(2,gg),oJ(3,hR)],hJ);class cJ{constructor(){this._onDidChange=new fe,this._computed=0,this._limited=!1}update(t,i){t===this._computed&&i===this._limited||(this._computed=t,this._limited=i,this._onDidChange.fire())}}lu(hJ.ID,hJ,1);class aJ{get color(){return this._color}set color(t){this._color.equals(t)||(this._color=t,this._onDidChangeColor.fire(t))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(t){this._colorPresentations=t,this.presentationIndex>t.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(t,i,e){this.presentationIndex=e,this._onColorFlushed=new fe,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new fe,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new fe,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=t,this._color=t,this._colorPresentations=i}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(t,i){let e=-1;for(let t=0;t{this.backgroundColor=t.getColor(Av)||sg.white}))),this._register(Va(this._pickedColorNode,Ll.CLICK,(()=>this.model.selectNextColorPresentation()))),this._register(Va(this._originalColorNode,Ll.CLICK,(()=>{this.model.color=this.model.originalColor,this.model.flushColor()}))),this._register(i.onDidChangeColor(this.onDidChangeColor,this)),this._register(i.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=sg.Format.CSS.format(i.color)||"",this._pickedColorNode.classList.toggle("light",i.color.rgba.a<.5?this.backgroundColor.isLighter():i.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new dJ(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(t){this._pickedColorNode.style.backgroundColor=sg.Format.CSS.format(t)||"",this._pickedColorNode.classList.toggle("light",t.rgba.a<.5?this.backgroundColor.isLighter():t.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class dJ extends ie{constructor(t){super(),this._onClicked=this._register(new fe),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),Ol(t,this._button);const i=document.createElement("div");i.classList.add("close-button-inner-div"),Ol(this._button,i),Ol(i,lJ(".button"+Cr.asCSSSelector(_z("color-picker-close",Os.close,rt(0,"Icon to close the color picker"))))).classList.add("close-icon"),this._button.onclick=()=>{this._onClicked.fire()}}}class fJ extends ie{constructor(t,i,e,s=!1){super(),this.model=i,this.pixelRatio=e,this._insertButton=null,this._domNode=lJ(".colorpicker-body"),Ol(t,this._domNode),this._saturationBox=new pJ(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new mJ(this._domNode,this.model,s),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new wJ(this._domNode,this.model,s),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),s&&(this._insertButton=this._register(new vJ(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:t,v:i}){const e=this.model.color.hsva;this.model.color=new sg(new eg(e.h,t,i,e.a))}onDidOpacityChange(t){const i=this.model.color.hsva;this.model.color=new sg(new eg(i.h,i.s,i.v,t))}onDidHueChange(t){const i=this.model.color.hsva,e=360*(1-t);this.model.color=new sg(new eg(360===e?0:e,i.s,i.v,i.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}class pJ extends ie{constructor(t,i,e){super(),this.model=i,this.pixelRatio=e,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new fe,this.onColorFlushed=this._onColorFlushed.event,this._domNode=lJ(".saturation-wrap"),Ol(t,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",Ol(this._domNode,this._canvas),this.selection=lJ(".saturation-selection"),Ol(this._domNode,this.selection),this.layout(),this._register(Va(this._domNode,Ll.POINTER_DOWN,(t=>this.onPointerDown(t)))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(t){if(!(t.target&&t.target instanceof Element))return;this.monitor=this._register(new tw);const i=nl(this._domNode);t.target!==this.selection&&this.onDidChangePosition(t.offsetX,t.offsetY),this.monitor.startMonitoring(t.target,t.pointerId,t.buttons,(t=>this.onDidChangePosition(t.pageX-i.left,t.pageY-i.top)),(()=>null));const e=Va(t.target.ownerDocument,Ll.POINTER_UP,(()=>{this._onColorFlushed.fire(),e.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)}),!0)}onDidChangePosition(t,i){const e=Math.max(0,Math.min(1,t/this.width)),s=Math.max(0,Math.min(1,1-i/this.height));this.paintSelection(e,s),this._onDidChange.fire({s:e,v:s})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const t=this.model.color.hsva;this.paintSelection(t.s,t.v)}paint(){const t=new sg(new eg(this.model.color.hsva.h,1,1,1)),i=this._canvas.getContext("2d"),e=i.createLinearGradient(0,0,this._canvas.width,0);e.addColorStop(0,"rgba(255, 255, 255, 1)"),e.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),e.addColorStop(1,"rgba(255, 255, 255, 0)");const s=i.createLinearGradient(0,0,0,this._canvas.height);s.addColorStop(0,"rgba(0, 0, 0, 0)"),s.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=sg.Format.CSS.format(t),i.fill(),i.fillStyle=e,i.fill(),i.fillStyle=s,i.fill()}paintSelection(t,i){this.selection.style.left=t*this.width+"px",this.selection.style.top=this.height-i*this.height+"px"}onDidChangeColor(t){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const i=t.hsva;this.paintSelection(i.s,i.v)}}class gJ extends ie{constructor(t,i,e=!1){super(),this.model=i,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new fe,this.onColorFlushed=this._onColorFlushed.event,e?(this.domNode=Ol(t,lJ(".standalone-strip")),this.overlay=Ol(this.domNode,lJ(".standalone-overlay"))):(this.domNode=Ol(t,lJ(".strip")),this.overlay=Ol(this.domNode,lJ(".overlay"))),this.slider=Ol(this.domNode,lJ(".slider")),this.slider.style.top="0px",this._register(Va(this.domNode,Ll.POINTER_DOWN,(t=>this.onPointerDown(t)))),this._register(i.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const t=this.getValue(this.model.color);this.updateSliderPosition(t)}onDidChangeColor(t){const i=this.getValue(t);this.updateSliderPosition(i)}onPointerDown(t){if(!(t.target&&t.target instanceof Element))return;const i=this._register(new tw),e=nl(this.domNode);this.domNode.classList.add("grabbing"),t.target!==this.slider&&this.onDidChangeTop(t.offsetY),i.startMonitoring(t.target,t.pointerId,t.buttons,(t=>this.onDidChangeTop(t.pageY-e.top)),(()=>null));const s=Va(t.target.ownerDocument,Ll.POINTER_UP,(()=>{this._onColorFlushed.fire(),s.dispose(),i.stopMonitoring(!0),this.domNode.classList.remove("grabbing")}),!0)}onDidChangeTop(t){const i=Math.max(0,Math.min(1,1-t/this.height));this.updateSliderPosition(i),this._onDidChange.fire(i)}updateSliderPosition(t){this.slider.style.top=(1-t)*this.height+"px"}}class mJ extends gJ{constructor(t,i,e=!1){super(t,i,e),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(t){super.onDidChangeColor(t);const{r:i,g:e,b:s}=t.rgba,n=new sg(new tg(i,e,s,1)),o=new sg(new tg(i,e,s,0));this.overlay.style.background=`linear-gradient(to bottom, ${n} 0%, ${o} 100%)`}getValue(t){return t.hsva.a}}class wJ extends gJ{constructor(t,i,e=!1){super(t,i,e),this.domNode.classList.add("hue-strip")}getValue(t){return 1-t.hsva.h/360}}class vJ extends ie{constructor(t){super(),this._onClicked=this._register(new fe),this.onClicked=this._onClicked.event,this._button=Ol(t,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._button.onclick=()=>{this._onClicked.fire()}}get button(){return this._button}}class bJ extends hk{constructor(t,i,e,s,n=!1){super(),this.model=i,this.pixelRatio=e,this._register(Ho.onDidChange((()=>this.layout())));const o=lJ(".colorpicker-widget");t.appendChild(o),this.header=this._register(new uJ(o,this.model,s,n)),this.body=this._register(new fJ(o,this.model,this.pixelRatio,n))}layout(){this.body.layout()}}var yJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},kJ=function(t,i){return function(e,s){i(e,s,t)}};class xJ{constructor(t,i,e,s){this.owner=t,this.range=i,this.model=e,this.provider=s,this.forceShowAtRange=!0}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let CJ=class{constructor(t,i){this._editor=t,this._themeService=i,this.hoverOrdinal=2}computeSync(t,i){return[]}computeAsync(t,i,e){return kc.fromPromise(this._computeAsync(t,i,e))}async _computeAsync(t,i,e){if(!this._editor.hasModel())return[];const s=hJ.get(this._editor);if(!s)return[];for(const t of i){if(!s.isColorDecoration(t))continue;const i=s.getColorData(t.range.getStartPosition());if(i)return[await EJ(this,this._editor.getModel(),i.colorInfo,i.provider)]}return[]}renderHoverParts(t,i){return AJ(this,this._editor,this._themeService,i,t)}};CJ=yJ([kJ(1,qk)],CJ);class SJ{constructor(t,i,e,s){this.owner=t,this.range=i,this.model=e,this.provider=s}}let DJ=class{constructor(t,i){this._editor=t,this._themeService=i,this._color=null}async createColorHover(t,i,e){if(!this._editor.hasModel())return null;if(!hJ.get(this._editor))return null;const s=await JQ(e,this._editor.getModel(),xe.None);let n=null,o=null;for(const i of s){const e=i.colorInfo;Ms.containsRange(e.range,t.range)&&(n=e,o=i.provider)}const r=null!=n?n:t,h=null!=o?o:i,c=!!n;return{colorHover:await EJ(this,this._editor.getModel(),r,h),foundInEditor:c}}async updateEditorModel(t){if(!this._editor.hasModel())return;const i=t.model;let e=new Ms(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn);this._color&&(await LJ(this._editor.getModel(),i,this._color,e,t),e=MJ(this._editor,e,i))}renderHoverParts(t,i){return AJ(this,this._editor,this._themeService,i,t)}set color(t){this._color=t}get color(){return this._color}};async function EJ(t,i,e,s){const n=i.getValueInRange(e.range),{red:o,green:r,blue:h,alpha:c}=e.color,a=new tg(Math.round(255*o),Math.round(255*r),Math.round(255*h),c),l=new sg(a),u=await YQ(i,e,s,xe.None),d=new aJ(l,[],0);return d.colorPresentations=u||[],d.guessColorPresentation(l,n),t instanceof CJ?new xJ(t,Ms.lift(e.range),d,s):new SJ(t,Ms.lift(e.range),d,s)}function AJ(t,i,e,s,n){if(0===s.length||!i.hasModel())return ie.None;if(n.setMinimumDimensions){const t=i.getOption(66)+8;n.setMinimumDimensions(new el(302,t))}const o=new te,r=s[0],h=i.getModel(),c=r.model,a=o.add(new bJ(n.fragment,c,i.getOption(141),e,t instanceof DJ));n.setColorPicker(a);let l=!1,u=new Ms(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(t instanceof DJ){const i=s[0].model.color;t.color=i,LJ(h,c,i,u,r),o.add(c.onColorFlushed((i=>{t.color=i})))}else o.add(c.onColorFlushed((async t=>{await LJ(h,c,t,u,r),l=!0,u=MJ(i,u,c,n)})));return o.add(c.onDidChangeColor((t=>{LJ(h,c,t,u,r)}))),o.add(i.onDidChangeModelContent((()=>{l?l=!1:(n.hide(),i.focus())}))),o}function MJ(t,i,e,s){let n,o;if(e.presentation.textEdit){n=[e.presentation.textEdit],o=new Ms(e.presentation.textEdit.range.startLineNumber,e.presentation.textEdit.range.startColumn,e.presentation.textEdit.range.endLineNumber,e.presentation.textEdit.range.endColumn);const i=t.getModel()._setTrackedRange(null,o,3);t.pushUndoStop(),t.executeEdits("colorpicker",n),o=t.getModel()._getTrackedRange(i)||o}else n=[{range:i,text:e.presentation.label,forceMoveMarkers:!1}],o=i.setEndPosition(i.endLineNumber,i.startColumn+e.presentation.label.length),t.pushUndoStop(),t.executeEdits("colorpicker",n);return e.presentation.additionalTextEdits&&(n=[...e.presentation.additionalTextEdits],t.executeEdits("colorpicker",n),s&&s.hide()),t.pushUndoStop(),o}async function LJ(t,i,e,s,n){const o=await YQ(t,{range:s,color:{red:e.rgba.r/255,green:e.rgba.g/255,blue:e.rgba.b/255,alpha:e.rgba.a}},n.provider,xe.None);i.colorPresentations=o||[]}function FJ(t,i){return!!t[i]}DJ=yJ([kJ(1,qk)],DJ);class TJ{constructor(t,i){this.target=t.target,this.isLeftClick=t.event.leftButton,this.isMiddleClick=t.event.middleButton,this.isRightClick=t.event.rightButton,this.hasTriggerModifier=FJ(t.event,i.triggerModifier),this.hasSideBySideModifier=FJ(t.event,i.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=t.event.detail<=1}}class RJ{constructor(t,i){this.keyCodeIsTriggerKey=t.keyCode===i.triggerKey,this.keyCodeIsSideBySideKey=t.keyCode===i.triggerSideBySideKey,this.hasTriggerModifier=FJ(t,i.triggerModifier)}}class OJ{constructor(t,i,e,s){this.triggerKey=t,this.triggerModifier=i,this.triggerSideBySideKey=e,this.triggerSideBySideModifier=s}equals(t){return this.triggerKey===t.triggerKey&&this.triggerModifier===t.triggerModifier&&this.triggerSideBySideKey===t.triggerSideBySideKey&&this.triggerSideBySideModifier===t.triggerSideBySideModifier}}function IJ(t){return"altKey"===t?St?new OJ(57,"metaKey",6,"altKey"):new OJ(5,"ctrlKey",6,"altKey"):St?new OJ(6,"altKey",57,"metaKey"):new OJ(6,"altKey",5,"ctrlKey")}class _J extends ie{constructor(t,i){var e;super(),this._onMouseMoveOrRelevantKeyDown=this._register(new fe),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new fe),this.onExecute=this._onExecute.event,this._onCancel=this._register(new fe),this.onCancel=this._onCancel.event,this._editor=t,this._extractLineNumberFromMouseEvent=null!==(e=null==i?void 0:i.extractLineNumberFromMouseEvent)&&void 0!==e?e:t=>t.target.position?t.target.position.lineNumber:0,this._opts=IJ(this._editor.getOption(77)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration((t=>{if(t.hasChanged(77)){const t=IJ(this._editor.getOption(77));if(this._opts.equals(t))return;this._opts=t,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}}))),this._register(this._editor.onMouseMove((t=>this._onEditorMouseMove(new TJ(t,this._opts))))),this._register(this._editor.onMouseDown((t=>this._onEditorMouseDown(new TJ(t,this._opts))))),this._register(this._editor.onMouseUp((t=>this._onEditorMouseUp(new TJ(t,this._opts))))),this._register(this._editor.onKeyDown((t=>this._onEditorKeyDown(new RJ(t,this._opts))))),this._register(this._editor.onKeyUp((t=>this._onEditorKeyUp(new RJ(t,this._opts))))),this._register(this._editor.onMouseDrag((()=>this._resetHandler()))),this._register(this._editor.onDidChangeCursorSelection((t=>this._onDidChangeCursorSelection(t)))),this._register(this._editor.onDidChangeModel((()=>this._resetHandler()))),this._register(this._editor.onDidChangeModelContent((()=>this._resetHandler()))),this._register(this._editor.onDidScrollChange((t=>{(t.scrollTopChanged||t.scrollLeftChanged)&&this._resetHandler()})))}_onDidChangeCursorSelection(t){t.selection&&t.selection.startColumn!==t.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(t){this._lastMouseMoveEvent=t,this._onMouseMoveOrRelevantKeyDown.fire([t,null])}_onEditorMouseDown(t){this._hasTriggerKeyOnMouseDown=t.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(t)}_onEditorMouseUp(t){const i=this._extractLineNumberFromMouseEvent(t);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===i&&this._onExecute.fire(t)}_onEditorKeyDown(t){this._lastMouseMoveEvent&&(t.keyCodeIsTriggerKey||t.keyCodeIsSideBySideKey&&t.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,t]):t.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(t){t.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}var NJ=function(t,i){return function(e,s){i(e,s,t)}};let BJ=class extends CT{constructor(t,i,e,s,n,o,r,h,c,a,l,u,d){super(t,{...s.getRawOptions(),overflowWidgetsDomNode:s.getOverflowWidgetsDomNode()},e,n,o,r,h,c,a,l,u,d),this._parentEditor=s,this._overwriteOptions=i,super.updateOptions(this._overwriteOptions),this._register(s.onDidChangeConfiguration((t=>this._onParentConfigurationChanged(t))))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(t){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(t){it(this._overwriteOptions,t,!0),super.updateOptions(this._overwriteOptions)}};BJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([NJ(4,ur),NJ(5,fr),NJ(6,Sr),NJ(7,ah),NJ(8,qk),NJ(9,JF),NJ(10,zm),NJ(11,qd),NJ(12,gg)],BJ);const PJ=new sg(new tg(0,122,204)),$J={showArrow:!0,showFrame:!0,className:"",frameColor:PJ,arrowColor:PJ,keepEditorSelection:!1};class WJ{constructor(t,i,e,s,n,o,r,h){this.id="",this.domNode=t,this.afterLineNumber=i,this.afterColumn=e,this.heightInLines=s,this.showInHiddenAreas=r,this.ordinal=h,this._onDomNodeTop=n,this._onComputedHeight=o}onDomNodeTop(t){this._onDomNodeTop(t)}onComputedHeight(t){this._onComputedHeight(t)}}class jJ{constructor(t,i){this._id=t,this._domNode=i}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class zJ{constructor(t){this._editor=t,this._ruleName=zJ._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),Dl(this._ruleName)}set color(t){this._color!==t&&(this._color=t,this._updateStyle())}set height(t){this._height!==t&&(this._height=t,this._updateStyle())}_updateStyle(){Dl(this._ruleName),Sl(`.monaco-editor ${this._ruleName}`,`border-style: solid; border-color: transparent; border-bottom-color: ${this._color}; border-width: ${this._height}px; bottom: -${this._height}px; margin-left: -${this._height}px; `)}show(t){1===t.column&&(t={lineNumber:t.lineNumber,column:2}),this._decorations.set([{range:Ms.fromPositions(t),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}zJ._IdGenerator=new H_(".arrow-decoration-");class HJ{constructor(t,i={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new te,this.container=null,this._isShowing=!1,this.editor=t,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=J(i),it(this.options,$J,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange((t=>{const i=this._getWidth(t);this.domNode.style.width=i+"px",this.domNode.style.left=this._getLeft(t)+"px",this._onWidth(i)})))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones((t=>{this._viewZone&&t.removeZone(this._viewZone.id),this._viewZone=null})),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new zJ(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(t){t.frameColor&&(this.options.frameColor=t.frameColor),t.arrowColor&&(this.options.arrowColor=t.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const t=this.options.frameColor.toString();this.container.style.borderTopColor=t,this.container.style.borderBottomColor=t}if(this._arrow&&this.options.arrowColor){const t=this.options.arrowColor.toString();this._arrow.color=t}}_getWidth(t){return t.width-t.minimap.minimapWidth-t.verticalScrollbarWidth}_getLeft(t){return t.minimap.minimapWidth>0&&0===t.minimap.minimapLeft?t.minimap.minimapWidth:0}_onViewZoneTop(t){this.domNode.style.top=t+"px"}_onViewZoneHeight(t){var i;if(this.domNode.style.height=`${t}px`,this.container){const i=t-this._decoratingElementsHeight();this.container.style.height=`${i}px`;const e=this.editor.getLayoutInfo();this._doLayout(i,this._getWidth(e))}null===(i=this._resizeSash)||void 0===i||i.layout()}get position(){const t=this._positionMarkerId.getRange(0);if(t)return t.getStartPosition()}show(t,i){const e=Ms.isIRange(t)?Ms.lift(t):Ms.fromPositions(t);this._isShowing=!0,this._showImpl(e,i),this._isShowing=!1,this._positionMarkerId.set([{range:e,options:bL.EMPTY}])}hide(){var t;this._viewZone&&(this.editor.changeViewZones((t=>{this._viewZone&&t.removeZone(this._viewZone.id)})),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),null===(t=this._arrow)||void 0===t||t.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const t=this.editor.getOption(66);let i=0;return this.options.showArrow&&(i+=2*Math.round(t/3)),this.options.showFrame&&(i+=2*Math.round(t/9)),i}_showImpl(t,i){const e=t.getStartPosition(),s=this.editor.getLayoutInfo(),n=this._getWidth(s);this.domNode.style.width=`${n}px`,this.domNode.style.left=this._getLeft(s)+"px";const o=document.createElement("div");o.style.overflow="hidden";const r=this.editor.getOption(66);if(!this.options.allowUnlimitedHeight){const t=Math.max(12,this.editor.getLayoutInfo().height/r*.8);i=Math.min(i,t)}let h=0,c=0;if(this._arrow&&this.options.showArrow&&(h=Math.round(r/3),this._arrow.height=h,this._arrow.show(e)),this.options.showFrame&&(c=Math.round(r/9)),this.editor.changeViewZones((t=>{this._viewZone&&t.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new WJ(o,e.lineNumber,e.column,i,(t=>this._onViewZoneTop(t)),(t=>this._onViewZoneHeight(t)),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=t.addZone(this._viewZone),this._overlayWidget=new jJ("vs.editor.contrib.zoneWidget"+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)})),this.container&&this.options.showFrame){const t=this.options.frameWidth?this.options.frameWidth:c;this.container.style.borderTopWidth=t+"px",this.container.style.borderBottomWidth=t+"px"}const a=i*r-this._decoratingElementsHeight();this.container&&(this.container.style.top=h+"px",this.container.style.height=a+"px",this.container.style.overflow="hidden"),this._doLayout(a,n),this.options.keepEditorSelection||this.editor.setSelection(t);const l=this.editor.getModel();if(l){const i=l.validateRange(new Ms(t.startLineNumber,1,t.endLineNumber+1,1));this.revealRange(i,i.startLineNumber===l.getLineCount())}}revealRange(t,i){i?this.editor.revealLineNearTop(t.endLineNumber,0):this.editor.revealRange(t,0)}setCssClass(t,i){this.container&&(i&&this.container.classList.remove(i),this.container.classList.add(t))}_onWidth(t){}_doLayout(t,i){}_relayout(t){this._viewZone&&this._viewZone.heightInLines!==t&&this.editor.changeViewZones((i=>{this._viewZone&&(this._viewZone.heightInLines=t,i.layoutZone(this._viewZone.id))}))}_initSash(){if(this._resizeSash)return;let t;this._resizeSash=this._disposables.add(new NP(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0),this._disposables.add(this._resizeSash.onDidStart((i=>{this._viewZone&&(t={startY:i.startY,heightInLines:this._viewZone.heightInLines})}))),this._disposables.add(this._resizeSash.onDidEnd((()=>{t=void 0}))),this._disposables.add(this._resizeSash.onDidChange((i=>{if(t){const e=(i.currentY-t.startY)/this.editor.getOption(66),s=e<0?Math.ceil(e):Math.floor(e),n=t.heightInLines+s;n>5&&n<35&&this._relayout(n)}})))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(null===this.domNode.style.height?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const t=this.editor.getLayoutInfo();return t.width-t.minimap.minimapWidth}}var VJ=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},UJ=function(t,i){return function(e,s){i(e,s,t)}};const qJ=dr("IPeekViewService");var KJ;Cd(qJ,class{constructor(){this._widgets=new Map}addExclusiveWidget(t,i){const e=this._widgets.get(t);e&&(e.listener.dispose(),e.widget.dispose()),this._widgets.set(t,{widget:i,listener:i.onDidClose((()=>{const e=this._widgets.get(t);e&&e.widget===i&&(e.listener.dispose(),this._widgets.delete(t))}))})}},1),function(t){t.inPeekEditor=new ch("inReferenceSearchEditor",!0,rt(0,"Whether the current code editor is embedded inside peek")),t.notInPeekEditor=t.inPeekEditor.toNegated()}(KJ||(KJ={}));let GJ=class{constructor(t,i){t instanceof BJ&&KJ.inPeekEditor.bindTo(i)}dispose(){}};GJ.ID="editor.contrib.referenceController",GJ=VJ([UJ(1,ah)],GJ),lu(GJ.ID,GJ,0);const ZJ={headerBackgroundColor:sg.white,primaryHeadingColor:sg.fromHex("#333333"),secondaryHeadingColor:sg.fromHex("#6c6c6cb3")};let QJ=class extends HJ{constructor(t,i,e){super(t,i),this.instantiationService=e,this._onDidClose=new fe,this.onDidClose=this._onDidClose.event,it(this.options,ZJ,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(t){const i=this.options;t.headerBackgroundColor&&(i.headerBackgroundColor=t.headerBackgroundColor),t.primaryHeadingColor&&(i.primaryHeadingColor=t.primaryHeadingColor),t.secondaryHeadingColor&&(i.secondaryHeadingColor=t.secondaryHeadingColor),super.style(t)}_applyStyles(){super._applyStyles();const t=this.options;this._headElement&&t.headerBackgroundColor&&(this._headElement.style.backgroundColor=t.headerBackgroundColor.toString()),this._primaryHeading&&t.primaryHeadingColor&&(this._primaryHeading.style.color=t.primaryHeadingColor.toString()),this._secondaryHeading&&t.secondaryHeadingColor&&(this._secondaryHeading.style.color=t.secondaryHeadingColor.toString()),this._bodyElement&&t.frameColor&&(this._bodyElement.style.borderColor=t.frameColor.toString())}_fillContainer(t){this.setCssClass("peekview-widget"),this._headElement=$l(".head"),this._bodyElement=$l(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),t.appendChild(this._headElement),t.appendChild(this._bodyElement)}_fillHead(t,i){this._titleElement=$l(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),qa(this._titleElement,"click",(t=>this._onTitleClick(t)))),Ol(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=$l("span.filename"),this._secondaryHeading=$l("span.dirname"),this._metaHeading=$l("span.meta"),Ol(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const e=$l(".peekview-actions");Ol(this._headElement,e);const s=this._getActionBarOptions();this._actionbarWidget=new VB(e,s),this._disposables.add(this._actionbarWidget),i||this._actionbarWidget.push(new mr("peekview.close",rt(0,"Close"),Cr.asClassName(Os.close),!0,(()=>(this.dispose(),Promise.resolve()))),{label:!1,icon:!0})}_fillTitleIcon(t){}_getActionBarOptions(){return{actionViewItemProvider:HB.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(t){}setTitle(t,i){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=t,this._primaryHeading.setAttribute("title",t),i?this._secondaryHeading.innerText=i:za(this._secondaryHeading))}setMetaTitle(t){this._metaHeading&&(t?(this._metaHeading.innerText=t,Wl(this._metaHeading)):jl(this._metaHeading))}_doLayout(t,i){if(!this._isShowing&&t<0)return void this.dispose();const e=Math.ceil(1.2*this.editor.getOption(66)),s=Math.round(t-(e+2));this._doLayoutHead(e,i),this._doLayoutBody(s,i)}_doLayoutHead(t,i){this._headElement&&(this._headElement.style.height=`${t}px`,this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(t,i){this._bodyElement&&(this._bodyElement.style.height=`${t}px`)}};QJ=VJ([UJ(2,ur)],QJ);const JJ=ow("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:sg.black,hcLight:sg.white},rt(0,"Background color of the peek view title area.")),YJ=ow("peekViewTitleLabel.foreground",{dark:sg.white,light:sg.black,hcDark:sg.white,hcLight:sv},rt(0,"Color of the peek view title.")),XJ=ow("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},rt(0,"Color of the peek view title info.")),tY=ow("peekView.border",{dark:Xw,light:Xw,hcDark:lw,hcLight:lw},rt(0,"Color of the peek view borders and arrow.")),iY=ow("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:sg.black,hcLight:sg.white},rt(0,"Background color of the peek view result list."));ow("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:sg.white,hcLight:sv},rt(0,"Foreground color for line nodes in the peek view result list.")),ow("peekViewResult.fileForeground",{dark:sg.white,light:"#1E1E1E",hcDark:sg.white,hcLight:sv},rt(0,"Foreground color for file nodes in the peek view result list.")),ow("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},rt(0,"Background color of the selected entry in the peek view result list.")),ow("peekViewResult.selectionForeground",{dark:sg.white,light:"#6C6C6C",hcDark:sg.white,hcLight:sv},rt(0,"Foreground color of the selected entry in the peek view result list."));const eY=ow("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:sg.black,hcLight:sg.white},rt(0,"Background color of the peek view editor."));ow("peekViewEditorGutter.background",{dark:eY,light:eY,hcDark:eY,hcLight:eY},rt(0,"Background color of the gutter in the peek view editor.")),ow("peekViewEditorStickyScroll.background",{dark:eY,light:eY,hcDark:eY,hcLight:eY},rt(0,"Background color of sticky scroll in the peek view editor.")),ow("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},rt(0,"Match highlight color in the peek view result list.")),ow("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},rt(0,"Match highlight color in the peek view editor.")),ow("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:uw,hcLight:uw},rt(0,"Match highlight border in the peek view editor."));class sY{constructor(t,i,e,s){this.isProviderFirst=t,this.parent=i,this.link=e,this._rangeCallback=s,this.id=V_.nextId()}get uri(){return this.link.uri}get range(){var t,i;return null!==(i=null!==(t=this._range)&&void 0!==t?t:this.link.targetSelectionRange)&&void 0!==i?i:this.link.range}set range(t){this._range=t,this._rangeCallback(this)}get ariaMessage(){var t;const i=null===(t=this.parent.getPreview(this))||void 0===t?void 0:t.preview(this.range);return i?rt(0,"{0} in {1} on line {2} at column {3}",i.value,uA(this.uri),this.range.startLineNumber,this.range.startColumn):rt(0,"in {0} on line {1} at column {2}",uA(this.uri),this.range.startLineNumber,this.range.startColumn)}}class nY{constructor(t){this._modelReference=t}dispose(){this._modelReference.dispose()}preview(t,i=8){const e=this._modelReference.object.textEditorModel;if(!e)return;const{startLineNumber:s,startColumn:n,endLineNumber:o,endColumn:r}=t,h=e.getWordUntilPosition({lineNumber:s,column:n-i}),c=new Ms(s,h.startColumn,s,n),a=new Ms(o,r,o,1073741824),l=e.getValueInRange(c).replace(/^\s+/,""),u=e.getValueInRange(t);return{value:l+u+e.getValueInRange(a).replace(/\s+$/,""),highlight:{start:l.length,end:l.length+u.length}}}}class oY{constructor(t,i){this.parent=t,this.uri=i,this.children=[],this._previews=new _p}dispose(){Ji(this._previews.values()),this._previews.clear()}getPreview(t){return this._previews.get(t.uri)}get ariaMessage(){const t=this.children.length;return 1===t?rt(0,"1 symbol in {0}, full path {1}",uA(this.uri),this.uri.fsPath):rt(0,"{0} symbols in {1}, full path {2}",t,uA(this.uri),this.uri.fsPath)}async resolve(t){if(0!==this._previews.size)return this;for(const i of this.children)if(!this._previews.has(i.uri))try{const e=await t.createModelReference(i.uri);this._previews.set(i.uri,new nY(e))}catch(t){Pi(t)}return this}}class rY{constructor(t,i){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new fe,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=t,this._title=i;const[e]=t;let s;t.sort(rY._compareReferences);for(const i of t)if(s&&cA.isEqual(s.uri,i.uri,!0)||(s=new oY(this,i.uri),this.groups.push(s)),0===s.children.length||0!==rY._compareReferences(i,s.children[s.children.length-1])){const t=new sY(e===i,s,i,(t=>this._onDidChangeReferenceRange.fire(t)));this.references.push(t),s.children.push(t)}}dispose(){Ji(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new rY(this._links,this._title)}get title(){return this._title}get isEmpty(){return 0===this.groups.length}get ariaMessage(){return this.isEmpty?rt(0,"No results found"):1===this.references.length?rt(0,"Found 1 symbol in {0}",this.references[0].uri.fsPath):1===this.groups.length?rt(0,"Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):rt(0,"Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(t,i){const{parent:e}=t;let s=e.children.indexOf(t);const n=e.children.length,o=e.parent.groups.length;return 1===o||i&&s+10?(s=i?(s+1)%n:(s+n-1)%n,e.children[s]):(s=e.parent.groups.indexOf(e),i?(s=(s+1)%o,e.parent.groups[s].children[0]):(s=(s+o-1)%o,e.parent.groups[s].children[e.parent.groups[s].children.length-1]))}nearestReference(t,i){const e=this.references.map(((e,s)=>({idx:s,prefixLen:fo(e.uri.toString(),t.toString()),offsetDist:100*Math.abs(e.range.startLineNumber-i.lineNumber)+Math.abs(e.range.startColumn-i.column)}))).sort(((t,i)=>t.prefixLen>i.prefixLen?-1:t.prefixLeni.offsetDist?1:0))[0];if(e)return this.references[e.idx]}referenceAt(t,i){for(const e of this.references)if(e.uri.toString()===t.toString()&&Ms.containsPosition(e.range,i))return e}firstReference(){for(const t of this.references)if(t.isProviderFirst)return t;return this.references[0]}static _compareReferences(t,i){return cA.compare(t.uri,i.uri)||Ms.compareRangesUsingStarts(t.range,i.range)}}var hY,cY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},aY=function(t,i){return function(e,s){i(e,s,t)}};let lY=class{constructor(t){this._resolverService=t}hasChildren(t){return t instanceof rY||t instanceof oY}getChildren(t){if(t instanceof rY)return t.groups;if(t instanceof oY)return t.resolve(this._resolverService).then((t=>t.children));throw new Error("bad tree")}};lY=cY([aY(0,gr)],lY);class uY{getHeight(){return 23}getTemplateId(t){return t instanceof oY?gY.id:wY.id}}let dY=class{constructor(t){this._keybindingService=t}getKeyboardNavigationLabel(t){var i;if(t instanceof sY){const e=null===(i=t.parent.getPreview(t))||void 0===i?void 0:i.preview(t.range);if(e)return e.value}return uA(t.uri)}};dY=cY([aY(0,Yx)],dY);class fY{getId(t){return t instanceof sY?t.id:t.uri}}let pY=class extends ie{constructor(t,i){super(),this._labelService=i;const e=document.createElement("div");e.classList.add("reference-file"),this.file=this._register(new Wj(e,{supportHighlights:!0})),this.badge=new Lj(Ol(e,$l(".count")),{},MB),t.appendChild(e)}set(t,i){const e=fA(t.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(t.uri),this._labelService.getUriLabel(e,{relative:!0}),{title:this._labelService.getUriLabel(t.uri),matches:i});const s=t.children.length;this.badge.setCount(s),this.badge.setTitleFormat(rt(0,s>1?"{0} references":"{0} reference",s))}};pY=cY([aY(1,TO)],pY);let gY=hY=class{constructor(t){this._instantiationService=t,this.templateId=hY.id}renderTemplate(t){return this._instantiationService.createInstance(pY,t)}renderElement(t,i,e){e.set(t.element,e_(t.filterData))}disposeTemplate(t){t.dispose()}};gY.id="FileReferencesRenderer",gY=hY=cY([aY(0,ur)],gY);class mY{constructor(t){this.label=new Pj(t)}set(t,i){var e;const s=null===(e=t.parent.getPreview(t))||void 0===e?void 0:e.preview(t.range);if(s&&s.value){const{value:t,highlight:e}=s;i&&!p_.isDefault(i)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(t,e_(i))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(t,[e]))}else this.label.set(`${uA(t.uri)}:${t.range.startLineNumber+1}:${t.range.startColumn+1}`)}}class wY{constructor(){this.templateId=wY.id}renderTemplate(t){return new mY(t)}renderElement(t,i,e){e.set(t.element,t.filterData)}disposeTemplate(){}}wY.id="OneReferenceRenderer";class vY{getWidgetAriaLabel(){return rt(0,"References")}getAriaLabel(t){return t.ariaMessage}}var bY=function(t,i){return function(e,s){i(e,s,t)}};class yY{constructor(t,i){this._editor=t,this._model=i,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new te,this._callOnModelChange=new te,this._callOnDispose.add(this._editor.onDidChangeModel((()=>this._onModelChanged()))),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const t=this._editor.getModel();if(t)for(const i of this._model.references)if(i.uri.toString()===t.uri.toString())return void this._addDecorations(i.parent)}_addDecorations(t){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations((()=>this._onDecorationChanged())));const i=[],e=[];for(let s=0,n=t.children.length;s{const n=s.deltaDecorations([],i);for(let i=0;i{t.equals(9)&&(this._keybindingService.dispatchEvent(t,t.target),t.stopPropagation())}),!0)),this._tree=this._instantiationService.createInstance(xY,"ReferencesWidget",this._treeContainer,new uY,[this._instantiationService.createInstance(gY),this._instantiationService.createInstance(wY)],this._instantiationService.createInstance(lY),i),this._splitView.addView({onDidChange:ce.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:t=>{this._preview.layout({height:this._dim.height,width:t})}},zP.Distribute),this._splitView.addView({onDidChange:ce.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:t=>{this._treeContainer.style.height=`${this._dim.height}px`,this._treeContainer.style.width=`${t}px`,this._tree.layout(this._dim.height,t)}},zP.Distribute),this._disposables.add(this._splitView.onDidSashChange((()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)}),void 0));const e=(t,i)=>{t instanceof sY&&("show"===i&&this._revealReference(t,!1),this._onDidSelectReference.fire({element:t,kind:i,source:"tree"}))};this._tree.onDidOpen((t=>{e(t.element,t.sideBySide?"side":t.editorOptions.pinned?"goto":"show")})),jl(this._treeContainer)}_onWidth(t){this._dim&&this._doLayoutBody(this._dim.height,t)}_doLayoutBody(t,i){super._doLayoutBody(t,i),this._dim=new el(i,t),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(i),this._splitView.resizeView(0,i*this.layoutData.ratio)}setSelection(t){return this._revealReference(t,!0).then((()=>{this._model&&(this._tree.setSelection([t]),this._tree.setFocus([t]))}))}setModel(t){return this._disposeOnNewModel.clear(),this._model=t,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=rt(0,"No results"),Wl(this._messageContainer),Promise.resolve(void 0)):(jl(this._messageContainer),this._decorationsManager=new yY(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange((t=>this._tree.rerender(t)))),this._disposeOnNewModel.add(this._preview.onMouseDown((t=>{const{event:i,target:e}=t;if(2!==i.detail)return;const s=this._getFocusedReference();s&&this._onDidSelectReference.fire({element:{uri:s.uri,range:e.range},kind:i.ctrlKey||i.metaKey||i.altKey?"side":"open",source:"editor"})}))),this.container.classList.add("results-loaded"),Wl(this._treeContainer),Wl(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(1===this._model.groups.length?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[t]=this._tree.getFocus();return t instanceof sY?t:t instanceof oY&&t.children.length>0?t.children[0]:void 0}async revealReference(t){await this._revealReference(t,!1),this._onDidSelectReference.fire({element:t,kind:"goto",source:"tree"})}async _revealReference(t,i){if(this._revealedReference===t)return;this._revealedReference=t,t.uri.scheme!==ka.inMemory?this.setTitle(lA(t.uri),this._uriLabel.getUriLabel(fA(t.uri))):this.setTitle(rt(0,"References"));const e=this._textModelResolverService.createModelReference(t.uri);this._tree.getInput()===t.parent||(i&&this._tree.reveal(t.parent),await this._tree.expand(t.parent)),this._tree.reveal(t);const s=await e;if(!this._model)return void s.dispose();Ji(this._previewModelReference);const n=s.object;if(n){const i=this._preview.getModel()===n.textEditorModel?0:1,e=Ms.lift(t.range).collapseToStart();this._previewModelReference=s,this._preview.setModel(n.textEditorModel),this._preview.setSelection(e),this._preview.revealRangeInCenter(e,i)}else this._preview.setModel(this._previewNotAvailableMessage),s.dispose()}};CY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([bY(3,qk),bY(4,gr),bY(5,ur),bY(6,qJ),bY(7,TO),bY(8,XM),bY(9,Yx),bY(10,yd),bY(11,qd)],CY);var SY,DY=function(t,i){return function(e,s){i(e,s,t)}};const EY=new ch("referenceSearchVisible",!1,rt(0,"Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let AY=SY=class{static get(t){return t.getContribution(SY.ID)}constructor(t,i,e,s,n,o,r,h){this._defaultTreeKeyboardSupport=t,this._editor=i,this._editorService=s,this._notificationService=n,this._instantiationService=o,this._storageService=r,this._configurationService=h,this._disposables=new te,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=EY.bindTo(e)}dispose(){var t,i;this._referenceSearchVisible.reset(),this._disposables.dispose(),null===(t=this._widget)||void 0===t||t.dispose(),null===(i=this._model)||void 0===i||i.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(t,i,e){let s;if(this._widget&&(s=this._widget.position),this.closeWidget(),s&&t.containsPosition(s))return;this._peekMode=e,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage((()=>{this.closeWidget()}))),this._disposables.add(this._editor.onDidChangeModel((()=>{this._ignoreModelChangeEvent||this.closeWidget()})));const n="peekViewLayout",o=kY.fromJSON(this._storageService.get(n,0,"{}"));this._widget=this._instantiationService.createInstance(CY,this._editor,this._defaultTreeKeyboardSupport,o),this._widget.setTitle(rt(0,"Loading...")),this._widget.show(t),this._disposables.add(this._widget.onDidClose((()=>{i.cancel(),this._widget&&(this._storageService.store(n,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()}))),this._disposables.add(this._widget.onDidSelectReference((t=>{const{element:i,kind:s}=t;if(i)switch(s){case"open":"editor"===t.source&&this._configurationService.getValue("editor.stablePeek")||this.openReference(i,!1,!1);break;case"side":this.openReference(i,!0,!1);break;case"goto":e?this._gotoReference(i,!0):this.openReference(i,!1,!0)}})));const r=++this._requestIdPool;i.then((i=>{var e;if(r===this._requestIdPool&&this._widget)return null===(e=this._model)||void 0===e||e.dispose(),this._model=i,this._widget.setModel(this._model).then((()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._widget.setMetaTitle(this._model.isEmpty?"":rt(0,"{0} ({1})",this._model.title,this._model.references.length));const i=this._editor.getModel().uri,e=new As(t.startLineNumber,t.startColumn),s=this._model.nearestReference(i,e);if(s)return this._widget.setSelection(s).then((()=>{this._widget&&"editor"===this._editor.getOption(86)&&this._widget.focusOnPreviewEditor()}))}}));i.dispose()}),(t=>{this._notificationService.error(t)}))}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(t){if(!this._editor.hasModel()||!this._model||!this._widget)return;const i=this._widget.position;if(!i)return;const e=this._model.nearestReference(this._editor.getModel().uri,i);if(!e)return;const s=this._model.nextOrPreviousReference(e,t),n=this._editor.hasTextFocus(),o=this._widget.isPreviewEditorFocused();await this._widget.setSelection(s),await this._gotoReference(s,!1),n?this._editor.focus():this._widget&&o&&this._widget.focusOnPreviewEditor()}async revealReference(t){this._editor.hasModel()&&this._model&&this._widget&&await this._widget.revealReference(t)}closeWidget(t=!0){var i,e;null===(i=this._widget)||void 0===i||i.dispose(),null===(e=this._model)||void 0===e||e.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,t&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(t,i){var e;null===(e=this._widget)||void 0===e||e.hide(),this._ignoreModelChangeEvent=!0;const s=Ms.lift(t.range).collapseToStart();return this._editorService.openCodeEditor({resource:t.uri,options:{selection:s,selectionSource:"code.jump",pinned:i}},this._editor).then((t=>{var i;if(this._ignoreModelChangeEvent=!1,t&&this._widget)if(this._editor===t)this._widget.show(s),this._widget.focusOnReferenceTree();else{const e=SY.get(t),n=this._model.clone();this.closeWidget(),t.focus(),null==e||e.toggleWidget(s,nc((()=>Promise.resolve(n))),null!==(i=this._peekMode)&&void 0!==i&&i)}else this.closeWidget()}),(t=>{this._ignoreModelChangeEvent=!1,Pi(t)}))}openReference(t,i,e){i||this.closeWidget();const{uri:s,range:n}=t;this._editorService.openCodeEditor({resource:s,options:{selection:n,selectionSource:"code.jump",pinned:e}},this._editor,i)}};function MY(t,i){const e=function(t){const i=t.get(fr).getFocusedCodeEditor();return i instanceof BJ?i.getParentEditor():i}(t);if(!e)return;const s=AY.get(e);s&&i(s)}AY.ID="editor.contrib.referencesController",AY=SY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([DY(2,ah),DY(3,fr),DY(4,JF),DY(5,ur),DY(6,bB),DY(7,pd)],AY),Ah.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:Ne(2089,60),when:zr.or(EY,KJ.inPeekEditor),handler(t){MY(t,(t=>{t.changeFocusBetweenPreviewAndReferences()}))}}),Ah.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:zr.or(EY,KJ.inPeekEditor),handler(t){MY(t,(t=>{t.goToNextOrPreviousReference(!0)}))}}),Ah.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:zr.or(EY,KJ.inPeekEditor),handler(t){MY(t,(t=>{t.goToNextOrPreviousReference(!1)}))}}),Dr.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference"),Dr.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference"),Dr.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch"),Dr.registerCommand("closeReferenceSearch",(t=>MY(t,(t=>t.closeWidget())))),Ah.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:zr.and(KJ.inPeekEditor,zr.not("config.editor.stablePeek"))}),Ah.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:zr.and(EY,zr.not("config.editor.stablePeek"))}),Ah.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:zr.and(EY,CW,LW.negate(),TW.negate()),handler(t){var i;const e=null===(i=t.get(bW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof sY&&MY(t,(t=>t.revealReference(e[0])))}}),Ah.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:zr.and(EY,CW,LW.negate(),TW.negate()),handler(t){var i;const e=null===(i=t.get(bW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof sY&&MY(t,(t=>t.openReference(e[0],!0,!0)))}}),Dr.registerCommand("openReference",(t=>{var i;const e=null===(i=t.get(bW).lastFocusedList)||void 0===i?void 0:i.getFocus();Array.isArray(e)&&e[0]instanceof sY&&MY(t,(t=>t.openReference(e[0],!1,!0)))}));var LY=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},FY=function(t,i){return function(e,s){i(e,s,t)}};const TY=new ch("hasSymbols",!1,rt(0,"Whether there are symbol locations that can be navigated via keyboard-only.")),RY=dr("ISymbolNavigationService");let OY=class{constructor(t,i,e,s){this._editorService=i,this._notificationService=e,this._keybindingService=s,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=TY.bindTo(t)}reset(){var t,i;this._ctxHasSymbols.reset(),null===(t=this._currentState)||void 0===t||t.dispose(),null===(i=this._currentMessage)||void 0===i||i.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(t){const i=t.parent.parent;if(i.references.length<=1)return void this.reset();this._currentModel=i,this._currentIdx=i.references.indexOf(t),this._ctxHasSymbols.set(!0),this._showMessage();const e=new IY(this._editorService),s=e.onDidChange((()=>{if(this._ignoreEditorChange)return;const t=this._editorService.getActiveCodeEditor();if(!t)return;const e=t.getModel(),s=t.getPosition();if(!e||!s)return;let n=!1,o=!1;for(const t of i.references)if(aA(t.uri,e.uri))n=!0,o=o||Ms.containsPosition(t.range,s);else if(n)break;n&&o||this.reset()}));this._currentState=Yi(e,s)}revealNext(t){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const i=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:i.uri,options:{selection:Ms.collapseToStart(i.range),selectionRevealType:3}},t).finally((()=>{this._ignoreEditorChange=!1}))}_showMessage(){var t;null===(t=this._currentMessage)||void 0===t||t.dispose();const i=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),e=i?rt(0,"Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,i.getLabel()):rt(0,"Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(e)}};OY=LY([FY(0,ah),FY(1,fr),FY(2,JF),FY(3,Yx)],OY),Cd(RY,OY,1),hu(new class extends eu{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:TY,kbOpts:{weight:100,primary:70}})}runEditorCommand(t,i){return t.get(RY).revealNext(i)}}),Ah.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:TY,primary:9,handler(t){t.get(RY).reset()}});let IY=class{constructor(t){this._listener=new Map,this._disposables=new te,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._disposables.add(t.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(t.onCodeEditorAdd(this._onDidAddEditor,this)),t.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),Ji(this._listener.values())}_onDidAddEditor(t){this._listener.set(t,Yi(t.onDidChangeCursorPosition((()=>this._onDidChange.fire({editor:t}))),t.onDidChangeModelContent((()=>this._onDidChange.fire({editor:t})))))}_onDidRemoveEditor(t){var i;null===(i=this._listener.get(t))||void 0===i||i.dispose(),this._listener.delete(t)}};async function _Y(t,i,e,s){const n=e.ordered(t).map((e=>Promise.resolve(s(e,t,i)).then(void 0,(t=>{$i(t)}))));return w((await Promise.all(n)).flat())}function NY(t,i,e,s){return _Y(i,e,t,((t,i,e)=>t.provideDefinition(i,e,s)))}function BY(t,i,e,s){return _Y(i,e,t,((t,i,e)=>t.provideDeclaration(i,e,s)))}function PY(t,i,e,s){return _Y(i,e,t,((t,i,e)=>t.provideImplementation(i,e,s)))}function $Y(t,i,e,s){return _Y(i,e,t,((t,i,e)=>t.provideTypeDefinition(i,e,s)))}function WY(t,i,e,s,n){return _Y(i,e,t,(async(t,i,e)=>{const o=await t.provideReferences(i,e,{includeDeclaration:!0},n);if(!s||!o||2!==o.length)return o;const r=await t.provideReferences(i,e,{includeDeclaration:!1},n);return r&&1===r.length?r:o}))}async function jY(t){const i=await t(),e=new rY(i,""),s=e.references.map((t=>t.link));return e.dispose(),s}var zY,HY,VY,UY,qY,KY,GY,ZY;IY=LY([FY(0,fr)],IY),ru("_executeDefinitionProvider",((t,i,e)=>{const s=NY(t.get(gg).definitionProvider,i,e,xe.None);return jY((()=>s))})),ru("_executeTypeDefinitionProvider",((t,i,e)=>{const s=$Y(t.get(gg).typeDefinitionProvider,i,e,xe.None);return jY((()=>s))})),ru("_executeDeclarationProvider",((t,i,e)=>{const s=BY(t.get(gg).declarationProvider,i,e,xe.None);return jY((()=>s))})),ru("_executeReferenceProvider",((t,i,e)=>{const s=WY(t.get(gg).referenceProvider,i,e,!1,xe.None);return jY((()=>s))})),ru("_executeImplementationProvider",((t,i,e)=>{const s=PY(t.get(gg).implementationProvider,i,e,xe.None);return jY((()=>s))})),_h.appendMenuItem(Rh.EditorContext,{submenu:Rh.EditorContextPeek,title:rt(0,"Peek"),group:"navigation",order:100});class QY{static is(t){return!(!t||"object"!=typeof t)&&(t instanceof QY||!(!As.isIPosition(t.position)||!t.model))}constructor(t,i){this.model=t,this.position=i}}class JY extends ou{static all(){return JY._allSymbolNavigationCommands.values()}static _patchConfig(t){const i={...t,f1:!0};if(i.menu)for(const e of Vt.wrap(i.menu))e.id!==Rh.EditorContext&&e.id!==Rh.EditorContextPeek||(e.when=zr.and(t.precondition,e.when));return i}constructor(t,i){super(JY._patchConfig(i)),this.configuration=t,JY._allSymbolNavigationCommands.set(i.id,this)}runEditorCommand(t,i,e,s){if(!i.hasModel())return Promise.resolve(void 0);const n=t.get(JF),o=t.get(fr),r=t.get(IO),h=t.get(RY),c=t.get(gg),a=t.get(ur),l=i.getModel(),u=i.getPosition(),d=QY.is(e)?e:new QY(l,u),f=new gK(i,5),p=oc(this._getLocationModel(c,d.model,d.position,f.token),f.token).then((async t=>{var n;if(!t||f.token.isCancellationRequested)return;let r;if(Tm(t.ariaMessage),t.referenceAt(l.uri,u)){const t=this._getAlternativeCommand(i);!JY._activeAlternativeCommands.has(t)&&JY._allSymbolNavigationCommands.has(t)&&(r=JY._allSymbolNavigationCommands.get(t))}const c=t.references.length;if(0===c){if(!this.configuration.muteMessage){const t=l.getWordAtPosition(u);null===(n=hQ.get(i))||void 0===n||n.showMessage(this._getNoResultFoundMessage(t),u)}}else{if(1!==c||!r)return this._onResult(o,h,i,t,s);JY._activeAlternativeCommands.add(this.desc.id),a.invokeFunction((t=>r.runEditorCommand(t,i,e,s).finally((()=>{JY._activeAlternativeCommands.delete(this.desc.id)}))))}}),(t=>{n.error(t)})).finally((()=>{f.dispose()}));return r.showWhile(p,250),p}async _onResult(t,i,e,s,n){const o=this._getGoToPreference(e);if(e instanceof BJ||!(this.configuration.openInPeek||"peek"===o&&s.references.length>1)){const r=s.firstReference(),h=s.references.length>1&&"gotoAndPeek"===o,c=await this._openReference(e,t,r,this.configuration.openToSide,!h);h&&c?this._openInPeek(c,s,n):s.dispose(),"goto"===o&&i.put(r)}else this._openInPeek(e,s,n)}async _openReference(t,i,e,s,n){let o;var r;if((r=e)&&ms.isUri(r.uri)&&Ms.isIRange(r.range)&&(Ms.isIRange(r.originSelectionRange)||Ms.isIRange(r.targetSelectionRange))&&(o=e.targetSelectionRange),o||(o=e.range),!o)return;const h=await i.openCodeEditor({resource:e.uri,options:{selection:Ms.collapseToStart(o),selectionRevealType:3,selectionSource:"code.jump"}},t,s);if(h){if(n){const t=h.getModel(),i=h.createDecorationsCollection([{range:o,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout((()=>{h.getModel()===t&&i.clear()}),350)}return h}}_openInPeek(t,i,e){const s=AY.get(t);s&&t.hasModel()?s.toggleWidget(null!=e?e:t.getSelection(),nc((()=>Promise.resolve(i))),this.configuration.openInPeek):i.dispose()}}JY._allSymbolNavigationCommands=new Map,JY._activeAlternativeCommands=new Set;class YY extends JY{async _getLocationModel(t,i,e,s){return new rY(await NY(t.definitionProvider,i,e,s),rt(0,"Definitions"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No definition found for '{0}'",t.word):rt(0,"No definition found")}_getAlternativeCommand(t){return t.getOption(58).alternativeDefinitionCommand}_getGoToPreference(t){return t.getOption(58).multipleDefinitions}}$h(((zY=class extends YY{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:zY.id,title:{value:rt(0,"Go to Definition"),original:"Go to Definition",mnemonicTitle:rt(0,"Go to &&Definition")},precondition:zr.and(UC.hasDefinitionProvider,UC.isInWalkThroughSnippet.toNegated()),keybinding:[{when:UC.editorTextFocus,primary:70,weight:100},{when:zr.and(UC.editorTextFocus,dW),primary:2118,weight:100}],menu:[{id:Rh.EditorContext,group:"navigation",order:1.1},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Dr.registerCommandAlias("editor.action.goToDeclaration",zY.id)}}).id="editor.action.revealDefinition",zY)),$h(((HY=class extends YY{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:HY.id,title:{value:rt(0,"Open Definition to the Side"),original:"Open Definition to the Side"},precondition:zr.and(UC.hasDefinitionProvider,UC.isInWalkThroughSnippet.toNegated()),keybinding:[{when:UC.editorTextFocus,primary:Ne(2089,70),weight:100},{when:zr.and(UC.editorTextFocus,dW),primary:Ne(2089,2118),weight:100}]}),Dr.registerCommandAlias("editor.action.openDeclarationToTheSide",HY.id)}}).id="editor.action.revealDefinitionAside",HY)),$h(((VY=class extends YY{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:VY.id,title:{value:rt(0,"Peek Definition"),original:"Peek Definition"},precondition:zr.and(UC.hasDefinitionProvider,KJ.notInPeekEditor,UC.isInWalkThroughSnippet.toNegated()),keybinding:{when:UC.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:Rh.EditorContextPeek,group:"peek",order:2}}),Dr.registerCommandAlias("editor.action.previewDeclaration",VY.id)}}).id="editor.action.peekDefinition",VY));class XY extends JY{async _getLocationModel(t,i,e,s){return new rY(await BY(t.declarationProvider,i,e,s),rt(0,"Declarations"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No declaration found for '{0}'",t.word):rt(0,"No declaration found")}_getAlternativeCommand(t){return t.getOption(58).alternativeDeclarationCommand}_getGoToPreference(t){return t.getOption(58).multipleDeclarations}}$h(((UY=class extends XY{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:UY.id,title:{value:rt(0,"Go to Declaration"),original:"Go to Declaration",mnemonicTitle:rt(0,"Go to &&Declaration")},precondition:zr.and(UC.hasDeclarationProvider,UC.isInWalkThroughSnippet.toNegated()),menu:[{id:Rh.EditorContext,group:"navigation",order:1.3},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No declaration found for '{0}'",t.word):rt(0,"No declaration found")}}).id="editor.action.revealDeclaration",UY)),$h(class extends XY{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:{value:rt(0,"Peek Declaration"),original:"Peek Declaration"},precondition:zr.and(UC.hasDeclarationProvider,KJ.notInPeekEditor,UC.isInWalkThroughSnippet.toNegated()),menu:{id:Rh.EditorContextPeek,group:"peek",order:3}})}});class tX extends JY{async _getLocationModel(t,i,e,s){return new rY(await $Y(t.typeDefinitionProvider,i,e,s),rt(0,"Type Definitions"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No type definition found for '{0}'",t.word):rt(0,"No type definition found")}_getAlternativeCommand(t){return t.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(t){return t.getOption(58).multipleTypeDefinitions}}$h(((qY=class extends tX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:qY.ID,title:{value:rt(0,"Go to Type Definition"),original:"Go to Type Definition",mnemonicTitle:rt(0,"Go to &&Type Definition")},precondition:zr.and(UC.hasTypeDefinitionProvider,UC.isInWalkThroughSnippet.toNegated()),keybinding:{when:UC.editorTextFocus,primary:0,weight:100},menu:[{id:Rh.EditorContext,group:"navigation",order:1.4},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}}).ID="editor.action.goToTypeDefinition",qY)),$h(((KY=class extends tX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:KY.ID,title:{value:rt(0,"Peek Type Definition"),original:"Peek Type Definition"},precondition:zr.and(UC.hasTypeDefinitionProvider,KJ.notInPeekEditor,UC.isInWalkThroughSnippet.toNegated()),menu:{id:Rh.EditorContextPeek,group:"peek",order:4}})}}).ID="editor.action.peekTypeDefinition",KY));class iX extends JY{async _getLocationModel(t,i,e,s){return new rY(await PY(t.implementationProvider,i,e,s),rt(0,"Implementations"))}_getNoResultFoundMessage(t){return t&&t.word?rt(0,"No implementation found for '{0}'",t.word):rt(0,"No implementation found")}_getAlternativeCommand(t){return t.getOption(58).alternativeImplementationCommand}_getGoToPreference(t){return t.getOption(58).multipleImplementations}}$h(((GY=class extends iX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:GY.ID,title:{value:rt(0,"Go to Implementations"),original:"Go to Implementations",mnemonicTitle:rt(0,"Go to &&Implementations")},precondition:zr.and(UC.hasImplementationProvider,UC.isInWalkThroughSnippet.toNegated()),keybinding:{when:UC.editorTextFocus,primary:2118,weight:100},menu:[{id:Rh.EditorContext,group:"navigation",order:1.45},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}}).ID="editor.action.goToImplementation",GY)),$h(((ZY=class extends iX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:ZY.ID,title:{value:rt(0,"Peek Implementations"),original:"Peek Implementations"},precondition:zr.and(UC.hasImplementationProvider,KJ.notInPeekEditor,UC.isInWalkThroughSnippet.toNegated()),keybinding:{when:UC.editorTextFocus,primary:3142,weight:100},menu:{id:Rh.EditorContextPeek,group:"peek",order:5}})}}).ID="editor.action.peekImplementation",ZY));class eX extends JY{_getNoResultFoundMessage(t){return t?rt(0,"No references found for '{0}'",t.word):rt(0,"No references found")}_getAlternativeCommand(t){return t.getOption(58).alternativeReferenceCommand}_getGoToPreference(t){return t.getOption(58).multipleReferences}}$h(class extends eX{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{value:rt(0,"Go to References"),original:"Go to References",mnemonicTitle:rt(0,"Go to &&References")},precondition:zr.and(UC.hasReferenceProvider,KJ.notInPeekEditor,UC.isInWalkThroughSnippet.toNegated()),keybinding:{when:UC.editorTextFocus,primary:1094,weight:100},menu:[{id:Rh.EditorContext,group:"navigation",order:1.45},{id:Rh.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(t,i,e,s){return new rY(await WY(t.referenceProvider,i,e,!0,s),rt(0,"References"))}}),$h(class extends eX{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:{value:rt(0,"Peek References"),original:"Peek References"},precondition:zr.and(UC.hasReferenceProvider,KJ.notInPeekEditor,UC.isInWalkThroughSnippet.toNegated()),menu:{id:Rh.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(t,i,e,s){return new rY(await WY(t.referenceProvider,i,e,!1,s),rt(0,"References"))}});class sX extends JY{constructor(t,i,e){super(t,{id:"editor.action.goToLocation",title:{value:rt(0,"Go to Any Symbol"),original:"Go to Any Symbol"},precondition:zr.and(KJ.notInPeekEditor,UC.isInWalkThroughSnippet.toNegated())}),this._references=i,this._gotoMultipleBehaviour=e}async _getLocationModel(t,i,e,s){return new rY(this._references,rt(0,"Locations"))}_getNoResultFoundMessage(t){return t&&rt(0,"No results for '{0}'",t.word)||""}_getGoToPreference(t){var i;return null!==(i=this._gotoMultipleBehaviour)&&void 0!==i?i:t.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}Dr.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:ms},{name:"position",description:"The position at which to start",constraint:As.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(t,i,e,s,n,o,r)=>{K(ms.isUri(i)),K(As.isIPosition(e)),K(Array.isArray(s)),K(void 0===n||"string"==typeof n),K(void 0===r||"boolean"==typeof r);const h=t.get(fr),c=await h.openCodeEditor({resource:i},h.getFocusedCodeEditor());if(wK(c))return c.setPosition(e),c.revealPositionInCenterIfOutsideViewport(e,0),c.invokeWithinContext((t=>{const i=new class extends sX{_getNoResultFoundMessage(t){return o||super._getNoResultFoundMessage(t)}}({muteMessage:!Boolean(o),openInPeek:Boolean(r),openToSide:!1},s,n);t.get(ur).invokeFunction(i.run.bind(i),c)}))}}),Dr.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:ms},{name:"position",description:"The position at which to start",constraint:As.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto"}]},handler:async(t,i,e,s,n)=>{t.get(Sr).executeCommand("editor.action.goToLocations",i,e,s,n,void 0,!0)}}),Dr.registerCommand({id:"editor.action.findReferences",handler:(t,i,e)=>{K(ms.isUri(i)),K(As.isIPosition(e));const s=t.get(gg),n=t.get(fr);return n.openCodeEditor({resource:i},n.getFocusedCodeEditor()).then((t=>{if(!wK(t)||!t.hasModel())return;const i=AY.get(t);if(!i)return;const n=nc((i=>WY(s.referenceProvider,t.getModel(),As.lift(e),!1,i).then((t=>new rY(t,rt(0,"References")))))),o=new Ms(e.lineNumber,e.column,e.lineNumber,e.column);return Promise.resolve(i.toggleWidget(o,n,!1))}))}}),Dr.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var nX,oX=function(t,i){return function(e,s){i(e,s,t)}};let rX=nX=class{constructor(t,i,e,s){this.textModelResolverService=i,this.languageService=e,this.languageFeaturesService=s,this.toUnhook=new te,this.toUnhookForKeyboard=new te,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=t,this.linkDecorations=this.editor.createDecorationsCollection();const n=new _J(t);this.toUnhook.add(n),this.toUnhook.add(n.onMouseMoveOrRelevantKeyDown((([t,i])=>{this.startFindDefinitionFromMouse(t,null!=i?i:void 0)}))),this.toUnhook.add(n.onExecute((t=>{this.isEnabled(t)&&this.gotoDefinition(t.target.position,t.hasSideBySideModifier).catch((t=>{Pi(t)})).finally((()=>{this.removeLinkDecorations()}))}))),this.toUnhook.add(n.onCancel((()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null})))}static get(t){return t.getContribution(nX.ID)}async startFindDefinitionFromCursor(t){await this.startFindDefinition(t),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition((()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()}))),this.toUnhookForKeyboard.add(this.editor.onKeyDown((t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())})))}startFindDefinitionFromMouse(t,i){if(!(9===t.target.type&&this.linkDecorations.length>0))return this.editor.hasModel()&&this.isEnabled(t,i)?void this.startFindDefinition(t.target.position):(this.currentWordAtPosition=null,void this.removeLinkDecorations())}async startFindDefinition(t){var i;this.toUnhookForKeyboard.clear();const e=t?null===(i=this.editor.getModel())||void 0===i?void 0:i.getWordAtPosition(t):null;if(!e)return this.currentWordAtPosition=null,void this.removeLinkDecorations();if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===e.startColumn&&this.currentWordAtPosition.endColumn===e.endColumn&&this.currentWordAtPosition.word===e.word)return;this.currentWordAtPosition=e;const s=new pK(this.editor,15);let n;this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=nc((i=>this.findDefinition(t,i)));try{n=await this.previousPromise}catch(t){return void Pi(t)}if(!n||!n.length||!s.validate(this.editor))return void this.removeLinkDecorations();const o=n[0].originSelectionRange?Ms.lift(n[0].originSelectionRange):new Ms(t.lineNumber,e.startColumn,t.lineNumber,e.endColumn);if(n.length>1){let t=o;for(const{originSelectionRange:i}of n)i&&(t=Ms.plusRange(t,i));this.addDecoration(t,(new M_).appendText(rt(0,"Click to show {0} definitions.",n.length)))}else{const t=n[0];if(!t.uri)return;this.textModelResolverService.createModelReference(t.uri).then((i=>{if(!i.object||!i.object.textEditorModel)return void i.dispose();const{object:{textEditorModel:e}}=i,{startLineNumber:s}=t.range;if(s<1||s>e.getLineCount())return void i.dispose();const n=this.getPreviewValue(e,s,t),r=this.languageService.guessLanguageIdByFilepathOrFirstLine(e.uri);this.addDecoration(o,n?(new M_).appendCodeblock(r||"",n):void 0),i.dispose()}))}}getPreviewValue(t,i,e){let s=e.range;return s.endLineNumber-s.startLineNumber>=nX.MAX_SOURCE_PREVIEW_LINES&&(s=this.getPreviewRangeBasedOnIndentation(t,i)),this.stripIndentationFromPreviewRange(t,i,s)}stripIndentationFromPreviewRange(t,i,e){let s=t.getLineFirstNonWhitespaceColumn(i);for(let n=i+1;n{const e=!i&&this.editor.getOption(87)&&!this.isInPeekEditor(t);return new YY({openToSide:i,openInPeek:e,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(t)}))}isInPeekEditor(t){const i=t.get(ah);return KJ.inPeekEditor.getValue(i)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};rX.ID="editor.contrib.gotodefinitionatposition",rX.MAX_SOURCE_PREVIEW_LINES=8,rX=nX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([oX(1,gr),oX(2,yd),oX(3,gg)],rX),lu(rX.ID,rX,2);const hX=$l;class cX extends ie{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this.scrollbar=this._register(new Sk(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}}class aX extends ie{static render(t,i,e){return new aX(t,i,e)}constructor(t,i,e){super(),this.actionContainer=Ol(t,hX("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=Ol(this.actionContainer,hX("a.action")),this.action.setAttribute("role","button"),i.iconClass&&Ol(this.action,hX(`span.icon.${i.iconClass}`)),Ol(this.action,hX("span")).textContent=e?`${i.label} (${e})`:i.label,this._register(Va(this.actionContainer,Ll.CLICK,(t=>{t.stopPropagation(),t.preventDefault(),i.run(this.actionContainer)}))),this._register(Va(this.actionContainer,Ll.KEY_DOWN,(t=>{const e=new Qh(t);(e.equals(3)||e.equals(10))&&(t.stopPropagation(),t.preventDefault(),i.run(this.actionContainer))}))),this.setEnabled(!0)}setEnabled(t){t?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}class lX{constructor(t,i,e){this.value=t,this.isComplete=i,this.hasLoadingMessage=e}}class uX extends ie{constructor(t,i){super(),this._editor=t,this._computer=i,this._onResult=this._register(new fe),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new pc((()=>this._triggerAsyncComputation()),0)),this._secondWaitScheduler=this._register(new pc((()=>this._triggerSyncComputation()),0)),this._loadingMessageScheduler=this._register(new pc((()=>this._triggerLoadingMessage()),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(t,i=!0){this._state=t,i&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=function(t){const i=new Se,e=t(i.token);return new xc(i,(async t=>{const s=i.token.onCancellationRequested((()=>{s.dispose(),i.dispose(),t.reject(new Hi)}));try{for await(const s of e){if(i.token.isCancellationRequested)return;t.emitOne(s)}s.dispose(),i.dispose()}catch(e){s.dispose(),i.dispose(),t.reject(e)}}))}((t=>this._computer.computeAsync(t))),(async()=>{try{for await(const t of this._asyncIterable)t&&(this._result.push(t),this._fireResult());this._asyncIterableDone=!0,3!==this._state&&4!==this._state||this._setState(0)}catch(t){Pi(t)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){3===this._state&&this._setState(4)}_fireResult(){if(1===this._state||2===this._state)return;const t=0===this._state,i=4===this._state;this._onResult.fire(new lX(this._result.slice(0),t,i))}start(t){if(0===t)0===this._state&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation()}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}class dX{constructor(t,i,e,s){this.priority=t,this.range=i,this.initialMousePosX=e,this.initialMousePosY=s,this.type=1}equals(t){return 1===t.type&&this.range.equalsRange(t.range)}canAdoptVisibleHover(t,i){return 1===t.type&&i.lineNumber===this.range.startLineNumber}}class fX{constructor(t,i,e,s,n,o){this.priority=t,this.owner=i,this.range=e,this.initialMousePosX=s,this.initialMousePosY=n,this.supportsMarkerHover=o,this.type=2}equals(t){return 2===t.type&&this.owner===t.owner}canAdoptVisibleHover(t,i){return 2===t.type&&this.owner===t.owner}}const pX=new class{constructor(){this._participants=[]}register(t){this._participants.push(t)}getAll(){return this._participants}};class gX{constructor(){let t;this._onDidWillResize=new fe,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new fe,this.onDidResize=this._onDidResize.event,this._sashListener=new te,this._size=new el(0,0),this._minSize=new el(0,0),this._maxSize=new el(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new NP(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new NP(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new NP(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:MP.North}),this._southSash=new NP(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:MP.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let i=0,e=0;this._sashListener.add(ce.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)((()=>{void 0===t&&(this._onDidWillResize.fire(),t=this._size,i=0,e=0)}))),this._sashListener.add(ce.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)((()=>{void 0!==t&&(t=void 0,i=0,e=0,this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(this._eastSash.onDidChange((s=>{t&&(e=s.currentX-s.startX,this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))}))),this._sashListener.add(this._westSash.onDidChange((s=>{t&&(e=-(s.currentX-s.startX),this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))}))),this._sashListener.add(this._northSash.onDidChange((s=>{t&&(i=-(s.currentY-s.startY),this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))}))),this._sashListener.add(this._southSash.onDidChange((s=>{t&&(i=s.currentY-s.startY,this.layout(t.height+i,t.width+e),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))}))),this._sashListener.add(ce.any(this._eastSash.onDidReset,this._westSash.onDidReset)((()=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))),this._sashListener.add(ce.any(this._northSash.onDidReset,this._southSash.onDidReset)((()=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))})))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(t,i,e,s){this._northSash.state=t?3:0,this._eastSash.state=i?3:0,this._southSash.state=e?3:0,this._westSash.state=s?3:0}layout(t=this.size.height,i=this.size.width){const{height:e,width:s}=this._minSize,{height:n,width:o}=this._maxSize;t=Math.max(e,Math.min(n,t)),i=Math.max(s,Math.min(o,i));const r=new el(i,t);el.equals(r,this._size)||(this.domNode.style.height=t+"px",this.domNode.style.width=i+"px",this._size=r,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(t){this._maxSize=t}get maxSize(){return this._maxSize}set minSize(t){this._minSize=t}get minSize(){return this._minSize}set preferredSize(t){this._preferredSize=t}get preferredSize(){return this._preferredSize}}class mX extends ie{constructor(t,i=new el(10,10)){super(),this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new gX),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=el.lift(i),this._resizableNode.layout(i.height,i.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize((t=>{this._resize(new el(t.dimension.width,t.dimension.height)),t.done&&(this._isResizing=!1)}))),this._register(this._resizableNode.onDidWillResize((()=>{this._isResizing=!0})))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){var t;return(null===(t=this._contentPosition)||void 0===t?void 0:t.position)?As.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(t){const i=this._editor.getDomNode(),e=this._editor.getScrolledVisiblePosition(t);if(i&&e)return nl(i).top+e.top-30}_availableVerticalSpaceBelow(t){const i=this._editor.getDomNode(),e=this._editor.getScrolledVisiblePosition(t);if(!i||!e)return;const s=nl(i);return tl(i.ownerDocument.body).height-(s.top+e.top+e.height)-24}_findPositionPreference(t,i){var e,s;const n=Math.min(null!==(e=this._availableVerticalSpaceBelow(i))&&void 0!==e?e:1/0,t),o=Math.min(null!==(s=this._availableVerticalSpaceAbove(i))&&void 0!==s?s:1/0,t),r=Math.min(Math.max(o,n),t),h=Math.min(t,r);let c;return c=this._editor.getOption(60).above?h<=o?1:2:h<=n?2:1,1===c?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),c}_resize(t){this._resizableNode.layout(t.height,t.width)}}var wX,vX,bX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},yX=function(t,i){return function(e,s){i(e,s,t)}};const kX=$l;let xX=wX=class extends ie{constructor(t,i,e){super(),this._editor=t,this._instantiationService=i,this._keybindingService=e,this._currentResult=null,this._widget=this._register(this._instantiationService.createInstance(EX,this._editor)),this._participants=[];for(const t of pX.getAll())this._participants.push(this._instantiationService.createInstance(t,this._editor));this._participants.sort(((t,i)=>t.hoverOrdinal-i.hoverOrdinal)),this._computer=new MX(this._editor,this._participants),this._hoverOperation=this._register(new uX(this._editor,this._computer)),this._register(this._hoverOperation.onResult((t=>{if(!this._computer.anchor)return;const i=t.hasLoadingMessage?this._addLoadingMessage(t.value):t.value;this._withResult(new CX(this._computer.anchor,i,t.isComplete))}))),this._register(qa(this._widget.getDomNode(),"keydown",(t=>{t.equals(9)&&this.hide()}))),this._register(Zs.onDidChange((()=>{this._widget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)})))}get widget(){return this._widget}maybeShowAt(t){if(this._widget.isResizing)return!0;const i=[];for(const e of this._participants)if(e.suggestHoverAnchor){const s=e.suggestHoverAnchor(t);s&&i.push(s)}const e=t.target;if(6===e.type&&i.push(new dX(0,e.range,t.event.posx,t.event.posy)),7===e.type){const s=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;!e.detail.isAfterLines&&"number"==typeof e.detail.horizontalDistanceToText&&e.detail.horizontalDistanceToTexti.priority-t.priority)),this._startShowingOrUpdateHover(i[0],0,0,!1,t))}startShowingAtRange(t,i,e,s){this._startShowingOrUpdateHover(new dX(0,t,void 0,void 0),i,e,s,null)}_startShowingOrUpdateHover(t,i,e,s,n){return this._widget.position&&this._currentResult?this._editor.getOption(60).sticky&&n&&this._widget.isMouseGettingCloser(n.event.posx,n.event.posy)?(t&&this._startHoverOperationIfNecessary(t,i,e,s,!0),!0):t?!(!t||!this._currentResult.anchor.equals(t))||(t.canAdoptVisibleHover(this._currentResult.anchor,this._widget.position)?(this._setCurrentResult(this._currentResult.filter(t)),this._startHoverOperationIfNecessary(t,i,e,s,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(t,i,e,s,!1),!0)):(this._setCurrentResult(null),!1):!!t&&(this._startHoverOperationIfNecessary(t,i,e,s,!1),!0)}_startHoverOperationIfNecessary(t,i,e,s,n){this._computer.anchor&&this._computer.anchor.equals(t)||(this._hoverOperation.cancel(),this._computer.anchor=t,this._computer.shouldFocus=s,this._computer.source=e,this._computer.insistOnKeepingHoverVisible=n,this._hoverOperation.start(i))}_setCurrentResult(t){this._currentResult!==t&&(t&&0===t.messages.length&&(t=null),this._currentResult=t,this._currentResult?this._renderMessages(this._currentResult.anchor,this._currentResult.messages):this._widget.hide())}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}get isColorPickerVisible(){return this._widget.isColorPickerVisible}get isVisibleFromKeyboard(){return this._widget.isVisibleFromKeyboard}get isVisible(){return this._widget.isVisible}get isFocused(){return this._widget.isFocused}get isResizing(){return this._widget.isResizing}containsNode(t){return!!t&&this._widget.getDomNode().contains(t)}_addLoadingMessage(t){if(this._computer.anchor)for(const i of this._participants)if(i.createLoadingMessage){const e=i.createLoadingMessage(this._computer.anchor);if(e)return t.slice(0).concat([e])}return t}_withResult(t){if(this._widget.position&&this._currentResult&&this._currentResult.isComplete){if(!t.isComplete)return;if(this._computer.insistOnKeepingHoverVisible&&0===t.messages.length)return}this._setCurrentResult(t)}_renderMessages(t,i){const{showAtPosition:e,showAtSecondaryPosition:s,highlightRange:n}=wX.computeHoverRanges(this._editor,t.range,i),o=new te,r=o.add(new AX(this._keybindingService)),h=document.createDocumentFragment();let c=null;const a={fragment:h,statusBar:r,setColorPicker:t=>c=t,onContentsChanged:()=>this._widget.onContentsChanged(),setMinimumDimensions:t=>this._widget.setMinimumDimensions(t),hide:()=>this.hide()};for(const t of this._participants){const e=i.filter((i=>i.owner===t));e.length>0&&o.add(t.renderHoverParts(a,e))}const l=i.some((t=>t.isBeforeContent));if(r.hasContent&&h.appendChild(r.hoverElement),h.hasChildNodes()){if(n){const t=this._editor.createDecorationsCollection();t.set([{range:n,options:wX._DECORATION_OPTIONS}]),o.add(Xi((()=>{t.clear()})))}this._widget.showAt(h,new DX(c,e,s,this._editor.getOption(60).above,this._computer.shouldFocus,this._computer.source,l,t.initialMousePosX,t.initialMousePosY,o))}else o.dispose()}static computeHoverRanges(t,i,e){let s=1;if(t.hasModel()){const e=t._getViewModel(),n=e.coordinatesConverter,o=n.convertModelRangeToViewRange(i),r=new As(o.startLineNumber,e.getLineMinColumn(o.startLineNumber));s=n.convertViewPositionToModelPosition(r).column}const n=i.startLineNumber;let o=i.startColumn,r=e[0].range,h=null;for(const t of e)r=Ms.plusRange(r,t.range),t.range.startLineNumber===n&&t.range.endLineNumber===n&&(o=Math.max(Math.min(o,t.range.startColumn),s)),t.forceShowAtRange&&(h=t.range);return{showAtPosition:h?h.getStartPosition():new As(n,i.startColumn),showAtSecondaryPosition:h?h.getStartPosition():new As(n,o),highlightRange:r}}focus(){this._widget.focus()}scrollUp(){this._widget.scrollUp()}scrollDown(){this._widget.scrollDown()}scrollLeft(){this._widget.scrollLeft()}scrollRight(){this._widget.scrollRight()}pageUp(){this._widget.pageUp()}pageDown(){this._widget.pageDown()}goToTop(){this._widget.goToTop()}goToBottom(){this._widget.goToBottom()}};xX._DECORATION_OPTIONS=bL.register({description:"content-hover-highlight",className:"hoverHighlight"}),xX=wX=bX([yX(1,ur),yX(2,Yx)],xX);class CX{constructor(t,i,e){this.anchor=t,this.messages=i,this.isComplete=e}filter(t){const i=this.messages.filter((i=>i.isValidForHoverAnchor(t)));return i.length===this.messages.length?this:new SX(this,this.anchor,i,this.isComplete)}}class SX extends CX{constructor(t,i,e,s){super(i,e,s),this.original=t}filter(t){return this.original.filter(t)}}class DX{constructor(t,i,e,s,n,o,r,h,c,a){this.colorPicker=t,this.showAtPosition=i,this.showAtSecondaryPosition=e,this.preferAbove=s,this.stoleFocus=n,this.source=o,this.isBeforeContent=r,this.initialMousePosX=h,this.initialMousePosY=c,this.disposables=a,this.closestMouseDistance=void 0}}let EX=vX=class extends mX{get isColorPickerVisible(){var t;return Boolean(null===(t=this._visibleData)||void 0===t?void 0:t.colorPicker)}get isVisibleFromKeyboard(){var t;return 1===(null===(t=this._visibleData)||void 0===t?void 0:t.source)}get isVisible(){var t;return null!==(t=this._hoverVisibleKey.get())&&void 0!==t&&t}get isFocused(){var t;return null!==(t=this._hoverFocusedKey.get())&&void 0!==t&&t}constructor(t,i,e,s,n){const o=t.getOption(66)+8,r=new el(150,o);super(t,r),this._configurationService=e,this._accessibilityService=s,this._keybindingService=n,this._hover=this._register(new cX),this._minimumSize=r,this._hoverVisibleKey=UC.hoverVisible.bindTo(i),this._hoverFocusedKey=UC.hoverFocused.bindTo(i),Ol(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange((()=>{this.isVisible&&this._updateMaxDimensions()}))),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._updateFont()})));const h=this._register(Rl(this._resizableNode.domNode));this._register(h.onDidFocus((()=>{this._hoverFocusedKey.set(!0)}))),this._register(h.onDidBlur((()=>{this._hoverFocusedKey.set(!1)}))),this._setHoverData(void 0),this._editor.addContentWidget(this)}dispose(){var t;super.dispose(),null===(t=this._visibleData)||void 0===t||t.disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return vX.ID}static _applyDimensions(t,i,e){const s="number"==typeof e?`${e}px`:e;t.style.width="number"==typeof i?`${i}px`:i,t.style.height=s}_setContentsDomNodeDimensions(t,i){return vX._applyDimensions(this._hover.contentsDomNode,t,i)}_setContainerDomNodeDimensions(t,i){return vX._applyDimensions(this._hover.containerDomNode,t,i)}_setHoverWidgetDimensions(t,i){this._setContentsDomNodeDimensions(t,i),this._setContainerDomNodeDimensions(t,i),this._layoutContentWidget()}static _applyMaxDimensions(t,i,e){const s="number"==typeof e?`${e}px`:e;t.style.maxWidth="number"==typeof i?`${i}px`:i,t.style.maxHeight=s}_setHoverWidgetMaxDimensions(t,i){vX._applyMaxDimensions(this._hover.contentsDomNode,t,i),vX._applyMaxDimensions(this._hover.containerDomNode,t,i),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth","number"==typeof t?`${t}px`:t),this._layoutContentWidget()}_hasHorizontalScrollbar(){const t=this._hover.scrollbar.getScrollDimensions();return t.scrollWidth>t.width}_adjustContentsBottomPadding(){const t=this._hover.contentsDomNode,i=`${this._hover.scrollbar.options.horizontalScrollbarSize}px`;t.style.paddingBottom!==i&&(t.style.paddingBottom=i)}_setAdjustedHoverWidgetDimensions(t){this._setHoverWidgetMaxDimensions("none","none");const i=t.width,e=t.height;this._setHoverWidgetDimensions(i,e),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._setContentsDomNodeDimensions(i,e-10))}_updateResizableNodeMaxDimensions(){var t,i;const e=null!==(t=this._findMaximumRenderingWidth())&&void 0!==t?t:1/0,s=null!==(i=this._findMaximumRenderingHeight())&&void 0!==i?i:1/0;this._resizableNode.maxSize=new el(e,s),this._setHoverWidgetMaxDimensions(e,s)}_resize(t){var i,e;vX._lastDimensions=new el(t.width,t.height),this._setAdjustedHoverWidgetDimensions(t),this._resizableNode.layout(t.height,t.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),null===(e=null===(i=this._visibleData)||void 0===i?void 0:i.colorPicker)||void 0===e||e.layout()}_findAvailableSpaceVertically(){var t;const i=null===(t=this._visibleData)||void 0===t?void 0:t.showAtPosition;if(i)return 1===this._positionPreference?this._availableVerticalSpaceAbove(i):this._availableVerticalSpaceBelow(i)}_findMaximumRenderingHeight(){const t=this._findAvailableSpaceVertically();if(!t)return;let i=6;return Array.from(this._hover.contentsDomNode.children).forEach((t=>{i+=t.clientHeight})),this._hasHorizontalScrollbar()&&(i+=10),Math.min(t,i)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const t=Array.from(this._hover.contentsDomNode.children).some((t=>t.scrollWidth>t.clientWidth));return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),t}_findMaximumRenderingWidth(){if(this._editor&&this._editor.hasModel())return this._isHoverTextOverflowing()||this._hover.containerDomNode.clientWidth<(void 0===this._contentWidth?0:this._contentWidth-2)?tl(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth+2}isMouseGettingCloser(t,i){if(!this._visibleData)return!1;if(void 0===this._visibleData.initialMousePosX||void 0===this._visibleData.initialMousePosY)return this._visibleData.initialMousePosX=t,this._visibleData.initialMousePosY=i,!1;const e=nl(this.getDomNode());void 0===this._visibleData.closestMouseDistance&&(this._visibleData.closestMouseDistance=LX(this._visibleData.initialMousePosX,this._visibleData.initialMousePosY,e.left,e.top,e.width,e.height));const s=LX(t,i,e.left,e.top,e.width,e.height);return!(s>this._visibleData.closestMouseDistance+4||(this._visibleData.closestMouseDistance=Math.min(this._visibleData.closestMouseDistance,s),0))}_setHoverData(t){var i;null===(i=this._visibleData)||void 0===i||i.disposables.dispose(),this._visibleData=t,this._hoverVisibleKey.set(!!t),this._hover.containerDomNode.classList.toggle("hidden",!t)}_updateFont(){const{fontSize:t,lineHeight:i}=this._editor.getOption(50),e=this._hover.contentsDomNode;e.style.fontSize=`${t}px`,e.style.lineHeight=""+i/t,Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((t=>this._editor.applyFontInfo(t)))}_updateContent(t){const i=this._hover.contentsDomNode;i.style.paddingBottom="",i.textContent="",i.appendChild(t)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const t=Math.max(this._editor.getLayoutInfo().height/4,250,vX._lastDimensions.height),i=Math.max(.66*this._editor.getLayoutInfo().width,500,vX._lastDimensions.width);this._setHoverWidgetMaxDimensions(i,t)}_render(t,i){this._setHoverData(i),this._updateFont(),this._updateContent(t),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){var t;return this._visibleData?{position:this._visibleData.showAtPosition,secondaryPosition:this._visibleData.showAtSecondaryPosition,positionAffinity:this._visibleData.isBeforeContent?3:void 0,preference:[null!==(t=this._positionPreference)&&void 0!==t?t:1]}:null}showAt(t,i){var e,s,n,o;if(!this._editor||!this._editor.hasModel())return;this._render(t,i);const r=cl(this._hover.containerDomNode);this._positionPreference=null!==(e=this._findPositionPreference(r,i.showAtPosition))&&void 0!==e?e:1,this.onContentsChanged(),i.stoleFocus&&this._hover.containerDomNode.focus(),null===(s=i.colorPicker)||void 0===s||s.layout();const h=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&(c=!0===this._configurationService.getValue("accessibility.verbosity.hover")&&this._accessibilityService.isScreenReaderOptimized(),a=null!==(o=null===(n=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))||void 0===n?void 0:n.getAriaLabel())&&void 0!==o?o:"",c&&a?rt(0,"Inspect this in the accessible view with {0}.",a):c?rt(0,"Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):"");var c,a;h&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+h)}hide(){if(!this._visibleData)return;const t=this._visibleData.stoleFocus||this._hoverFocusedKey.get();this._setHoverData(void 0),this._resizableNode.maxSize=new el(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),t&&this._editor.focus()}_removeConstraintsRenderNormally(){const t=this._editor.getLayoutInfo();this._resizableNode.layout(t.height,t.width),this._setHoverWidgetDimensions("auto","auto")}_adjustHoverHeightForScrollbar(t){var i;const e=this._hover.containerDomNode,s=this._hover.contentsDomNode,n=null!==(i=this._findMaximumRenderingHeight())&&void 0!==i?i:1/0;this._setContainerDomNodeDimensions(ol(e),Math.min(n,t)),this._setContentsDomNodeDimensions(ol(s),Math.min(n,t-10))}setMinimumDimensions(t){this._minimumSize=new el(Math.max(this._minimumSize.width,t.width),Math.max(this._minimumSize.height,t.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const t=void 0===this._contentWidth?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new el(t,this._minimumSize.height)}onContentsChanged(){var t;this._removeConstraintsRenderNormally();const i=this._hover.containerDomNode;let e=cl(i),s=ol(i);if(this._resizableNode.layout(e,s),this._setHoverWidgetDimensions(s,e),e=cl(i),s=ol(i),this._contentWidth=s,this._updateMinimumWidth(),this._resizableNode.layout(e,s),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._adjustHoverHeightForScrollbar(e)),null===(t=this._visibleData)||void 0===t?void 0:t.showAtPosition){const t=cl(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(t,this._visibleData.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:t-i.lineHeight})}scrollDown(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:t+i.lineHeight})}scrollLeft(){const t=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:t-30})}scrollRight(){const t=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:t+30})}pageUp(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:t-i})}pageDown(){const t=this._hover.scrollbar.getScrollPosition().scrollTop,i=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:t+i})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};EX.ID="editor.contrib.resizableContentHoverWidget",EX._lastDimensions=new el(0,0),EX=vX=bX([yX(1,ah),yX(2,pd),yX(3,zm),yX(4,Yx)],EX);let AX=class extends ie{get hasContent(){return this._hasContent}constructor(t){super(),this._keybindingService=t,this._hasContent=!1,this.hoverElement=kX("div.hover-row.status-bar"),this.actionsElement=Ol(this.hoverElement,kX("div.actions"))}addAction(t){const i=this._keybindingService.lookupKeybinding(t.commandId),e=i?i.getLabel():null;return this._hasContent=!0,this._register(aX.render(this.actionsElement,t,e))}append(t){const i=Ol(this.actionsElement,t);return this._hasContent=!0,i}};AX=bX([yX(0,Yx)],AX);class MX{get anchor(){return this._anchor}set anchor(t){this._anchor=t}get shouldFocus(){return this._shouldFocus}set shouldFocus(t){this._shouldFocus=t}get source(){return this._source}set source(t){this._source=t}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(t){this._insistOnKeepingHoverVisible=t}constructor(t,i){this._editor=t,this._participants=i,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(t,i){if(1!==i.type&&!i.supportsMarkerHover)return[];const e=t.getModel(),s=i.range.startLineNumber;if(s>e.getLineCount())return[];const n=e.getLineMaxColumn(s);return t.getLineDecorations(s).filter((t=>{if(t.options.isWholeLine)return!0;const e=t.range.startLineNumber===s?t.range.startColumn:1,o=t.range.endLineNumber===s?t.range.endColumn:n;if(t.options.showIfCollapsed){if(e>i.range.startColumn+1||i.range.endColumn-1>o)return!1}else if(e>i.range.startColumn||i.range.endColumn>o)return!1;return!0}))}computeAsync(t){const i=this._anchor;if(!this._editor.hasModel()||!i)return kc.EMPTY;const e=MX._getLineDecorations(this._editor,i);return kc.merge(this._participants.map((s=>s.computeAsync?s.computeAsync(i,e,t):kc.EMPTY)))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const t=MX._getLineDecorations(this._editor,this._anchor);let i=[];for(const e of this._participants)i=i.concat(e.computeSync(this._anchor,t));return w(i)}}function LX(t,i,e,s,n,o){const r=s+o/2,h=Math.max(Math.abs(t-(e+n/2))-n/2,0),c=Math.max(Math.abs(i-r)-o/2,0);return Math.sqrt(h*h+c*c)}const FX=$l;class TX extends ie{constructor(t,i,e){super(),this._renderDisposeables=this._register(new te),this._editor=t,this._isVisible=!1,this._messages=[],this._hover=this._register(new cX),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new eQ({editor:this._editor},i,e)),this._computer=new RX(this._editor),this._hoverOperation=this._register(new uX(this._editor,this._computer)),this._register(this._hoverOperation.onResult((t=>{this._withResult(t.value)}))),this._register(this._editor.onDidChangeModelDecorations((()=>this._onModelDecorationsChanged()))),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._updateFont()}))),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return TX.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach((t=>this._editor.applyFontInfo(t)))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}startShowingAt(t){this._computer.lineNumber!==t&&(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(t){this._messages=t,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(t,i){this._renderDisposeables.clear();const e=document.createDocumentFragment();for(const t of i){const i=FX("div.hover-row.markdown-hover"),s=Ol(i,FX("div.hover-contents")),n=this._renderDisposeables.add(this._markdownRenderer.render(t.value));s.appendChild(n.element),e.appendChild(i)}this._updateContents(e),this._showAt(t)}_updateContents(t){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(t),this._updateFont()}_showAt(t){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const i=this._editor.getLayoutInfo(),e=this._editor.getTopForLineNumber(t),s=this._editor.getScrollTop(),n=this._editor.getOption(66),o=e-s-(this._hover.containerDomNode.clientHeight-n)/2;this._hover.containerDomNode.style.left=`${i.glyphMarginLeft+i.glyphMarginWidth}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(o),0)}px`}}TX.ID="editor.contrib.modesGlyphHoverWidget";class RX{get lineNumber(){return this._lineNumber}set lineNumber(t){this._lineNumber=t}constructor(t){this._editor=t,this._lineNumber=-1}computeSync(){const t=t=>({value:t}),i=this._editor.getLineDecorations(this._lineNumber),e=[];if(!i)return e;for(const s of i){if(!s.options.glyphMarginClassName)continue;const i=s.options.glyphMarginHoverMessage;i&&!L_(i)&&e.push(...M(i).map(t))}return e}}class OX{constructor(t,i,e){this.provider=t,this.hover=i,this.ordinal=e}}function IX(t,i,e,s){const n=t.ordered(i).map(((t,n)=>async function(t,i,e,s,n){try{const o=await Promise.resolve(t.provideHover(e,s,n));if(o&&function(t){return void 0!==t.range&&void 0!==t.contents&&t.contents&&t.contents.length>0}(o))return new OX(t,o,i)}catch(t){$i(t)}}(t,n,i,e,s)));return kc.fromPromises(n).coalesce()}ru("_executeHoverProvider",((t,i,e)=>function(t,i,e){return IX(t,i,e,xe.None).map((t=>t.hover)).toPromise()}(t.get(gg).hoverProvider,i,e)));var _X=function(t,i){return function(e,s){i(e,s,t)}};const NX=$l;class BX{constructor(t,i,e,s,n){this.owner=t,this.range=i,this.contents=e,this.isBeforeContent=s,this.ordinal=n}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let PX=class{constructor(t,i,e,s,n){this._editor=t,this._languageService=i,this._openerService=e,this._configurationService=s,this._languageFeaturesService=n,this.hoverOrdinal=3}createLoadingMessage(t){return new BX(this,t.range,[(new M_).appendText(rt(0,"Loading..."))],!1,2e3)}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type)return[];const e=this._editor.getModel(),s=t.range.startLineNumber,n=e.getLineMaxColumn(s),o=[];let r=1e3;const h=e.getLineLength(s),c=e.getLanguageIdAtPosition(t.range.startLineNumber,t.range.startColumn),a=this._editor.getOption(116),l=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:c});let u=!1;a>=0&&h>a&&t.range.startColumn>=a&&(u=!0,o.push(new BX(this,t.range,[{value:rt(0,"Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,r++))),!u&&"number"==typeof l&&h>=l&&o.push(new BX(this,t.range,[{value:rt(0,"Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,r++));let d=!1;for(const e of i){const i=e.range.startLineNumber===s?e.range.startColumn:1,h=e.range.endLineNumber===s?e.range.endColumn:n,c=e.options.hoverMessage;if(!c||L_(c))continue;e.options.beforeContentClassName&&(d=!0);const a=new Ms(t.range.startLineNumber,i,t.range.startLineNumber,h);o.push(new BX(this,a,M(c),d,r++))}return o}computeAsync(t,i,e){if(!this._editor.hasModel()||1!==t.type)return kc.EMPTY;const s=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(s))return kc.EMPTY;const n=new As(t.range.startLineNumber,t.range.startColumn);return IX(this._languageFeaturesService.hoverProvider,s,n,e).filter((t=>!L_(t.hover.contents))).map((i=>{const e=i.hover.range?Ms.lift(i.hover.range):t.range;return new BX(this,e,i.hover.contents,!1,i.ordinal)}))}renderHoverParts(t,i){return $X(t,i,this._editor,this._languageService,this._openerService)}};function $X(t,i,e,s,n){i.sort(((t,i)=>t.ordinal-i.ordinal));const o=new te;for(const r of i)for(const i of r.contents){if(L_(i))continue;const r=NX("div.hover-row.markdown-hover"),h=Ol(r,NX("div.hover-contents")),c=o.add(new eQ({editor:e},s,n));o.add(c.onDidRenderAsync((()=>{h.className="hover-contents code-hover-contents",t.onContentsChanged()})));const a=o.add(c.render(i));h.appendChild(a.element),t.fragment.appendChild(r)}return o}PX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([_X(1,yd),_X(2,nP),_X(3,pd),_X(4,gg)],PX);var WX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},jX=function(t,i){return function(e,s){i(e,s,t)}};class zX{constructor(t,i,e){this.marker=t,this.index=i,this.total=e}}let HX=class{constructor(t,i,e){this._markerService=i,this._configService=e,this._onDidChange=new fe,this.onDidChange=this._onDidChange.event,this._dispoables=new te,this._markers=[],this._nextIdx=-1,ms.isUri(t)?this._resourceFilter=i=>i.toString()===t.toString():t&&(this._resourceFilter=t);const s=this._configService.getValue("problems.sortOrder"),n=(t,i)=>{let e=so(t.resource.toString(),i.resource.toString());return 0===e&&(e="position"===s?Ms.compareRangesUsingStarts(t,i)||uP.compare(t.severity,i.severity):uP.compare(t.severity,i.severity)||Ms.compareRangesUsingStarts(t,i)),e},o=()=>{this._markers=this._markerService.read({resource:ms.isUri(t)?t:void 0,severities:uP.Error|uP.Warning|uP.Info}),"function"==typeof t&&(this._markers=this._markers.filter((t=>this._resourceFilter(t.resource)))),this._markers.sort(n)};o(),this._dispoables.add(i.onMarkerChanged((t=>{this._resourceFilter&&!t.some((t=>this._resourceFilter(t)))||(o(),this._nextIdx=-1,this._onDidChange.fire())})))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(t){return!this._resourceFilter&&!t||!(!this._resourceFilter||!t)&&this._resourceFilter(t)}get selected(){const t=this._markers[this._nextIdx];return t&&new zX(t,this._nextIdx+1,this._markers.length)}_initIdx(t,i,e){let s=!1,n=this._markers.findIndex((i=>i.resource.toString()===t.uri.toString()));n<0&&(n=d(this._markers,{resource:t.uri},((t,i)=>so(t.resource.toString(),i.resource.toString()))),n<0&&(n=~n));for(let e=n;ei.resource.toString()===t.toString()));if(!(e<0))for(;e{t.preventDefault();const i=this._relatedDiagnostics.get(t.target);i&&e(i)}))),this._scrollable=new xk(o,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),t.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll((t=>{o.style.left=`-${t.scrollLeft}px`,o.style.top=`-${t.scrollTop}px`}))),this._disposables.add(this._scrollable)}dispose(){Ji(this._disposables)}update(t){const{source:i,message:e,relatedInformation:s,code:n}=t;let o=((null==i?void 0:i.length)||0)+2;n&&(o+="string"==typeof n?n.length:n.value.length);const r=Xn(e);this._lines=r.length,this._longestLineLength=0;for(const t of r)this._longestLineLength=Math.max(t.length+o,this._longestLineLength);za(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(t)),this._editor.applyFontInfo(this._messageBlock);let h=this._messageBlock;for(const t of r)h=document.createElement("div"),h.innerText=t,""===t&&(h.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(h);if(i||n){const t=document.createElement("span");if(t.classList.add("details"),h.appendChild(t),i){const e=document.createElement("span");e.innerText=i,e.classList.add("source"),t.appendChild(e)}if(n)if("string"==typeof n){const i=document.createElement("span");i.innerText=`(${n})`,i.classList.add("code"),t.appendChild(i)}else this._codeLink=$l("a.code-link"),this._codeLink.setAttribute("href",`${n.target.toString()}`),this._codeLink.onclick=t=>{this._openerService.open(n.target,{allowCommands:!0}),t.preventDefault(),t.stopPropagation()},Ol(this._codeLink,$l("span")).innerText=n.value,t.appendChild(this._codeLink)}if(za(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),y(s)){const t=this._relatedBlock.appendChild(document.createElement("div"));t.style.paddingTop=`${Math.floor(.66*this._editor.getOption(66))}px`,this._lines+=1;for(const i of s){const e=document.createElement("div"),s=document.createElement("a");s.classList.add("filename"),s.innerText=`${this._labelService.getUriBasenameLabel(i.resource)}(${i.startLineNumber}, ${i.startColumn}): `,s.title=this._labelService.getUriLabel(i.resource),this._relatedDiagnostics.set(s,i);const n=document.createElement("span");n.innerText=i.message,e.appendChild(s),e.appendChild(n),this._lines+=1,t.appendChild(e)}}const c=this._editor.getOption(50),a=Math.ceil(c.typicalFullwidthCharacterWidth*this._longestLineLength*.75);this._scrollable.setScrollDimensions({scrollWidth:a,scrollHeight:c.lineHeight*this._lines})}layout(t,i){this._scrollable.getDomNode().style.height=`${t}px`,this._scrollable.getDomNode().style.width=`${i}px`,this._scrollable.setScrollDimensions({width:i,height:t})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(t){let i="";switch(t.severity){case uP.Error:i=rt(0,"Error");break;case uP.Warning:i=rt(0,"Warning");break;case uP.Info:i=rt(0,"Info");break;case uP.Hint:i=rt(0,"Hint")}let e=rt(0,"{0} at {1}. ",i,t.startLineNumber+":"+t.startColumn);const s=this._editor.getModel();return s&&t.startLineNumber<=s.getLineCount()&&t.startLineNumber>=1&&(e=`${s.getLineContent(t.startLineNumber)}, ${e}`),e}}let QX=KX=class extends QJ{constructor(t,i,e,s,n,o,r){super(t,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},n),this._themeService=i,this._openerService=e,this._menuService=s,this._contextKeyService=o,this._labelService=r,this._callOnDispose=new te,this._onDidSelectRelatedInformation=new fe,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=uP.Warning,this._backgroundColor=sg.white,this._applyTheme(i.getColorTheme()),this._callOnDispose.add(i.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(t){this._backgroundColor=t.getColor(r0);let i=t0,e=i0;this._severity===uP.Warning?(i=e0,e=s0):this._severity===uP.Info&&(i=n0,e=o0);const s=t.getColor(i),n=t.getColor(e);this.style({arrowColor:s,frameColor:s,headerBackgroundColor:n,primaryHeadingColor:t.getColor(YJ),secondaryHeadingColor:t.getColor(XJ)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(t){super._fillHead(t),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun((()=>this.editor.focus())));const i=[],e=this._menuService.createMenu(KX.TitleMenu,this._contextKeyService);BB(e,void 0,i),this._actionbarWidget.push(i,{label:!1,icon:!0,index:0}),e.dispose()}_fillTitleIcon(t){this._icon=Ol(t,$l(""))}_fillBody(t){this._parentContainer=t,t.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),t.appendChild(this._container),this._message=new ZX(this._container,this.editor,(t=>this._onDidSelectRelatedInformation.fire(t)),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(t,i,e){this._container.classList.remove("stale"),this._message.update(t),this._severity=t.severity,this._applyTheme(this._themeService.getColorTheme());const s=Ms.lift(t),n=this.editor.getPosition(),o=n&&s.containsPosition(n)?n:s.getStartPosition();super.show(o,this.computeRequiredHeight());const r=this.editor.getModel();if(r){const t=rt(0,e>1?"{0} of {1} problems":"{0} of {1} problem",i,e);this.setTitle(uA(r.uri),t)}this._icon.className=`codicon ${qX.className(uP.toSeverity(this._severity))}`,this.editor.revealPositionNearTop(o,0),this.editor.focus()}updateMarker(t){this._container.classList.remove("stale"),this._message.update(t)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(t,i){super._doLayoutBody(t,i),this._heightInPixel=t,this._message.layout(t,i),this._container.style.height=`${t}px`}_onWidth(t){this._message.layout(this._heightInPixel,t)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};QX.TitleMenu=new Rh("gotoErrorTitleMenu"),QX=KX=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([GX(1,qk),GX(2,nP),GX(3,Oh),GX(4,ur),GX(5,ah),GX(6,TO)],QX);const JX=ny(Zw,Qw),YX=ny(Jw,Yw),XX=ny(Xw,tv),t0=ow("editorMarkerNavigationError.background",{dark:JX,light:JX,hcDark:lw,hcLight:lw},rt(0,"Editor marker navigation widget error color.")),i0=ow("editorMarkerNavigationError.headerBackground",{dark:sy(t0,.1),light:sy(t0,.1),hcDark:null,hcLight:null},rt(0,"Editor marker navigation widget error heading background.")),e0=ow("editorMarkerNavigationWarning.background",{dark:YX,light:YX,hcDark:lw,hcLight:lw},rt(0,"Editor marker navigation widget warning color.")),s0=ow("editorMarkerNavigationWarning.headerBackground",{dark:sy(e0,.1),light:sy(e0,.1),hcDark:"#0C141F",hcLight:sy(e0,.2)},rt(0,"Editor marker navigation widget warning heading background.")),n0=ow("editorMarkerNavigationInfo.background",{dark:XX,light:XX,hcDark:lw,hcLight:lw},rt(0,"Editor marker navigation widget info color.")),o0=ow("editorMarkerNavigationInfo.headerBackground",{dark:sy(n0,.1),light:sy(n0,.1),hcDark:null,hcLight:null},rt(0,"Editor marker navigation widget info heading background.")),r0=ow("editorMarkerNavigation.background",{dark:ev,light:ev,hcDark:ev,hcLight:ev},rt(0,"Editor marker navigation widget background."));var h0,c0=function(t,i){return function(e,s){i(e,s,t)}};let a0=h0=class{static get(t){return t.getContribution(h0.ID)}constructor(t,i,e,s,n){this._markerNavigationService=i,this._contextKeyService=e,this._editorService=s,this._instantiationService=n,this._sessionDispoables=new te,this._editor=t,this._widgetVisible=f0.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(t){if(this._model&&this._model.matches(t))return this._model;let i=!1;return this._model&&(i=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(t),i&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(QX,this._editor),this._widget.onDidClose((()=>this.close()),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition((t=>{var i,e,s;(null===(i=this._model)||void 0===i?void 0:i.selected)&&Ms.containsPosition(null===(e=this._model)||void 0===e?void 0:e.selected.marker,t.position)||null===(s=this._model)||void 0===s||s.resetIndex()}))),this._sessionDispoables.add(this._model.onDidChange((()=>{if(!this._widget||!this._widget.position||!this._model)return;const t=this._model.find(this._editor.getModel().uri,this._widget.position);t?this._widget.updateMarker(t.marker):this._widget.showStale()}))),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation((t=>{this._editorService.openCodeEditor({resource:t.resource,options:{pinned:!0,revealIfOpened:!0,selection:Ms.lift(t).collapseToStart()}},this._editor),this.close(!1)}))),this._sessionDispoables.add(this._editor.onDidChangeModel((()=>this._cleanUp()))),this._model}close(t=!0){this._cleanUp(),t&&this._editor.focus()}showAtMarker(t){if(this._editor.hasModel()){const i=this._getOrCreateModel(this._editor.getModel().uri);i.resetIndex(),i.move(!0,this._editor.getModel(),new As(t.startLineNumber,t.startColumn)),i.selected&&this._widget.showAtMarker(i.selected.marker,i.selected.index,i.selected.total)}}async nagivate(t,i){var e,s;if(this._editor.hasModel()){const n=this._getOrCreateModel(i?void 0:this._editor.getModel().uri);if(n.move(t,this._editor.getModel(),this._editor.getPosition()),!n.selected)return;if(n.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const o=await this._editorService.openCodeEditor({resource:n.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:n.selected.marker}},this._editor);o&&(null===(e=h0.get(o))||void 0===e||e.close(),null===(s=h0.get(o))||void 0===s||s.nagivate(t,i))}else this._widget.showAtMarker(n.selected.marker,n.selected.index,n.selected.total)}}};a0.ID="editor.contrib.markerController",a0=h0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([c0(1,VX),c0(2,ah),c0(3,fr),c0(4,ur)],a0);class l0 extends su{constructor(t,i,e){super(e),this._next=t,this._multiFile=i}async run(t,i){var e;i.hasModel()&&(null===(e=a0.get(i))||void 0===e||e.nagivate(this._next,this._multiFile))}}class u0 extends l0{constructor(){super(!0,!1,{id:u0.ID,label:u0.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:578,weight:100},menuOpts:{menuId:QX.TitleMenu,title:u0.LABEL,icon:_z("marker-navigation-next",Os.arrowDown,rt(0,"Icon for goto next marker.")),group:"navigation",order:1}})}}u0.ID="editor.action.marker.next",u0.LABEL=rt(0,"Go to Next Problem (Error, Warning, Info)");class d0 extends l0{constructor(){super(!1,!1,{id:d0.ID,label:d0.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:1602,weight:100},menuOpts:{menuId:QX.TitleMenu,title:d0.LABEL,icon:_z("marker-navigation-previous",Os.arrowUp,rt(0,"Icon for goto previous marker.")),group:"navigation",order:2}})}}d0.ID="editor.action.marker.prev",d0.LABEL=rt(0,"Go to Previous Problem (Error, Warning, Info)"),lu(a0.ID,a0,4),cu(u0),cu(d0),cu(class extends l0{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:rt(0,"Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:66,weight:100},menuOpts:{menuId:Rh.MenubarGoMenu,title:rt(0,"Next &&Problem"),group:"6_problem_nav",order:1}})}}),cu(class extends l0{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:rt(0,"Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:1090,weight:100},menuOpts:{menuId:Rh.MenubarGoMenu,title:rt(0,"Previous &&Problem"),group:"6_problem_nav",order:2}})}});const f0=new ch("markersNavigationVisible",!1);hu(new(eu.bindToContribution(a0.get))({id:"closeMarkersNavigation",precondition:f0,handler:t=>t.close(),kbOpts:{weight:150,kbExpr:UC.focus,primary:9,secondary:[1033]}}));var p0=function(t,i){return function(e,s){i(e,s,t)}};const g0=$l;class m0{constructor(t,i,e){this.owner=t,this.range=i,this.marker=e}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}const w0={type:1,filter:{include:MZ.QuickFix},triggerAction:LZ.QuickFixHover};let v0=class{constructor(t,i,e,s){this._editor=t,this._markerDecorationsService=i,this._openerService=e,this._languageFeaturesService=s,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type&&!t.supportsMarkerHover)return[];const e=this._editor.getModel(),s=t.range.startLineNumber,n=e.getLineMaxColumn(s),o=[];for(const r of i){const i=r.range.startLineNumber===s?r.range.startColumn:1,h=r.range.endLineNumber===s?r.range.endColumn:n,c=this._markerDecorationsService.getMarker(e.uri,r);if(!c)continue;const a=new Ms(t.range.startLineNumber,i,t.range.startLineNumber,h);o.push(new m0(this,a,c))}return o}renderHoverParts(t,i){if(!i.length)return ie.None;const e=new te;i.forEach((i=>t.fragment.appendChild(this.renderMarkerHover(i,e))));const s=1===i.length?i[0]:i.sort(((t,i)=>uP.compare(t.marker.severity,i.marker.severity)))[0];return this.renderMarkerStatusbar(t,s,e),e}renderMarkerHover(t,i){const e=g0("div.hover-row"),s=Ol(e,g0("div.marker.hover-contents")),{source:n,message:o,code:r,relatedInformation:h}=t.marker;this._editor.applyFontInfo(s);const c=Ol(s,g0("span"));if(c.style.whiteSpace="pre-wrap",c.innerText=o,n||r)if(r&&"string"!=typeof r){const t=g0("span");n&&(Ol(t,g0("span")).innerText=n);const e=Ol(t,g0("a.code-link"));e.setAttribute("href",r.target.toString()),i.add(Va(e,"click",(t=>{this._openerService.open(r.target,{allowCommands:!0}),t.preventDefault(),t.stopPropagation()}))),Ol(e,g0("span")).innerText=r.value;const o=Ol(s,t);o.style.opacity="0.6",o.style.paddingLeft="6px"}else{const t=Ol(s,g0("span"));t.style.opacity="0.6",t.style.paddingLeft="6px",t.innerText=n&&r?`${n}(${r})`:n||`(${r})`}if(y(h))for(const{message:t,resource:e,startLineNumber:n,startColumn:o}of h){const r=Ol(s,g0("div"));r.style.marginTop="8px";const h=Ol(r,g0("a"));h.innerText=`${uA(e)}(${n}, ${o}): `,h.style.cursor="pointer",i.add(Va(h,"click",(t=>{t.stopPropagation(),t.preventDefault(),this._openerService&&this._openerService.open(e,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:n,startColumn:o}}}).catch(Pi)})));const c=Ol(r,g0("span"));c.innerText=t,this._editor.applyFontInfo(c)}return e}renderMarkerStatusbar(t,i,e){if(i.marker.severity!==uP.Error&&i.marker.severity!==uP.Warning&&i.marker.severity!==uP.Info||t.statusBar.addAction({label:rt(0,"View Problem"),commandId:u0.ID,run:()=>{var e;t.hide(),null===(e=a0.get(this._editor))||void 0===e||e.showAtMarker(i.marker),this._editor.focus()}}),!this._editor.getOption(90)){const s=t.statusBar.append(g0("div"));this.recentMarkerCodeActionsInfo&&(dP.makeKey(this.recentMarkerCodeActionsInfo.marker)===dP.makeKey(i.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(s.textContent=rt(0,"No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const n=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?ie.None:e.add(lc((()=>s.textContent=rt(0,"Checking for quick fixes...")),200));s.textContent||(s.textContent=String.fromCharCode(160));const o=this.getCodeActions(i.marker);e.add(Xi((()=>o.cancel()))),o.then((o=>{if(n.dispose(),this.recentMarkerCodeActionsInfo={marker:i.marker,hasCodeActions:o.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions)return o.dispose(),void(s.textContent=rt(0,"No quick fixes available"));s.style.display="none";let r=!1;e.add(Xi((()=>{r||o.dispose()}))),t.statusBar.addAction({label:rt(0,"Quick Fix..."),commandId:IZ,run:i=>{r=!0;const e=RQ.get(this._editor),s=nl(i);t.hide(),null==e||e.showCodeActions(w0,o,{x:s.left,y:s.top,width:s.width,height:s.height})}})}),Pi)}}getCodeActions(t){return nc((i=>zZ(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new Ms(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn),w0,OO.None,i)))}};v0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([p0(1,Im),p0(2,nP),p0(3,gg)],v0);const b0="editor.action.inlineSuggest.commit",y0="editor.action.inlineSuggest.showPrevious",k0="editor.action.inlineSuggest.showNext";var x0,C0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},S0=function(t,i){return function(e,s){i(e,s,t)}};let D0=class extends ie{constructor(t,i,e){super(),this.editor=t,this.model=i,this.instantiationService=e,this.alwaysShowToolbar=$V(this.editor.onDidChangeConfiguration,(()=>"always"===this.editor.getOption(62).showToolbar)),this.sessionPosition=void 0,this.position=AV(this,(t=>{var i,e,s;const n=null===(i=this.model.read(t))||void 0===i?void 0:i.ghostText.read(t);if(!this.alwaysShowToolbar.read(t)||!n||0===n.parts.length)return this.sessionPosition=void 0,null;const o=n.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==n.lineNumber&&(this.sessionPosition=void 0);const r=new As(n.lineNumber,Math.min(o,null!==(s=null===(e=this.sessionPosition)||void 0===e?void 0:e.column)&&void 0!==s?s:Number.MAX_SAFE_INTEGER));return this.sessionPosition=r,r})),this._register(_V(((i,e)=>{const s=this.model.read(i);if(!s||!this.alwaysShowToolbar.read(i))return;const n=e.add(this.instantiationService.createInstance(M0,this.editor,!0,this.position,s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.selectedInlineCompletion.map((t=>{var i;return null!==(i=null==t?void 0:t.inlineCompletion.source.inlineCompletions.commands)&&void 0!==i?i:[]}))));t.addContentWidget(n),e.add(Xi((()=>t.removeContentWidget(n)))),e.add(RV((t=>{this.position.read(t)&&s.lastTriggerKind.read(t)!==$s.Explicit&&s.triggerExplicitly()})))})))}};D0=C0([S0(2,ur)],D0);const E0=_z("inline-suggestion-hints-next",Os.chevronRight,rt(0,"Icon for show next parameter hint.")),A0=_z("inline-suggestion-hints-previous",Os.chevronLeft,rt(0,"Icon for show previous parameter hint."));let M0=x0=class extends ie{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(t,i,e){const s=new mr(t,i,e,!0,(()=>this._commandService.executeCommand(t))),n=this.keybindingService.lookupKeybinding(t,this._contextKeyService);let o=i;return n&&(o=rt(0,"{0} ({1})",i,n.getLabel())),s.tooltip=o,s}constructor(t,i,e,s,n,o,r,h,c,a,l){super(),this.editor=t,this.withBorder=i,this._position=e,this._currentSuggestionIdx=s,this._suggestionCount=n,this._extraCommands=o,this._commandService=r,this.keybindingService=c,this._contextKeyService=a,this._menuService=l,this.id="InlineSuggestionHintsContentWidget"+x0.id++,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=Jl("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[Jl("div@toolBar")]),this.previousAction=this.createCommandAction(y0,rt(0,"Previous"),Cr.asClassName(A0)),this.availableSuggestionCountAction=new mr("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(k0,rt(0,"Next"),Cr.asClassName(E0)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(Rh.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new pc((()=>{this.availableSuggestionCountAction.label=""}),100)),this.disableButtonsDebounced=this._register(new pc((()=>{this.previousAction.enabled=this.nextAction.enabled=!1}),100)),this.lastCommands=[],this.toolBar=this._register(h.createInstance(T0,this.nodes.toolBar,Rh.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:t=>t.startsWith("primary")},actionViewItemProvider:t=>{if(t instanceof Bh)return h.createInstance(F0,t,void 0);if(t===this.availableSuggestionCountAction){const i=new L0(void 0,t,{label:!0,icon:!1});return i.setClass("availableSuggestionCount"),i}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility((t=>{x0._dropDownVisible=t}))),this._register(RV((t=>{this._position.read(t),this.editor.layoutContentWidget(this)}))),this._register(RV((t=>{const i=this._suggestionCount.read(t),e=this._currentSuggestionIdx.read(t);void 0!==i?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${e+1}/${i}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),void 0!==i&&i>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()}))),this._register(RV((t=>{const i=this._extraCommands.read(t);if(u(this.lastCommands,i))return;this.lastCommands=i;const e=i.map((t=>({class:void 0,id:t.id,enabled:!0,tooltip:t.tooltip||"",label:t.title,run:()=>this._commandService.executeCommand(t.id)})));for(const[t,i]of this.inlineCompletionsActionsMenus.getActions())for(const t of i)t instanceof Bh&&e.push(t);e.length>0&&e.unshift(new vr),this.toolBar.setAdditionalSecondaryActions(e)})))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};M0._dropDownVisible=!1,M0.id=0,M0=x0=C0([S0(6,Sr),S0(7,ur),S0(8,Yx),S0(9,ah),S0(10,Oh)],M0);class L0 extends aB{constructor(){super(...arguments),this._className=void 0}setClass(t){this._className=t}render(t){super.render(t),this._className&&t.classList.add(this._className)}}class F0 extends $B{updateLabel(){const t=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!t)return super.updateLabel();if(this.label){const i=Jl("div.keybinding").root;new Uj(i,_t,{disableTitle:!0,...Vj}).set(t),this.label.textContent=this._action.label,this.label.appendChild(i),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}}let T0=class extends Wq{constructor(t,i,e,s,n,o,r,h){super(t,{resetMenu:i,...e},s,n,o,r,h),this.menuId=i,this.options2=e,this.menuService=s,this.contextKeyService=n,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange((()=>this.updateToolbar()))),this.updateToolbar()}updateToolbar(){var t,i,e,s,n,o,r;const h=[],c=[];BB(this.menu,null===(t=this.options2)||void 0===t?void 0:t.menuOptions,{primary:h,secondary:c},null===(e=null===(i=this.options2)||void 0===i?void 0:i.toolbarOptions)||void 0===e?void 0:e.primaryGroup,null===(n=null===(s=this.options2)||void 0===s?void 0:s.toolbarOptions)||void 0===n?void 0:n.shouldInlineSubmenu,null===(r=null===(o=this.options2)||void 0===o?void 0:o.toolbarOptions)||void 0===r?void 0:r.useSeparatorsInPrimaryActions),c.push(...this.additionalActions),h.unshift(...this.prependedPrimaryActions),this.setActions(h,c)}setPrependedPrimaryActions(t){u(this.prependedPrimaryActions,t,((t,i)=>t===i))||(this.prependedPrimaryActions=t,this.updateToolbar())}setAdditionalSecondaryActions(t){u(this.additionalActions,t,((t,i)=>t===i))||(this.additionalActions=t,this.updateToolbar())}};T0=C0([S0(3,Oh),S0(4,ah),S0(5,eI),S0(6,Yx),S0(7,Wh)],T0);var R0,O0=function(t,i){return function(e,s){i(e,s,t)}};let I0=R0=class extends ie{static get(t){return t.getContribution(R0.ID)}constructor(t,i,e,s,n){super(),this._editor=t,this._instantiationService=i,this._openerService=e,this._languageService=s,this._keybindingService=n,this._toUnhook=new te,this._hoverActivatedByColorDecoratorClick=!1,this._isMouseDown=!1,this._hoverClicked=!1,this._contentWidget=null,this._glyphWidget=null,this._reactToEditorMouseMoveRunner=this._register(new pc((()=>this._reactToEditorMouseMove(this._mouseMoveEvent)),0)),this._hookEvents(),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(60)&&(this._unhookEvents(),this._hookEvents())})))}_hookEvents(){const t=this._editor.getOption(60);this._isHoverEnabled=t.enabled,this._isHoverSticky=t.sticky,this._hidingDelay=t.hidingDelay,this._isHoverEnabled?(this._toUnhook.add(this._editor.onMouseDown((t=>this._onEditorMouseDown(t)))),this._toUnhook.add(this._editor.onMouseUp((t=>this._onEditorMouseUp(t)))),this._toUnhook.add(this._editor.onMouseMove((t=>this._onEditorMouseMove(t)))),this._toUnhook.add(this._editor.onKeyDown((t=>this._onKeyDown(t))))):(this._toUnhook.add(this._editor.onMouseMove((t=>this._onEditorMouseMove(t)))),this._toUnhook.add(this._editor.onKeyDown((t=>this._onKeyDown(t))))),this._toUnhook.add(this._editor.onMouseLeave((t=>this._onEditorMouseLeave(t)))),this._toUnhook.add(this._editor.onDidChangeModel((()=>{this._cancelScheduler(),this._hideWidgets()}))),this._toUnhook.add(this._editor.onDidChangeModelContent((()=>this._cancelScheduler()))),this._toUnhook.add(this._editor.onDidScrollChange((t=>this._onEditorScrollChanged(t))))}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_unhookEvents(){this._toUnhook.clear()}_onEditorScrollChanged(t){(t.scrollTopChanged||t.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(t){var i;this._isMouseDown=!0;const e=t.target;9!==e.type||e.detail!==EX.ID?12===e.type&&e.detail===TX.ID||(12!==e.type&&(this._hoverClicked=!1),(null===(i=this._contentWidget)||void 0===i?void 0:i.widget.isResizing)||this._hideWidgets()):this._hoverClicked=!0}_onEditorMouseUp(t){this._isMouseDown=!1}_onEditorMouseLeave(t){var i,e;this._cancelScheduler(),(null===(i=this._contentWidget)||void 0===i?void 0:i.widget.isResizing)||(null===(e=this._contentWidget)||void 0===e?void 0:e.containsNode(t.event.browserEvent.relatedTarget))||this._hideWidgets()}_isMouseOverWidget(t){var i,e,s,n,o;const r=t.target;return!((!this._isHoverSticky||9!==r.type||r.detail!==EX.ID)&&(!this._isHoverSticky||!(null===(i=this._contentWidget)||void 0===i?void 0:i.containsNode(null===(e=t.event.browserEvent.view)||void 0===e?void 0:e.document.activeElement))||(null===(n=null===(s=t.event.browserEvent.view)||void 0===s?void 0:s.getSelection())||void 0===n?void 0:n.isCollapsed))&&(this._isHoverSticky||9!==r.type||r.detail!==EX.ID||!(null===(o=this._contentWidget)||void 0===o?void 0:o.isColorPickerVisible))&&(!this._isHoverSticky||12!==r.type||r.detail!==TX.ID))}_onEditorMouseMove(t){var i,e,s,n;this._mouseMoveEvent=t,(null===(i=this._contentWidget)||void 0===i?void 0:i.isFocused)||(null===(e=this._contentWidget)||void 0===e?void 0:e.isResizing)||this._isMouseDown&&this._hoverClicked||this._isHoverSticky&&(null===(s=this._contentWidget)||void 0===s?void 0:s.isVisibleFromKeyboard)||(this._isMouseOverWidget(t)?this._reactToEditorMouseMoveRunner.cancel():(null===(n=this._contentWidget)||void 0===n?void 0:n.isVisible)&&this._isHoverSticky&&this._hidingDelay>0?this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(this._hidingDelay):this._reactToEditorMouseMove(t))}_reactToEditorMouseMove(t){var i,e,s;if(!t)return;const n=t.target,o=null===(i=n.element)||void 0===i?void 0:i.classList.contains("colorpicker-color-decoration"),r=this._editor.getOption(146);if((!o||("click"!==r||this._hoverActivatedByColorDecoratorClick)&&("hover"!==r||this._isHoverEnabled)&&("clickAndHover"!==r||this._isHoverEnabled||this._hoverActivatedByColorDecoratorClick))&&(o||this._isHoverEnabled||this._hoverActivatedByColorDecoratorClick))return this._getOrCreateContentWidget().maybeShowAt(t)?void(null===(e=this._glyphWidget)||void 0===e||e.hide()):2===n.type&&n.position?(null===(s=this._contentWidget)||void 0===s||s.hide(),this._glyphWidget||(this._glyphWidget=new TX(this._editor,this._languageService,this._openerService)),void this._glyphWidget.startShowingAt(n.position.lineNumber)):void this._hideWidgets();this._hideWidgets()}_onKeyDown(t){var i;if(!this._editor.hasModel())return;const e=this._keybindingService.softDispatch(t,this._editor.getDomNode()),s=1===e.kind||2===e.kind&&"editor.action.showHover"===e.commandId&&(null===(i=this._contentWidget)||void 0===i?void 0:i.isVisible);5===t.keyCode||6===t.keyCode||57===t.keyCode||4===t.keyCode||s||this._hideWidgets()}_hideWidgets(){var t,i,e;this._isMouseDown&&this._hoverClicked&&(null===(t=this._contentWidget)||void 0===t?void 0:t.isColorPickerVisible)||M0.dropDownVisible||(this._hoverActivatedByColorDecoratorClick=!1,this._hoverClicked=!1,null===(i=this._glyphWidget)||void 0===i||i.hide(),null===(e=this._contentWidget)||void 0===e||e.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(xX,this._editor)),this._contentWidget}showContentHover(t,i,e,s,n=!1){this._hoverActivatedByColorDecoratorClick=n,this._getOrCreateContentWidget().startShowingAtRange(t,i,e,s)}focus(){var t;null===(t=this._contentWidget)||void 0===t||t.focus()}scrollUp(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollUp()}scrollDown(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollDown()}scrollLeft(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollLeft()}scrollRight(){var t;null===(t=this._contentWidget)||void 0===t||t.scrollRight()}pageUp(){var t;null===(t=this._contentWidget)||void 0===t||t.pageUp()}pageDown(){var t;null===(t=this._contentWidget)||void 0===t||t.pageDown()}goToTop(){var t;null===(t=this._contentWidget)||void 0===t||t.goToTop()}goToBottom(){var t;null===(t=this._contentWidget)||void 0===t||t.goToBottom()}get isColorPickerVisible(){var t;return null===(t=this._contentWidget)||void 0===t?void 0:t.isColorPickerVisible}get isHoverVisible(){var t;return null===(t=this._contentWidget)||void 0===t?void 0:t.isVisible}dispose(){var t,i;super.dispose(),this._unhookEvents(),this._toUnhook.dispose(),null===(t=this._glyphWidget)||void 0===t||t.dispose(),null===(i=this._contentWidget)||void 0===i||i.dispose()}};var _0;I0.ID="editor.contrib.hover",I0=R0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([O0(1,ur),O0(2,nP),O0(3,yd),O0(4,Yx)],I0),function(t){t.NoAutoFocus="noAutoFocus",t.FocusIfVisible="focusIfVisible",t.AutoFocusImmediately="autoFocusImmediately"}(_0||(_0={})),lu(I0.ID,I0,2),cu(class extends su{constructor(){super({id:"editor.action.showHover",label:rt(0,"Show or Focus Hover"),metadata:{description:"Show or Focus Hover",args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[_0.NoAutoFocus,_0.FocusIfVisible,_0.AutoFocusImmediately],enumDescriptions:[rt(0,"The hover will not automatically take focus."),rt(0,"The hover will take focus only if it is already visible."),rt(0,"The hover will automatically take focus when it appears.")],default:_0.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2087),weight:100}})}run(t,i,e){if(!i.hasModel())return;const s=I0.get(i);if(!s)return;const n=null==e?void 0:e.focus;let o=_0.FocusIfVisible;n in _0?o=n:"boolean"==typeof n&&n&&(o=_0.AutoFocusImmediately);const r=t=>{const e=i.getPosition(),n=new Ms(e.lineNumber,e.column,e.lineNumber,e.column);s.showContentHover(n,1,1,t)},h=2===i.getOption(2);s.isHoverVisible?o!==_0.NoAutoFocus?s.focus():r(h):r(h||o===_0.AutoFocusImmediately)}}),cu(class extends su{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:rt(0,"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(t,i){const e=I0.get(i);if(!e)return;const s=i.getPosition();if(!s)return;const n=new Ms(s.lineNumber,s.column,s.lineNumber,s.column),o=rX.get(i);o&&o.startFindDefinitionFromCursor(s).then((()=>{e.showContentHover(n,1,1,!0)}))}}),cu(class extends su{constructor(){super({id:"editor.action.scrollUpHover",label:rt(0,"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:16,weight:100}})}run(t,i){const e=I0.get(i);e&&e.scrollUp()}}),cu(class extends su{constructor(){super({id:"editor.action.scrollDownHover",label:rt(0,"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:18,weight:100}})}run(t,i){const e=I0.get(i);e&&e.scrollDown()}}),cu(class extends su{constructor(){super({id:"editor.action.scrollLeftHover",label:rt(0,"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:15,weight:100}})}run(t,i){const e=I0.get(i);e&&e.scrollLeft()}}),cu(class extends su{constructor(){super({id:"editor.action.scrollRightHover",label:rt(0,"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:17,weight:100}})}run(t,i){const e=I0.get(i);e&&e.scrollRight()}}),cu(class extends su{constructor(){super({id:"editor.action.pageUpHover",label:rt(0,"Page Up Hover"),alias:"Page Up Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:11,secondary:[528],weight:100}})}run(t,i){const e=I0.get(i);e&&e.pageUp()}}),cu(class extends su{constructor(){super({id:"editor.action.pageDownHover",label:rt(0,"Page Down Hover"),alias:"Page Down Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:12,secondary:[530],weight:100}})}run(t,i){const e=I0.get(i);e&&e.pageDown()}}),cu(class extends su{constructor(){super({id:"editor.action.goToTopHover",label:rt(0,"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:14,secondary:[2064],weight:100}})}run(t,i){const e=I0.get(i);e&&e.goToTop()}}),cu(class extends su{constructor(){super({id:"editor.action.goToBottomHover",label:rt(0,"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:UC.hoverFocused,kbOpts:{kbExpr:UC.hoverFocused,primary:13,secondary:[2066],weight:100}})}run(t,i){const e=I0.get(i);e&&e.goToBottom()}}),pX.register(PX),pX.register(v0),Jk(((t,i)=>{const e=t.getColor(Mv);e&&(i.addRule(`.monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ${e.transparent(.5)}; }`),i.addRule(`.monaco-editor .monaco-hover hr { border-top: 1px solid ${e.transparent(.5)}; }`),i.addRule(`.monaco-editor .monaco-hover hr { border-bottom: 0px solid ${e.transparent(.5)}; }`))}));class N0 extends ie{constructor(t){super(),this._editor=t,this._register(t.onMouseDown((t=>this.onMouseDown(t))))}dispose(){super.dispose()}onMouseDown(t){const i=this._editor.getOption(146);if("click"!==i&&"clickAndHover"!==i)return;const e=t.target;if(6!==e.type)return;if(!e.detail.injectedText)return;if(e.detail.injectedText.options.attachedData!==rJ)return;if(!e.range)return;const s=this._editor.getContribution(I0.ID);if(s&&!s.isColorPickerVisible){const t=new Ms(e.range.startLineNumber,e.range.startColumn+1,e.range.endLineNumber,e.range.endColumn+1);s.showContentHover(t,1,0,!1,!0)}}}N0.ID="editor.contrib.colorContribution",lu(N0.ID,N0,2),pX.register(CJ);var B0,P0,$0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},W0=function(t,i){return function(e,s){i(e,s,t)}};let j0=B0=class extends ie{constructor(t,i,e,s,n,o,r){super(),this._editor=t,this._modelService=e,this._keybindingService=s,this._instantiationService=n,this._languageFeatureService=o,this._languageConfigurationService=r,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=UC.standaloneColorPickerVisible.bindTo(i),this._standaloneColorPickerFocused=UC.standaloneColorPickerFocused.bindTo(i)}showOrFocus(){var t;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||null===(t=this._standaloneColorPickerWidget)||void 0===t||t.focus():this._standaloneColorPickerWidget=new z0(this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused,this._instantiationService,this._modelService,this._keybindingService,this._languageFeatureService,this._languageConfigurationService))}hide(){var t;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),null===(t=this._standaloneColorPickerWidget)||void 0===t||t.hide(),this._editor.focus()}insertColor(){var t;null===(t=this._standaloneColorPickerWidget)||void 0===t||t.updateEditor(),this.hide()}static get(t){return t.getContribution(B0.ID)}};j0.ID="editor.contrib.standaloneColorPickerController",j0=B0=$0([W0(1,ah),W0(2,pr),W0(3,Yx),W0(4,ur),W0(5,gg),W0(6,qd)],j0),lu(j0.ID,j0,1);let z0=P0=class extends ie{constructor(t,i,e,s,n,o,r,h){var c;super(),this._editor=t,this._standaloneColorPickerVisible=i,this._standaloneColorPickerFocused=e,this._modelService=n,this._keybindingService=o,this._languageFeaturesService=r,this._languageConfigurationService=h,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new fe),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=s.createInstance(DJ,this._editor),this._position=null===(c=this._editor._getViewModel())||void 0===c?void 0:c.getPrimaryCursorState().modelState.position;const a=this._editor.getSelection(),l=a?{startLineNumber:a.startLineNumber,startColumn:a.startColumn,endLineNumber:a.endLineNumber,endColumn:a.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},u=this._register(Rl(this._body));this._register(u.onDidBlur((()=>{this.hide()}))),this._register(u.onDidFocus((()=>{this.focus()}))),this._register(this._editor.onDidChangeCursorPosition((()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()}))),this._register(this._editor.onMouseMove((t=>{var i;const e=null===(i=t.target.element)||void 0===i?void 0:i.classList;e&&e.contains("colorpicker-color-decoration")&&this.hide()}))),this._register(this.onResult((t=>{this._render(t.value,t.foundInEditor)}))),this._start(l),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return P0.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const t=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:t?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(t){const i=await this._computeAsync(t);i&&this._onResult.fire(new H0(i.result,i.foundInEditor))}async _computeAsync(t){if(!this._editor.hasModel())return null;const i={range:t,color:{red:0,green:0,blue:0,alpha:1}},e=await this._standaloneColorPickerParticipant.createColorHover(i,new ZQ(this._modelService,this._languageConfigurationService),this._languageFeaturesService.colorProvider);return e?{result:e.colorHover,foundInEditor:e.foundInEditor}:null}_render(t,i){const e=document.createDocumentFragment();let s;const n={fragment:e,statusBar:this._register(new AX(this._keybindingService)),setColorPicker:t=>s=t,onContentsChanged:()=>{},hide:()=>this.hide()};if(this._colorHover=t,this._register(this._standaloneColorPickerParticipant.renderHoverParts(n,[t])),void 0===s)return;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(.66*this._editor.getLayoutInfo().width,500)+"px",this._body.tabIndex=0,this._body.appendChild(e),s.layout();const o=s.body,r=o.saturationBox.domNode.clientWidth,h=o.domNode.clientWidth-r-22-8,c=s.body.enterButton;null==c||c.onClicked((()=>{this.updateEditor(),this.hide()}));const a=s.header;a.pickedColorNode.style.width=r+8+"px",a.originalColorNode.style.width=h+"px";const l=s.header.closeButton;null==l||l.onClicked((()=>{this.hide()})),i&&(c&&(c.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(t.range)),this._editor.layoutContentWidget(this)}};z0.ID="editor.contrib.standaloneColorPickerWidget",z0=P0=$0([W0(3,ur),W0(4,pr),W0(5,Yx),W0(6,gg),W0(7,qd)],z0);class H0{constructor(t,i){this.value=t,this.foundInEditor=i}}cu(class extends su{constructor(){super({id:"editor.action.hideColorPicker",label:rt(0,"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:UC.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100}})}run(t,i){var e;null===(e=j0.get(i))||void 0===e||e.hide()}}),cu(class extends su{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:rt(0,"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:UC.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100}})}run(t,i){var e;null===(e=j0.get(i))||void 0===e||e.insertColor()}}),$h(class extends ou{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{value:rt(0,"Show or Focus Standalone Color Picker"),mnemonicTitle:rt(0,"&&Show or Focus Standalone Color Picker"),original:"Show or Focus Standalone Color Picker"},precondition:void 0,menu:[{id:Rh.CommandPalette}]})}runEditorCommand(t,i){var e;null===(e=j0.get(i))||void 0===e||e.showOrFocus()}});class V0{constructor(t,i,e){this.languageConfigurationService=e,this._selection=t,this._insertSpace=i,this._usedEndToken=null}static _haystackHasNeedleAtOffset(t,i,e){if(e<0)return!1;const s=i.length;if(e+s>t.length)return!1;for(let n=0;n=65&&s<=90&&s+32===o||o>=65&&o<=90&&o+32===s))return!1}return!0}_createOperationsForBlockComment(t,i,e,s,n,o){const r=t.startLineNumber,h=t.startColumn,c=t.endLineNumber,a=t.endColumn,l=n.getLineContent(r),u=n.getLineContent(c);let d,f=l.lastIndexOf(i,h-1+i.length),p=u.indexOf(e,a-1-e.length);if(-1!==f&&-1!==p)if(r===c)l.substring(f+i.length,p).indexOf(e)>=0&&(f=-1,p=-1);else{const t=l.substring(f+i.length),s=u.substring(0,p);(t.indexOf(e)>=0||s.indexOf(e)>=0)&&(f=-1,p=-1)}-1!==f&&-1!==p?(s&&f+i.length0&&32===u.charCodeAt(p-1)&&(e=" "+e,p-=1),d=V0._createRemoveBlockCommentOperations(new Ms(r,f+i.length+1,c,p+1),i,e)):(d=V0._createAddBlockCommentOperations(t,i,e,this._insertSpace),this._usedEndToken=1===d.length?e:null);for(const t of d)o.addTrackedEditOperation(t.range,t.text)}static _createRemoveBlockCommentOperations(t,i,e){const s=[];return Ms.isEmpty(t)?s.push(rO.delete(new Ms(t.startLineNumber,t.startColumn-i.length,t.endLineNumber,t.endColumn+e.length))):(s.push(rO.delete(new Ms(t.startLineNumber,t.startColumn-i.length,t.startLineNumber,t.startColumn))),s.push(rO.delete(new Ms(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn+e.length)))),s}static _createAddBlockCommentOperations(t,i,e,s){const n=[];return Ms.isEmpty(t)?n.push(rO.replace(new Ms(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn),i+" "+e)):(n.push(rO.insert(new As(t.startLineNumber,t.startColumn),i+(s?" ":""))),n.push(rO.insert(new As(t.endLineNumber,t.endColumn),(s?" ":"")+e))),n}getEditOperations(t,i){const e=this._selection.startLineNumber,s=this._selection.startColumn;t.tokenization.tokenizeIfCheap(e);const n=t.getLanguageIdAtPosition(e,s),o=this.languageConfigurationService.getLanguageConfiguration(n).comments;o&&o.blockCommentStartToken&&o.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,o.blockCommentStartToken,o.blockCommentEndToken,this._insertSpace,t,i)}computeCursorState(t,i){const e=i.getInverseEditOperations();if(2===e.length){const t=e[0],i=e[1];return new Ls(t.range.endLineNumber,t.range.endColumn,i.range.startLineNumber,i.range.startColumn)}{const t=e[0].range,i=this._usedEndToken?-this._usedEndToken.length-1:0;return new Ls(t.endLineNumber,t.endColumn+i,t.endLineNumber,t.endColumn+i)}}}class U0{constructor(t,i,e,s,n,o,r){this.languageConfigurationService=t,this._selection=i,this._tabSize=e,this._type=s,this._insertSpace=n,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=o,this._ignoreFirstLine=r||!1}static _gatherPreflightCommentStrings(t,i,e,s){t.tokenization.tokenizeIfCheap(i);const n=t.getLanguageIdAtPosition(i,1),o=s.getLanguageConfiguration(n).comments,r=o?o.lineCommentToken:null;if(!r)return null;const h=[];for(let t=0,s=e-i+1;tr?n-1:n}}}class q0 extends su{constructor(t,i){super(i),this._type=t}run(t,i){const e=t.get(qd);if(!i.hasModel())return;const s=[],n=i.getModel().getOptions(),o=i.getOption(23),r=i.getSelections().map(((t,i)=>({selection:t,index:i,ignoreFirstLine:!1})));r.sort(((t,i)=>Ms.compareRangesUsingStarts(t.selection,i.selection)));let h=r[0];for(let t=1;tthis._onContextMenu(t)))),this._toDispose.add(this._editor.onMouseWheel((t=>{if(this._contextMenuIsBeingShownCount>0){const i=this._contextViewService.getContextViewElement(),e=t.srcElement;e.shadowRoot&&fl(i)===e.shadowRoot||this._contextViewService.hideContextView()}}))),this._toDispose.add(this._editor.onKeyDown((t=>{this._editor.getOption(24)&&58===t.keyCode&&(t.preventDefault(),t.stopPropagation(),this.showContextMenu())})))}_onContextMenu(t){if(!this._editor.hasModel())return;if(!this._editor.getOption(24))return this._editor.focus(),void(t.target.position&&!this._editor.getSelection().containsPosition(t.target.position)&&this._editor.setPosition(t.target.position));if(12===t.target.type)return;if(6===t.target.type&&t.target.detail.injectedText)return;if(t.event.preventDefault(),t.event.stopPropagation(),11===t.target.type)return this._showScrollbarContextMenu(t.event);if(6!==t.target.type&&7!==t.target.type&&1!==t.target.type)return;if(this._editor.focus(),t.target.position){let i=!1;for(const e of this._editor.getSelections())if(e.containsPosition(t.target.position)){i=!0;break}i||this._editor.setPosition(t.target.position)}let i=null;1!==t.target.type&&(i=t.event),this.showContextMenu(i)}showContextMenu(t){if(!this._editor.getOption(24))return;if(!this._editor.hasModel())return;const i=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?Rh.SimpleEditorContext:Rh.EditorContext);i.length>0&&this._doShowContextMenu(i,t)}_getMenuActions(t,i){const e=[],s=this._menuService.createMenu(i,this._contextKeyService),n=s.getActions({arg:t.uri});s.dispose();for(const i of n){const[,s]=i;let n=0;for(const i of s)if(i instanceof Nh){const s=this._getMenuActions(t,i.item.submenu);s.length>0&&(e.push(new br(i.id,i.label,s)),n++)}else e.push(i),n++;n&&e.push(new vr)}return e.length&&e.pop(),e}_doShowContextMenu(t,i=null){if(!this._editor.hasModel())return;const e=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let s=i;if(!s){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),i=nl(this._editor.getDomNode());s={x:i.left+t.left,y:i.top+t.top+t.height}}const n=this._editor.getOption(126)&&!Lt;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:n?this._editor.getDomNode():void 0,getAnchor:()=>s,getActions:()=>t,getActionViewItem:t=>{const i=this._keybindingFor(t);return i?new aB(t,t,{label:!0,keybinding:i.getLabel(),isMenu:!0}):"function"==typeof t.getActionViewItem?t.getActionViewItem():new aB(t,t,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:t=>this._keybindingFor(t),onHide:()=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:e})}})}_showScrollbarContextMenu(t){if(!this._editor.hasModel())return;if(this._workspaceContextService.getWorkspace().id===UO)return;const i=this._editor.getOption(72);let e=0;const s=t=>({id:"menu-action-"+ ++e,label:t.label,tooltip:"",class:void 0,enabled:void 0===t.enabled||t.enabled,checked:t.checked,run:t.run}),n=(t,i,n,o,r)=>{if(!i)return s({label:t,enabled:i,run:()=>{}});const h=t=>()=>{this._configurationService.updateValue(n,t)},c=[];for(const t of r)c.push(s({label:t.label,checked:o===t.value,run:h(t.value)}));return((t,i)=>new br("menu-action-"+ ++e,t,i,void 0))(t,c)},o=[];o.push(s({label:rt(0,"Minimap"),checked:i.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!i.enabled)}})),o.push(new vr),o.push(s({label:rt(0,"Render Characters"),enabled:i.enabled,checked:i.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!i.renderCharacters)}})),o.push(n(rt(0,"Vertical size"),i.enabled,"editor.minimap.size",i.size,[{label:rt(0,"Proportional"),value:"proportional"},{label:rt(0,"Fill"),value:"fill"},{label:rt(0,"Fit"),value:"fit"}])),o.push(n(rt(0,"Slider"),i.enabled,"editor.minimap.showSlider",i.showSlider,[{label:rt(0,"Mouse Over"),value:"mouseover"},{label:rt(0,"Always"),value:"always"}]));const r=this._editor.getOption(126)&&!Lt;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:r?this._editor.getDomNode():void 0,getAnchor:()=>t,getActions:()=>o,onHide:()=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(t){return this._keybindingService.lookupKeybinding(t.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};Z0.ID="editor.contrib.contextmenu",Z0=K0=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([G0(1,eI),G0(2,iI),G0(3,ah),G0(4,Yx),G0(5,Oh),G0(6,pd),G0(7,jO)],Z0),lu(Z0.ID,Z0,2),cu(class extends su{constructor(){super({id:"editor.action.showContextMenu",label:rt(0,"Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:UC.textInputFocus,primary:1092,weight:100}})}run(t,i){var e;null===(e=Z0.get(i))||void 0===e||e.showContextMenu()}});class Q0{constructor(t){this.selections=t}equals(t){const i=this.selections.length;if(i!==t.selections.length)return!1;for(let e=0;e{this._undoStack=[],this._redoStack=[]}))),this._register(t.onDidChangeModelContent((()=>{this._undoStack=[],this._redoStack=[]}))),this._register(t.onDidChangeCursorSelection((i=>{if(this._isCursorUndoRedo)return;if(!i.oldSelections)return;if(i.oldModelVersionId!==i.modelVersionId)return;const e=new Q0(i.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(e)||(this._undoStack.push(new J0(e,t.getScrollTop(),t.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())})))}cursorUndo(){this._editor.hasModel()&&0!==this._undoStack.length&&(this._redoStack.push(new J0(new Q0(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){this._editor.hasModel()&&0!==this._redoStack.length&&(this._undoStack.push(new J0(new Q0(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(t){this._isCursorUndoRedo=!0,this._editor.setSelections(t.cursorState.selections),this._editor.setScrollPosition({scrollTop:t.scrollTop,scrollLeft:t.scrollLeft}),this._isCursorUndoRedo=!1}}Y0.ID="editor.contrib.cursorUndoRedoController",lu(Y0.ID,Y0,0),cu(class extends su{constructor(){super({id:"cursorUndo",label:rt(0,"Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:UC.textInputFocus,primary:2099,weight:100}})}run(t,i,e){var s;null===(s=Y0.get(i))||void 0===s||s.cursorUndo()}}),cu(class extends su{constructor(){super({id:"cursorRedo",label:rt(0,"Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(t,i,e){var s;null===(s=Y0.get(i))||void 0===s||s.cursorRedo()}});class X0{constructor(t,i,e){this.selection=t,this.targetPosition=i,this.copy=e,this.targetSelection=null}getEditOperations(t,i){const e=t.getValueInRange(this.selection);this.copy||i.addEditOperation(this.selection,null),i.addEditOperation(new Ms(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),e),this.targetSelection=!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?new Ls(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber>this.selection.endLineNumber?new Ls(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumberthis._onEditorMouseDown(t)))),this._register(this._editor.onMouseUp((t=>this._onEditorMouseUp(t)))),this._register(this._editor.onMouseDrag((t=>this._onEditorMouseDrag(t)))),this._register(this._editor.onMouseDrop((t=>this._onEditorMouseDrop(t)))),this._register(this._editor.onMouseDropCanceled((()=>this._onEditorMouseDropCanceled()))),this._register(this._editor.onKeyDown((t=>this.onEditorKeyDown(t)))),this._register(this._editor.onKeyUp((t=>this.onEditorKeyUp(t)))),this._register(this._editor.onDidBlurEditorWidget((()=>this.onEditorBlur()))),this._register(this._editor.onDidBlurEditorText((()=>this.onEditorBlur()))),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(t){this._editor.getOption(35)&&!this._editor.getOption(22)&&(t1(t)&&(this._modifierPressed=!0),this._mouseDown&&t1(t)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(t){this._editor.getOption(35)&&!this._editor.getOption(22)&&(t1(t)&&(this._modifierPressed=!1),this._mouseDown&&t.keyCode===i1.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(t){this._mouseDown=!0}_onEditorMouseUp(t){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(t){const i=t.target;if(null===this._dragSelection){const t=(this._editor.getSelections()||[]).filter((t=>i.position&&t.containsPosition(i.position)));if(1!==t.length)return;this._dragSelection=t[0]}t1(t.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),i.position&&(this._dragSelection.containsPosition(i.position)?this._removeDecoration():this.showAt(i.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(t){if(t.target&&(this._hitContent(t.target)||this._hitMargin(t.target))&&t.target.position){const i=new As(t.target.position.lineNumber,t.target.position.column);if(null===this._dragSelection){let e=null;if(t.event.shiftKey){const t=this._editor.getSelection();if(t){const{selectionStartLineNumber:s,selectionStartColumn:n}=t;e=[new Ls(s,n,i.lineNumber,i.column)]}}else e=(this._editor.getSelections()||[]).map((t=>t.containsPosition(i)?new Ls(i.lineNumber,i.column,i.lineNumber,i.column):t));this._editor.setSelections(e||[],"mouse",3)}else(!this._dragSelection.containsPosition(i)||(t1(t.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(i)||this._dragSelection.getStartPosition().equals(i)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(i1.ID,new X0(this._dragSelection,i,t1(t.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(t){this._dndDecorationIds.set([{range:new Ms(t.lineNumber,t.column,t.lineNumber,t.column),options:i1._DECORATION_OPTIONS}]),this._editor.revealPosition(t,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(t){return 6===t.type||7===t.type}_hitMargin(t){return 2===t.type||3===t.type||4===t.type}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}i1.ID="editor.contrib.dragAndDrop",i1.TRIGGER_KEY_VALUE=St?6:5,i1._DECORATION_OPTIONS=bL.register({description:"dnd-target",className:"dnd-target"}),lu(i1.ID,i1,2);const e1=function(){if("object"==typeof crypto&&"function"==typeof crypto.randomUUID)return crypto.randomUUID.bind(crypto);let t;t="object"==typeof crypto&&"function"==typeof crypto.getRandomValues?crypto.getRandomValues.bind(crypto):function(t){for(let i=0;it,asFile:()=>{},value:"string"==typeof t?t:void 0}}class n1{constructor(){this._entries=new Map}get size(){let t=0;for(const i of this._entries)t++;return t}has(t){return this._entries.has(this.toKey(t))}matches(t){const i=[...this._entries.keys()];return Vt.some(this,(([t,i])=>i.asFile()))&&i.push("files"),h1(o1(t),i)}get(t){var i;return null===(i=this._entries.get(this.toKey(t)))||void 0===i?void 0:i[0]}append(t,i){const e=this._entries.get(t);e?e.push(i):this._entries.set(this.toKey(t),[i])}replace(t,i){this._entries.set(this.toKey(t),[i])}delete(t){this._entries.delete(this.toKey(t))}*[Symbol.iterator](){for(const[t,i]of this._entries)for(const e of i)yield[t,e]}toKey(t){return o1(t)}}function o1(t){return t.toLowerCase()}function r1(t,i){return h1(o1(t),i.map(o1))}function h1(t,i){if("*/*"===t)return i.length>0;if(i.includes(t))return!0;const e=t.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!e)return!1;const[s,n,o]=e;return"*"===o&&i.some((t=>t.startsWith(n+"/")))}const c1=Object.freeze({create:t=>k(t.map((t=>t.toString()))).join("\r\n"),split:t=>t.split("\r\n"),parse:t=>c1.split(t).filter((t=>!t.startsWith("#")))});Dh.add("workbench.contributions.dragAndDrop",new class{});class a1{constructor(){}static getInstance(){return a1.INSTANCE}hasData(t){return t&&t===this.proto}getData(t){if(this.hasData(t))return this.data}}function l1(t){const i=new n1;for(const e of t.items){const t=e.type;if("string"===e.kind){const s=new Promise((t=>e.getAsString(t)));i.append(t,s1(s))}else if("file"===e.kind){const s=e.getAsFile();s&&i.append(t,u1(s))}}return i}function u1(t){const i=t.path?ms.parse(t.path):void 0;return function(t,i,e){const s={id:e1(),name:t,uri:i,data:e};return{asString:async()=>"",asFile:()=>s,value:void 0}}(t.name,i,(async()=>new Uint8Array(await t.arrayBuffer())))}a1.INSTANCE=new a1;const d1=Object.freeze(["CodeEditors","CodeFiles",yI.RESOURCES,yI.INTERNAL_URI_LIST]);function f1(t,i=!1){const e=l1(t),s=e.get(yI.INTERNAL_URI_LIST);if(s)e.replace(Dd.uriList,s);else if(i||!e.has(Dd.uriList)){const i=[];for(const e of t.items){const t=e.getAsFile();if(t){const e=t.path;try{i.push(e?ms.file(e).toString():ms.parse(t.name,!0).toString())}catch(t){}}}i.length&&e.replace(Dd.uriList,s1(c1.create(i)))}for(const t of d1)e.delete(t);return e}function p1(t){var i;function e(t,i){return"providerId"in t&&t.providerId===i.providerId||"mimeType"in t&&t.mimeType===i.handledMimeType}const s=new Map;for(const n of t)for(const o of null!==(i=n.yieldTo)&&void 0!==i?i:[])for(const i of t)if(i!==n&&e(o,i)){let t=s.get(n);t||(t=[],s.set(n,t)),t.push(i)}if(!s.size)return Array.from(t);const n=new Set,o=[];return function t(i){if(!i.length)return[];const e=i[0];if(o.includes(e))return console.warn(`Yield to cycle detected for ${e.providerId}`),i;if(n.has(e))return t(i.slice(1));let r=[];const h=s.get(e);return h&&(o.push(e),r=t(h),o.pop()),n.add(e),[...r,e,...t(i.slice(1))]}(Array.from(t))}const g1=bL.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:" ",inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});class m1 extends ie{constructor(t,i,e,s,n){super(),this.typeId=t,this.editor=i,this.range=e,this.delegate=n,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(s),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(t){this.domNode=$l(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=t;const i=$l("span.icon");this.domNode.append(i),i.classList.add(...Cr.asClassNameArray(Os.loading),"codicon-modifier-spin");const e=()=>{const t=this.editor.getOption(66);this.domNode.style.height=`${t}px`,this.domNode.style.width=`${Math.ceil(.8*t)}px`};e(),this._register(this.editor.onDidChangeConfiguration((t=>{(t.hasChanged(52)||t.hasChanged(66))&&e()}))),this._register(Va(this.domNode,Ll.CLICK,(()=>{this.delegate.cancel()})))}getId(){return m1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}}m1.baseId="editor.widget.inlineProgressWidget";let w1=class extends ie{constructor(t,i,e){super(),this.id=t,this._editor=i,this._instantiationService=e,this._showDelay=500,this._showPromise=this._register(new ee),this._currentWidget=new ee,this._operationIdPool=0,this._currentDecorations=i.createDecorationsCollection()}async showWhile(t,i,e){const s=this._operationIdPool++;this._currentOperation=s,this.clear(),this._showPromise.value=lc((()=>{const s=Ms.fromPositions(t);this._currentDecorations.set([{range:s,options:g1}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(m1,this.id,this._editor,s,i,e))}),this._showDelay);try{return await e}finally{this._currentOperation===s&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};w1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,ur)],w1);var v1,b1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},y1=function(t,i){return function(e,s){i(e,s,t)}};let k1=v1=class extends ie{constructor(t,i,e,s,n,o,r,h,c,a){super(),this.typeId=t,this.editor=i,this.showCommand=s,this.range=n,this.edits=o,this.onSelectNewEdit=r,this._contextMenuService=h,this._keybindingService=a,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=e.bindTo(c),this.visibleContext.set(!0),this._register(Xi((()=>this.visibleContext.reset()))),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Xi((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition((t=>{n.containsPosition(t.position)||this.dispose()}))),this._register(ce.runAndSubscribe(a.onDidUpdateKeybindings,(()=>{this._updateButtonTitle()})))}_updateButtonTitle(){var t;const i=null===(t=this._keybindingService.lookupKeybinding(this.showCommand.id))||void 0===t?void 0:t.getLabel();this.button.element.title=this.showCommand.label+(i?` (${i})`:"")}create(){this.domNode=$l(".post-edit-widget"),this.button=this._register(new Mj(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Va(this.domNode,Ll.CLICK,(()=>this.showSelector())))}getId(){return v1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const t=nl(this.button.element);return{x:t.left+t.width,y:t.top+t.height}},getActions:()=>this.edits.allEdits.map(((t,i)=>kr({id:"",label:t.label,checked:i===this.edits.activeEditIndex,run:()=>{if(i!==this.edits.activeEditIndex)return this.onSelectNewEdit(i)}})))})}};k1.baseId="editor.widget.postEditWidget",k1=v1=b1([y1(7,eI),y1(8,ah),y1(9,Yx)],k1);let x1=class extends ie{constructor(t,i,e,s,n,o){super(),this._id=t,this._editor=i,this._visibleContext=e,this._showCommand=s,this._instantiationService=n,this._bulkEditService=o,this._currentWidget=this._register(new ee),this._register(ce.any(i.onDidChangeModel,i.onDidChangeModelContent)((()=>this.clear())))}async applyEditAndShowIfNeeded(t,i,e,s){var n,o;const r=this._editor.getModel();if(!r||!t.length)return;const h=i.allEdits[i.activeEditIndex];if(!h)return;let c=[];c=("string"==typeof h.insertText?""===h.insertText:""===h.insertText.snippet)?[]:t.map((t=>new YR(r.uri,"string"==typeof h.insertText?{range:t,text:h.insertText,insertAsSnippet:!1}:{range:t,text:h.insertText.snippet,insertAsSnippet:!0})));const a={edits:[...c,...null!==(o=null===(n=h.additionalEdit)||void 0===n?void 0:n.edits)&&void 0!==o?o:[]]},l=t[0],u=r.deltaDecorations([],[{range:l,options:{description:"paste-line-suffix",stickiness:0}}]);let d,f;try{d=await this._bulkEditService.apply(a,{editor:this._editor,token:s}),f=r.getDecorationRange(u[0])}finally{r.deltaDecorations(u,[])}e&&d.isApplied&&i.allEdits.length>1&&this.show(null!=f?f:l,i,(async n=>{const o=this._editor.getModel();o&&(await o.undo(),this.applyEditAndShowIfNeeded(t,{activeEditIndex:n,allEdits:i.allEdits},e,s))}))}show(t,i,e){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(k1,this._id,this._editor,this._visibleContext,this._showCommand,t,i,e))}clear(){this._currentWidget.clear()}tryShowSelector(){var t;null===(t=this._currentWidget.value)||void 0===t||t.showSelector()}};x1=b1([y1(4,ur),y1(5,QR)],x1);var C1,S1=function(t,i){return function(e,s){i(e,s,t)}};const D1="editor.changePasteType",E1=new ch("pasteWidgetVisible",!1,rt(0,"Whether the paste widget is showing")),A1="application/vnd.code.copyMetadata";let M1=C1=class extends ie{static get(t){return t.getContribution(C1.ID)}constructor(t,i,e,s,n,o,r){super(),this._bulkEditService=e,this._clipboardService=s,this._languageFeaturesService=n,this._quickInputService=o,this._progressService=r,this._editor=t;const h=t.getContainerDomNode();this._register(Va(h,"copy",(t=>this.handleCopy(t)))),this._register(Va(h,"cut",(t=>this.handleCopy(t)))),this._register(Va(h,"paste",(t=>this.handlePaste(t)),!0)),this._pasteProgressManager=this._register(new w1("pasteIntoEditor",t,i)),this._postPasteWidgetManager=this._register(i.createInstance(x1,"pasteIntoEditor",t,E1,{id:D1,label:rt(0,"Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(t){this._editor.focus();try{this._pasteAsActionContext={preferredId:t},ml().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}isPasteAsEnabled(){return this._editor.getOption(84).enabled&&!this._editor.getOption(90)}handleCopy(t){var i,e;if(!this._editor.hasTextFocus())return;if(At&&this._clipboardService.writeResources([]),!t.clipboardData||!this.isPasteAsEnabled())return;const s=this._editor.getModel(),n=this._editor.getSelections();if(!s||!(null==n?void 0:n.length))return;const o=this._editor.getOption(37);let r=n;const h=1===n.length&&n[0].isEmpty();if(h){if(!o)return;r=[new Ms(r[0].startLineNumber,1,r[0].startLineNumber,1+s.getLineLength(r[0].startLineNumber))]}const c=null===(i=this._editor._getViewModel())||void 0===i?void 0:i.getPlainTextToCopy(n,o,Ct),a={multicursorText:Array.isArray(c)?c:null,pasteOnNewLine:h,mode:null},l=this._languageFeaturesService.documentPasteEditProvider.ordered(s).filter((t=>!!t.prepareDocumentPaste));if(!l.length)return void this.setCopyMetadata(t.clipboardData,{defaultPastePayload:a});const u=l1(t.clipboardData),d=l.flatMap((t=>{var i;return null!==(i=t.copyMimeTypes)&&void 0!==i?i:[]})),f=e1();this.setCopyMetadata(t.clipboardData,{id:f,providerCopyMimeTypes:d,defaultPastePayload:a});const p=nc((async t=>{const i=w(await Promise.all(l.map((async i=>{try{return await i.prepareDocumentPaste(s,r,u,t)}catch(t){return void console.error(t)}}))));i.reverse();for(const t of i)for(const[i,e]of t)u.replace(i,e);return u}));null===(e=this._currentCopyOperation)||void 0===e||e.dataTransferPromise.cancel(),this._currentCopyOperation={handle:f,dataTransferPromise:p}}async handlePaste(t){var i,e;if(!t.clipboardData||!this._editor.hasTextFocus())return;null===(i=this._currentPasteOperation)||void 0===i||i.cancel(),this._currentPasteOperation=void 0;const s=this._editor.getModel(),n=this._editor.getSelections();if(!(null==n?void 0:n.length)||!s)return;if(!this.isPasteAsEnabled())return;const o=this.fetchCopyMetadata(t),r=f1(t.clipboardData);r.delete(A1);const h=[...t.clipboardData.types,...null!==(e=null==o?void 0:o.providerCopyMimeTypes)&&void 0!==e?e:[],Dd.uriList],c=this._languageFeaturesService.documentPasteEditProvider.ordered(s).filter((t=>{var i;return null===(i=t.pasteMimeTypes)||void 0===i?void 0:i.some((t=>r1(t,h)))}));c.length&&(t.preventDefault(),t.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferredId,c,n,r,o):this.doPasteInline(c,n,r,o))}doPasteInline(t,i,e,s){const n=nc((async o=>{const r=this._editor;if(!r.hasModel())return;const h=r.getModel(),c=new gK(r,3,void 0,o);try{if(await this.mergeInDataFromCopy(e,s,c.token),c.token.isCancellationRequested)return;const n=t.filter((t=>L1(t,e)));if(!n.length||1===n.length&&"text"===n[0].id)return void await this.applyDefaultPasteHandler(e,s,c.token);const o=await this.getPasteEdits(n,e,h,i,c.token);if(c.token.isCancellationRequested)return;if(1===o.length&&"text"===o[0].providerId)return void await this.applyDefaultPasteHandler(e,s,c.token);if(o.length){const t="afterPaste"===r.getOption(84).showPasteSelector;return this._postPasteWidgetManager.applyEditAndShowIfNeeded(i,{activeEditIndex:0,allEdits:o},t,c.token)}await this.applyDefaultPasteHandler(e,s,c.token)}finally{c.dispose(),this._currentPasteOperation===n&&(this._currentPasteOperation=void 0)}}));this._pasteProgressManager.showWhile(i[0].getEndPosition(),rt(0,"Running paste handlers. Click to cancel"),n),this._currentPasteOperation=n}showPasteAsPick(t,i,e,s,n){const o=nc((async r=>{const h=this._editor;if(!h.hasModel())return;const c=h.getModel(),a=new gK(h,3,void 0,r);try{if(await this.mergeInDataFromCopy(s,n,a.token),a.token.isCancellationRequested)return;let o=i.filter((t=>L1(t,s)));t&&(o=o.filter((i=>i.id===t)));const r=await this.getPasteEdits(o,s,c,e,a.token);if(a.token.isCancellationRequested)return;if(!r.length)return;let h;if(t)h=r.at(0);else{const t=await this._quickInputService.pick(r.map((t=>({label:t.label,description:t.providerId,detail:t.detail,edit:t}))),{placeHolder:rt(0,"Select Paste Action")});h=null==t?void 0:t.edit}if(!h)return;const l=function(t,i,e){var s,n;return{edits:[...i.map((i=>new YR(t,"string"==typeof e.insertText?{range:i,text:e.insertText,insertAsSnippet:!1}:{range:i,text:e.insertText.snippet,insertAsSnippet:!0}))),...null!==(n=null===(s=e.additionalEdit)||void 0===s?void 0:s.edits)&&void 0!==n?n:[]]}}(c.uri,e,h);await this._bulkEditService.apply(l,{editor:this._editor})}finally{a.dispose(),this._currentPasteOperation===o&&(this._currentPasteOperation=void 0)}}));this._progressService.withProgress({location:10,title:rt(0,"Running paste handlers")},(()=>o))}setCopyMetadata(t,i){t.setData(A1,JSON.stringify(i))}fetchCopyMetadata(t){var i;if(!t.clipboardData)return;const e=t.clipboardData.getData(A1);if(e)try{return JSON.parse(e)}catch(t){return}const[s,n]=Wk.getTextData(t.clipboardData);return n?{defaultPastePayload:{mode:n.mode,multicursorText:null!==(i=n.multicursorText)&&void 0!==i?i:null,pasteOnNewLine:!!n.isFromEmptySelection}}:void 0}async mergeInDataFromCopy(t,i,e){var s;if((null==i?void 0:i.id)&&(null===(s=this._currentCopyOperation)||void 0===s?void 0:s.handle)===i.id){const i=await this._currentCopyOperation.dataTransferPromise;if(e.isCancellationRequested)return;for(const[e,s]of i)t.replace(e,s)}if(!t.has(Dd.uriList)){const i=await this._clipboardService.readResources();if(e.isCancellationRequested)return;i.length&&t.append(Dd.uriList,s1(c1.create(i)))}}async getPasteEdits(t,i,e,s,n){const o=await oc(Promise.all(t.map((async t=>{var o;try{const r=await(null===(o=t.provideDocumentPasteEdits)||void 0===o?void 0:o.call(t,e,s,i,n));if(r)return{...r,providerId:t.id}}catch(t){console.error(t)}}))),n);return p1(w(null!=o?o:[]))}async applyDefaultPasteHandler(t,i,e){var s,n,o;const r=null!==(s=t.get(Dd.text))&&void 0!==s?s:t.get("text");if(!r)return;const h=await r.asString();if(e.isCancellationRequested)return;const c={text:h,pasteOnNewLine:null!==(n=null==i?void 0:i.defaultPastePayload.pasteOnNewLine)&&void 0!==n&&n,multicursorText:null!==(o=null==i?void 0:i.defaultPastePayload.multicursorText)&&void 0!==o?o:null,mode:null};this._editor.trigger("keyboard","paste",c)}};function L1(t,i){var e;return Boolean(null===(e=t.pasteMimeTypes)||void 0===e?void 0:e.some((t=>i.matches(t))))}M1.ID="editor.contrib.copyPasteActionController",M1=C1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([S1(1,ur),S1(2,QR),S1(3,dH),S1(4,gg),S1(5,Dj),S1(6,RO)],M1);var F1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},T1=function(t,i){return function(e,s){i(e,s,t)}};const R1=rt(0,"Built-in");class O1{async provideDocumentPasteEdits(t,i,e,s){const n=await this.getEdit(e,s);return n?{insertText:n.insertText,label:n.label,detail:n.detail,handledMimeType:n.handledMimeType,yieldTo:n.yieldTo}:void 0}async provideDocumentOnDropEdits(t,i,e,s){const n=await this.getEdit(e,s);return n?{insertText:n.insertText,label:n.label,handledMimeType:n.handledMimeType,yieldTo:n.yieldTo}:void 0}}class I1 extends O1{constructor(){super(...arguments),this.id="text",this.dropMimeTypes=[Dd.text],this.pasteMimeTypes=[Dd.text]}async getEdit(t,i){const e=t.get(Dd.text);if(!e)return;if(t.has(Dd.uriList))return;const s=await e.asString();return{handledMimeType:Dd.text,label:rt(0,"Insert Plain Text"),detail:R1,insertText:s}}}class _1 extends O1{constructor(){super(...arguments),this.id="uri",this.dropMimeTypes=[Dd.uriList],this.pasteMimeTypes=[Dd.uriList]}async getEdit(t,i){const e=await B1(t);if(!e.length||i.isCancellationRequested)return;let s=0;const n=e.map((({uri:t,originalText:i})=>t.scheme===ka.file?t.fsPath:(s++,i))).join(" ");let o;return o=rt(0,s>0?e.length>1?"Insert Uris":"Insert Uri":e.length>1?"Insert Paths":"Insert Path"),{handledMimeType:Dd.uriList,insertText:n,label:o,detail:R1}}}let N1=class extends O1{constructor(t){super(),this._workspaceContextService=t,this.id="relativePath",this.dropMimeTypes=[Dd.uriList],this.pasteMimeTypes=[Dd.uriList]}async getEdit(t,i){const e=await B1(t);if(!e.length||i.isCancellationRequested)return;const s=w(e.map((({uri:t})=>{const i=this._workspaceContextService.getWorkspaceFolder(t);return i?mA(i.uri,t):void 0})));return s.length?{handledMimeType:Dd.uriList,insertText:s.join(" "),label:rt(0,e.length>1?"Insert Relative Paths":"Insert Relative Path"),detail:R1}:void 0}};async function B1(t){const i=t.get(Dd.uriList);if(!i)return[];const e=await i.asString(),s=[];for(const t of c1.parse(e))try{s.push({uri:ms.parse(t),originalText:t})}catch(t){}return s}N1=F1([T1(0,jO)],N1);let P1=class extends ie{constructor(t,i){super(),this._register(t.documentOnDropEditProvider.register("*",new I1)),this._register(t.documentOnDropEditProvider.register("*",new _1)),this._register(t.documentOnDropEditProvider.register("*",new N1(i)))}};P1=F1([T1(0,gg),T1(1,jO)],P1);let $1=class extends ie{constructor(t,i){super(),this._register(t.documentPasteEditProvider.register("*",new I1)),this._register(t.documentPasteEditProvider.register("*",new _1)),this._register(t.documentPasteEditProvider.register("*",new N1(i)))}};$1=F1([T1(0,gg),T1(1,jO)],$1),lu(M1.ID,M1,0),WH($1),hu(new class extends eu{constructor(){super({id:D1,precondition:E1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(t,i,e){var s;return null===(s=M1.get(i))||void 0===s?void 0:s.changePasteType()}}),cu(class extends su{constructor(){super({id:"editor.action.pasteAs",label:rt(0,"Paste As..."),alias:"Paste As...",precondition:void 0,metadata:{description:"Paste as",args:[{name:"args",schema:{type:"object",properties:{id:{type:"string",description:rt(0,"The id of the paste edit to try applying. If not provided, the editor will show a picker.")}}}}]}})}run(t,i,e){var s;const n="string"==typeof(null==e?void 0:e.id)?e.id:void 0;return null===(s=M1.get(i))||void 0===s?void 0:s.pasteAs(n)}});class W1{constructor(t){this.identifier=t}}const j1=dr("treeViewsDndService");Cd(j1,class{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(t){if(t&&this._dragOperations.has(t)){const i=this._dragOperations.get(t);return this._dragOperations.delete(t),i}}},1);var z1,H1=function(t,i){return function(e,s){i(e,s,t)}};const V1="editor.experimental.dropIntoEditor.defaultProvider",U1="editor.changeDropType",q1=new ch("dropWidgetVisible",!1,rt(0,"Whether the drop widget is showing"));let K1=z1=class extends ie{static get(t){return t.getContribution(z1.ID)}constructor(t,i,e,s,n){super(),this._configService=e,this._languageFeaturesService=s,this._treeViewsDragAndDropService=n,this.treeItemsTransfer=a1.getInstance(),this._dropProgressManager=this._register(i.createInstance(w1,"dropIntoEditor",t)),this._postDropWidgetManager=this._register(i.createInstance(x1,"dropIntoEditor",t,q1,{id:U1,label:rt(0,"Show drop options...")})),this._register(t.onDropIntoEditor((i=>this.onDropIntoEditor(t,i.position,i.event))))}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(t,i,e){var s;if(!e.dataTransfer||!t.hasModel())return;null===(s=this._currentOperation)||void 0===s||s.cancel(),t.focus(),t.setPosition(i);const n=nc((async s=>{const o=new gK(t,1,void 0,s);try{const n=await this.extractDataTransferData(e);if(0===n.size||o.token.isCancellationRequested)return;const r=t.getModel();if(!r)return;const h=this._languageFeaturesService.documentOnDropEditProvider.ordered(r).filter((t=>!t.dropMimeTypes||t.dropMimeTypes.some((t=>n.matches(t))))),c=await this.getDropEdits(h,r,i,n,o);if(o.token.isCancellationRequested)return;if(c.length){const e=this.getInitialActiveEditIndex(r,c),n="afterDrop"===t.getOption(36).showDropSelector;await this._postDropWidgetManager.applyEditAndShowIfNeeded([Ms.fromPositions(i)],{activeEditIndex:e,allEdits:c},n,s)}}finally{o.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}}));this._dropProgressManager.showWhile(i,rt(0,"Running drop handlers. Click to cancel"),n),this._currentOperation=n}async getDropEdits(t,i,e,s,n){const o=await oc(Promise.all(t.map((async t=>{try{const o=await t.provideDocumentOnDropEdits(i,e,s,n.token);if(o)return{...o,providerId:t.id}}catch(t){console.error(t)}}))),n.token);return p1(w(null!=o?o:[]))}getInitialActiveEditIndex(t,i){const e=this._configService.getValue(V1,{resource:t.uri});for(const[t,s]of Object.entries(e)){const e=i.findIndex((i=>s===i.providerId&&i.handledMimeType&&r1(t,[i.handledMimeType])));if(e>=0)return e}return 0}async extractDataTransferData(t){if(!t.dataTransfer)return new n1;const i=f1(t.dataTransfer);if(this.treeItemsTransfer.hasData(W1.prototype)){const t=this.treeItemsTransfer.getData(W1.prototype);if(Array.isArray(t))for(const e of t){const t=await this._treeViewsDragAndDropService.removeDragOperationTransfer(e.identifier);if(t)for(const[e,s]of t)i.replace(e,s)}}return i}};K1.ID="editor.contrib.dropIntoEditorController",K1=z1=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([H1(1,ur),H1(2,pd),H1(3,gg),H1(4,j1)],K1),lu(K1.ID,K1,2),hu(new class extends eu{constructor(){super({id:U1,precondition:q1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(t,i,e){var s;null===(s=K1.get(i))||void 0===s||s.changeDropType()}}),WH(P1),Dh.as(Md).registerConfiguration({...iO,properties:{[V1]:{type:"object",scope:5,description:rt(0,"Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});class G1{constructor(t){this._editor=t,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const t=this._findScopeDecorationIds.map((t=>this._editor.getModel().getDecorationRange(t))).filter((t=>!!t));if(t.length)return t}return null}getStartPosition(){return this._startPosition}setStartPosition(t){this._startPosition=t,this.setCurrentFindMatch(null)}_getDecorationIndex(t){const i=this._decorations.indexOf(t);return i>=0?i+1:1}getDecorationRangeAt(t){const i=t{if(null!==this._highlightedDecorationId&&(t.changeDecorationOptions(this._highlightedDecorationId,G1._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),null!==i&&(this._highlightedDecorationId=i,t.changeDecorationOptions(this._highlightedDecorationId,G1._CURRENT_FIND_MATCH_DECORATION)),null!==this._rangeHighlightDecorationId&&(t.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),null!==i){let e=this._editor.getModel().getDecorationRange(i);if(e.startLineNumber!==e.endLineNumber&&1===e.endColumn){const t=e.endLineNumber-1,i=this._editor.getModel().getLineMaxColumn(t);e=new Ms(e.startLineNumber,e.startColumn,t,i)}this._rangeHighlightDecorationId=t.addDecoration(e,G1._RANGE_HIGHLIGHT_DECORATION)}})),e}set(t,i){this._editor.changeDecorations((e=>{let s=G1._FIND_MATCH_DECORATION;const n=[];if(t.length>1e3){s=G1._FIND_MATCH_NO_OVERVIEW_DECORATION;const i=this._editor.getModel().getLineCount(),e=this._editor.getLayoutInfo().height,o=Math.max(2,Math.ceil(3/(e/i)));let r=t[0].range.startLineNumber,h=t[0].range.endLineNumber;for(let i=1,e=t.length;i=e.startLineNumber?e.endLineNumber>h&&(h=e.endLineNumber):(n.push({range:new Ms(r,1,h,1),options:G1._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),r=e.startLineNumber,h=e.endLineNumber)}n.push({range:new Ms(r,1,h,1),options:G1._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const o=new Array(t.length);for(let i=0,e=t.length;ie.removeDecoration(t))),this._findScopeDecorationIds=[]),(null==i?void 0:i.length)&&(this._findScopeDecorationIds=i.map((t=>e.addDecoration(t,G1._FIND_SCOPE_DECORATION))))}))}matchBeforePosition(t){if(0===this._decorations.length)return null;for(let i=this._decorations.length-1;i>=0;i--){const e=this._decorations[i],s=this._editor.getModel().getDecorationRange(e);if(s&&!(s.endLineNumber>t.lineNumber)){if(s.endLineNumbert.column))return s}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(t){if(0===this._decorations.length)return null;for(let i=0,e=this._decorations.length;it.lineNumber)return s;if(!(s.startColumn0){const t=[];for(let i=0;iMs.compareRangesUsingStarts(t.range,i.range)));const e=[];let s=t[0];for(let i=1;i0?i[0].toUpperCase()+i.substr(1):t[0][0].toUpperCase()!==t[0][0]&&i.length>0?i[0].toLowerCase()+i.substr(1):i}return i}function J1(t,i,e){return-1!==t[0].indexOf(e)&&-1!==i.indexOf(e)&&t[0].split(e).length===i.split(e).length}function Y1(t,i,e){const s=i.split(e),n=t[0].split(e);let o="";return s.forEach(((t,i)=>{o+=Q1([n[i]],t)+e})),o.slice(0,-1)}class X1{constructor(t){this.staticValue=t,this.kind=0}}class t2{constructor(t){this.pieces=t,this.kind=1}}class i2{static fromStaticValue(t){return new i2([e2.staticValue(t)])}get hasReplacementPatterns(){return 1===this._state.kind}constructor(t){this._state=t&&0!==t.length?1===t.length&&null!==t[0].staticValue?new X1(t[0].staticValue):new t2(t):new X1("")}buildReplaceString(t,i){if(0===this._state.kind)return i?Q1(t,this._state.staticValue):this._state.staticValue;let e="";for(let i=0,s=this._state.pieces.length;i0){const t=[],i=s.caseOps.length;let e=0;for(let o=0,r=n.length;o=i){t.push(n.slice(o));break}switch(s.caseOps[e]){case"U":t.push(n[o].toUpperCase());break;case"u":t.push(n[o].toUpperCase()),e++;break;case"L":t.push(n[o].toLowerCase());break;case"l":t.push(n[o].toLowerCase()),e++;break;default:t.push(n[o])}}n=t.join("")}e+=n}return e}static _substitute(t,i){if(null===i)return"";if(0===t)return i[0];let e="";for(;t>0;){if(tthis.research(!1)),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition((t=>{3!==t.reason&&5!==t.reason&&6!==t.reason||this._decorations.setStartPosition(this._editor.getPosition())}))),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent((t=>{this._ignoreModelContentChanged||(t.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())}))),this._toDispose.add(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,Ji(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(t){!this._isDisposed&&this._editor.hasModel()&&(t.searchString||t.isReplaceRevealed||t.isRegex||t.wholeWord||t.matchCase||t.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet((()=>{t.searchScope?this.research(t.moveCursor,this._state.searchScope):this.research(t.moveCursor)}),240)):t.searchScope?this.research(t.moveCursor,this._state.searchScope):this.research(t.moveCursor))}static _getSearchRange(t,i){return i||t.getFullModelRange()}research(t,i){let e=null;void 0!==i?null!==i&&(e=Array.isArray(i)?i:[i]):e=this._decorations.getFindScopes(),null!==e&&(e=e.map((t=>{if(t.startLineNumber!==t.endLineNumber){let i=t.endLineNumber;return 1===t.endColumn&&(i-=1),new Ms(t.startLineNumber,1,i,this._editor.getModel().getLineMaxColumn(i))}return t})));const s=this._findMatches(e,!1,x2);this._decorations.set(s,e);const n=this._editor.getSelection();let o=this._decorations.getCurrentMatchesPosition(n);if(0===o&&s.length>0){const t=ep(s.map((t=>t.range)),(t=>Ms.compareRangesUsingStarts(t,n)>=0));o=t>0?t-1+1:o}this._state.changeMatchInfo(o,this._decorations.getCount(),void 0),t&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const t=this._decorations.getFindScope();return t&&this._editor.revealRangeInCenterIfOutsideViewport(t,0),!0}return!1}_setCurrentFindMatch(t){const i=this._decorations.setCurrentFindMatch(t);this._state.changeMatchInfo(i,this._decorations.getCount(),t),this._editor.setSelection(t),this._editor.revealRangeInCenterIfOutsideViewport(t,0)}_prevSearchPosition(t){const i=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:e,column:s}=t;const n=this._editor.getModel();return i||1===s?(1===e?e=n.getLineCount():e--,s=n.getLineMaxColumn(e)):s--,new As(e,s)}_moveToPrevMatch(t,i=!1){if(!this._state.canNavigateBack()){const i=this._decorations.matchAfterPosition(t);return void(i&&this._setCurrentFindMatch(i))}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:e,column:s}=t;const n=this._editor.getModel();return i||s===n.getLineMaxColumn(e)?(e===n.getLineCount()?e=1:e++,s=1):s++,new As(e,s)}_moveToNextMatch(t){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(t);return void(i&&this._setCurrentFindMatch(i))}if(this._decorations.getCount()=n)break;const o=t.charCodeAt(s);if(36===o){e.emitUnchanged(s-1),e.emitStatic("$",s+1);continue}if(48===o||38===o){e.emitUnchanged(s-1),e.emitMatchIndex(0,s+1,i),i.length=0;continue}if(49<=o&&o<=57){let r=o-48;if(s+1=n)break;const o=t.charCodeAt(s);switch(o){case 92:e.emitUnchanged(s-1),e.emitStatic("\\",s+1);break;case 110:e.emitUnchanged(s-1),e.emitStatic("\n",s+1);break;case 116:e.emitUnchanged(s-1),e.emitStatic("\t",s+1);break;case 117:case 85:case 108:case 76:e.emitUnchanged(s-1),e.emitStatic("",s+1),i.push(String.fromCharCode(o))}}}return e.finalize()}(this._state.replaceString):i2.fromStaticValue(this._state.replaceString)}replace(){if(!this._hasMatches())return;const t=this._getReplacePattern(),i=this._editor.getSelection(),e=this._getNextMatch(i.getStartPosition(),!0,!1);if(e)if(i.equalsRange(e.range)){const s=t.buildReplaceString(e.matches,this._state.preserveCase),n=new gC(i,s);this._executeEditorCommand("replace",n),this._decorations.setStartPosition(new As(i.startLineNumber,i.startColumn+s.length)),this.research(!0)}else this._decorations.setStartPosition(this._editor.getPosition()),this._setCurrentFindMatch(e.range)}_findMatches(t,i,e){const s=(t||[null]).map((t=>C2._getSearchRange(this._editor.getModel(),t)));return this._editor.getModel().findMatches(this._state.searchString,s,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(129):null,i,e)}replaceAll(){if(!this._hasMatches())return;const t=this._decorations.getFindScopes();null===t&&this._state.matchesCount>=x2?this._largeReplaceAll():this._regularReplaceAll(t),this.research(!1)}_largeReplaceAll(){const t=new Wf(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(129):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let t="mu";i.ignoreCase&&(t+="i"),i.global&&(t+="g"),i=new RegExp(i.source,t)}const e=this._editor.getModel(),s=e.getValue(1),n=e.getFullModelRange(),o=this._getReplacePattern();let r;const h=this._state.preserveCase;r=s.replace(i,o.hasReplacementPatterns||h?function(){return o.buildReplaceString(arguments,h)}:o.buildReplaceString(null,h));const c=new bC(n,r,this._editor.getSelection());this._executeEditorCommand("replaceAll",c)}_regularReplaceAll(t){const i=this._getReplacePattern(),e=this._findMatches(t,i.hasReplacementPatterns||this._state.preserveCase,1073741824),s=[];for(let t=0,n=e.length;tt.range)),s);this._executeEditorCommand("replaceAll",n)}selectAllMatches(){if(!this._hasMatches())return;const t=this._decorations.getFindScopes();let i=this._findMatches(t,!1,1073741824).map((t=>new Ls(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn)));const e=this._editor.getSelection();for(let t=0,s=i.length;tthis._hide()),2e3)),this._isVisible=!1,this._editor=t,this._state=i,this._keybindingService=e,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const s={inputActiveOptionBorder:ew(vw),inputActiveOptionForeground:ew(yw),inputActiveOptionBackground:ew(bw)};this.caseSensitive=this._register(new JP({appendTitle:this._keybindingLabelFor(g2),isChecked:this._state.matchCase,...s})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange((()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)}))),this.wholeWords=this._register(new YP({appendTitle:this._keybindingLabelFor(m2),isChecked:this._state.wholeWord,...s})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange((()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)}))),this.regex=this._register(new XP({appendTitle:this._keybindingLabelFor(w2),isChecked:this._state.isRegex,...s})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange((()=>{this._state.change({isRegex:this.regex.checked},!1)}))),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange((t=>{let i=!1;t.isRegex&&(this.regex.checked=this._state.isRegex,i=!0),t.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,i=!0),t.matchCase&&(this.caseSensitive.checked=this._state.matchCase,i=!0),!this._state.isRevealed&&i&&this._revealTemporarily()}))),this._register(Va(this._domNode,Ll.MOUSE_LEAVE,(()=>this._onMouseLeave()))),this._register(Va(this._domNode,"mouseover",(()=>this._onMouseOver())))}_keybindingLabelFor(t){const i=this._keybindingService.lookupKeybinding(t);return i?` (${i.getLabel()})`:""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return S2.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}}function D2(t,i){return 1===t||2!==t&&i}S2.ID="editor.contrib.findOptionsWidget";class E2 extends ie{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return D2(this._isRegexOverride,this._isRegex)}get wholeWord(){return D2(this._wholeWordOverride,this._wholeWord)}get matchCase(){return D2(this._matchCaseOverride,this._matchCase)}get preserveCase(){return D2(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new fe),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(t,i,e){const s={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let n=!1;0===i&&(t=0),t>i&&(t=i),this._matchesPosition!==t&&(this._matchesPosition=t,s.matchesPosition=!0,n=!0),this._matchesCount!==i&&(this._matchesCount=i,s.matchesCount=!0,n=!0),void 0!==e&&(Ms.equalsRange(this._currentMatch,e)||(this._currentMatch=e,s.currentMatch=!0,n=!0)),n&&this._onFindReplaceStateChange.fire(s)}change(t,i,e=!0){var s;const n={moveCursor:i,updateHistory:e,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let o=!1;const r=this.isRegex,h=this.wholeWord,c=this.matchCase,a=this.preserveCase;void 0!==t.searchString&&this._searchString!==t.searchString&&(this._searchString=t.searchString,n.searchString=!0,o=!0),void 0!==t.replaceString&&this._replaceString!==t.replaceString&&(this._replaceString=t.replaceString,n.replaceString=!0,o=!0),void 0!==t.isRevealed&&this._isRevealed!==t.isRevealed&&(this._isRevealed=t.isRevealed,n.isRevealed=!0,o=!0),void 0!==t.isReplaceRevealed&&this._isReplaceRevealed!==t.isReplaceRevealed&&(this._isReplaceRevealed=t.isReplaceRevealed,n.isReplaceRevealed=!0,o=!0),void 0!==t.isRegex&&(this._isRegex=t.isRegex),void 0!==t.wholeWord&&(this._wholeWord=t.wholeWord),void 0!==t.matchCase&&(this._matchCase=t.matchCase),void 0!==t.preserveCase&&(this._preserveCase=t.preserveCase),void 0!==t.searchScope&&((null===(s=t.searchScope)||void 0===s?void 0:s.every((t=>{var i;return null===(i=this._searchScope)||void 0===i?void 0:i.some((i=>!Ms.equalsRange(i,t)))})))||(this._searchScope=t.searchScope,n.searchScope=!0,o=!0)),void 0!==t.loop&&this._loop!==t.loop&&(this._loop=t.loop,n.loop=!0,o=!0),void 0!==t.isSearching&&this._isSearching!==t.isSearching&&(this._isSearching=t.isSearching,n.isSearching=!0,o=!0),void 0!==t.filters&&(this._filters?this._filters.update(t.filters):this._filters=t.filters,n.filters=!0,o=!0),this._isRegexOverride=void 0!==t.isRegexOverride?t.isRegexOverride:0,this._wholeWordOverride=void 0!==t.wholeWordOverride?t.wholeWordOverride:0,this._matchCaseOverride=void 0!==t.matchCaseOverride?t.matchCaseOverride:0,this._preserveCaseOverride=void 0!==t.preserveCaseOverride?t.preserveCaseOverride:0,r!==this.isRegex&&(o=!0,n.isRegex=!0),h!==this.wholeWord&&(o=!0,n.wholeWord=!0),c!==this.matchCase&&(o=!0,n.matchCase=!0),a!==this.preserveCase&&(o=!0,n.preserveCase=!0),o&&this._onFindReplaceStateChange.fire(n)}canNavigateBack(){return this.canNavigateInLoop()||1!==this.matchesPosition}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=x2}}const A2=rt(0,"input"),M2=rt(0,"Preserve Case");class L2 extends KP{constructor(t){super({icon:Os.preserveCase,title:M2+t.appendTitle,isChecked:t.isChecked,inputActiveOptionBorder:t.inputActiveOptionBorder,inputActiveOptionForeground:t.inputActiveOptionForeground,inputActiveOptionBackground:t.inputActiveOptionBackground})}}class F2 extends hk{constructor(t,i,e,s){super(),this._showOptionButtons=e,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new fe),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new fe),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new fe),this._onInput=this._register(new fe),this._onKeyUp=this._register(new fe),this._onPreserveCaseKeyDown=this._register(new fe),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=i,this.placeholder=s.placeholder||"",this.validation=s.validation,this.label=s.label||A2;const n=s.appendPreserveCaseLabel||"",o=s.history||[],r=!!s.flexibleHeight,h=!!s.flexibleWidth,c=s.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new n$(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:o,showHistoryHint:s.showHistoryHint,flexibleHeight:r,flexibleWidth:h,flexibleMaxHeight:c,inputBoxStyles:s.inputBoxStyles})),this.preserveCase=this._register(new L2({appendTitle:n,isChecked:!1,...s.toggleStyles})),this._register(this.preserveCase.onChange((t=>{this._onDidOptionChange.fire(t),!t&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()}))),this._register(this.preserveCase.onKeyDown((t=>{this._onPreserveCaseKeyDown.fire(t)}))),this.cachedOptionsWidth=this._showOptionButtons?this.preserveCase.width():0;const a=[this.preserveCase.domNode];this.onkeydown(this.domNode,(t=>{if(t.equals(15)||t.equals(17)||t.equals(9)){const i=a.indexOf(this.domNode.ownerDocument.activeElement);if(i>=0){let e=-1;t.equals(17)?e=(i+1)%a.length:t.equals(15)&&(e=0===i?a.length-1:i-1),t.equals(9)?(a[i].blur(),this.inputBox.focus()):e>=0&&a[e].focus(),Fl(t,!0)}}}));const l=document.createElement("div");l.className="controls",l.style.display=this._showOptionButtons?"block":"none",l.appendChild(this.preserveCase.domNode),this.domNode.appendChild(l),null==t||t.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,(t=>this._onKeyDown.fire(t))),this.onkeyup(this.inputBox.inputElement,(t=>this._onKeyUp.fire(t))),this.oninput(this.inputBox.inputElement,(()=>this._onInput.fire())),this.onmousedown(this.inputBox.inputElement,(t=>this._onMouseDown.fire(t)))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(t){t?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(t){this.preserveCase.checked=t}focusOnPreserve(){this.preserveCase.focus()}validate(){var t;null===(t=this.inputBox)||void 0===t||t.validate()}set width(t){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=t+"px"}dispose(){super.dispose()}}var T2=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},R2=function(t,i){return function(e,s){i(e,s,t)}};const O2=new ch("suggestWidgetVisible",!1,rt(0,"Whether suggestion are visible")),I2="historyNavigationWidgetFocus",_2="historyNavigationForwardsEnabled",N2="historyNavigationBackwardsEnabled";let B2;const P2=[];function $2(t,i){if(P2.includes(i))throw new Error("Cannot register the same widget multiple times");P2.push(i);const e=new te,s=new ch(I2,!1).bindTo(t),n=new ch(_2,!0).bindTo(t),o=new ch(N2,!0).bindTo(t),r=()=>{s.set(!0),B2=i},h=()=>{s.set(!1),B2===i&&(B2=void 0)};return gl(i.element)&&r(),e.add(i.onDidFocus((()=>r()))),e.add(i.onDidBlur((()=>h()))),e.add(Xi((()=>{P2.splice(P2.indexOf(i),1),h()}))),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:o,dispose(){e.dispose()}}}let W2=class extends r${constructor(t,i,e,s){super(t,i,e);const n=this._register(s.createScoped(this.inputBox.element));this._register($2(n,this.inputBox))}};W2=T2([R2(3,ah)],W2);let j2=class extends F2{constructor(t,i,e,s,n=!1){super(t,i,n,e);const o=this._register(s.createScoped(this.inputBox.element));this._register($2(o,this.inputBox))}};function z2(t){var i,e;return"Up"===(null===(i=t.lookupKeybinding("history.showPrevious"))||void 0===i?void 0:i.getElectronAccelerator())&&"Down"===(null===(e=t.lookupKeybinding("history.showNext"))||void 0===e?void 0:e.getElectronAccelerator())}j2=T2([R2(3,ah)],j2),Ah.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:zr.and(zr.has(I2),zr.equals(N2,!0),zr.not("isComposing"),O2.isEqualTo(!1)),primary:16,secondary:[528],handler:()=>{null==B2||B2.showPreviousValue()}}),Ah.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:zr.and(zr.has(I2),zr.equals(_2,!0),zr.not("isComposing"),O2.isEqualTo(!1)),primary:18,secondary:[530],handler:()=>{null==B2||B2.showNextValue()}});const H2=_z("find-selection",Os.selection,rt(0,"Icon for 'Find in Selection' in the editor find widget.")),V2=_z("find-collapsed",Os.chevronRight,rt(0,"Icon to indicate that the editor find widget is collapsed.")),U2=_z("find-expanded",Os.chevronDown,rt(0,"Icon to indicate that the editor find widget is expanded.")),q2=_z("find-replace",Os.replace,rt(0,"Icon for 'Replace' in the editor find widget.")),K2=_z("find-replace-all",Os.replaceAll,rt(0,"Icon for 'Replace All' in the editor find widget.")),G2=_z("find-previous-match",Os.arrowUp,rt(0,"Icon for 'Find Previous' in the editor find widget.")),Z2=_z("find-next-match",Os.arrowDown,rt(0,"Icon for 'Find Next' in the editor find widget.")),Q2=rt(0,"Find / Replace"),J2=rt(0,"Find"),Y2=rt(0,"Find"),X2=rt(0,"Previous Match"),t4=rt(0,"Next Match"),i4=rt(0,"Find in Selection"),e4=rt(0,"Close"),s4=rt(0,"Replace"),n4=rt(0,"Replace"),o4=rt(0,"Replace"),r4=rt(0,"Replace All"),h4=rt(0,"Toggle Replace"),c4=rt(0,"Only the first {0} results are highlighted, but all find operations work on the entire text.",x2),a4=rt(0,"{0} of {1}"),l4=rt(0,"No results"),u4=419;let d4=69;const f4="ctrlEnterReplaceAll.windows.donotask",p4=St?256:2048;class g4{constructor(t){this.afterLineNumber=t,this.heightInPx=33,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function m4(t,i,e){const s=!!i.match(/\n/);e&&s&&e.selectionStart>0&&t.stopPropagation()}function w4(t,i,e){const s=!!i.match(/\n/);e&&s&&e.selectionEndthis._updateHistoryDelayer.cancel()))),this._register(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration((t=>{if(t.hasChanged(90)&&(this._codeEditor.getOption(90)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),t.hasChanged(143)&&this._tryUpdateWidgetWidth(),t.hasChanged(2)&&this.updateAccessibilitySupport(),t.hasChanged(41)){const t=this._codeEditor.getOption(41).loop;this._state.change({loop:t},!1);const i=this._codeEditor.getOption(41).addExtraSpaceOnTop;i&&!this._viewZone&&(this._viewZone=new g4(0),this._showViewZone()),!i&&this._viewZone&&this._removeViewZone()}}))),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection((()=>{this._isVisible&&this._updateToggleSelectionFindButton()}))),this._register(this._codeEditor.onDidFocusEditorWidget((async()=>{if(this._isVisible){const t=await this._controller.getGlobalBufferTerm();t&&t!==this._state.searchString&&(this._state.change({searchString:t},!1),this._findInput.select())}}))),this._findInputFocused=o2.bindTo(o),this._findFocusTracker=this._register(Rl(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus((()=>{this._findInputFocused.set(!0),this._updateSearchScope()}))),this._register(this._findFocusTracker.onDidBlur((()=>{this._findInputFocused.set(!1)}))),this._replaceInputFocused=r2.bindTo(o),this._replaceFocusTracker=this._register(Rl(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus((()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()}))),this._register(this._replaceFocusTracker.onDidBlur((()=>{this._replaceInputFocused.set(!1)}))),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new g4(0)),this._register(this._codeEditor.onDidChangeModel((()=>{this._isVisible&&(this._viewZoneId=void 0)}))),this._register(this._codeEditor.onDidScrollChange((t=>{t.scrollTopChanged?this._layoutViewZone():setTimeout((()=>{this._layoutViewZone()}),0)})))}getId(){return v4.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(t){if(t.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}t.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),t.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),t.isReplaceRevealed&&(this._state.isReplaceRevealed?this._codeEditor.getOption(90)||this._isReplaceVisible||(this._isReplaceVisible=!0,this._replaceInput.width=ol(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(t.isRevealed||t.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),t.isRegex&&this._findInput.setRegex(this._state.isRegex),t.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),t.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),t.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),t.searchScope&&(this._toggleSelectionFind.checked=!!this._state.searchScope,this._updateToggleSelectionFindButton()),(t.searchString||t.matchesCount||t.matchesPosition)&&(this._domNode.classList.toggle("no-results",this._state.searchString.length>0&&0===this._state.matchesCount),this._updateMatchesCount(),this._updateButtons()),(t.searchString||t.currentMatch)&&this._layoutViewZone(),t.updateHistory&&this._delayedUpdateHistory(),t.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,Pi)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){let t;if(this._matchesCount.style.minWidth=d4+"px",this._matchesCount.title=this._state.matchesCount>=x2?c4:"",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild),this._state.matchesCount>0){let i=String(this._state.matchesCount);this._state.matchesCount>=x2&&(i+="+");let e=String(this._state.matchesPosition);"0"===e&&(e="?"),t=qn(a4,e,i)}else t=l4;this._matchesCount.appendChild(document.createTextNode(t)),Tm(this._getAriaLabel(t,this._state.currentMatch,this._state.searchString)),d4=Math.max(d4,this._matchesCount.clientWidth)}_getAriaLabel(t,i,e){if(t===l4)return""===e?rt(0,"{0} found",t):rt(0,"{0} found for '{1}'",t,e);if(i){const s=rt(0,"{0} found for '{1}', at {2}",t,e,i.startLineNumber+":"+i.startColumn),n=this._codeEditor.getModel();return n&&i.startLineNumber<=n.getLineCount()&&i.startLineNumber>=1?`${n.getLineContent(i.startLineNumber)}, ${s}`:s}return rt(0,"{0} found for '{1}'",t,e)}_updateToggleSelectionFindButton(){const t=this._codeEditor.getSelection();this._isVisible&&(this._toggleSelectionFind.checked||t&&(t.startLineNumber!==t.endLineNumber||t.startColumn!==t.endColumn))?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const t=this._state.searchString.length>0,i=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&t&&i&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&t&&i&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&t),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&t),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const e=!this._codeEditor.getOption(90);this._toggleReplaceBtn.setEnabled(this._isVisible&&e)}_reveal(){if(this._revealTimeouts.forEach((t=>{clearTimeout(t)})),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const t=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":this._toggleSelectionFind.checked=!!t&&t.startLineNumber!==t.endLineNumber}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout((()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")}),0)),this._revealTimeouts.push(setTimeout((()=>{this._findInput.validate()}),200)),this._codeEditor.layoutOverlayWidget(this);let i=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&t){const e=this._codeEditor.getDomNode();if(e){const s=nl(e),n=this._codeEditor.getScrolledVisiblePosition(t.getStartPosition()),o=s.left+(n?n.left:0);if(this._viewZone&&(n?n.top:0)t.startLineNumber&&(i=!1);const e=sl(this._domNode).left;o>e&&(i=!1);const n=this._codeEditor.getScrolledVisiblePosition(t.getEndPosition());s.left+(n?n.left:0)>e&&(i=!1)}}}this._showViewZone(i)}}_hide(t){this._revealTimeouts.forEach((t=>{clearTimeout(t)})),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),t&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(t){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return void this._removeViewZone();if(!this._isVisible)return;const i=this._viewZone;void 0===this._viewZoneId&&i&&this._codeEditor.changeViewZones((e=>{i.heightInPx=this._getHeight(),this._viewZoneId=e.addZone(i),this._codeEditor.setScrollTop(t||this._codeEditor.getScrollTop()+i.heightInPx)}))}_showViewZone(t=!0){if(!this._isVisible)return;if(!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;void 0===this._viewZone&&(this._viewZone=new g4(0));const i=this._viewZone;this._codeEditor.changeViewZones((e=>{if(void 0!==this._viewZoneId){const s=this._getHeight();if(s===i.heightInPx)return;const n=s-i.heightInPx;return i.heightInPx=s,e.layoutZone(this._viewZoneId),void(t&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+n))}{let s=this._getHeight();if(s-=this._codeEditor.getOption(83).top,s<=0)return;i.heightInPx=s,this._viewZoneId=e.addZone(i),t&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+s)}}))}_removeViewZone(){this._codeEditor.changeViewZones((t=>{void 0!==this._viewZoneId&&(t.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))}))}_tryUpdateWidgetWidth(){if(!this._isVisible)return;if(!this._domNode.isConnected)return;const t=this._codeEditor.getLayoutInfo();if(t.contentWidth<=0)return void this._domNode.classList.add("hiddenEditor");this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const i=t.width,e=t.minimap.minimapWidth;let s=!1,n=!1,o=!1;if(this._resized&&ol(this._domNode)>u4)return this._domNode.style.maxWidth=i-28-e-15+"px",void(this._replaceInput.width=ol(this._findInput.domNode));if(447+e>=i&&(n=!0),447+e-d4>=i&&(o=!0),447+e-d4>=i+50&&(s=!0),this._domNode.classList.toggle("collapsed-find-widget",s),this._domNode.classList.toggle("narrow-find-widget",o),this._domNode.classList.toggle("reduced-find-widget",n),o||s||(this._domNode.style.maxWidth=i-28-e-15+"px"),this._findInput.layout({collapsedFindWidget:s,narrowFindWidget:o,reducedFindWidget:n}),this._resized){const t=this._findInput.inputBox.element.clientWidth;t>0&&(this._replaceInput.width=t)}else this._isReplaceVisible&&(this._replaceInput.width=ol(this._findInput.domNode))}_getHeight(){let t=0;return t+=4,t+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(t+=4,t+=this._replaceInput.inputBox.height+2),t+=4,t}_tryUpdateHeight(){const t=this._getHeight();return(null===this._cachedHeight||this._cachedHeight!==t)&&(this._cachedHeight=t,this._domNode.style.height=`${t}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const t=this._codeEditor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.startLineNumber===t.endLineNumber||Ms.equalsRange(t,this._state.currentMatch)?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}_onFindInputMouseDown(t){t.middleButton&&t.stopPropagation()}_onFindInputKeyDown(t){return t.equals(3|p4)?(this._keybindingService.dispatchEvent(t,t.target)||this._findInput.inputBox.insertAtCursor("\n"),void t.preventDefault()):t.equals(2)?(this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),void t.preventDefault()):t.equals(2066)?(this._codeEditor.focus(),void t.preventDefault()):t.equals(16)?m4(t,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):t.equals(18)?w4(t,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea")):void 0}_onReplaceInputKeyDown(t){return t.equals(3|p4)?(this._keybindingService.dispatchEvent(t,t.target)||(Ct&&Et&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(rt(0,"Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(f4,!0,0,0)),this._replaceInput.inputBox.insertAtCursor("\n")),void t.preventDefault()):t.equals(2)?(this._findInput.focusOnCaseSensitive(),void t.preventDefault()):t.equals(1026)?(this._findInput.focus(),void t.preventDefault()):t.equals(2066)?(this._codeEditor.focus(),void t.preventDefault()):t.equals(16)?m4(t,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):t.equals(18)?w4(t,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea")):void 0}getVerticalSashLeft(t){return 0}_keybindingLabelFor(t){const i=this._keybindingService.lookupKeybinding(t);return i?` (${i.getLabel()})`:""}_buildDomNode(){this._findInput=this._register(new W2(null,this._contextViewProvider,{width:221,label:J2,placeholder:Y2,appendCaseSensitiveLabel:this._keybindingLabelFor(g2),appendWholeWordsLabel:this._keybindingLabelFor(m2),appendRegexLabel:this._keybindingLabelFor(w2),validation:t=>{if(0===t.length||!this._findInput.getRegex())return null;try{return null}catch(t){return{content:t.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>z2(this._keybindingService),inputBoxStyles:EB,toggleStyles:DB},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown((t=>this._onFindInputKeyDown(t)))),this._register(this._findInput.inputBox.onDidChange((()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)}))),this._register(this._findInput.onDidOptionChange((()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)}))),this._register(this._findInput.onCaseSensitiveKeyDown((t=>{t.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),t.preventDefault())}))),this._register(this._findInput.onRegexKeyDown((t=>{t.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),t.preventDefault())}))),this._register(this._findInput.inputBox.onDidHeightChange((()=>{this._tryUpdateHeight()&&this._showViewZone()}))),Dt&&this._register(this._findInput.onMouseDown((t=>this._onFindInputMouseDown(t)))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount(),this._prevBtn=this._register(new b4({label:X2+this._keybindingLabelFor(f2),icon:G2,onTrigger:()=>{G(this._codeEditor.getAction(f2)).run().then(void 0,Pi)}})),this._nextBtn=this._register(new b4({label:t4+this._keybindingLabelFor(d2),icon:Z2,onTrigger:()=>{G(this._codeEditor.getAction(d2)).run().then(void 0,Pi)}}));const t=document.createElement("div");t.className="find-part",t.appendChild(this._findInput.domNode);const i=document.createElement("div");i.className="find-actions",t.appendChild(i),i.appendChild(this._matchesCount),i.appendChild(this._prevBtn.domNode),i.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new KP({icon:H2,title:i4+this._keybindingLabelFor(v2),isChecked:!1,inputActiveOptionBackground:ew(bw),inputActiveOptionBorder:ew(vw),inputActiveOptionForeground:ew(yw)})),this._register(this._toggleSelectionFind.onChange((()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){const t=this._codeEditor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}else this._state.change({searchScope:null},!0)}))),i.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new b4({label:e4+this._keybindingLabelFor(p2),icon:Wz,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:t=>{t.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),t.preventDefault())}})),this._replaceInput=this._register(new j2(null,void 0,{label:s4,placeholder:n4,appendPreserveCaseLabel:this._keybindingLabelFor(b2),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>z2(this._keybindingService),inputBoxStyles:EB,toggleStyles:DB},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown((t=>this._onReplaceInputKeyDown(t)))),this._register(this._replaceInput.inputBox.onDidChange((()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)}))),this._register(this._replaceInput.inputBox.onDidHeightChange((()=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()}))),this._register(this._replaceInput.onDidOptionChange((()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)}))),this._register(this._replaceInput.onPreserveCaseKeyDown((t=>{t.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),t.preventDefault())}))),this._replaceBtn=this._register(new b4({label:o4+this._keybindingLabelFor(y2),icon:q2,onTrigger:()=>{this._controller.replace()},onKeyDown:t=>{t.equals(1026)&&(this._closeBtn.focus(),t.preventDefault())}})),this._replaceAllBtn=this._register(new b4({label:r4+this._keybindingLabelFor(k2),icon:K2,onTrigger:()=>{this._controller.replaceAll()}}));const e=document.createElement("div");e.className="replace-part",e.appendChild(this._replaceInput.domNode);const s=document.createElement("div");s.className="replace-actions",e.appendChild(s),s.appendChild(this._replaceBtn.domNode),s.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new b4({label:h4,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=ol(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=Q2,this._domNode.role="dialog",this._domNode.style.width="419px",this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(t),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(e),this._resizeSash=new NP(this._domNode,this,{orientation:0,size:2}),this._resized=!1;let n=u4;this._register(this._resizeSash.onDidStart((()=>{n=ol(this._domNode)}))),this._register(this._resizeSash.onDidChange((t=>{this._resized=!0;const i=n+t.startX-t.currentX;i(parseFloat(Xa(this._domNode).maxWidth)||0)||(this._domNode.style.width=`${i}px`,this._isReplaceVisible&&(this._replaceInput.width=ol(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())}))),this._register(this._resizeSash.onDidReset((()=>{const t=ol(this._domNode);if(t{this._opts.onTrigger(),t.preventDefault()})),this.onkeydown(this._domNode,(t=>{var i,e;if(t.equals(10)||t.equals(3))return this._opts.onTrigger(),void t.preventDefault();null===(e=(i=this._opts).onKeyDown)||void 0===e||e.call(i,t)}))}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(t){this._domNode.classList.toggle("disabled",!t),this._domNode.setAttribute("aria-disabled",String(!t)),this._domNode.tabIndex=t?0:-1}setExpanded(t){this._domNode.setAttribute("aria-expanded",String(!!t)),t?(this._domNode.classList.remove(...Cr.asClassNameArray(V2)),this._domNode.classList.add(...Cr.asClassNameArray(U2))):(this._domNode.classList.remove(...Cr.asClassNameArray(U2)),this._domNode.classList.add(...Cr.asClassNameArray(V2)))}}Jk(((t,i)=>{const e=(t,e)=>{e&&i.addRule(`.monaco-editor ${t} { background-color: ${e}; }`)};e(".findMatch",t.getColor(xv)),e(".currentFindMatch",t.getColor(kv)),e(".findScope",t.getColor(Cv)),e(".find-widget",t.getColor(nv));const s=t.getColor(fw);s&&i.addRule(`.monaco-editor .find-widget { box-shadow: 0 0 8px 2px ${s}; }`);const n=t.getColor(pw);n&&i.addRule(`.monaco-editor .find-widget { border-left: 1px solid ${n}; border-right: 1px solid ${n}; border-bottom: 1px solid ${n}; }`);const o=t.getColor(Dv);o&&i.addRule(`.monaco-editor .findMatch { border: 1px ${_y(t.type)?"dotted":"solid"} ${o}; box-sizing: border-box; }`);const r=t.getColor(Sv);r&&i.addRule(`.monaco-editor .currentFindMatch { border: 2px solid ${r}; padding: 1px; box-sizing: border-box; }`);const h=t.getColor(Ev);h&&i.addRule(`.monaco-editor .findScope { border: 1px ${_y(t.type)?"dashed":"solid"} ${h}; }`);const c=t.getColor(lw);c&&i.addRule(`.monaco-editor .find-widget { border: 1px solid ${c}; }`);const a=t.getColor(ov);a&&i.addRule(`.monaco-editor .find-widget { color: ${a}; }`);const l=t.getColor(hw);l&&i.addRule(`.monaco-editor .find-widget.no-results .matchesCount { color: ${l}; }`);const u=t.getColor(hv);if(u)i.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${u}; }`);else{const e=t.getColor(rv);e&&i.addRule(`.monaco-editor .find-widget .monaco-sash { background-color: ${e}; }`)}const d=t.getColor(Lb);d&&i.addRule(`\n\t\t.monaco-editor .find-widget .button:not(.disabled):hover,\n\t\t.monaco-editor .find-widget .codicon-find-selection:hover {\n\t\t\tbackground-color: ${d} !important;\n\t\t}\n\t`);const f=t.getColor(aw);f&&i.addRule(`.monaco-editor .find-widget .monaco-inputbox.synthetic-focus { outline-color: ${f}; }`)}));var y4,k4=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},x4=function(t,i){return function(e,s){i(e,s,t)}};function C4(t,i="single",e=!1){if(!t.hasModel())return null;const s=t.getSelection();if("single"===i&&s.startLineNumber===s.endLineNumber||"multiple"===i)if(s.isEmpty()){const i=t.getConfiguredWordAtPosition(s.getStartPosition());if(i&&!1===e)return i.word}else if(t.getModel().getValueLengthInRange(s)<524288)return t.getModel().getValueInRange(s);return null}let S4=y4=class extends ie{get editor(){return this._editor}static get(t){return t.getContribution(y4.ID)}constructor(t,i,e,s,n){super(),this._editor=t,this._findWidgetVisible=n2.bindTo(i),this._contextKeyService=i,this._storageService=e,this._clipboardService=s,this._notificationService=n,this._updateHistoryDelayer=new hc(500),this._state=this._register(new E2),this.loadQueryState(),this._register(this._state.onFindReplaceStateChange((t=>this._onStateChanged(t)))),this._model=null,this._register(this._editor.onDidChangeModel((()=>{const t=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),t&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})})))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(t){this.saveQueryState(t),t.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),t.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(t){t.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),t.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),t.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),t.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!o2.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){const t=this._editor.getSelections();t.map((t=>(1===t.endColumn&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t))).filter((t=>!!t)),t.length&&this._state.change({searchScope:t},!0)}}setSearchString(t){this._state.isRegex&&(t=Gn(t)),this._state.change({searchString:t},!1)}highlightFindOptions(t=!1){}async _start(t,i){if(this.disposeModel(),!this._editor.hasModel())return;const e={...i,isRevealed:!0};if("single"===t.seedSearchStringFromSelection){const i=C4(this._editor,t.seedSearchStringFromSelection,t.seedSearchStringFromNonEmptySelection);i&&(e.searchString=this._state.isRegex?Gn(i):i)}else if("multiple"===t.seedSearchStringFromSelection&&!t.updateSearchScope){const i=C4(this._editor,t.seedSearchStringFromSelection);i&&(e.searchString=i)}if(!e.searchString&&t.seedSearchStringFromGlobalClipboard){const t=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;t&&(e.searchString=t)}if(t.forceRevealReplace||e.isReplaceRevealed?e.isReplaceRevealed=!0:this._findWidgetVisible.get()||(e.isReplaceRevealed=!1),t.updateSearchScope){const t=this._editor.getSelections();t.some((t=>!t.isEmpty()))&&(e.searchScope=t)}e.loop=t.loop,this._state.change(e,!1),this._model||(this._model=new C2(this._editor,this._state))}start(t,i){return this._start(t,i)}moveToNextMatch(){return!!this._model&&(this._model.moveToNextMatch(),!0)}moveToPrevMatch(){return!!this._model&&(this._model.moveToPrevMatch(),!0)}goToMatch(t){return!!this._model&&(this._model.moveToMatch(t),!0)}replace(){return!!this._model&&(this._model.replace(),!0)}replaceAll(){var t;return!!this._model&&((null===(t=this._editor.getModel())||void 0===t?void 0:t.isTooLargeForHeapOperation())?(this._notificationService.warn(rt(0,"The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0))}selectAllMatches(){return!!this._model&&(this._model.selectAllMatches(),this._editor.focus(),!0)}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(t){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(t)}};S4.ID="editor.contrib.findController",S4=y4=k4([x4(1,ah),x4(2,bB),x4(3,dH),x4(4,JF)],S4);let D4=class extends S4{constructor(t,i,e,s,n,o,r,h){super(t,e,r,h,o),this._contextViewService=i,this._keybindingService=s,this._themeService=n,this._widget=null,this._findOptionsWidget=null}async _start(t,i){this._widget||this._createFindWidget();const e=this._editor.getSelection();let s=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":s=!0;break;case"never":s=!1;break;case"multiline":s=!!e&&e.startLineNumber!==e.endLineNumber}t.updateSearchScope=t.updateSearchScope||s,await super._start(t,i),this._widget&&(2===t.shouldFocus?this._widget.focusReplaceInput():1===t.shouldFocus&&this._widget.focusFindInput())}highlightFindOptions(t=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!t?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new v4(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new S2(this._editor,this._state,this._keybindingService))}};D4=k4([x4(1,iI),x4(2,ah),x4(3,Yx),x4(4,qk),x4(5,JF),x4(6,bB),x4(7,dH)],D4),au(new nu({id:"actions.find",label:rt(0,"Find"),alias:"Find",precondition:zr.or(UC.focus,zr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:Rh.MenubarEditMenu,group:"3_find",title:rt(0,"&&Find"),order:1}})).addImplementation(0,((t,i)=>{const e=S4.get(i);return!!e&&e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:i.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop})}));const E4={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},regex:{type:"boolean"},regexOverride:{type:"number",description:rt(0,'Overrides "Use Regular Expression" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},wholeWord:{type:"boolean"},wholeWordOverride:{type:"number",description:rt(0,'Overrides "Match Whole Word" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},matchCase:{type:"boolean"},matchCaseOverride:{type:"number",description:rt(0,'Overrides "Math Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},preserveCase:{type:"boolean"},preserveCaseOverride:{type:"number",description:rt(0,'Overrides "Preserve Case" flag.\nThe flag will not be saved for the future.\n0: Do Nothing\n1: True\n2: False')},findInSelection:{type:"boolean"}}}}]};class A4 extends su{async run(t,i){const e=S4.get(i);e&&!this._run(e)&&(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===e.getState().searchString.length&&"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),this._run(e))}}class M4 extends su{async run(t,i){const e=S4.get(i);if(!e)return;const s=C4(i,"single",!1);s&&e.setSearchString(s),this._run(e)||(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),this._run(e))}}au(new nu({id:"editor.action.startFindReplaceAction",label:rt(0,"Replace"),alias:"Replace",precondition:zr.or(UC.focus,zr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:Rh.MenubarEditMenu,group:"3_find",title:rt(0,"&&Replace"),order:2}})).addImplementation(0,((t,i)=>{if(!i.hasModel()||i.getOption(90))return!1;const e=S4.get(i);if(!e)return!1;const s=i.getSelection(),n=e.isFindInputFocused(),o=!s.isEmpty()&&s.startLineNumber===s.endLineNumber&&"never"!==i.getOption(41).seedSearchStringFromSelection&&!n,r=n||o?2:1;return e.start({forceRevealReplace:!0,seedSearchStringFromSelection:o?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:"never"!==i.getOption(41).seedSearchStringFromSelection,shouldFocus:r,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop})})),lu(S4.ID,D4,0),cu(class extends su{constructor(){super({id:"editor.actions.findWithArgs",label:rt(0,"Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:E4})}async run(t,i,e){const s=S4.get(i);if(s){const t=e?{searchString:e.searchString,replaceString:e.replaceString,isReplaceRevealed:void 0!==e.replaceString,isRegex:e.isRegex,wholeWord:e.matchWholeWord,matchCase:e.isCaseSensitive,preserveCase:e.preserveCase}:{};await s.start({forceRevealReplace:!1,seedSearchStringFromSelection:0===s.getState().searchString.length&&"never"!==i.getOption(41).seedSearchStringFromSelection?"single":"none",seedSearchStringFromNonEmptySelection:"selection"===i.getOption(41).seedSearchStringFromSelection,seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(null==e?void 0:e.findInSelection)||!1,loop:i.getOption(41).loop},t),s.setGlobalBufferTerm(s.getState().searchString)}}}),cu(class extends su{constructor(){super({id:"actions.findWithSelection",label:rt(0,"Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(t,i){const e=S4.get(i);e&&(await e.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:i.getOption(41).loop}),e.setGlobalBufferTerm(e.getState().searchString))}}),cu(class extends A4{constructor(){super({id:d2,label:rt(0,"Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:UC.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:zr.and(UC.focus,o2),primary:3,weight:100}]})}_run(t){return!!t.moveToNextMatch()&&(t.editor.pushUndoStop(),!0)}}),cu(class extends A4{constructor(){super({id:f2,label:rt(0,"Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:UC.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:zr.and(UC.focus,o2),primary:1027,weight:100}]})}_run(t){return t.moveToPrevMatch()}}),cu(class extends su{constructor(){super({id:"editor.action.goToMatchFindAction",label:rt(0,"Go to Match..."),alias:"Go to Match...",precondition:n2}),this._highlightDecorations=[]}run(t,i,e){const s=S4.get(i);if(!s)return;const n=s.getState().matchesCount;if(n<1)return void t.get(JF).notify({severity:QF.Warning,message:rt(0,"No matches. Try searching for something else.")});const o=t.get(Dj).createInputBox();o.placeholder=rt(0,"Type a number to go to a specific match (between 1 and {0})",n);const r=t=>{const i=parseInt(t);if(isNaN(i))return;const e=s.getState().matchesCount;return i>0&&i<=e?i-1:i<0&&i>=-e?e+i:void 0},h=t=>{const e=r(t);if("number"==typeof e){o.validationMessage=void 0,s.goToMatch(e);const t=s.getState().currentMatch;t&&this.addDecorations(i,t)}else o.validationMessage=rt(0,"Please type a number between 1 and {0}",s.getState().matchesCount),this.clearDecorations(i)};o.onDidChangeValue((t=>{h(t)})),o.onDidAccept((()=>{const t=r(o.value);"number"==typeof t?(s.goToMatch(t),o.hide()):o.validationMessage=rt(0,"Please type a number between 1 and {0}",s.getState().matchesCount)})),o.onDidHide((()=>{this.clearDecorations(i),o.dispose()})),o.show()}clearDecorations(t){t.changeDecorations((t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])}))}addDecorations(t,i){t.changeDecorations((t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[{range:i,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:i,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:Kk(Dx),position:Mf.Full}}}])}))}}),cu(class extends M4{constructor(){super({id:"editor.action.nextSelectionMatchFindAction",label:rt(0,"Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:2109,weight:100}})}_run(t){return t.moveToNextMatch()}}),cu(class extends M4{constructor(){super({id:"editor.action.previousSelectionMatchFindAction",label:rt(0,"Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:3133,weight:100}})}_run(t){return t.moveToPrevMatch()}});const L4=eu.bindToContribution(S4.get);hu(new L4({id:p2,precondition:n2,handler:t=>t.closeFindWidget(),kbOpts:{weight:105,kbExpr:zr.and(UC.focus,zr.not("isComposing")),primary:9,secondary:[1033]}})),hu(new L4({id:g2,precondition:void 0,handler:t=>t.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:UC.focus,primary:h2.primary,mac:h2.mac,win:h2.win,linux:h2.linux}})),hu(new L4({id:m2,precondition:void 0,handler:t=>t.toggleWholeWords(),kbOpts:{weight:105,kbExpr:UC.focus,primary:c2.primary,mac:c2.mac,win:c2.win,linux:c2.linux}})),hu(new L4({id:w2,precondition:void 0,handler:t=>t.toggleRegex(),kbOpts:{weight:105,kbExpr:UC.focus,primary:a2.primary,mac:a2.mac,win:a2.win,linux:a2.linux}})),hu(new L4({id:v2,precondition:void 0,handler:t=>t.toggleSearchScope(),kbOpts:{weight:105,kbExpr:UC.focus,primary:l2.primary,mac:l2.mac,win:l2.win,linux:l2.linux}})),hu(new L4({id:b2,precondition:void 0,handler:t=>t.togglePreserveCase(),kbOpts:{weight:105,kbExpr:UC.focus,primary:u2.primary,mac:u2.mac,win:u2.win,linux:u2.linux}})),hu(new L4({id:y2,precondition:n2,handler:t=>t.replace(),kbOpts:{weight:105,kbExpr:UC.focus,primary:3094}})),hu(new L4({id:y2,precondition:n2,handler:t=>t.replace(),kbOpts:{weight:105,kbExpr:zr.and(UC.focus,r2),primary:3}})),hu(new L4({id:k2,precondition:n2,handler:t=>t.replaceAll(),kbOpts:{weight:105,kbExpr:UC.focus,primary:2563}})),hu(new L4({id:k2,precondition:n2,handler:t=>t.replaceAll(),kbOpts:{weight:105,kbExpr:zr.and(UC.focus,r2),primary:void 0,mac:{primary:2051}}})),hu(new L4({id:"editor.action.selectAllMatches",precondition:n2,handler:t=>t.selectAllMatches(),kbOpts:{weight:105,kbExpr:UC.focus,primary:515}}));const F4={0:" ",1:"u",2:"r"},T4=16777215,R4=4278190080;class O4{constructor(t){const i=Math.ceil(t/32);this._states=new Uint32Array(i)}get(t){return 0!=(this._states[t/32|0]&1<65535)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=t,this._endIndexes=i,this._collapseStates=new O4(t.length),this._userDefinedStates=new O4(t.length),this._recoveredStates=new O4(t.length),this._types=e,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const t=[],i=(i,e)=>{const s=t[t.length-1];return this.getStartLineNumber(s)<=i&&this.getEndLineNumber(s)>=e};for(let e=0,s=this._startIndexes.length;eT4||n>T4)throw new Error("startLineNumber or endLineNumber must not exceed "+T4);for(;t.length>0&&!i(s,n);)t.pop();const o=t.length>0?t[t.length-1]:-1;t.push(e),this._startIndexes[e]=s+((255&o)<<24),this._endIndexes[e]=n+((65280&o)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(t){return this._startIndexes[t]&T4}getEndLineNumber(t){return this._endIndexes[t]&T4}getType(t){return this._types?this._types[t]:void 0}hasTypes(){return!!this._types}isCollapsed(t){return this._collapseStates.get(t)}setCollapsed(t,i){this._collapseStates.set(t,i)}isUserDefined(t){return this._userDefinedStates.get(t)}setUserDefined(t,i){return this._userDefinedStates.set(t,i)}isRecovered(t){return this._recoveredStates.get(t)}setRecovered(t,i){return this._recoveredStates.set(t,i)}getSource(t){return this.isUserDefined(t)?1:this.isRecovered(t)?2:0}setSource(t,i){1===i?(this.setUserDefined(t,!0),this.setRecovered(t,!1)):2===i?(this.setUserDefined(t,!1),this.setRecovered(t,!0)):(this.setUserDefined(t,!1),this.setRecovered(t,!1))}setCollapsedAllOfType(t,i){let e=!1;if(this._types)for(let s=0;s>>24)+((this._endIndexes[t]&R4)>>>16);return 65535===i?-1:i}contains(t,i){return this.getStartLineNumber(t)<=i&&this.getEndLineNumber(t)>=i}findIndex(t){let i=0,e=this._startIndexes.length;if(0===e)return-1;for(;i=0){if(this.getEndLineNumber(i)>=t)return i;for(i=this.getParentIndex(i);-1!==i;){if(this.contains(i,t))return i;i=this.getParentIndex(i)}}return-1}toString(){const t=[];for(let i=0;iArray.isArray(t)?e=>ee=a.startLineNumber))c&&c.startLineNumber===a.startLineNumber?(1===a.source?t=a:(t=c,t.isCollapsed=a.isCollapsed&&c.endLineNumber===a.endLineNumber,t.source=0),c=n(++r)):(t=a,a.isCollapsed&&0===a.source&&(t.source=2)),a=o(++h);else{let i=h,e=a;for(;;){if(!e||e.startLineNumber>c.endLineNumber){t=c;break}if(1===e.source&&e.endLineNumber>c.endLineNumber)break;e=o(++i)}c=n(++r)}if(t){for(;u&&u.endLineNumbert.startLineNumber&&t.startLineNumber>d&&t.endLineNumber<=e&&(!u||u.endLineNumber>=t.endLineNumber)&&(f.push(t),d=t.startLineNumber,u&&l.push(u),u=t)}}return f}}class _4{constructor(t,i){this.ranges=t,this.index=i}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(t){return t.startLineNumber<=this.startLineNumber&&t.endLineNumber>=this.endLineNumber}containsLine(t){return this.startLineNumber<=t&&t<=this.endLineNumber}}class N4{get regions(){return this._regions}get textModel(){return this._textModel}constructor(t,i){this._updateEventEmitter=new fe,this.onDidChange=this._updateEventEmitter.event,this._textModel=t,this._decorationProvider=i,this._regions=new I4(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(t){if(!t.length)return;t=t.sort(((t,i)=>t.regionIndex-i.regionIndex));const i={};this._decorationProvider.changeDecorations((e=>{let s=0,n=-1,o=-1;const r=t=>{for(;so&&(o=t),s++}};for(const e of t){const t=e.regionIndex,s=this._editorDecorationIds[t];if(s&&!i[s]){i[s]=!0,r(t);const e=!this._regions.isCollapsed(t);this._regions.setCollapsed(t,e),n=Math.max(n,this._regions.getEndLineNumber(t))}}r(this._regions.length)})),this._updateEventEmitter.fire({model:this,collapseStateChanged:t})}removeManualRanges(t){const i=new Array,e=i=>{for(const e of t)if(!(e.startLineNumber>i.endLineNumber||i.startLineNumber>e.endLineNumber))return!0;return!1};for(let t=0;te&&(e=o)}this._decorationProvider.changeDecorations((t=>this._editorDecorationIds=t.deltaDecorations(this._editorDecorationIds,i))),this._regions=t,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(t=[]){const i=(i,e)=>{for(const s of t)if(i=n.endLineNumber||n.startLineNumber<1||n.endLineNumber>e)continue;const o=this._getLinesChecksum(n.startLineNumber+1,n.endLineNumber);i.push({startLineNumber:n.startLineNumber,endLineNumber:n.endLineNumber,isCollapsed:n.isCollapsed,source:n.source,checksum:o})}return i.length>0?i:void 0}applyMemento(t){var i,e;if(!Array.isArray(t))return;const s=[],n=this._textModel.getLineCount();for(const o of t){if(o.startLineNumber>=o.endLineNumber||o.startLineNumber<1||o.endLineNumber>n)continue;const t=this._getLinesChecksum(o.startLineNumber+1,o.endLineNumber);o.checksum&&t!==o.checksum||s.push({startLineNumber:o.startLineNumber,endLineNumber:o.endLineNumber,type:void 0,isCollapsed:null===(i=o.isCollapsed)||void 0===i||i,source:null!==(e=o.source)&&void 0!==e?e:0})}const o=I4.sanitizeAndMerge(this._regions,s,n);this.updatePost(I4.fromFoldRanges(o))}_getLinesChecksum(t,i){return Ma(this._textModel.getLineContent(t)+this._textModel.getLineContent(i))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(t,i){const e=[];if(this._regions){let s=this._regions.findRange(t),n=1;for(;s>=0;){const t=this._regions.toRegion(s);i&&!i(t,n)||e.push(t),n++,s=t.parentIndex}}return e}getRegionAtLine(t){if(this._regions){const i=this._regions.findRange(t);if(i>=0)return this._regions.toRegion(i)}return null}getRegionsInside(t,i){const e=[],s=t?t.regionIndex+1:0,n=t?t.endLineNumber:Number.MAX_VALUE;if(i&&2===i.length){const t=[];for(let o=s,r=this._regions.length;o0&&!s.containedBy(t[t.length-1]);)t.pop();t.push(s),i(s,t.length)&&e.push(s)}}else for(let t=s,o=this._regions.length;t1){const o=t.getRegionsInside(e,((t,e)=>t.isCollapsed!==n&&e0)for(const o of s){const s=t.getRegionAtLine(o);if(s&&(s.isCollapsed!==i&&n.push(s),e>1)){const o=t.getRegionsInside(s,((t,s)=>t.isCollapsed!==i&&st.isCollapsed!==i&&st.isCollapsed!==i&&s<=e));n.push(...s)}t.toggleCollapseState(n)}function W4(t,i,e){const s=[];for(const i of e){const e=t.getAllRegionsAtLine(i,void 0);e.length>0&&s.push(e[0])}const n=t.getRegionsInside(null,(t=>s.every((i=>!i.containedBy(t)&&!t.containedBy(i)))&&t.isCollapsed!==i));t.toggleCollapseState(n)}function j4(t,i,e){const s=t.textModel,n=t.regions,o=[];for(let t=n.length-1;t>=0;t--)if(e!==n.isCollapsed(t)){const e=n.getStartLineNumber(t);i.test(s.getLineContent(e))&&o.push(n.toRegion(t))}t.toggleCollapseState(o)}function z4(t,i,e){const s=t.regions,n=[];for(let t=s.length-1;t>=0;t--)e!==s.isCollapsed(t)&&i===s.getType(t)&&n.push(s.toRegion(t));t.toggleCollapseState(n)}class H4{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(t){this._updateEventEmitter=new fe,this._hasLineChanges=!1,this._foldingModel=t,this._foldingModelListener=t.onDidChange((()=>this.updateHiddenRanges())),this._hiddenRanges=[],t.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(t){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=t.changes.some((t=>t.range.endLineNumber!==t.range.startLineNumber||0!==WD(t.text)[0])))}updateHiddenRanges(){let t=!1;const i=[];let e=0,s=0,n=Number.MAX_VALUE,o=-1;const r=this._foldingModel.regions;for(;e0}isHidden(t){return null!==V4(this._hiddenRanges,t)}adjustSelections(t){let i=!1;const e=this._foldingModel.textModel;let s=null;const n=t=>(s&&function(t,i){return t>=i.startLineNumber&&t<=i.endLineNumber}(t,s)||(s=V4(this._hiddenRanges,t)),s?s.startLineNumber-1:null);for(let s=0,o=t.length;s0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function V4(t,i){const e=ep(t,(t=>i=0&&t[e].endLineNumber>=i?t[e]:null}class U4{constructor(t,i,e){this.editorModel=t,this.languageConfigurationService=i,this.foldingRangesLimit=e,this.id="indent"}dispose(){}compute(t){const i=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules;return Promise.resolve(function(t,i,e,s=K4){const n=t.getOptions().tabSize,o=new q4(s);let r;e&&(r=new RegExp(`(${e.start.source})|(?:${e.end.source})`));const h=[],c=t.getLineCount()+1;h.push({indent:-1,endAbove:c,line:c});for(let e=t.getLineCount();e>0;e--){const s=t.getLineContent(e),c=DS(s,n);let a,l=h[h.length-1];if(-1!==c){if(r&&(a=s.match(r))){if(!a[1]){h.push({indent:-2,endAbove:e,line:e});continue}{let t=h.length-1;for(;t>0&&-2!==h[t].indent;)t--;if(t>0){h.length=t+1,l=h[t],o.insertFirst(e,l.line,c),l.line=e,l.indent=c,l.endAbove=e;continue}}}if(l.indent>c){do{h.pop(),l=h[h.length-1]}while(l.indent>c);const t=l.endAbove-1;t-e>=1&&o.insertFirst(e,t,c)}l.indent===c?l.endAbove=e:h.push({indent:c,endAbove:e,line:e})}else i&&(l.endAbove=e)}return o.toIndentRanges(t)}(this.editorModel,i&&!!i.offSide,i&&i.markers,this.foldingRangesLimit))}}class q4{constructor(t){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=t}insertFirst(t,i,e){if(t>T4||i>T4)return;const s=this._length;this._startIndexes[s]=t,this._endIndexes[s]=i,this._length++,e<1e3&&(this._indentOccurrences[e]=(this._indentOccurrences[e]||0)+1)}toIndentRanges(t){const i=this._foldingRangesLimit.limit;if(this._length<=i){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let e=this._length-1,s=0;e>=0;e--,s++)t[s]=this._startIndexes[e],i[s]=this._endIndexes[e];return new I4(t,i)}{this._foldingRangesLimit.update(this._length,i);let e=0,s=this._indentOccurrences.length;for(let t=0;ti){s=t;break}e+=n}}const n=t.getOptions().tabSize,o=new Uint32Array(i),r=new Uint32Array(i);for(let h=this._length-1,c=0;h>=0;h--){const a=this._startIndexes[h],l=DS(t.getLineContent(a),n);(l{}},G4=ow("editor.foldBackground",{light:sy(wv,.3),dark:sy(wv,.3),hcDark:null,hcLight:null},rt(0,"Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);ow("editorGutter.foldingControlForeground",{dark:cw,light:cw,hcDark:cw,hcLight:cw},rt(0,"Color of the folding control in the editor gutter."));const Z4=_z("folding-expanded",Os.chevronDown,rt(0,"Icon for expanded ranges in the editor glyph margin.")),Q4=_z("folding-collapsed",Os.chevronRight,rt(0,"Icon for collapsed ranges in the editor glyph margin.")),J4=_z("folding-manual-collapsed",Q4,rt(0,"Icon for manually collapsed ranges in the editor glyph margin.")),Y4=_z("folding-manual-expanded",Z4,rt(0,"Icon for manually expanded ranges in the editor glyph margin.")),X4={color:Kk(G4),position:Ff.Inline};class t5{constructor(t){this.editor=t,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(t,i,e){return i?t5.HIDDEN_RANGE_DECORATION:"never"===this.showFoldingControls?t?this.showFoldingHighlights?t5.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:t5.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:t5.NO_CONTROLS_EXPANDED_RANGE_DECORATION:t?e?this.showFoldingHighlights?t5.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:t5.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?t5.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:t5.COLLAPSED_VISUAL_DECORATION:"mouseover"===this.showFoldingControls?e?t5.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:t5.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:e?t5.MANUALLY_EXPANDED_VISUAL_DECORATION:t5.EXPANDED_VISUAL_DECORATION}changeDecorations(t){return this.editor.changeDecorations(t)}removeDecorations(t){this.editor.removeDecorations(t)}}t5.COLLAPSED_VISUAL_DECORATION=bL.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(Q4)}),t5.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=bL.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:X4,isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(Q4)}),t5.MANUALLY_COLLAPSED_VISUAL_DECORATION=bL.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(J4)}),t5.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=bL.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:X4,isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(J4)}),t5.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=bL.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0}),t5.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=bL.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:X4,isWholeLine:!0}),t5.EXPANDED_VISUAL_DECORATION=bL.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Cr.asClassName(Z4)}),t5.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=bL.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(Z4)}),t5.MANUALLY_EXPANDED_VISUAL_DECORATION=bL.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Cr.asClassName(Y4)}),t5.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=bL.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Cr.asClassName(Y4)}),t5.NO_CONTROLS_EXPANDED_RANGE_DECORATION=bL.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),t5.HIDDEN_RANGE_DECORATION=bL.register({description:"folding-hidden-range-decoration",stickiness:1});const i5={};class e5{constructor(t,i,e,s,n){this.editorModel=t,this.providers=i,this.handleFoldingRangesChange=e,this.foldingRangesLimit=s,this.fallbackRangeProvider=n,this.id="syntax",this.disposables=new te,n&&this.disposables.add(n);for(const t of i)"function"==typeof t.onDidChange&&this.disposables.add(t.onDidChange(e))}compute(t){return function(t,i,e){let s=null;const n=t.map(((t,n)=>Promise.resolve(t.provideFoldingRanges(i,i5,e)).then((t=>{if(!e.isCancellationRequested&&Array.isArray(t)){Array.isArray(s)||(s=[]);const e=i.getLineCount();for(const i of t)i.start>0&&i.end>i.start&&i.end<=e&&s.push({start:i.start,end:i.end,rank:n,kind:i.kind})}}),$i)));return Promise.all(n).then((()=>s))}(this.providers,this.editorModel,t).then((i=>{var e,s;return i?function(t,i){const e=t.sort(((t,i)=>{let e=t.start-i.start;return 0===e&&(e=t.rank-i.rank),e})),s=new s5(i);let n;const o=[];for(const t of e)if(n){if(t.start>n.start)if(t.end<=n.end)o.push(n),n=t,s.add(t.start,t.end,t.kind&&t.kind.value,o.length);else{if(t.start>n.end){do{n=o.pop()}while(n&&t.start>n.end);n&&o.push(n),n=t}s.add(t.start,t.end,t.kind&&t.kind.value,o.length)}}else n=t,s.add(t.start,t.end,t.kind&&t.kind.value,o.length);return s.toIndentRanges()}(i,this.foldingRangesLimit):null!==(s=null===(e=this.fallbackRangeProvider)||void 0===e?void 0:e.compute(t))&&void 0!==s?s:null}))}dispose(){this.disposables.dispose()}}class s5{constructor(t){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=t}add(t,i,e,s){if(t>T4||i>T4)return;const n=this._length;this._startIndexes[n]=t,this._endIndexes[n]=i,this._nestingLevels[n]=s,this._types[n]=e,this._length++,s<30&&(this._nestingLevelCounts[s]=(this._nestingLevelCounts[s]||0)+1)}toIndentRanges(){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let e=0;et){e=s;break}i+=n}}const s=new Uint32Array(t),n=new Uint32Array(t),o=[];for(let r=0,h=0;rthis.onModelChanged()))),this._register(this.editor.onDidChangeConfiguration((t=>{if(t.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),t.hasChanged(47)&&this.onModelChanged(),t.hasChanged(109)||t.hasChanged(45)){const t=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=t.get(109),this.foldingDecorationProvider.showFoldingHighlights=t.get(45),this.triggerFoldingModelChanged()}t.hasChanged(44)&&(this._useFoldingProviders="indentation"!==this.editor.getOptions().get(44),this.onFoldingStrategyChanged()),t.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),t.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))}))),this.onModelChanged()}saveViewState(){const t=this.editor.getModel();if(!t||!this._isEnabled||t.isTooLargeForTokenization())return{};if(this.foldingModel){const i=this.foldingModel.getMemento(),e=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:i,lineCount:t.getLineCount(),provider:e,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(t){const i=this.editor.getModel();if(i&&this._isEnabled&&!i.isTooLargeForTokenization()&&this.hiddenRangeModel&&t&&(this._currentModelHasFoldedImports=!!t.foldedImports,t.collapsedRegions&&t.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(t.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const t=this.editor.getModel();this._isEnabled&&t&&!t.isTooLargeForTokenization()&&(this._currentModelHasFoldedImports=!1,this.foldingModel=new N4(t,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new H4(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange((t=>this.onHiddenRangesChanges(t)))),this.updateScheduler=new hc(this.updateDebounceInfo.get(t)),this.cursorChangedScheduler=new pc((()=>this.revealCursor()),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange((()=>this.onFoldingStrategyChanged()))),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration((()=>this.onFoldingStrategyChanged()))),this.localToDispose.add(this.editor.onDidChangeModelContent((t=>this.onDidChangeModelContent(t)))),this.localToDispose.add(this.editor.onDidChangeCursorPosition((()=>this.onCursorPositionChanged()))),this.localToDispose.add(this.editor.onMouseDown((t=>this.onEditorMouseDown(t)))),this.localToDispose.add(this.editor.onMouseUp((t=>this.onEditorMouseUp(t)))),this.localToDispose.add({dispose:()=>{var t,i;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),null===(t=this.updateScheduler)||void 0===t||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,null===(i=this.rangeProvider)||void 0===i||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var t;null===(t=this.rangeProvider)||void 0===t||t.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(t){if(this.rangeProvider)return this.rangeProvider;const i=new U4(t,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=i,this._useFoldingProviders&&this.foldingModel){const e=n5.getFoldingRangeProviders(this.languageFeaturesService,t);e.length>0&&(this.rangeProvider=new e5(t,e,(()=>this.triggerFoldingModelChanged()),this._foldingLimitReporter,i))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(t){var i;null===(i=this.hiddenRangeModel)||void 0===i||i.notifyChangeModelContent(t),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger((()=>{const t=this.foldingModel;if(!t)return null;const i=new he,e=this.getRangeProvider(t.textModel),s=this.foldingRegionPromise=nc((t=>e.compute(t)));return s.then((e=>{if(e&&s===this.foldingRegionPromise){let s;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const t=e.setCollapsedAllOfType(Ks.Imports.value,!0);t&&(s=KV.capture(this.editor),this._currentModelHasFoldedImports=t)}const n=this.editor.getSelections(),o=n?n.map((t=>t.startLineNumber)):[];t.update(e,o),null==s||s.restore(this.editor);const r=this.updateDebounceInfo.update(t.textModel,i.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=r)}return t}))})).then(void 0,(t=>(Pi(t),null))))}onHiddenRangesChanges(t){if(this.hiddenRangeModel&&t.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(t,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const t=this.getFoldingModel();t&&t.then((t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const e=[];for(const s of i){const i=s.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(i)&&e.push(...t.getAllRegionsAtLine(i,(t=>t.isCollapsed&&i>t.startLineNumber)))}e.length&&(t.toggleCollapseState(e),this.reveal(i[0].getPosition()))}}})).then(void 0,Pi)}onEditorMouseDown(t){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!t.target||!t.target.range)return;if(!t.event.leftButton&&!t.event.middleButton)return;const i=t.target.range;let e=!1;switch(t.target.type){case 4:if(t.target.detail.offsetX-t.target.element.offsetLeft<4)return;e=!0;break;case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!t.target.detail.isAfterLines)break;return;case 6:if(this.hiddenRangeModel.hasRanges()){const t=this.editor.getModel();if(t&&i.startColumn===t.getLineMaxColumn(i.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:i.startLineNumber,iconClicked:e}}onEditorMouseUp(t){const i=this.foldingModel;if(!i||!this.mouseDownInfo||!t.target)return;const e=this.mouseDownInfo.lineNumber,s=this.mouseDownInfo.iconClicked,n=t.target.range;if(!n||n.startLineNumber!==e)return;if(s){if(4!==t.target.type)return}else{const t=this.editor.getModel();if(!t||n.startColumn!==t.getLineMaxColumn(e))return}const o=i.getRegionAtLine(e);if(o&&o.startLineNumber===e){const n=o.isCollapsed;if(s||n){let s=[];if(t.event.altKey){const t=i.getRegionsInside(null,(t=>!t.containedBy(o)&&!o.containedBy(t)));for(const i of t)i.isCollapsed&&s.push(i);0===s.length&&(s=t)}else{const e=t.event.middleButton||t.event.shiftKey;if(e)for(const t of i.getRegionsInside(o))t.isCollapsed===n&&s.push(t);!n&&e&&0!==s.length||s.push(o)}i.toggleCollapseState(s),this.reveal({lineNumber:e,column:1})}}}reveal(t){this.editor.revealPositionInCenterIfOutsideViewport(t,0)}};h5.ID="editor.contrib.folding",h5=n5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([o5(1,ah),o5(2,qd),o5(3,JF),o5(4,hR),o5(5,gg)],h5);class c5{constructor(t){this.editor=t,this._onDidChange=new fe,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(t,i){t===this._computed&&i===this._limited||(this._computed=t,this._limited=i,this._onDidChange.fire())}}class a5 extends su{runEditorCommand(t,i,e){const s=t.get(qd),n=h5.get(i);if(!n)return;const o=n.getFoldingModel();return o?(this.reportTelemetry(t,i),o.then((t=>{if(t){this.invoke(n,t,i,e,s);const o=i.getSelection();o&&n.reveal(o.getStartPosition())}}))):void 0}getSelectedLines(t){const i=t.getSelections();return i?i.map((t=>t.startLineNumber)):[]}getLineNumbers(t,i){return t&&t.selectionLines?t.selectionLines.map((t=>t+1)):this.getSelectedLines(i)}run(t,i){}}function l5(t){if(!V(t)){if(!$(t))return!1;const i=t;if(!V(i.levels)&&!j(i.levels))return!1;if(!V(i.direction)&&!P(i.direction))return!1;if(!(V(i.selectionLines)||Array.isArray(i.selectionLines)&&i.selectionLines.every(j)))return!1}return!0}class u5 extends a5{getFoldingLevel(){return parseInt(this.id.substr(u5.ID_PREFIX.length))}invoke(t,i,e){!function(t,i,e,s){const n=t.getRegionsInside(null,((t,e)=>e===i&&true!==t.isCollapsed&&!s.some((i=>t.containsLine(i)))));t.toggleCollapseState(n)}(i,this.getFoldingLevel(),0,this.getSelectedLines(e))}}u5.ID_PREFIX="editor.foldLevel",u5.ID=t=>u5.ID_PREFIX+t,lu(h5.ID,h5,0),cu(class extends a5{constructor(){super({id:"editor.unfold",label:rt(0,"Unfold"),alias:"Unfold",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t",constraint:l5,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(t,i,e,s){const n=s&&s.levels||1,o=this.getLineNumbers(s,e);s&&"up"===s.direction?$4(i,!1,n,o):P4(i,!1,n,o)}}),cu(class extends a5{constructor(){super({id:"editor.unfoldRecursively",label:rt(0,"Unfold Recursively"),alias:"Unfold Recursively",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2142),weight:100}})}invoke(t,i,e,s){P4(i,!1,Number.MAX_VALUE,this.getSelectedLines(e))}}),cu(class extends a5{constructor(){super({id:"editor.fold",label:rt(0,"Fold"),alias:"Fold",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t",constraint:l5,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(t,i,e,s){const n=this.getLineNumbers(s,e),o=s&&s.levels,r=s&&s.direction;"number"!=typeof o&&"string"!=typeof r?function(t,i,e){const s=[];for(const i of e){const e=t.getAllRegionsAtLine(i,(t=>true!==t.isCollapsed));e.length>0&&s.push(e[0])}t.toggleCollapseState(s)}(i,0,n):"up"===r?$4(i,!0,o||1,n):P4(i,!0,o||1,n)}}),cu(class extends a5{constructor(){super({id:"editor.foldRecursively",label:rt(0,"Fold Recursively"),alias:"Fold Recursively",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2140),weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);P4(i,!0,Number.MAX_VALUE,s)}}),cu(class extends a5{constructor(){super({id:"editor.foldAll",label:rt(0,"Fold All"),alias:"Fold All",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2069),weight:100}})}invoke(t,i,e){P4(i,!0)}}),cu(class extends a5{constructor(){super({id:"editor.unfoldAll",label:rt(0,"Unfold All"),alias:"Unfold All",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2088),weight:100}})}invoke(t,i,e){P4(i,!1)}}),cu(class extends a5{constructor(){super({id:"editor.foldAllBlockComments",label:rt(0,"Fold All Block Comments"),alias:"Fold All Block Comments",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2138),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())z4(i,Ks.Comment.value,!0);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).comments;s&&s.blockCommentStartToken&&j4(i,new RegExp("^\\s*"+Gn(s.blockCommentStartToken)),!0)}}}),cu(class extends a5{constructor(){super({id:"editor.foldAllMarkerRegions",label:rt(0,"Fold All Regions"),alias:"Fold All Regions",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2077),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())z4(i,Ks.Region.value,!0);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).foldingRules;s&&s.markers&&s.markers.start&&j4(i,new RegExp(s.markers.start),!0)}}}),cu(class extends a5{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:rt(0,"Unfold All Regions"),alias:"Unfold All Regions",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2078),weight:100}})}invoke(t,i,e,s,n){if(i.regions.hasTypes())z4(i,Ks.Region.value,!1);else{const t=e.getModel();if(!t)return;const s=n.getLanguageConfiguration(t.getLanguageId()).foldingRules;s&&s.markers&&s.markers.start&&j4(i,new RegExp(s.markers.start),!1)}}}),cu(class extends a5{constructor(){super({id:"editor.foldAllExcept",label:rt(0,"Fold All Except Selected"),alias:"Fold All Except Selected",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2136),weight:100}})}invoke(t,i,e){W4(i,!0,this.getSelectedLines(e))}}),cu(class extends a5{constructor(){super({id:"editor.unfoldAllExcept",label:rt(0,"Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2134),weight:100}})}invoke(t,i,e){W4(i,!1,this.getSelectedLines(e))}}),cu(class extends a5{constructor(){super({id:"editor.toggleFold",label:rt(0,"Toggle Fold"),alias:"Toggle Fold",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2090),weight:100}})}invoke(t,i,e){B4(i,1,this.getSelectedLines(e))}}),cu(class extends a5{constructor(){super({id:"editor.gotoParentFold",label:rt(0,"Go to Parent Fold"),alias:"Go to Parent Fold",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=null;const s=i.getRegionAtLine(t);if(null!==s&&(e=s.startLineNumber,t===e)){const t=s.parentIndex;e=-1!==t?i.regions.getStartLineNumber(t):null}return e}(s[0],i);null!==t&&e.setSelection({startLineNumber:t,startColumn:1,endLineNumber:t,endColumn:1})}}}),cu(class extends a5{constructor(){super({id:"editor.gotoPreviousFold",label:rt(0,"Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=i.getRegionAtLine(t);if(null!==e&&e.startLineNumber===t){if(t!==e.startLineNumber)return e.startLineNumber;{const t=e.parentIndex;let s=0;for(-1!==t&&(s=i.regions.getStartLineNumber(e.parentIndex));null!==e;){if(!(e.regionIndex>0))return null;if(e=i.regions.toRegion(e.regionIndex-1),e.startLineNumber<=s)return null;if(e.parentIndex===t)return e.startLineNumber}}}else if(i.regions.length>0)for(e=i.regions.toRegion(i.regions.length-1);null!==e;){if(e.startLineNumber0?i.regions.toRegion(e.regionIndex-1):null}return null}(s[0],i);null!==t&&e.setSelection({startLineNumber:t,startColumn:1,endLineNumber:t,endColumn:1})}}}),cu(class extends a5{constructor(){super({id:"editor.gotoNextFold",label:rt(0,"Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,weight:100}})}invoke(t,i,e){const s=this.getSelectedLines(e);if(s.length>0){const t=function(t,i){let e=i.getRegionAtLine(t);if(null!==e&&e.startLineNumber===t){const t=e.parentIndex;let s=0;if(-1!==t)s=i.regions.getEndLineNumber(e.parentIndex);else{if(0===i.regions.length)return null;s=i.regions.getEndLineNumber(i.regions.length-1)}for(;null!==e;){if(!(e.regionIndex=s)return null;if(e.parentIndex===t)return e.startLineNumber}}else if(i.regions.length>0)for(e=i.regions.toRegion(0);null!==e;){if(e.startLineNumber>t)return e.startLineNumber;e=e.regionIndext.startLineNumber&&(n.push({startLineNumber:t.startLineNumber,endLineNumber:i,type:void 0,isCollapsed:!0,source:1}),e.setSelection({startLineNumber:t.startLineNumber,startColumn:1,endLineNumber:t.startLineNumber,endColumn:1}))}if(n.length>0){n.sort(((t,i)=>t.startLineNumber-i.startLineNumber));const t=I4.sanitizeAndMerge(i.regions,n,null===(s=e.getModel())||void 0===s?void 0:s.getLineCount());i.updatePost(I4.fromFoldRanges(t))}}}}),cu(class extends a5{constructor(){super({id:"editor.removeManualFoldingRanges",label:rt(0,"Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2137),weight:100}})}invoke(t,i,e){const s=e.getSelections();if(s){const e=[];for(const t of s){const{startLineNumber:i,endLineNumber:s}=t;e.push(s>=i?{startLineNumber:i,endLineNumber:s}:{endLineNumber:s,startLineNumber:i})}i.removeManualRanges(e),t.triggerFoldingModelChanged()}}});for(let t=1;t<=7;t++)d5=new u5({id:u5.ID(t),label:rt(0,"Fold Level {0}",t),alias:`Fold Level ${t}`,precondition:r5,kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2048|21+t),weight:100}}),du.INSTANCE.registerEditorAction(d5);var d5;Dr.registerCommand("_executeFoldingRangeProvider",(async function(t,...i){const[e]=i;if(!(e instanceof ms))throw Vi();const s=t.get(gg),n=t.get(pr).getModel(e);if(!n)throw Vi();const o=t.get(pd);if(!o.getValue("editor.folding",{resource:e}))return[];const r=t.get(qd),h=o.getValue("editor.foldingStrategy",{resource:e}),c={get limit(){return o.getValue("editor.foldingMaximumRegions",{resource:e})},update:()=>{}},a=new U4(n,r,c);let l=a;if("indentation"!==h){const t=h5.getFoldingRangeProviders(s,n);t.length&&(l=new e5(n,t,(()=>{}),c,a))}const u=await l.compute(xe.None),d=[];try{if(u)for(let t=0;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},p5=function(t,i){return function(e,s){i(e,s,t)}};let g5=class{constructor(t,i,e,s){this._editor=t,this._languageFeaturesService=i,this._workerService=e,this._accessibleNotificationService=s,this._disposables=new te,this._sessionDisposables=new te,this._disposables.add(i.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(t.onDidChangeModel((()=>this._update()))),this._disposables.add(t.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(t.onDidChangeConfiguration((t=>{t.hasChanged(56)&&this._update()}))),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56))return;if(!this._editor.hasModel())return;const t=this._editor.getModel(),[i]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(t);if(!i||!i.autoFormatTriggerCharacters)return;const e=new bf;for(const t of i.autoFormatTriggerCharacters)e.add(t.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType((t=>{const i=t.charCodeAt(t.length-1);e.has(i)&&this._trigger(String.fromCharCode(i))})))}_trigger(t){if(!this._editor.hasModel())return;if(this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const i=this._editor.getModel(),e=this._editor.getPosition(),s=new Se,n=this._editor.onDidChangeModelContent((t=>{if(t.isFlush)return s.cancel(),void n.dispose();for(let i=0,o=t.changes.length;i{s.token.isCancellationRequested||y(t)&&(this._accessibleNotificationService.notify("format",!1),yK.execute(this._editor,t,!0))})).finally((()=>{n.dispose()}))}};g5.ID="editor.contrib.autoFormat",g5=f5([p5(1,gg),p5(2,lP),p5(3,Vm)],g5);let m5=class{constructor(t,i,e){this.editor=t,this._languageFeaturesService=i,this._instantiationService=e,this._callOnDispose=new te,this._callOnModel=new te,this._callOnDispose.add(t.onDidChangeConfiguration((()=>this._update()))),this._callOnDispose.add(t.onDidChangeModel((()=>this._update()))),this._callOnDispose.add(t.onDidChangeModelLanguage((()=>this._update()))),this._callOnDispose.add(i.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste((({range:t})=>this._trigger(t))))}_trigger(t){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(DK,this.editor,t,2,OO.None,xe.None,!1).catch(Pi))}};m5.ID="editor.contrib.formatOnPaste",m5=f5([p5(1,gg),p5(2,ur)],m5),lu(g5.ID,g5,2),lu(m5.ID,m5,2),cu(class extends su{constructor(){super({id:"editor.action.formatDocument",label:rt(0,"Format Document"),alias:"Format Document",precondition:zr.and(UC.notInCompositeEditor,UC.writable,UC.hasDocumentFormattingProvider),kbOpts:{kbExpr:UC.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(t,i){if(i.hasModel()){const e=t.get(ur),s=t.get(IO);await s.showWhile(e.invokeFunction(AK,i,1,OO.None,xe.None,!0),250)}}}),cu(class extends su{constructor(){super({id:"editor.action.formatSelection",label:rt(0,"Format Selection"),alias:"Format Selection",precondition:zr.and(UC.writable,UC.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:UC.editorTextFocus,primary:Ne(2089,2084),weight:100},contextMenuOpts:{when:UC.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(t,i){if(!i.hasModel())return;const e=t.get(ur),s=i.getModel(),n=i.getSelections().map((t=>t.isEmpty()?new Ms(t.startLineNumber,1,t.startLineNumber,s.getLineMaxColumn(t.startLineNumber)):t)),o=t.get(IO);await o.showWhile(e.invokeFunction(DK,i,n,1,OO.None,xe.None,!0),250)}}),Dr.registerCommand("editor.action.format",(async t=>{const i=t.get(fr).getFocusedCodeEditor();if(!i||!i.hasModel())return;const e=t.get(Sr);i.getSelection().isEmpty()?await e.executeCommand("editor.action.formatDocument"):await e.executeCommand("editor.action.formatSelection")}));var w5=function(t,i){return function(e,s){i(e,s,t)}};class v5{remove(){var t;null===(t=this.parent)||void 0===t||t.children.delete(this.id)}static findId(t,i){let e;"string"==typeof t?e=`${i.id}/${t}`:(e=`${i.id}/${t.name}`,void 0!==i.children.get(e)&&(e=`${i.id}/${t.name}_${t.range.startLineNumber}_${t.range.startColumn}`));let s=e;for(let t=0;void 0!==i.children.get(s);t++)s=`${e}_${t}`;return s}static empty(t){return 0===t.children.size}}class b5 extends v5{constructor(t,i,e){super(),this.id=t,this.parent=i,this.symbol=e,this.children=new Map}}class y5 extends v5{constructor(t,i,e,s){super(),this.id=t,this.parent=i,this.label=e,this.order=s,this.children=new Map}}class k5 extends v5{static create(t,i,e){const s=new Se(e),n=new k5(i.uri),o=t.ordered(i),r=o.map(((t,e)=>{var o;const r=v5.findId(`provider_${e}`,n),h=new y5(r,n,null!==(o=t.displayName)&&void 0!==o?o:"Unknown Outline Provider",e);return Promise.resolve(t.provideDocumentSymbols(i,s.token)).then((t=>{for(const i of t||[])k5._makeOutlineElement(i,h);return h}),(t=>($i(t),h))).then((t=>{v5.empty(t)?t.remove():n._groups.set(r,t)}))})),h=t.onDidChange((()=>{u(t.ordered(i),o)||s.cancel()}));return Promise.all(r).then((()=>s.token.isCancellationRequested&&!e.isCancellationRequested?k5.create(t,i,e):n._compact())).finally((()=>{s.dispose(),h.dispose(),s.dispose()}))}static _makeOutlineElement(t,i){const e=v5.findId(t,i),s=new b5(e,i,t);if(t.children)for(const i of t.children)k5._makeOutlineElement(i,s);i.children.set(s.id,s)}constructor(t){super(),this.uri=t,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let t=0;for(const[i,e]of this._groups)0===e.children.size?this._groups.delete(i):t+=1;if(1!==t)this.children=this._groups;else{const t=Vt.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const t=[];for(const i of this.children.values())i instanceof b5?t.push(i.symbol):t.push(...Vt.map(i.children.values(),(t=>t.symbol)));return t.sort(((t,i)=>Ms.compareRangesUsingStarts(t.range,i.range)))}asListOfDocumentSymbols(){const t=this.getTopLevelSymbols(),i=[];return k5._flattenDocumentSymbols(i,t,""),i.sort(((t,i)=>As.compare(Ms.getStartPosition(t.range),Ms.getStartPosition(i.range))||As.compare(Ms.getEndPosition(i.range),Ms.getEndPosition(t.range))))}static _flattenDocumentSymbols(t,i,e){for(const s of i)t.push({kind:s.kind,tags:s.tags,name:s.name,detail:s.detail,containerName:s.containerName||e,range:s.range,selectionRange:s.selectionRange,children:void 0}),s.children&&k5._flattenDocumentSymbols(t,s.children,s.name)}}const x5=dr("IOutlineModelService");let C5=class{constructor(t,i,e){this._languageFeaturesService=t,this._disposables=new te,this._cache=new Bp(10,.7),this._debounceInformation=i.for(t.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(e.onModelRemoved((t=>{this._cache.delete(t.id)})))}dispose(){this._disposables.dispose()}async getOrCreate(t,i){const e=this._languageFeaturesService.documentSymbolProvider,s=e.ordered(t);let n=this._cache.get(t.id);if(!n||n.versionId!==t.getVersionId()||!u(n.provider,s)){const i=new Se;n={versionId:t.getVersionId(),provider:s,promiseCnt:0,source:i,promise:k5.create(e,t,i.token),model:void 0},this._cache.set(t.id,n);const o=Date.now();n.promise.then((i=>{n.model=i,this._debounceInformation.update(t,Date.now()-o)})).catch((()=>{this._cache.delete(t.id)}))}if(n.model)return n.model;n.promiseCnt+=1;const o=i.onCancellationRequested((()=>{0==--n.promiseCnt&&(n.source.cancel(),this._cache.delete(t.id))}));try{return await n.promise}finally{o.dispose()}}};C5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([w5(0,gg),w5(1,hR),w5(2,pr)],C5),Cd(x5,C5,1),Dr.registerCommand("_executeDocumentSymbolProvider",(async function(t,...i){const[e]=i;K(ms.isUri(e));const s=t.get(x5),n=t.get(gr),o=await n.createModelReference(e);try{return(await s.getOrCreate(o.object.textEditorModel,xe.None)).getTopLevelSymbols()}finally{o.dispose()}}));class S5 extends ie{constructor(t,i){super(),this.contextKeyService=t,this.model=i,this.inlineCompletionVisible=S5.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=S5.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=S5.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=S5.suppressSuggestions.bindTo(this.contextKeyService),this._register(RV((t=>{const i=this.model.read(t),e=null==i?void 0:i.state.read(t),s=!!(null==e?void 0:e.inlineCompletion)&&void 0!==(null==e?void 0:e.ghostText)&&!(null==e?void 0:e.ghostText.isEmpty());this.inlineCompletionVisible.set(s),(null==e?void 0:e.ghostText)&&(null==e?void 0:e.inlineCompletion)&&this.suppressSuggestions.set(e.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)}))),this._register(RV((t=>{const i=this.model.read(t);let e=!1,s=!0;const n=null==i?void 0:i.ghostText.read(t);if((null==i?void 0:i.selectedSuggestItem)&&n&&n.parts.length>0){const{column:t,lines:o}=n.parts[0],r=o[0];if(t<=i.textModel.getLineIndentColumn(n.lineNumber)){let t=to(r);-1===t&&(t=r.length-1),e=t>0;const n=i.textModel.getOptions().tabSize;s=qy.visibleColumnFromColumn(r,t+1,n)i)throw new Gi(`startColumn ${t} cannot be after endColumnExclusive ${i}`)}toRange(t){return new Ms(t,this.startColumn,t,this.endColumnExclusive)}equals(t){return this.startColumn===t.startColumn&&this.endColumnExclusive===t.endColumnExclusive}}function M5(t,i){return new As(t.lineNumber+i.lineNumber-1,1===i.lineNumber?t.column+i.column-1:i.column)}function L5(t){let i=1,e=1;for(const s of t)"\n"===s?(i++,e=1):e++;return new As(i,e)}class F5{constructor(t,i){this.lineNumber=t,this.parts=i}equals(t){return this.lineNumber===t.lineNumber&&this.parts.length===t.parts.length&&this.parts.every(((i,e)=>i.equals(t.parts[e])))}renderForScreenReader(t){if(0===this.parts.length)return"";const i=function(t,i){const e=new D5(t),s=i.map((t=>{const i=Ms.lift(t.range);return{startOffset:e.getOffset(i.getStartPosition()),endOffset:e.getOffset(i.getEndPosition()),text:t.text}}));s.sort(((t,i)=>i.startOffset-t.startOffset));for(const i of s)t=t.substring(0,i.startOffset)+i.text+t.substring(i.endOffset);return t}(t.substr(0,this.parts[this.parts.length-1].column-1),this.parts.map((t=>({range:{startLineNumber:1,endLineNumber:1,startColumn:t.column,endColumn:t.column},text:t.lines.join("\n")}))));return i.substring(this.parts[0].column-1)}isEmpty(){return this.parts.every((t=>0===t.lines.length))}get lineCount(){return 1+this.parts.reduce(((t,i)=>t+i.lines.length-1),0)}}class T5{constructor(t,i,e){this.column=t,this.lines=i,this.preview=e}equals(t){return this.column===t.column&&this.lines.length===t.lines.length&&this.lines.every(((i,e)=>i===t.lines[e]))}}class R5{constructor(t,i,e,s=0){this.lineNumber=t,this.columnRange=i,this.newLines=e,this.additionalReservedLineCount=s,this.parts=[new T5(this.columnRange.endColumnExclusive,this.newLines,!1)]}renderForScreenReader(t){return this.newLines.join("\n")}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every((t=>0===t.lines.length))}equals(t){return this.lineNumber===t.lineNumber&&this.columnRange.equals(t.columnRange)&&this.newLines.length===t.newLines.length&&this.newLines.every(((i,e)=>i===t.newLines[e]))&&this.additionalReservedLineCount===t.additionalReservedLineCount}}function O5(t,i){return t===i||!(!t||!i)&&(t instanceof F5&&i instanceof F5||t instanceof R5&&i instanceof R5)&&t.equals(i)}const I5="ghost-text";let _5=class extends ie{constructor(t,i,e){super(),this.editor=t,this.model=i,this.languageService=e,this.isDisposed=xV(this,!1),this.currentTextModel=$V(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this.uiState=AV(this,(t=>{if(this.isDisposed.read(t))return;const i=this.currentTextModel.read(t);if(i!==this.model.targetTextModel.read(t))return;const e=this.model.ghostText.read(t);if(!e)return;const s=e instanceof R5?e.columnRange:void 0,n=[],o=[];function r(t,i){if(o.length>0){const e=o[o.length-1];i&&e.decorations.push(new Og(e.content.length+1,e.content.length+1+t[0].length,i,0)),e.content+=t[0],t=t.slice(1)}for(const e of t)o.push({content:e,decorations:i?[new Og(1,e.length+1,i,0)]:[]})}const h=i.getLineContent(e.lineNumber);let c,a=0;for(const t of e.parts){let i=t.lines;void 0===c?(n.push({column:t.column,text:i[0],preview:t.preview}),i=i.slice(1)):r([h.substring(a,t.column-1)],void 0),i.length>0&&(r(i,I5),void 0===c&&t.column<=h.length&&(c=t.column)),a=t.column-1}void 0!==c&&r([h.substring(a)],void 0);const l=void 0!==c?new A5(c,h.length+1):void 0;return{replacedRange:s,inlineTexts:n,additionalLines:o,hiddenRange:l,lineNumber:e.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(t),targetTextModel:i}})),this.decorations=AV(this,(t=>{const i=this.uiState.read(t);if(!i)return[];const e=[];i.replacedRange&&e.push({range:i.replacedRange.toRange(i.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),i.hiddenRange&&e.push({range:i.hiddenRange.toRange(i.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const t of i.inlineTexts)e.push({range:Ms.fromPositions(new As(i.lineNumber,t.column)),options:{description:I5,after:{content:t.text,inlineClassName:t.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:Tf.Left},showIfCollapsed:!0}});return e})),this.additionalLinesWidget=this._register(new N5(this.editor,this.languageService.languageIdCodec,AV((t=>{const i=this.uiState.read(t);return i?{lineNumber:i.lineNumber,additionalLines:i.additionalLines,minReservedLineCount:i.additionalReservedLineCount,targetTextModel:i.targetTextModel}:void 0})))),this._register(Xi((()=>{this.isDisposed.set(!0,void 0)}))),this._register(function(t,i){const e=new te,s=t.createDecorationsCollection();return e.add(OV({debugName:()=>`Apply decorations from ${i.debugName}`},(t=>{const e=i.read(t);s.set(e)}))),e.add({dispose:()=>{s.clear()}}),e}(this.editor,this.decorations))}ownsViewZone(t){return this.additionalLinesWidget.viewZoneId===t}};_5=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,yd)],_5);class N5 extends ie{get viewZoneId(){return this._viewZoneId}constructor(t,i,e){super(),this.editor=t,this.languageIdCodec=i,this.lines=e,this._viewZoneId=void 0,this.editorOptionsChanged=jV("editorOptionChanged",ce.filter(this.editor.onDidChangeConfiguration,(t=>t.hasChanged(33)||t.hasChanged(116)||t.hasChanged(98)||t.hasChanged(93)||t.hasChanged(51)||t.hasChanged(50)||t.hasChanged(66)))),this._register(RV((t=>{const i=this.lines.read(t);this.editorOptionsChanged.read(t),i?this.updateLines(i.lineNumber,i.additionalLines,i.minReservedLineCount):this.clear()})))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones((t=>{this._viewZoneId&&(t.removeZone(this._viewZoneId),this._viewZoneId=void 0)}))}updateLines(t,i,e){const s=this.editor.getModel();if(!s)return;const{tabSize:n}=s.getOptions();this.editor.changeViewZones((s=>{this._viewZoneId&&(s.removeZone(this._viewZoneId),this._viewZoneId=void 0);const o=Math.max(i.length,e);if(o>0){const e=document.createElement("div");!function(t,i,e,s,n){const o=s.get(33),r=s.get(116),h=s.get(93),c=s.get(51),a=s.get(50),l=s.get(66),u=new td(1e4);u.appendString('
    ');for(let t=0,s=e.length;t');const f=Eo(d),p=So(d),g=Tg.createEmpty(d,n);Hg(new $g(a.isMonospace&&!o,a.canUseHalfwidthRightwardsArrow,d,!1,f,p,0,g,s.decorations,i,0,a.spaceWidth,a.middotWidth,a.wsmiddotWidth,r,"none",h,c!==vi.OFF,null),u),u.appendString("
    ")}u.appendString(""),ir(t,a);const d=u.build(),f=B5?B5.createHTML(d):d;t.innerHTML=f}(e,n,i,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=s.addZone({afterLineNumber:t,heightInLines:o,domNode:e,afterColumnAffinity:1})}}))}}const B5=Mu("editorGhostText",{createHTML:t=>t});class P5{constructor(t){this.lines=t,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(t){return this.lines[t-1].getLineContent().length}}class $5{constructor(){this.value="",this.pos=0}static isDigitCharacter(t){return t>=48&&t<=57}static isVariableCharacter(t){return 95===t||t>=97&&t<=122||t>=65&&t<=90}text(t){this.value=t,this.pos=0}tokenText(t){return this.value.substr(t.pos,t.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const t=this.pos;let i,e=0,s=this.value.charCodeAt(t);if(i=$5._table[s],"number"==typeof i)return this.pos+=1,{type:i,pos:t,len:1};if($5.isDigitCharacter(s)){i=8;do{e+=1,s=this.value.charCodeAt(t+e)}while($5.isDigitCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}if($5.isVariableCharacter(s)){i=9;do{s=this.value.charCodeAt(t+ ++e)}while($5.isVariableCharacter(s)||$5.isDigitCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}i=10;do{e+=1,s=this.value.charCodeAt(t+e)}while(!isNaN(s)&&void 0===$5._table[s]&&!$5.isDigitCharacter(s)&&!$5.isVariableCharacter(s));return this.pos+=e,{type:i,pos:t,len:e}}}$5._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};class W5{constructor(){this._children=[]}appendChild(t){return t instanceof j5&&this._children[this._children.length-1]instanceof j5?this._children[this._children.length-1].value+=t.value:(t.parent=this,this._children.push(t)),this}replace(t,i){const{parent:e}=t,s=e.children.indexOf(t),n=e.children.slice(0);n.splice(s,1,...i),e._children=n,function t(i,e){for(const s of i)s.parent=e,t(s.children,s)}(i,e)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let t=this;for(;;){if(!t)return;if(t instanceof Z5)return t;t=t.parent}}toString(){return this.children.reduce(((t,i)=>t+i.toString()),"")}len(){return 0}}class j5 extends W5{constructor(t){super(),this.value=t}toString(){return this.value}len(){return this.value.length}clone(){return new j5(this.value)}}class z5 extends W5{}class H5 extends z5{static compareByIndex(t,i){return t.index===i.index?0:t.isFinalTabstop?1:i.isFinalTabstop||t.indexi.index?1:0}constructor(t){super(),this.index=t}get isFinalTabstop(){return 0===this.index}get choice(){return 1===this._children.length&&this._children[0]instanceof V5?this._children[0]:void 0}clone(){const t=new H5(this.index);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map((t=>t.clone())),t}}class V5 extends W5{constructor(){super(...arguments),this.options=[]}appendChild(t){return t instanceof j5&&(t.parent=this,this.options.push(t)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const t=new V5;return this.options.forEach(t.appendChild,t),t}}class U5 extends W5{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(t){const i=this;let e=!1,s=t.replace(this.regexp,(function(){return e=!0,i._replace(Array.prototype.slice.call(arguments,0,-2))}));return!e&&this._children.some((t=>t instanceof q5&&Boolean(t.elseValue)))&&(s=this._replace([])),s}_replace(t){let i="";for(const e of this._children)if(e instanceof q5){let s=t[e.index]||"";s=e.resolve(s),i+=s}else i+=e.toString();return i}toString(){return""}clone(){const t=new U5;return t.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),t._children=this.children.map((t=>t.clone())),t}}class q5 extends W5{constructor(t,i,e,s){super(),this.index=t,this.shorthandName=i,this.ifValue=e,this.elseValue=s}resolve(t){return"upcase"===this.shorthandName?t?t.toLocaleUpperCase():"":"downcase"===this.shorthandName?t?t.toLocaleLowerCase():"":"capitalize"===this.shorthandName?t?t[0].toLocaleUpperCase()+t.substr(1):"":"pascalcase"===this.shorthandName?t?this._toPascalCase(t):"":"camelcase"===this.shorthandName?t?this._toCamelCase(t):"":Boolean(t)&&"string"==typeof this.ifValue?this.ifValue:Boolean(t)||"string"!=typeof this.elseValue?t||"":this.elseValue}_toPascalCase(t){const i=t.match(/[a-z0-9]+/gi);return i?i.map((t=>t.charAt(0).toUpperCase()+t.substr(1))).join(""):t}_toCamelCase(t){const i=t.match(/[a-z0-9]+/gi);return i?i.map(((t,i)=>0===i?t.charAt(0).toLowerCase()+t.substr(1):t.charAt(0).toUpperCase()+t.substr(1))).join(""):t}clone(){return new q5(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class K5 extends z5{constructor(t){super(),this.name=t}resolve(t){let i=t.resolve(this);return this.transform&&(i=this.transform.resolve(i||"")),void 0!==i&&(this._children=[new j5(i)],!0)}clone(){const t=new K5(this.name);return this.transform&&(t.transform=this.transform.clone()),t._children=this.children.map((t=>t.clone())),t}}function G5(t,i){const e=[...t];for(;e.length>0;){const t=e.shift();if(!i(t))break;e.unshift(...t.children)}}class Z5 extends W5{get placeholderInfo(){if(!this._placeholders){const t=[];let i;this.walk((function(e){return e instanceof H5&&(t.push(e),i=!i||i.indexs===t?(e=!0,!1):(i+=s.len(),!0))),e?i:-1}fullLen(t){let i=0;return G5([t],(t=>(i+=t.len(),!0))),i}enclosingPlaceholders(t){const i=[];let{parent:e}=t;for(;e;)e instanceof H5&&i.push(e),e=e.parent;return i}resolveVariables(t){return this.walk((i=>(i instanceof K5&&i.resolve(t)&&(this._placeholders=void 0),!0))),this}appendChild(t){return this._placeholders=void 0,super.appendChild(t)}replace(t,i){return this._placeholders=void 0,super.replace(t,i)}clone(){const t=new Z5;return this._children=this.children.map((t=>t.clone())),t}walk(t){G5(this.children,t)}}class Q5{constructor(){this._scanner=new $5,this._token={type:14,pos:0,len:0}}static escape(t){return t.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(t){return/\${?CLIPBOARD/.test(t)}parse(t,i,e){const s=new Z5;return this.parseFragment(t,s),this.ensureFinalTabstop(s,null!=e&&e,null!=i&&i),s}parseFragment(t,i){const e=i.children.length;for(this._scanner.text(t),this._token=this._scanner.next();this._parse(i););const s=new Map,n=[];i.walk((t=>(t instanceof H5&&(t.isFinalTabstop?s.set(0,void 0):!s.has(t.index)&&t.children.length>0?s.set(t.index,t.children):n.push(t)),!0)));const o=(t,e)=>{const n=s.get(t.index);if(!n)return;const r=new H5(t.index);r.transform=t.transform;for(const t of n){const i=t.clone();r.appendChild(i),i instanceof H5&&s.has(i.index)&&!e.has(i.index)&&(e.add(i.index),o(i,e),e.delete(i.index))}i.replace(t,[r])},r=new Set;for(const t of n)o(t,r);return i.children.slice(e)}ensureFinalTabstop(t,i,e){(i||e&&t.placeholders.length>0)&&(t.placeholders.find((t=>0===t.index))||t.appendChild(new H5(0)))}_accept(t,i){if(void 0===t||this._token.type===t){const t=!i||this._scanner.tokenText(this._token);return this._token=this._scanner.next(),t}return!1}_backTo(t){return this._scanner.pos=t.pos+t.len,this._token=t,!1}_until(t){const i=this._token;for(;this._token.type!==t;){if(14===this._token.type)return!1;if(5===this._token.type){const t=this._scanner.next();if(0!==t.type&&4!==t.type&&5!==t.type)return!1}this._token=this._scanner.next()}const e=this._scanner.value.substring(i.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),e}_parse(t){return this._parseEscaped(t)||this._parseTabstopOrVariableName(t)||this._parseComplexPlaceholder(t)||this._parseComplexVariable(t)||this._parseAnything(t)}_parseEscaped(t){let i;return!!(i=this._accept(5,!0))&&(i=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||i,t.appendChild(new j5(i)),!0)}_parseTabstopOrVariableName(t){let i;const e=this._token;return this._accept(0)&&(i=this._accept(9,!0)||this._accept(8,!0))?(t.appendChild(/^\d+$/.test(i)?new H5(Number(i)):new K5(i)),!0):this._backTo(e)}_parseComplexPlaceholder(t){let i;const e=this._token;if(!(this._accept(0)&&this._accept(3)&&(i=this._accept(8,!0))))return this._backTo(e);const s=new H5(Number(i));if(this._accept(1))for(;;){if(this._accept(4))return t.appendChild(s),!0;if(!this._parse(s))return t.appendChild(new j5("${"+i+":")),s.children.forEach(t.appendChild,t),!0}else{if(!(s.index>0&&this._accept(7)))return this._accept(6)?this._parseTransform(s)?(t.appendChild(s),!0):(this._backTo(e),!1):this._accept(4)?(t.appendChild(s),!0):this._backTo(e);{const i=new V5;for(;;){if(this._parseChoiceElement(i)){if(this._accept(2))continue;if(this._accept(7)&&(s.appendChild(i),this._accept(4)))return t.appendChild(s),!0}return this._backTo(e),!1}}}}_parseChoiceElement(t){const i=this._token,e=[];for(;2!==this._token.type&&7!==this._token.type;){let t;if(t=(t=this._accept(5,!0))?this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||t:this._accept(void 0,!0),!t)return this._backTo(i),!1;e.push(t)}return 0===e.length?(this._backTo(i),!1):(t.appendChild(new j5(e.join(""))),!0)}_parseComplexVariable(t){let i;const e=this._token;if(!(this._accept(0)&&this._accept(3)&&(i=this._accept(9,!0))))return this._backTo(e);const s=new K5(i);if(!this._accept(1))return this._accept(6)?this._parseTransform(s)?(t.appendChild(s),!0):(this._backTo(e),!1):this._accept(4)?(t.appendChild(s),!0):this._backTo(e);for(;;){if(this._accept(4))return t.appendChild(s),!0;if(!this._parse(s))return t.appendChild(new j5("${"+i+":")),s.children.forEach(t.appendChild,t),!0}}_parseTransform(t){const i=new U5;let e="",s="";for(;!this._accept(6);){let t;if(t=this._accept(5,!0))t=this._accept(6,!0)||t,e+=t;else{if(14===this._token.type)return!1;e+=this._accept(void 0,!0)}}for(;!this._accept(6);){let t;if(t=this._accept(5,!0))t=this._accept(5,!0)||this._accept(6,!0)||t,i.appendChild(new j5(t));else if(!this._parseFormatString(i)&&!this._parseAnything(i))return!1}for(;!this._accept(4);){if(14===this._token.type)return!1;s+=this._accept(void 0,!0)}try{i.regexp=new RegExp(e,s)}catch(t){return!1}return t.transform=i,!0}_parseFormatString(t){const i=this._token;if(!this._accept(0))return!1;let e=!1;this._accept(3)&&(e=!0);const s=this._accept(8,!0);if(!s)return this._backTo(i),!1;if(!e)return t.appendChild(new q5(Number(s))),!0;if(this._accept(4))return t.appendChild(new q5(Number(s))),!0;if(!this._accept(1))return this._backTo(i),!1;if(this._accept(6)){const e=this._accept(9,!0);return e&&this._accept(4)?(t.appendChild(new q5(Number(s),e)),!0):(this._backTo(i),!1)}if(this._accept(11)){const i=this._until(4);if(i)return t.appendChild(new q5(Number(s),void 0,i,void 0)),!0}else if(this._accept(12)){const i=this._until(4);if(i)return t.appendChild(new q5(Number(s),void 0,void 0,i)),!0}else if(this._accept(13)){const i=this._until(1);if(i){const e=this._until(4);if(e)return t.appendChild(new q5(Number(s),void 0,i,e)),!0}}else{const i=this._until(4);if(i)return t.appendChild(new q5(Number(s),void 0,void 0,i)),!0}return this._backTo(i),!1}_parseAnything(t){return 14!==this._token.type&&(t.appendChild(new j5(this._scanner.tokenText(this._token))),this._accept(void 0),!0)}}async function J5(t,i,e,s,n=xe.None,o){const r=function(t,i){const e=i.getWordAtPosition(t),s=i.getLineMaxColumn(t.lineNumber);return e?new Ms(t.lineNumber,e.startColumn,t.lineNumber,s):Ms.fromPositions(t,t.with(void 0,s))}(i,e),h=t.all(e),c=new $p;for(const t of h)t.groupId&&c.add(t.groupId,t);function a(t){if(!t.yieldsToGroupIds)return[];const i=[];for(const e of t.yieldsToGroupIds||[]){const t=c.get(e);for(const e of t)i.push(e)}return i}const l=new Map,u=new Set;function d(t,i){if(i=[...i,t],u.has(t))return i;u.add(t);try{const e=a(t);for(const t of e){const e=d(t,i);if(e)return e}}finally{u.delete(t)}}function f(t){const o=l.get(t);if(o)return o;const r=d(t,[]);r&&$i(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${r.map((t=>t.toString?t.toString():""+t)).join(" -> ")}`));const h=new bc;return l.set(t,h.p),(async()=>{if(!r){const i=a(t);for(const t of i){const i=await f(t);if(i&&i.items.length>0)return}}try{return await t.provideInlineCompletions(e,i,s,n)}catch(t){return void $i(t)}})().then((t=>h.complete(t)),(t=>h.error(t))),h.p}const p=await Promise.all(h.map((async t=>({provider:t,completions:await f(t)})))),g=new Map,m=[];for(const t of p){const i=t.completions;if(!i)continue;const s=new X5(i,t.provider);m.push(s);for(const t of i.items){const i=t3.from(t,s,r,e,o);g.set(i.hash(),i)}}return new Y5(Array.from(g.values()),new Set(g.keys()),m)}class Y5{constructor(t,i,e){this.completions=t,this.hashs=i,this.providerResults=e}has(t){return this.hashs.has(t.hash())}dispose(){for(const t of this.providerResults)t.removeRef()}}class X5{constructor(t,i){this.inlineCompletions=t,this.provider=i,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,0===this.refCount&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class t3{static from(t,i,e,s,n){let o,r,h=t.range?Ms.lift(t.range):e;if("string"==typeof t.insertText){if(o=t.insertText,n&&t.completeBracketPairs){o=i3(o,h.getStartPosition(),s,n);const i=o.length-t.insertText.length;0!==i&&(h=new Ms(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn+i))}r=void 0}else if("snippet"in t.insertText){const i=t.insertText.snippet.length;if(n&&t.completeBracketPairs){t.insertText.snippet=i3(t.insertText.snippet,h.getStartPosition(),s,n);const e=t.insertText.snippet.length-i;0!==e&&(h=new Ms(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn+e))}const e=(new Q5).parse(t.insertText.snippet);1===e.children.length&&e.children[0]instanceof j5?(o=e.children[0].value,r=void 0):(o=e.toString(),r={snippet:t.insertText.snippet,range:h})}else xh();return new t3(o,t.command,h,o,r,t.additionalTextEdits||E5,t,i)}constructor(t,i,e,s,n,o,r,h){this.filterText=t,this.command=i,this.range=e,this.insertText=s,this.snippetInfo=n,this.additionalTextEdits=o,this.sourceInlineCompletion=r,this.source=h,s=(t=t.replace(/\r\n|\r/g,"\n")).replace(/\r\n|\r/g,"\n")}withRange(t){return new t3(this.filterText,this.command,t,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}}function i3(t,i,e,s){const n=e.getLineContent(i.lineNumber).substring(0,i.column-1)+t,o=e.tokenization.tokenizeLineWithEdit(i,n.length-(i.column-1),t),r=null==o?void 0:o.sliceAndInflate(i.column-1,n.length,0);if(!r)return t;const h=function(t,i){const e=new uE,s=new LE(e,(t=>i.getLanguageConfiguration(t))),n=NE(new DE(new P5([t]),s),[],void 0,!0);let o="";const r=t.getLineContent();return function t(i,e){if(2===i.kind)if(t(i.openingBracket,e),e=QD(e,i.openingBracket.length),i.child&&(t(i.child,e),e=QD(e,i.child.length)),i.closingBracket)t(i.closingBracket,e),e=QD(e,i.closingBracket.length);else{const t=s.getSingleLanguageBracketTokens(i.openingBracket.languageId).findClosingTokenText(i.openingBracket.bracketIds);o+=t}else if(3===i.kind);else if(0===i.kind||1===i.kind)o+=r.substring(e,QD(e,i.length));else if(4===i.kind)for(const s of i.children)t(s,e),e=QD(e,s.length)}(n,UD),o}(r,s);return h}class e3{constructor(t,i){this.range=t,this.text=i}removeCommonPrefix(t,i){const e=i?this.range.intersectRanges(i):this.range;if(!e)return this;const s=t.getValueInRange(e,1),n=fo(s,this.text),o=M5(this.range.getStartPosition(),L5(s.substring(0,n))),r=this.text.substring(n),h=Ms.fromPositions(o,this.range.getEndPosition());return new e3(h,r)}augments(t){return this.text.startsWith(t.text)&&(i=this.range,(e=t.range).getStartPosition().equals(i.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(i.getEndPosition()));var i,e}computeGhostText(t,i,e,s=0){let n=this.removeCommonPrefix(t);if(n.range.endLineNumber!==n.range.startLineNumber)return;const o=t.getLineContent(n.range.startLineNumber),r=io(o).length;if(n.range.startColumn-1<=r){const t=io(n.text).length,i=o.substring(n.range.startColumn-1,r),[e,s]=[n.range.getStartPosition(),n.range.getEndPosition()],h=e.column+i.length<=s.column?e.delta(0,i.length):s,c=Ms.fromPositions(h,s),a=n.text.startsWith(i)?n.text.substring(i.length):n.text.substring(t);n=new e3(c,a)}const h=t.getValueInRange(n.range),c=function(t,i){if((null==s3?void 0:s3.originalValue)===t&&(null==s3?void 0:s3.newValue)===i)return null==s3?void 0:s3.changes;{let e=o3(t,i,!0);if(e){const s=n3(e);if(s>0){const n=o3(t,i,!1);n&&n3(n)0===t.originalLength));if(t.length>1||1===t.length&&t[0].originalStart!==h.length)return}const u=n.text.length-s;for(const t of c){const s=n.range.startColumn+t.originalStart+t.originalLength;if("subwordSmart"===i&&e&&e.lineNumber===n.range.startLineNumber&&s0)return;if(0===t.modifiedLength)continue;const o=t.modifiedStart+t.modifiedLength,r=Math.max(t.modifiedStart,Math.min(o,u)),h=n.text.substring(t.modifiedStart,r),c=n.text.substring(r,Math.max(t.modifiedStart,o));if(h.length>0){const t=Xn(h);l.push(new T5(s,t,!1))}if(c.length>0){const t=Xn(c);l.push(new T5(s,t,!0))}}return new F5(a,l)}}let s3;function n3(t){let i=0;for(const e of t)i+=e.originalLength;return i}function o3(t,i,e){if(t.length>5e3||i.length>5e3)return;function s(t){let i=0;for(let e=0,s=t.length;ei&&(i=s)}return i}const n=Math.max(s(t),s(i));function o(t){if(t<0)throw new Error("unexpected");return n+t+1}function r(t){let i=0,s=0;const n=new Int32Array(t.length);for(let r=0,h=t.length;rh},{getElements:()=>c}).ComputeDiff(!1).changes}var r3=function(t,i){return function(e,s){i(e,s,t)}};let h3=class extends ie{constructor(t,i,e,s,n){super(),this.textModel=t,this.versionId=i,this._debounceValue=e,this.languageFeaturesService=s,this.languageConfigurationService=n,this._updateOperation=this._register(new ee),this.inlineCompletions=SV("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=SV("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent((()=>{this._updateOperation.clear()})))}fetch(t,i,e){var s,n;const o=new c3(t,i,this.textModel.getVersionId()),r=i.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(null===(s=this._updateOperation.value)||void 0===s?void 0:s.request.satisfies(o))return this._updateOperation.value.promise;if(null===(n=r.get())||void 0===n?void 0:n.request.satisfies(o))return Promise.resolve(!0);const h=!!this._updateOperation.value;this._updateOperation.clear();const c=new Se,a=(async()=>{var s;if((h||i.triggerKind===$s.Automatic)&&await(s=this._debounceValue.get(this.textModel),new Promise((t=>{let i;setTimeout((()=>{i&&i.dispose(),t()}),s)}))),c.token.isCancellationRequested||this.textModel.getVersionId()!==o.versionId)return!1;const n=new Date,a=await J5(this.languageFeaturesService.inlineCompletionsProvider,t,this.textModel,i,c.token,this.languageConfigurationService);if(c.token.isCancellationRequested||this.textModel.getVersionId()!==o.versionId)return!1;const l=new Date;this._debounceValue.update(this.textModel,l.getTime()-n.getTime());const u=new l3(a,o,this.textModel,this.versionId);if(e){const i=e.toInlineCompletion(void 0);e.canBeReused(this.textModel,t)&&!a.has(i)&&u.prepend(e.inlineCompletion,i.range,!0)}return this._updateOperation.clear(),dV((t=>{r.set(u,t)})),!0})(),l=new a3(o,c,a);return this._updateOperation.value=l,a}clear(t){this._updateOperation.clear(),this.inlineCompletions.set(void 0,t),this.suggestWidgetInlineCompletions.set(void 0,t)}clearSuggestWidgetInlineCompletions(t){var i;(null===(i=this._updateOperation.value)||void 0===i?void 0:i.request.context.selectedSuggestionInfo)&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,t)}cancelUpdate(){this._updateOperation.clear()}};h3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([r3(3,gg),r3(4,qd)],h3);class c3{constructor(t,i,e){this.position=t,this.context=i,this.versionId=e}satisfies(t){return this.position.equals(t.position)&&(e=t.context.selectedSuggestionInfo,(i=this.context.selectedSuggestionInfo)&&e?((t,i)=>t.equals(i))(i,e):i===e)&&(t.context.triggerKind===$s.Automatic||this.context.triggerKind===$s.Explicit)&&this.versionId===t.versionId;var i,e}}class a3{constructor(t,i,e){this.request=t,this.cancellationTokenSource=i,this.promise=e}dispose(){this.cancellationTokenSource.cancel()}}class l3{get inlineCompletions(){return this._inlineCompletions}constructor(t,i,e,s){this.inlineCompletionProviderResult=t,this.request=i,this.textModel=e,this.versionId=s,this._refCount=1,this._prependedInlineCompletionItems=[],this._rangeVersionIdValue=0,this._rangeVersionId=AV(this,(t=>{this.versionId.read(t);let i=!1;for(const t of this._inlineCompletions)i=i||t._updateRange(this.textModel);return i&&this._rangeVersionIdValue++,this._rangeVersionIdValue}));const n=e.deltaDecorations([],t.completions.map((t=>({range:t.range,options:{description:"inline-completion-tracking-range"}}))));this._inlineCompletions=t.completions.map(((t,i)=>new u3(t,n[i],this._rangeVersionId)))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,0===this._refCount){setTimeout((()=>{this.textModel.isDisposed()||this.textModel.deltaDecorations(this._inlineCompletions.map((t=>t.decorationId)),[])}),0),this.inlineCompletionProviderResult.dispose();for(const t of this._prependedInlineCompletionItems)t.source.removeRef()}}prepend(t,i,e){e&&t.source.addRef();const s=this.textModel.deltaDecorations([],[{range:i,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new u3(t,s,this._rangeVersionId,i)),this._prependedInlineCompletionItems.push(t)}}class u3{get forwardStable(){var t;return null!==(t=this.inlineCompletion.source.inlineCompletions.enableForwardStability)&&void 0!==t&&t}constructor(t,i,e,s){this.inlineCompletion=t,this.decorationId=i,this.rangeVersion=e,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._isValid=!0,this._updatedRange=null!=s?s:t.range}toInlineCompletion(t){return this.inlineCompletion.withRange(this._getUpdatedRange(t))}toSingleTextEdit(t){return new e3(this._getUpdatedRange(t),this.inlineCompletion.insertText)}isVisible(t,i,e){const s=this._toFilterTextReplacement(e).removeCommonPrefix(t);if(!this._isValid||!this.inlineCompletion.range.getStartPosition().equals(this._getUpdatedRange(e).getStartPosition())||i.lineNumber!==s.range.startLineNumber)return!1;const n=t.getValueInRange(s.range,1),o=s.text,r=Math.max(0,i.column-s.range.startColumn);let h=o.substring(0,r),c=o.substring(r),a=n.substring(0,r),l=n.substring(r);const u=t.getLineIndentColumn(s.range.startLineNumber);return s.range.startColumn<=u&&(a=a.trimStart(),0===a.length&&(l=l.trimStart()),h=h.trimStart(),0===h.length&&(c=c.trimStart())),h.startsWith(a)&&!!RI(l,c)}canBeReused(t,i){return this._isValid&&this._getUpdatedRange(void 0).containsPosition(i)&&this.isVisible(t,i,void 0)&&!this._isSmallerThanOriginal(void 0)}_toFilterTextReplacement(t){return new e3(this._getUpdatedRange(t),this.inlineCompletion.filterText)}_isSmallerThanOriginal(t){return d3(this._getUpdatedRange(t)).isBefore(d3(this.inlineCompletion.range))}_getUpdatedRange(t){return this.rangeVersion.read(t),this._updatedRange}_updateRange(t){const i=t.getDecorationRange(this.decorationId);return i?!this._updatedRange.equalsRange(i)&&(this._updatedRange=i,!0):(this._isValid=!1,!0)}}function d3(t){return t.startLineNumber===t.endLineNumber?new As(1,1+t.endColumn-t.startColumn):new As(1+t.endLineNumber-t.startLineNumber,t.endColumn)}const f3={Visible:O2,HasFocusedSuggestion:new ch("suggestWidgetHasFocusedSuggestion",!1,rt(0,"Whether any suggestion is focused")),DetailsVisible:new ch("suggestWidgetDetailsVisible",!1,rt(0,"Whether suggestion details are visible")),MultipleSuggestions:new ch("suggestWidgetMultipleSuggestions",!1,rt(0,"Whether there are multiple suggestions to pick from")),MakesTextEdit:new ch("suggestionMakesTextEdit",!0,rt(0,"Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new ch("acceptSuggestionOnEnter",!0,rt(0,"Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new ch("suggestionHasInsertAndReplaceRange",!1,rt(0,"Whether the current suggestion has insert and replace behaviour")),InsertMode:new ch("suggestionInsertMode",void 0,{type:"string",description:rt(0,"Whether the default behaviour is to insert or replace")}),CanResolve:new ch("suggestionCanResolve",!1,rt(0,"Whether the current suggestion supports to resolve further details"))},p3=new Rh("suggestWidgetStatusBar");class g3{constructor(t,i,e,s){var n;this.position=t,this.completion=i,this.container=e,this.provider=s,this.isInvalid=!1,this.score=p_.Default,this.distance=0,this.textLabel="string"==typeof i.label?i.label:null===(n=i.label)||void 0===n?void 0:n.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=i.sortText&&i.sortText.toLowerCase(),this.filterTextLow=i.filterText&&i.filterText.toLowerCase(),this.extensionId=i.extensionId,Ms.isIRange(i.range)?(this.editStart=new As(i.range.startLineNumber,i.range.startColumn),this.editInsertEnd=new As(i.range.endLineNumber,i.range.endColumn),this.editReplaceEnd=new As(i.range.endLineNumber,i.range.endColumn),this.isInvalid=this.isInvalid||Ms.spansMultipleLines(i.range)||i.range.startLineNumber!==t.lineNumber):(this.editStart=new As(i.range.insert.startLineNumber,i.range.insert.startColumn),this.editInsertEnd=new As(i.range.insert.endLineNumber,i.range.insert.endColumn),this.editReplaceEnd=new As(i.range.replace.endLineNumber,i.range.replace.endColumn),this.isInvalid=this.isInvalid||Ms.spansMultipleLines(i.range.insert)||Ms.spansMultipleLines(i.range.replace)||i.range.insert.startLineNumber!==t.lineNumber||i.range.replace.startLineNumber!==t.lineNumber||i.range.insert.startColumn!==i.range.replace.startColumn),"function"!=typeof s.resolveCompletionItem&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return void 0!==this._resolveDuration}get resolveDuration(){return void 0!==this._resolveDuration?this._resolveDuration:-1}async resolve(t){if(!this._resolveCache){const i=t.onCancellationRequested((()=>{this._resolveCache=void 0,this._resolveDuration=void 0})),e=new he(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,t)).then((t=>{Object.assign(this.completion,t),this._resolveDuration=e.elapsed()}),(t=>{zi(t)&&(this._resolveCache=void 0,this._resolveDuration=void 0)})).finally((()=>{i.dispose()}))}return this._resolveCache}}class m3{constructor(t=2,i=new Set,e=new Set,s=new Map,n=!0){this.snippetSortOrder=t,this.kindFilter=i,this.providerFilter=e,this.providerItemsToReuse=s,this.showDeprecated=n}}m3.default=new m3;class w3{constructor(t,i,e,s){this.items=t,this.needsClipboard=i,this.durations=e,this.disposable=s}}async function v3(t,i,e,s=m3.default,n={triggerKind:0},o=xe.None){const r=new he;e=e.clone();const h=i.getWordAtPosition(e),c=h?new Ms(e.lineNumber,h.startColumn,e.lineNumber,h.endColumn):Ms.fromPositions(e),a={replace:c,insert:c.setEndPosition(e.lineNumber,e.column)},l=[],u=new te,d=[];let f=!1;const p=(t,i,n)=>{var o,r,h;let c=!1;if(!i)return c;for(const n of i.suggestions)if(!s.kindFilter.has(n.kind)){if(!s.showDeprecated&&(null===(o=null==n?void 0:n.tags)||void 0===o?void 0:o.includes(1)))continue;n.range||(n.range=a),n.sortText||(n.sortText="string"==typeof n.label?n.label:n.label.label),!f&&n.insertTextRules&&4&n.insertTextRules&&(f=Q5.guessNeedsClipboard(n.insertText)),l.push(new g3(e,n,i,t)),c=!0}return Qi(i)&&u.add(i),d.push({providerName:null!==(r=t._debugDisplayName)&&void 0!==r?r:"unknown_provider",elapsedProvider:null!==(h=i.duration)&&void 0!==h?h:-1,elapsedOverall:n.elapsed()}),c},g=(async()=>{})();for(const r of t.orderedGroups(i)){let t=!1;if(await Promise.all(r.map((async r=>{if(s.providerItemsToReuse.has(r)){const i=s.providerItemsToReuse.get(r);return i.forEach((t=>l.push(t))),void(t=t||i.length>0)}if(!(s.providerFilter.size>0)||s.providerFilter.has(r))try{const s=new he,h=await r.provideCompletionItems(i,e,n,o);t=p(r,h,s)||t}catch(t){$i(t)}}))),t||o.isCancellationRequested)break}return await g,o.isCancellationRequested?(u.dispose(),Promise.reject(new Hi)):new w3(l.sort(y3.get(s.snippetSortOrder)),f,{entries:d,elapsed:r.elapsed()},u)}function b3(t,i){if(t.sortTextLow&&i.sortTextLow){if(t.sortTextLowi.sortTextLow)return 1}return t.textLabeli.textLabel?1:t.completion.kind-i.completion.kind}const y3=new Map;y3.set(0,(function(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return-1;if(27===i.completion.kind)return 1}return b3(t,i)})),y3.set(2,(function(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return 1;if(27===i.completion.kind)return-1}return b3(t,i)})),y3.set(1,b3),Dr.registerCommand("_executeCompletionItemProvider",(async(t,...i)=>{const[e,s,n,o]=i;K(ms.isUri(e)),K(As.isIPosition(s)),K("string"==typeof n||!n),K("number"==typeof o||!o);const{completionProvider:r}=t.get(gg),h=await t.get(gr).createModelReference(e);try{const t={incomplete:!1,suggestions:[]},i=[],e=h.object.textEditorModel.validatePosition(s),c=await v3(r,h.object.textEditorModel,e,void 0,{triggerCharacter:null!=n?n:void 0,triggerKind:n?1:0});for(const e of c.items)i.length<(null!=o?o:0)&&i.push(e.resolve(xe.None)),t.incomplete=t.incomplete||e.container.incomplete,t.suggestions.push(e.completion);try{return await Promise.all(i),t}finally{setTimeout((()=>c.disposable.dispose()),100)}}finally{h.dispose()}}));class k3{static isAllOff(t){return"off"===t.other&&"off"===t.comments&&"off"===t.strings}static isAllOn(t){return"on"===t.other&&"on"===t.comments&&"on"===t.strings}static valueFor(t,i){switch(i){case 1:return t.comments;case 2:return t.strings;default:return t.other}}}function x3(t,i=Ct){return function(t,i=Ct){return!!i&&rA(t.charCodeAt(0))&&58===t.charCodeAt(1)}(t,i)?t.charAt(0).toUpperCase()+t.slice(1):t}Object.freeze({CURRENT_YEAR:!0,CURRENT_YEAR_SHORT:!0,CURRENT_MONTH:!0,CURRENT_DATE:!0,CURRENT_HOUR:!0,CURRENT_MINUTE:!0,CURRENT_SECOND:!0,CURRENT_DAY_NAME:!0,CURRENT_DAY_NAME_SHORT:!0,CURRENT_MONTH_NAME:!0,CURRENT_MONTH_NAME_SHORT:!0,CURRENT_SECONDS_UNIX:!0,CURRENT_TIMEZONE_OFFSET:!0,SELECTION:!0,CLIPBOARD:!0,TM_SELECTED_TEXT:!0,TM_CURRENT_LINE:!0,TM_CURRENT_WORD:!0,TM_LINE_INDEX:!0,TM_LINE_NUMBER:!0,TM_FILENAME:!0,TM_FILENAME_BASE:!0,TM_DIRECTORY:!0,TM_FILEPATH:!0,CURSOR_INDEX:!0,CURSOR_NUMBER:!0,RELATIVE_FILEPATH:!0,BLOCK_COMMENT_START:!0,BLOCK_COMMENT_END:!0,LINE_COMMENT:!0,WORKSPACE_NAME:!0,WORKSPACE_FOLDER:!0,RANDOM:!0,RANDOM_HEX:!0,UUID:!0});class C3{constructor(t){this._delegates=t}resolve(t){for(const i of this._delegates){const e=i.resolve(t);if(void 0!==e)return e}}}class S3{constructor(t,i,e,s){this._model=t,this._selection=i,this._selectionIdx=e,this._overtypingCapturer=s}resolve(t){const{name:i}=t;if("SELECTION"===i||"TM_SELECTED_TEXT"===i){let i=this._model.getValueInRange(this._selection)||void 0,e=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const t=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);t&&(i=t.value,e=t.multiline)}if(i&&e&&t.snippet){const e=io(this._model.getLineContent(this._selection.startLineNumber),0,this._selection.startColumn-1);let s=e;t.snippet.walk((i=>i!==t&&(i instanceof j5&&(s=io(Xn(i.value).pop())),!0)));const n=fo(s,e);i=i.replace(/(\r\n|\r|\n)(.*)/g,((t,i,e)=>`${i}${s.substr(n)}${e}`))}return i}if("TM_CURRENT_LINE"===i)return this._model.getLineContent(this._selection.positionLineNumber);if("TM_CURRENT_WORD"===i){const t=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return t&&t.word||void 0}return"TM_LINE_INDEX"===i?String(this._selection.positionLineNumber-1):"TM_LINE_NUMBER"===i?String(this._selection.positionLineNumber):"CURSOR_INDEX"===i?String(this._selectionIdx):"CURSOR_NUMBER"===i?String(this._selectionIdx+1):void 0}}class D3{constructor(t,i){this._labelService=t,this._model=i}resolve(t){const{name:i}=t;if("TM_FILENAME"===i)return hs(this._model.uri.fsPath);if("TM_FILENAME_BASE"===i){const t=hs(this._model.uri.fsPath),i=t.lastIndexOf(".");return i<=0?t:t.slice(0,i)}return"TM_DIRECTORY"===i?"."===rs(this._model.uri.fsPath)?"":this._labelService.getUriLabel(fA(this._model.uri)):"TM_FILEPATH"===i?this._labelService.getUriLabel(this._model.uri):"RELATIVE_FILEPATH"===i?this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0}):void 0}}class E3{constructor(t,i,e,s){this._readClipboardText=t,this._selectionIdx=i,this._selectionCount=e,this._spread=s}resolve(t){if("CLIPBOARD"!==t.name)return;const i=this._readClipboardText();if(i){if(this._spread){const t=i.split(/\r\n|\n|\r/).filter((t=>!Vn(t)));if(t.length===this._selectionCount)return t[this._selectionIdx]}return i}}}let A3=class{constructor(t,i,e){this._model=t,this._selection=i,this._languageConfigurationService=e}resolve(t){const{name:i}=t,e=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),s=this._languageConfigurationService.getLanguageConfiguration(e).comments;if(s)return"LINE_COMMENT"===i?s.lineCommentToken||void 0:"BLOCK_COMMENT_START"===i?s.blockCommentStartToken||void 0:"BLOCK_COMMENT_END"===i&&s.blockCommentEndToken||void 0}};A3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(2,qd)],A3);class M3{constructor(){this._date=new Date}resolve(t){const{name:i}=t;if("CURRENT_YEAR"===i)return String(this._date.getFullYear());if("CURRENT_YEAR_SHORT"===i)return String(this._date.getFullYear()).slice(-2);if("CURRENT_MONTH"===i)return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if("CURRENT_DATE"===i)return String(this._date.getDate().valueOf()).padStart(2,"0");if("CURRENT_HOUR"===i)return String(this._date.getHours().valueOf()).padStart(2,"0");if("CURRENT_MINUTE"===i)return String(this._date.getMinutes().valueOf()).padStart(2,"0");if("CURRENT_SECOND"===i)return String(this._date.getSeconds().valueOf()).padStart(2,"0");if("CURRENT_DAY_NAME"===i)return M3.dayNames[this._date.getDay()];if("CURRENT_DAY_NAME_SHORT"===i)return M3.dayNamesShort[this._date.getDay()];if("CURRENT_MONTH_NAME"===i)return M3.monthNames[this._date.getMonth()];if("CURRENT_MONTH_NAME_SHORT"===i)return M3.monthNamesShort[this._date.getMonth()];if("CURRENT_SECONDS_UNIX"===i)return String(Math.floor(this._date.getTime()/1e3));if("CURRENT_TIMEZONE_OFFSET"===i){const t=this._date.getTimezoneOffset(),i=t>0?"-":"+",e=Math.trunc(Math.abs(t/60)),s=e<10?"0"+e:e,n=Math.abs(t)-60*e;return i+s+":"+(n<10?"0"+n:n)}}}M3.dayNames=[rt(0,"Sunday"),rt(0,"Monday"),rt(0,"Tuesday"),rt(0,"Wednesday"),rt(0,"Thursday"),rt(0,"Friday"),rt(0,"Saturday")],M3.dayNamesShort=[rt(0,"Sun"),rt(0,"Mon"),rt(0,"Tue"),rt(0,"Wed"),rt(0,"Thu"),rt(0,"Fri"),rt(0,"Sat")],M3.monthNames=[rt(0,"January"),rt(0,"February"),rt(0,"March"),rt(0,"April"),rt(0,"May"),rt(0,"June"),rt(0,"July"),rt(0,"August"),rt(0,"September"),rt(0,"October"),rt(0,"November"),rt(0,"December")],M3.monthNamesShort=[rt(0,"Jan"),rt(0,"Feb"),rt(0,"Mar"),rt(0,"Apr"),rt(0,"May"),rt(0,"Jun"),rt(0,"Jul"),rt(0,"Aug"),rt(0,"Sep"),rt(0,"Oct"),rt(0,"Nov"),rt(0,"Dec")];class L3{constructor(t){this._workspaceService=t}resolve(t){if(!this._workspaceService)return;const i="string"==typeof(e=this._workspaceService.getWorkspace())||void 0===e?"string"==typeof e?{id:hs(e)}:HO:e.configuration?{id:e.id,configPath:e.configuration}:1===e.folders.length?{id:e.id,uri:e.folders[0].uri}:{id:e.id};var e,s;return"string"!=typeof(null==(s=i)?void 0:s.id)||zO(s)||function(t){return"string"==typeof(null==t?void 0:t.id)&&ms.isUri(t.configPath)}(s)?"WORKSPACE_NAME"===t.name?this._resolveWorkspaceName(i):"WORKSPACE_FOLDER"===t.name?this._resoveWorkspacePath(i):void 0:void 0}_resolveWorkspaceName(t){if(zO(t))return hs(t.uri.path);let i=hs(t.configPath.path);return i.endsWith("code-workspace")&&(i=i.substr(0,i.length-14-1)),i}_resoveWorkspacePath(t){if(zO(t))return x3(t.uri.fsPath);const i=hs(t.configPath.path);let e=t.configPath.fsPath;return e.endsWith(i)&&(e=e.substr(0,e.length-i.length-1)),e?x3(e):"/"}}class F3{resolve(t){const{name:i}=t;return"RANDOM"===i?Math.random().toString().slice(-6):"RANDOM_HEX"===i?Math.random().toString(16).slice(-6):"UUID"===i?e1():void 0}}var T3;class R3{constructor(t,i,e){this._editor=t,this._snippet=i,this._snippetLineLeadingWhitespace=e,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=p(i.placeholders,H5.compareByIndex),this._placeholderGroupsIdx=-1}initialize(t){this._offset=t.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(-1===this._offset)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const t=this._editor.getModel();this._editor.changeDecorations((i=>{for(const e of this._snippet.placeholders){const s=this._snippet.offset(e),n=this._snippet.fullLen(e),o=Ms.fromPositions(t.getPositionAt(this._offset+s),t.getPositionAt(this._offset+s+n)),r=i.addDecoration(o,e.isFinalTabstop?R3._decor.inactiveFinal:R3._decor.inactive);this._placeholderDecorations.set(e,r)}}))}move(t){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const t=[];for(const i of this._placeholderGroups[this._placeholderGroupsIdx])if(i.transform){const e=this._placeholderDecorations.get(i),s=this._editor.getModel().getDecorationRange(e),n=this._editor.getModel().getValueInRange(s),o=i.transform.resolve(n).split(/\r\n|\r|\n/);for(let t=1;t0&&this._editor.executeEdits("snippet.placeholderTransform",t)}let i=!1;!0===t&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,i=!0);const e=this._editor.getModel().changeDecorations((t=>{const e=new Set,s=[];for(const n of this._placeholderGroups[this._placeholderGroupsIdx]){const o=this._placeholderDecorations.get(n),r=this._editor.getModel().getDecorationRange(o);s.push(new Ls(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn)),i=i&&this._hasPlaceholderBeenCollapsed(n),t.changeDecorationOptions(o,n.isFinalTabstop?R3._decor.activeFinal:R3._decor.active),e.add(n);for(const i of this._snippet.enclosingPlaceholders(n)){const s=this._placeholderDecorations.get(i);t.changeDecorationOptions(s,i.isFinalTabstop?R3._decor.activeFinal:R3._decor.active),e.add(i)}}for(const[i,s]of this._placeholderDecorations)e.has(i)||t.changeDecorationOptions(s,i.isFinalTabstop?R3._decor.inactiveFinal:R3._decor.inactive);return s}));return i?this.move(t):null!=e?e:[]}_hasPlaceholderBeenCollapsed(t){let i=t;for(;i;){if(i instanceof H5){const t=this._placeholderDecorations.get(i);if(this._editor.getModel().getDecorationRange(t).isEmpty()&&i.toString().length>0)return!0}i=i.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||0===this._placeholderGroups.length}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(0===this._snippet.placeholders.length)return!0;if(1===this._snippet.placeholders.length){const[t]=this._snippet.placeholders;if(t.isFinalTabstop&&this._snippet.rightMostDescendant===t)return!0}return!1}computePossibleSelections(){const t=new Map;for(const i of this._placeholderGroups){let e;for(const s of i){if(s.isFinalTabstop)break;e||(e=[],t.set(s.index,e));const i=this._placeholderDecorations.get(s),n=this._editor.getModel().getDecorationRange(i);if(!n){t.delete(s.index);break}e.push(n)}}return t}get activeChoice(){if(!this._placeholderDecorations)return;const t=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(null==t?void 0:t.choice))return;const i=this._placeholderDecorations.get(t);if(!i)return;const e=this._editor.getModel().getDecorationRange(i);return e?{range:e,choice:t.choice}:void 0}get hasChoice(){let t=!1;return this._snippet.walk((i=>(t=i instanceof V5,!t))),t}merge(t){const i=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations((e=>{for(const s of this._placeholderGroups[this._placeholderGroupsIdx]){const n=t.shift();console.assert(-1!==n._offset),console.assert(!n._placeholderDecorations);const o=n._snippet.placeholderInfo.last.index;for(const t of n._snippet.placeholderInfo.all)t.index=t.isFinalTabstop?s.index+(o+1)/this._nestingLevel:s.index+t.index/this._nestingLevel;this._snippet.replace(s,n._snippet.children);const r=this._placeholderDecorations.get(s);e.removeDecoration(r),this._placeholderDecorations.delete(s);for(const t of n._snippet.placeholders){const s=n._snippet.offset(t),o=n._snippet.fullLen(t),r=Ms.fromPositions(i.getPositionAt(n._offset+s),i.getPositionAt(n._offset+s+o)),h=e.addDecoration(r,R3._decor.inactive);this._placeholderDecorations.set(t,h)}}this._placeholderGroups=p(this._snippet.placeholders,H5.compareByIndex)}))}}R3._decor={active:bL.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:bL.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:bL.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:bL.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const O3={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let I3=T3=class{static adjustWhitespace(t,i,e,s,n){const o=io(t.getLineContent(i.lineNumber),0,i.column-1);let r;return s.walk((i=>{if(!(i instanceof j5)||i.parent instanceof V5)return!0;if(n&&!n.has(i))return!0;const h=i.value.split(/\r\n|\r|\n/);if(e){const e=s.offset(i);if(0===e)h[0]=t.normalizeIndentation(h[0]);else{r=null!=r?r:s.toString();const i=r.charCodeAt(e-1);10!==i&&13!==i||(h[0]=t.normalizeIndentation(o+h[0]))}for(let i=1;it.get(jO))),f=t.invokeWithinContext((t=>new D3(t.get(TO),u))),p=()=>r,g=u.getValueInRange(T3.adjustSelection(u,t.getSelection(),e,0)),m=u.getValueInRange(T3.adjustSelection(u,t.getSelection(),0,s)),w=u.getLineFirstNonWhitespaceColumn(t.getSelection().positionLineNumber),v=t.getSelections().map(((t,i)=>({selection:t,idx:i}))).sort(((t,i)=>Ms.compareRangesUsingStarts(t.selection,i.selection)));for(const{selection:r,idx:b}of v){let y=T3.adjustSelection(u,r,e,0),k=T3.adjustSelection(u,r,0,s);g!==u.getValueInRange(y)&&(y=r),m!==u.getValueInRange(k)&&(k=r);const x=r.setStartPosition(y.startLineNumber,y.startColumn).setEndPosition(k.endLineNumber,k.endColumn),C=(new Q5).parse(i,!0,n),S=x.getStartPosition(),D=T3.adjustWhitespace(u,S,o||b>0&&w!==u.getLineFirstNonWhitespaceColumn(r.positionLineNumber),C);C.resolveVariables(new C3([f,new E3(p,b,v.length,"spread"===t.getOption(78)),new S3(u,r,b,h),new A3(u,r,c),new M3,new L3(d),new F3])),a[b]=rO.replace(x,C.toString()),a[b].identifier={major:b,minor:0},a[b]._isTracked=!0,l[b]=new R3(t,C,D)}return{edits:a,snippets:l}}static createEditsAndSnippetsFromEdits(t,i,e,s,n,o,r){if(!t.hasModel()||0===i.length)return{edits:[],snippets:[]};const h=[],c=t.getModel(),a=new Q5,l=new Z5,u=new C3([t.invokeWithinContext((t=>new D3(t.get(TO),c))),new E3((()=>n),0,t.getSelections().length,"spread"===t.getOption(78)),new S3(c,t.getSelection(),0,o),new A3(c,t.getSelection(),r),new M3,new L3(t.invokeWithinContext((t=>t.get(jO)))),new F3]);i=i.sort(((t,i)=>Ms.compareRangesUsingStarts(t.range,i.range)));let d=0;for(let t=0;t0){const s=Ms.fromPositions(i[t-1].range.getEndPosition(),e.getStartPosition()),n=new j5(c.getValueInRange(s));l.appendChild(n),d+=n.value.length}const n=a.parseFragment(s,l);T3.adjustWhitespace(c,e.getStartPosition(),!0,l,new Set(n)),l.resolveVariables(u);const o=l.toString(),r=o.slice(d);d=o.length;const f=rO.replace(e,r);f.identifier={major:t,minor:0},f._isTracked=!0,h.push(f)}return a.ensureFinalTabstop(l,e,!0),{edits:h,snippets:[new R3(t,l,"")]}}constructor(t,i,e=O3,s){this._editor=t,this._template=i,this._options=e,this._languageConfigurationService=s,this._templateMerges=[],this._snippets=[]}dispose(){Ji(this._snippets)}_logInfo(){return`template="${this._template}", merged_templates="${this._templateMerges.join(" -> ")}"`}insert(){if(!this._editor.hasModel())return;const{edits:t,snippets:i}="string"==typeof this._template?T3.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):T3.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=i,this._editor.executeEdits("snippet",t,(t=>{const e=t.filter((t=>!!t.identifier));for(let t=0;tLs.fromPositions(t.range.getEndPosition())))})),this._editor.revealRange(this._editor.getSelections()[0])}merge(t,i=O3){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,t]);const{edits:e,snippets:s}=T3.createEditsAndSnippetsFromSelections(this._editor,t,i.overwriteBefore,i.overwriteAfter,!0,i.adjustWhitespace,i.clipboardText,i.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",e,(t=>{const i=t.filter((t=>!!t.identifier));for(let t=0;tLs.fromPositions(t.range.getEndPosition())))}))}next(){const t=this._move(!0);this._editor.setSelections(t),this._editor.revealPositionInCenterIfOutsideViewport(t[0].getPosition())}prev(){const t=this._move(!1);this._editor.setSelections(t),this._editor.revealPositionInCenterIfOutsideViewport(t[0].getPosition())}_move(t){const i=[];for(const e of this._snippets){const s=e.move(t);i.push(...s)}return i}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const t=this._editor.getSelections();if(t.length{t.push(...s.get(i))}))}t.sort(Ms.compareRangesUsingStarts);for(const[e,s]of i)if(s.length===t.length){s.sort(Ms.compareRangesUsingStarts);for(let n=0;n0}};I3=T3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,qd)],I3);var _3,N3=function(t,i){return function(e,s){i(e,s,t)}};const B3={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let P3=_3=class{static get(t){return t.getContribution(_3.ID)}constructor(t,i,e,s,n){this._editor=t,this._logService=i,this._languageFeaturesService=e,this._languageConfigurationService=n,this._snippetListener=new te,this._modelVersionId=-1,this._inSnippet=_3.InSnippetMode.bindTo(s),this._hasNextTabstop=_3.HasNextTabstop.bindTo(s),this._hasPrevTabstop=_3.HasPrevTabstop.bindTo(s)}dispose(){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),null===(t=this._session)||void 0===t||t.dispose(),this._snippetListener.dispose()}insert(t,i){try{this._doInsert(t,void 0===i?B3:{...B3,...i})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",t),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(t,i){var e;if(this._editor.hasModel()){if(this._snippetListener.clear(),i.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&"string"!=typeof t&&this.cancel(),this._session?(K("string"==typeof t),this._session.merge(t,i)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new I3(this._editor,t,i,this._languageConfigurationService),this._session.insert()),i.undoStopAfter&&this._editor.getModel().pushStackElement(),null===(e=this._session)||void 0===e?void 0:e.hasChoice){const t={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(t,i)=>{if(!this._session||t!==this._editor.getModel()||!As.equals(this._editor.getPosition(),i))return;const{activeChoice:e}=this._session;if(!e||0===e.choice.options.length)return;const s=t.getValueInRange(e.range),n=Boolean(e.choice.options.find((t=>t.value===s))),o=[];for(let t=0;t{s||(e=this._languageFeaturesService.completionProvider.register({language:i.getLanguageId(),pattern:i.uri.fsPath,scheme:i.uri.scheme,exclusive:!0},t),this._snippetListener.add(e),s=!0)},disable:()=>{null==e||e.dispose(),s=!1}}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent((t=>t.isFlush&&this.cancel()))),this._snippetListener.add(this._editor.onDidChangeModel((()=>this.cancel()))),this._snippetListener.add(this._editor.onDidChangeCursorSelection((()=>this._updateState())))}}_updateState(){if(this._session&&this._editor.hasModel()){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){var t;if(!this._session||!this._editor.hasModel())return void(this._currentChoice=void 0);const{activeChoice:i}=this._session;if(!i||!this._choiceCompletions)return null===(t=this._choiceCompletions)||void 0===t||t.disable(),void(this._currentChoice=void 0);this._currentChoice!==i.choice&&(this._currentChoice=i.choice,this._choiceCompletions.enable(),queueMicrotask((()=>{!function(t,i){var e;null===(e=t.getContribution("editor.contrib.suggestController"))||void 0===e||e.triggerSuggest((new Set).add(i),void 0,!0)}(this._editor,this._choiceCompletions.provider)})))}finish(){for(;this._inSnippet.get();)this.next()}cancel(t=!1){var i;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,null===(i=this._session)||void 0===i||i.dispose(),this._session=void 0,this._modelVersionId=-1,t&&this._editor.setSelections([this._editor.getSelection()])}prev(){var t;null===(t=this._session)||void 0===t||t.prev(),this._updateState()}next(){var t;null===(t=this._session)||void 0===t||t.next(),this._updateState()}isInSnippet(){return Boolean(this._inSnippet.get())}};P3.ID="snippetController2",P3.InSnippetMode=new ch("inSnippetMode",!1,rt(0,"Whether the editor in current in snippet mode")),P3.HasNextTabstop=new ch("hasNextTabstop",!1,rt(0,"Whether there is a next tab stop when in snippet mode")),P3.HasPrevTabstop=new ch("hasPrevTabstop",!1,rt(0,"Whether there is a previous tab stop when in snippet mode")),P3=_3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([N3(1,jh),N3(2,gg),N3(3,ah),N3(4,qd)],P3),lu(P3.ID,P3,4);const $3=eu.bindToContribution(P3.get);hu(new $3({id:"jumpToNextSnippetPlaceholder",precondition:zr.and(P3.InSnippetMode,P3.HasNextTabstop),handler:t=>t.next(),kbOpts:{weight:130,kbExpr:UC.editorTextFocus,primary:2}})),hu(new $3({id:"jumpToPrevSnippetPlaceholder",precondition:zr.and(P3.InSnippetMode,P3.HasPrevTabstop),handler:t=>t.prev(),kbOpts:{weight:130,kbExpr:UC.editorTextFocus,primary:1026}})),hu(new $3({id:"leaveSnippet",precondition:P3.InSnippetMode,handler:t=>t.cancel(!0),kbOpts:{weight:130,kbExpr:UC.editorTextFocus,primary:9,secondary:[1033]}})),hu(new $3({id:"acceptSnippet",precondition:P3.InSnippetMode,handler:t=>t.finish()}));var W3,j3=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t[t.Undo=0]="Undo",t[t.Redo=1]="Redo",t[t.AcceptWord=2]="AcceptWord",t[t.Other=3]="Other"}(W3||(W3={}));let z3=class extends ie{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(t,i,e,s,n,o,r,h,c,a,l,u){let d;super(),this.textModel=t,this.selectedSuggestItem=i,this.cursorPosition=e,this.textModelVersionId=s,this._debounceValue=n,this._suggestPreviewEnabled=o,this._suggestPreviewMode=r,this._inlineSuggestMode=h,this._enabled=c,this._instantiationService=a,this._commandService=l,this._languageConfigurationService=u,this._source=this._register(this._instantiationService.createInstance(h3,this.textModel,this.textModelVersionId,this._debounceValue)),this._isActive=xV(this,!1),this._forceUpdateSignal=HV("forceUpdate"),this._selectedInlineCompletionId=xV(this,void 0),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([W3.Redo,W3.Undo,W3.AcceptWord]),this._fetchInlineCompletions=function(t,i){var e;return new TV(t.owner,t.debugName,i,t.createEmptyChangeSummary,t.handleChange,void 0,null!==(e=t.equalityComparer)&&void 0!==e?e:EV)}({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:$s.Automatic}),handleChange:(t,i)=>(t.didChange(this.textModelVersionId)&&this._preserveCurrentCompletionReasons.has(t.change)?i.preserveCurrentCompletion=!0:t.didChange(this._forceUpdateSignal)&&(i.inlineCompletionTriggerKind=t.change),!0)},((t,i)=>{if(this._forceUpdateSignal.read(t),!(this._enabled.read(t)&&this.selectedSuggestItem.read(t)||this._isActive.read(t)))return void this._source.cancelUpdate();this.textModelVersionId.read(t);const e=this.selectedInlineCompletion.get(),s=i.preserveCurrentCompletion||(null==e?void 0:e.forwardStable)?e:void 0,n=this._source.suggestWidgetInlineCompletions.get(),o=this.selectedSuggestItem.read(t);if(n&&!o){const t=this._source.inlineCompletions.get();dV((i=>{(!t||n.request.versionId>t.request.versionId)&&this._source.inlineCompletions.set(n.clone(),i),this._source.clearSuggestWidgetInlineCompletions(i)}))}const r=this.cursorPosition.read(t),h={triggerKind:i.inlineCompletionTriggerKind,selectedSuggestionInfo:null==o?void 0:o.toSelectedSuggestionInfo()};return this._source.fetch(r,h,s)})),this._filteredInlineCompletionItems=AV(this,(t=>{const i=this._source.inlineCompletions.read(t);if(!i)return[];const e=this.cursorPosition.read(t),s=i.inlineCompletions.filter((i=>i.isVisible(this.textModel,e,t)));return s})),this.selectedInlineCompletionIndex=AV(this,(t=>{const i=this._selectedInlineCompletionId.read(t),e=this._filteredInlineCompletionItems.read(t),s=void 0===this._selectedInlineCompletionId?-1:e.findIndex((t=>t.semanticId===i));return-1===s?(this._selectedInlineCompletionId.set(void 0,void 0),0):s})),this.selectedInlineCompletion=AV(this,(t=>this._filteredInlineCompletionItems.read(t)[this.selectedInlineCompletionIndex.read(t)])),this.lastTriggerKind=this._source.inlineCompletions.map(this,(t=>null==t?void 0:t.request.context.triggerKind)),this.inlineCompletionsCount=AV(this,(t=>this.lastTriggerKind.read(t)===$s.Explicit?this._filteredInlineCompletionItems.read(t).length:void 0)),this.state=MV({owner:this,equalityComparer:(t,i)=>t&&i?O5(t.ghostText,i.ghostText)&&t.inlineCompletion===i.inlineCompletion&&t.suggestItem===i.suggestItem:t===i},(t=>{var i;const e=this.textModel,s=this.selectedSuggestItem.read(t);if(s){const n=s.toSingleTextEdit().removeCommonPrefix(e),o=this._computeAugmentedCompletion(n,t);if(!this._suggestPreviewEnabled.read(t)&&!o)return;const r=null!==(i=null==o?void 0:o.edit)&&void 0!==i?i:n,h=o?o.edit.text.length-n.text.length:0,c=this._suggestPreviewMode.read(t),a=this.cursorPosition.read(t),l=r.computeGhostText(e,c,a,h);return{ghostText:null!=l?l:new F5(r.range.endLineNumber,[]),inlineCompletion:null==o?void 0:o.completion,suggestItem:s}}{if(!this._isActive.read(t))return;const i=this.selectedInlineCompletion.read(t);if(!i)return;const s=i.toSingleTextEdit(t),n=this._inlineSuggestMode.read(t),o=this.cursorPosition.read(t),r=s.computeGhostText(e,n,o);return r?{ghostText:r,inlineCompletion:i,suggestItem:void 0}:void 0}})),this.ghostText=MV({owner:this,equalityComparer:O5},(t=>{const i=this.state.read(t);if(i)return i.ghostText})),this._register(UV(this._fetchInlineCompletions)),this._register(RV((t=>{var i,e;const s=this.state.read(t),n=null==s?void 0:s.inlineCompletion;if((null==n?void 0:n.semanticId)!==(null==d?void 0:d.semanticId)&&(d=n,n)){const t=n.inlineCompletion,s=t.source;null===(e=(i=s.provider).handleItemDidShow)||void 0===e||e.call(i,s.inlineCompletions,t.sourceInlineCompletion,t.insertText)}})))}async trigger(t){this._isActive.set(!0,t),await this._fetchInlineCompletions.get()}async triggerExplicitly(t){pV(t,(t=>{this._isActive.set(!0,t),this._forceUpdateSignal.trigger(t,$s.Explicit)})),await this._fetchInlineCompletions.get()}stop(t){pV(t,(t=>{this._isActive.set(!1,t),this._source.clear(t)}))}_computeAugmentedCompletion(t,i){const e=this.textModel,s=this._source.suggestWidgetInlineCompletions.read(i);return function(t,i){for(const e of t){const t=i(e);if(void 0!==t)return t}}(s?s.inlineCompletions:[this.selectedInlineCompletion.read(i)].filter(U),(s=>{let n=s.toSingleTextEdit(i);return n=n.removeCommonPrefix(e,Ms.fromPositions(n.range.getStartPosition(),t.range.getEndPosition())),n.augments(t)?{edit:n,completion:s}:void 0}))}async _deltaSelectedInlineCompletionIndex(t){await this.triggerExplicitly();const i=this._filteredInlineCompletionItems.get()||[];if(i.length>0){const e=(this.selectedInlineCompletionIndex.get()+t+i.length)%i.length;this._selectedInlineCompletionId.set(i[e].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(t){var i;if(t.getModel()!==this.textModel)throw new Gi;const e=this.state.get();if(!e||e.ghostText.isEmpty()||!e.inlineCompletion)return;const s=e.inlineCompletion.toInlineCompletion(void 0);t.pushUndoStop(),s.snippetInfo?(t.executeEdits("inlineSuggestion.accept",[rO.replaceMove(s.range,""),...s.additionalTextEdits]),t.setPosition(s.snippetInfo.range.getStartPosition()),null===(i=P3.get(t))||void 0===i||i.insert(s.snippetInfo.snippet,{undoStopBefore:!1})):t.executeEdits("inlineSuggestion.accept",[rO.replaceMove(s.range,s.insertText),...s.additionalTextEdits]),s.command&&s.source.addRef(),dV((t=>{this._source.clear(t),this._isActive.set(!1,t)})),s.command&&(await this._commandService.executeCommand(s.command.id,...s.command.arguments||[]).then(void 0,$i),s.source.removeRef())}async acceptNextWord(t){await this._acceptNext(t,((t,i)=>{const e=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),s=this._languageConfigurationService.getLanguageConfiguration(e),n=new RegExp(s.wordDefinition.source,s.wordDefinition.flags.replace("g","")),o=i.match(n);let r=0;r=o&&void 0!==o.index?0===o.index?o[0].length:o.index:i.length;const h=/\s+/g.exec(i);return h&&void 0!==h.index&&h.index+h[0].length{const e=i.match(/\n/);return e&&void 0!==e.index?e.index+1:i.length}))}async _acceptNext(t,i){if(t.getModel()!==this.textModel)throw new Gi;const e=this.state.get();if(!e||e.ghostText.isEmpty()||!e.inlineCompletion)return;const s=e.ghostText,n=e.inlineCompletion.toInlineCompletion(void 0);if(n.snippetInfo||n.filterText!==n.insertText)return void await this.accept(t);const o=s.parts[0],r=new As(s.lineNumber,o.column),h=o.lines.join("\n"),c=i(r,h);if(c===h.length&&1===s.parts.length)return void this.accept(t);const a=h.substring(0,c);n.source.addRef();try{this._isAcceptingPartially=!0;try{t.pushUndoStop(),t.executeEdits("inlineSuggestion.accept",[rO.replace(Ms.fromPositions(r),a)]);const i=L5(a);t.setPosition(M5(r,i))}finally{this._isAcceptingPartially=!1}if(n.source.provider.handlePartialAccept){const i=Ms.fromPositions(n.range.getStartPosition(),M5(r,L5(a))),e=t.getModel().getValueInRange(i,1);n.source.provider.handlePartialAccept(n.source.inlineCompletions,n.sourceInlineCompletion,e.length)}}finally{n.source.removeRef()}}handleSuggestAccepted(t){var i,e;const s=t.toSingleTextEdit().removeCommonPrefix(this.textModel),n=this._computeAugmentedCompletion(s,void 0);if(!n)return;const o=n.completion.inlineCompletion;null===(e=(i=o.source.provider).handlePartialAccept)||void 0===e||e.call(i,o.source.inlineCompletions,o.sourceInlineCompletion,s.text.length)}};z3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([j3(9,ur),j3(10,Sr),j3(11,qd)],z3);var H3,V3=function(t,i){return function(e,s){i(e,s,t)}};class U3{constructor(t){this.name=t}select(t,i,e){if(0===e.length)return 0;const s=e[0].score[0];for(let t=0;tthis._saveState()),500),this._disposables.add(t.onWillSaveState((t=>{t.reason===yB.SHUTDOWN&&this._saveState()})))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(t,i,e){this._withStrategy(t,i).memorize(t,i,e),this._persistSoon.schedule()}select(t,i,e){return this._withStrategy(t,i).select(t,i,e)}_withStrategy(t,i){var e;const s=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:t.getLanguageIdAtPosition(i.lineNumber,i.column),resource:t.uri});if((null===(e=this._strategy)||void 0===e?void 0:e.name)!==s){this._saveState();const t=H3._strategyCtors.get(s)||q3;this._strategy=new t;try{const t=this._configService.getValue("editor.suggest.shareSuggestSelections"),i=this._storageService.get(`${H3._storagePrefix}/${s}`,t?0:1);i&&this._strategy.fromJSON(JSON.parse(i))}catch(t){}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${H3._storagePrefix}/${this._strategy.name}`,i,t,1)}}};K3._strategyCtors=new Map([["recentlyUsedByPrefix",class extends U3{constructor(){super("recentlyUsedByPrefix"),this._trie=WO.forStrings(),this._seq=0}memorize(t,i,e){const{word:s}=t.getWordUntilPosition(i),n=`${t.getLanguageId()}/${s}`;this._trie.set(n,{type:e.completion.kind,insertText:e.completion.insertText,touch:this._seq++})}select(t,i,e){const{word:s}=t.getWordUntilPosition(i);if(!s)return super.select(t,i,e);const n=`${t.getLanguageId()}/${s}`;let o=this._trie.get(n);if(o||(o=this._trie.findSubstr(n)),o)for(let t=0;tt.push([e,i]))),t.sort(((t,i)=>-(t[1].touch-i[1].touch))).forEach(((t,i)=>t[1].touch=i)),t.slice(0,200)}fromJSON(t){if(this._trie.clear(),t.length>0){this._seq=t[0][1].touch+1;for(const[i,e]of t)e.type="number"==typeof e.type?e.type:Ps.fromString(e.type),this._trie.set(i,e)}}}],["recentlyUsed",class extends U3{constructor(){super("recentlyUsed"),this._cache=new Bp(300,.66),this._seq=0}memorize(t,i,e){const s=`${t.getLanguageId()}/${e.textLabel}`;this._cache.set(s,{touch:this._seq++,type:e.completion.kind,insertText:e.completion.insertText})}select(t,i,e){if(0===e.length)return 0;const s=t.getLineContent(i.lineNumber).substr(i.column-10,i.column-1);if(/\s$/.test(s))return super.select(t,i,e);const n=e[0].score[0];let o=-1,r=-1;for(let i=0;ir&&n.type===e[i].completion.kind&&n.insertText===e[i].completion.insertText&&(r=n.touch,o=i),e[i].completion.preselect)return i}return-1!==o?o:0}toJSON(){return this._cache.toJSON()}fromJSON(t){this._cache.clear();for(const[i,e]of t)e.touch=0,e.type="number"==typeof e.type?e.type:Ps.fromString(e.type),this._cache.set(i,e);this._seq=this._cache.size}}],["first",q3]]),K3._storagePrefix="suggest/memories",K3=H3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([V3(0,bB),V3(1,pd)],K3);const G3=dr("ISuggestMemories");Cd(G3,K3,1);var Z3;let Q3=Z3=class{constructor(t,i){this._editor=t,this._enabled=!1,this._ckAtEnd=Z3.AtEnd.bindTo(i),this._configListener=this._editor.onDidChangeConfiguration((t=>t.hasChanged(122)&&this._update())),this._update()}dispose(){var t;this._configListener.dispose(),null===(t=this._selectionListener)||void 0===t||t.dispose(),this._ckAtEnd.reset()}_update(){const t="on"===this._editor.getOption(122);if(this._enabled!==t)if(this._enabled=t,this._enabled){const t=()=>{if(!this._editor.hasModel())return void this._ckAtEnd.set(!1);const t=this._editor.getModel(),i=this._editor.getSelection(),e=t.getWordAtPosition(i.getStartPosition());this._ckAtEnd.set(!!e&&e.endColumn===i.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};Q3.AtEnd=new ch("atEndOfWord",!1),Q3=Z3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,ah)],Q3);var J3;let Y3=J3=class{constructor(t,i){this._editor=t,this._index=0,this._ckOtherSuggestions=J3.OtherSuggestions.bindTo(i)}dispose(){this.reset()}reset(){var t;this._ckOtherSuggestions.reset(),null===(t=this._listener)||void 0===t||t.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:t,index:i},e){0!==t.items.length&&J3._moveIndex(!0,t,i)!==i?(this._acceptNext=e,this._model=t,this._index=i,this._listener=this._editor.onDidChangeCursorPosition((()=>{this._ignore||this.reset()})),this._ckOtherSuggestions.set(!0)):this.reset()}static _moveIndex(t,i,e){let s=e;for(let n=i.items.length;n>0&&(s=(s+i.items.length+(t?1:-1))%i.items.length,s!==e)&&i.items[s].completion.additionalTextEdits;n--);return s}next(){this._move(!0)}prev(){this._move(!1)}_move(t){if(this._model)try{this._ignore=!0,this._index=J3._moveIndex(t,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};Y3.OtherSuggestions=new ch("hasOtherSuggestions",!1),Y3=J3=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,ah)],Y3);class X3{constructor(t,i,e,s){this._disposables=new te,this._disposables.add(e.onDidSuggest((t=>{0===t.completionModel.items.length&&this.reset()}))),this._disposables.add(e.onDidCancel((()=>{this.reset()}))),this._disposables.add(i.onDidShow((()=>this._onItem(i.getFocusedItem())))),this._disposables.add(i.onDidFocus(this._onItem,this)),this._disposables.add(i.onDidHide(this.reset,this)),this._disposables.add(t.onWillType((n=>{if(this._active&&!i.isFrozen()&&0!==e.state){const i=n.charCodeAt(n.length-1);this._active.acceptCharacters.has(i)&&t.getOption(0)&&s(this._active.item)}})))}_onItem(t){if(!t||!y(t.item.completion.commitCharacters))return void this.reset();if(this._active&&this._active.item.item===t.item)return;const i=new bf;for(const e of t.item.completion.commitCharacters)e.length>0&&i.add(e.charCodeAt(0));this._active={acceptCharacters:i,item:t}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class t6{async provideSelectionRanges(t,i){const e=[];for(const s of i){const i=[];e.push(i);const n=new Map;await new Promise((i=>t6._bracketsRightYield(i,0,t,s,n))),await new Promise((e=>t6._bracketsLeftYield(e,0,t,s,n,i)))}return e}static _bracketsRightYield(t,i,e,s,n){const o=new Map,r=Date.now();for(;;){if(i>=t6._maxRounds){t();break}if(!s){t();break}const h=e.bracketPairs.findNextBracket(s);if(!h){t();break}if(Date.now()-r>t6._maxDuration){setTimeout((()=>t6._bracketsRightYield(t,i+1,e,s,n)));break}if(h.bracketInfo.isOpeningBracket){const t=h.bracketInfo.bracketText,i=o.has(t)?o.get(t):0;o.set(t,i+1)}else{const t=h.bracketInfo.getOpeningBrackets()[0].bracketText;let i=o.has(t)?o.get(t):0;if(i-=1,o.set(t,Math.max(0,i)),i<0){let i=n.get(t);i||(i=new qt,n.set(t,i)),i.push(h.range)}}s=h.range.getEndPosition()}}static _bracketsLeftYield(t,i,e,s,n,o){const r=new Map,h=Date.now();for(;;){if(i>=t6._maxRounds&&0===n.size){t();break}if(!s){t();break}const c=e.bracketPairs.findPrevBracket(s);if(!c){t();break}if(Date.now()-h>t6._maxDuration){setTimeout((()=>t6._bracketsLeftYield(t,i+1,e,s,n,o)));break}if(c.bracketInfo.isOpeningBracket){const t=c.bracketInfo.bracketText;let i=r.has(t)?r.get(t):0;if(i-=1,r.set(t,Math.max(0,i)),i<0){const i=n.get(t);if(i){const s=i.shift();0===i.size&&n.delete(t);const r=Ms.fromPositions(c.range.getEndPosition(),s.getStartPosition()),h=Ms.fromPositions(c.range.getStartPosition(),s.getEndPosition());o.push({range:r}),o.push({range:h}),t6._addBracketLeading(e,h,o)}}}else{const t=c.bracketInfo.getOpeningBrackets()[0].bracketText,i=r.has(t)?r.get(t):0;r.set(t,i+1)}s=c.range.getStartPosition()}}static _addBracketLeading(t,i,e){if(i.startLineNumber===i.endLineNumber)return;const s=i.startLineNumber,n=t.getLineFirstNonWhitespaceColumn(s);0!==n&&n!==i.startColumn&&(e.push({range:Ms.fromPositions(new As(s,n),i.getEndPosition())}),e.push({range:Ms.fromPositions(new As(s,1),i.getEndPosition())}));const o=s-1;if(o>0){const s=t.getLineFirstNonWhitespaceColumn(o);s===i.startColumn&&s!==t.getLineLastNonWhitespaceColumn(o)&&(e.push({range:Ms.fromPositions(new As(o,s),i.getEndPosition())}),e.push({range:Ms.fromPositions(new As(o,1),i.getEndPosition())}))}}}t6._maxDuration=30,t6._maxRounds=2;class i6{static async create(t,i){if(!i.getOption(117).localityBonus)return i6.None;if(!i.hasModel())return i6.None;const e=i.getModel(),s=i.getPosition();if(!t.canComputeWordRanges(e.uri))return i6.None;const[n]=await(new t6).provideSelectionRanges(e,[s]);if(0===n.length)return i6.None;const o=await t.computeWordRanges(e.uri,n[0].range);if(!o)return i6.None;const r=e.getWordUntilPosition(s);return delete o[r.word],new class extends i6{distance(t,e){if(!s.equals(i.getPosition()))return 0;if(17===e.kind)return 2<<20;const r=o["string"==typeof e.label?e.label:e.label.label];if(b(r))return 2<<20;const h=d(r,Ms.fromPositions(t),Ms.compareRangesUsingStarts),c=h>=0?r[h]:r[Math.max(0,~h-1)];let a=n.length;for(const t of n){if(!Ms.containsRange(t.range,c))break;a-=1}return a}}}}i6.None=new class extends i6{distance(){return 0}};class e6{constructor(t,i){this.leadingLineContent=t,this.characterCountDelta=i}}class s6{constructor(t,i,e,s,n,o,r=g_.default,h){this.clipboardText=h,this._snippetCompareFn=s6._compareCompletionItems,this._items=t,this._column=i,this._wordDistance=s,this._options=n,this._refilterKind=1,this._lineContext=e,this._fuzzyScoreOptions=r,"top"===o?this._snippetCompareFn=s6._compareCompletionItemsSnippetsUp:"bottom"===o&&(this._snippetCompareFn=s6._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(t){this._lineContext.leadingLineContent===t.leadingLineContent&&this._lineContext.characterCountDelta===t.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta0&&e[0].container.incomplete&&t.add(i);return t}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){0!==this._refilterKind&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const t=[],{leadingLineContent:i,characterCountDelta:e}=this._lineContext;let s="",n="";const o=1===this._refilterKind?this._items:this._filteredItems,r=[],h=!this._options.filterGraceful||o.length>2e3?m_:v_;for(let c=0;c=d)a.score=p_.Default;else if("string"==typeof a.completion.filterText){const i=h(s,n,t,a.completion.filterText,a.filterTextLow,0,this._fuzzyScoreOptions);if(!i)continue;0===oo(a.completion.filterText,a.textLabel)?a.score=i:(a.score=i_(s,n,t,a.textLabel,a.labelLow,0),a.score[0]=i[0])}else{const i=h(s,n,t,a.textLabel,a.labelLow,0,this._fuzzyScoreOptions);if(!i)continue;a.score=i}}a.idx=c,a.distance=this._wordDistance.distance(a.position,a.completion),r.push(a),t.push(a.textLabel.length)}this._filteredItems=r.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:t.length?f(t.length-.85,t,((t,i)=>t-i)):0}}static _compareCompletionItems(t,i){return t.score[0]>i.score[0]?-1:t.score[0]i.distance?1:t.idxi.idx?1:0}static _compareCompletionItemsSnippetsDown(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return 1;if(27===i.completion.kind)return-1}return s6._compareCompletionItems(t,i)}static _compareCompletionItemsSnippetsUp(t,i){if(t.completion.kind!==i.completion.kind){if(27===t.completion.kind)return-1;if(27===i.completion.kind)return 1}return s6._compareCompletionItems(t,i)}}var n6,o6=function(t,i){return function(e,s){i(e,s,t)}};class r6{static shouldAutoTrigger(t){if(!t.hasModel())return!1;const i=t.getModel(),e=t.getPosition();i.tokenization.tokenizeIfCheap(e.lineNumber);const s=i.getWordAtPosition(e);return!(!s||s.endColumn!==e.column&&s.startColumn+1!==e.column||!isNaN(Number(s.word)))}constructor(t,i,e){this.leadingLineContent=t.getLineContent(i.lineNumber).substr(0,i.column-1),this.leadingWord=t.getWordUntilPosition(i),this.lineNumber=i.lineNumber,this.column=i.column,this.triggerOptions=e}}let h6=n6=class{constructor(t,i,e,s,n,o,r,h,c){this._editor=t,this._editorWorkerService=i,this._clipboardService=e,this._telemetryService=s,this._logService=n,this._contextKeyService=o,this._configurationService=r,this._languageFeaturesService=h,this._envService=c,this._toDispose=new te,this._triggerCharacterListener=new te,this._triggerQuickSuggest=new dc,this._triggerState=void 0,this._completionDisposables=new te,this._onDidCancel=new fe,this._onDidTrigger=new fe,this._onDidSuggest=new fe,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Ls(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel((()=>{this._updateTriggerCharacters(),this.cancel()}))),this._toDispose.add(this._editor.onDidChangeModelLanguage((()=>{this._updateTriggerCharacters(),this.cancel()}))),this._toDispose.add(this._editor.onDidChangeConfiguration((()=>{this._updateTriggerCharacters()}))),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange((()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()})));let a=!1;this._toDispose.add(this._editor.onDidCompositionStart((()=>{a=!0}))),this._toDispose.add(this._editor.onDidCompositionEnd((()=>{a=!1,this._onCompositionEnd()}))),this._toDispose.add(this._editor.onDidChangeCursorSelection((t=>{a||this._onCursorChange(t)}))),this._toDispose.add(this._editor.onDidChangeModelContent((()=>{a||void 0===this._triggerState||this._refilterCompletionItems()}))),this._updateTriggerCharacters()}dispose(){Ji(this._triggerCharacterListener),Ji([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(90)||!this._editor.hasModel()||!this._editor.getOption(120))return;const t=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const e of i.triggerCharacters||[]){let s=t.get(e);s||(s=new Set,s.add(void 0),t.set(e,s)),s.add(i)}const i=i=>{var e;if(!function(t,i){if(!Boolean(i.getContextKeyValue("inlineSuggestionVisible")))return!0;const e=i.getContextKeyValue(S5.suppressSuggestions.key);return void 0!==e?!e:!t.getOption(62).suppressSuggestions}(this._editor,this._contextKeyService))return;if(r6.shouldAutoTrigger(this._editor))return;if(!i){const t=this._editor.getPosition();i=this._editor.getModel().getLineContent(t.lineNumber).substr(0,t.column-1)}let s="";mo(i.charCodeAt(i.length-1))?go(i.charCodeAt(i.length-2))&&(s=i.substr(i.length-2)):s=i.charAt(i.length-1);const n=t.get(s);if(n){const t=new Map;if(this._completionModel)for(const[i,e]of this._completionModel.getItemsByProvider())n.has(i)||t.set(i,e);this.trigger({auto:!0,triggerKind:1,triggerCharacter:s,retrigger:Boolean(this._completionModel),clipboardText:null===(e=this._completionModel)||void 0===e?void 0:e.clipboardText,completionOptions:{providerFilter:n,providerItemsToReuse:t}})}};this._triggerCharacterListener.add(this._editor.onDidType(i)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd((()=>i())))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(t=!1){var i;void 0!==this._triggerState&&(this._triggerQuickSuggest.cancel(),null===(i=this._requestToken)||void 0===i||i.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:t}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){void 0!==this._triggerState&&(this._editor.hasModel()&&this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.trigger({auto:this._triggerState.auto,retrigger:!0}):this.cancel())}_onCursorChange(t){if(!this._editor.hasModel())return;const i=this._currentSelection;this._currentSelection=this._editor.getSelection(),!t.selection.isEmpty()||0!==t.reason&&3!==t.reason||"keyboard"!==t.source&&"deleteLeft"!==t.source?this.cancel():void 0===this._triggerState&&0===t.reason?(i.containsRange(this._currentSelection)||i.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():void 0!==this._triggerState&&3===t.reason&&this._refilterCompletionItems()}_onCompositionEnd(){void 0===this._triggerState?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var t;k3.isAllOff(this._editor.getOption(88))||this._editor.getOption(117).snippetsPreventQuickSuggestions&&(null===(t=P3.get(this._editor))||void 0===t?void 0:t.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet((()=>{if(void 0!==this._triggerState)return;if(!r6.shouldAutoTrigger(this._editor))return;if(!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const t=this._editor.getModel(),i=this._editor.getPosition(),e=this._editor.getOption(88);if(!k3.isAllOff(e)){if(!k3.isAllOn(e)){t.tokenization.tokenizeIfCheap(i.lineNumber);const s=t.tokenization.getLineTokens(i.lineNumber),n=s.getStandardTokenType(s.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if("on"!==k3.valueFor(e,n))return}(function(t,i){if(!Boolean(i.getContextKeyValue(S5.inlineSuggestionVisible.key)))return!0;const e=i.getContextKeyValue(S5.suppressSuggestions.key);return void 0!==e?!e:!t.getOption(62).suppressSuggestions})(this._editor,this._contextKeyService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}}),this._editor.getOption(89)))}_refilterCompletionItems(){K(this._editor.hasModel()),K(void 0!==this._triggerState);const t=this._editor.getModel(),i=this._editor.getPosition(),e=new r6(t,i,{...this._triggerState,refilter:!0});this._onNewContext(e)}trigger(t){var i,e,s,n,o,r;if(!this._editor.hasModel())return;const h=this._editor.getModel(),c=new r6(h,this._editor.getPosition(),t);this.cancel(t.retrigger),this._triggerState=t,this._onDidTrigger.fire({auto:t.auto,shy:null!==(i=t.shy)&&void 0!==i&&i,position:this._editor.getPosition()}),this._context=c;let a={triggerKind:null!==(e=t.triggerKind)&&void 0!==e?e:0};t.triggerCharacter&&(a={triggerKind:1,triggerCharacter:t.triggerCharacter}),this._requestToken=new Se;let l=1;switch(this._editor.getOption(111)){case"top":l=0;break;case"bottom":l=2}const{itemKind:u,showDeprecated:d}=n6._createSuggestFilter(this._editor),f=new m3(l,null!==(n=null===(s=t.completionOptions)||void 0===s?void 0:s.kindFilter)&&void 0!==n?n:u,null===(o=t.completionOptions)||void 0===o?void 0:o.providerFilter,null===(r=t.completionOptions)||void 0===r?void 0:r.providerItemsToReuse,d),p=i6.create(this._editorWorkerService,this._editor),g=v3(this._languageFeaturesService.completionProvider,h,this._editor.getPosition(),f,a,this._requestToken.token);Promise.all([g,p]).then((async([i,e])=>{var s;if(null===(s=this._requestToken)||void 0===s||s.dispose(),!this._editor.hasModel())return;let n=null==t?void 0:t.clipboardText;if(!n&&i.needsClipboard&&(n=await this._clipboardService.readText()),void 0===this._triggerState)return;const o=this._editor.getModel(),r=new r6(o,this._editor.getPosition(),t),h={...g_.default,firstMatchCanBeWeak:!this._editor.getOption(117).matchOnWordStartOnly};if(this._completionModel=new s6(i.items,this._context.column,{leadingLineContent:r.leadingLineContent,characterCountDelta:r.column-this._context.column},e,this._editor.getOption(117),this._editor.getOption(111),h,n),this._completionDisposables.add(i.disposable),this._onNewContext(r),this._reportDurationsTelemetry(i.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const t of i.items)t.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${t.provider._debugDisplayName}`,t.completion)})).catch(Pi)}_reportDurationsTelemetry(t){this._telemetryGate++%230==0&&setTimeout((()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(t)}),this._logService.debug("suggest.durations.json",t)}))}static _createSuggestFilter(t){const i=new Set;"none"===t.getOption(111)&&i.add(27);const e=t.getOption(117);return e.showMethods||i.add(0),e.showFunctions||i.add(1),e.showConstructors||i.add(2),e.showFields||i.add(3),e.showVariables||i.add(4),e.showClasses||i.add(5),e.showStructs||i.add(6),e.showInterfaces||i.add(7),e.showModules||i.add(8),e.showProperties||i.add(9),e.showEvents||i.add(10),e.showOperators||i.add(11),e.showUnits||i.add(12),e.showValues||i.add(13),e.showConstants||i.add(14),e.showEnums||i.add(15),e.showEnumMembers||i.add(16),e.showKeywords||i.add(17),e.showWords||i.add(18),e.showColors||i.add(19),e.showFiles||i.add(20),e.showReferences||i.add(21),e.showColors||i.add(22),e.showFolders||i.add(23),e.showTypeParameters||i.add(24),e.showSnippets||i.add(27),e.showUsers||i.add(25),e.showIssues||i.add(26),{itemKind:i,showDeprecated:e.showDeprecated}}_onNewContext(t){if(this._context)if(t.lineNumber===this._context.lineNumber)if(io(t.leadingLineContent)===io(this._context.leadingLineContent)){if(t.columnthis._context.leadingWord.startColumn){if(r6.shouldAutoTrigger(this._editor)&&this._context){const t=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:t}})}}else if(t.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&0!==t.leadingWord.word.length){const t=new Map,i=new Set;for(const[e,s]of this._completionModel.getItemsByProvider())s.length>0&&s[0].container.incomplete?i.add(e):t.set(e,s);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{const i=this._completionModel.lineContext;let e=!1;if(this._completionModel.lineContext={leadingLineContent:t.leadingLineContent,characterCountDelta:t.column-this._context.column},0===this._completionModel.items.length){const s=r6.shouldAutoTrigger(this._editor);if(!this._context)return void this.cancel();if(s&&this._context.leadingWord.endColumn0,e&&0===t.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:t.triggerOptions,isFrozen:e})}}else this.cancel();else this.cancel()}};h6=n6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([o6(1,lP),o6(2,dH),o6(3,Wh),o6(4,jh),o6(5,ah),o6(6,pd),o6(7,gg),o6(8,oR)],h6);class c6{constructor(t,i){this._disposables=new te,this._lastOvertyped=[],this._locked=!1,this._disposables.add(t.onWillType((()=>{if(this._locked||!t.hasModel())return;const i=t.getSelections(),e=i.length;let s=!1;for(let t=0;tc6._maxSelectionLength)return;this._lastOvertyped[t]={value:n.getValueInRange(e),multiline:e.startLineNumber!==e.endLineNumber}}}))),this._disposables.add(i.onDidTrigger((()=>{this._locked=!0}))),this._disposables.add(i.onDidCancel((()=>{this._locked=!1})))}getLastOvertypedInfo(t){if(t>=0&&tt instanceof Bh?e.createInstance(l6,t,void 0):void 0;this._leftActions=new VB(this.element,{actionViewItemProvider:o}),this._rightActions=new VB(this.element,{actionViewItemProvider:o}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const t=this._menuService.createMenu(this._menuId,this._contextKeyService),i=()=>{const i=[],e=[];for(const[s,n]of t.getActions())"left"===s?i.push(...n):e.push(...n);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(e)};this._menuDisposables.add(t.onDidChange((()=>i()))),this._menuDisposables.add(t)}hide(){this._menuDisposables.clear()}};u6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([a6(2,ur),a6(3,Oh),a6(4,ah)],u6);function d6(t){return!!t&&Boolean(t.completion.documentation||t.completion.detail&&t.completion.detail!==t.completion.label)}let f6=class{constructor(t,i){this._editor=t,this._onDidClose=new fe,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new fe,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new te,this._renderDisposeable=new te,this._borderWidth=1,this._size=new el(330,0),this.domNode=$l(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=i.createInstance(eQ,{editor:t}),this._body=$l(".body"),this._scrollbar=new Sk(this._body,{alwaysConsumeMouseWheel:!0}),Ol(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=Ol(this._body,$l(".header")),this._close=Ol(this._header,$l("span"+Cr.asCSSSelector(Os.close))),this._close.title=rt(0,"Close"),this._type=Ol(this._header,$l("p.type")),this._docs=Ol(this._body,$l("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._configureFont()})))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const t=this._editor.getOptions(),i=t.get(50),e=i.getMassagedFontFamily(),s=t.get(118)||i.fontSize,n=t.get(119)||i.lineHeight,o=i.fontWeight,r=`${n}px`;this.domNode.style.fontSize=`${s}px`,this.domNode.style.lineHeight=""+n/s,this.domNode.style.fontWeight=o,this.domNode.style.fontFeatureSettings=i.fontFeatureSettings,this._type.style.fontFamily=e,this._close.style.height=r,this._close.style.width=r}getLayoutInfo(){const t=this._editor.getOption(119)||this._editor.getOption(50).lineHeight,i=this._borderWidth;return{lineHeight:t,borderWidth:i,borderHeight:2*i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=rt(0,"Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,2*this.getLayoutInfo().lineHeight),this._onDidChangeContents.fire(this)}renderItem(t,i){var e,s;this._renderDisposeable.clear();let{detail:n,documentation:o}=t.completion;if(i){let i="";i+=`score: ${t.score[0]}\n`,i+=`prefix: ${null!==(e=t.word)&&void 0!==e?e:"(no prefix)"}\n`,i+=`word: ${t.completion.filterText?t.completion.filterText+" (filterText)":t.textLabel}\n`,i+=`distance: ${t.distance} (localityBonus-setting)\n`,i+=`index: ${t.idx}, based on ${t.completion.sortText&&`sortText: "${t.completion.sortText}"`||"label"}\n`,i+=`commit_chars: ${null===(s=t.completion.commitCharacters)||void 0===s?void 0:s.join("")}\n`,o=(new M_).appendCodeblock("empty",i),n=`Provider: ${t.provider._debugDisplayName}`}if(i||d6(t)){if(this.domNode.classList.remove("no-docs","no-type"),n){const t=n.length>1e5?`${n.substr(0,1e5)}…`:n;this._type.textContent=t,this._type.title=t,Wl(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gim.test(t))}else za(this._type),this._type.title="",jl(this._type),this.domNode.classList.add("no-type");if(za(this._docs),"string"==typeof o)this._docs.classList.remove("markdown-docs"),this._docs.textContent=o;else if(o){this._docs.classList.add("markdown-docs"),za(this._docs);const t=this._markdownRenderer.render(o);this._docs.appendChild(t.element),this._renderDisposeable.add(t),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync((()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)})))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=t=>{t.preventDefault(),t.stopPropagation()},this._close.onclick=t=>{t.preventDefault(),t.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}else this.clearContents()}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get size(){return this._size}layout(t,i){const e=new el(t,i);el.equals(e,this._size)||(this._size=e,function(t,i,e){"number"==typeof i&&(t.style.width=`${i}px`),"number"==typeof e&&(t.style.height=`${e}px`)}(this.domNode,t,i)),this._scrollbar.scanDomNode()}scrollDown(t=8){this._body.scrollTop+=t}scrollUp(t=8){this._body.scrollTop-=t}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(t){this._borderWidth=t}get borderWidth(){return this._borderWidth}};f6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,ur)],f6);class p6{constructor(t,i){let e,s;this.widget=t,this._editor=i,this._disposables=new te,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new gX,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(t.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let n=0,o=0;this._disposables.add(this._resizable.onDidWillResize((()=>{e=this._topLeft,s=this._resizable.size}))),this._disposables.add(this._resizable.onDidResize((t=>{if(e&&s){this.widget.layout(t.dimension.width,t.dimension.height);let i=!1;t.west&&(o=s.width-t.dimension.width,i=!0),t.north&&(n=s.height-t.dimension.height,i=!0),i&&this._applyTopLeft({top:e.top+n,left:e.left+o})}t.done&&(e=void 0,s=void 0,n=0,o=0,this._userSize=t.dimension)}))),this._disposables.add(this.widget.onDidChangeContents((()=>{var t;this._anchorBox&&this._placeAtAnchor(this._anchorBox,null!==(t=this._userSize)&&void 0!==t?t:this.widget.size,this._preferAlignAtTop)})))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return null}show(){this._added||(this._editor.addOverlayWidget(this),this.getDomNode().style.position="fixed",this._added=!0)}hide(t=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),t&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(t,i){var e;const s=t.getBoundingClientRect();this._anchorBox=s,this._preferAlignAtTop=i,this._placeAtAnchor(this._anchorBox,null!==(e=this._userSize)&&void 0!==e?e:this.widget.size,i)}_placeAtAnchor(t,i,e){var s;const n=tl(this.getDomNode().ownerDocument.body),o=this.widget.getLayoutInfo(),r=new el(220,2*o.lineHeight),h=t.top,c=function(){const e=n.width-(t.left+t.width+o.borderWidth+o.horizontalPadding),s=-o.borderWidth+t.left+t.width,c=new el(e,n.height-t.top-o.borderHeight-o.verticalPadding),a=c.with(void 0,t.top+t.height-o.borderHeight-o.verticalPadding);return{top:h,left:s,fit:e-i.width,maxSizeTop:c,maxSizeBottom:a,minSize:r.with(Math.min(e,r.width))}}(),a=[c,function(){const e=t.left-o.borderWidth-o.horizontalPadding,s=Math.max(o.horizontalPadding,t.left-i.width-o.borderWidth),c=new el(e,n.height-t.top-o.borderHeight-o.verticalPadding),a=c.with(void 0,t.top+t.height-o.borderHeight-o.verticalPadding);return{top:h,left:s,fit:e-i.width,maxSizeTop:c,maxSizeBottom:a,minSize:r.with(Math.min(e,r.width))}}(),function(){const e=t.left,s=-o.borderWidth+t.top+t.height,h=new el(t.width-o.borderHeight,n.height-t.top-t.height-o.verticalPadding);return{top:s,left:e,fit:h.height-i.height,maxSizeBottom:h,maxSizeTop:h,minSize:r.with(h.width)}}()],l=null!==(s=a.find((t=>t.fit>=0)))&&void 0!==s?s:a.sort(((t,i)=>i.fit-t.fit))[0],u=t.top+t.height-o.borderHeight;let d,f=i.height;const p=Math.max(l.maxSizeTop.height,l.maxSizeBottom.height);let g;f>p&&(f=p),e?f<=l.maxSizeTop.height?(d=!0,g=l.maxSizeTop):(d=!1,g=l.maxSizeBottom):f<=l.maxSizeBottom.height?(d=!1,g=l.maxSizeBottom):(d=!0,g=l.maxSizeTop),this._applyTopLeft({left:l.left,top:d?l.top:u-f}),this.getDomNode().style.position="fixed",this._resizable.enableSashes(!d,l===c,d,l!==c),this._resizable.minSize=l.minSize,this._resizable.maxSize=g,this._resizable.layout(f,Math.min(g.width,i.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(t){this._topLeft=t,this.getDomNode().style.left=`${this._topLeft.left}px`,this.getDomNode().style.top=`${this._topLeft.top}px`}}var g6;!function(t){t[t.FILE=0]="FILE",t[t.FOLDER=1]="FOLDER",t[t.ROOT_FOLDER=2]="ROOT_FOLDER"}(g6||(g6={}));const m6=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function w6(t,i,e,s){const n=s===g6.ROOT_FOLDER?["rootfolder-icon"]:s===g6.FOLDER?["folder-icon"]:["file-icon"];if(e){let o;if(e.scheme===ka.data)o=yA.parseMetaData(e).get(yA.META_DATA_LABEL);else{const t=e.path.match(m6);t?(o=v6(t[2].toLowerCase()),t[1]&&n.push(`${v6(t[1].toLowerCase())}-name-dir-icon`)):o=v6(e.authority.toLowerCase())}if(s===g6.ROOT_FOLDER)n.push(`${o}-root-name-folder-icon`);else if(s===g6.FOLDER)n.push(`${o}-name-folder-icon`);else{if(o){if(n.push(`${o}-name-file-icon`),n.push("name-file-icon"),o.length<=255){const t=o.split(".");for(let i=1;i{const t=this._editor.getOptions(),i=t.get(50),n=i.getMassagedFontFamily(),o=i.fontFeatureSettings,h=t.get(118)||i.fontSize,c=t.get(119)||i.lineHeight,a=i.fontWeight,l=`${c}px`,u=`${i.letterSpacing}px`;e.style.fontSize=`${h}px`,e.style.fontWeight=a,e.style.letterSpacing=u,r.style.fontFamily=n,r.style.fontFeatureSettings=o,r.style.lineHeight=l,s.style.height=l,s.style.width=l,p.style.height=l,p.style.width=l};return g(),i.add(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(50)||t.hasChanged(118)||t.hasChanged(119))&&g()}))),{root:e,left:c,right:a,icon:s,colorspan:n,iconLabel:l,iconContainer:h,parametersLabel:u,qualifierLabel:d,detailsLabel:f,readMore:p,disposables:i}}renderElement(t,i,e){const{completion:s}=t;e.root.id=k6(i),e.colorspan.style.backgroundColor="";const n={labelEscapeNewLines:!0,matches:e_(t.score)},o=[];if(19===s.kind&&C6.extract(t,o))e.icon.className="icon customcolor",e.iconContainer.className="icon hide",e.colorspan.style.backgroundColor=o[0];else if(20===s.kind&&this._themeService.getFileIconTheme().hasFileIcons){e.icon.className="icon hide",e.iconContainer.className="icon hide";const i=w6(this._modelService,this._languageService,ms.from({scheme:"fake",path:t.textLabel}),g6.FILE),o=w6(this._modelService,this._languageService,ms.from({scheme:"fake",path:s.detail}),g6.FILE);n.extraClasses=i.length>o.length?i:o}else 23===s.kind&&this._themeService.getFileIconTheme().hasFolderIcons?(e.icon.className="icon hide",e.iconContainer.className="icon hide",n.extraClasses=[w6(this._modelService,this._languageService,ms.from({scheme:"fake",path:t.textLabel}),g6.FOLDER),w6(this._modelService,this._languageService,ms.from({scheme:"fake",path:s.detail}),g6.FOLDER)].flat()):(e.icon.className="icon hide",e.iconContainer.className="",e.iconContainer.classList.add("suggest-icon",...Cr.asClassNameArray(Ps.toIcon(s.kind))));s.tags&&s.tags.indexOf(1)>=0&&(n.extraClasses=(n.extraClasses||[]).concat(["deprecated"]),n.matches=[]),e.iconLabel.setLabel(t.textLabel,void 0,n),"string"==typeof s.label?(e.parametersLabel.textContent="",e.detailsLabel.textContent=D6(s.detail||""),e.root.classList.add("string-label")):(e.parametersLabel.textContent=D6(s.label.detail||""),e.detailsLabel.textContent=D6(s.label.description||""),e.root.classList.remove("string-label")),this._editor.getOption(117).showInlineDetails?Wl(e.detailsLabel):jl(e.detailsLabel),d6(t)?(e.right.classList.add("can-expand-details"),Wl(e.readMore),e.readMore.onmousedown=t=>{t.stopPropagation(),t.preventDefault()},e.readMore.onclick=t=>{t.stopPropagation(),t.preventDefault(),this._onDidToggleDetails.fire()}):(e.right.classList.remove("can-expand-details"),jl(e.readMore),e.readMore.onmousedown=null,e.readMore.onclick=null)}disposeTemplate(t){t.disposables.dispose()}};function D6(t){return t.replace(/\r\n|\r|\n/g,"")}S6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([y6(1,pr),y6(2,yd),y6(3,qk)],S6);var E6,A6=function(t,i){return function(e,s){i(e,s,t)}};ow("editorSuggestWidget.background",{dark:nv,light:nv,hcDark:nv,hcLight:nv},rt(0,"Background color of the suggest widget.")),ow("editorSuggestWidget.border",{dark:rv,light:rv,hcDark:rv,hcLight:rv},rt(0,"Border color of the suggest widget."));const M6=ow("editorSuggestWidget.foreground",{dark:sv,light:sv,hcDark:sv,hcLight:sv},rt(0,"Foreground color of the suggest widget."));ow("editorSuggestWidget.selectedForeground",{dark:bb,light:bb,hcDark:bb,hcLight:bb},rt(0,"Foreground color of the selected entry in the suggest widget.")),ow("editorSuggestWidget.selectedIconForeground",{dark:yb,light:yb,hcDark:yb,hcLight:yb},rt(0,"Icon foreground color of the selected entry in the suggest widget."));const L6=ow("editorSuggestWidget.selectedBackground",{dark:kb,light:kb,hcDark:kb,hcLight:kb},rt(0,"Background color of the selected entry in the suggest widget."));ow("editorSuggestWidget.highlightForeground",{dark:sb,light:sb,hcDark:sb,hcLight:sb},rt(0,"Color of the match highlights in the suggest widget.")),ow("editorSuggestWidget.focusHighlightForeground",{dark:nb,light:nb,hcDark:nb,hcLight:nb},rt(0,"Color of the match highlights in the suggest widget when an item is focused.")),ow("editorSuggestWidgetStatus.foreground",{dark:sy(M6,.5),light:sy(M6,.5),hcDark:sy(M6,.5),hcLight:sy(M6,.5)},rt(0,"Foreground color of the suggest widget status."));class F6{constructor(t,i){this._service=t,this._key=`suggestWidget.size/${i.getEditorType()}/${i instanceof BJ}`}restore(){var t;const i=null!==(t=this._service.get(this._key,0))&&void 0!==t?t:"";try{const t=JSON.parse(i);if(el.is(t))return el.lift(t)}catch(t){}}store(t){this._service.store(this._key,JSON.stringify(t),0,1)}reset(){this._service.remove(this._key,0)}}let T6=E6=class{constructor(t,i,e,s,n){this.editor=t,this._storageService=i,this._state=0,this._isAuto=!1,this._pendingLayout=new ee,this._pendingShowDetails=new ee,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new dc,this._disposables=new te,this._onDidSelect=new ge,this._onDidFocus=new ge,this._onDidHide=new fe,this._onDidShow=new fe,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new fe,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new gX,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new R6(this,t),this._persistedSize=new F6(i,t);class o{constructor(t,i,e=!1,s=!1){this.persistedSize=t,this.currentSize=i,this.persistHeight=e,this.persistWidth=s}}let r;this._disposables.add(this.element.onDidWillResize((()=>{this._contentWidget.lockPreference(),r=new o(this._persistedSize.restore(),this.element.size)}))),this._disposables.add(this.element.onDidResize((t=>{var i,e,s,n;if(this._resize(t.dimension.width,t.dimension.height),r&&(r.persistHeight=r.persistHeight||!!t.north||!!t.south,r.persistWidth=r.persistWidth||!!t.east||!!t.west),t.done){if(r){const{itemHeight:t,defaultSize:o}=this.getLayoutInfo(),h=Math.round(t/2);let{width:c,height:a}=this.element.size;(!r.persistHeight||Math.abs(r.currentSize.height-a)<=h)&&(a=null!==(e=null===(i=r.persistedSize)||void 0===i?void 0:i.height)&&void 0!==e?e:o.height),(!r.persistWidth||Math.abs(r.currentSize.width-c)<=h)&&(c=null!==(n=null===(s=r.persistedSize)||void 0===s?void 0:s.width)&&void 0!==n?n:o.width),this._persistedSize.store(new el(c,a))}this._contentWidget.unlockPreference(),r=void 0}}))),this._messageElement=Ol(this.element.domNode,$l(".message")),this._listElement=Ol(this.element.domNode,$l(".tree"));const h=this._disposables.add(n.createInstance(f6,this.editor));h.onDidClose(this.toggleDetails,this,this._disposables),this._details=new p6(h,this.editor);const c=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(117).showIcons);c();const a=n.createInstance(S6,this.editor);this._disposables.add(a),this._disposables.add(a.onDidToggleDetails((()=>this.toggleDetails()))),this._list=new iB("SuggestWidget",this._listElement,{getHeight:()=>this.getLayoutInfo().itemHeight,getTemplateId:()=>"suggestion"},[a],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>rt(0,"Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:t=>{let i=t.textLabel;if("string"!=typeof t.completion.label){const{detail:e,description:s}=t.completion.label;e&&s?i=rt(0,"{0} {1}, {2}",i,e,s):e?i=rt(0,"{0} {1}",i,e):s&&(i=rt(0,"{0}, {1}",i,s))}if(!t.isResolved||!this._isDetailsVisible())return i;const{documentation:e,detail:s}=t.completion;return rt(0,"{0}, docs: {1}",i,qn("{0}{1}",s||"",e?"string"==typeof e?e:e.value:""))}}}),this._list.style(FB({listInactiveFocusBackground:L6,listInactiveFocusOutline:uw})),this._status=n.createInstance(u6,this.element.domNode,p3);const l=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(117).showStatusBar);l(),this._disposables.add(s.onDidColorThemeChange((t=>this._onThemeChange(t)))),this._onThemeChange(s.getColorTheme()),this._disposables.add(this._list.onMouseDown((t=>this._onListMouseDownOrTap(t)))),this._disposables.add(this._list.onTap((t=>this._onListMouseDownOrTap(t)))),this._disposables.add(this._list.onDidChangeSelection((t=>this._onListSelection(t)))),this._disposables.add(this._list.onDidChangeFocus((t=>this._onListFocus(t)))),this._disposables.add(this.editor.onDidChangeCursorSelection((()=>this._onCursorSelectionChanged()))),this._disposables.add(this.editor.onDidChangeConfiguration((t=>{t.hasChanged(117)&&(l(),c())}))),this._ctxSuggestWidgetVisible=f3.Visible.bindTo(e),this._ctxSuggestWidgetDetailsVisible=f3.DetailsVisible.bindTo(e),this._ctxSuggestWidgetMultipleSuggestions=f3.MultipleSuggestions.bindTo(e),this._ctxSuggestWidgetHasFocusedSuggestion=f3.HasFocusedSuggestion.bindTo(e),this._disposables.add(qa(this._details.widget.domNode,"keydown",(t=>{this._onDetailsKeydown.fire(t)}))),this._disposables.add(this.editor.onMouseDown((t=>this._onEditorMouseDown(t))))}dispose(){var t;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),null===(t=this._loadingTimeout)||void 0===t||t.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(t){this._details.widget.domNode.contains(t.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(t.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){0!==this._state&&this._contentWidget.layout()}_onListMouseDownOrTap(t){void 0!==t.element&&void 0!==t.index&&(t.browserEvent.preventDefault(),t.browserEvent.stopPropagation(),this._select(t.element,t.index))}_onListSelection(t){t.elements.length&&this._select(t.elements[0],t.indexes[0])}_select(t,i){const e=this._completionModel;e&&(this._onDidSelect.fire({item:t,index:i,model:e}),this.editor.focus())}_onThemeChange(t){this._details.widget.borderWidth=_y(t.type)?2:1}_onListFocus(t){var i;if(this._ignoreFocusEvents)return;if(!t.elements.length)return this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),void this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const e=t.elements[0],s=t.indexes[0];e!==this._focusedItem&&(null===(i=this._currentSuggestionDetails)||void 0===i||i.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=e,this._list.reveal(s),this._currentSuggestionDetails=nc((async t=>{const i=lc((()=>{this._isDetailsVisible()&&this.showDetails(!0)}),250),s=t.onCancellationRequested((()=>i.dispose()));try{return await e.resolve(t)}finally{i.dispose(),s.dispose()}})),this._currentSuggestionDetails.then((()=>{s>=this._list.length||e!==this._list.element(s)||(this._ignoreFocusEvents=!0,this._list.splice(s,1,[e]),this._list.setFocus([s]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:k6(s)}))})).catch(Pi)),this._onDidFocus.fire({item:e,index:s,model:this._completionModel})}_setState(t){if(this._state!==t)switch(this._state=t,this.element.domNode.classList.toggle("frozen",4===t),this.element.domNode.classList.remove("message"),t){case 0:jl(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=E6.LOADING_MESSAGE,jl(this._listElement,this._status.element),Wl(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Rm(E6.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=E6.NO_SUGGESTIONS_MESSAGE,jl(this._listElement,this._status.element),Wl(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Rm(E6.NO_SUGGESTIONS_MESSAGE);break;case 3:case 4:jl(this._messageElement),Wl(this._listElement,this._status.element),this._show();break;case 5:jl(this._messageElement),Wl(this._listElement,this._status.element),this._details.show(),this._show()}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet((()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)}),100)}showTriggered(t,i){0===this._state&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!t,this._isAuto||(this._loadingTimeout=lc((()=>this._setState(1)),i)))}showSuggestions(t,i,e,s,n){var o,r;if(this._contentWidget.setPosition(this.editor.getPosition()),null===(o=this._loadingTimeout)||void 0===o||o.dispose(),null===(r=this._currentSuggestionDetails)||void 0===r||r.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==t&&(this._completionModel=t),e&&2!==this._state&&0!==this._state)return void this._setState(4);const h=this._completionModel.items.length,c=0===h;if(this._ctxSuggestWidgetMultipleSuggestions.set(h>1),c)return this._setState(s?0:2),void(this._completionModel=void 0);this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(e?4:3),this._list.reveal(i,0),this._list.setFocus(n?[]:[i])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=Za(Na(this.element.domNode),(()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")}))}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(0!==this._state&&2!==this._state&&1!==this._state&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){5===this._state?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):3===this._state&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):!d6(this._list.getFocusedElements()[0])&&!this._explainMode||3!==this._state&&5!==this._state&&4!==this._state||(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(t){this._pendingShowDetails.value=Za(Na(this.element.domNode),(()=>{this._pendingShowDetails.clear(),this._details.show(),t?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._positionDetails(),this.editor.focus(),this.element.domNode.classList.add("shows-details")}))}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var t;this._pendingLayout.clear(),this._pendingShowDetails.clear(),null===(t=this._loadingTimeout)||void 0===t||t.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const i=this._persistedSize.restore(),e=Math.ceil(4.3*this.getLayoutInfo().itemHeight);i&&i.heightc&&(h=c);const a=this._completionModel?this._completionModel.stats.pLabelLen*o.typicalHalfwidthCharacterWidth:h,l=o.statusBarHeight+this._list.contentHeight+o.borderHeight,u=o.itemHeight+o.statusBarHeight,d=nl(this.editor.getDomNode()),f=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),p=Math.min(n.height-(d.top+f.top+f.height)-o.verticalPadding,l),g=d.top+f.top-o.verticalPadding,m=Math.min(g,l);let w=Math.min(Math.max(m,p)+o.borderHeight,l);r===(null===(i=this._cappedHeight)||void 0===i?void 0:i.capped)&&(r=this._cappedHeight.wanted),rw&&(r=w),r>p||this._forceRenderingAbove&&g>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),w=m):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),w=p),this.element.preferredSize=new el(a,o.defaultSize.height),this.element.maxSize=new el(c,w),this.element.minSize=new el(220,u),this._cappedHeight=r===l?{wanted:null!==(s=null===(e=this._cappedHeight)||void 0===e?void 0:e.wanted)&&void 0!==s?s:t.height,capped:r}:void 0}this._resize(h,r)}_resize(t,i){const{width:e,height:s}=this.element.maxSize;t=Math.min(e,t),i=Math.min(s,i);const{statusBarHeight:n}=this.getLayoutInfo();this._list.layout(i-n,t),this._listElement.style.height=i-n+"px",this.element.layout(i,t),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var t;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,2===(null===(t=this._contentWidget.getPosition())||void 0===t?void 0:t.preference[0]))}getLayoutInfo(){const t=this.editor.getOption(50),i=eR(this.editor.getOption(119)||t.lineHeight,8,1e3),e=this.editor.getOption(117).showStatusBar&&2!==this._state&&1!==this._state?i:0,s=this._details.widget.borderWidth,n=2*s;return{itemHeight:i,statusBarHeight:e,borderWidth:s,borderHeight:n,typicalHalfwidthCharacterWidth:t.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new el(430,e+12*i+n)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(t){this._storageService.store("expandSuggestionDocs",t,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};T6.LOADING_MESSAGE=rt(0,"Loading..."),T6.NO_SUGGESTIONS_MESSAGE=rt(0,"No suggestions."),T6=E6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([A6(1,bB),A6(2,ah),A6(3,qk),A6(4,ur)],T6);class R6{constructor(t,i){this._widget=t,this._editor=i,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return!this._hidden&&this._position&&this._preference?{position:this._position,preference:[this._preference]}:null}beforeRender(){const{height:t,width:i}=this._widget.element.size,{borderWidth:e,horizontalPadding:s}=this._widget.getLayoutInfo();return new el(i+2*e+s,t+2*e)}afterRender(t){this._widget._afterRender(t)}setPreference(t){this._preferenceLocked||(this._preference=t)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(t){this._position=t}}var O6,I6=function(t,i){return function(e,s){i(e,s,t)}};class _6{constructor(t,i){if(this._model=t,this._position=i,t.getLineMaxColumn(i.lineNumber)!==i.column){const e=t.getOffsetAt(i),s=t.getPositionAt(e+1);this._marker=t.deltaDecorations([],[{range:Ms.fromPositions(i,s),options:{description:"suggest-line-suffix",stickiness:1}}])}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])}delta(t){if(this._model.isDisposed()||this._position.lineNumber!==t.lineNumber)return 0;if(this._marker){const i=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(i.getStartPosition())-this._model.getOffsetAt(t)}return this._model.getLineMaxColumn(t.lineNumber)-t.column}}let N6=O6=class{static get(t){return t.getContribution(O6.ID)}constructor(t,i,e,s,n,o,r){this._memoryService=i,this._commandService=e,this._contextKeyService=s,this._instantiationService=n,this._logService=o,this._telemetryService=r,this._lineSuffix=new ee,this._toDispose=new te,this._selectors=new B6((t=>t.priority)),this._onWillInsertSuggestItem=new fe,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=t,this.model=n.createInstance(h6,this.editor),this._selectors.register({priority:0,select:(t,i,e)=>this._memoryService.select(t,i,e)});const h=f3.InsertMode.bindTo(s);h.set(t.getOption(117).insertMode),this._toDispose.add(this.model.onDidTrigger((()=>h.set(t.getOption(117).insertMode)))),this.widget=this._toDispose.add(new Ga(Na(t.getDomNode()),(()=>{const t=this._instantiationService.createInstance(T6,this.editor);this._toDispose.add(t),this._toDispose.add(t.onDidSelect((t=>this._insertSuggestion(t,0)),this));const i=new X3(this.editor,t,this.model,(t=>this._insertSuggestion(t,2)));this._toDispose.add(i);const e=f3.MakesTextEdit.bindTo(this._contextKeyService),s=f3.HasInsertAndReplaceRange.bindTo(this._contextKeyService),n=f3.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Xi((()=>{e.reset(),s.reset(),n.reset()}))),this._toDispose.add(t.onDidFocus((({item:t})=>{const i=this.editor.getPosition(),o=t.editStart.column,r=i.column;let h=!0;"smart"!==this.editor.getOption(1)||2!==this.model.state||t.completion.additionalTextEdits||4&t.completion.insertTextRules||r-o!==t.completion.insertText.length||(h=this.editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:o,endLineNumber:i.lineNumber,endColumn:r})!==t.completion.insertText),e.set(h),s.set(!As.equals(t.editInsertEnd,t.editReplaceEnd)),n.set(Boolean(t.provider.resolveCompletionItem)||Boolean(t.completion.documentation)||t.completion.detail!==t.completion.label)}))),this._toDispose.add(t.onDetailsKeyDown((t=>{t.toKeyCodeChord().equals(new wh(!0,!1,!1,!1,33))||St&&t.toKeyCodeChord().equals(new wh(!1,!1,!1,!0,33))?t.stopPropagation():t.toKeyCodeChord().isModifierKey()||this.editor.focus()}))),t}))),this._overtypingCapturer=this._toDispose.add(new Ga(Na(t.getDomNode()),(()=>this._toDispose.add(new c6(this.editor,this.model))))),this._alternatives=this._toDispose.add(new Ga(Na(t.getDomNode()),(()=>this._toDispose.add(new Y3(this.editor,this._contextKeyService))))),this._toDispose.add(n.createInstance(Q3,t)),this._toDispose.add(this.model.onDidTrigger((t=>{this.widget.value.showTriggered(t.auto,t.shy?250:50),this._lineSuffix.value=new _6(this.editor.getModel(),t.position)}))),this._toDispose.add(this.model.onDidSuggest((t=>{if(t.triggerOptions.shy)return;let i=-1;for(const e of this._selectors.itemsOrderedByPriorityDesc)if(i=e.select(this.editor.getModel(),this.editor.getPosition(),t.completionModel.items),-1!==i)break;-1===i&&(i=0);let e=!1;if(t.triggerOptions.auto){const i=this.editor.getOption(117);"never"===i.selectionMode||"always"===i.selectionMode?e="never"===i.selectionMode:"whenTriggerCharacter"===i.selectionMode?e=1!==t.triggerOptions.triggerKind:"whenQuickSuggestion"===i.selectionMode&&(e=1===t.triggerOptions.triggerKind&&!t.triggerOptions.refilter)}this.widget.value.showSuggestions(t.completionModel,i,t.isFrozen,t.triggerOptions.auto,e)}))),this._toDispose.add(this.model.onDidCancel((t=>{t.retrigger||this.widget.value.hideWidget()}))),this._toDispose.add(this.editor.onDidBlurEditorWidget((()=>{this.model.cancel(),this.model.clear()})));const c=f3.AcceptSuggestionsOnEnter.bindTo(s),a=()=>{const t=this.editor.getOption(1);c.set("on"===t||"smart"===t)};this._toDispose.add(this.editor.onDidChangeConfiguration((()=>a()))),a()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(t,i){if(!t||!t.item)return this._alternatives.value.reset(),this.model.cancel(),void this.model.clear();if(!this.editor.hasModel())return;const e=P3.get(this.editor);if(!e)return;this._onWillInsertSuggestItem.fire({item:t.item});const s=this.editor.getModel(),n=s.getAlternativeVersionId(),{item:o}=t,r=[],h=new Se;1&i||this.editor.pushUndoStop();const c=this.getOverwriteInfo(o,Boolean(8&i));this._memoryService.memorize(s,this.editor.getPosition(),o);const a=o.isResolved;let l=-1,u=-1;if(Array.isArray(o.completion.additionalTextEdits)){this.model.cancel();const t=KV.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",o.completion.additionalTextEdits.map((t=>rO.replaceMove(Ms.lift(t.range),t.text)))),t.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!a){const t=new he;let e;const n=s.onDidChangeContent((t=>{if(t.isFlush)return h.cancel(),void n.dispose();for(const i of t.changes){const t=Ms.getEndPosition(i.range);e&&!As.isBefore(t,e)||(e=t)}})),c=i;i|=2;let a=!1;const l=this.editor.onWillType((()=>{l.dispose(),a=!0,2&c||this.editor.pushUndoStop()}));r.push(o.resolve(h.token).then((()=>{if(!o.completion.additionalTextEdits||h.token.isCancellationRequested)return;if(e&&o.completion.additionalTextEdits.some((t=>As.isBefore(e,Ms.getStartPosition(t.range)))))return!1;a&&this.editor.pushUndoStop();const t=KV.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",o.completion.additionalTextEdits.map((t=>rO.replaceMove(Ms.lift(t.range),t.text)))),t.restoreRelativeVerticalPositionOfCursor(this.editor),!a&&2&c||this.editor.pushUndoStop(),!0})).then((i=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",t.elapsed(),i),u=!0===i?1:!1===i?0:-2})).finally((()=>{n.dispose(),l.dispose()})))}let{insertText:d}=o.completion;if(4&o.completion.insertTextRules||(d=Q5.escape(d)),this.model.cancel(),e.insert(d,{overwriteBefore:c.overwriteBefore,overwriteAfter:c.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&o.completion.insertTextRules),clipboardText:t.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),2&i||this.editor.pushUndoStop(),o.completion.command)if(o.completion.command.id===P6.id)this.model.trigger({auto:!0,retrigger:!0});else{const t=new he;r.push(this._commandService.executeCommand(o.completion.command.id,...o.completion.command.arguments?[...o.completion.command.arguments]:[]).catch((t=>{o.completion.extensionId?$i(t):Pi(t)})).finally((()=>{l=t.elapsed()})))}4&i&&this._alternatives.value.set(t,(t=>{for(h.cancel();s.canUndo();){n!==s.getAlternativeVersionId()&&s.undo(),this._insertSuggestion(t,3|(8&i?8:0));break}})),this._alertCompletionItem(o),Promise.all(r).finally((()=>{this._reportSuggestionAcceptedTelemetry(o,s,a,l,u),this.model.clear(),h.dispose()}))}_reportSuggestionAcceptedTelemetry(t,i,e,s,n){var o,r,h;0!==Math.floor(100*Math.random())&&this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:null!==(r=null===(o=t.extensionId)||void 0===o?void 0:o.value)&&void 0!==r?r:"unknown",providerId:null!==(h=t.provider._debugDisplayName)&&void 0!==h?h:"unknown",kind:t.completion.kind,basenameHash:Ma(uA(i.uri)).toString(16),languageId:i.getLanguageId(),fileExtension:dA(i.uri),resolveInfo:t.provider.resolveCompletionItem?e?1:0:-1,resolveDuration:t.resolveDuration,commandDuration:s,additionalEditsAsync:n})}getOverwriteInfo(t,i){K(this.editor.hasModel());let e="replace"===this.editor.getOption(117).insertMode;i&&(e=!e);const s=(e?t.editReplaceEnd.column:t.editInsertEnd.column)-t.position.column;return{overwriteBefore:t.position.column-t.editStart.column+(this.editor.getPosition().column-t.position.column),overwriteAfter:s+(this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0)}}_alertCompletionItem(t){y(t.completion.additionalTextEdits)&&Tm(rt(0,"Accepting '{0}' made {1} additional edits",t.textLabel,t.completion.additionalTextEdits.length))}triggerSuggest(t,i,e){this.editor.hasModel()&&(this.model.trigger({auto:null!=i&&i,completionOptions:{providerFilter:t,kindFilter:e?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(t){if(!this.editor.hasModel())return;const i=this.editor.getPosition(),e=()=>{i.equals(this.editor.getPosition())&&this._commandService.executeCommand(t.fallback)},s=t=>{if(4&t.completion.insertTextRules||t.completion.additionalTextEdits)return!0;const i=this.editor.getPosition(),e=t.editStart.column,s=i.column;return s-e!==t.completion.insertText.length||this.editor.getModel().getValueInRange({startLineNumber:i.lineNumber,startColumn:e,endLineNumber:i.lineNumber,endColumn:s})!==t.completion.insertText};ce.once(this.model.onDidTrigger)((()=>{const t=[];ce.any(this.model.onDidTrigger,this.model.onDidCancel)((()=>{Ji(t),e()}),void 0,t),this.model.onDidSuggest((({completionModel:i})=>{if(Ji(t),0===i.items.length)return void e();const n=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),i.items),o=i.items[n];s(o)?(this.editor.pushUndoStop(),this._insertSuggestion({index:n,item:o,model:i},7)):e()}),void 0,t)})),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(i,0),this.editor.focus()}acceptSelectedSuggestion(t,i){const e=this.widget.value.getFocusedItem();let s=0;t&&(s|=4),i&&(s|=8),this._insertSuggestion(e,s)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(t){return this._selectors.register(t)}};N6.ID="editor.contrib.suggestController",N6=O6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([I6(1,G3),I6(2,Sr),I6(3,ah),I6(4,ur),I6(5,jh),I6(6,Wh)],N6);class B6{constructor(t){this.prioritySelector=t,this._items=new Array}register(t){if(-1!==this._items.indexOf(t))throw new Error("Value is already registered");return this._items.push(t),this._items.sort(((t,i)=>this.prioritySelector(i)-this.prioritySelector(t))),{dispose:()=>{const i=this._items.indexOf(t);i>=0&&this._items.splice(i,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class P6 extends su{constructor(){super({id:P6.id,label:rt(0,"Trigger Suggest"),alias:"Trigger Suggest",precondition:zr.and(UC.writable,UC.hasCompletionItemProvider,f3.Visible.toNegated()),kbOpts:{kbExpr:UC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(t,i,e){const s=N6.get(i);if(!s)return;let n;e&&"object"==typeof e&&!0===e.auto&&(n=!0),s.triggerSuggest(void 0,n,void 0)}}P6.id="editor.action.triggerSuggest",lu(N6.ID,N6,2),cu(P6);const $6=190,W6=eu.bindToContribution(N6.get);hu(new W6({id:"acceptSelectedSuggestion",precondition:zr.and(f3.Visible,f3.HasFocusedSuggestion),handler(t){t.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:zr.and(f3.Visible,UC.textInputFocus),weight:$6},{primary:3,kbExpr:zr.and(f3.Visible,UC.textInputFocus,f3.AcceptSuggestionsOnEnter,f3.MakesTextEdit),weight:$6}],menuOpts:[{menuId:p3,title:rt(0,"Insert"),group:"left",order:1,when:f3.HasInsertAndReplaceRange.toNegated()},{menuId:p3,title:rt(0,"Insert"),group:"left",order:1,when:zr.and(f3.HasInsertAndReplaceRange,f3.InsertMode.isEqualTo("insert"))},{menuId:p3,title:rt(0,"Replace"),group:"left",order:1,when:zr.and(f3.HasInsertAndReplaceRange,f3.InsertMode.isEqualTo("replace"))}]})),hu(new W6({id:"acceptAlternativeSelectedSuggestion",precondition:zr.and(f3.Visible,UC.textInputFocus,f3.HasFocusedSuggestion),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:1027,secondary:[1026]},handler(t){t.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:p3,group:"left",order:2,when:zr.and(f3.HasInsertAndReplaceRange,f3.InsertMode.isEqualTo("insert")),title:rt(0,"Replace")},{menuId:p3,group:"left",order:2,when:zr.and(f3.HasInsertAndReplaceRange,f3.InsertMode.isEqualTo("replace")),title:rt(0,"Insert")}]})),Dr.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),hu(new W6({id:"hideSuggestWidget",precondition:f3.Visible,handler:t=>t.cancelSuggestWidget(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:9,secondary:[1033]}})),hu(new W6({id:"selectNextSuggestion",precondition:zr.and(f3.Visible,zr.or(f3.MultipleSuggestions,f3.HasFocusedSuggestion.negate())),handler:t=>t.selectNextSuggestion(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),hu(new W6({id:"selectNextPageSuggestion",precondition:zr.and(f3.Visible,zr.or(f3.MultipleSuggestions,f3.HasFocusedSuggestion.negate())),handler:t=>t.selectNextPageSuggestion(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:12,secondary:[2060]}})),hu(new W6({id:"selectLastSuggestion",precondition:zr.and(f3.Visible,zr.or(f3.MultipleSuggestions,f3.HasFocusedSuggestion.negate())),handler:t=>t.selectLastSuggestion()})),hu(new W6({id:"selectPrevSuggestion",precondition:zr.and(f3.Visible,zr.or(f3.MultipleSuggestions,f3.HasFocusedSuggestion.negate())),handler:t=>t.selectPrevSuggestion(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),hu(new W6({id:"selectPrevPageSuggestion",precondition:zr.and(f3.Visible,zr.or(f3.MultipleSuggestions,f3.HasFocusedSuggestion.negate())),handler:t=>t.selectPrevPageSuggestion(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:11,secondary:[2059]}})),hu(new W6({id:"selectFirstSuggestion",precondition:zr.and(f3.Visible,zr.or(f3.MultipleSuggestions,f3.HasFocusedSuggestion.negate())),handler:t=>t.selectFirstSuggestion()})),hu(new W6({id:"focusSuggestion",precondition:zr.and(f3.Visible,f3.HasFocusedSuggestion.negate()),handler:t=>t.focusSuggestion(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}})),hu(new W6({id:"focusAndAcceptSuggestion",precondition:zr.and(f3.Visible,f3.HasFocusedSuggestion.negate()),handler:t=>{t.focusSuggestion(),t.acceptSelectedSuggestion(!0,!1)}})),hu(new W6({id:"toggleSuggestionDetails",precondition:zr.and(f3.Visible,f3.HasFocusedSuggestion),handler:t=>t.toggleSuggestionDetails(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:p3,group:"right",order:1,when:zr.and(f3.DetailsVisible,f3.CanResolve),title:rt(0,"show less")},{menuId:p3,group:"right",order:1,when:zr.and(f3.DetailsVisible.toNegated(),f3.CanResolve),title:rt(0,"show more")}]})),hu(new W6({id:"toggleExplainMode",precondition:f3.Visible,handler:t=>t.toggleExplainMode(),kbOpts:{weight:100,primary:2138}})),hu(new W6({id:"toggleSuggestionFocus",precondition:f3.Visible,handler:t=>t.toggleSuggestionFocus(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:2570,mac:{primary:778}}})),hu(new W6({id:"insertBestCompletion",precondition:zr.and(UC.textInputFocus,zr.equals("config.editor.tabCompletion","on"),Q3.AtEnd,f3.Visible.toNegated(),Y3.OtherSuggestions.toNegated(),P3.InSnippetMode.toNegated()),handler:(t,i)=>{t.triggerSuggestAndAcceptBest($(i)?{fallback:"tab",...i}:{fallback:"tab"})},kbOpts:{weight:$6,primary:2}})),hu(new W6({id:"insertNextSuggestion",precondition:zr.and(UC.textInputFocus,zr.equals("config.editor.tabCompletion","on"),Y3.OtherSuggestions,f3.Visible.toNegated(),P3.InSnippetMode.toNegated()),handler:t=>t.acceptNextSuggestion(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:2}})),hu(new W6({id:"insertPrevSuggestion",precondition:zr.and(UC.textInputFocus,zr.equals("config.editor.tabCompletion","on"),Y3.OtherSuggestions,f3.Visible.toNegated(),P3.InSnippetMode.toNegated()),handler:t=>t.acceptPrevSuggestion(),kbOpts:{weight:$6,kbExpr:UC.textInputFocus,primary:1026}})),cu(class extends su{constructor(){super({id:"editor.action.resetSuggestSize",label:rt(0,"Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(t,i){var e;null===(e=N6.get(i))||void 0===e||e.resetWidgetSize()}});class j6 extends ie{get selectedItem(){return this._selectedItem}constructor(t,i,e,s){super(),this.editor=t,this.suggestControllerPreselector=i,this.checkModelVersion=e,this.onWillAccept=s,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._selectedItem=xV(this,void 0),this._register(t.onKeyDown((t=>{t.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))}))),this._register(t.onKeyUp((t=>{t.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))})));const n=N6.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(t,i,e)=>{var s;dV((t=>this.checkModelVersion(t)));const o=this.editor.getModel();if(!o)return-1;const r=null===(s=this.suggestControllerPreselector())||void 0===s?void 0:s.removeCommonPrefix(o);if(!r)return-1;const h=As.lift(i),c=np(e.map(((t,i)=>{const e=z6.fromSuggestion(n,o,h,t,this.isShiftKeyPressed).toSingleTextEdit().removeCommonPrefix(o);return{index:i,valid:r.augments(e),prefixLength:e.text.length,suggestItem:t}})).filter((t=>t&&t.valid&&t.prefixLength>0)),R((t=>t.prefixLength),O));return c?c.index:-1}}));let t=!1;const i=()=>{t||(t=!0,this._register(n.widget.value.onDidShow((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))),this._register(n.widget.value.onDidHide((()=>{this.isSuggestWidgetVisible=!1,this.update(!1)}))),this._register(n.widget.value.onDidFocus((()=>{this.isSuggestWidgetVisible=!0,this.update(!0)}))))};this._register(ce.once(n.model.onDidTrigger)((()=>{i()}))),this._register(n.onWillInsertSuggestItem((t=>{const i=this.editor.getPosition(),e=this.editor.getModel();if(!i||!e)return;const s=z6.fromSuggestion(n,e,i,t.item,this.isShiftKeyPressed);this.onWillAccept(s)})))}this.update(this._isActive)}update(t){const i=this.getSuggestItemInfo();var e,s;this._isActive===t&&((e=this._currentSuggestItemInfo)===(s=i)||e&&s&&e.equals(s))||(this._isActive=t,this._currentSuggestItemInfo=i,dV((t=>{this.checkModelVersion(t),this._selectedItem.set(this._isActive?this._currentSuggestItemInfo:void 0,t)})))}getSuggestItemInfo(){const t=N6.get(this.editor);if(!t||!this.isSuggestWidgetVisible)return;const i=t.widget.value.getFocusedItem(),e=this.editor.getPosition(),s=this.editor.getModel();return i&&e&&s?z6.fromSuggestion(t,s,e,i.item,this.isShiftKeyPressed):void 0}stopForceRenderingAbove(){const t=N6.get(this.editor);null==t||t.stopForceRenderingAbove()}forceRenderingAbove(){const t=N6.get(this.editor);null==t||t.forceRenderingAbove()}}class z6{static fromSuggestion(t,i,e,s,n){let{insertText:o}=s.completion,r=!1;if(4&s.completion.insertTextRules){const t=(new Q5).parse(o);t.children.length<100&&I3.adjustWhitespace(i,e,!0,t),o=t.toString(),r=!0}const h=t.getOverwriteInfo(s,n);return new z6(Ms.fromPositions(e.delta(0,-h.overwriteBefore),e.delta(0,Math.max(h.overwriteAfter,0))),o,s.completion.kind,r)}constructor(t,i,e,s){this.range=t,this.insertText=i,this.completionItemKind=e,this.isSnippetText=s}equals(t){return this.range.equalsRange(t.range)&&this.insertText===t.insertText&&this.completionItemKind===t.completionItemKind&&this.isSnippetText===t.isSnippetText}toSelectedSuggestionInfo(){return new zs(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new e3(this.range,this.insertText)}}var H6,V6=function(t,i){return function(e,s){i(e,s,t)}};let U6=H6=class extends ie{static get(t){return t.getContribution(H6.ID)}constructor(t,i,e,s,n,o,r,h,c){super(),this.editor=t,this._instantiationService=i,this._contextKeyService=e,this._configurationService=s,this._commandService=n,this._debounceService=o,this._languageFeaturesService=r,this._audioCueService=h,this._keybindingService=c,this.model=SV("inlineCompletionModel",void 0),this._textModelVersionId=xV(this,-1),this._cursorPosition=xV(this,new As(1,1)),this._suggestWidgetAdaptor=this._register(new j6(this.editor,(()=>{var t,i;return null===(i=null===(t=this.model.get())||void 0===t?void 0:t.selectedInlineCompletion.get())||void 0===i?void 0:i.toSingleTextEdit(void 0)}),(t=>this.updateObservables(t,W3.Other)),(t=>{dV((i=>{var e;this.updateObservables(i,W3.Other),null===(e=this.model.get())||void 0===e||e.handleSuggestAccepted(t)}))}))),this._enabled=$V(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(62).enabled)),this._ghostTextWidget=this._register(this._instantiationService.createInstance(_5,this.editor,{ghostText:this.model.map(((t,i)=>null==t?void 0:t.ghostText.read(i))),minReservedLineCount:BV(0),targetTextModel:this.model.map((t=>null==t?void 0:t.textModel))})),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this._playAudioCueSignal=HV(this),this._isReadonly=$V(this.editor.onDidChangeConfiguration,(()=>this.editor.getOption(90))),this._textModel=$V(this.editor.onDidChangeModel,(()=>this.editor.getModel())),this._textModelIfWritable=AV((t=>this._isReadonly.read(t)?void 0:this._textModel.read(t))),this._register(new S5(this._contextKeyService,this.model)),this._register(RV((e=>{const s=this._textModelIfWritable.read(e);dV((e=>{if(this.model.set(void 0,e),this.updateObservables(e,W3.Other),s){const n=i.createInstance(z3,s,this._suggestWidgetAdaptor.selectedItem,this._cursorPosition,this._textModelVersionId,this._debounceValue,$V(t.onDidChangeConfiguration,(()=>t.getOption(117).preview)),$V(t.onDidChangeConfiguration,(()=>t.getOption(117).previewMode)),$V(t.onDidChangeConfiguration,(()=>t.getOption(62).mode)),this._enabled);this.model.set(n,e)}}))})));const a=t=>{var i;return t.isUndoing?W3.Undo:t.isRedoing?W3.Redo:(null===(i=this.model.get())||void 0===i?void 0:i.isAcceptingPartially)?W3.AcceptWord:W3.Other};let l;this._register(t.onDidChangeModelContent((t=>dV((i=>this.updateObservables(i,a(t))))))),this._register(t.onDidChangeCursorPosition((t=>dV((i=>{var e;this.updateObservables(i,W3.Other),3!==t.reason&&"api"!==t.source||null===(e=this.model.get())||void 0===e||e.stop(i)}))))),this._register(t.onDidType((()=>dV((t=>{var i;this.updateObservables(t,W3.Other),this._enabled.get()&&(null===(i=this.model.get())||void 0===i||i.trigger(t))}))))),this._register(this._commandService.onDidExecuteCommand((i=>{new Set([tS.Tab.id,tS.DeleteLeft.id,tS.DeleteRight.id,b0,"acceptSelectedSuggestion"]).has(i.commandId)&&t.hasTextFocus()&&this._enabled.get()&&dV((t=>{var i;null===(i=this.model.get())||void 0===i||i.trigger(t)}))}))),this._register(this.editor.onDidBlurEditorWidget((()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||t.getOption(62).keepOnBlur||M0.dropDownVisible||dV((t=>{var i;null===(i=this.model.get())||void 0===i||i.stop(t)}))}))),this._register(RV((t=>{var i;const e=null===(i=this.model.read(t))||void 0===i?void 0:i.state.read(t);(null==e?void 0:e.suggestItem)?e.ghostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register(Xi((()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}))),this._register(IV({handleChange:t=>(t.didChange(this._playAudioCueSignal)&&(l=void 0),!0)},(async t=>{this._playAudioCueSignal.read(t);const i=this.model.read(t),e=null==i?void 0:i.state.read(t);if(i&&e&&e.inlineCompletion){if(e.inlineCompletion.semanticId!==l){l=e.inlineCompletion.semanticId;const t=i.textModel.getLineContent(e.ghostText.lineNumber);this._audioCueService.playAudioCue(BH.inlineSuggestion).then((()=>{this.editor.getOption(8)&&this.provideScreenReaderUpdate(e.ghostText.renderForScreenReader(t))}))}}else l=void 0}))),this._register(new D0(this.editor,this.model,this._instantiationService)),this._register(this._configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}))),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAudioCue(t){this._playAudioCueSignal.trigger(t)}provideScreenReaderUpdate(t){const i=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),e=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let s;!i&&e&&this.editor.getOption(147)&&(s=rt(0,"Inspect this in the accessible view ({0})",e.getAriaLabel())),Tm(s?t+", "+s:t)}updateObservables(t,i){var e,s;const n=this.editor.getModel();this._textModelVersionId.set(null!==(e=null==n?void 0:n.getVersionId())&&void 0!==e?e:-1,t,i),this._cursorPosition.set(null!==(s=this.editor.getPosition())&&void 0!==s?s:new As(1,1),t)}shouldShowHoverAt(t){var i;const e=null===(i=this.model.get())||void 0===i?void 0:i.ghostText.get();return!!e&&e.parts.some((i=>t.containsPosition(new As(e.lineNumber,i.column))))}shouldShowHoverAtViewZone(t){return this._ghostTextWidget.ownsViewZone(t)}};U6.ID="editor.contrib.inlineCompletionsController",U6=H6=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([V6(1,ur),V6(2,ah),V6(3,pd),V6(4,Sr),V6(5,hR),V6(6,gg),V6(7,IH),V6(8,Yx)],U6);class q6 extends su{constructor(){super({id:q6.ID,label:rt(0,"Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:zr.and(UC.writable,S5.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(t,i){var e;const s=U6.get(i);null===(e=null==s?void 0:s.model.get())||void 0===e||e.next()}}q6.ID=k0;class K6 extends su{constructor(){super({id:K6.ID,label:rt(0,"Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:zr.and(UC.writable,S5.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(t,i){var e;const s=U6.get(i);null===(e=null==s?void 0:s.model.get())||void 0===e||e.previous()}}K6.ID=y0;class G6 extends su{constructor(){super({id:G6.ID,label:rt(0,"Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:S5.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(t,i){const e=U6.get(i);dV((t=>{var i;null===(i=null==e?void 0:e.model.get())||void 0===i||i.stop(t)}))}}G6.ID="editor.action.inlineSuggest.hide";class Z6 extends Ph{constructor(){super({id:Z6.ID,title:rt(0,"Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:Rh.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:zr.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(t,i){const e=t.get(pd),s=e.getValue("editor.inlineSuggest.showToolbar");e.updateValue("editor.inlineSuggest.showToolbar","always"===s?"onHover":"always")}}Z6.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";var Q6=function(t,i){return function(e,s){i(e,s,t)}};class J6{constructor(t,i,e){this.owner=t,this.range=i,this.controller=e}isValidForHoverAnchor(t){return 1===t.type&&this.range.startColumn<=t.range.startColumn&&this.range.endColumn>=t.range.endColumn}}let Y6=class{constructor(t,i,e,s,n,o){this._editor=t,this._languageService=i,this._openerService=e,this.accessibilityService=s,this._instantiationService=n,this._telemetryService=o,this.hoverOrdinal=4}suggestHoverAnchor(t){const i=U6.get(this._editor);if(!i)return null;const e=t.target;if(8===e.type){const s=e.detail;if(i.shouldShowHoverAtViewZone(s.viewZoneId))return new fX(1e3,this,Ms.fromPositions(this._editor.getModel().validatePosition(s.positionBefore||s.position)),t.event.posx,t.event.posy,!1)}return 7===e.type&&i.shouldShowHoverAt(e.range)||6===e.type&&e.detail.mightBeForeignElement&&i.shouldShowHoverAt(e.range)?new fX(1e3,this,e.range,t.event.posx,t.event.posy,!1):null}computeSync(t,i){if("onHover"!==this._editor.getOption(62).showToolbar)return[];const e=U6.get(this._editor);return e&&e.shouldShowHoverAt(t.range)?[new J6(this,t.range,e)]:[]}renderHoverParts(t,i){const e=new te,s=i[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&this.renderScreenReaderText(t,s,e);const n=s.controller.model.get(),o=this._instantiationService.createInstance(M0,this._editor,!1,BV(null),n.selectedInlineCompletionIndex,n.inlineCompletionsCount,n.selectedInlineCompletion.map((t=>{var i;return null!==(i=null==t?void 0:t.inlineCompletion.source.inlineCompletions.commands)&&void 0!==i?i:[]})));return t.fragment.appendChild(o.getDomNode()),n.triggerExplicitly(),e.add(o),e}renderScreenReaderText(t,i,e){const s=$l,n=s("div.hover-row.markdown-hover"),o=Ol(n,s("div.hover-contents",{"aria-live":"assertive"})),r=e.add(new eQ({editor:this._editor},this._languageService,this._openerService));e.add(RV((s=>{var n;const h=null===(n=i.controller.model.read(s))||void 0===n?void 0:n.ghostText.read(s);if(h){const i=this._editor.getModel().getLineContent(h.lineNumber);(i=>{e.add(r.onDidRenderAsync((()=>{o.className="hover-contents code-hover-contents",t.onContentsChanged()})));const s=rt(0,"Suggestion:"),n=e.add(r.render((new M_).appendText(s).appendCodeblock("text",i)));o.replaceChildren(n.element)})(h.renderForScreenReader(i))}else _l(o)}))),t.fragment.appendChild(n)}};function X6(t,i){let e=0;for(let s=0;s=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Q6(1,yd),Q6(2,nP),Q6(3,zm),Q6(4,ur),Q6(5,Wh)],Y6),lu(U6.ID,U6,3),cu(class extends su{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:rt(0,"Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:UC.writable})}async run(t,i){const e=U6.get(i);await async function(t){const i=new gV(t,void 0);try{await t(i)}finally{i.finish()}}((async t=>{var i;await(null===(i=null==e?void 0:e.model.get())||void 0===i?void 0:i.triggerExplicitly(t)),null==e||e.playAudioCue(t)}))}}),cu(q6),cu(K6),cu(class extends su{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:rt(0,"Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:zr.and(UC.writable,S5.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:zr.and(UC.writable,S5.inlineSuggestionVisible)},menuOpts:[{menuId:Rh.InlineSuggestionToolbar,title:rt(0,"Accept Word"),group:"primary",order:2}]})}async run(t,i){var e;const s=U6.get(i);await(null===(e=null==s?void 0:s.model.get())||void 0===e?void 0:e.acceptNextWord(s.editor))}}),cu(class extends su{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:rt(0,"Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:zr.and(UC.writable,S5.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:Rh.InlineSuggestionToolbar,title:rt(0,"Accept Line"),group:"secondary",order:2}]})}async run(t,i){var e;const s=U6.get(i);await(null===(e=null==s?void 0:s.model.get())||void 0===e?void 0:e.acceptNextLine(s.editor))}}),cu(class extends su{constructor(){super({id:b0,label:rt(0,"Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:S5.inlineSuggestionVisible,menuOpts:[{menuId:Rh.InlineSuggestionToolbar,title:rt(0,"Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:zr.and(S5.inlineSuggestionVisible,UC.tabMovesFocus.toNegated(),S5.inlineSuggestionHasIndentationLessThanTabSize,f3.Visible.toNegated(),UC.hoverFocused.toNegated())}})}async run(t,i){var e;const s=U6.get(i);s&&(null===(e=s.model.get())||void 0===e||e.accept(s.editor),s.editor.focus())}}),cu(G6),$h(Z6),pX.register(Y6);function i9(t,i,e,s,n){if(1===t.getLineCount()&&1===t.getLineMaxColumn(1))return[];const o=i.getLanguageConfiguration(t.getLanguageId()).indentationRules;if(!o)return[];for(s=Math.min(s,t.getLineCount());e<=s&&o.unIndentedLinePattern;){const i=t.getLineContent(e);if(!o.unIndentedLinePattern.test(i))break;e++}if(e>s-1)return[];const{tabSize:r,indentSize:h,insertSpaces:c}=t.getOptions(),a=(t,i)=>RC.shiftIndent(t,t.length+(i=i||1),r,h,c),l=(t,i)=>RC.unshiftIndent(t,t.length+(i=i||1),r,h,c),u=[];let d;const f=t.getLineContent(e);let p=f;if(null!=n){d=n;const t=io(f);p=d+f.substring(t.length),o.decreaseIndentPattern&&o.decreaseIndentPattern.test(p)&&(d=l(d),p=d+f.substring(t.length)),f!==p&&u.push(rO.replaceMove(new Ls(e,1,e,t.length+1),sC(d,h,c)))}else d=io(f);let g=d;o.increaseIndentPattern&&o.increaseIndentPattern.test(p)?(g=a(g),d=a(d)):o.indentNextLinePattern&&o.indentNextLinePattern.test(p)&&(g=a(g));for(let i=++e;i<=s;i++){const e=t.getLineContent(i),s=io(e),n=g+e.substring(s.length);o.decreaseIndentPattern&&o.decreaseIndentPattern.test(n)&&(g=l(g),d=l(d)),s!==g&&u.push(rO.replaceMove(new Ls(i,1,i,s.length+1),sC(g,h,c))),o.unIndentedLinePattern&&o.unIndentedLinePattern.test(e)||(o.increaseIndentPattern&&o.increaseIndentPattern.test(n)?(d=a(d),g=d):g=o.indentNextLinePattern&&o.indentNextLinePattern.test(n)?a(g):d)}return u}class e9 extends su{constructor(){super({id:e9.ID,label:rt(0,"Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:UC.writable})}run(t,i){const e=i.getModel();if(!e)return;const s=e.getOptions(),n=i.getSelection();if(!n)return;const o=new d9(n,s.tabSize);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop(),e.updateOptions({insertSpaces:!0})}}e9.ID="editor.action.indentationToSpaces";class s9 extends su{constructor(){super({id:s9.ID,label:rt(0,"Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:UC.writable})}run(t,i){const e=i.getModel();if(!e)return;const s=e.getOptions(),n=i.getSelection();if(!n)return;const o=new f9(n,s.tabSize);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop(),e.updateOptions({insertSpaces:!1})}}s9.ID="editor.action.indentationToTabs";class n9 extends su{constructor(t,i,e){super(e),this.insertSpaces=t,this.displaySizeOnly=i}run(t,i){const e=t.get(Dj),s=t.get(pr),n=i.getModel();if(!n)return;const o=s.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget),r=n.getOptions(),h=[1,2,3,4,5,6,7,8].map((t=>({id:t.toString(),label:t.toString(),description:t===o.tabSize&&t===r.tabSize?rt(0,"Configured Tab Size"):t===o.tabSize?rt(0,"Default Tab Size"):t===r.tabSize?rt(0,"Current Tab Size"):void 0}))),c=Math.min(n.getOptions().tabSize-1,7);setTimeout((()=>{e.pick(h,{placeHolder:rt(0,"Select Tab Size for Current File"),activeItem:h[c]}).then((t=>{if(t&&n&&!n.isDisposed()){const i=parseInt(t.label,10);n.updateOptions(this.displaySizeOnly?{tabSize:i}:{tabSize:i,indentSize:i,insertSpaces:this.insertSpaces})}}))}),50)}}class o9 extends n9{constructor(){super(!1,!1,{id:o9.ID,label:rt(0,"Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}}o9.ID="editor.action.indentUsingTabs";class r9 extends n9{constructor(){super(!0,!1,{id:r9.ID,label:rt(0,"Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}}r9.ID="editor.action.indentUsingSpaces";class h9 extends n9{constructor(){super(!0,!0,{id:h9.ID,label:rt(0,"Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0})}}h9.ID="editor.action.changeTabDisplaySize";class c9 extends su{constructor(){super({id:c9.ID,label:rt(0,"Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(t,i){const e=t.get(pr),s=i.getModel();if(!s)return;const n=e.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget);s.detectIndentation(n.insertSpaces,n.tabSize)}}c9.ID="editor.action.detectIndentation";class a9{constructor(t,i){this._initialSelection=i,this._edits=[],this._selectionId=null;for(const i of t)i.range&&"string"==typeof i.text&&this._edits.push(i)}getEditOperations(t,i){for(const t of this._edits)i.addEditOperation(Ms.lift(t.range),t.text);let e=!1;Array.isArray(this._edits)&&1===this._edits.length&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(e=!0,this._selectionId=i.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(e=!0,this._selectionId=i.trackSelection(this._initialSelection,!1))),e||(this._selectionId=i.trackSelection(this._initialSelection))}computeCursorState(t,i){return i.getTrackedSelection(this._selectionId)}}let l9=class{constructor(t,i){this.editor=t,this._languageConfigurationService=i,this.callOnDispose=new te,this.callOnModel=new te,this.callOnDispose.add(t.onDidChangeConfiguration((()=>this.update()))),this.callOnDispose.add(t.onDidChangeModel((()=>this.update()))),this.callOnDispose.add(t.onDidChangeModelLanguage((()=>this.update())))}update(){this.callOnModel.clear(),this.editor.getOption(12)<4||this.editor.getOption(55)||this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste((({range:t})=>{this.trigger(t)})))}trigger(t){const i=this.editor.getSelections();if(null===i||i.length>1)return;const e=this.editor.getModel();if(!e)return;if(!e.tokenization.isCheapToTokenize(t.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:n,indentSize:o,insertSpaces:r}=e.getOptions(),h=[],c={shiftIndent:t=>RC.shiftIndent(t,t.length+1,n,o,r),unshiftIndent:t=>RC.unshiftIndent(t,t.length+1,n,o,r)};let a=t.startLineNumber;for(;a<=t.endLineNumber&&this.shouldIgnoreLine(e,a);)a++;if(a>t.endLineNumber)return;let l=e.getLineContent(a);if(!/\S/.test(l.substring(0,t.startColumn-1))){const t=NC(s,e,e.getLanguageId(),a,c,this._languageConfigurationService);if(null!==t){const i=io(l),s=X6(t,n);if(s!==X6(i,n)){const t=t9(s,n,r);h.push({range:new Ms(a,1,a,i.length+1),text:t}),l=t+l.substr(i.length)}else{const t=BC(e,a,this._languageConfigurationService);if(0===t||8===t)return}}}const u=a;for(;ae.tokenization.getLineTokens(t),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,i)=>e.getLanguageIdAtPosition(t,i)},getLineContent:t=>t===u?l:e.getLineContent(t)},e.getLanguageId(),a+1,c,this._languageConfigurationService);if(null!==i){const s=X6(i,n),o=X6(io(e.getLineContent(a+1)),n);if(s!==o){const i=s-o;for(let s=a+1;s<=t.endLineNumber;s++){const t=io(e.getLineContent(s)),o=t9(X6(t,n)+i,n,r);o!==t&&h.push({range:new Ms(s,1,s,t.length+1),text:o})}}}}if(h.length>0){this.editor.pushUndoStop();const t=new a9(h,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",t),this.editor.pushUndoStop()}}shouldIgnoreLine(t,i){t.tokenization.forceTokenization(i);const e=t.getLineFirstNonWhitespaceColumn(i);if(0===e)return!0;const s=t.tokenization.getLineTokens(i);if(s.getCount()>0){const t=s.findTokenIndexAtOffset(e);if(t>=0&&1===s.getStandardTokenType(t))return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};function u9(t,i,e,s){if(1===t.getLineCount()&&1===t.getLineMaxColumn(1))return;let n="";for(let t=0;t=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,qd)],l9);class d9{constructor(t,i){this.selection=t,this.tabSize=i,this.selectionId=null}getEditOperations(t,i){this.selectionId=i.trackSelection(this.selection),u9(t,i,this.tabSize,!0)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}}class f9{constructor(t,i){this.selection=t,this.tabSize=i,this.selectionId=null}getEditOperations(t,i){this.selectionId=i.trackSelection(this.selection),u9(t,i,this.tabSize,!1)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}}lu(l9.ID,l9,2),cu(e9),cu(s9),cu(o9),cu(r9),cu(h9),cu(c9),cu(class extends su{constructor(){super({id:"editor.action.reindentlines",label:rt(0,"Reindent Lines"),alias:"Reindent Lines",precondition:UC.writable})}run(t,i){const e=t.get(qd),s=i.getModel();if(!s)return;const n=i9(s,e,1,s.getLineCount());n.length>0&&(i.pushUndoStop(),i.executeEdits(this.id,n),i.pushUndoStop())}}),cu(class extends su{constructor(){super({id:"editor.action.reindentselectedlines",label:rt(0,"Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:UC.writable})}run(t,i){const e=t.get(qd),s=i.getModel();if(!s)return;const n=i.getSelections();if(null===n)return;const o=[];for(const t of n){let i=t.startLineNumber,n=t.endLineNumber;if(i!==n&&1===t.endColumn&&n--,1===i){if(i===n)continue}else i--;const r=i9(s,e,i,n);o.push(...r)}o.length>0&&(i.pushUndoStop(),i.executeEdits(this.id,o),i.pushUndoStop())}});class p9{constructor(t,i){this.range=t,this.direction=i}}class g9{constructor(t,i,e){this.hint=t,this.anchor=i,this.provider=e,this._isResolved=!1}with(t){const i=new g9(this.hint,t.anchor,this.provider);return i._isResolved=this._isResolved,i._currentResolve=this._currentResolve,i}async resolve(t){if("function"==typeof this.provider.resolveInlayHint){if(this._currentResolve){if(await this._currentResolve,t.isCancellationRequested)return;return this.resolve(t)}this._isResolved||(this._currentResolve=this._doResolve(t).finally((()=>this._currentResolve=void 0))),await this._currentResolve}}async _doResolve(t){var i,e;try{const s=await Promise.resolve(this.provider.resolveInlayHint(this.hint,t));this.hint.tooltip=null!==(i=null==s?void 0:s.tooltip)&&void 0!==i?i:this.hint.tooltip,this.hint.label=null!==(e=null==s?void 0:s.label)&&void 0!==e?e:this.hint.label,this._isResolved=!0}catch(t){$i(t),this._isResolved=!1}}}class m9{static async create(t,i,e,s){const n=[],o=t.ordered(i).reverse().map((t=>e.map((async e=>{try{const o=await t.provideInlayHints(i,e,s);(null==o?void 0:o.hints.length)&&n.push([o,t])}catch(t){$i(t)}}))));if(await Promise.all(o.flat()),s.isCancellationRequested||i.isDisposed())throw new Hi;return new m9(e,n,i)}constructor(t,i,e){this._disposables=new te,this.ranges=t,this.provider=new Set;const s=[];for(const[t,n]of i){this._disposables.add(t),this.provider.add(n);for(const i of t.hints){const t=e.validatePosition(i.position);let o="before";const r=m9._getRangeAtPosition(e,t);let h;r.getStartPosition().isBefore(t)?(h=Ms.fromPositions(r.getStartPosition(),t),o="after"):(h=Ms.fromPositions(t,r.getEndPosition()),o="before"),s.push(new g9(i,new p9(h,o),n))}}this.items=s.sort(((t,i)=>As.compare(t.hint.position,i.hint.position)))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(t,i){const e=i.lineNumber,s=t.getWordAtPosition(i);if(s)return new Ms(e,s.startColumn,e,s.endColumn);t.tokenization.tokenizeIfCheap(e);const n=t.tokenization.getLineTokens(e),o=i.column-1,r=n.findTokenIndexAtOffset(o);let h=n.getStartOffset(r),c=n.getEndOffset(r);return c-h==1&&(h===o&&r>1?(h=n.getStartOffset(r-1),c=n.getEndOffset(r-1)):c===o&&rTh(t)?t.command.id:e1())));for(const t of JY.all())d.has(t.desc.id)&&u.push(new mr(t.desc.id,Bh.label(t.desc,{renderShortTitle:!0}),void 0,!0,(async()=>{const e=await o.createModelReference(l.uri);try{const n=new QY(e.object.textEditorModel,Ms.getStartPosition(l.range)),o=s.item.anchor.range;await c.invokeFunction(t.runEditorCommand.bind(t),i,n,o)}finally{e.dispose()}})));if(s.part.command){const{command:t}=s.part;u.push(new vr),u.push(new mr(t.id,t.title,void 0,!0,(async()=>{var i;try{await h.executeCommand(t.id,...null!==(i=t.arguments)&&void 0!==i?i:[])}catch(t){a.notify({severity:QF.Error,source:s.item.provider.displayName,message:t})}})))}const f=i.getOption(126);r.showContextMenu({domForShadowRoot:f&&null!==(n=i.getDomNode())&&void 0!==n?n:void 0,getAnchor:()=>{const t=nl(e);return{x:t.left,y:t.top+t.height+8}},getActions:()=>u,onHide:()=>{i.focus()},autoSelectFirstItem:!0})}async function v9(t,i,e,s){const n=t.get(gr),o=await n.createModelReference(s.uri);await e.invokeWithinContext((async t=>{const n=i.hasSideBySideModifier,r=t.get(ah),h=KJ.inPeekEditor.getValue(r),c=!n&&e.getOption(87)&&!h;return new YY({openToSide:n,openInPeek:c,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(t,new QY(o.object.textEditorModel,Ms.getStartPosition(s.range)),Ms.lift(s.range))})),o.dispose()}var b9,y9=function(t,i){return function(e,s){i(e,s,t)}};class k9{constructor(){this._entries=new Bp(50)}get(t){const i=k9._key(t);return this._entries.get(i)}set(t,i){const e=k9._key(t);this._entries.set(e,i)}static _key(t){return`${t.uri.toString()}/${t.getVersionId()}`}}const x9=dr("IInlayHintsCache");Cd(x9,k9,1);class C9{constructor(t,i){this.item=t,this.index=i}get part(){const t=this.item.hint.label;return"string"==typeof t?{label:t}:t[this.index]}}class S9{constructor(t,i){this.part=t,this.hasTriggerModifier=i}}let D9=b9=class{static get(t){var i;return null!==(i=t.getContribution(b9.ID))&&void 0!==i?i:void 0}constructor(t,i,e,s,n,o,r){this._editor=t,this._languageFeaturesService=i,this._inlayHintsCache=s,this._commandService=n,this._notificationService=o,this._instaService=r,this._disposables=new te,this._sessionDisposables=new te,this._decorationsMetadata=new Map,this._ruleFactory=new yy(this._editor),this._activeRenderMode=0,this._debounceInfo=e.for(i.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(i.inlayHintsProvider.onDidChange((()=>this._update()))),this._disposables.add(t.onDidChangeModel((()=>this._update()))),this._disposables.add(t.onDidChangeModelLanguage((()=>this._update()))),this._disposables.add(t.onDidChangeConfiguration((t=>{t.hasChanged(139)&&this._update()}))),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const t=this._editor.getOption(139);if("off"===t.enabled)return;const i=this._editor.getModel();if(!i||!this._languageFeaturesService.inlayHintsProvider.has(i))return;const e=this._inlayHintsCache.get(i);let s;e&&this._updateHintsDecorators([i.getFullModelRange()],e),this._sessionDisposables.add(Xi((()=>{i.isDisposed()||this._cacheHintsForFastRestore(i)})));const n=new Set,o=new pc((async()=>{const t=Date.now();null==s||s.dispose(!0),s=new Se;const e=i.onWillDispose((()=>null==s?void 0:s.cancel()));try{const e=s.token,r=await m9.create(this._languageFeaturesService.inlayHintsProvider,i,this._getHintsRanges(),e);if(o.delay=this._debounceInfo.update(i,Date.now()-t),e.isCancellationRequested)return void r.dispose();for(const t of r.provider)"function"!=typeof t.onDidChangeInlayHints||n.has(t)||(n.add(t),this._sessionDisposables.add(t.onDidChangeInlayHints((()=>{o.isScheduled()||o.schedule()}))));this._sessionDisposables.add(r),this._updateHintsDecorators(r.ranges,r.items),this._cacheHintsForFastRestore(i)}catch(t){Pi(t)}finally{s.dispose(),e.dispose()}}),this._debounceInfo.get(i));if(this._sessionDisposables.add(o),this._sessionDisposables.add(Xi((()=>null==s?void 0:s.dispose(!0)))),o.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange((t=>{!t.scrollTopChanged&&o.isScheduled()||o.schedule()}))),this._sessionDisposables.add(this._editor.onDidChangeModelContent((()=>{const t=Math.max(o.delay,1250);o.schedule(t)}))),"on"===t.enabled)this._activeRenderMode=0;else{let i,e;"onUnlessPressed"===t.enabled?(i=0,e=1):(i=1,e=0),this._activeRenderMode=i,this._sessionDisposables.add(Gl.getInstance().event((t=>{if(!this._editor.hasModel())return;const s=t.altKey&&t.ctrlKey&&!t.shiftKey&&!t.metaKey?e:i;if(s!==this._activeRenderMode){this._activeRenderMode=s;const t=this._editor.getModel(),i=this._copyInlayHintsWithCurrentAnchor(t);this._updateHintsDecorators([t.getFullModelRange()],i),o.schedule(0)}})))}this._sessionDisposables.add(this._installDblClickGesture((()=>o.schedule(0)))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const t=new te,i=t.add(new _J(this._editor)),e=new te;return t.add(e),t.add(i.onMouseMoveOrRelevantKeyDown((t=>{const[i]=t,s=this._getInlayHintLabelPart(i),n=this._editor.getModel();if(!s||!n)return void e.clear();const o=new Se;e.add(Xi((()=>o.dispose(!0)))),s.item.resolve(o.token),this._activeInlayHintPart=s.part.command||s.part.location?new S9(s,i.hasTriggerModifier):void 0;const r=n.validatePosition(s.item.hint.position).lineNumber,h=new Ms(r,1,r,n.getLineMaxColumn(r)),c=this._getInlineHintsForRange(h);this._updateHintsDecorators([h],c),e.add(Xi((()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([h],c)})))}))),t.add(i.onCancel((()=>e.clear()))),t.add(i.onExecute((async t=>{const i=this._getInlayHintLabelPart(t);if(i){const e=i.part;e.location?this._instaService.invokeFunction(v9,t,this._editor,e.location):Us.is(e.command)&&await this._invokeCommand(e.command,i.item)}}))),t}_getInlineHintsForRange(t){const i=new Set;for(const e of this._decorationsMetadata.values())t.containsRange(e.item.anchor.range)&&i.add(e.item);return Array.from(i)}_installDblClickGesture(t){return this._editor.onMouseUp((async i=>{if(2!==i.event.detail)return;const e=this._getInlayHintLabelPart(i);if(e&&(i.event.preventDefault(),await e.item.resolve(xe.None),y(e.item.hint.textEdits))){const i=e.item.hint.textEdits.map((t=>rO.replace(Ms.lift(t.range),t.text)));this._editor.executeEdits("inlayHint.default",i),t()}}))}_installContextMenu(){return this._editor.onContextMenu((async t=>{if(!(t.event.target instanceof HTMLElement))return;const i=this._getInlayHintLabelPart(t);i&&await this._instaService.invokeFunction(w9,this._editor,t.event.target,i)}))}_getInlayHintLabelPart(t){var i;if(6!==t.target.type)return;const e=null===(i=t.target.detail.injectedText)||void 0===i?void 0:i.options;return e instanceof vL&&(null==e?void 0:e.attachedData)instanceof C9?e.attachedData:void 0}async _invokeCommand(t,i){var e;try{await this._commandService.executeCommand(t.id,...null!==(e=t.arguments)&&void 0!==e?e:[])}catch(t){this._notificationService.notify({severity:QF.Error,source:i.provider.displayName,message:t})}}_cacheHintsForFastRestore(t){const i=this._copyInlayHintsWithCurrentAnchor(t);this._inlayHintsCache.set(t,i)}_copyInlayHintsWithCurrentAnchor(t){const i=new Map;for(const[e,s]of this._decorationsMetadata){if(i.has(s.item))continue;const n=t.getDecorationRange(e);if(n){const t=new p9(n,s.item.anchor.direction),e=s.item.with({anchor:t});i.set(s.item,e)}}return Array.from(i.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),e=[];for(const s of i.sort(Ms.compareRangesUsingStarts)){const i=t.validateRange(new Ms(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));0!==e.length&&Ms.areIntersectingOrTouching(e[e.length-1],i)?e[e.length-1]=Ms.plusRange(e[e.length-1],i):e.push(i)}return e}_updateHintsDecorators(t,i){var e,s;const n=[],o=(t,i,e,s,o)=>{const r={content:e,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:i.className,cursorStops:s,attachedData:o};n.push({item:t,classNameRef:i,decoration:{range:t.anchor.range,options:{description:"InlayHint",showIfCollapsed:t.anchor.range.isEmpty(),collapseOnReplaceEdit:!t.anchor.range.isEmpty(),stickiness:0,[t.anchor.direction]:0===this._activeRenderMode?r:void 0}}})},r=(t,i)=>{const e=this._ruleFactory.createClassNameRef({width:(h/3|0)+"px",display:"inline-block"});o(t,e," ",i?Tf.Right:Tf.None)},{fontSize:h,fontFamily:c,padding:a,isUniform:l}=this._getLayoutInfo(),u="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(u,c);for(const t of i){t.hint.paddingLeft&&r(t,!1);const i="string"==typeof t.hint.label?[{label:t.hint.label}]:t.hint.label;for(let s=0;sb9._MAX_DECORATORS)break}const d=[];for(const i of t)for(const{id:t}of null!==(s=this._editor.getDecorationsInRange(i))&&void 0!==s?s:[]){const i=this._decorationsMetadata.get(t);i&&(d.push(t),i.classNameRef.dispose(),this._decorationsMetadata.delete(t))}const f=KV.capture(this._editor);this._editor.changeDecorations((t=>{const i=t.deltaDecorations(d,n.map((t=>t.decoration)));for(let t=0;te)&&(n=e);const o=t.fontFamily||s;return{fontSize:n,fontFamily:o,padding:i,isUniform:!i&&o===s&&n===e}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const t of this._decorationsMetadata.values())t.classNameRef.dispose();this._decorationsMetadata.clear()}};D9.ID="editor.contrib.InlayHints",D9._MAX_DECORATORS=1500,D9=b9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([y9(1,gg),y9(2,hR),y9(3,x9),y9(4,Sr),y9(5,JF),y9(6,ur)],D9),Dr.registerCommand("_executeInlayHintProvider",(async(t,...i)=>{const[e,s]=i;K(ms.isUri(e)),K(Ms.isIRange(s));const{inlayHintsProvider:n}=t.get(gg),o=await t.get(gr).createModelReference(e);try{const t=await m9.create(n,o.object.textEditorModel,[Ms.lift(s)],xe.None),i=t.items.map((t=>t.hint));return setTimeout((()=>t.dispose()),0),i}finally{o.dispose()}}));var E9=function(t,i){return function(e,s){i(e,s,t)}};class A9 extends fX{constructor(t,i,e,s){super(10,i,t.item.anchor.range,e,s,!0),this.part=t}}let M9=class extends PX{constructor(t,i,e,s,n,o){super(t,i,e,s,o),this._resolverService=n,this.hoverOrdinal=6}suggestHoverAnchor(t){var i;if(!D9.get(this._editor))return null;if(6!==t.target.type)return null;const e=null===(i=t.target.detail.injectedText)||void 0===i?void 0:i.options;return e instanceof vL&&e.attachedData instanceof C9?new A9(e.attachedData,this,t.event.posx,t.event.posy):null}computeSync(){return[]}computeAsync(t,i,e){return t instanceof A9?new kc((async i=>{const{part:s}=t;if(await s.item.resolve(e),e.isCancellationRequested)return;let n,o;if("string"==typeof s.item.hint.tooltip?n=(new M_).appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(n=s.item.hint.tooltip),n&&i.emitOne(new BX(this,t.range,[n],!1,0)),y(s.item.hint.textEdits)&&i.emitOne(new BX(this,t.range,[(new M_).appendText(rt(0,"Double-click to insert"))],!1,10001)),"string"==typeof s.part.tooltip?o=(new M_).appendText(s.part.tooltip):s.part.tooltip&&(o=s.part.tooltip),o&&i.emitOne(new BX(this,t.range,[o],!1,1)),s.part.location||s.part.command){let e;const n=rt(0,"altKey"===this._editor.getOption(77)?St?"cmd + click":"ctrl + click":St?"option + click":"alt + click");s.part.location&&s.part.command?e=(new M_).appendText(rt(0,"Go to Definition ({0}), right click for more",n)):s.part.location?e=(new M_).appendText(rt(0,"Go to Definition ({0})",n)):s.part.command&&(e=new M_(`[${rt(0,"Execute Command")}](${r=s.part.command,ms.from({scheme:ka.command,path:r.id,query:r.arguments&&encodeURIComponent(JSON.stringify(r.arguments))}).toString()} "${s.part.command.title}") (${n})`,{isTrusted:!0})),e&&i.emitOne(new BX(this,t.range,[e],!1,1e4))}var r;const h=await this._resolveInlayHintLabelPartHover(s,e);for await(const t of h)i.emitOne(t)})):kc.EMPTY}async _resolveInlayHintLabelPartHover(t,i){if(!t.part.location)return kc.EMPTY;const{uri:e,range:s}=t.part.location,n=await this._resolverService.createModelReference(e);try{const e=n.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(e)?IX(this._languageFeaturesService.hoverProvider,e,new As(s.startLineNumber,s.startColumn),i).filter((t=>!L_(t.hover.contents))).map((i=>new BX(this,t.item.anchor.range,i.hover.contents,!1,2+i.ordinal))):kc.EMPTY}finally{n.dispose()}}};M9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([E9(1,yd),E9(2,nP),E9(3,pd),E9(4,gr),E9(5,gg)],M9),lu(D9.ID,D9,1),pX.register(M9);class L9{constructor(t,i,e){this._editRange=t,this._originalSelection=i,this._text=e}getEditOperations(t,i){i.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(t,i){const e=i.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new Ls(e.endLineNumber,Math.min(this._originalSelection.positionColumn,e.endColumn),e.endLineNumber,Math.min(this._originalSelection.positionColumn,e.endColumn)):new Ls(e.endLineNumber,e.endColumn-this._text.length,e.endLineNumber,e.endColumn)}}var F9;let T9=F9=class{static get(t){return t.getContribution(F9.ID)}constructor(t,i){this.editor=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(t,i){var e;null===(e=this.currentRequest)||void 0===e||e.cancel();const s=this.editor.getSelection(),n=this.editor.getModel();if(!n||!s)return;let o=s;if(o.startLineNumber!==o.endLineNumber)return;const r=new pK(this.editor,5),h=n.uri;return this.editorWorkerService.canNavigateValueSet(h)?(this.currentRequest=nc((()=>this.editorWorkerService.navigateValueSet(h,o,i))),this.currentRequest.then((i=>{var e;if(!i||!i.range||!i.value)return;if(!r.validate(this.editor))return;const s=Ms.lift(i.range);let n=i.range;const h=i.value.length-(o.endColumn-o.startColumn);n={startLineNumber:n.startLineNumber,startColumn:n.startColumn,endLineNumber:n.endLineNumber,endColumn:n.startColumn+i.value.length},h>1&&(o=new Ls(o.startLineNumber,o.startColumn,o.endLineNumber,o.endColumn+h-1));const c=new L9(s,o,i.value);this.editor.pushUndoStop(),this.editor.executeCommand(t,c),this.editor.pushUndoStop(),this.decorations.set([{range:n,options:F9.DECORATION}]),null===(e=this.decorationRemover)||void 0===e||e.cancel(),this.decorationRemover=ac(350),this.decorationRemover.then((()=>this.decorations.clear())).catch(Pi)})).catch(Pi)):Promise.resolve(void 0)}};T9.ID="editor.contrib.inPlaceReplaceController",T9.DECORATION=bL.register({description:"in-place-replace",className:"valueSetReplacement"}),T9=F9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,lP)],T9),lu(T9.ID,T9,4),cu(class extends su{constructor(){super({id:"editor.action.inPlaceReplace.up",label:rt(0,"Replace with Previous Value"),alias:"Replace with Previous Value",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:3159,weight:100}})}run(t,i){const e=T9.get(i);return e?e.run(this.id,!1):Promise.resolve(void 0)}}),cu(class extends su{constructor(){super({id:"editor.action.inPlaceReplace.down",label:rt(0,"Replace with Next Value"),alias:"Replace with Next Value",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:3161,weight:100}})}run(t,i){const e=T9.get(i);return e?e.run(this.id,!0):Promise.resolve(void 0)}}),cu(class extends su{constructor(){super({id:"expandLineSelection",label:rt(0,"Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:UC.textInputFocus,primary:2090}})}run(t,i,e){if(e=e||{},!i.hasModel())return;const s=i._getViewModel();s.model.pushStackElement(),s.setCursorStates(e.source,3,EC.expandLineSelection(s,s.getCursorStates())),s.revealPrimaryCursor(e.source,!0)}});class R9{constructor(t,i){this._selection=t,this._cursors=i,this._selectionId=null}getEditOperations(t,i){const e=function(t,i){i.sort(((t,i)=>t.lineNumber===i.lineNumber?t.column-i.column:t.lineNumber-i.lineNumber));for(let t=i.length-2;t>=0;t--)i[t].lineNumber===i[t+1].lineNumber&&i.splice(t,1);const e=[];let s=0,n=0;const o=i.length;for(let r=1,h=t.getLineCount();r<=h;r++){const h=t.getLineContent(r),c=h.length+1;let a=0;if(nt.tokenization.getLineTokens(i),getLanguageId:()=>t.getLanguageId(),getLanguageIdAtPosition:(i,e)=>t.getLanguageIdAtPosition(i,e)},getLineContent:null};if(s.startLineNumber===s.endLineNumber&&1===t.getLineMaxColumn(s.startLineNumber)){const e=s.startLineNumber,n=this._isMovingDown?e+1:e-1;1===t.getLineMaxColumn(n)?i.addEditOperation(new Ms(1,1,1,1),null):(i.addEditOperation(new Ms(e,1,e,1),t.getLineContent(n)),i.addEditOperation(new Ms(n,1,n,t.getLineMaxColumn(n)),null)),s=new Ls(n,1,n,1)}else{let e,o;if(this._isMovingDown){e=s.endLineNumber+1,o=t.getLineContent(e),i.addEditOperation(new Ms(e-1,t.getLineMaxColumn(e-1),e,t.getLineMaxColumn(e)),null);let a=o;if(this.shouldAutoIndent(t,s)){const l=this.matchEnterRule(t,h,n,e,s.startLineNumber-1);if(null!==l){const i=t9(l+X6(io(t.getLineContent(e)),n),n,r);a=i+this.trimStart(o)}else{c.getLineContent=i=>t.getLineContent(i===s.startLineNumber?e:i);const i=NC(this._autoIndent,c,t.getLanguageIdAtPosition(e,1),s.startLineNumber,h,this._languageConfigurationService);if(null!==i){const s=io(t.getLineContent(e)),h=X6(i,n);if(h!==X6(s,n)){const t=t9(h,n,r);a=t+this.trimStart(o)}}}i.addEditOperation(new Ms(s.startLineNumber,1,s.startLineNumber,1),a+"\n");const u=this.matchEnterRuleMovingDown(t,h,n,s.startLineNumber,e,a);if(null!==u)0!==u&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,u);else{c.getLineContent=i=>i===s.startLineNumber?a:t.getLineContent(i>=s.startLineNumber+1&&i<=s.endLineNumber+1?i-1:i);const o=NC(this._autoIndent,c,t.getLanguageIdAtPosition(e,1),s.startLineNumber+1,h,this._languageConfigurationService);if(null!==o){const e=io(t.getLineContent(s.startLineNumber)),h=X6(o,n),c=X6(e,n);h!==c&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,h-c)}}}else i.addEditOperation(new Ms(s.startLineNumber,1,s.startLineNumber,1),a+"\n")}else if(e=s.startLineNumber-1,o=t.getLineContent(e),i.addEditOperation(new Ms(e,1,e+1,1),null),i.addEditOperation(new Ms(s.endLineNumber,t.getLineMaxColumn(s.endLineNumber),s.endLineNumber,t.getLineMaxColumn(s.endLineNumber)),"\n"+o),this.shouldAutoIndent(t,s)){c.getLineContent=i=>t.getLineContent(i===e?s.startLineNumber:i);const o=this.matchEnterRule(t,h,n,s.startLineNumber,s.startLineNumber-2);if(null!==o)0!==o&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,o);else{const o=NC(this._autoIndent,c,t.getLanguageIdAtPosition(s.startLineNumber,1),e,h,this._languageConfigurationService);if(null!==o){const e=io(t.getLineContent(s.startLineNumber)),h=X6(o,n),c=X6(e,n);h!==c&&this.getIndentEditsOfMovingBlock(t,i,s,n,r,h-c)}}}}this._selectionId=i.trackSelection(s)}buildIndentConverter(t,i,e){return{shiftIndent:s=>RC.shiftIndent(s,s.length+1,t,i,e),unshiftIndent:s=>RC.unshiftIndent(s,s.length+1,t,i,e)}}parseEnterResult(t,i,e,s,n){if(n){let o=n.indentation;n.indentAction===Ru.None||n.indentAction===Ru.Indent?o=n.indentation+n.appendText:n.indentAction===Ru.IndentOutdent?o=n.indentation:n.indentAction===Ru.Outdent&&(o=i.unshiftIndent(n.indentation)+n.appendText);const r=t.getLineContent(s);if(this.trimStart(r).indexOf(this.trimStart(o))>=0){const n=io(t.getLineContent(s));let r=io(o);const h=BC(t,s,this._languageConfigurationService);return null!==h&&2&h&&(r=i.unshiftIndent(r)),X6(r,e)-X6(n,e)}}return null}matchEnterRuleMovingDown(t,i,e,s,n,o){if(eo(o)>=0){const o=t.getLineMaxColumn(n),r=MC(this._autoIndent,t,new Ms(n,o,n,o),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,r)}{let n=s-1;for(;n>=1&&!(eo(t.getLineContent(n))>=0);)n--;if(n<1||s>t.getLineCount())return null;const o=t.getLineMaxColumn(n),r=MC(this._autoIndent,t,new Ms(n,o,n,o),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,r)}}matchEnterRule(t,i,e,s,n,o){let r=n;for(;r>=1;){let i;if(i=r===n&&void 0!==o?o:t.getLineContent(r),eo(i)>=0)break;r--}if(r<1||s>t.getLineCount())return null;const h=t.getLineMaxColumn(r),c=MC(this._autoIndent,t,new Ms(r,h,r,h),this._languageConfigurationService);return this.parseEnterResult(t,i,e,s,c)}trimStart(t){return t.replace(/^\s+/,"")}shouldAutoIndent(t,i){if(this._autoIndent<4)return!1;if(!t.tokenization.isCheapToTokenize(i.startLineNumber))return!1;const e=t.getLanguageIdAtPosition(i.startLineNumber,1);return e===t.getLanguageIdAtPosition(i.endLineNumber,1)&&null!==this._languageConfigurationService.getLanguageConfiguration(e).indentRulesSupport}getIndentEditsOfMovingBlock(t,i,e,s,n,o){for(let r=e.startLineNumber;r<=e.endLineNumber;r++){const h=io(t.getLineContent(r)),c=t9(X6(h,s)+o,s,n);c!==h&&(i.addEditOperation(new Ms(r,1,r,h.length+1),c),r===e.endLineNumber&&e.endColumn<=h.length+1&&""===c&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(t,i){let e=i.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(e=e.setEndPosition(e.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&e.startLineNumber=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,qd)],I9);class _9{static getCollator(){return _9._COLLATOR||(_9._COLLATOR=new Intl.Collator),_9._COLLATOR}constructor(t,i){this.selection=t,this.descending=i,this.selectionId=null}getEditOperations(t,i){const e=function(t,i,e){const s=N9(t,i,e);return s?rO.replace(new Ms(s.startLineNumber,1,s.endLineNumber,t.getLineMaxColumn(s.endLineNumber)),s.after.join("\n")):null}(t,this.selection,this.descending);e&&i.addEditOperation(e.range,e.text),this.selectionId=i.trackSelection(this.selection)}computeCursorState(t,i){return i.getTrackedSelection(this.selectionId)}static canRun(t,i,e){if(null===t)return!1;const s=N9(t,i,e);if(!s)return!1;for(let t=0,i=s.before.length;t=n)return null;const o=[];for(let i=s;i<=n;i++)o.push(t.getLineContent(i));let r=o.slice(0);return r.sort(_9.getCollator().compare),!0===e&&(r=r.reverse()),{startLineNumber:s,endLineNumber:n,before:o,after:r}}_9._COLLATOR=null;class B9 extends su{constructor(t,i){super(i),this.down=t}run(t,i){if(!i.hasModel())return;const e=i.getSelections().map(((t,i)=>({selection:t,index:i,ignore:!1})));e.sort(((t,i)=>Ms.compareRangesUsingStarts(t.selection,i.selection)));let s=e[0];for(let t=1;tnew As(t.positionLineNumber,t.positionColumn))));const n=i.getSelection();if(null===n)return;const o=new R9(n,s);i.pushUndoStop(),i.executeCommands(this.id,[o]),i.pushUndoStop()}}W9.ID="editor.action.trimTrailingWhitespace";class j9 extends su{run(t,i){if(!i.hasModel())return;const e=i.getSelection(),s=this._getRangesToDelete(i),n=[];for(let t=0,i=s.length-1;trO.replace(t,"")));i.pushUndoStop(),i.executeEdits(this.id,r,o),i.pushUndoStop()}}class z9 extends su{run(t,i){const e=i.getSelections();if(null===e)return;const s=i.getModel();if(null===s)return;const n=i.getOption(129),o=[];for(const t of e)if(t.isEmpty()){const e=t.getStartPosition(),r=i.getConfiguredWordAtPosition(e);if(!r)continue;const h=new Ms(e.lineNumber,r.startColumn,e.lineNumber,r.endColumn),c=s.getValueInRange(h);o.push(rO.replace(h,this._modifyText(c,n)))}else{const i=s.getValueInRange(t);o.push(rO.replace(t,this._modifyText(i,n)))}i.pushUndoStop(),i.executeEdits(this.id,o),i.pushUndoStop()}}class H9{constructor(t,i){this._pattern=t,this._flags=i,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(t){}}return this._actual}isSupported(){return null!==this.get()}}class V9 extends z9{constructor(){super({id:"editor.action.transformToTitlecase",label:rt(0,"Transform to Title Case"),alias:"Transform to Title Case",precondition:UC.writable})}_modifyText(t,i){const e=V9.titleBoundary.get();return e?t.toLocaleLowerCase().replace(e,(t=>t.toLocaleUpperCase())):t}}V9.titleBoundary=new H9("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class U9 extends z9{constructor(){super({id:"editor.action.transformToSnakecase",label:rt(0,"Transform to Snake Case"),alias:"Transform to Snake Case",precondition:UC.writable})}_modifyText(t,i){const e=U9.caseBoundary.get(),s=U9.singleLetters.get();return e&&s?t.replace(e,"$1_$2").replace(s,"$1_$2$3").toLocaleLowerCase():t}}U9.caseBoundary=new H9("(\\p{Ll})(\\p{Lu})","gmu"),U9.singleLetters=new H9("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");class q9 extends z9{constructor(){super({id:"editor.action.transformToCamelcase",label:rt(0,"Transform to Camel Case"),alias:"Transform to Camel Case",precondition:UC.writable})}_modifyText(t,i){const e=q9.wordBoundary.get();if(!e)return t;const s=t.split(e);return s.shift()+s.map((t=>t.substring(0,1).toLocaleUpperCase()+t.substring(1))).join("")}}q9.wordBoundary=new H9("[_\\s-]","gm");class K9 extends z9{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every((t=>t.isSupported()))}constructor(){super({id:"editor.action.transformToKebabcase",label:rt(0,"Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:UC.writable})}_modifyText(t,i){const e=K9.caseBoundary.get(),s=K9.singleLetters.get(),n=K9.underscoreBoundary.get();return e&&s&&n?t.replace(n,"$1-$3").replace(e,"$1-$2").replace(s,"$1-$2").toLocaleLowerCase():t}}K9.caseBoundary=new H9("(\\p{Ll})(\\p{Lu})","gmu"),K9.singleLetters=new H9("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),K9.underscoreBoundary=new H9("(\\S)(_)(\\S)","gm"),cu(class extends B9{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:rt(0,"Copy Line Up"),alias:"Copy Line Up",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:rt(0,"&&Copy Line Up"),order:1}})}}),cu(class extends B9{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:rt(0,"Copy Line Down"),alias:"Copy Line Down",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:rt(0,"Co&&py Line Down"),order:2}})}}),cu(class extends su{constructor(){super({id:"editor.action.duplicateSelection",label:rt(0,"Duplicate Selection"),alias:"Duplicate Selection",precondition:UC.writable,menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:rt(0,"&&Duplicate Selection"),order:5}})}run(t,i,e){if(!i.hasModel())return;const s=[],n=i.getSelections(),o=i.getModel();for(const t of n)if(t.isEmpty())s.push(new O9(t,!0));else{const i=new Ls(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn);s.push(new mC(i,o.getValueInRange(t)))}i.pushUndoStop(),i.executeCommands(this.id,s),i.pushUndoStop()}}),cu(class extends P9{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:rt(0,"Move Line Up"),alias:"Move Line Up",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:rt(0,"Mo&&ve Line Up"),order:3}})}}),cu(class extends P9{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:rt(0,"Move Line Down"),alias:"Move Line Down",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"2_line",title:rt(0,"Move &&Line Down"),order:4}})}}),cu(class extends $9{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:rt(0,"Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:UC.writable})}}),cu(class extends $9{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:rt(0,"Sort Lines Descending"),alias:"Sort Lines Descending",precondition:UC.writable})}}),cu(class extends su{constructor(){super({id:"editor.action.removeDuplicateLines",label:rt(0,"Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:UC.writable})}run(t,i){if(!i.hasModel())return;const e=i.getModel();if(1===e.getLineCount()&&1===e.getLineMaxColumn(1))return;const s=[],n=[];let o=0;for(const t of i.getSelections()){const i=new Set,r=[];for(let s=t.startLineNumber;s<=t.endLineNumber;s++){const t=e.getLineContent(s);i.has(t)||(r.push(t),i.add(t))}const h=new Ls(t.startLineNumber,1,t.endLineNumber,e.getLineMaxColumn(t.endLineNumber)),c=t.startLineNumber-o,a=new Ls(c,1,c+r.length-1,r[r.length-1].length);s.push(rO.replace(h,r.join("\n"))),n.push(a),o+=t.endLineNumber-t.startLineNumber+1-r.length}i.pushUndoStop(),i.executeEdits(this.id,s,n),i.pushUndoStop()}}),cu(W9),cu(class extends su{constructor(){super({id:"editor.action.deleteLines",label:rt(0,"Delete Line"),alias:"Delete Line",precondition:UC.writable,kbOpts:{kbExpr:UC.textInputFocus,primary:3113,weight:100}})}run(t,i){if(!i.hasModel())return;const e=this._getLinesToRemove(i),s=i.getModel();if(1===s.getLineCount()&&1===s.getLineMaxColumn(1))return;let n=0;const o=[],r=[];for(let t=0,i=e.length;t1&&(h-=1,a=s.getLineMaxColumn(h)),o.push(rO.replace(new Ls(h,a,c,l),"")),r.push(new Ls(h-n,i.positionColumn,h-n,i.positionColumn)),n+=i.endLineNumber-i.startLineNumber+1}i.pushUndoStop(),i.executeEdits(this.id,o,r),i.pushUndoStop()}_getLinesToRemove(t){const i=t.getSelections().map((t=>{let i=t.endLineNumber;return t.startLineNumbert.startLineNumber===i.startLineNumber?t.endLineNumber-i.endLineNumber:t.startLineNumber-i.startLineNumber));const e=[];let s=i[0];for(let t=1;t=i[t].startLineNumber?s.endLineNumber=i[t].endLineNumber:(e.push(s),s=i[t]);return e.push(s),e}}),cu(class extends su{constructor(){super({id:"editor.action.indentLines",label:rt(0,"Indent Line"),alias:"Indent Line",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:2142,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,PC.indent(e.cursorConfig,i.getModel(),i.getSelections())),i.pushUndoStop())}}),cu(class extends su{constructor(){super({id:"editor.action.outdentLines",label:rt(0,"Outdent Line"),alias:"Outdent Line",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:2140,weight:100}})}run(t,i){tS.Outdent.runEditorCommand(t,i,null)}}),cu(class extends su{constructor(){super({id:"editor.action.insertLineBefore",label:rt(0,"Insert Line Above"),alias:"Insert Line Above",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:3075,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,PC.lineInsertBefore(e.cursorConfig,i.getModel(),i.getSelections())))}}),cu(class extends su{constructor(){super({id:"editor.action.insertLineAfter",label:rt(0,"Insert Line Below"),alias:"Insert Line Below",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:2051,weight:100}})}run(t,i){const e=i._getViewModel();e&&(i.pushUndoStop(),i.executeCommands(this.id,PC.lineInsertAfter(e.cursorConfig,i.getModel(),i.getSelections())))}}),cu(class extends j9{constructor(){super({id:"deleteAllLeft",label:rt(0,"Delete All Left"),alias:"Delete All Left",precondition:UC.writable,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(t,i){let e=null;const s=[];let n=0;return i.forEach((i=>{let o;if(1===i.endColumn&&n>0){const t=i.startLineNumber-n;o=new Ls(t,i.startColumn,t,i.startColumn)}else o=new Ls(i.startLineNumber,i.startColumn,i.startLineNumber,i.startColumn);n+=i.endLineNumber-i.startLineNumber,i.intersectRanges(t)?e=o:s.push(o)})),e&&s.unshift(e),s}_getRangesToDelete(t){const i=t.getSelections();if(null===i)return[];let e=i;const s=t.getModel();return null===s?[]:(e.sort(Ms.compareRangesUsingStarts),e=e.map((t=>{if(t.isEmpty()){if(1===t.startColumn){const i=Math.max(1,t.startLineNumber-1),e=1===t.startLineNumber?1:s.getLineLength(i)+1;return new Ms(i,e,t.startLineNumber,1)}return new Ms(t.startLineNumber,1,t.startLineNumber,t.startColumn)}return new Ms(t.startLineNumber,1,t.endLineNumber,t.endColumn)})),e)}}),cu(class extends j9{constructor(){super({id:"deleteAllRight",label:rt(0,"Delete All Right"),alias:"Delete All Right",precondition:UC.writable,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(t,i){let e=null;const s=[];for(let n=0,o=i.length,r=0;n{if(t.isEmpty()){const e=i.getLineMaxColumn(t.startLineNumber);return t.startColumn===e?new Ms(t.startLineNumber,t.startColumn,t.startLineNumber+1,1):new Ms(t.startLineNumber,t.startColumn,t.startLineNumber,e)}return t}));return s.sort(Ms.compareRangesUsingStarts),s}}),cu(class extends su{constructor(){super({id:"editor.action.joinLines",label:rt(0,"Join Lines"),alias:"Join Lines",precondition:UC.writable,kbOpts:{kbExpr:UC.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(t,i){const e=i.getSelections();if(null===e)return;let s=i.getSelection();if(null===s)return;e.sort(Ms.compareRangesUsingStarts);const n=[],o=e.reduce(((t,i)=>t.isEmpty()?t.endLineNumber===i.startLineNumber?(s.equalsSelection(t)&&(s=i),i):i.startLineNumber>t.endLineNumber+1?(n.push(t),i):new Ls(t.startLineNumber,t.startColumn,i.endLineNumber,i.endColumn):i.startLineNumber>t.endLineNumber?(n.push(t),i):new Ls(t.startLineNumber,t.startColumn,i.endLineNumber,i.endColumn)));n.push(o);const r=i.getModel();if(null===r)return;const h=[],c=[];let a=s,l=0;for(let t=0,i=n.length;t=1){let t=!0;""===g&&(t=!1),!t||" "!==g.charAt(g.length-1)&&"\t"!==g.charAt(g.length-1)||(t=!1,g=g.replace(/[\s\uFEFF\xA0]+$/g," "));const s=i.substr(e-1);g+=(t?" ":"")+s,f=t?s.length+1:s.length}else f=0}const m=new Ms(e,o,u,d);if(!m.isEmpty()){let t;i.isEmpty()?(h.push(rO.replace(m,g)),t=new Ls(m.startLineNumber-l,g.length-f+1,e-l,g.length-f+1)):i.startLineNumber===i.endLineNumber?(h.push(rO.replace(m,g)),t=new Ls(i.startLineNumber-l,i.startColumn,i.endLineNumber-l,i.endColumn)):(h.push(rO.replace(m,g)),t=new Ls(i.startLineNumber-l,i.startColumn,i.startLineNumber-l,g.length-p)),null!==Ms.intersectRanges(m,s)?a=t:c.push(t)}l+=m.endLineNumber-m.startLineNumber}c.unshift(a),i.pushUndoStop(),i.executeEdits(this.id,h,c),i.pushUndoStop()}}),cu(class extends su{constructor(){super({id:"editor.action.transpose",label:rt(0,"Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:UC.writable})}run(t,i){const e=i.getSelections();if(null===e)return;const s=i.getModel();if(null===s)return;const n=[];for(let t=0,i=e.length;t=r){if(o.lineNumber===s.getLineCount())continue;const t=new Ms(o.lineNumber,Math.max(1,o.column-1),o.lineNumber+1,1),i=s.getValueInRange(t).split("").reverse().join("");n.push(new gC(new Ls(o.lineNumber,Math.max(1,o.column-1),o.lineNumber+1,1),i))}else{const t=new Ms(o.lineNumber,Math.max(1,o.column-1),o.lineNumber,o.column+1),i=s.getValueInRange(t).split("").reverse().join("");n.push(new bC(t,i,new Ls(o.lineNumber,o.column+1,o.lineNumber,o.column+1)))}}i.pushUndoStop(),i.executeCommands(this.id,n),i.pushUndoStop()}}),cu(class extends z9{constructor(){super({id:"editor.action.transformToUppercase",label:rt(0,"Transform to Uppercase"),alias:"Transform to Uppercase",precondition:UC.writable})}_modifyText(t,i){return t.toLocaleUpperCase()}}),cu(class extends z9{constructor(){super({id:"editor.action.transformToLowercase",label:rt(0,"Transform to Lowercase"),alias:"Transform to Lowercase",precondition:UC.writable})}_modifyText(t,i){return t.toLocaleLowerCase()}}),U9.caseBoundary.isSupported()&&U9.singleLetters.isSupported()&&cu(U9),q9.wordBoundary.isSupported()&&cu(q9),V9.titleBoundary.isSupported()&&cu(V9),K9.isSupported()&&cu(K9);var G9,Z9=function(t,i){return function(e,s){i(e,s,t)}};const Q9=new ch("LinkedEditingInputVisible",!1);let J9=G9=class extends ie{static get(t){return t.getContribution(G9.ID)}constructor(t,i,e,s,n){super(),this.languageConfigurationService=s,this._syncRangesToken=0,this._localToDispose=this._register(new te),this._editor=t,this._providers=e.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=Q9.bindTo(i),this._debounceInformation=n.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new te),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequest=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel((()=>this.reinitialize(!0)))),this._register(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(69)||t.hasChanged(92))&&this.reinitialize(!1)}))),this._register(this._providers.onDidChange((()=>this.reinitialize(!1)))),this._register(this._editor.onDidChangeModelLanguage((()=>this.reinitialize(!0)))),this.reinitialize(!0)}reinitialize(t){const i=this._editor.getModel(),e=null!==i&&(this._editor.getOption(69)||this._editor.getOption(92))&&this._providers.has(i);if(e===this._enabled&&!t)return;if(this._enabled=e,this.clearRanges(),this._localToDispose.clear(),!e||null===i)return;this._localToDispose.add(ce.runAndSubscribe(i.onDidChangeLanguageConfiguration,(()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(i.getLanguageId()).getWordDefinition()})));const s=new hc(this._debounceInformation.get(i)),n=()=>{var t;this._rangeUpdateTriggerPromise=s.trigger((()=>this.updateRanges()),null!==(t=this._debounceDuration)&&void 0!==t?t:this._debounceInformation.get(i))},o=new hc(0),r=t=>{this._rangeSyncTriggerPromise=o.trigger((()=>this._syncRanges(t)))};this._localToDispose.add(this._editor.onDidChangeCursorPosition((()=>{n()}))),this._localToDispose.add(this._editor.onDidChangeModelContent((t=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const i=this._currentDecorations.getRange(0);if(i&&t.changes.every((t=>i.intersectRanges(t.range))))return void r(this._syncRangesToken)}n()}))),this._localToDispose.add({dispose:()=>{s.dispose(),o.dispose()}}),this.updateRanges()}_syncRanges(t){if(!this._editor.hasModel()||t!==this._syncRangesToken||0===this._currentDecorations.length)return;const i=this._editor.getModel(),e=this._currentDecorations.getRange(0);if(!e||e.startLineNumber!==e.endLineNumber)return this.clearRanges();const s=i.getValueInRange(e);if(this._currentWordPattern){const t=s.match(this._currentWordPattern);if((t?t[0].length:0)!==s.length)return this.clearRanges()}const n=[];for(let t=1,e=this._currentDecorations.length;t1)return void this.clearRanges();const e=this._editor.getModel(),s=e.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===s){if(i.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const t=this._currentDecorations.getRange(0);if(t&&t.containsPosition(i))return}}this.clearRanges(),this._currentRequestPosition=i,this._currentRequestModelVersion=s;const n=nc((async t=>{try{const o=new he(!1),r=await Y9(this._providers,e,i,t);if(this._debounceInformation.update(e,o.elapsed()),n!==this._currentRequest)return;if(this._currentRequest=null,s!==e.getVersionId())return;let h=[];(null==r?void 0:r.ranges)&&(h=r.ranges),this._currentWordPattern=(null==r?void 0:r.wordPattern)||this._languageWordPattern;let c=!1;for(let t=0,e=h.length;t({range:t,options:G9.DECORATION})));this._visibleContextKey.set(!0),this._currentDecorations.set(a),this._syncRangesToken++}catch(t){zi(t)||Pi(t),this._currentRequest!==n&&this._currentRequest||this.clearRanges()}}));return this._currentRequest=n,n}};function Y9(t,i,e,s){return uc(t.ordered(i).map((t=>async()=>{try{return await t.provideLinkedEditingRanges(i,e,s)}catch(t){return void $i(t)}})),(t=>!!t&&y(null==t?void 0:t.ranges)))}J9.ID="editor.contrib.linkedEditing",J9.DECORATION=bL.register({description:"linked-editing",stickiness:0,className:"linked-editing-decoration"}),J9=G9=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Z9(1,ah),Z9(2,gg),Z9(3,qd),Z9(4,hR)],J9),hu(new(eu.bindToContribution(J9.get))({id:"cancelLinkedEditingInput",precondition:Q9,handler:t=>t.clearRanges(),kbOpts:{kbExpr:UC.editorTextFocus,weight:199,primary:9,secondary:[1033]}})),ow("editor.linkedEditingBackground",{dark:sg.fromHex("#f00").transparent(.3),light:sg.fromHex("#f00").transparent(.3),hcDark:sg.fromHex("#f00").transparent(.3),hcLight:sg.white},rt(0,"Background color when the editor auto renames on type.")),ru("_executeLinkedEditingProvider",((t,i,e)=>{const{linkedEditingRangeProvider:s}=t.get(gg);return Y9(s,i,e,xe.None)})),lu(J9.ID,J9,1),cu(class extends su{constructor(){super({id:"editor.action.linkedEditing",label:rt(0,"Start Linked Editing"),alias:"Start Linked Editing",precondition:zr.and(UC.writable,UC.hasRenameProvider),kbOpts:{kbExpr:UC.editorTextFocus,primary:3132,weight:100}})}runCommand(t,i){const e=t.get(fr),[s,n]=Array.isArray(i)&&i||[void 0,void 0];return ms.isUri(s)&&As.isIPosition(n)?e.openCodeEditor({resource:s},e.getActiveCodeEditor()).then((t=>{t&&(t.setPosition(n),t.invokeWithinContext((i=>(this.reportTelemetry(i,t),this.run(i,t)))))}),Pi):super.runCommand(t,i)}run(t,i){const e=J9.get(i);return e?Promise.resolve(e.updateRanges(!0)):Promise.resolve()}});class X9{constructor(t,i){this._link=t,this._provider=i}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(t){return this._link.url?this._link.url:"function"==typeof this._provider.resolveLink?Promise.resolve(this._provider.resolveLink(this._link,t)).then((i=>(this._link=i||this._link,this._link.url?this.resolve(t):Promise.reject(new Error("missing"))))):Promise.reject(new Error("missing"))}}class t7{constructor(t){this._disposables=new te;let i=[];for(const[e,s]of t){const t=e.links.map((t=>new X9(t,s)));i=t7._union(i,t),Qi(e)&&this._disposables.add(e)}this.links=i}dispose(){this._disposables.dispose(),this.links.length=0}static _union(t,i){const e=[];let s,n,o,r;for(s=0,o=0,n=t.length,r=i.length;sPromise.resolve(t.provideLinks(i,e)).then((i=>{i&&(s[n]=[i,t])}),$i)));return Promise.all(n).then((()=>{const t=new t7(w(s));return e.isCancellationRequested?(t.dispose(),new t7([])):t}))}Dr.registerCommand("_executeLinkProvider",(async(t,...i)=>{let[e,s]=i;K(e instanceof ms),"number"!=typeof s&&(s=0);const{linkProvider:n}=t.get(gg),o=t.get(pr).getModel(e);if(!o)return[];const r=await i7(n,o,xe.None);if(!r)return[];for(let t=0;tthis.computeLinksNow()),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const o=this._register(new _J(t));this._register(o.onMouseMoveOrRelevantKeyDown((([t,i])=>{this._onEditorMouseMove(t,i)}))),this._register(o.onExecute((t=>{this.onEditorMouseUp(t)}))),this._register(o.onCancel((()=>{this.cleanUpActiveLinkDecoration()}))),this._register(t.onDidChangeConfiguration((t=>{t.hasChanged(70)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))}))),this._register(t.onDidChangeModelContent((()=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))}))),this._register(t.onDidChangeModel((()=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)}))),this._register(t.onDidChangeModelLanguage((()=>{this.stop(),this.computeLinks.schedule(0)}))),this._register(this.providers.onDidChange((()=>{this.stop(),this.computeLinks.schedule(0)}))),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(70))return;const t=this.editor.getModel();if(!t.isTooLargeForSyncing()&&this.providers.has(t)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=nc((i=>i7(this.providers,t,i)));try{const i=new he(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(t,i.elapsed()),t.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){Pi(t)}finally{this.computePromise=null}}}updateDecorations(t){const i="altKey"===this.editor.getOption(77),e=[],s=Object.keys(this.currentOccurrences);for(const t of s)e.push(this.currentOccurrences[t].decorationId);const n=[];if(t)for(const e of t)n.push(h7.decoration(e,i));this.editor.changeDecorations((i=>{const s=i.deltaDecorations(e,n);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let i=0,e=s.length;i{i.activate(t,e),this.activeLinkDecorationId=i.decorationId}))}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const t="altKey"===this.editor.getOption(77);if(this.activeLinkDecorationId){const i=this.currentOccurrences[this.activeLinkDecorationId];i&&this.editor.changeDecorations((e=>{i.deactivate(e,t)})),this.activeLinkDecorationId=null}}onEditorMouseUp(t){if(!this.isEnabled(t))return;const i=this.getLinkOccurrence(t.target.position);i&&this.openLinkOccurrence(i,t.hasSideBySideModifier,!0)}openLinkOccurrence(t,i,e=!1){if(!this.openerService)return;const{link:s}=t;s.resolve(xe.None).then((t=>{if("string"==typeof t&&this.editor.hasModel()){const i=this.editor.getModel().uri;if(i.scheme===ka.file&&t.startsWith(`${ka.file}:`)){const e=ms.parse(t);if(e.scheme===ka.file){const s=hA(e);let n=null;s.startsWith("/./")?n=`.${s.substr(1)}`:s.startsWith("//./")&&(n=`.${s.substr(2)}`),n&&(t=pA(i,n))}}}return this.openerService.open(t,{openToSide:i,fromUserGesture:e,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})}),(t=>{const i=t instanceof Error?t.message:t;"invalid"===i?this.notificationService.warn(rt(0,"Failed to open this link because it is not well-formed: {0}",s.url.toString())):"missing"===i?this.notificationService.warn(rt(0,"Failed to open this link because its target is missing.")):Pi(t)}))}getLinkOccurrence(t){if(!this.editor.hasModel()||!t)return null;const i=this.editor.getModel().getDecorationsInRange({startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:t.lineNumber,endColumn:t.column},0,!0);for(const t of i){const i=this.currentOccurrences[t.id];if(i)return i}return null}isEnabled(t,i){return Boolean(6===t.target.type&&(t.hasTriggerModifier||i&&i.keyCodeIsTriggerKey))}stop(){var t;this.computeLinks.cancel(),this.activeLinksList&&(null===(t=this.activeLinksList)||void 0===t||t.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};n7.ID="editor.linkDetector",n7=e7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([s7(1,nP),s7(2,JF),s7(3,gg),s7(4,hR)],n7);const o7=bL.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),r7=bL.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"});class h7{static decoration(t,i){return{range:t.range,options:h7._getOptions(t,i,!1)}}static _getOptions(t,i,e){const s={...e?r7:o7};return s.hoverMessage=function(t,i){const e=t.url&&/^command:/i.test(t.url.toString()),s=t.tooltip?t.tooltip:rt(0,e?"Execute command":"Follow link"),n=rt(0,i?St?"cmd + click":"ctrl + click":St?"option + click":"alt + click");if(t.url){let i="";if(/^command:/i.test(t.url.toString())){const e=t.url.toString().match(/^command:([^?#]+)/);e&&(i=rt(0,"Execute command {0}",e[1]))}return new M_("",!0).appendLink(t.url.toString(!0).replace(/ /g,"%20"),s,i).appendMarkdown(` (${n})`)}return(new M_).appendText(`${s} (${n})`)}(t,i),s}constructor(t,i){this.link=t,this.decorationId=i}activate(t,i){t.changeDecorationOptions(this.decorationId,h7._getOptions(this.link,i,!0))}deactivate(t,i){t.changeDecorationOptions(this.decorationId,h7._getOptions(this.link,i,!1))}}lu(n7.ID,n7,1),cu(class extends su{constructor(){super({id:"editor.action.openLink",label:rt(0,"Open Link"),alias:"Open Link",precondition:void 0})}run(t,i){const e=n7.get(i);if(!e)return;if(!i.hasModel())return;const s=i.getSelections();for(const t of s){const i=e.getLinkOccurrence(t.getEndPosition());i&&e.openLinkOccurrence(i,!1)}}});class c7 extends ie{constructor(t){super(),this._editor=t,this._register(this._editor.onMouseDown((t=>{const i=this._editor.getOption(116);i>=0&&6===t.target.type&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})})))}}c7.ID="editor.contrib.longLinesHelper",lu(c7.ID,c7,2);const a7=ow("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},rt(0,"Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);ow("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},rt(0,"Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0),ow("editor.wordHighlightTextBackground",{light:a7,dark:a7,hcDark:a7,hcLight:a7},rt(0,"Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const l7=ow("editor.wordHighlightBorder",{light:null,dark:null,hcDark:uw,hcLight:uw},rt(0,"Border color of a symbol during read-access, like reading a variable."));ow("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:uw,hcLight:uw},rt(0,"Border color of a symbol during write-access, like writing to a variable.")),ow("editor.wordHighlightTextBorder",{light:l7,dark:l7,hcDark:l7,hcLight:l7},rt(0,"Border color of a textual occurrence for a symbol."));const u7=ow("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},rt(0,"Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),d7=ow("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hcDark:"#C0A0C0CC",hcLight:"#C0A0C0CC"},rt(0,"Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),f7=ow("editorOverviewRuler.wordHighlightTextForeground",{dark:Hb,light:Hb,hcDark:Hb,hcLight:Hb},rt(0,"Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),p7=bL.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:Kk(d7),position:Mf.Center},minimap:{color:Kk(Ub),position:Ff.Inline}}),g7=bL.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:Kk(f7),position:Mf.Center},minimap:{color:Kk(Ub),position:Ff.Inline}}),m7=bL.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:Kk(Hb),position:Mf.Center},minimap:{color:Kk(Ub),position:Ff.Inline}}),w7=bL.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),v7=bL.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:Kk(u7),position:Mf.Center},minimap:{color:Kk(Ub),position:Ff.Inline}});function b7(t){return t?w7:m7}Jk(((t,i)=>{const e=t.getColor(yv);e&&i.addRule(`.monaco-editor .selectionHighlight { background-color: ${e.transparent(.5)}; }`)}));var y7;function k7(t,i){const e=i.filter((i=>!t.find((t=>t.equals(i)))));if(e.length>=1){const t=e.map((t=>`line ${t.viewState.position.lineNumber} column ${t.viewState.position.column}`)).join(", ");Rm(rt(0,1===e.length?"Cursor added: {0}":"Cursors added: {0}",t))}}class x7{constructor(t,i,e){this.selections=t,this.revealRange=i,this.revealScrollType=e}}class C7{static create(t,i){if(!t.hasModel())return null;const e=i.getState();if(!t.hasTextFocus()&&e.isRevealed&&e.searchString.length>0)return new C7(t,i,!1,e.searchString,e.wholeWord,e.matchCase,null);let s,n,o=!1;const r=t.getSelections();1===r.length&&r[0].isEmpty()?(o=!0,s=!0,n=!0):(s=e.wholeWord,n=e.matchCase);const h=t.getSelection();let c,a=null;if(h.isEmpty()){const i=t.getConfiguredWordAtPosition(h.getStartPosition());if(!i)return null;c=i.word,a=new Ls(h.startLineNumber,i.startColumn,h.startLineNumber,i.endColumn)}else c=t.getModel().getValueInRange(h).replace(/\r\n/g,"\n");return new C7(t,i,o,c,s,n,a)}constructor(t,i,e,s,n,o,r){this._editor=t,this.findController=i,this.isDisconnectedFromFindController=e,this.searchText=s,this.wholeWord=n,this.matchCase=o,this.currentMatch=r}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const t=this._getNextMatch();if(!t)return null;const i=this._editor.getSelections();return new x7(i.concat(t),t,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const t=this._getNextMatch();if(!t)return null;const i=this._editor.getSelections();return new x7(i.slice(0,i.length-1).concat(t),t,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const t=this.currentMatch;return this.currentMatch=null,t}this.findController.highlightFindOptions();const t=this._editor.getSelections(),i=t[t.length-1],e=this._editor.getModel().findNextMatch(this.searchText,i.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1);return e?new Ls(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const t=this._getPreviousMatch();if(!t)return null;const i=this._editor.getSelections();return new x7(i.concat(t),t,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const t=this._getPreviousMatch();if(!t)return null;const i=this._editor.getSelections();return new x7(i.slice(0,i.length-1).concat(t),t,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const t=this.currentMatch;return this.currentMatch=null,t}this.findController.highlightFindOptions();const t=this._editor.getSelections(),i=t[t.length-1],e=this._editor.getModel().findPreviousMatch(this.searchText,i.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1);return e?new Ls(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn):null}selectAll(t){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();return this._editor.getModel().findMatches(this.searchText,t||!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(129):null,!1,1073741824)}}class S7 extends ie{static get(t){return t.getContribution(S7.ID)}constructor(t){super(),this._sessionDispose=this._register(new te),this._editor=t,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(t){if(!this._session){const i=C7.create(this._editor,t);if(!i)return;this._session=i;const e={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(e.wholeWordOverride=1,e.matchCaseOverride=1,e.isRegexOverride=2),t.getState().change(e,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection((()=>{this._ignoreSelectionChange||this._endSession()}))),this._sessionDispose.add(this._editor.onDidBlurEditorText((()=>{this._endSession()}))),this._sessionDispose.add(t.getState().onFindReplaceStateChange((t=>{(t.matchCase||t.wholeWord)&&this._endSession()})))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const t={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(t,!1)}this._session=null}_setSelections(t){this._ignoreSelectionChange=!0,this._editor.setSelections(t),this._ignoreSelectionChange=!1}_expandEmptyToWord(t,i){if(!i.isEmpty())return i;const e=this._editor.getConfiguredWordAtPosition(i.getStartPosition());return e?new Ls(i.startLineNumber,e.startColumn,i.startLineNumber,e.endColumn):i}_applySessionResult(t){t&&(this._setSelections(t.selections),t.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(t.revealRange,t.revealScrollType))}getSession(t){return this._session}addSelectionToNextFindMatch(t){if(this._editor.hasModel()){if(!this._session){const i=this._editor.getSelections();if(i.length>1){const e=t.getState().matchCase;if(!M7(this._editor.getModel(),i,e)){const t=this._editor.getModel(),e=[];for(let s=0,n=i.length;s0&&e.isRegex){i=this._editor.getModel().findMatches(e.searchString,!e.searchScope||e.searchScope,e.isRegex,e.matchCase,e.wholeWord?this._editor.getOption(129):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(t),!this._session)return;i=this._session.selectAll(e.searchScope)}if(i.length>0){const t=this._editor.getSelection();for(let e=0,s=i.length;enew Ls(t.range.startLineNumber,t.range.startColumn,t.range.endLineNumber,t.range.endColumn))))}}}S7.ID="editor.contrib.multiCursorController";class D7 extends su{run(t,i){const e=S7.get(i);if(!e)return;const s=i._getViewModel();if(s){const n=s.getCursorStates(),o=S4.get(i);if(o)this._run(e,o);else{const s=t.get(ur).createInstance(S4,i);this._run(e,s),s.dispose()}k7(n,s.getCursorStates())}}}class E7{constructor(t,i,e,s,n){this._model=t,this._searchText=i,this._matchCase=e,this._wordSeparators=s,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,n&&this._model===n._model&&this._searchText===n._searchText&&this._matchCase===n._matchCase&&this._wordSeparators===n._wordSeparators&&this._modelVersionId===n._modelVersionId&&(this._cachedFindMatches=n._cachedFindMatches)}findMatches(){return null===this._cachedFindMatches&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map((t=>t.range)),this._cachedFindMatches.sort(Ms.compareRangesUsingStarts)),this._cachedFindMatches}}let A7=y7=class extends ie{constructor(t,i){super(),this._languageFeaturesService=i,this.editor=t,this._isEnabled=t.getOption(107),this._decorations=t.createDecorationsCollection(),this.updateSoon=this._register(new pc((()=>this._update()),300)),this.state=null,this._register(t.onDidChangeConfiguration((()=>{this._isEnabled=t.getOption(107)}))),this._register(t.onDidChangeCursorSelection((t=>{this._isEnabled&&(t.selection.isEmpty()?3===t.reason?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())}))),this._register(t.onDidChangeModel((()=>{this._setState(null)}))),this._register(t.onDidChangeModelContent((()=>{this._isEnabled&&this.updateSoon.schedule()})));const e=S4.get(t);e&&this._register(e.getState().onFindReplaceStateChange((()=>{this._update()}))),this.updateSoon.schedule()}_update(){this._setState(y7._createState(this.state,this._isEnabled,this.editor))}static _createState(t,i,e){if(!i)return null;if(!e.hasModel())return null;const s=e.getSelection();if(s.startLineNumber!==s.endLineNumber)return null;const n=S7.get(e);if(!n)return null;const o=S4.get(e);if(!o)return null;let r=n.getSession(o);if(!r){const t=e.getSelections();if(t.length>1){const i=o.getState().matchCase;if(!M7(e.getModel(),t,i))return null}r=C7.create(e,o)}if(!r)return null;if(r.currentMatch)return null;if(/^[ \t]+$/.test(r.searchText))return null;if(r.searchText.length>200)return null;const h=o.getState(),c=h.matchCase;if(h.isRevealed){let t=h.searchString;c||(t=t.toLowerCase());let i=r.searchText;if(c||(i=i.toLowerCase()),t===i&&r.matchCase===h.matchCase&&r.wholeWord===h.wholeWord&&!h.isRegex)return null}return new E7(e.getModel(),r.searchText,r.matchCase,r.wholeWord?e.getOption(129):null,t)}_setState(t){if(this.state=t,!this.state)return void this._decorations.clear();if(!this.editor.hasModel())return;const i=this.editor.getModel();if(i.isTooLargeForTokenization())return;const e=this.state.findMatches(),s=this.editor.getSelections();s.sort(Ms.compareRangesUsingStarts);const n=[];for(let t=0,i=0,o=e.length,r=s.length;t=r)n.push(o),t++;else{const e=Ms.compareRangesUsingStarts(o,s[i]);e<0?(!s[i].isEmpty()&&Ms.areIntersecting(o,s[i])||n.push(o),t++):(e>0||t++,i++)}}const o="off"!==this.editor.getOption(80),r=this._languageFeaturesService.documentHighlightProvider.has(i)&&o,h=n.map((t=>({range:t,options:b7(r)})));this._decorations.set(h)}dispose(){this._setState(null),super.dispose()}};function M7(t,i,e){const s=L7(t,i[0],!e);for(let n=1,o=i.length;n=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,gg)],A7),lu(S7.ID,S7,4),lu(A7.ID,A7,1),cu(class extends su{constructor(){super({id:"editor.action.insertCursorAbove",label:rt(0,"Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:UC.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"&&Add Cursor Above"),order:2}})}run(t,i,e){if(!i.hasModel())return;let s=!0;e&&!1===e.logicalLine&&(s=!1);const n=i._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const o=n.getCursorStates();n.setCursorStates(e.source,3,EC.addCursorUp(n,o,s)),n.revealTopMostCursor(e.source),k7(o,n.getCursorStates())}}),cu(class extends su{constructor(){super({id:"editor.action.insertCursorBelow",label:rt(0,"Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:UC.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"A&&dd Cursor Below"),order:3}})}run(t,i,e){if(!i.hasModel())return;let s=!0;e&&!1===e.logicalLine&&(s=!1);const n=i._getViewModel();if(n.cursorConfig.readOnly)return;n.model.pushStackElement();const o=n.getCursorStates();n.setCursorStates(e.source,3,EC.addCursorDown(n,o,s)),n.revealBottomMostCursor(e.source),k7(o,n.getCursorStates())}}),cu(class extends su{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:rt(0,"Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:UC.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(t,i,e){if(!t.isEmpty()){for(let s=t.startLineNumber;s1&&e.push(new Ls(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn))}}run(t,i){if(!i.hasModel())return;const e=i.getModel(),s=i.getSelections(),n=i._getViewModel(),o=n.getCursorStates(),r=[];s.forEach((t=>this.getCursorsForSelection(t,e,r))),r.length>0&&i.setSelections(r),k7(o,n.getCursorStates())}}),cu(class extends D7{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:rt(0,"Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:2082,weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Add &&Next Occurrence"),order:5}})}_run(t,i){t.addSelectionToNextFindMatch(i)}}),cu(class extends D7{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:rt(0,"Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Add P&&revious Occurrence"),order:6}})}_run(t,i){t.addSelectionToPreviousFindMatch(i)}}),cu(class extends D7{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:rt(0,"Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:Ne(2089,2082),weight:100}})}_run(t,i){t.moveSelectionToNextFindMatch(i)}}),cu(class extends D7{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:rt(0,"Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(t,i){t.moveSelectionToPreviousFindMatch(i)}}),cu(class extends D7{constructor(){super({id:"editor.action.selectHighlights",label:rt(0,"Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:3114,weight:100},menuOpts:{menuId:Rh.MenubarSelectionMenu,group:"3_multi",title:rt(0,"Select All &&Occurrences"),order:7}})}_run(t,i){t.selectAll(i)}}),cu(class extends D7{constructor(){super({id:"editor.action.changeAll",label:rt(0,"Change All Occurrences"),alias:"Change All Occurrences",precondition:zr.and(UC.writable,UC.editorTextFocus),kbOpts:{kbExpr:UC.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(t,i){t.selectAll(i)}}),cu(class extends su{constructor(){super({id:"editor.action.addCursorsToBottom",label:rt(0,"Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getSelections(),s=i.getModel().getLineCount(),n=[];for(let t=e[0].startLineNumber;t<=s;t++)n.push(new Ls(t,e[0].startColumn,t,e[0].endColumn));const o=i._getViewModel(),r=o.getCursorStates();n.length>0&&i.setSelections(n),k7(r,o.getCursorStates())}}),cu(class extends su{constructor(){super({id:"editor.action.addCursorsToTop",label:rt(0,"Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getSelections(),s=[];for(let t=e[0].startLineNumber;t>=1;t--)s.push(new Ls(t,e[0].startColumn,t,e[0].endColumn));const n=i._getViewModel(),o=n.getCursorStates();s.length>0&&i.setSelections(s),k7(o,n.getCursorStates())}}),cu(class extends su{constructor(){super({id:"editor.action.focusNextCursor",label:rt(0,"Focus Next Cursor"),metadata:{description:rt(0,"Focuses the next cursor"),args:[]},alias:"Focus Next Cursor",precondition:void 0})}run(t,i,e){if(!i.hasModel())return;const s=i._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const n=Array.from(s.getCursorStates()),o=n.shift();o&&(n.push(o),s.setCursorStates(e.source,3,n),s.revealPrimaryCursor(e.source,!0),k7(n,s.getCursorStates()))}}),cu(class extends su{constructor(){super({id:"editor.action.focusPreviousCursor",label:rt(0,"Focus Previous Cursor"),metadata:{description:rt(0,"Focuses the previous cursor"),args:[]},alias:"Focus Previous Cursor",precondition:void 0})}run(t,i,e){if(!i.hasModel())return;const s=i._getViewModel();if(s.cursorConfig.readOnly)return;s.model.pushStackElement();const n=Array.from(s.getCursorStates()),o=n.pop();o&&(n.unshift(o),s.setCursorStates(e.source,3,n),s.revealPrimaryCursor(e.source,!0),k7(n,s.getCursorStates()))}});const F7={Visible:new ch("parameterHintsVisible",!1),MultipleSignatures:new ch("parameterHintsMultipleSignatures",!1)};async function T7(t,i,e,s,n){const o=t.ordered(i);for(const t of o)try{const o=await t.provideSignatureHelp(i,e,n,s);if(o)return o}catch(t){$i(t)}}var R7;Dr.registerCommand("_executeSignatureHelpProvider",(async(t,...i)=>{const[e,s,n]=i;K(ms.isUri(e)),K(As.isIPosition(s)),K("string"==typeof n||!n);const o=t.get(gg),r=await t.get(gr).createModelReference(e);try{const t=await T7(o.signatureHelpProvider,r.object.textEditorModel,As.lift(s),{triggerKind:Ws.Invoke,isRetrigger:!1,triggerCharacter:n},xe.None);if(!t)return;return setTimeout((()=>t.dispose()),0),t.value}finally{r.dispose()}})),function(t){t.Default={type:0},t.Pending=class{constructor(t,i){this.request=t,this.previouslyActiveHints=i,this.type=2}},t.Active=class{constructor(t){this.hints=t,this.type=1}}}(R7||(R7={}));class O7 extends ie{constructor(t,i,e=O7.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new fe),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=R7.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new ee),this.triggerChars=new bf,this.retriggerChars=new bf,this.triggerId=0,this.editor=t,this.providers=i,this.throttledDelayer=new hc(e),this._register(this.editor.onDidBlurEditorWidget((()=>this.cancel()))),this._register(this.editor.onDidChangeConfiguration((()=>this.onEditorConfigurationChange()))),this._register(this.editor.onDidChangeModel((()=>this.onModelChanged()))),this._register(this.editor.onDidChangeModelLanguage((()=>this.onModelChanged()))),this._register(this.editor.onDidChangeCursorSelection((t=>this.onCursorChange(t)))),this._register(this.editor.onDidChangeModelContent((()=>this.onModelContentChange()))),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType((t=>this.onDidType(t)))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(t){2===this._state.type&&this._state.request.cancel(),this._state=t}cancel(t=!1){this.state=R7.Default,this.throttledDelayer.cancel(),t||this._onChangedHints.fire(void 0)}trigger(t,i){const e=this.editor.getModel();if(!e||!this.providers.has(e))return;const s=++this.triggerId;this._pendingTriggers.push(t),this.throttledDelayer.trigger((()=>this.doTrigger(s)),i).catch(Pi)}next(){if(1!==this.state.type)return;const t=this.state.hints.signatures.length,i=this.state.hints.activeSignature,e=i%t==t-1,s=this.editor.getOption(85).cycle;!(t<2||e)||s?this.updateActiveSignature(e&&s?0:i+1):this.cancel()}previous(){if(1!==this.state.type)return;const t=this.state.hints.signatures.length,i=this.state.hints.activeSignature,e=0===i,s=this.editor.getOption(85).cycle;!(t<2||e)||s?this.updateActiveSignature(e&&s?t-1:i-1):this.cancel()}updateActiveSignature(t){1===this.state.type&&(this.state=new R7.Active({...this.state.hints,activeSignature:t}),this._onChangedHints.fire(this.state.hints))}async doTrigger(t){const i=1===this.state.type||2===this.state.type,e=this.getLastActiveHints();if(this.cancel(!0),0===this._pendingTriggers.length)return!1;const s=this._pendingTriggers.reduce(I7);this._pendingTriggers=[];const n={triggerKind:s.triggerKind,triggerCharacter:s.triggerCharacter,isRetrigger:i,activeSignatureHelp:e};if(!this.editor.hasModel())return!1;const o=this.editor.getModel(),r=this.editor.getPosition();this.state=new R7.Pending(nc((t=>T7(this.providers,o,r,n,t))),e);try{const i=await this.state.request;return t!==this.triggerId?(null==i||i.dispose(),!1):i&&i.value.signatures&&0!==i.value.signatures.length?(this.state=new R7.Active(i.value),this._lastSignatureHelpResult.value=i,this._onChangedHints.fire(this.state.hints),!0):(null==i||i.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1)}catch(i){return t===this.triggerId&&(this.state=R7.Default),Pi(i),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return 1===this.state.type||2===this.state.type||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const t=this.editor.getModel();if(t)for(const i of this.providers.ordered(t)){for(const t of i.signatureHelpTriggerCharacters||[])if(t.length){const i=t.charCodeAt(0);this.triggerChars.add(i),this.retriggerChars.add(i)}for(const t of i.signatureHelpRetriggerCharacters||[])t.length&&this.retriggerChars.add(t.charCodeAt(0))}}onDidType(t){if(!this.triggerOnType)return;const i=t.length-1,e=t.charCodeAt(i);(this.triggerChars.has(e)||this.isTriggered&&this.retriggerChars.has(e))&&this.trigger({triggerKind:Ws.TriggerCharacter,triggerCharacter:t.charAt(i)})}onCursorChange(t){"mouse"===t.source?this.cancel():this.isTriggered&&this.trigger({triggerKind:Ws.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:Ws.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(85).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}function I7(t,i){switch(i.triggerKind){case Ws.Invoke:return i;case Ws.ContentChange:return t;default:return i}}O7.DEFAULT_DELAY=120;var _7,N7=function(t,i){return function(e,s){i(e,s,t)}};const B7=$l,P7=_z("parameter-hints-next",Os.chevronDown,rt(0,"Icon for show next parameter hint.")),$7=_z("parameter-hints-previous",Os.chevronUp,rt(0,"Icon for show previous parameter hint."));let W7=_7=class extends ie{constructor(t,i,e,s,n){super(),this.editor=t,this.model=i,this.renderDisposeables=this._register(new te),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new eQ({editor:t},n,s)),this.keyVisible=F7.Visible.bindTo(e),this.keyMultipleSignatures=F7.MultipleSignatures.bindTo(e)}createParameterHintDOMNodes(){const t=B7(".editor-widget.parameter-hints-widget"),i=Ol(t,B7(".phwrapper"));i.tabIndex=-1;const e=Ol(i,B7(".controls")),s=Ol(e,B7(".button"+Cr.asCSSSelector($7))),n=Ol(e,B7(".overloads")),o=Ol(e,B7(".button"+Cr.asCSSSelector(P7)));this._register(Va(s,"click",(t=>{Fl(t),this.previous()}))),this._register(Va(o,"click",(t=>{Fl(t),this.next()})));const r=B7(".body"),h=new Sk(r,{alwaysConsumeMouseWheel:!0});this._register(h),i.appendChild(h.getDomNode());const c=Ol(r,B7(".signature")),a=Ol(r,B7(".docs"));t.style.userSelect="text",this.domNodes={element:t,signature:c,overloads:n,docs:a,scrollbar:h},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection((()=>{this.visible&&this.editor.layoutContentWidget(this)})));const l=()=>{if(!this.domNodes)return;const t=this.editor.getOption(50);this.domNodes.element.style.fontSize=`${t.fontSize}px`,this.domNodes.element.style.lineHeight=""+t.lineHeight/t.fontSize};l(),this._register(ce.chain(this.editor.onDidChangeConfiguration.bind(this.editor),(t=>t.filter((t=>t.hasChanged(50)))))(l)),this._register(this.editor.onDidLayoutChange((()=>this.updateMaxHeight()))),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout((()=>{var t;null===(t=this.domNodes)||void 0===t||t.element.classList.add("visible")}),100),this.editor.layoutContentWidget(this))}hide(){var t;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,null===(t=this.domNodes)||void 0===t||t.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(t){var i;if(this.renderDisposeables.clear(),!this.domNodes)return;const e=t.signatures.length>1;this.domNodes.element.classList.toggle("multiple",e),this.keyMultipleSignatures.set(e),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const s=t.signatures[t.activeSignature];if(!s)return;const n=Ol(this.domNodes.signature,B7(".code")),o=this.editor.getOption(50);n.style.fontSize=`${o.fontSize}px`,n.style.fontFamily=o.fontFamily;const r=null!==(i=s.activeParameter)&&void 0!==i?i:t.activeParameter;s.parameters.length>0?this.renderParameters(n,s,r):Ol(n,B7("span")).textContent=s.label;const h=s.parameters[r];if(null==h?void 0:h.documentation){const t=B7("span.documentation");if("string"==typeof h.documentation)t.textContent=h.documentation;else{const i=this.renderMarkdownDocs(h.documentation);t.appendChild(i.element)}Ol(this.domNodes.docs,B7("p",{},t))}if(void 0===s.documentation);else if("string"==typeof s.documentation)Ol(this.domNodes.docs,B7("p",{},s.documentation));else{const t=this.renderMarkdownDocs(s.documentation);Ol(this.domNodes.docs,t.element)}const c=this.hasDocs(s,h);if(this.domNodes.signature.classList.toggle("has-docs",c),this.domNodes.docs.classList.toggle("empty",!c),this.domNodes.overloads.textContent=String(t.activeSignature+1).padStart(t.signatures.length.toString().length,"0")+"/"+t.signatures.length,h){let t="";const i=s.parameters[r];t=Array.isArray(i.label)?s.label.substring(i.label[0],i.label[1]):i.label,i.documentation&&(t+="string"==typeof i.documentation?`, ${i.documentation}`:`, ${i.documentation.value}`),s.documentation&&(t+="string"==typeof s.documentation?`, ${s.documentation}`:`, ${s.documentation.value}`),this.announcedLabel!==t&&(Tm(rt(0,"{0}, hint",t)),this.announcedLabel=t)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(t){const i=this.renderDisposeables.add(this.markdownRenderer.render(t,{asyncRenderCallback:()=>{var t;null===(t=this.domNodes)||void 0===t||t.scrollbar.scanDomNode()}}));return i.element.classList.add("markdown-docs"),i}hasDocs(t,i){return!!(i&&"string"==typeof i.documentation&&G(i.documentation).length>0||i&&"object"==typeof i.documentation&&G(i.documentation).value.length>0||t.documentation&&"string"==typeof t.documentation&&G(t.documentation).length>0||t.documentation&&"object"==typeof t.documentation&&G(t.documentation.value).length>0)}renderParameters(t,i,e){const[s,n]=this.getParameterLabelOffsets(i,e),o=document.createElement("span");o.textContent=i.label.substring(0,s);const r=document.createElement("span");r.textContent=i.label.substring(s,n),r.className="parameter active";const h=document.createElement("span");h.textContent=i.label.substring(n),Ol(t,o,r,h)}getParameterLabelOffsets(t,i){const e=t.parameters[i];if(e){if(Array.isArray(e.label))return e.label;if(e.label.length){const i=new RegExp(`(\\W|^)${Gn(e.label)}(?=\\W|$)`,"g");i.test(t.label);const s=i.lastIndex-e.label.length;return s>=0?[s,i.lastIndex]:[0,0]}return[0,0]}return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return _7.ID}updateMaxHeight(){if(!this.domNodes)return;const t=`${Math.max(this.editor.getLayoutInfo().height/4,250)}px`;this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}};W7.ID="editor.widget.parameterHintsWidget",W7=_7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([N7(2,ah),N7(3,nP),N7(4,yd)],W7),ow("editorHoverWidget.highlightForeground",{dark:sb,light:sb,hcDark:sb,hcLight:sb},rt(0,"Foreground color of the active item in the parameter hint."));var j7,z7=function(t,i){return function(e,s){i(e,s,t)}};let H7=j7=class extends ie{static get(t){return t.getContribution(j7.ID)}constructor(t,i,e){super(),this.editor=t,this.model=this._register(new O7(t,e.signatureHelpProvider)),this._register(this.model.onChangedHints((t=>{var i;t?(this.widget.value.show(),this.widget.value.render(t)):null===(i=this.widget.rawValue)||void 0===i||i.hide()}))),this.widget=new zn((()=>this._register(i.createInstance(W7,this.editor,this.model))))}cancel(){this.model.cancel()}previous(){var t;null===(t=this.widget.rawValue)||void 0===t||t.previous()}next(){var t;null===(t=this.widget.rawValue)||void 0===t||t.next()}trigger(t){this.model.trigger(t,0)}};H7.ID="editor.controller.parameterHints",H7=j7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([z7(1,ur),z7(2,gg)],H7),lu(H7.ID,H7,2),cu(class extends su{constructor(){super({id:"editor.action.triggerParameterHints",label:rt(0,"Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:UC.hasSignatureHelpProvider,kbOpts:{kbExpr:UC.editorTextFocus,primary:3082,weight:100}})}run(t,i){const e=H7.get(i);null==e||e.trigger({triggerKind:Ws.Invoke})}});const V7=eu.bindToContribution(H7.get);hu(new V7({id:"closeParameterHints",precondition:F7.Visible,handler:t=>t.cancel(),kbOpts:{weight:175,kbExpr:UC.focus,primary:9,secondary:[1033]}})),hu(new V7({id:"showPrevParameterHint",precondition:zr.and(F7.Visible,F7.MultipleSignatures),handler:t=>t.previous(),kbOpts:{weight:175,kbExpr:UC.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),hu(new V7({id:"showNextParameterHint",precondition:zr.and(F7.Visible,F7.MultipleSignatures),handler:t=>t.next(),kbOpts:{weight:175,kbExpr:UC.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var U7=function(t,i){return function(e,s){i(e,s,t)}};const q7=new ch("renameInputVisible",!1,rt(0,"Whether the rename input widget is visible"));let K7=class{constructor(t,i,e,s,n){this._editor=t,this._acceptKeybindings=i,this._themeService=e,this._keybindingService=s,this._disposables=new te,this.allowEditorOverflow=!0,this._visibleContextKey=q7.bindTo(n),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(50)&&this._updateFont()}))),this._disposables.add(e.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._input=document.createElement("input"),this._input.className="rename-input",this._input.type="text",this._input.setAttribute("aria-label",rt(0,"Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._input),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(t){var i,e,s,n;if(!this._input||!this._domNode)return;const o=t.getColor(fw),r=t.getColor(pw);this._domNode.style.backgroundColor=String(null!==(i=t.getColor(nv))&&void 0!==i?i:""),this._domNode.style.boxShadow=o?` 0 0 8px 2px ${o}`:"",this._domNode.style.border=r?`1px solid ${r}`:"",this._domNode.style.color=String(null!==(e=t.getColor(mw))&&void 0!==e?e:""),this._input.style.backgroundColor=String(null!==(s=t.getColor(gw))&&void 0!==s?s:"");const h=t.getColor(ww);this._input.style.borderWidth=h?"1px":"0px",this._input.style.borderStyle=h?"solid":"none",this._input.style.borderColor=null!==(n=null==h?void 0:h.toString())&&void 0!==n?n:"none"}_updateFont(){if(!this._input||!this._label)return;const t=this._editor.getOption(50);this._input.style.fontFamily=t.fontFamily,this._input.style.fontWeight=t.fontWeight,this._input.style.fontSize=`${t.fontSize}px`,this._label.style.fontSize=.8*t.fontSize+"px"}getPosition(){return this._visible?{position:this._position,preference:[2,1]}:null}beforeRender(){var t,i;const[e,s]=this._acceptKeybindings;return this._label.innerText=rt(0,"{0} to Rename, {1} to Preview",null===(t=this._keybindingService.lookupKeybinding(e))||void 0===t?void 0:t.getLabel(),null===(i=this._keybindingService.lookupKeybinding(s))||void 0===i?void 0:i.getLabel()),null}afterRender(t){t||this.cancelInput(!0)}acceptInput(t){var i;null===(i=this._currentAcceptInput)||void 0===i||i.call(this,t)}cancelInput(t){var i;null===(i=this._currentCancelInput)||void 0===i||i.call(this,t)}getInput(t,i,e,s,n,o){this._domNode.classList.toggle("preview",n),this._position=new As(t.startLineNumber,t.startColumn),this._input.value=i,this._input.setAttribute("selectionStart",e.toString()),this._input.setAttribute("selectionEnd",s.toString()),this._input.size=Math.max(1.1*(t.endColumn-t.startColumn),20);const r=new te;return new Promise((t=>{this._currentCancelInput=i=>(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,t(i),!0),this._currentAcceptInput=e=>{0!==this._input.value.trim().length&&this._input.value!==i?(this._currentAcceptInput=void 0,this._currentCancelInput=void 0,t({newName:this._input.value,wantsPreview:n&&e})):this.cancelInput(!0)},r.add(o.onCancellationRequested((()=>this.cancelInput(!0)))),r.add(this._editor.onDidBlurEditorWidget((()=>{var t;return this.cancelInput(!(null===(t=this._domNode)||void 0===t?void 0:t.ownerDocument.hasFocus()))}))),this._show()})).finally((()=>{r.dispose(),this._hide()}))}_show(){this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout((()=>{this._input.focus(),this._input.setSelectionRange(parseInt(this._input.getAttribute("selectionStart")),parseInt(this._input.getAttribute("selectionEnd")))}),100)}_hide(){this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}};K7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([U7(2,qk),U7(3,Yx),U7(4,ah)],K7);var G7,Z7=function(t,i){return function(e,s){i(e,s,t)}};class Q7{constructor(t,i,e){this.model=t,this.position=i,this._providerRenameIdx=0,this._providers=e.ordered(t)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(t){const i=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?i.join("\n"):void 0}:{range:Ms.fromPositions(this.position),text:"",rejectReason:i.length>0?i.join("\n"):void 0}}async provideRenameEdits(t,i){return this._provideRenameEdits(t,this._providerRenameIdx,[],i)}async _provideRenameEdits(t,i,e,s){const n=this._providers[i];if(!n)return{edits:[],rejectReason:e.join("\n")};const o=await n.provideRenameEdits(this.model,this.position,t,s);return o?o.rejectReason?this._provideRenameEdits(t,i+1,e.concat(o.rejectReason),s):o:this._provideRenameEdits(t,i+1,e.concat(rt(0,"No result.")),s)}}let J7=G7=class{static get(t){return t.getContribution(G7.ID)}constructor(t,i,e,s,n,o,r,h){this.editor=t,this._instaService=i,this._notificationService=e,this._bulkEditService=s,this._progressService=n,this._logService=o,this._configService=r,this._languageFeaturesService=h,this._disposableStore=new te,this._cts=new Se,this._renameInputField=this._disposableStore.add(this._instaService.createInstance(K7,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var t,i;if(this._cts.dispose(!0),this._cts=new Se,!this.editor.hasModel())return;const e=this.editor.getPosition(),s=new Q7(this.editor.getModel(),e,this._languageFeaturesService.renameProvider);if(!s.hasProvider())return;const n=new gK(this.editor,5,void 0,this._cts.token);let o;try{const t=s.resolveRenameLocation(n.token);this._progressService.showWhile(t,250),o=await t}catch(i){return void(null===(t=hQ.get(this.editor))||void 0===t||t.showMessage(i||rt(0,"An unknown error occurred while resolving rename location"),e))}finally{n.dispose()}if(!o)return;if(o.rejectReason)return void(null===(i=hQ.get(this.editor))||void 0===i||i.showMessage(o.rejectReason,e));if(n.token.isCancellationRequested)return;const r=new gK(this.editor,5,o.range,this._cts.token),h=this.editor.getSelection();let c=0,a=o.text.length;Ms.isEmpty(h)||Ms.spansMultipleLines(h)||!Ms.containsRange(o.range,h)||(c=Math.max(0,h.startColumn-o.range.startColumn),a=Math.min(o.range.endColumn,h.endColumn)-o.range.startColumn);const l=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),u=await this._renameInputField.getInput(o.range,o.text,c,a,l,r.token);if("boolean"==typeof u)return u&&this.editor.focus(),void r.dispose();this.editor.focus();const d=oc(s.provideRenameEdits(u.newName,r.token),r.token).then((async t=>{t&&this.editor.hasModel()&&(t.rejectReason?this._notificationService.info(t.rejectReason):(this.editor.setSelection(Ms.fromPositions(this.editor.getSelection().getPosition())),this._bulkEditService.apply(t,{editor:this.editor,showPreview:u.wantsPreview,label:rt(0,"Renaming '{0}' to '{1}'",null==o?void 0:o.text,u.newName),code:"undoredo.rename",quotableLabel:rt(0,"Renaming {0} to {1}",null==o?void 0:o.text,u.newName),respectAutoSaveConfig:!0}).then((t=>{t.ariaSummary&&Tm(rt(0,"Successfully renamed '{0}' to '{1}'. Summary: {2}",o.text,u.newName,t.ariaSummary))})).catch((t=>{this._notificationService.error(rt(0,"Rename failed to apply edits")),this._logService.error(t)}))))}),(t=>{this._notificationService.error(rt(0,"Rename failed to compute edits")),this._logService.error(t)})).finally((()=>{r.dispose()}));return this._progressService.showWhile(d,250),d}acceptRenameInput(t){this._renameInputField.acceptInput(t)}cancelRenameInput(){this._renameInputField.cancelInput(!0)}};J7.ID="editor.contrib.renameController",J7=G7=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Z7(1,ur),Z7(2,JF),Z7(3,QR),Z7(4,IO),Z7(5,jh),Z7(6,fg),Z7(7,gg)],J7),lu(J7.ID,J7,4),cu(class extends su{constructor(){super({id:"editor.action.rename",label:rt(0,"Rename Symbol"),alias:"Rename Symbol",precondition:zr.and(UC.writable,UC.hasRenameProvider),kbOpts:{kbExpr:UC.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(t,i){const e=t.get(fr),[s,n]=Array.isArray(i)&&i||[void 0,void 0];return ms.isUri(s)&&As.isIPosition(n)?e.openCodeEditor({resource:s},e.getActiveCodeEditor()).then((t=>{t&&(t.setPosition(n),t.invokeWithinContext((i=>(this.reportTelemetry(i,t),this.run(i,t)))))}),Pi):super.runCommand(t,i)}run(t,i){const e=J7.get(i);return e?e.run():Promise.resolve()}});const Y7=eu.bindToContribution(J7.get);function X7(t){const i=new Uint32Array(function(t){let i=0;if(i+=2,"full"===t.type)i+=1+t.data.length;else{i+=1,i+=3*t.deltas.length;for(const e of t.deltas)e.data&&(i+=e.data.length)}return i}(t));let e=0;if(i[e++]=t.id,"full"===t.type)i[e++]=1,i[e++]=t.data.length,i.set(t.data,e),e+=t.data.length;else{i[e++]=2,i[e++]=t.deltas.length;for(const s of t.deltas)i[e++]=s.start,i[e++]=s.deleteCount,s.data?(i[e++]=s.data.length,i.set(s.data,e),e+=s.data.length):i[e++]=0}return function(t){const i=new Uint8Array(t.buffer,t.byteOffset,4*t.length);return Pt()||function(t){for(let i=0,e=t.length;it.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:zr.and(UC.focus,zr.not("isComposing")),primary:3}})),hu(new Y7({id:"acceptRenameInputWithPreview",precondition:zr.and(q7,zr.has("config.editor.rename.enablePreview")),handler:t=>t.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:zr.and(UC.focus,zr.not("isComposing")),primary:1027}})),hu(new Y7({id:"cancelRenameInput",precondition:q7,handler:t=>t.cancelRenameInput(),kbOpts:{weight:199,kbExpr:UC.focus,primary:9,secondary:[1033]}})),ru("_executeDocumentRenameProvider",(function(t,i,e,...s){const[n]=s;K("string"==typeof n);const{renameProvider:o}=t.get(gg);return async function(t,i,e,s){const n=new Q7(i,e,t),o=await n.resolveRenameLocation(xe.None);return(null==o?void 0:o.rejectReason)?{edits:[],rejectReason:o.rejectReason}:n.provideRenameEdits(s,xe.None)}(o,i,e,n)})),ru("_executePrepareRename",(async function(t,i,e){const{renameProvider:s}=t.get(gg),n=new Q7(i,e,s),o=await n.resolveRenameLocation(xe.None);if(null==o?void 0:o.rejectReason)throw new Error(o.rejectReason);return o})),Dh.as(Md).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:rt(0,"Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});class e8{constructor(t,i,e){this.provider=t,this.tokens=i,this.error=e}}function s8(t,i){return t.has(i)}async function n8(t,i,e,s,n){const o=function(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:[]}(t,i),r=await Promise.all(o.map((async t=>{let o,r=null;try{o=await t.provideDocumentSemanticTokens(i,t===e?s:null,n)}catch(t){r=t,o=null}return o&&(t8(o)||i8(o))||(o=null),new e8(t,o,r)})));for(const t of r){if(t.error)throw t.error;if(t.tokens)return t}return r.length>0?r[0]:null}class o8{constructor(t,i){this.provider=t,this.tokens=i}}function r8(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:[]}async function h8(t,i,e,s){const n=r8(t,i),o=await Promise.all(n.map((async t=>{let n;try{n=await t.provideDocumentRangeSemanticTokens(i,e,s)}catch(t){$i(t),n=null}return n&&t8(n)||(n=null),new o8(t,n)})));for(const t of o)if(t.tokens)return t;return o.length>0?o[0]:null}Dr.registerCommand("_provideDocumentSemanticTokensLegend",(async(t,...i)=>{const[e]=i;K(e instanceof ms);const s=t.get(pr).getModel(e);if(!s)return;const{documentSemanticTokensProvider:n}=t.get(gg),o=function(t,i){const e=t.orderedGroups(i);return e.length>0?e[0]:null}(n,s);return o?o[0].getLegend():t.get(Sr).executeCommand("_provideDocumentRangeSemanticTokensLegend",e)})),Dr.registerCommand("_provideDocumentSemanticTokens",(async(t,...i)=>{const[e]=i;K(e instanceof ms);const s=t.get(pr).getModel(e);if(!s)return;const{documentSemanticTokensProvider:n}=t.get(gg);if(!s8(n,s))return t.get(Sr).executeCommand("_provideDocumentRangeSemanticTokens",e,s.getFullModelRange());const o=await n8(n,s,null,null,xe.None);if(!o)return;const{provider:r,tokens:h}=o;if(!h||!t8(h))return;const c=X7({id:0,type:"full",data:h.data});return h.resultId&&r.releaseDocumentSemanticTokens(h.resultId),c})),Dr.registerCommand("_provideDocumentRangeSemanticTokensLegend",(async(t,...i)=>{const[e,s]=i;K(e instanceof ms);const n=t.get(pr).getModel(e);if(!n)return;const{documentRangeSemanticTokensProvider:o}=t.get(gg),r=r8(o,n);if(0===r.length)return;if(1===r.length)return r[0].getLegend();if(!s||!Ms.isIRange(s))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),r[0].getLegend();const h=await h8(o,n,Ms.lift(s),xe.None);return h?h.provider.getLegend():void 0})),Dr.registerCommand("_provideDocumentRangeSemanticTokens",(async(t,...i)=>{const[e,s]=i;K(e instanceof ms),K(Ms.isIRange(s));const n=t.get(pr).getModel(e);if(!n)return;const{documentRangeSemanticTokensProvider:o}=t.get(gg),r=await h8(o,n,Ms.lift(s),xe.None);return r&&r.tokens?X7({id:0,type:"full",data:r.tokens.data}):void 0}));const c8="editor.semanticHighlighting";function a8(t,i,e){var s;const n=null===(s=e.getValue(c8,{overrideIdentifier:t.getLanguageId(),resource:t.uri}))||void 0===s?void 0:s.enabled;return"boolean"==typeof n?n:i.getColorTheme().semanticHighlighting}var l8,u8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},d8=function(t,i){return function(e,s){i(e,s,t)}};let f8=class extends ie{constructor(t,i,e,s,n,o){super(),this._watchers=Object.create(null);const r=i=>{this._watchers[i.uri.toString()]=new p8(i,t,e,n,o)},h=(t,i)=>{i.dispose(),delete this._watchers[t.uri.toString()]},c=()=>{for(const t of i.getModels()){const i=this._watchers[t.uri.toString()];a8(t,e,s)?i||r(t):i&&h(t,i)}};this._register(i.onModelAdded((t=>{a8(t,e,s)&&r(t)}))),this._register(i.onModelRemoved((t=>{const i=this._watchers[t.uri.toString()];i&&h(t,i)}))),this._register(s.onDidChangeConfiguration((t=>{t.affectsConfiguration(c8)&&c()}))),this._register(e.onDidColorThemeChange(c))}dispose(){for(const t of Object.values(this._watchers))t.dispose();super.dispose()}};f8=u8([d8(0,yR),d8(1,pr),d8(2,qk),d8(3,pd),d8(4,hR),d8(5,gg)],f8);let p8=l8=class extends ie{constructor(t,i,e,s,n){super(),this._semanticTokensStylingService=i,this._isDisposed=!1,this._model=t,this._provider=n.documentSemanticTokensProvider,this._debounceInformation=s.for(this._provider,"DocumentSemanticTokens",{min:l8.REQUEST_MIN_DELAY,max:l8.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new pc((()=>this._fetchDocumentSemanticTokensNow()),l8.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent((()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(this._model.onDidChangeAttached((()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(this._model.onDidChangeLanguage((()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)})));const o=()=>{Ji(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const i of this._provider.all(t))"function"==typeof i.onDidChange&&this._documentProvidersChangeListeners.push(i.onDidChange((()=>{this._currentDocumentRequestCancellationTokenSource?this._providersChangedDuringRequest=!0:this._fetchDocumentSemanticTokens.schedule(0)})))};o(),this._register(this._provider.onDidChange((()=>{o(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._register(e.onDidColorThemeChange((()=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))}))),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),Ji(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!s8(this._provider,this._model))return void(this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1));if(!this._model.isAttachedToEditor())return;const t=new Se,i=n8(this._provider,this._model,this._currentDocumentResponse?this._currentDocumentResponse.provider:null,this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,t.token);this._currentDocumentRequestCancellationTokenSource=t,this._providersChangedDuringRequest=!1;const e=[],s=this._model.onDidChangeContent((t=>{e.push(t)})),n=new he(!1);i.then((t=>{if(this._debounceInformation.update(this._model,n.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),t){const{provider:i,tokens:s}=t,n=this._semanticTokensStylingService.getStyling(i);this._setDocumentSemanticTokens(i,s||null,n,e)}else this._setDocumentSemanticTokens(null,null,null,e)}),(t=>{t&&(zi(t)||"string"==typeof t.message&&-1!==t.message.indexOf("busy"))||Pi(t),this._currentDocumentRequestCancellationTokenSource=null,s.dispose(),(e.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))}))}static _copy(t,i,e,s,n){n=Math.min(n,e.length-s,t.length-i);for(let o=0;o{(s.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed)t&&i&&t.releaseDocumentSemanticTokens(i.resultId);else if(t&&e){if(!i)return this._model.tokenization.setSemanticTokens(null,!0),void o();if(i8(i)){if(!n)return void this._model.tokenization.setSemanticTokens(null,!0);if(0===i.edits.length)i={resultId:i.resultId,data:n.data};else{let t=0;for(const e of i.edits)t+=(e.data?e.data.length:0)-e.deleteCount;const s=n.data,o=new Uint32Array(s.length+t);let r=s.length,h=o.length;for(let t=i.edits.length-1;t>=0;t--){const c=i.edits[t];if(c.start>s.length)return e.warnInvalidEditStart(n.resultId,i.resultId,t,c.start,s.length),void this._model.tokenization.setSemanticTokens(null,!0);const a=r-(c.start+c.deleteCount);a>0&&(l8._copy(s,r-a,o,h-a,a),h-=a),c.data&&(l8._copy(c.data,0,o,h-c.data.length,c.data.length),h-=c.data.length),r=c.start}r>0&&l8._copy(s,0,o,0,r),i={resultId:i.resultId,data:o}}}if(t8(i)){this._currentDocumentResponse=new g8(t,i.resultId,i.data);const n=wR(i,e,this._model.getLanguageId());if(s.length>0)for(const t of s)for(const i of n)for(const e of t.changes)i.applyEdit(e.range,e.text);this._model.tokenization.setSemanticTokens(n,!0)}else this._model.tokenization.setSemanticTokens(null,!0);o()}else this._model.tokenization.setSemanticTokens(null,!1)}};p8.REQUEST_MIN_DELAY=300,p8.REQUEST_MAX_DELAY=2e3,p8=l8=u8([d8(1,yR),d8(2,qk),d8(3,hR),d8(4,gg)],p8);class g8{constructor(t,i,e){this.provider=t,this.resultId=i,this.data=e}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}WH(f8);var m8=function(t,i){return function(e,s){i(e,s,t)}};let w8=class extends ie{constructor(t,i,e,s,n,o){super(),this._semanticTokensStylingService=i,this._themeService=e,this._configurationService=s,this._editor=t,this._provider=o.documentRangeSemanticTokensProvider,this._debounceInformation=n.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new pc((()=>this._tokenizeViewportNow()),100)),this._outstandingRequests=[];const r=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange((()=>{r()}))),this._register(this._editor.onDidChangeModel((()=>{this._cancelAll(),r()}))),this._register(this._editor.onDidChangeModelContent((()=>{this._cancelAll(),r()}))),this._register(this._provider.onDidChange((()=>{this._cancelAll(),r()}))),this._register(this._configurationService.onDidChangeConfiguration((t=>{t.affectsConfiguration(c8)&&(this._cancelAll(),r())}))),this._register(this._themeService.onDidColorThemeChange((()=>{this._cancelAll(),r()}))),r()}_cancelAll(){for(const t of this._outstandingRequests)t.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(t){for(let i=0,e=this._outstandingRequests.length;ithis._requestRange(t,i))))}_requestRange(t,i){const e=t.getVersionId(),s=nc((e=>Promise.resolve(h8(this._provider,t,i,e)))),n=new he(!1);return s.then((s=>{if(this._debounceInformation.update(t,n.elapsed()),!s||!s.tokens||t.isDisposed()||t.getVersionId()!==e)return;const{provider:o,tokens:r}=s,h=this._semanticTokensStylingService.getStyling(o);t.tokenization.setPartialSemanticTokens(i,wR(r,h,t.getLanguageId()))})).then((()=>this._removeOutstandingRequest(s)),(()=>this._removeOutstandingRequest(s))),s}};w8.ID="editor.contrib.viewportSemanticTokens",w8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([m8(1,yR),m8(2,qk),m8(3,pd),m8(4,hR),m8(5,gg)],w8),lu(w8.ID,w8,1);class v8{constructor(t=!0){this.selectSubwords=t}provideSelectionRanges(t,i){const e=[];for(const s of i){const i=[];e.push(i),this.selectSubwords&&this._addInWordRanges(i,t,s),this._addWordRanges(i,t,s),this._addWhitespaceLine(i,t,s),i.push({range:t.getFullModelRange()})}return e}_addInWordRanges(t,i,e){const s=i.getWordAtPosition(e);if(!s)return;const{word:n,startColumn:o}=s,r=e.column-o;let h=r,c=r,a=0;for(;h>=0;h--){const t=n.charCodeAt(h);if(h!==r&&(95===t||45===t))break;if(co(t)&&ao(a))break;a=t}for(h+=1;c0&&0===i.getLineFirstNonWhitespaceColumn(e.lineNumber)&&0===i.getLineLastNonWhitespaceColumn(e.lineNumber)&&t.push({range:new Ms(e.lineNumber,1,e.lineNumber,i.getLineMaxColumn(e.lineNumber))})}}var b8;class y8{constructor(t,i){this.index=t,this.ranges=i}mov(t){const i=this.index+(t?1:-1);if(i<0||i>=this.ranges.length)return this;const e=new y8(i,this.ranges);return e.ranges[i].equalsRange(this.ranges[this.index])?e.mov(t):e}}let k8=b8=class{static get(t){return t.getContribution(b8.ID)}constructor(t,i){this._editor=t,this._languageFeaturesService=i,this._ignoreSelection=!1}dispose(){var t;null===(t=this._selectionListener)||void 0===t||t.dispose()}async run(t){if(!this._editor.hasModel())return;const i=this._editor.getSelections(),e=this._editor.getModel();if(this._state||await C8(this._languageFeaturesService.selectionRangeProvider,e,i.map((t=>t.getPosition())),this._editor.getOption(112),xe.None).then((t=>{var e;if(y(t)&&t.length===i.length&&this._editor.hasModel()&&u(this._editor.getSelections(),i,((t,i)=>t.equalsSelection(i)))){for(let e=0;et.containsPosition(i[e].getStartPosition())&&t.containsPosition(i[e].getEndPosition()))),t[e].unshift(i[e]);this._state=t.map((t=>new y8(0,t))),null===(e=this._selectionListener)||void 0===e||e.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition((()=>{var t;this._ignoreSelection||(null===(t=this._selectionListener)||void 0===t||t.dispose(),this._state=void 0)}))}})),!this._state)return;this._state=this._state.map((i=>i.mov(t)));const s=this._state.map((t=>Ls.fromPositions(t.ranges[t.index].getStartPosition(),t.ranges[t.index].getEndPosition())));this._ignoreSelection=!0;try{this._editor.setSelections(s)}finally{this._ignoreSelection=!1}}};k8.ID="editor.contrib.smartSelectController",k8=b8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(1,gg)],k8);class x8 extends su{constructor(t,i){super(i),this._forward=t}async run(t,i){const e=k8.get(i);e&&await e.run(this._forward)}}async function C8(t,i,e,s,n){const o=t.all(i).concat(new v8(s.selectSubwords));1===o.length&&o.unshift(new t6);const r=[],h=[];for(const t of o)r.push(Promise.resolve(t.provideSelectionRanges(i,e,n)).then((t=>{if(y(t)&&t.length===e.length)for(let i=0;i{if(0===t.length)return[];t.sort(((t,i)=>As.isBefore(t.getStartPosition(),i.getStartPosition())?1:As.isBefore(i.getStartPosition(),t.getStartPosition())||As.isBefore(t.getEndPosition(),i.getEndPosition())?-1:As.isBefore(i.getEndPosition(),t.getEndPosition())?1:0));const e=[];let n;for(const i of t)(!n||Ms.containsRange(i,n)&&!Ms.equalsRange(i,n))&&(e.push(i),n=i);if(!s.selectLeadingAndTrailingWhitespace)return e;const o=[e[0]];for(let t=1;tt}),A8="data-sticky-line-index",M8="data-sticky-is-line",L8="data-sticky-is-folding-icon";class F8 extends ie{constructor(t){super(),this._editor=t,this._foldingIconStore=new te,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(66),this._stickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",t instanceof BJ),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const i=()=>{this._linesDomNode.style.left=this._editor.getOption(114).scrollWithEditor?`-${this._editor.getScrollLeft()}px`:"0px"};this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(114)&&i(),t.hasChanged(66)&&(this._lineHeight=this._editor.getOption(66))}))),this._register(this._editor.onDidScrollChange((t=>{t.scrollLeftChanged&&i(),t.scrollWidthChanged&&this._updateWidgetWidth()}))),this._register(this._editor.onDidChangeModel((()=>{i(),this._updateWidgetWidth()}))),this._register(this._foldingIconStore),i(),this._register(this._editor.onDidLayoutChange((()=>{this._updateWidgetWidth()}))),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getStickyLineForLine(t){return this._stickyLines.find((i=>i.lineNumber===t))}getCurrentLines(){return this._lineNumbers}setState(t,i,e=1/0){if((!this._previousState&&!t||this._previousState&&this._previousState.equals(t))&&e===1/0)return;this._previousState=t;const s=this._stickyLines;if(this._clearStickyWidget(),t&&this._editor._getViewModel()){if(t.startLineNumbers.length*this._lineHeight+t.lastLineRelativePosition>0){this._lastLineRelativePosition=t.lastLineRelativePosition;const i=[...t.startLineNumbers];null!==t.showEndForLine&&(i[t.showEndForLine]=t.endLineNumbers[t.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];this._renderRootNode(s,i,e)}}_updateWidgetWidth(){const t=this._editor.getLayoutInfo();this._lineNumbersDomNode.style.width=`${t.contentLeft}px`,this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth",this._editor.getScrollWidth()-t.verticalScrollbarWidth+"px"),this._rootDomNode.style.width=t.width-t.verticalScrollbarWidth+"px"}_clearStickyWidget(){this._stickyLines=[],this._foldingIconStore.clear(),za(this._lineNumbersDomNode),za(this._linesDomNode),this._rootDomNode.style.display="none"}_useFoldingOpacityTransition(t){this._lineNumbersDomNode.style.setProperty("--vscode-editorStickyScroll-foldingOpacityTransition",`opacity ${t?.5:0}s`)}_setFoldingIconsVisibility(t){for(const i of this._stickyLines){const e=i.foldingIcon;e&&e.setVisible(!!t||e.isCollapsed)}}async _renderRootNode(t,i,e=1/0){const s=this._editor.getLayoutInfo();for(const[n,o]of this._lineNumbers.entries()){const r=t[n],h=o>=e||(null==r?void 0:r.lineNumber)!==o?this._renderChildNode(n,o,i,s):this._updateTopAndZIndexOfStickyLine(r);h&&(this._linesDomNode.appendChild(h.lineDomNode),this._lineNumbersDomNode.appendChild(h.lineNumberDomNode),this._stickyLines.push(h))}i&&(this._setFoldingHoverListeners(),this._useFoldingOpacityTransition(!this._isOnGlyphMargin));const n=this._lineNumbers.length*this._lineHeight+this._lastLineRelativePosition;0!==n?(this._rootDomNode.style.display="block",this._lineNumbersDomNode.style.height=`${n}px`,this._linesDomNodeScrollable.style.height=`${n}px`,this._rootDomNode.style.height=`${n}px`,this._rootDomNode.style.marginLeft="0px",this._updateMinContentWidth(),this._editor.layoutOverlayWidget(this)):this._clearStickyWidget()}_setFoldingHoverListeners(){"mouseover"===this._editor.getOption(109)&&(this._foldingIconStore.add(Va(this._lineNumbersDomNode,Ll.MOUSE_ENTER,(()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)}))),this._foldingIconStore.add(Va(this._lineNumbersDomNode,Ll.MOUSE_LEAVE,(()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)}))))}_renderChildNode(t,i,e,s){const n=this._editor._getViewModel();if(!n)return;const o=n.coordinatesConverter.convertModelPositionToViewPosition(new As(i,1)).lineNumber,r=n.getViewLineRenderingData(o),h=this._editor.getOption(67);let c;try{c=Og.filter(r.inlineDecorations,o,r.minColumn,r.maxColumn)}catch(t){c=[]}const a=new $g(!0,!0,r.content,r.continuesWithWrappedLine,r.isBasicASCII,r.containsRTL,0,r.tokens,c,r.tabSize,r.startVisibleColumn,1,1,1,500,"none",!0,!0,null),l=new td(2e3),u=Hg(a,l);let d;d=E8?E8.createHTML(l.build()):l.build();const f=document.createElement("span");f.setAttribute(A8,String(t)),f.setAttribute(M8,""),f.setAttribute("role","listitem"),f.tabIndex=0,f.className="sticky-line-content",f.classList.add(`stickyLine${i}`),f.style.lineHeight=`${this._lineHeight}px`,f.innerHTML=d;const p=document.createElement("span");p.setAttribute(A8,String(t)),p.setAttribute("data-sticky-is-line-number",""),p.className="sticky-line-number",p.style.lineHeight=`${this._lineHeight}px`,p.style.width=`${s.contentLeft}px`;const g=document.createElement("span");1===h.renderType||3===h.renderType&&i%10==0?g.innerText=i.toString():2===h.renderType&&(g.innerText=Math.abs(i-this._editor.getPosition().lineNumber).toString()),g.className="sticky-line-number-inner",g.style.lineHeight=`${this._lineHeight}px`,g.style.width=`${s.lineNumbersWidth}px`,g.style.paddingLeft=`${s.lineNumbersLeft}px`,p.appendChild(g);const m=this._renderFoldingIconForLine(e,i);m&&p.appendChild(m.domNode),this._editor.applyFontInfo(f),this._editor.applyFontInfo(g),p.style.lineHeight=`${this._lineHeight}px`,f.style.lineHeight=`${this._lineHeight}px`,p.style.height=`${this._lineHeight}px`,f.style.height=`${this._lineHeight}px`;const w=new T8(t,i,f,p,m,u.characterMapping);return this._updateTopAndZIndexOfStickyLine(w)}_updateTopAndZIndexOfStickyLine(t){var i;const e=t.index,s=t.lineDomNode,n=t.lineNumberDomNode,o=e===this._lineNumbers.length-1;s.style.zIndex=o?"0":"1",n.style.zIndex=o?"0":"1";const r=`${e*this._lineHeight+this._lastLineRelativePosition+((null===(i=t.foldingIcon)||void 0===i?void 0:i.isCollapsed)?1:0)}px`,h=e*this._lineHeight+"px";return s.style.top=o?r:h,n.style.top=o?r:h,t}_renderFoldingIconForLine(t,i){const e=this._editor.getOption(109);if(!t||"never"===e)return;const s=t.regions,n=s.findRange(i),o=s.getStartLineNumber(n);if(i!==o)return;const r=s.isCollapsed(n),h=new R8(r,o,s.getEndLineNumber(n),this._lineHeight);return h.setVisible(!!this._isOnGlyphMargin||r||"always"===e),h.domNode.setAttribute(L8,""),h}_updateMinContentWidth(){this._minContentWidthInPx=0;for(const t of this._stickyLines)t.lineDomNode.scrollWidth>this._minContentWidthInPx&&(this._minContentWidthInPx=t.lineDomNode.scrollWidth);this._minContentWidthInPx+=this._editor.getLayoutInfo().verticalScrollbarWidth}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:null}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(t){0<=t&&t0)return null;const i=this._getRenderedStickyLineFromChildDomNode(t);if(!i)return null;const e=Uy(i.characterMapping,t,0);return new As(i.lineNumber,e)}getLineNumberFromChildDomNode(t){var i,e;return null!==(e=null===(i=this._getRenderedStickyLineFromChildDomNode(t))||void 0===i?void 0:i.lineNumber)&&void 0!==e?e:null}_getRenderedStickyLineFromChildDomNode(t){const i=this.getLineIndexFromChildDomNode(t);return null===i||i<0||i>=this._stickyLines.length?null:this._stickyLines[i]}getLineIndexFromChildDomNode(t){const i=this._getAttributeValue(t,A8);return i?parseInt(i,10):null}isInStickyLine(t){return void 0!==this._getAttributeValue(t,M8)}isInFoldingIconDomNode(t){return void 0!==this._getAttributeValue(t,L8)}_getAttributeValue(t,i){for(;t&&t!==this._rootDomNode;){const e=t.getAttribute(i);if(null!==e)return e;t=t.parentElement}}}class T8{constructor(t,i,e,s,n,o){this.index=t,this.lineNumber=i,this.lineDomNode=e,this.lineNumberDomNode=s,this.foldingIcon=n,this.characterMapping=o}}class R8{constructor(t,i,e,s){this.isCollapsed=t,this.foldingStartLine=i,this.foldingEndLine=e,this.dimension=s,this.domNode=document.createElement("div"),this.domNode.style.width=`${s}px`,this.domNode.style.height=`${s}px`,this.domNode.className=Cr.asClassName(t?Q4:Z4)}setVisible(t){this.domNode.style.cursor=t?"pointer":"default",this.domNode.style.opacity=t?"1":"0"}}class O8{constructor(t,i){this.startLineNumber=t,this.endLineNumber=i}}class I8{constructor(t,i,e){this.range=t,this.children=i,this.parent=e}}class _8{constructor(t,i,e,s){this.uri=t,this.version=i,this.element=e,this.outlineProviderId=s}}var N8,B8,P8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},$8=function(t,i){return function(e,s){i(e,s,t)}};!function(t){t.OUTLINE_MODEL="outlineModel",t.FOLDING_PROVIDER_MODEL="foldingProviderModel",t.INDENTATION_MODEL="indentationModel"}(N8||(N8={})),function(t){t[t.VALID=0]="VALID",t[t.INVALID=1]="INVALID",t[t.CANCELED=2]="CANCELED"}(B8||(B8={}));let W8=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._languageConfigurationService=i,this._languageFeaturesService=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new hc(300)),this._updateOperation=this._register(new te);const n=new z8(e),o=new U8(this._editor,e),r=new V8(this._editor,i);switch(s){case N8.OUTLINE_MODEL:this._modelProviders.push(n),this._modelProviders.push(o),this._modelProviders.push(r);break;case N8.FOLDING_PROVIDER_MODEL:this._modelProviders.push(o),this._modelProviders.push(r);break;case N8.INDENTATION_MODEL:this._modelProviders.push(r)}}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(t,i,e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger((async()=>{for(const s of this._modelProviders){const{statusPromise:n,modelPromise:o}=s.computeStickyModel(t,i,e);this._modelPromise=o;const r=await n;if(this._modelPromise!==o)return null;switch(r){case B8.CANCELED:return this._updateOperation.clear(),null;case B8.VALID:return s.stickyModel}}return null})).catch((t=>(Pi(t),null)))}};W8=P8([$8(1,qd),$8(2,gg)],W8);class j8{constructor(){this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,B8.INVALID}computeStickyModel(t,i,e){if(e.isCancellationRequested||!this.isProviderValid(t))return{statusPromise:this._invalid(),modelPromise:null};const s=nc((e=>this.createModelFromProvider(t,i,e)));return{statusPromise:s.then((s=>this.isModelValid(s)?e.isCancellationRequested?B8.CANCELED:(this._stickyModel=this.createStickyModel(t,i,e,s),B8.VALID):this._invalid())).then(void 0,(t=>(Pi(t),B8.CANCELED))),modelPromise:s}}isModelValid(t){return!0}isProviderValid(t){return!0}}let z8=class extends j8{constructor(t){super(),this._languageFeaturesService=t}createModelFromProvider(t,i,e){return k5.create(this._languageFeaturesService.documentSymbolProvider,t,e)}createStickyModel(t,i,e,s){var n;const{stickyOutlineElement:o,providerID:r}=this._stickyModelFromOutlineModel(s,null===(n=this._stickyModel)||void 0===n?void 0:n.outlineProviderId);return new _8(t.uri,i,o,r)}isModelValid(t){return t&&t.children.size>0}_stickyModelFromOutlineModel(t,i){let e;if(Vt.first(t.children.values())instanceof y5){const s=Vt.find(t.children.values(),(t=>t.id===i));if(s)e=s.children;else{let s,n="",o=-1;for(const[i,e]of t.children.entries()){const t=this._findSumOfRangesOfGroup(e);t>o&&(s=e,o=t,n=e.id)}i=n,e=s.children}}else e=t.children;const s=[],n=Array.from(e.values()).sort(((t,i)=>{const e=new O8(t.symbol.range.startLineNumber,t.symbol.range.endLineNumber),s=new O8(i.symbol.range.startLineNumber,i.symbol.range.endLineNumber);return this._comparator(e,s)}));for(const t of n)s.push(this._stickyModelFromOutlineElement(t,t.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new I8(void 0,s,void 0),providerID:i}}_stickyModelFromOutlineElement(t,i){const e=[];for(const s of t.children.values())if(s.symbol.selectionRange.startLineNumber!==s.symbol.range.endLineNumber)if(s.symbol.selectionRange.startLineNumber!==i)e.push(this._stickyModelFromOutlineElement(s,s.symbol.selectionRange.startLineNumber));else for(const t of s.children.values())e.push(this._stickyModelFromOutlineElement(t,s.symbol.selectionRange.startLineNumber));e.sort(((t,i)=>this._comparator(t.range,i.range)));const s=new O8(t.symbol.selectionRange.startLineNumber,t.symbol.range.endLineNumber);return new I8(s,e,void 0)}_comparator(t,i){return t.startLineNumber!==i.startLineNumber?t.startLineNumber-i.startLineNumber:i.endLineNumber-t.endLineNumber}_findSumOfRangesOfGroup(t){let i=0;for(const e of t.children.values())i+=this._findSumOfRangesOfGroup(e);return t instanceof b5?i+t.symbol.range.endLineNumber-t.symbol.selectionRange.startLineNumber:i}};z8=P8([$8(0,gg)],z8);class H8 extends j8{constructor(t){super(),this._foldingLimitReporter=new c5(t)}createStickyModel(t,i,e,s){const n=this._fromFoldingRegions(s);return new _8(t.uri,i,n,void 0)}isModelValid(t){return null!==t}_fromFoldingRegions(t){const i=t.length,e=[],s=new I8(void 0,[],void 0);for(let n=0;n0}createModelFromProvider(t,i,e){const s=h5.getFoldingRangeProviders(this._languageFeaturesService,t);return new e5(t,s,(()=>this.createModelFromProvider(t,i,e)),this._foldingLimitReporter,void 0).compute(e)}};U8=P8([$8(1,gg)],U8);var q8=function(t,i){return function(e,s){i(e,s,t)}};class K8{constructor(t,i,e){this.startLineNumber=t,this.endLineNumber=i,this.nestingDepth=e}}let G8=class extends ie{constructor(t,i,e){super(),this._languageFeaturesService=i,this._languageConfigurationService=e,this._onDidChangeStickyScroll=this._register(new fe),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._options=null,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=t,this._sessionStore=this._register(new te),this._updateSoon=this._register(new pc((()=>this.update()),50)),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(114)&&this.readConfiguration()}))),this.readConfiguration()}readConfiguration(){this._stickyModelProvider=null,this._sessionStore.clear(),this._options=this._editor.getOption(114),this._options.enabled&&(this._stickyModelProvider=this._sessionStore.add(new W8(this._editor,this._languageConfigurationService,this._languageFeaturesService,this._options.defaultModel)),this._sessionStore.add(this._editor.onDidChangeModel((()=>{this._model=null,this._onDidChangeStickyScroll.fire(),this.update()}))),this._sessionStore.add(this._editor.onDidChangeHiddenAreas((()=>this.update()))),this._sessionStore.add(this._editor.onDidChangeModelContent((()=>this._updateSoon.schedule()))),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>this.update()))),this.update())}getVersionId(){var t;return null===(t=this._model)||void 0===t?void 0:t.version}async update(){var t;null===(t=this._cts)||void 0===t||t.dispose(!0),this._cts=new Se,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(t){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization())return void(this._model=null);const i=this._editor.getModel(),e=i.getVersionId(),s=await this._stickyModelProvider.update(i,e,t);t.isCancellationRequested||(this._model=s)}updateIndex(t){return-1===t?t=0:t<0&&(t=-t-2),t}getCandidateStickyLinesIntersectingFromStickyModel(t,i,e,s,n){if(0===i.children.length)return;let o=n;const r=[];for(let t=0;tt-i))),c=this.updateIndex(d(r,t.startLineNumber+s,((t,i)=>t-i)));for(let r=h;r<=c;r++){const h=i.children[r];if(!h)return;if(h.range){const i=h.range.startLineNumber,n=h.range.endLineNumber;t.startLineNumber<=n+1&&i-1<=t.endLineNumber&&i!==o&&(o=i,e.push(new K8(i,n-1,s+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(t,h,e,s+1,i))}else this.getCandidateStickyLinesIntersectingFromStickyModel(t,h,e,s,n)}}getCandidateStickyLinesIntersecting(t){var i,e;if(!(null===(i=this._model)||void 0===i?void 0:i.element))return[];let s=[];this.getCandidateStickyLinesIntersectingFromStickyModel(t,this._model.element,s,0,-1);const n=null===(e=this._editor._getViewModel())||void 0===e?void 0:e.getHiddenAreas();if(n)for(const t of n)s=s.filter((i=>!(i.startLineNumber>=t.startLineNumber&&i.endLineNumber<=t.endLineNumber+1)));return s}};G8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([q8(1,gg),q8(2,qd)],G8);var Z8,Q8=function(t,i){return function(e,s){i(e,s,t)}};let J8=Z8=class extends ie{constructor(t,i,e,s,n,o,r){super(),this._editor=t,this._contextMenuService=i,this._languageFeaturesService=e,this._instaService=s,this._contextKeyService=r,this._sessionStore=new te,this._foldingModel=null,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._showEndForLine=null,this._stickyScrollWidget=new F8(this._editor),this._stickyLineCandidateProvider=new G8(this._editor,e,n),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=new D8([],[],0),this._readConfiguration();const h=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration((t=>{(t.hasChanged(114)||t.hasChanged(72)||t.hasChanged(66)||t.hasChanged(109))&&this._readConfiguration()}))),this._register(Va(h,Ll.CONTEXT_MENU,(async t=>{this._onContextMenu(Na(h),t)}))),this._stickyScrollFocusedContextKey=UC.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=UC.stickyScrollVisible.bindTo(this._contextKeyService);const c=this._register(Rl(h));this._register(c.onDidBlur((()=>{!1===this._positionRevealed&&0===h.clientHeight?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()}))),this._register(c.onDidFocus((()=>{this.focus()}))),this._registerMouseListeners(),this._register(Va(h,Ll.MOUSE_DOWN,(()=>{this._onMouseDown=!0})))}static get(t){return t.getContribution(Z8.ID)}_disposeFocusStickyScrollStore(){var t;this._stickyScrollFocusedContextKey.set(!1),null===(t=this._focusDisposableStore)||void 0===t||t.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown)return this._onMouseDown=!1,void this._editor.focus();!0!==this._stickyScrollFocusedContextKey.get()&&(this._focused=!0,this._focusDisposableStore=new te,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(t){this._focusedStickyElementIndex=t?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const t=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:t[this._focusedStickyElementIndex],column:1})}_revealPosition(t){this._reveaInEditor(t,(()=>this._editor.revealPosition(t)))}_revealLineInCenterIfOutsideViewport(t){this._reveaInEditor(t,(()=>this._editor.revealLineInCenterIfOutsideViewport(t.lineNumber,0)))}_reveaInEditor(t,i){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,i(),this._editor.setSelection(Ms.fromPositions(t)),this._editor.focus()}_registerMouseListeners(){const t=this._register(new te),i=this._register(new _J(this._editor,{extractLineNumberFromMouseEvent:t=>{const i=this._stickyScrollWidget.getEditorPositionFromNode(t.target.element);return i?i.lineNumber:0}})),e=t=>{if(!this._editor.hasModel())return null;if(12!==t.target.type||t.target.detail!==this._stickyScrollWidget.getId())return null;const i=t.target.element;if(!i||i.innerText!==i.innerHTML)return null;const e=this._stickyScrollWidget.getEditorPositionFromNode(i);return e?{range:new Ms(e.lineNumber,e.column,e.lineNumber,e.column+i.innerText.length),textElement:i}:null},s=this._stickyScrollWidget.getDomNode();this._register(qa(s,Ll.CLICK,(t=>{if(t.ctrlKey||t.altKey||t.metaKey)return;if(!t.leftButton)return;if(t.shiftKey){const i=this._stickyScrollWidget.getLineIndexFromChildDomNode(t.target);if(null===i)return;const e=new As(this._endLineNumbers[i],1);return void this._revealLineInCenterIfOutsideViewport(e)}if(this._stickyScrollWidget.isInFoldingIconDomNode(t.target)){const i=this._stickyScrollWidget.getLineNumberFromChildDomNode(t.target);return void this._toggleFoldingRegionForLine(i)}if(!this._stickyScrollWidget.isInStickyLine(t.target))return;let i=this._stickyScrollWidget.getEditorPositionFromNode(t.target);if(!i){const e=this._stickyScrollWidget.getLineNumberFromChildDomNode(t.target);if(null===e)return;i=new As(e,1)}this._revealPosition(i)}))),this._register(qa(s,Ll.MOUSE_MOVE,(t=>{if(t.shiftKey){const i=this._stickyScrollWidget.getLineIndexFromChildDomNode(t.target);if(null===i||null!==this._showEndForLine&&this._showEndForLine===i)return;return this._showEndForLine=i,void this._renderStickyScroll()}null!==this._showEndForLine&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._register(Va(s,Ll.MOUSE_LEAVE,(()=>{null!==this._showEndForLine&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._register(i.onMouseMoveOrRelevantKeyDown((([i,s])=>{const n=e(i);if(!n||!i.hasTriggerModifier||!this._editor.hasModel())return void t.clear();const{range:o,textElement:r}=n;if(o.equalsRange(this._stickyRangeProjectedOnEditor)){if("underline"===r.style.textDecoration)return}else this._stickyRangeProjectedOnEditor=o,t.clear();const h=new Se;let c;t.add(Xi((()=>h.dispose(!0)))),NY(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new As(o.startLineNumber,o.startColumn+1),h.token).then((i=>{if(!h.token.isCancellationRequested)if(0!==i.length){this._candidateDefinitionsLength=i.length;const e=r;c!==e?(t.clear(),c=e,c.style.textDecoration="underline",t.add(Xi((()=>{c.style.textDecoration="none"})))):c||(c=e,c.style.textDecoration="underline",t.add(Xi((()=>{c.style.textDecoration="none"}))))}else t.clear()}))}))),this._register(i.onCancel((()=>{t.clear()}))),this._register(i.onExecute((async t=>{if(12!==t.target.type||t.target.detail!==this._stickyScrollWidget.getId())return;const i=this._stickyScrollWidget.getEditorPositionFromNode(t.target.element);i&&(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:i.lineNumber,column:1})),this._instaService.invokeFunction(v9,t,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor}))})))}_onContextMenu(t,i){const e=new tc(t,i);this._contextMenuService.showContextMenu({menuId:Rh.StickyScrollContext,getAnchor:()=>e})}_toggleFoldingRegionForLine(t){if(!this._foldingModel||null===t)return;const i=this._stickyScrollWidget.getStickyLineForLine(t),e=null==i?void 0:i.foldingIcon;if(!e)return;B4(this._foldingModel,Number.MAX_VALUE,[t]),e.isCollapsed=!e.isCollapsed;const s=this._editor.getTopForLineNumber(e.isCollapsed?e.foldingEndLine:e.foldingStartLine)-this._editor.getOption(66)*i.index+1;this._editor.setScrollTop(s),this._renderStickyScroll(t)}_readConfiguration(){const t=this._editor.getOption(114);if(!1===t.enabled)return this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),void(this._enabled=!1);t.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange((t=>{t.scrollTopChanged&&(this._showEndForLine=null,this._renderStickyScroll())}))),this._sessionStore.add(this._editor.onDidLayoutChange((()=>this._onDidResize()))),this._sessionStore.add(this._editor.onDidChangeModelTokens((t=>this._onTokensChange(t)))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll((()=>{this._showEndForLine=null,this._renderStickyScroll()}))),this._enabled=!0),2===this._editor.getOption(67).renderType&&this._sessionStore.add(this._editor.onDidChangeCursorPosition((()=>{this._showEndForLine=null,this._renderStickyScroll(-1)})))}_needsUpdate(t){const i=this._stickyScrollWidget.getCurrentLines();for(const e of i)for(const i of t.ranges)if(e>=i.fromLineNumber&&e<=i.toLineNumber)return!0;return!1}_onTokensChange(t){this._needsUpdate(t)&&this._renderStickyScroll(-1)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(66);this._maxStickyLines=Math.round(.25*t)}async _renderStickyScroll(t=1/0){var i,e;const s=this._editor.getModel();if(!s||s.isTooLargeForTokenization())return this._foldingModel=null,void this._stickyScrollWidget.setState(void 0,null,t);const n=this._stickyLineCandidateProvider.getVersionId();if(void 0===n||n===s.getVersionId())if(this._foldingModel=null!==(e=await(null===(i=h5.get(this._editor))||void 0===i?void 0:i.getFoldingModel()))&&void 0!==e?e:null,this._widgetState=this.findScrollWidgetState(),this._stickyScrollVisibleContextKey.set(!(0===this._widgetState.startLineNumbers.length)),this._focused)if(-1===this._focusedStickyElementIndex)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,-1!==this._focusedStickyElementIndex&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const i=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t),0===this._stickyScrollWidget.lineNumberCount?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(i)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}else this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,t)}findScrollWidgetState(){const t=this._editor.getOption(66),i=Math.min(this._maxStickyLines,this._editor.getOption(114).maxLineCount),e=this._editor.getScrollTop();let s=0;const n=[],o=[],r=this._editor.getVisibleRanges();if(0!==r.length){const h=new O8(r[0].startLineNumber,r[r.length-1].endLineNumber),c=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(h);for(const r of c){const h=r.startLineNumber,c=r.endLineNumber,a=r.nestingDepth;if(c-h>0){const r=(a-1)*t,l=a*t,u=this._editor.getBottomForLineNumber(h)-e,d=this._editor.getTopForLineNumber(c)-e,f=this._editor.getBottomForLineNumber(c)-e;if(r>d&&r<=f){n.push(h),o.push(c+1),s=f-l;break}if(l>u&&l<=f&&(n.push(h),o.push(c+1)),n.length===i)break}}}return this._endLineNumbers=o,new D8(n,o,s,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};J8.ID="store.contrib.stickyScrollController",J8=Z8=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Q8(1,eI),Q8(2,gg),Q8(3,ur),Q8(4,qd),Q8(5,hR),Q8(6,ah)],J8);const Y8=100;lu(J8.ID,J8,1),$h(class extends Ph{constructor(){super({id:"editor.action.toggleStickyScroll",title:{value:rt(0,"Toggle Sticky Scroll"),mnemonicTitle:rt(0,"&&Toggle Sticky Scroll"),original:"Toggle Sticky Scroll"},category:S8.View,toggled:{condition:zr.equals("config.editor.stickyScroll.enabled",!0),title:rt(0,"Sticky Scroll"),mnemonicTitle:rt(0,"&&Sticky Scroll")},menu:[{id:Rh.CommandPalette},{id:Rh.MenubarAppearanceMenu,group:"4_editor",order:3},{id:Rh.StickyScrollContext}]})}async run(t){const i=t.get(pd),e=!i.getValue("editor.stickyScroll.enabled");return i.updateValue("editor.stickyScroll.enabled",e)}}),$h(class extends ou{constructor(){super({id:"editor.action.focusStickyScroll",title:{value:rt(0,"Focus Sticky Scroll"),mnemonicTitle:rt(0,"&&Focus Sticky Scroll"),original:"Focus Sticky Scroll"},precondition:zr.and(zr.has("config.editor.stickyScroll.enabled"),UC.stickyScrollVisible),menu:[{id:Rh.CommandPalette}]})}runEditorCommand(t,i){var e;null===(e=J8.get(i))||void 0===e||e.focus()}}),$h(class extends ou{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:{value:rt(0,"Select previous sticky scroll line"),original:"Select previous sticky scroll line"},precondition:UC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Y8,primary:16}})}runEditorCommand(t,i){var e;null===(e=J8.get(i))||void 0===e||e.focusPrevious()}}),$h(class extends ou{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:{value:rt(0,"Select next sticky scroll line"),original:"Select next sticky scroll line"},precondition:UC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Y8,primary:18}})}runEditorCommand(t,i){var e;null===(e=J8.get(i))||void 0===e||e.focusNext()}}),$h(class extends ou{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:{value:rt(0,"Go to focused sticky scroll line"),original:"Go to focused sticky scroll line"},precondition:UC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Y8,primary:3}})}runEditorCommand(t,i){var e;null===(e=J8.get(i))||void 0===e||e.goToFocused()}}),$h(class extends ou{constructor(){super({id:"editor.action.selectEditor",title:{value:rt(0,"Select Editor"),original:"Select Editor"},precondition:UC.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Y8,primary:9}})}runEditorCommand(t,i){var e;null===(e=J8.get(i))||void 0===e||e.selectEditor()}});var X8,ttt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},itt=function(t,i){return function(e,s){i(e,s,t)}};class ett{constructor(t,i,e,s,n,o){this.range=t,this.insertText=i,this.filterText=e,this.additionalTextEdits=s,this.command=n,this.completion=o}}let stt=class extends se{constructor(t,i,e,s,n,o){super(n.disposable),this.model=t,this.line=i,this.word=e,this.completionModel=s,this._suggestMemoryService=o}canBeReused(t,i,e){return this.model===t&&this.line===i&&this.word.word.length>0&&this.word.startColumn===e.startColumn&&this.word.endColumn=0&&e.resolve(xe.None)}return i}};stt=ttt([itt(5,G3)],stt);let ntt=class{constructor(t,i,e,s){this._getEditorOption=t,this._languageFeatureService=i,this._clipboardService=e,this._suggestMemoryService=s}async provideInlineCompletions(t,i,e,s){var n;if(e.selectedSuggestionInfo)return;const o=this._getEditorOption(88,t);if(k3.isAllOff(o))return;t.tokenization.tokenizeIfCheap(i.lineNumber);const r=t.tokenization.getLineTokens(i.lineNumber),h=r.getStandardTokenType(r.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if("inline"!==k3.valueFor(o,h))return;let c,a,l=t.getWordAtPosition(i);if((null==l?void 0:l.word)||(c=this._getTriggerCharacterInfo(t,i)),!(null==l?void 0:l.word)&&!c)return;if(l||(l=t.getWordUntilPosition(i)),l.endColumn!==i.column)return;const u=t.getValueInRange(new Ms(i.lineNumber,1,i.lineNumber,i.column));if(!c&&(null===(n=this._lastResult)||void 0===n?void 0:n.canBeReused(t,i.lineNumber,l))){const t=new e6(u,i.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=t,this._lastResult.acquire(),a=this._lastResult}else{const e=await v3(this._languageFeatureService.completionProvider,t,i,new m3(void 0,void 0,null==c?void 0:c.providers),c&&{triggerKind:1,triggerCharacter:c.ch},s);let n;e.needsClipboard&&(n=await this._clipboardService.readText());const o=new s6(e.items,i.column,new e6(u,0),i6.None,this._getEditorOption(117,t),this._getEditorOption(111,t),{boostFullMatch:!1,firstMatchCanBeWeak:!1},n);a=new stt(t,i.lineNumber,l,o,e,this._suggestMemoryService)}return this._lastResult=a,a}handleItemDidShow(t,i){i.completion.resolve(xe.None)}freeInlineCompletions(t){t.release()}_getTriggerCharacterInfo(t,i){var e;const s=t.getValueInRange(Ms.fromPositions({lineNumber:i.lineNumber,column:i.column-1},i)),n=new Set;for(const i of this._languageFeatureService.completionProvider.all(t))(null===(e=i.triggerCharacters)||void 0===e?void 0:e.includes(s))&&n.add(i);if(0!==n.size)return{providers:n,ch:s}}};ntt=ttt([itt(1,gg),itt(2,dH),itt(3,G3)],ntt);let ott=X8=class{constructor(t,i,e,s){if(1==++X8._counter){const n=s.createInstance(ntt,((i,s)=>{var n;return(null!==(n=e.listCodeEditors().find((t=>t.getModel()===s)))&&void 0!==n?n:t).getOption(i)}));X8._disposable=i.inlineCompletionsProvider.register("*",n)}}dispose(){var t;0==--X8._counter&&(null===(t=X8._disposable)||void 0===t||t.dispose(),X8._disposable=void 0)}};ott._counter=0,ott=X8=ttt([itt(1,gg),itt(2,fr),itt(3,ur)],ott),lu("suggest.inlineCompletionsProvider",ott,0),cu(class extends su{constructor(){super({id:"editor.action.forceRetokenize",label:rt(0,"Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(t,i){if(!i.hasModel())return;const e=i.getModel();e.tokenization.resetTokenization();const s=new he;e.tokenization.forceTokenization(e.getLineCount()),s.stop(),console.log(`tokenization took ${s.elapsed()}`)}});class rtt extends Ph{constructor(){super({id:rtt.ID,title:{value:rt(0,"Toggle Tab Key Moves Focus"),original:"Toggle Tab Key Moves Focus"},precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},f1:!0})}run(){const t=!jm.getTabFocusMode();jm.setTabFocusMode(t),Tm(rt(0,t?"Pressing Tab will now move focus to the next focusable element":"Pressing Tab will now insert the tab character"))}}rtt.ID="editor.action.toggleTabFocusMode",$h(rtt);let htt=class extends ie{get enabled(){return this._enabled}set enabled(t){t?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=t}constructor(t,i,e={},s){var n;super(),this._link=i,this._enabled=!0,this.el=Ol(t,$l("a.monaco-link",{tabIndex:null!==(n=i.tabIndex)&&void 0!==n?n:0,href:i.href,title:i.title},i.label)),this.el.setAttribute("role","button");const o=this._register(new Fk(this.el,"click")),r=this._register(new Fk(this.el,"keypress")),h=ce.chain(r.event,(t=>t.map((t=>new Qh(t))).filter((t=>3===t.keyCode)))),c=this._register(new Fk(this.el,Ym.Tap)).event;this._register(Xm.addTarget(this.el));const a=ce.any(o.event,h,c);this._register(a((t=>{this.enabled&&(Fl(t,!0),(null==e?void 0:e.opener)?e.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))}))),this.enabled=!0}};htt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(3,nP)],htt);var ctt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},att=function(t,i){return function(e,s){i(e,s,t)}};let ltt=class extends ie{constructor(t,i){super(),this._editor=t,this.instantiationService=i,this.banner=this._register(this.instantiationService.createInstance(utt))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(t){this.banner.show({...t,onClose:()=>{var i;this.hide(),null===(i=t.onClose)||void 0===i||i.call(t)}}),this._editor.setBanner(this.banner.element,26)}};ltt=ctt([att(1,ur)],ltt);let utt=class extends ie{constructor(t){super(),this.instantiationService=t,this.markdownRenderer=this.instantiationService.createInstance(eQ,{}),this.element=$l("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(t){return t.ariaLabel?t.ariaLabel:"string"==typeof t.message?t.message:void 0}getBannerMessage(t){if("string"==typeof t){const i=$l("span");return i.innerText=t,i}return this.markdownRenderer.render(t).element}clear(){za(this.element)}show(t){za(this.element);const i=this.getAriaLabel(t);i&&this.element.setAttribute("aria-label",i);const e=Ol(this.element,$l("div.icon-container"));e.setAttribute("aria-hidden","true"),t.icon&&e.appendChild($l(`div${Cr.asCSSSelector(t.icon)}`));const s=Ol(this.element,$l("div.message-container"));if(s.setAttribute("aria-hidden","true"),s.appendChild(this.getBannerMessage(t.message)),this.messageActionsContainer=Ol(this.element,$l("div.message-actions-container")),t.actions)for(const i of t.actions)this._register(this.instantiationService.createInstance(htt,this.messageActionsContainer,{...i,tabIndex:-1},{}));const n=Ol(this.element,$l("div.action-container"));this.actionBar=this._register(new VB(n)),this.actionBar.push(this._register(new mr("banner.close","Close Banner",Cr.asClassName(Wz),!0,(()=>{"function"==typeof t.onClose&&t.onClose()}))),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};utt=ctt([att(0,ur)],utt);var dtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},ftt=function(t,i){return function(e,s){i(e,s,t)}};const ptt=_z("extensions-warning-message",Os.warning,rt(0,"Icon shown with a warning message in the extensions editor."));let gtt=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._editorWorkerService=i,this._workspaceTrustService=e,this._highlighter=null,this._bannerClosed=!1,this._updateState=t=>{if(t&&t.hasMore){if(this._bannerClosed)return;const i=Math.max(t.ambiguousCharacterCount,t.nonBasicAsciiCharacterCount,t.invisibleCharacterCount);let e;if(t.nonBasicAsciiCharacterCount>=i)e={message:rt(0,"This document contains many non-basic ASCII unicode characters"),command:new Att};else if(t.ambiguousCharacterCount>=i)e={message:rt(0,"This document contains many ambiguous unicode characters"),command:new Dtt};else{if(!(t.invisibleCharacterCount>=i))throw new Error("Unreachable");e={message:rt(0,"This document contains many invisible unicode characters"),command:new Ett}}this._bannerController.show({id:"unicodeHighlightBanner",message:e.message,icon:ptt,actions:[{label:e.command.shortLabel,href:`command:${e.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(s.createInstance(ltt,t)),this._register(this._editor.onDidChangeModel((()=>{this._bannerClosed=!1,this._updateHighlighter()}))),this._options=t.getOption(124),this._register(e.onDidChangeTrust((()=>{this._updateHighlighter()}))),this._register(t.onDidChangeConfiguration((i=>{i.hasChanged(124)&&(this._options=t.getOption(124),this._updateHighlighter())}))),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const t=function(t,i){return{nonBasicASCII:i.nonBasicASCII===Si?!t:i.nonBasicASCII,ambiguousCharacters:i.ambiguousCharacters,invisibleCharacters:i.invisibleCharacters,includeComments:i.includeComments===Si?!t:i.includeComments,includeStrings:i.includeStrings===Si?!t:i.includeStrings,allowedCharacters:i.allowedCharacters,allowedLocales:i.allowedLocales}}(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([t.nonBasicASCII,t.ambiguousCharacters,t.invisibleCharacters].every((t=>!1===t)))return;const i={nonBasicASCII:t.nonBasicASCII,ambiguousCharacters:t.ambiguousCharacters,invisibleCharacters:t.invisibleCharacters,includeComments:t.includeComments,includeStrings:t.includeStrings,allowedCodePoints:Object.keys(t.allowedCharacters).map((t=>t.codePointAt(0))),allowedLocales:Object.keys(t.allowedLocales).map((t=>"_os"===t?(new Intl.NumberFormat).resolvedOptions().locale:"_vscode"===t?Rt:t))};this._highlighter=this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?new mtt(this._editor,i,this._updateState,this._editorWorkerService):new wtt(this._editor,i,this._updateState)}getDecorationInfo(t){return this._highlighter?this._highlighter.getDecorationInfo(t):null}};gtt.ID="editor.contrib.unicodeHighlighter",gtt=dtt([ftt(1,lP),ftt(2,tI),ftt(3,ur)],gtt);let mtt=class extends ie{constructor(t,i,e,s){super(),this._editor=t,this._options=i,this._updateState=e,this._editorWorkerService=s,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new pc((()=>this._update()),250)),this._register(this._editor.onDidChangeModelContent((()=>{this._updateSoon.schedule()}))),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII())return void this._decorations.clear();const t=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then((i=>{if(this._model.isDisposed())return;if(this._model.getVersionId()!==t)return;this._updateState(i);const e=[];if(!i.hasMore)for(const t of i.ranges)e.push({range:t,options:xtt.instance.getDecorationFromOptions(this._options)});this._decorations.set(e)}))}getDecorationInfo(t){if(!this._decorations.has(t))return null;const i=this._editor.getModel();return SF(i,t)?{reason:ktt(i.getValueInRange(t.range),this._options),inComment:DF(i,t),inString:EF(i,t)}:null}};mtt=dtt([ftt(3,lP)],mtt);class wtt extends ie{constructor(t,i,e){super(),this._editor=t,this._options=i,this._updateState=e,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new pc((()=>this._update()),250)),this._register(this._editor.onDidLayoutChange((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidScrollChange((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidChangeHiddenAreas((()=>{this._updateSoon.schedule()}))),this._register(this._editor.onDidChangeModelContent((()=>{this._updateSoon.schedule()}))),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII())return void this._decorations.clear();const t=this._editor.getVisibleRanges(),i=[],e={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const i of t){const t=qf.computeUnicodeHighlights(this._model,this._options,i);for(const i of t.ranges)e.ranges.push(i);e.ambiguousCharacterCount+=e.ambiguousCharacterCount,e.invisibleCharacterCount+=e.invisibleCharacterCount,e.nonBasicAsciiCharacterCount+=e.nonBasicAsciiCharacterCount,e.hasMore=e.hasMore||t.hasMore}if(!e.hasMore)for(const t of e.ranges)i.push({range:t,options:xtt.instance.getDecorationFromOptions(this._options)});this._updateState(e),this._decorations.set(i)}getDecorationInfo(t){if(!this._decorations.has(t))return null;const i=this._editor.getModel(),e=i.getValueInRange(t.range);return SF(i,t)?{reason:ktt(e,this._options),inComment:DF(i,t),inString:EF(i,t)}:null}}let vtt=class{constructor(t,i,e){this._editor=t,this._languageService=i,this._openerService=e,this.hoverOrdinal=5}computeSync(t,i){if(!this._editor.hasModel()||1!==t.type)return[];const e=this._editor.getModel(),s=this._editor.getContribution(gtt.ID);if(!s)return[];const n=[],o=new Set;let r=300;for(const t of i){const i=s.getDecorationInfo(t);if(!i)continue;const h=e.getValueInRange(t.range).codePointAt(0),c=ytt(h);let a;switch(i.reason.kind){case 0:a=Eo(i.reason.confusableWith)?rt(0,"The character {0} could be confused with the ASCII character {1}, which is more common in source code.",c,ytt(i.reason.confusableWith.codePointAt(0))):rt(0,"The character {0} could be confused with the character {1}, which is more common in source code.",c,ytt(i.reason.confusableWith.codePointAt(0)));break;case 1:a=rt(0,"The character {0} is invisible.",c);break;case 2:a=rt(0,"The character {0} is not a basic ASCII character.",c)}if(o.has(a))continue;o.add(a);const l={codePoint:h,reason:i.reason,inComment:i.inComment,inString:i.inString},u=rt(0,"Adjust settings"),d=`command:${Mtt.ID}?${encodeURIComponent(JSON.stringify(l))}`,f=new M_("",!0).appendMarkdown(a).appendText(" ").appendLink(d,u);n.push(new BX(this,t.range,[f],!1,r++))}return n}renderHoverParts(t,i){return $X(t,i,this._editor,this._languageService,this._openerService)}};function btt(t){return`U+${t.toString(16).padStart(4,"0")}`}function ytt(t){let i=`\`${btt(t)}\``;return Po.isInvisibleCharacter(t)||(i+=` "${function(t){return 96===t?"`` ` ``":"`"+String.fromCodePoint(t)+"`"}(t)}"`),i}function ktt(t,i){return qf.computeUnicodeHighlightReason(t,i)}vtt=dtt([ftt(1,yd),ftt(2,nP)],vtt);class xtt{constructor(){this.map=new Map}getDecorationFromOptions(t){return this.getDecoration(!t.includeComments,!t.includeStrings)}getDecoration(t,i){const e=`${t}${i}`;let s=this.map.get(e);return s||(s=bL.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:t,hideInStringTokens:i}),this.map.set(e,s)),s}}xtt.instance=new xtt;class Ctt extends su{constructor(){super({id:Dtt.ID,label:rt(0,"Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=rt(0,"Disable Highlight In Comments")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Li,!1,2)}}class Stt extends su{constructor(){super({id:Dtt.ID,label:rt(0,"Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=rt(0,"Disable Highlight In Strings")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Fi,!1,2)}}class Dtt extends su{constructor(){super({id:Dtt.ID,label:rt(0,"Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=rt(0,"Disable Ambiguous Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Mi,!1,2)}}Dtt.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";class Ett extends su{constructor(){super({id:Ett.ID,label:rt(0,"Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=rt(0,"Disable Invisible Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Ei,!1,2)}}Ett.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";class Att extends su{constructor(){super({id:Att.ID,label:rt(0,"Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=rt(0,"Disable Non ASCII Highlight")}async run(t,i,e){const s=null==t?void 0:t.get(pd);s&&this.runAction(s)}async runAction(t){await t.updateValue(Ai,!1,2)}}Att.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";class Mtt extends su{constructor(){super({id:Mtt.ID,label:rt(0,"Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(t,i,e){const{codePoint:s,reason:n,inString:o,inComment:r}=e,h=String.fromCodePoint(s),c=t.get(Dj),a=t.get(pd),l=[];if(0===n.kind)for(const t of n.notAmbiguousInLocales)l.push({label:rt(0,'Allow unicode characters that are more common in the language "{0}".',t),run:async()=>{Ltt(a,[t])}});if(l.push({label:function(t){return Po.isInvisibleCharacter(t)?rt(0,"Exclude {0} (invisible character) from being highlighted",btt(t)):rt(0,"Exclude {0} from being highlighted",`${btt(t)} "${h}"`)}(s),run:()=>async function(t,i){const e=t.getValue(Di);let s;s="object"==typeof e&&e?e:{};for(const t of i)s[String.fromCodePoint(t)]=!0;await t.updateValue(Di,s,2)}(a,[s])}),r){const t=new Ctt;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(o){const t=new Stt;l.push({label:t.label,run:async()=>t.runAction(a)})}if(0===n.kind){const t=new Dtt;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(1===n.kind){const t=new Ett;l.push({label:t.label,run:async()=>t.runAction(a)})}else if(2===n.kind){const t=new Att;l.push({label:t.label,run:async()=>t.runAction(a)})}else!function(t){throw new Error(`Unexpected value: ${t}`)}(n);const u=await c.pick(l,{title:rt(0,"Configure Unicode Highlight Options")});u&&await u.run()}}async function Ltt(t,i){var e;const s=null===(e=t.inspect(Ti).user)||void 0===e?void 0:e.value;let n;n="object"==typeof s&&s?Object.assign({},s):{};for(const t of i)n[t]=!0;await t.updateValue(Ti,n,2)}Mtt.ID="editor.action.unicodeHighlight.showExcludeOptions",cu(Dtt),cu(Ett),cu(Att),cu(Mtt),lu(gtt.ID,gtt,1),pX.register(vtt);var Ftt=function(t,i){return function(e,s){i(e,s,t)}};const Ttt="ignoreUnusualLineTerminators";let Rtt=class extends ie{constructor(t,i,e){super(),this._editor=t,this._dialogService=i,this._codeEditorService=e,this._isPresentingDialog=!1,this._config=this._editor.getOption(125),this._register(this._editor.onDidChangeConfiguration((t=>{t.hasChanged(125)&&(this._config=this._editor.getOption(125),this._checkForUnusualLineTerminators())}))),this._register(this._editor.onDidChangeModel((()=>{this._checkForUnusualLineTerminators()}))),this._register(this._editor.onDidChangeModelContent((t=>{t.isUndoing||this._checkForUnusualLineTerminators()}))),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if("off"===this._config)return;if(!this._editor.hasModel())return;const t=this._editor.getModel();if(!t.mightContainUnusualLineTerminators())return;const i=function(t,i){return t.getModelProperty(i.uri,Ttt)}(this._codeEditorService,t);if(!0===i)return;if(this._editor.getOption(90))return;if("auto"===this._config)return void t.removeUnusualLineTerminators(this._editor.getSelections());if(this._isPresentingDialog)return;let e;try{this._isPresentingDialog=!0,e=await this._dialogService.confirm({title:rt(0,"Unusual Line Terminators"),message:rt(0,"Detected unusual line terminators"),detail:rt(0,"The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",uA(t.uri)),primaryButton:rt(0,"&&Remove Unusual Line Terminators"),cancelButton:rt(0,"Ignore")})}finally{this._isPresentingDialog=!1}e.confirmed?t.removeUnusualLineTerminators(this._editor.getSelections()):function(t,i){t.setModelProperty(i.uri,Ttt,!0)}(this._codeEditorService,t)}};Rtt.ID="editor.contrib.unusualLineTerminatorsDetector",Rtt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Ftt(1,HT),Ftt(2,fr)],Rtt),lu(Rtt.ID,Rtt,1);var Ott,Itt,_tt=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Ntt=function(t,i){return function(e,s){i(e,s,t)}};const Btt=new ch("hasWordHighlights",!1);function Ptt(t,i,e,s){return uc(t.ordered(i).map((t=>()=>Promise.resolve(t.provideDocumentHighlights(i,e,s)).then(void 0,$i))),y).then((t=>{if(t){const e=new _p;return e.set(i.uri,t),e}return new _p}))}class $tt{constructor(t,i,e){this._model=t,this._selection=i,this._wordSeparators=e,this._wordRange=this._getCurrentWordRange(t,i),this._result=null}get result(){return this._result||(this._result=nc((t=>this._compute(this._model,this._selection,this._wordSeparators,t)))),this._result}_getCurrentWordRange(t,i){const e=t.getWordAtPosition(i.getPosition());return e?new Ms(i.startLineNumber,e.startColumn,i.startLineNumber,e.endColumn):null}isValid(t,i,e){const s=i.startLineNumber,n=i.startColumn,o=i.endColumn,r=this._getCurrentWordRange(t,i);let h=Boolean(this._wordRange&&this._wordRange.equalsRange(r));for(let t=0,i=e.length;!h&&t=o&&(h=!0)}return h}cancel(){this.result.cancel()}}class Wtt extends $tt{constructor(t,i,e,s){super(t,i,e),this._providers=s}_compute(t,i,e,s){return Ptt(this._providers,t,i.getPosition(),s).then((t=>t||new _p))}}class jtt extends $tt{constructor(t,i,e,s,n){super(t,i,e),this._providers=s,this._otherModels=n}_compute(t,i,e,s){return function(t,i,e,s,n,o){return uc(t.ordered(i).map((t=>()=>{const s=o.filter((i=>UR(t.selector,i.uri,i.getLanguageId(),!0,void 0,void 0)>0));return Promise.resolve(t.provideMultiDocumentHighlights(i,e,s,n)).then(void 0,$i)})),(t=>t instanceof _p&&t.size>0))}(this._providers,t,i.getPosition(),0,s,this._otherModels).then((t=>t||new _p))}}class ztt extends $tt{constructor(t,i,e,s,n){super(t,i,s),this._otherModels=n,this._selectionIsEmpty=i.isEmpty(),this._word=e}_compute(t,i,e,s){return ac(250,s).then((()=>{const s=new _p;let n;if(n=this._word?this._word:t.getWordAtPosition(i.getPosition()),!n)return new _p;const o=[t,...this._otherModels];for(const t of o){if(t.isDisposed())continue;const i=t.findMatches(n.word,!0,!1,!0,e,!1).map((t=>({range:t.range,kind:js.Text})));i&&s.set(t.uri,i)}return s}))}isValid(t,i,e){const s=i.isEmpty();return this._selectionIsEmpty===s&&super.isValid(t,i,e)}}ru("_executeDocumentHighlights",(async(t,i,e)=>{const s=t.get(gg),n=await Ptt(s.documentHighlightProvider,i,e,xe.None);return null==n?void 0:n.get(i.uri)}));let Htt=Ott=class{constructor(t,i,e,s,n){this.toUnhook=new te,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new _p,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=t,this.providers=i,this.multiDocumentProviders=e,this.codeEditorService=n,this._hasWordHighlights=Btt.bindTo(s),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(80),this.model=this.editor.getModel(),this.toUnhook.add(t.onDidChangeCursorPosition((t=>{this._ignorePositionChangeEvent||"off"!==this.occurrencesHighlight&&this._onPositionChanged(t)}))),this.toUnhook.add(t.onDidChangeModelContent((()=>{this._stopAll()}))),this.toUnhook.add(t.onDidChangeModel((t=>{!t.newModelUrl&&t.oldModelUrl?this._stopSingular():Ott.query&&this._run()}))),this.toUnhook.add(t.onDidChangeConfiguration((()=>{const t=this.editor.getOption(80);this.occurrencesHighlight!==t&&(this.occurrencesHighlight=t,this._stopAll())}))),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,Ott.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){"off"!==this.occurrencesHighlight&&this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(Ms.compareRangesUsingStarts)}moveNext(){const t=this._getSortedHighlights(),i=t.findIndex((t=>t.containsPosition(this.editor.getPosition()))),e=(i+1)%t.length,s=t[e];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(s.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(s);const i=this._getWord();i&&Tm(`${this.editor.getModel().getLineContent(s.startLineNumber)}, ${e+1} of ${t.length} for '${i.word}'`)}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const t=this._getSortedHighlights(),i=t.findIndex((t=>t.containsPosition(this.editor.getPosition()))),e=(i-1+t.length)%t.length,s=t[e];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(s.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(s);const i=this._getWord();i&&Tm(`${this.editor.getModel().getLineContent(s.startLineNumber)}, ${e+1} of ${t.length} for '${i.word}'`)}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const t=Ott.storedDecorations.get(this.editor.getModel().uri);t&&(this.editor.removeDecorations(t),Ott.storedDecorations.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(){const t=this.codeEditorService.listCodeEditors();for(const i of t){if(!i.hasModel())continue;const t=Ott.storedDecorations.get(i.getModel().uri);if(!t)continue;i.removeDecorations(t),Ott.storedDecorations.delete(i.getModel().uri);const e=Vtt.get(i);(null==e?void 0:e.wordHighlighter)&&e.wordHighlighter.decorations.length>0&&(e.wordHighlighter.decorations.clear(),e.wordHighlighter._hasWordHighlights.set(!1))}}_stopSingular(){var t,i,e,s;this._removeSingleDecorations(),this.editor.hasWidgetFocus()&&((null===(t=this.editor.getModel())||void 0===t?void 0:t.uri.scheme)!==ka.vscodeNotebookCell&&(null===(e=null===(i=Ott.query)||void 0===i?void 0:i.modelInfo)||void 0===e?void 0:e.model.uri.scheme)!==ka.vscodeNotebookCell?(Ott.query=null,this._run()):(null===(s=Ott.query)||void 0===s?void 0:s.modelInfo)&&(Ott.query.modelInfo=null)),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(){this._removeAllDecorations(),-1!==this.renderDecorationsTimer&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),null!==this.workerRequest&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(t){var i;"off"===this.occurrencesHighlight||3!==t.reason&&(null===(i=this.editor.getModel())||void 0===i?void 0:i.uri.scheme)!==ka.vscodeNotebookCell?this._stopAll():this._run()}_getWord(){const t=this.editor.getSelection(),i=t.startLineNumber,e=t.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:i,column:e})}getOtherModelsToHighlight(t){if(!t)return[];if(t.uri.scheme===ka.vscodeNotebookCell){const i=[],e=this.codeEditorService.listCodeEditors();for(const s of e){const e=s.getModel();e&&e!==t&&e.uri.scheme===ka.vscodeNotebookCell&&i.push(e)}return i}const i=[],e=this.codeEditorService.listCodeEditors();for(const s of e){if(!vK(s))continue;const e=s.getModel();e&&t===e.modified&&i.push(e.modified)}if(i.length)return i;if("singleFile"===this.occurrencesHighlight)return[];for(const s of e){const e=s.getModel();e&&e!==t&&i.push(e)}return i}_run(){var t,i;let e;if(this.editor.hasWidgetFocus()){const t=this.editor.getSelection();if(!t||t.startLineNumber!==t.endLineNumber)return void this._stopAll();const i=t.startColumn,s=t.endColumn,n=this._getWord();if(!n||n.startColumn>i||n.endColumn{e===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=t||[],this._beginRenderDecorations())}),Pi)}}computeWithModel(t,i,e,s){return s.length?function(t,i,e,s,n,o){return t.has(i)?new jtt(i,e,n,t,o):new ztt(i,e,s,n,o)}(this.multiDocumentProviders,t,i,e,this.editor.getOption(129),s):function(t,i,e,s,n){return t.has(i)?new Wtt(i,e,n,t):new ztt(i,e,s,n,[])}(this.providers,t,i,e,this.editor.getOption(129))}_beginRenderDecorations(){const t=(new Date).getTime(),i=this.lastCursorPositionChangeTime+250;t>=i?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout((()=>{this.renderDecorations()}),i-t)}renderDecorations(){var t,i,e;this.renderDecorationsTimer=-1;const s=this.codeEditorService.listCodeEditors();for(const o of s){const s=Vtt.get(o);if(!s)continue;const r=[],h=null===(t=o.getModel())||void 0===t?void 0:t.uri;if(h&&this.workerRequestValue.has(h)){const t=Ott.storedDecorations.get(h),c=this.workerRequestValue.get(h);if(c)for(const t of c)r.push({range:t.range,options:(n=t.kind,n===js.Write?p7:n===js.Text?g7:v7)});let a=[];o.changeDecorations((i=>{a=i.deltaDecorations(null!=t?t:[],r)})),Ott.storedDecorations=Ott.storedDecorations.set(h,a),r.length>0&&(null===(i=s.wordHighlighter)||void 0===i||i.decorations.set(r),null===(e=s.wordHighlighter)||void 0===e||e._hasWordHighlights.set(!0))}}var n}dispose(){this._stopSingular(),this.toUnhook.dispose()}};Htt.storedDecorations=new _p,Htt.query=null,Htt=Ott=_tt([Ntt(4,fr)],Htt);let Vtt=Itt=class extends ie{static get(t){return t.getContribution(Itt.ID)}constructor(t,i,e,s){super(),this._wordHighlighter=null;const n=()=>{t.hasModel()&&!t.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new Htt(t,e.documentHighlightProvider,e.multiDocumentHighlightProvider,i,s))};this._register(t.onDidChangeModel((()=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),n()}))),n()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!(!this._wordHighlighter||!this._wordHighlighter.hasDecorations())}moveNext(){var t;null===(t=this._wordHighlighter)||void 0===t||t.moveNext()}moveBack(){var t;null===(t=this._wordHighlighter)||void 0===t||t.moveBack()}restoreViewState(t){this._wordHighlighter&&t&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};Vtt.ID="editor.contrib.wordHighlighter",Vtt=Itt=_tt([Ntt(1,ah),Ntt(2,gg),Ntt(3,fr)],Vtt);class Utt extends su{constructor(t,i){super(i),this._isNext=t}run(t,i){const e=Vtt.get(i);e&&(this._isNext?e.moveNext():e.moveBack())}}lu(Vtt.ID,Vtt,0),cu(class extends Utt{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:rt(0,"Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:Btt,kbOpts:{kbExpr:UC.editorTextFocus,primary:65,weight:100}})}}),cu(class extends Utt{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:rt(0,"Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:Btt,kbOpts:{kbExpr:UC.editorTextFocus,primary:1089,weight:100}})}}),cu(class extends su{constructor(){super({id:"editor.action.wordHighlight.trigger",label:rt(0,"Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:Btt.toNegated(),kbOpts:{kbExpr:UC.editorTextFocus,primary:0,weight:100}})}run(t,i,e){const s=Vtt.get(i);s&&s.restoreViewState(!0)}});class qtt extends eu{constructor(t){super(t),this._inSelectionMode=t.inSelectionMode,this._wordNavigationType=t.wordNavigationType}runEditorCommand(t,i,e){if(!i.hasModel())return;const s=Af(i.getOption(129)),n=i.getModel(),o=i.getSelections().map((t=>{const i=new As(t.positionLineNumber,t.positionColumn),e=this._move(s,n,i,this._wordNavigationType);return this._moveTo(t,e,this._inSelectionMode)}));if(n.pushStackElement(),i._getViewModel().setCursorStates("moveWordCommand",3,o.map((t=>cC.fromModelSelection(t)))),1===o.length){const t=new As(o[0].positionLineNumber,o[0].positionColumn);i.revealPosition(t,0)}}_moveTo(t,i,e){return e?new Ls(t.selectionStartLineNumber,t.selectionStartColumn,i.lineNumber,i.column):new Ls(i.lineNumber,i.column,i.lineNumber,i.column)}}class Ktt extends qtt{_move(t,i,e,s){return CC.moveWordLeft(t,i,e,s)}}class Gtt extends qtt{_move(t,i,e,s){return CC.moveWordRight(t,i,e,s)}}class Ztt extends eu{constructor(t){super(t),this._whitespaceHeuristics=t.whitespaceHeuristics,this._wordNavigationType=t.wordNavigationType}runEditorCommand(t,i,e){const s=t.get(qd);if(!i.hasModel())return;const n=Af(i.getOption(129)),o=i.getModel(),r=i.getSelections(),h=i.getOption(6),c=i.getOption(11),a=s.getLanguageConfiguration(o.getLanguageId()).getAutoClosingPairs(),l=i._getViewModel(),u=r.map((t=>{const e=this._delete({wordSeparators:n,model:o,selection:t,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:i.getOption(9),autoClosingBrackets:h,autoClosingQuotes:c,autoClosingPairs:a,autoClosedCharacters:l.getCursorAutoClosedCharacters()},this._wordNavigationType);return new gC(e,"")}));i.pushUndoStop(),i.executeCommands(this.id,u),i.pushUndoStop()}}class Qtt extends Ztt{_delete(t,i){return CC.deleteWordLeft(t,i)||new Ms(1,1,1,1)}}class Jtt extends Ztt{_delete(t,i){const e=CC.deleteWordRight(t,i);if(e)return e;const s=t.model.getLineCount(),n=t.model.getLineMaxColumn(s);return new Ms(s,n,s,n)}}hu(new class extends Ktt{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}),hu(new class extends Ktt{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}),hu(new class extends Ktt{constructor(){var t;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:zr.and(UC.textInputFocus,null===(t=zr.and(Hm,uW))||void 0===t?void 0:t.negate()),primary:2063,mac:{primary:527},weight:100}})}}),hu(new class extends Ktt{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}),hu(new class extends Ktt{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}),hu(new class extends Ktt{constructor(){var t;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:zr.and(UC.textInputFocus,null===(t=zr.and(Hm,uW))||void 0===t?void 0:t.negate()),primary:3087,mac:{primary:1551},weight:100}})}}),hu(new class extends Gtt{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}),hu(new class extends Gtt{constructor(){var t;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:zr.and(UC.textInputFocus,null===(t=zr.and(Hm,uW))||void 0===t?void 0:t.negate()),primary:2065,mac:{primary:529},weight:100}})}}),hu(new class extends Gtt{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}),hu(new class extends Gtt{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}),hu(new class extends Gtt{constructor(){var t;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:zr.and(UC.textInputFocus,null===(t=zr.and(Hm,uW))||void 0===t?void 0:t.negate()),primary:3089,mac:{primary:1553},weight:100}})}}),hu(new class extends Gtt{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}),hu(new class extends Ktt{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(t,i,e,s){return super._move(Af(Ni.wordSeparators.defaultValue),i,e,s)}}),hu(new class extends Ktt{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(t,i,e,s){return super._move(Af(Ni.wordSeparators.defaultValue),i,e,s)}}),hu(new class extends Gtt{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(t,i,e,s){return super._move(Af(Ni.wordSeparators.defaultValue),i,e,s)}}),hu(new class extends Gtt{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(t,i,e,s){return super._move(Af(Ni.wordSeparators.defaultValue),i,e,s)}}),hu(new class extends Qtt{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:UC.writable})}}),hu(new class extends Qtt{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:UC.writable})}}),hu(new class extends Qtt{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:UC.writable,kbOpts:{kbExpr:UC.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}),hu(new class extends Jtt{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:UC.writable})}}),hu(new class extends Jtt{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:UC.writable})}}),hu(new class extends Jtt{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:UC.writable,kbOpts:{kbExpr:UC.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}),cu(class extends su{constructor(){super({id:"deleteInsideWord",precondition:UC.writable,label:rt(0,"Delete Word"),alias:"Delete Word"})}run(t,i,e){if(!i.hasModel())return;const s=Af(i.getOption(129)),n=i.getModel(),o=i.getSelections().map((t=>{const i=CC.deleteInsideWord(s,n,t);return new gC(i,"")}));i.pushUndoStop(),i.executeCommands(this.id,o),i.pushUndoStop()}});class Ytt extends qtt{_move(t,i,e,s){return SC.moveWordPartLeft(t,i,e)}}Dr.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft"),Dr.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class Xtt extends qtt{_move(t,i,e,s){return SC.moveWordPartRight(t,i,e)}}hu(new class extends Ztt{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:UC.writable,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(t,i){return SC.deleteWordPartLeft(t)||new Ms(1,1,1,1)}}),hu(new class extends Ztt{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:UC.writable,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(t,i){const e=SC.deleteWordPartRight(t);if(e)return e;const s=t.model.getLineCount(),n=t.model.getLineMaxColumn(s);return new Ms(s,n,s,n)}}),hu(new class extends Ytt{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}),hu(new class extends Ytt{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}),hu(new class extends Xtt{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}),hu(new class extends Xtt{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:UC.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}});class tit extends ie{constructor(t){super(),this.editor=t,this._register(this.editor.onDidAttemptReadOnlyEdit((()=>this._onDidAttemptReadOnlyEdit())))}_onDidAttemptReadOnlyEdit(){const t=hQ.get(this.editor);if(t&&this.editor.hasModel()){let i=this.editor.getOptions().get(91);i||(i=new M_(rt(0,this.editor.isSimpleWidget?"Cannot edit in read-only input":"Cannot edit in read-only editor"))),t.showMessage(i,this.editor.getPosition())}}}tit.ID="editor.contrib.readOnlyMessageController",lu(tit.ID,tit,2);class iit extends ie{constructor(t){super(),this.editor=t,this.widget=null,Lt&&(this._register(t.onDidChangeConfiguration((()=>this.update()))),this.update())}update(){const t=!this.editor.getOption(90);!this.widget&&t?this.widget=new eit(this.editor):this.widget&&!t&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}iit.ID="editor.contrib.iPadShowKeyboard";class eit extends ie{constructor(t){super(),this.editor=t,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Va(this._domNode,"touchstart",(()=>{this.editor.focus()}))),this._register(Va(this._domNode,"focus",(()=>{this.editor.focus()}))),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return eit.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}eit.ID="editor.contrib.ShowKeyboardWidget",lu(iit.ID,iit,3);var sit,nit=function(t,i){return function(e,s){i(e,s,t)}};let oit=sit=class extends ie{static get(t){return t.getContribution(sit.ID)}constructor(t,i,e){super(),this._editor=t,this._languageService=e,this._widget=null,this._register(this._editor.onDidChangeModel((()=>this.stop()))),this._register(this._editor.onDidChangeModelLanguage((()=>this.stop()))),this._register(Zs.onDidChange((()=>this.stop()))),this._register(this._editor.onKeyUp((t=>9===t.keyCode&&this.stop())))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new rit(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};oit.ID="editor.contrib.inspectTokens",oit=sit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([nit(1,Yz),nit(2,yd)],oit);class rit extends ie{constructor(t,i){super(),this.allowEditorOverflow=!0,this._editor=t,this._languageService=i,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=function(t,i){const e=Zs.get(i);if(e)return e;const s=t.encodeLanguageId(i);return{getInitialState:()=>Ag,tokenize:(t,e,s)=>Mg(i,s),tokenizeEncoded:(t,i,e)=>Lg(s,e)}}(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition((()=>this._compute(this._editor.getPosition())))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return rit._ID}_compute(t){const i=this._getTokensAtLine(t.lineNumber);let e=0;for(let s=i.tokens1.length-1;s>=0;s--)if(t.column-1>=i.tokens1[s].offset){e=s;break}let s=0;for(let e=i.tokens2.length>>>1;e>=0;e--)if(t.column-1>=i.tokens2[e<<1]){s=e;break}const n=this._model.getLineContent(t.lineNumber);let o="";e{const[i]=t.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})}))),i.add(t.onDidChangeValue((t=>{const i=this.registry.getQuickAccessProvider(t.substr(hit.PREFIX.length));i&&i.prefix&&i.prefix!==hit.PREFIX&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})}))),t.items=this.getQuickAccessProviders().filter((t=>t.prefix!==hit.PREFIX)),i}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort(((t,i)=>t.prefix.localeCompare(i.prefix))).flatMap((t=>this.createPicks(t)))}createPicks(t){return t.helpEntries.map((i=>{const e=i.prefix||t.prefix,s=e||"…";return{prefix:e,label:s,keybinding:i.commandId?this.keybindingService.lookupKeybinding(i.commandId):void 0,ariaLabel:rt(0,"{0}, {1}",s,i.description),description:i.description}}))}};ait.PREFIX="?",ait=hit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([cit(0,Dj),cit(1,Yx)],ait),Dh.as(kj).registerQuickAccessProvider({ctor:ait,prefix:"",helpEntries:[{description:GO.helpQuickAccessActionLabel}]});class lit{constructor(t){this.options=t,this.rangeHighlightDecorationId=void 0}provide(t,i){var e;const s=new te;t.canAcceptInBackground=!!(null===(e=this.options)||void 0===e?void 0:e.canAcceptInBackground),t.matchOnLabel=t.matchOnDescription=t.matchOnDetail=t.sortByLabel=!1;const n=s.add(new ee);return n.value=this.doProvide(t,i),s.add(this.onDidActiveTextEditorControlChange((()=>{n.value=void 0,n.value=this.doProvide(t,i)}))),s}doProvide(t,i){var e;const s=new te,n=this.activeTextEditorControl;if(n&&this.canProvideWithTextEditor(n)){const o={editor:n},r=bK(n);if(r){let t=null!==(e=n.saveViewState())&&void 0!==e?e:void 0;s.add(r.onDidChangeCursorPosition((()=>{var i;t=null!==(i=n.saveViewState())&&void 0!==i?i:void 0}))),o.restoreViewState=()=>{t&&n===this.activeTextEditorControl&&n.restoreViewState(t)},s.add(Zi(i.onCancellationRequested)((()=>{var t;return null===(t=o.restoreViewState)||void 0===t?void 0:t.call(o)})))}s.add(Xi((()=>this.clearDecorations(n)))),s.add(this.provideWithTextEditor(o,t,i))}else s.add(this.provideWithoutTextEditor(t,i));return s}canProvideWithTextEditor(t){return!0}gotoLocation({editor:t},i){t.setSelection(i.range),t.revealRangeInCenter(i.range,0),i.preserveFocus||t.focus();const e=t.getModel();e&&"getLineContent"in e&&Rm(`${e.getLineContent(i.range.startLineNumber)}`)}getModel(t){var i;return vK(t)?null===(i=t.getModel())||void 0===i?void 0:i.modified:t.getModel()}addDecorations(t,i){t.changeDecorations((t=>{const e=[];this.rangeHighlightDecorationId&&(e.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),e.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const s=[{range:i,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:i,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:Kk(Dx),position:Mf.Full}}}],[n,o]=t.deltaDecorations(e,s);this.rangeHighlightDecorationId={rangeHighlightId:n,overviewRulerDecorationId:o}}))}clearDecorations(t){const i=this.rangeHighlightDecorationId;i&&(t.changeDecorations((t=>{t.deltaDecorations([i.overviewRulerDecorationId,i.rangeHighlightId],[])})),this.rangeHighlightDecorationId=void 0)}}class uit extends lit{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(t){const i=rt(0,"Open a text editor first to go to a line.");return t.items=[{label:i}],t.ariaLabel=i,ie.None}provideWithTextEditor(t,i,e){const s=t.editor,n=new te;n.add(i.onDidAccept((e=>{const[n]=i.selectedItems;if(n){if(!this.isValidLineNumber(s,n.lineNumber))return;this.gotoLocation(t,{range:this.toRange(n.lineNumber,n.column),keyMods:i.keyMods,preserveFocus:e.inBackground}),e.inBackground||i.hide()}})));const o=()=>{const t=this.parsePosition(s,i.value.trim().substr(uit.PREFIX.length)),e=this.getPickLabel(s,t.lineNumber,t.column);if(i.items=[{lineNumber:t.lineNumber,column:t.column,label:e}],i.ariaLabel=e,!this.isValidLineNumber(s,t.lineNumber))return void this.clearDecorations(s);const n=this.toRange(t.lineNumber,t.column);s.revealRangeInCenter(n,0),this.addDecorations(s,n)};o(),n.add(i.onDidChangeValue((()=>o())));const r=bK(s);return r&&2===r.getOptions().get(67).renderType&&(r.updateOptions({lineNumbers:"on"}),n.add(Xi((()=>r.updateOptions({lineNumbers:"relative"}))))),n}toRange(t=1,i=1){return{startLineNumber:t,startColumn:i,endLineNumber:t,endColumn:i}}parsePosition(t,i){const e=i.split(/,|:|#/).map((t=>parseInt(t,10))).filter((t=>!isNaN(t))),s=this.lineCount(t)+1;return{lineNumber:e[0]>0?e[0]:s+e[0],column:e[1]}}getPickLabel(t,i,e){if(this.isValidLineNumber(t,i))return this.isValidColumn(t,i,e)?rt(0,"Go to line {0} and character {1}.",i,e):rt(0,"Go to line {0}.",i);const s=t.getPosition()||{lineNumber:1,column:1},n=this.lineCount(t);return n>1?rt(0,"Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",s.lineNumber,s.column,n):rt(0,"Current Line: {0}, Character: {1}. Type a line number to navigate to.",s.lineNumber,s.column)}isValidLineNumber(t,i){return!(!i||"number"!=typeof i)&&i>0&&i<=this.lineCount(t)}isValidColumn(t,i,e){if(!e||"number"!=typeof e)return!1;const s=this.getModel(t);if(!s)return!1;const n={lineNumber:i,column:e};return s.validatePosition(n).equals(n)}lineCount(t){var i,e;return null!==(e=null===(i=this.getModel(t))||void 0===i?void 0:i.getLineCount())&&void 0!==e?e:0}}uit.PREFIX=":";let dit=class extends uit{constructor(t){super(),this.editorService=t,this.onDidActiveTextEditorControlChange=ce.None}get activeTextEditorControl(){var t;return null!==(t=this.editorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}};dit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([function(t,i){return function(e,s){i(e,s,t)}}(0,fr)],dit);class fit extends su{constructor(){super({id:fit.ID,label:KO.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:2085,mac:{primary:293},weight:100}})}run(t){t.get(Dj).quickAccess.show(dit.PREFIX)}}fit.ID="editor.action.gotoLine",cu(fit),Dh.as(kj).registerQuickAccessProvider({ctor:dit,prefix:dit.PREFIX,helpEntries:[{description:KO.gotoLineActionLabel,commandId:fit.ID}]});const pit=[void 0,[]];function git(t,i,e=0,s=0){return i.values&&i.values.length>1?function(t,i,e,s){let n=0;const o=[];for(const r of i){const[i,h]=mit(t,r,e,s);if("number"!=typeof i)return pit;n+=i,o.push(...h)}return[n,wit(o)]}(t,i.values,e,s):mit(t,i,e,s)}function mit(t,i,e,s){const n=m_(i.original,i.originalLowercase,e,t,t.toLowerCase(),s,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],e_(n)]:pit}function wit(t){const i=t.sort(((t,i)=>t.start-i.start)),e=[];let s;for(const t of i)!s||((n=s).end<(o=t).start||o.end=0,r=vit(t);let h;const c=t.split(bit);if(c.length>1)for(const t of c){const i=vit(t),{pathNormalized:e,normalized:s,normalizedLowercase:n}=kit(t);s&&(h||(h=[]),h.push({original:t,originalLowercase:t.toLowerCase(),pathNormalized:e,normalized:s,normalizedLowercase:n,expectContiguousMatch:i}))}return{original:t,originalLowercase:i,pathNormalized:e,normalized:s,normalizedLowercase:n,values:h,containsPathSeparator:o,expectContiguousMatch:r}}function kit(t){let i;i=t.replace(Ct?/\//g:/\\/g,as);const e=(s=i,s.replace(/\*/g,"")).replace(/\s|"/g,"");var s;return{pathNormalized:i,normalized:e,normalizedLowercase:e.toLowerCase()}}function xit(t){return Array.isArray(t)?yit(t.map((t=>t.original)).join(bit)):yit(t.original)}var Cit,Sit=function(t,i){return function(e,s){i(e,s,t)}};let Dit=Cit=class extends lit{constructor(t,i,e=Object.create(null)){super(e),this._languageFeaturesService=t,this._outlineModelService=i,this.options=e,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(t){return this.provideLabelPick(t,rt(0,"To go to a symbol, first open a text editor with symbol information.")),ie.None}provideWithTextEditor(t,i,e){const s=this.getModel(t.editor);return s?this._languageFeaturesService.documentSymbolProvider.has(s)?this.doProvideWithEditorSymbols(t,s,i,e):this.doProvideWithoutEditorSymbols(t,s,i,e):ie.None}doProvideWithoutEditorSymbols(t,i,e,s){const n=new te;return this.provideLabelPick(e,rt(0,"The active text editor does not provide symbol information.")),(async()=>{await this.waitForLanguageSymbolRegistry(i,n)&&!s.isCancellationRequested&&n.add(this.doProvideWithEditorSymbols(t,i,e,s))})(),n}provideLabelPick(t,i){t.items=[{label:i,index:0,kind:14}],t.ariaLabel=i}async waitForLanguageSymbolRegistry(t,i){if(this._languageFeaturesService.documentSymbolProvider.has(t))return!0;const e=new bc,s=i.add(this._languageFeaturesService.documentSymbolProvider.onDidChange((()=>{this._languageFeaturesService.documentSymbolProvider.has(t)&&(s.dispose(),e.complete(!0))})));return i.add(Xi((()=>e.complete(!1)))),e.p}doProvideWithEditorSymbols(t,i,e,s){var n;const o=t.editor,r=new te;r.add(e.onDidAccept((i=>{const[s]=e.selectedItems;s&&s.range&&(this.gotoLocation(t,{range:s.range.selection,keyMods:e.keyMods,preserveFocus:i.inBackground}),i.inBackground||e.hide())}))),r.add(e.onDidTriggerItemButton((({item:i})=>{i&&i.range&&(this.gotoLocation(t,{range:i.range.selection,keyMods:e.keyMods,forceSideBySide:!0}),e.hide())})));const h=this.getDocumentSymbols(i,s);let c;const a=async t=>{null==c||c.dispose(!0),e.busy=!1,c=new Se(s),e.busy=!0;try{const i=yit(e.value.substr(Cit.PREFIX.length).trim()),n=await this.doGetSymbolPicks(h,i,void 0,c.token);if(s.isCancellationRequested)return;if(n.length>0){if(e.items=n,t&&0===i.original.length){const i=Xf(n,(i=>Boolean("separator"!==i.type&&i.range&&Ms.containsPosition(i.range.decoration,t))));i&&(e.activeItems=[i])}}else this.provideLabelPick(e,rt(0,i.original.length>0?"No matching editor symbols":"No editor symbols"))}finally{s.isCancellationRequested||(e.busy=!1)}};return r.add(e.onDidChangeValue((()=>a(void 0)))),a(null===(n=o.getSelection())||void 0===n?void 0:n.getPosition()),r.add(e.onDidChangeActive((()=>{const[t]=e.activeItems;t&&t.range&&(o.revealRangeInCenter(t.range.selection,0),this.addDecorations(o,t.range.decoration))}))),r}async doGetSymbolPicks(t,i,e,s){var n,o;const r=await t;if(s.isCancellationRequested)return[];const h=0===i.original.indexOf(Cit.SCOPE_PREFIX),c=h?1:0;let a,l,u;i.values&&i.values.length>1?(a=xit(i.values[0]),l=xit(i.values.slice(1))):a=i;const d=null===(o=null===(n=this.options)||void 0===n?void 0:n.openSideBySideDirection)||void 0===o?void 0:o.call(n);d&&(u=[{iconClass:Cr.asClassName("right"===d?Os.splitHorizontal:Os.splitVertical),tooltip:rt(0,"right"===d?"Open to the Side":"Open to the Bottom")}]);const f=[];for(let v=0;vc){let L=!1;if(a!==i&&([C,S]=git(k,{...i,values:void 0},c,x),"number"==typeof C&&(L=!0)),"number"!=typeof C&&([C,S]=git(k,a,c,x),"number"!=typeof C))continue;if(!L&&l){if(A&&l.original.length>0&&([D,E]=git(A,l)),"number"!=typeof D)continue;"number"==typeof C&&(C+=D)}}const M=b.tags&&b.tags.indexOf(1)>=0;f.push({index:v,kind:b.kind,score:C,label:k,ariaLabel:(p=b.name,g=b.kind,rt(0,"{0} ({1})",p,Hs[g])),description:A,highlights:M?void 0:{label:S,description:E},range:{selection:Ms.collapseToStart(b.selectionRange),decoration:b.range},strikethrough:M,buttons:u})}var p,g;const m=f.sort(((t,i)=>h?this.compareByKindAndScore(t,i):this.compareByScore(t,i)));let w=[];if(h){let F,T,R=0;function O(){T&&"number"==typeof F&&R>0&&(T.label=qn(Ait[F]||Eit,R))}for(const I of m)F!==I.kind?(O(),F=I.kind,R=1,T={type:"separator"},w.push(T)):R++,w.push(I);O()}else m.length>0&&(w=[{label:rt(0,"symbols ({0})",f.length),type:"separator"},...m]);return w}compareByScore(t,i){if("number"!=typeof t.score&&"number"==typeof i.score)return 1;if("number"==typeof t.score&&"number"!=typeof i.score)return-1;if("number"==typeof t.score&&"number"==typeof i.score){if(t.score>i.score)return-1;if(t.scorei.index?1:0}compareByKindAndScore(t,i){const e=(Ait[t.kind]||Eit).localeCompare(Ait[i.kind]||Eit);return 0===e?this.compareByScore(t,i):e}async getDocumentSymbols(t,i){const e=await this._outlineModelService.getOrCreate(t,i);return i.isCancellationRequested?[]:e.asListOfDocumentSymbols()}};Dit.PREFIX="@",Dit.SCOPE_PREFIX=":",Dit.PREFIX_BY_CATEGORY=`${Cit.PREFIX}${Cit.SCOPE_PREFIX}`,Dit=Cit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Sit(0,gg),Sit(1,x5)],Dit);const Eit=rt(0,"properties ({0})"),Ait={5:rt(0,"methods ({0})"),11:rt(0,"functions ({0})"),8:rt(0,"constructors ({0})"),12:rt(0,"variables ({0})"),4:rt(0,"classes ({0})"),22:rt(0,"structs ({0})"),23:rt(0,"events ({0})"),24:rt(0,"operators ({0})"),10:rt(0,"interfaces ({0})"),2:rt(0,"namespaces ({0})"),3:rt(0,"packages ({0})"),25:rt(0,"type parameters ({0})"),1:rt(0,"modules ({0})"),6:rt(0,"properties ({0})"),9:rt(0,"enumerations ({0})"),21:rt(0,"enumeration members ({0})"),14:rt(0,"strings ({0})"),0:rt(0,"files ({0})"),17:rt(0,"arrays ({0})"),15:rt(0,"numbers ({0})"),16:rt(0,"booleans ({0})"),18:rt(0,"objects ({0})"),19:rt(0,"keys ({0})"),7:rt(0,"fields ({0})"),13:rt(0,"constants ({0})")};var Mit=function(t,i){return function(e,s){i(e,s,t)}};let Lit=class extends Dit{constructor(t,i,e){super(i,e),this.editorService=t,this.onDidActiveTextEditorControlChange=ce.None}get activeTextEditorControl(){var t;return null!==(t=this.editorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}};Lit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Mit(0,fr),Mit(1,gg),Mit(2,x5)],Lit);class Fit extends su{constructor(){super({id:Fit.ID,label:QO.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:UC.hasDocumentSymbolProvider,kbOpts:{kbExpr:UC.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(t){t.get(Dj).quickAccess.show(Dit.PREFIX,{itemActivation:Sj.NONE})}}function Tit(t,i){return i&&(t.stack||t.stacktrace)?rt(0,"{0}: {1}",Oit(t),Rit(t.stack)||Rit(t.stacktrace)):Oit(t)}function Rit(t){return Array.isArray(t)?t.join("\n"):t}function Oit(t){return"ERR_UNC_HOST_NOT_ALLOWED"===t.code?`${t.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:"string"==typeof t.code&&"number"==typeof t.errno&&"string"==typeof t.syscall?rt(0,"A system error occurred ({0})",t.message):t.message||rt(0,"An unknown error occurred. Please consult the log for more details.")}function Iit(t=null,i=!1){if(!t)return rt(0,"An unknown error occurred. Please consult the log for more details.");if(Array.isArray(t)){const e=w(t),s=Iit(e[0],i);return e.length>1?rt(0,"{0} ({1} errors in total)",s,e.length):s}if(P(t))return t;if(t.detail){const e=t.detail;if(e.error)return Tit(e.error,i);if(e.exception)return Tit(e.exception,i)}return t.stack?Tit(t,i):t.message?t.message:rt(0,"An unknown error occurred. Please consult the log for more details.")}Fit.ID="editor.action.quickOutline",cu(Fit),Dh.as(kj).registerQuickAccessProvider({ctor:Lit,prefix:Dit.PREFIX,helpEntries:[{description:QO.quickOutlineActionLabel,prefix:Dit.PREFIX,commandId:Fit.ID},{description:QO.quickOutlineByCategoryActionLabel,prefix:Dit.PREFIX_BY_CATEGORY}]});class _it{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(t,i){const e=this.computeEmbedding(t),s=new Map,n=[];for(const[t,o]of this.documents){if(i.isCancellationRequested)return[];for(const i of o.chunks){const o=this.computeSimilarityScore(i,e,s);o>0&&n.push({key:t,score:o})}}return n}static termFrequencies(t){return function(t){var i;const e=new Map;for(const s of t)e.set(s,(null!==(i=e.get(s))&&void 0!==i?i:0)+1);return e}(_it.splitTerms(t))}static*splitTerms(t){const i=t=>t.toLowerCase();for(const[e]of t.matchAll(/\b\p{Letter}[\p{Letter}\d]{2,}\b/gu)){yield i(e);const t=e.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(t.length>1)for(const e of t)e.length>2&&/\p{Letter}{3,}/gu.test(e)&&(yield i(e))}}updateDocuments(t){var i;for(const{key:i}of t)this.deleteDocument(i);for(const e of t){const t=[];for(const s of e.textChunks){const e=_it.termFrequencies(s);for(const t of e.keys())this.chunkOccurrences.set(t,(null!==(i=this.chunkOccurrences.get(t))&&void 0!==i?i:0)+1);t.push({text:s,tf:e})}this.chunkCount+=t.length,this.documents.set(e.key,{chunks:t})}return this}deleteDocument(t){const i=this.documents.get(t);if(i){this.documents.delete(t),this.chunkCount-=i.chunks.length;for(const t of i.chunks)for(const i of t.tf.keys()){const t=this.chunkOccurrences.get(i);if("number"==typeof t){const e=t-1;e<=0?this.chunkOccurrences.delete(i):this.chunkOccurrences.set(i,e)}}}}computeSimilarityScore(t,i,e){let s=0;for(const[n,o]of Object.entries(i)){const i=t.tf.get(n);if(!i)continue;let r=e.get(n);"number"!=typeof r&&(r=this.computeIdf(n),e.set(n,r)),s+=i*r*o}return s}computeEmbedding(t){const i=_it.termFrequencies(t);return this.computeTfidf(i)}computeIdf(t){var i;const e=null!==(i=this.chunkOccurrences.get(t))&&void 0!==i?i:0;return e>0?Math.log((this.chunkCount+1)/e):0}computeTfidf(t){const i=Object.create(null);for(const[e,s]of t){const t=this.computeIdf(e);t>0&&(i[e]=s*t)}return i}}var Nit;function Bit(t){return Array.isArray(t.items)}function Pit(t){return!!t.picks&&t.additionalPicks instanceof Promise}!function(t){t[t.NO_ACTION=0]="NO_ACTION",t[t.CLOSE_PICKER=1]="CLOSE_PICKER",t[t.REFRESH_PICKER=2]="REFRESH_PICKER",t[t.REMOVE_ITEM=3]="REMOVE_ITEM"}(Nit||(Nit={}));class $it extends ie{constructor(t,i){super(),this.prefix=t,this.options=i}provide(t,i,e){var s;const n=new te;let o;t.canAcceptInBackground=!!(null===(s=this.options)||void 0===s?void 0:s.canAcceptInBackground),t.matchOnLabel=t.matchOnDescription=t.matchOnDetail=t.sortByLabel=!1;const r=n.add(new ee),h=async()=>{const s=r.value=new te;null==o||o.dispose(!0),t.busy=!1,o=new Se(i);const n=o.token,h=t.value.substr(this.prefix.length).trim(),c=this._getPicks(h,s,n,e),a=(i,e)=>{var s;let n,o;if(Bit(i)?(n=i.items,o=i.active):n=i,0===n.length){if(e)return!1;(h.length>0||t.hideInput)&&(null===(s=this.options)||void 0===s?void 0:s.noResultsPick)&&(n=Z(this.options.noResultsPick)?[this.options.noResultsPick(h)]:[this.options.noResultsPick])}return t.items=n,o&&(t.activeItems=[o]),!0},l=async i=>{let e=!1,s=!1;await Promise.all([(async()=>{"number"==typeof i.mergeDelay&&(await ac(i.mergeDelay),n.isCancellationRequested)||s||(e=a(i.picks,!0))})(),(async()=>{t.busy=!0;try{const s=await i.additionalPicks;if(n.isCancellationRequested)return;let o,r,h,c;if(Bit(i.picks)?(o=i.picks.items,r=i.picks.active):o=i.picks,Bit(s)?(h=s.items,c=s.active):h=s,h.length>0||!e){let i;if(!r&&!c){const e=t.activeItems[0];e&&-1!==o.indexOf(e)&&(i=e)}a({items:[...o,...h],active:r||c||i})}}finally{n.isCancellationRequested||(t.busy=!1),s=!0}})()])};if(null===c);else if(Pit(c))await l(c);else if(c instanceof Promise){t.busy=!0;try{const t=await c;if(n.isCancellationRequested)return;Pit(t)?await l(t):a(t)}finally{n.isCancellationRequested||(t.busy=!1)}}else a(c)};return n.add(t.onDidChangeValue((()=>h()))),h(),n.add(t.onDidAccept((i=>{const[e]=t.selectedItems;"function"==typeof(null==e?void 0:e.accept)&&(i.inBackground||t.hide(),e.accept(t.keyMods,i))}))),n.add(t.onDidTriggerItemButton((async({button:e,item:s})=>{var n,o;if("function"==typeof s.trigger){const r=null!==(o=null===(n=s.buttons)||void 0===n?void 0:n.indexOf(e))&&void 0!==o?o:-1;if(r>=0){const e=s.trigger(r,t.keyMods),n="number"==typeof e?e:await e;if(i.isCancellationRequested)return;switch(n){case Nit.NO_ACTION:break;case Nit.CLOSE_PICKER:t.hide();break;case Nit.REFRESH_PICKER:h();break;case Nit.REMOVE_ITEM:{const i=t.items.indexOf(s);if(-1!==i){const e=t.items.slice(),s=e.splice(i,1),n=t.activeItems.filter((t=>t!==s[0])),o=t.keepScrollPosition;t.keepScrollPosition=!0,t.items=e,n&&(t.activeItems=n),t.keepScrollPosition=o}break}}}}}))),n}}var Wit,jit,zit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r},Hit=function(t,i){return function(e,s){i(e,s,t)}};let Vit=Wit=class extends $it{constructor(t,i,e,s,n,o){super(Wit.PREFIX,t),this.instantiationService=i,this.keybindingService=e,this.commandService=s,this.telemetryService=n,this.dialogService=o,this.commandsHistory=this._register(this.instantiationService.createInstance(Uit)),this.options=t}async _getPicks(t,i,e,s){var n,o,r,h;const c=await this.getCommandPicks(e);if(e.isCancellationRequested)return[];const a=Zi((()=>{const i=new _it;return i.updateDocuments(c.map((t=>({key:t.commandId,textChunks:[this.getTfIdfChunk(t)]})))),function(t){var i,e;const s=t.slice(0);s.sort(((t,i)=>i.score-t.score));const n=null!==(e=null===(i=s[0])||void 0===i?void 0:i.score)&&void 0!==e?e:0;if(n>0)for(const t of s)t.score/=n;return s}(i.calculateScores(t,e)).filter((t=>t.score>Wit.TFIDF_THRESHOLD)).slice(0,Wit.TFIDF_MAX_RESULTS)})),l=[];for(const i of c){const s=null!==(n=Wit.WORD_FILTER(t,i.label))&&void 0!==n?n:void 0,r=i.commandAlias&&null!==(o=Wit.WORD_FILTER(t,i.commandAlias))&&void 0!==o?o:void 0;if(s||r)i.highlights={label:s,detail:this.options.showAlias?r:void 0},l.push(i);else if(t===i.commandId)l.push(i);else if(t.length>=3){const t=a();if(e.isCancellationRequested)return[];const s=t.find((t=>t.key===i.commandId));s&&(i.tfIdfScore=s.score,l.push(i))}}const u=new Map;for(const t of l){const i=u.get(t.label);i?(t.description=t.commandId,i.description=i.commandId):u.set(t.label,t)}l.sort(((t,i)=>{if(t.tfIdfScore&&i.tfIdfScore)return t.tfIdfScore===i.tfIdfScore?t.label.localeCompare(i.label):i.tfIdfScore-t.tfIdfScore;if(t.tfIdfScore)return 1;if(i.tfIdfScore)return-1;const e=this.commandsHistory.peek(t.commandId),s=this.commandsHistory.peek(i.commandId);if(e&&s)return e>s?-1:1;if(e)return-1;if(s)return 1;if(this.options.suggestedCommandIds){const e=this.options.suggestedCommandIds.has(t.commandId),s=this.options.suggestedCommandIds.has(i.commandId);if(e&&s)return 0;if(e)return-1;if(s)return 1}return t.label.localeCompare(i.label)}));const d=[];let f=!1,p=!0,g=!!this.options.suggestedCommandIds;for(let t=0;t{var i;const n=await this.getAdditionalCommandPicks(c,l,t,e);if(e.isCancellationRequested)return[];const o=n.map((t=>this.toCommandPick(t,s)));return p&&"separator"!==(null===(i=o[0])||void 0===i?void 0:i.type)&&o.unshift({type:"separator",label:rt(0,"similar commands")}),o})()}:d}toCommandPick(t,i){if("separator"===t.type)return t;const e=this.keybindingService.lookupKeybinding(t.commandId),s=e?rt(0,"{0}, {1}",t.label,e.getAriaLabel()):t.label;return{...t,ariaLabel:s,detail:this.options.showAlias&&t.commandAlias!==t.label?t.commandAlias:void 0,keybinding:e,accept:async()=>{var e,s;this.commandsHistory.push(t.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:t.commandId,from:null!==(e=null==i?void 0:i.from)&&void 0!==e?e:"quick open"});try{(null===(s=t.args)||void 0===s?void 0:s.length)?await this.commandService.executeCommand(t.commandId,...t.args):await this.commandService.executeCommand(t.commandId)}catch(i){zi(i)||this.dialogService.error(rt(0,"Command '{0}' resulted in an error",t.label),Iit(i))}}}}getTfIdfChunk({label:t,commandAlias:i,commandDescription:e}){let s=t;return i&&i!==t&&(s+=` - ${i}`),e&&e.value!==t&&(s+=` - ${e.value===e.original?e.value:`${e.value} (${e.original})`}`),s}};Vit.PREFIX=">",Vit.TFIDF_THRESHOLD=.5,Vit.TFIDF_MAX_RESULTS=5,Vit.WORD_FILTER=MI(LI,(function(t,i,e=!1){if(!i||0===i.length)return null;let s=null,n=0;for(t=t.toLowerCase(),i=i.toLowerCase();nthis.updateConfiguration(t)))),this._register(this.storageService.onWillSaveState((t=>{t.reason===yB.SHUTDOWN&&this.saveState()})))}updateConfiguration(t){t&&!t.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=jit.getConfiguredCommandHistoryLength(this.configurationService),jit.cache&&jit.cache.limit!==this.configuredCommandsHistoryLength&&(jit.cache.limit=this.configuredCommandsHistoryLength,jit.hasChanges=!0))}load(){const t=this.storageService.get(jit.PREF_KEY_CACHE,0);let i;if(t)try{i=JSON.parse(t)}catch(t){}const e=jit.cache=new Bp(this.configuredCommandsHistoryLength,1);if(i){let t;t=i.usesLRU?i.entries:i.entries.sort(((t,i)=>t.value-i.value)),t.forEach((t=>e.set(t.key,t.value)))}jit.counter=this.storageService.getNumber(jit.PREF_KEY_COUNTER,0,jit.counter)}push(t){jit.cache&&(jit.cache.set(t,jit.counter++),jit.hasChanges=!0)}peek(t){var i;return null===(i=jit.cache)||void 0===i?void 0:i.peek(t)}saveState(){if(!jit.cache)return;if(!jit.hasChanges)return;const t={usesLRU:!0,entries:[]};jit.cache.forEach(((i,e)=>t.entries.push({key:e,value:i}))),this.storageService.store(jit.PREF_KEY_CACHE,JSON.stringify(t),0,0),this.storageService.store(jit.PREF_KEY_COUNTER,jit.counter,0,0),jit.hasChanges=!1}static getConfiguredCommandHistoryLength(t){var i,e;const s=null===(e=null===(i=t.getValue().workbench)||void 0===i?void 0:i.commandPalette)||void 0===e?void 0:e.history;return"number"==typeof s?s:jit.DEFAULT_COMMANDS_HISTORY_LENGTH}};Uit.DEFAULT_COMMANDS_HISTORY_LENGTH=50,Uit.PREF_KEY_CACHE="commandPalette.mru.cache",Uit.PREF_KEY_COUNTER="commandPalette.mru.counter",Uit.counter=1,Uit.hasChanges=!1,Uit=jit=zit([Hit(0,bB),Hit(1,pd)],Uit);class qit extends Vit{constructor(t,i,e,s,n,o){super(t,i,e,s,n,o)}getCodeEditorCommandPicks(){const t=this.activeTextEditorControl;if(!t)return[];const i=[];for(const e of t.getSupportedActions())i.push({commandId:e.id,commandAlias:e.alias,label:S_(e.label)||e.id});return i}}var Kit=function(t,i){return function(e,s){i(e,s,t)}};let Git=class extends qit{get activeTextEditorControl(){var t;return null!==(t=this.codeEditorService.getFocusedCodeEditor())&&void 0!==t?t:void 0}constructor(t,i,e,s,n,o){super({showAlias:!1},t,e,s,n,o),this.codeEditorService=i}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};Git=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Kit(0,ur),Kit(1,fr),Kit(2,Yx),Kit(3,Sr),Kit(4,Wh),Kit(5,HT)],Git);class Zit extends su{constructor(){super({id:Zit.ID,label:ZO.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:UC.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(t){t.get(Dj).quickAccess.show(Git.PREFIX)}}Zit.ID="editor.action.quickCommand",cu(Zit),Dh.as(kj).registerQuickAccessProvider({ctor:Git,prefix:Git.PREFIX,helpEntries:[{description:ZO.quickCommandHelp,commandId:Zit.ID}]});var Qit=function(t,i){return function(e,s){i(e,s,t)}};let Jit=class extends AY{constructor(t,i,e,s,n,o,r){super(!0,t,i,e,s,n,o,r)}};Jit=function(t,i,e,s){var n,o=arguments.length,r=o<3?i:null===s?s=Object.getOwnPropertyDescriptor(i,e):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,i,e,s);else for(var h=t.length-1;h>=0;h--)(n=t[h])&&(r=(o<3?n(r):o>3?n(i,e,r):n(i,e))||r);return o>3&&r&&Object.defineProperty(i,e,r),r}([Qit(1,ah),Qit(2,fr),Qit(3,JF),Qit(4,ur),Qit(5,bB),Qit(6,pd)],Jit),lu(AY.ID,Jit,4),cu(class extends su{constructor(){super({id:"editor.action.toggleHighContrast",label:YO.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(t,i){const e=t.get(Yz),s=e.getColorTheme();_y(s.type)?(e.setTheme(this._originalThemeName||(Ny(s.type)?Hz:zz)),this._originalThemeName=null):(e.setTheme(Ny(s.type)?Vz:Uz),this._originalThemeName=s.themeName)}});const Yit=performance.getEntriesByType("resource").slice(-1)[0].name;self.MonacoEnvironment={getWorkerUrl:(t,i)=>`${Yit.replace(/(.*\/).*?$/,"$1")}${"html"===i?"html":"editor"}.worker.js?t=${Date.now()}`};const Xit=class{constructor(i){t(this,i),this.monacoEditorDidLoad=o(this,"monacoEditorDidLoad",7),this.defaultOptions={language:"html",readOnly:!1,theme:"vs-light",scrollBeyondLastLine:!1,minimap:{enabled:!1},automaticLayout:!0,wordWrap:"on"},this.rendered=!1,this.options=void 0,this.initialValue="",this.tiptapEditor=void 0,this.updateInputValue=void 0}init(){const t=this.element.querySelector(":scope > *:first-of-type");this.monaco=HK.create(this.container,Object.assign({value:this.initialValue||(null==t?void 0:t.innerHTML.trim())||""},this.mergeOptions())),this.monaco.onDidChangeModelContent((()=>{var t,i,e;null===(t=this.tiptapEditor)||void 0===t||t.chain().setContent(null===(i=this.monaco)||void 0===i?void 0:i.getValue()).run(),null===(e=this.updateInputValue)||void 0===e||e.call(this)})),this.monacoEditorDidLoad.emit();let i=0;const e=setInterval((()=>{const t=this.monaco.getAction("editor.action.formatDocument");(t||++i>50)&&(null==t||t.run(),clearInterval(e))}),100)}connectedCallback(){this.rendered&&this.init()}componentDidLoad(){this.init(),this.rendered=!0}async disconnectedCallback(){return Boolean(this.monaco)?new Promise((t=>{var i;this.monaco.onDidDispose((()=>t())),null===(i=this.monaco.getModel())||void 0===i||i.dispose(),this.monaco.dispose()})):Promise.resolve()}onOptionsChange(){var t;null===(t=this.monaco)||void 0===t||t.updateOptions(this.mergeOptions())}async setFocus(){var t;null===(t=this.monaco)||void 0===t||t.focus()}async getValue(){var t;return null===(t=this.monaco)||void 0===t?void 0:t.getValue()}mergeOptions(){return Object.assign(Object.assign({},this.defaultOptions),this.options||{})}render(){return e(r,null,e("article",{ref:t=>this.container=t}))}get element(){return n(this)}static get watchers(){return{options:["onOptionsChange"]}}};Xit.style='/*!-----------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)\n * Released under the MIT license\n * https://github.com/microsoft/vscode/blob/main/LICENSE.txt\n *-----------------------------------------------------------*/.monaco-action-bar{white-space:nowrap;height:100%}.monaco-action-bar .actions-container{display:flex;margin:0 auto;padding:0;height:100%;width:100%;align-items:center}.monaco-action-bar.vertical .actions-container{display:inline-block}.monaco-action-bar .action-item{display:block;align-items:center;justify-content:center;cursor:pointer;position:relative}.monaco-action-bar .action-item.disabled{cursor:default}.monaco-action-bar .action-item .codicon,.monaco-action-bar .action-item .icon{display:block}.monaco-action-bar .action-item .codicon{display:flex;align-items:center;width:16px;height:16px}.monaco-action-bar .action-label{display:flex;font-size:11px;padding:3px;border-radius:5px}.monaco-action-bar .action-item.disabled .action-label,.monaco-action-bar .action-item.disabled .action-label:before,.monaco-action-bar .action-item.disabled .action-label:hover{opacity:.6}.monaco-action-bar.vertical{text-align:left}.monaco-action-bar.vertical .action-item{display:block}.monaco-action-bar.vertical .action-label.separator{display:block;border-bottom:1px solid #bbb;padding-top:1px;margin-left:.8em;margin-right:.8em}.monaco-action-bar .action-item .action-label.separator{width:1px;height:16px;margin:5px 4px!important;cursor:default;min-width:1px;padding:0;background-color:#bbb}.secondary-actions .monaco-action-bar .action-label{margin-left:6px}.monaco-action-bar .action-item.select-container{overflow:hidden;flex:1;max-width:170px;min-width:60px;display:flex;align-items:center;justify-content:center;margin-right:10px}.monaco-action-bar .action-item.action-dropdown-item{display:flex}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator{display:flex;align-items:center;cursor:default}.monaco-action-bar .action-item.action-dropdown-item>.action-dropdown-item-separator>div{width:1px}.monaco-aria-container{position:absolute;left:-999em}.monaco-text-button{box-sizing:border-box;display:flex;width:100%;padding:4px;border-radius:2px;text-align:center;cursor:pointer;justify-content:center;align-items:center;border:1px solid var(--vscode-button-border,transparent);line-height:18px}.monaco-text-button:focus{outline-offset:2px!important}.monaco-text-button:hover{text-decoration:none!important}.monaco-button.disabled,.monaco-button.disabled:focus{opacity:.4!important;cursor:default}.monaco-text-button .codicon{margin:0 .2em;color:inherit!important}.monaco-text-button.monaco-text-button-with-short-label{flex-direction:row;flex-wrap:wrap;padding:0 4px;overflow:hidden;height:28px}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label{flex-basis:100%}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{flex-grow:1;width:0;overflow:hidden}.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label,.monaco-text-button.monaco-text-button-with-short-label>.monaco-button-label-short{display:flex;justify-content:center;align-items:center;font-weight:400;font-style:inherit;padding:4px 0}.monaco-button-dropdown{display:flex;cursor:pointer}.monaco-button-dropdown.disabled{cursor:default}.monaco-button-dropdown>.monaco-button:focus{outline-offset:-1px!important}.monaco-button-dropdown.disabled>.monaco-button-dropdown-separator,.monaco-button-dropdown.disabled>.monaco-button.disabled,.monaco-button-dropdown.disabled>.monaco-button.disabled:focus{opacity:.4!important}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-right-width:0!important}.monaco-button-dropdown .monaco-button-dropdown-separator{padding:4px 0;cursor:default}.monaco-button-dropdown .monaco-button-dropdown-separator>div{height:100%;width:1px}.monaco-button-dropdown>.monaco-button.monaco-dropdown-button{border:1px solid var(--vscode-button-border,transparent);border-left-width:0!important;border-radius:0 2px 2px 0;display:flex;align-items:center}.monaco-button-dropdown>.monaco-button.monaco-text-button{border-radius:2px 0 0 2px}.monaco-description-button{display:flex;flex-direction:column;align-items:center;margin:4px 5px}.monaco-description-button .monaco-button-description{font-style:italic;font-size:11px;padding:4px 20px}.monaco-description-button .monaco-button-description,.monaco-description-button .monaco-button-label{display:flex;justify-content:center;align-items:center}.monaco-description-button .monaco-button-description>.codicon,.monaco-description-button .monaco-button-label>.codicon{margin:0 .2em;color:inherit!important}.monaco-button-dropdown.default-colors>.monaco-button,.monaco-button.default-colors{color:var(--vscode-button-foreground);background-color:var(--vscode-button-background)}.monaco-button-dropdown.default-colors>.monaco-button:hover,.monaco-button.default-colors:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary,.monaco-button.default-colors.secondary{color:var(--vscode-button-secondaryForeground);background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors>.monaco-button.secondary:hover,.monaco-button.default-colors.secondary:hover{background-color:var(--vscode-button-secondaryHoverBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator{background-color:var(--vscode-button-background);border-top:1px solid var(--vscode-button-border);border-bottom:1px solid var(--vscode-button-border)}.monaco-button-dropdown.default-colors .monaco-button.secondary+.monaco-button-dropdown-separator{background-color:var(--vscode-button-secondaryBackground)}.monaco-button-dropdown.default-colors .monaco-button-dropdown-separator>div{background-color:var(--vscode-button-separator)}@font-face{font-family:codicon;font-display:block;src:url(../base/browser/ui/codicons/codicon/codicon.ttf) format("truetype")}.codicon[class*=codicon-]{font:normal normal normal 16px/1 codicon;display:inline-block;text-decoration:none;text-rendering:auto;text-align:center;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none}.codicon-wrench-subaction{opacity:.5}@keyframes codicon-spin{to{transform:rotate(1turn)}}.codicon-gear.codicon-modifier-spin,.codicon-loading.codicon-modifier-spin,.codicon-notebook-state-executing.codicon-modifier-spin,.codicon-sync.codicon-modifier-spin{animation:codicon-spin 1.5s steps(30) infinite}.codicon-modifier-disabled{opacity:.4}.codicon-loading,.codicon-tree-item-loading:before{animation-duration:1s!important;animation-timing-function:cubic-bezier(.53,.21,.29,.67)!important}.context-view{position:absolute}.context-view.fixed{all:initial;font-family:inherit;font-size:13px;position:fixed;color:inherit}.monaco-count-badge{padding:3px 6px;border-radius:11px;font-size:11px;min-width:18px;min-height:18px;line-height:11px;font-weight:400;text-align:center;display:inline-block;box-sizing:border-box}.monaco-count-badge.long{padding:2px 3px;border-radius:2px;min-height:auto;line-height:normal}.monaco-dropdown{height:100%;padding:0}.monaco-dropdown>.dropdown-label{cursor:pointer;height:100%;display:flex;align-items:center;justify-content:center}.monaco-dropdown>.dropdown-label>.action-label.disabled{cursor:default}.monaco-dropdown-with-primary{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-primary>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-primary>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-findInput{position:relative}.monaco-findInput .monaco-inputbox{font-size:13px;width:100%}.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.vs .monaco-findInput.disabled{background-color:#e1e1e1}.vs-dark .monaco-findInput.disabled{background-color:#333}.hc-light .monaco-findInput.highlight-0 .controls,.monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-0 .1s linear 0s}.hc-light .monaco-findInput.highlight-1 .controls,.monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-1 .1s linear 0s}.hc-black .monaco-findInput.highlight-0 .controls,.vs-dark .monaco-findInput.highlight-0 .controls{animation:monaco-findInput-highlight-dark-0 .1s linear 0s}.hc-black .monaco-findInput.highlight-1 .controls,.vs-dark .monaco-findInput.highlight-1 .controls{animation:monaco-findInput-highlight-dark-1 .1s linear 0s}@keyframes monaco-findInput-highlight-0{0%{background:rgba(253,255,0,.8)}to{background:transparent}}@keyframes monaco-findInput-highlight-1{0%{background:rgba(253,255,0,.8)}99%{background:transparent}}@keyframes monaco-findInput-highlight-dark-0{0%{background:hsla(0,0%,100%,.44)}to{background:transparent}}@keyframes monaco-findInput-highlight-dark-1{0%{background:hsla(0,0%,100%,.44)}99%{background:transparent}}.monaco-hover{cursor:default;position:absolute;overflow:hidden;user-select:text;-webkit-user-select:text;box-sizing:border-box;animation:fadein .1s linear;line-height:1.5em;white-space:var(--vscode-hover-whiteSpace,normal)}.monaco-hover.hidden{display:none}.monaco-hover a:hover:not(.disabled){cursor:pointer}.monaco-hover .hover-contents:not(.html-hover-contents){padding:4px 8px}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents){max-width:var(--vscode-hover-maxWidth,500px);word-wrap:break-word}.monaco-hover .markdown-hover>.hover-contents:not(.code-hover-contents) hr{min-width:100%}.monaco-hover .code,.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6,.monaco-hover p,.monaco-hover ul{margin:8px 0}.monaco-hover h1,.monaco-hover h2,.monaco-hover h3,.monaco-hover h4,.monaco-hover h5,.monaco-hover h6{line-height:1.1}.monaco-hover code{font-family:var(--monaco-monospace-font)}.monaco-hover hr{box-sizing:border-box;border-left:0;border-right:0;margin:4px -8px -4px;height:1px}.monaco-hover .code:first-child,.monaco-hover p:first-child,.monaco-hover ul:first-child{margin-top:0}.monaco-hover .code:last-child,.monaco-hover p:last-child,.monaco-hover ul:last-child{margin-bottom:0}.monaco-hover ol,.monaco-hover ul{padding-left:20px}.monaco-hover li>p{margin-bottom:0}.monaco-hover li>ul{margin-top:0}.monaco-hover code{border-radius:3px;padding:0 .4em}.monaco-hover .monaco-tokenized-source{white-space:var(--vscode-hover-sourceWhiteSpace,pre-wrap)}.monaco-hover .hover-row.status-bar{font-size:12px;line-height:22px}.monaco-hover .hover-row.status-bar .info{font-style:italic;padding:0 8px}.monaco-hover .hover-row.status-bar .actions{display:flex;padding:0 8px}.monaco-hover .hover-row.status-bar .actions .action-container{margin-right:16px;cursor:pointer}.monaco-hover .hover-row.status-bar .actions .action-container .action .icon{padding-right:4px}.monaco-hover .markdown-hover .hover-contents .codicon{color:inherit;font-size:inherit;vertical-align:middle}.monaco-hover .hover-contents a.code-link,.monaco-hover .hover-contents a.code-link:hover{color:inherit}.monaco-hover .hover-contents a.code-link:before{content:"("}.monaco-hover .hover-contents a.code-link:after{content:")"}.monaco-hover .hover-contents a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground)}.monaco-hover .hover-contents a.code-link>span:hover{color:var(--vscode-textLink-activeForeground)}.monaco-hover .markdown-hover .hover-contents:not(.code-hover-contents):not(.html-hover-contents) span{margin-bottom:4px;display:inline-block}.monaco-hover-content .action-container a{-webkit-user-select:none;user-select:none}.monaco-hover-content .action-container.disabled{pointer-events:none;opacity:.4;cursor:default}.monaco-icon-label{display:flex;overflow:hidden;text-overflow:ellipsis}.monaco-icon-label:before{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;line-height:inherit!important;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;flex-shrink:0}.monaco-icon-label-container.disabled{color:var(--vscode-disabledForeground)}.monaco-icon-label>.monaco-icon-label-container{min-width:0;overflow:hidden;text-overflow:ellipsis;flex:1}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{color:inherit;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-name-container>.label-name>.label-separator{margin:0 2px;opacity:.5}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-suffix-container>.label-suffix{opacity:.7;white-space:pre}.monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.7;margin-left:.5em;font-size:.9em;white-space:pre}.monaco-icon-label.nowrap>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{white-space:nowrap}.vs .monaco-icon-label>.monaco-icon-label-container>.monaco-icon-description-container>.label-description{opacity:.95}.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.italic>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{font-style:italic}.monaco-icon-label.deprecated{text-decoration:line-through;opacity:.66}.monaco-icon-label.italic:after{font-style:italic}.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-description-container>.label-description,.monaco-icon-label.strikethrough>.monaco-icon-label-container>.monaco-icon-name-container>.label-name{text-decoration:line-through}.monaco-icon-label:after{opacity:.75;font-size:90%;font-weight:600;margin:auto 16px 0 5px;text-align:center}.monaco-list:focus .selected .monaco-icon-label,.monaco-list:focus .selected .monaco-icon-label:after{color:inherit!important}.monaco-list-row.focused.selected .label-description,.monaco-list-row.selected .label-description{opacity:.8}.monaco-inputbox{position:relative;display:block;padding:0;box-sizing:border-box;border-radius:2px;font-size:inherit}.monaco-inputbox>.ibwrapper>.input,.monaco-inputbox>.ibwrapper>.mirror{padding:4px 6px}.monaco-inputbox>.ibwrapper{position:relative;width:100%;height:100%}.monaco-inputbox>.ibwrapper>.input{display:inline-block;box-sizing:border-box;width:100%;height:100%;line-height:inherit;border:none;font-family:inherit;font-size:inherit;resize:none;color:inherit}.monaco-inputbox>.ibwrapper>input{text-overflow:ellipsis}.monaco-inputbox>.ibwrapper>textarea.input{display:block;scrollbar-width:none;outline:none}.monaco-inputbox>.ibwrapper>textarea.input::-webkit-scrollbar{display:none}.monaco-inputbox>.ibwrapper>textarea.input.empty{white-space:nowrap}.monaco-inputbox>.ibwrapper>.mirror{position:absolute;display:inline-block;width:100%;top:0;left:0;box-sizing:border-box;white-space:pre-wrap;visibility:hidden;word-wrap:break-word}.monaco-inputbox-container{text-align:right}.monaco-inputbox-container .monaco-inputbox-message{display:inline-block;overflow:hidden;text-align:left;width:100%;box-sizing:border-box;padding:.4em;font-size:12px;line-height:17px;margin-top:-1px;word-wrap:break-word}.monaco-inputbox .monaco-action-bar{position:absolute;right:2px;top:4px}.monaco-inputbox .monaco-action-bar .action-item{margin-left:2px}.monaco-inputbox .monaco-action-bar .action-item .codicon{background-repeat:no-repeat;width:16px;height:16px}.monaco-keybinding{display:flex;align-items:center;line-height:10px}.monaco-keybinding>.monaco-keybinding-key{display:inline-block;border-style:solid;border-width:1px;border-radius:3px;vertical-align:middle;font-size:11px;padding:3px 5px;margin:0 2px}.monaco-keybinding>.monaco-keybinding-key:first-child{margin-left:0}.monaco-keybinding>.monaco-keybinding-key:last-child{margin-right:0}.monaco-keybinding>.monaco-keybinding-key-separator{display:inline-block}.monaco-keybinding>.monaco-keybinding-key-chord-separator{width:6px}.monaco-list{position:relative;height:100%;width:100%;white-space:nowrap}.monaco-list.mouse-support{user-select:none;-webkit-user-select:none}.monaco-list>.monaco-scrollable-element{height:100%}.monaco-list-rows{position:relative;width:100%;height:100%}.monaco-list.horizontal-scrolling .monaco-list-rows{width:auto;min-width:100%}.monaco-list-row{position:absolute;box-sizing:border-box;overflow:hidden;width:100%}.monaco-list.mouse-support .monaco-list-row{cursor:pointer;touch-action:none}.monaco-list .monaco-scrollable-element>.scrollbar.vertical,.monaco-pane-view>.monaco-split-view2.vertical>.monaco-scrollable-element>.scrollbar.vertical{z-index:14}.monaco-list-row.scrolling{display:none!important}.monaco-list.element-focused,.monaco-list.selection-multiple,.monaco-list.selection-single{outline:0!important}.monaco-drag-image{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;position:absolute;z-index:1000}.monaco-list-type-filter-message{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;padding:40px 1em 1em;text-align:center;white-space:normal;opacity:.7;pointer-events:none}.monaco-list-type-filter-message:empty{display:none}.monaco-mouse-cursor-text{cursor:text}.monaco-progress-container{width:100%;height:2px;overflow:hidden}.monaco-progress-container .progress-bit{width:2%;height:2px;position:absolute;left:0;display:none}.monaco-progress-container.active .progress-bit{display:inherit}.monaco-progress-container.discrete .progress-bit{left:0;transition:width .1s linear}.monaco-progress-container.discrete.done .progress-bit{width:100%}.monaco-progress-container.infinite .progress-bit{animation-name:progress;animation-duration:4s;animation-iteration-count:infinite;transform:translateZ(0);animation-timing-function:linear}.monaco-progress-container.infinite.infinite-long-running .progress-bit{animation-timing-function:steps(100)}@keyframes progress{0%{transform:translateX(0) scaleX(1)}50%{transform:translateX(2500%) scaleX(3)}to{transform:translateX(4900%) scaleX(1)}}:root{--vscode-sash-size:4px;--vscode-sash-hover-size:4px}.monaco-sash{position:absolute;z-index:35;touch-action:none}.monaco-sash.disabled{pointer-events:none}.monaco-sash.mac.vertical{cursor:col-resize}.monaco-sash.vertical.minimum{cursor:e-resize}.monaco-sash.vertical.maximum{cursor:w-resize}.monaco-sash.mac.horizontal{cursor:row-resize}.monaco-sash.horizontal.minimum{cursor:s-resize}.monaco-sash.horizontal.maximum{cursor:n-resize}.monaco-sash.disabled{cursor:default!important;pointer-events:none!important}.monaco-sash.vertical{cursor:ew-resize;top:0;width:var(--vscode-sash-size);height:100%}.monaco-sash.horizontal{cursor:ns-resize;left:0;width:100%;height:var(--vscode-sash-size)}.monaco-sash:not(.disabled)>.orthogonal-drag-handle{content:" ";height:calc(var(--vscode-sash-size)*2);width:calc(var(--vscode-sash-size)*2);z-index:100;display:block;cursor:all-scroll;position:absolute}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.start,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.end{cursor:nwse-resize}.monaco-sash.horizontal.orthogonal-edge-north:not(.disabled)>.orthogonal-drag-handle.end,.monaco-sash.horizontal.orthogonal-edge-south:not(.disabled)>.orthogonal-drag-handle.start{cursor:nesw-resize}.monaco-sash.vertical>.orthogonal-drag-handle.start{left:calc(var(--vscode-sash-size)*-0.5);top:calc(var(--vscode-sash-size)*-1)}.monaco-sash.vertical>.orthogonal-drag-handle.end{left:calc(var(--vscode-sash-size)*-0.5);bottom:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.start{top:calc(var(--vscode-sash-size)*-0.5);left:calc(var(--vscode-sash-size)*-1)}.monaco-sash.horizontal>.orthogonal-drag-handle.end{top:calc(var(--vscode-sash-size)*-0.5);right:calc(var(--vscode-sash-size)*-1)}.monaco-sash:before{content:"";pointer-events:none;position:absolute;width:100%;height:100%;background:transparent}.monaco-workbench:not(.reduce-motion) .monaco-sash:before{transition:background-color .1s ease-out}.monaco-sash.active:before,.monaco-sash.hover:before{background:var(--vscode-sash-hoverBorder)}.monaco-sash.vertical:before{width:var(--vscode-sash-hover-size);left:calc(50% - var(--vscode-sash-hover-size)/2)}.monaco-sash.horizontal:before{height:var(--vscode-sash-hover-size);top:calc(50% - var(--vscode-sash-hover-size)/2)}.pointer-events-disabled{pointer-events:none!important}.monaco-sash.debug{background:#0ff}.monaco-sash.debug.disabled{background:rgba(0,255,255,.2)}.monaco-sash.debug:not(.disabled)>.orthogonal-drag-handle{background:red}.monaco-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.monaco-scrollable-element>.visible{opacity:1;background:transparent;transition:opacity .1s linear;z-index:11}.monaco-scrollable-element>.invisible{opacity:0;pointer-events:none}.monaco-scrollable-element>.invisible.fade{transition:opacity .8s linear}.monaco-scrollable-element>.shadow{position:absolute;display:none}.monaco-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.monaco-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow) 6px 0 6px -6px inset}.monaco-scrollable-element>.scrollbar>.slider{background:var(--vscode-scrollbarSlider-background)}.monaco-scrollable-element>.scrollbar>.slider:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-scrollable-element>.scrollbar>.slider.active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-select-box{width:100%;cursor:pointer;border-radius:2px}.monaco-select-box-dropdown-container{font-size:13px;font-weight:400;text-transform:none}.monaco-action-bar .action-item.select-container{cursor:default}.monaco-action-bar .action-item .monaco-select-box{cursor:pointer;min-width:100px;min-height:18px;padding:2px 23px 2px 8px}.mac .monaco-action-bar .action-item .monaco-select-box{font-size:11px;border-radius:5px}.monaco-select-box-dropdown-padding{--dropdown-padding-top:1px;--dropdown-padding-bottom:1px}.hc-black .monaco-select-box-dropdown-padding,.hc-light .monaco-select-box-dropdown-padding{--dropdown-padding-top:3px;--dropdown-padding-bottom:4px}.monaco-select-box-dropdown-container{display:none;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown *{margin:0}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown a:focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-select-box-dropdown-container>.select-box-details-pane>.select-box-description-markdown code{line-height:15px;font-family:var(--monaco-monospace-font)}.monaco-select-box-dropdown-container.visible{display:flex;flex-direction:column;text-align:left;width:1px;overflow:hidden;border-bottom-left-radius:3px;border-bottom-right-radius:3px}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container{flex:0 0 auto;align-self:flex-start;padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom);padding-left:1px;padding-right:1px;width:100%;overflow:hidden;box-sizing:border-box}.monaco-select-box-dropdown-container>.select-box-details-pane{padding:5px}.hc-black .monaco-select-box-dropdown-container>.select-box-dropdown-list-container{padding-top:var(--dropdown-padding-top);padding-bottom:var(--dropdown-padding-bottom)}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row{cursor:pointer}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-text{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-detail{text-overflow:ellipsis;overflow:hidden;padding-left:3.5px;white-space:nowrap;float:left;opacity:.7}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.option-decorator-right{text-overflow:ellipsis;overflow:hidden;padding-right:10px;white-space:nowrap;float:right}.monaco-select-box-dropdown-container>.select-box-dropdown-list-container .monaco-list .monaco-list-row>.visually-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control{flex:1 1 auto;align-self:flex-start;opacity:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div{overflow:hidden;max-height:0}.monaco-select-box-dropdown-container>.select-box-dropdown-container-width-control>.width-control-div>.option-text-width-control{padding-left:4px;padding-right:8px;white-space:nowrap}.monaco-split-view2{position:relative;width:100%;height:100%}.monaco-split-view2>.sash-container{position:absolute;width:100%;height:100%;pointer-events:none}.monaco-split-view2>.sash-container>.monaco-sash{pointer-events:auto}.monaco-split-view2>.monaco-scrollable-element{width:100%;height:100%}.monaco-split-view2>.monaco-scrollable-element>.split-view-container{width:100%;height:100%;white-space:nowrap;position:relative}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view{white-space:normal;position:absolute}.monaco-split-view2>.monaco-scrollable-element>.split-view-container>.split-view-view:not(.visible){display:none}.monaco-split-view2.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view{width:100%}.monaco-split-view2.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view{height:100%}.monaco-split-view2.separator-border>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{content:" ";position:absolute;top:0;left:0;z-index:5;pointer-events:none;background-color:var(--separator-border)}.monaco-split-view2.separator-border.horizontal>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:100%;width:1px}.monaco-split-view2.separator-border.vertical>.monaco-scrollable-element>.split-view-container>.split-view-view:not(:first-child):before{height:1px;width:100%}.monaco-table{display:flex;flex-direction:column;position:relative;height:100%;width:100%;white-space:nowrap;overflow:hidden}.monaco-table>.monaco-split-view2{border-bottom:1px solid transparent}.monaco-table>.monaco-list{flex:1}.monaco-table-tr{display:flex;height:100%}.monaco-table-th{width:100%;height:100%;font-weight:700;overflow:hidden;text-overflow:ellipsis}.monaco-table-td,.monaco-table-th{box-sizing:border-box;flex-shrink:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{content:"";position:absolute;left:calc(var(--vscode-sash-size)/2);width:0;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2,.monaco-workbench:not(.reduce-motion) .monaco-table>.monaco-split-view2 .monaco-sash.vertical:before{transition:border-color .2s ease-out}.monaco-custom-toggle{margin-left:2px;float:left;cursor:pointer;overflow:hidden;width:20px;height:20px;border-radius:3px;border:1px solid transparent;padding:1px;box-sizing:border-box;user-select:none;-webkit-user-select:none}.monaco-custom-toggle:hover{background-color:var(--vscode-inputOption-hoverBackground)}.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle:hover{border:1px dashed var(--vscode-focusBorder)}.hc-black .monaco-custom-toggle,.hc-black .monaco-custom-toggle:hover,.hc-light .monaco-custom-toggle,.hc-light .monaco-custom-toggle:hover{background:none}.monaco-custom-toggle.monaco-checkbox{height:18px;width:18px;border:1px solid transparent;border-radius:3px;margin-right:9px;margin-left:0;padding:0;opacity:1;background-size:16px!important}.monaco-action-bar .checkbox-action-item{display:flex;align-items:center}.monaco-action-bar .checkbox-action-item>.monaco-custom-toggle.monaco-checkbox{margin-right:4px}.monaco-action-bar .checkbox-action-item>.checkbox-label{font-size:12px}.monaco-custom-toggle.monaco-checkbox:not(.checked):before{visibility:hidden}.monaco-toolbar{height:100%}.monaco-toolbar .toolbar-toggle-more{display:inline-block;padding:0}.monaco-tl-row{display:flex;height:100%;align-items:center;position:relative}.monaco-tl-row.disabled{cursor:default}.monaco-tl-indent{height:100%;position:absolute;top:0;left:16px;pointer-events:none}.hide-arrows .monaco-tl-indent{left:12px}.monaco-tl-indent>.indent-guide{display:inline-block;box-sizing:border-box;height:100%;border-left:1px solid transparent}.monaco-workbench:not(.reduce-motion) .monaco-tl-indent>.indent-guide{transition:border-color .1s linear}.monaco-tl-contents,.monaco-tl-twistie{height:100%}.monaco-tl-twistie{font-size:10px;text-align:right;padding-right:6px;flex-shrink:0;width:16px;display:flex!important;align-items:center;justify-content:center;transform:translateX(3px)}.monaco-tl-contents{flex:1;overflow:hidden}.monaco-tl-twistie:before{border-radius:20px}.monaco-tl-twistie.collapsed:before{transform:rotate(-90deg)}.monaco-tl-twistie.codicon-tree-item-loading:before{animation:codicon-spin 1.25s steps(30) infinite}.monaco-tree-type-filter{position:absolute;top:0;display:flex;padding:3px;max-width:200px;z-index:100;margin:0 6px;border:1px solid var(--vscode-widget-border);border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench:not(.reduce-motion) .monaco-tree-type-filter{transition:top .3s}.monaco-tree-type-filter.disabled{top:-40px!important}.monaco-tree-type-filter-grab{display:flex!important;align-items:center;justify-content:center;cursor:grab;margin-right:2px}.monaco-tree-type-filter-grab.grabbing{cursor:grabbing}.monaco-tree-type-filter-input{flex:1}.monaco-tree-type-filter-input .monaco-inputbox{height:23px}.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.input,.monaco-tree-type-filter-input .monaco-inputbox>.ibwrapper>.mirror{padding:2px 4px}.monaco-tree-type-filter-input .monaco-findInput>.controls{top:2px}.monaco-tree-type-filter-actionbar{margin-left:4px}.monaco-tree-type-filter-actionbar .monaco-action-bar .action-label{padding:2px}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container{position:absolute;top:0;left:0;width:100%;height:0;z-index:13;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row.monaco-list-row{position:absolute;width:100%;opacity:1!important;overflow:hidden;background-color:var(--vscode-sideBar-background)}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row:hover{background-color:var(--vscode-list-hoverBackground)!important;cursor:pointer}.monaco-list .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow{position:absolute;bottom:-3px;left:0;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .inputarea{min-width:0;min-height:0;margin:0;padding:0;position:absolute;outline:none!important;resize:none;border:none;overflow:hidden;color:transparent;background-color:transparent;z-index:-10}.monaco-editor .inputarea.ime-input{z-index:10;caret-color:var(--vscode-editorCursor-foreground);color:var(--vscode-editor-foreground)}.monaco-editor .blockDecorations-container{position:absolute;top:0;pointer-events:none}.monaco-editor .blockDecorations-block{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line,.monaco-editor .view-overlays .current-line{display:block;position:absolute;left:0;top:0;box-sizing:border-box}.monaco-editor .margin-view-overlays .current-line.current-line-margin.current-line-margin-both{border-right:0}.monaco-editor .lines-content .cdr{position:absolute}.monaco-editor .glyph-margin{position:absolute;top:0}.monaco-editor .glyph-margin-widgets .cgmr{position:absolute;display:flex;align-items:center;justify-content:center}.monaco-editor .glyph-margin-widgets .cgmr.codicon-modifier-spin:before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.monaco-editor .lines-content .core-guide{position:absolute;box-sizing:border-box}.monaco-editor .margin-view-overlays .line-numbers{font-variant-numeric:tabular-nums;position:absolute;text-align:right;display:inline-block;vertical-align:middle;box-sizing:border-box;cursor:default;height:100%}.monaco-editor .relative-current-line-number{text-align:left;display:inline-block;width:100%}.monaco-editor .margin-view-overlays .line-numbers.lh-odd{margin-top:1px}.monaco-editor .line-numbers{color:var(--vscode-editorLineNumber-foreground)}.monaco-editor .line-numbers.active-line-number{color:var(--vscode-editorLineNumber-activeForeground)}.mtkcontrol{color:#fff!important;background:#960000!important}.mtkoverflow{background-color:var(--vscode-button-background,var(--vscode-editor-background));color:var(--vscode-button-foreground,var(--vscode-editor-foreground));border:1px solid var(--vscode-contrastBorder);border-radius:2px;padding:4px;cursor:pointer}.mtkoverflow:hover{background-color:var(--vscode-button-hoverBackground)}.monaco-editor.no-user-select .lines-content,.monaco-editor.no-user-select .view-line,.monaco-editor.no-user-select .view-lines{user-select:none;-webkit-user-select:none}.monaco-editor.mac .lines-content:hover,.monaco-editor.mac .view-line:hover,.monaco-editor.mac .view-lines:hover{user-select:text;-webkit-user-select:text;-ms-user-select:text}.monaco-editor.enable-user-select{user-select:initial;-webkit-user-select:initial}.monaco-editor .view-lines{white-space:nowrap}.monaco-editor .view-line{position:absolute;width:100%}.monaco-editor .mtkw,.monaco-editor .mtkz{color:var(--vscode-editorWhitespace-foreground)!important}.monaco-editor .mtkz{display:inline-block}.monaco-editor .lines-decorations{position:absolute;top:0;background:#fff}.monaco-editor .margin-view-overlays .cldr{position:absolute;height:100%}.monaco-editor .margin{background-color:var(--vscode-editorGutter-background)}.monaco-editor .margin-view-overlays .cmdr{position:absolute;left:0;width:100%;height:100%}.monaco-editor .minimap.slider-mouseover .minimap-slider{opacity:0;transition:opacity .1s linear}.monaco-editor .minimap.slider-mouseover .minimap-slider.active,.monaco-editor .minimap.slider-mouseover:hover .minimap-slider{opacity:1}.monaco-editor .minimap-slider .minimap-slider-horizontal{background:var(--vscode-minimapSlider-background)}.monaco-editor .minimap-slider:hover .minimap-slider-horizontal{background:var(--vscode-minimapSlider-hoverBackground)}.monaco-editor .minimap-slider.active .minimap-slider-horizontal{background:var(--vscode-minimapSlider-activeBackground)}.monaco-editor .minimap-shadow-visible{box-shadow:var(--vscode-scrollbar-shadow) -6px 0 6px -6px inset}.monaco-editor .minimap-shadow-hidden{position:absolute;width:0}.monaco-editor .minimap-shadow-visible{position:absolute;left:-6px;width:6px}.monaco-editor.no-minimap-shadow .minimap-shadow-visible{position:absolute;left:-1px;width:1px}.minimap.autohide{opacity:0;transition:opacity .5s}.minimap.autohide:hover{opacity:1}.monaco-editor .minimap{z-index:5}.monaco-editor .overlayWidgets{position:absolute;top:0;left:0}.monaco-editor .view-ruler{position:absolute;top:0;box-shadow:1px 0 0 0 var(--vscode-editorRuler-foreground) inset}.monaco-editor .scroll-decoration{position:absolute;top:0;left:0;height:6px;box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px inset}.monaco-editor .lines-content .cslr{position:absolute}.monaco-editor .focused .selected-text{background-color:var(--vscode-editor-selectionBackground)}.monaco-editor .selected-text{background-color:var(--vscode-editor-inactiveSelectionBackground)}.monaco-editor .top-left-radius{border-top-left-radius:3px}.monaco-editor .bottom-left-radius{border-bottom-left-radius:3px}.monaco-editor .top-right-radius{border-top-right-radius:3px}.monaco-editor .bottom-right-radius{border-bottom-right-radius:3px}.monaco-editor.hc-black .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-black .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-black .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-black .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor.hc-light .top-left-radius{border-top-left-radius:0}.monaco-editor.hc-light .bottom-left-radius{border-bottom-left-radius:0}.monaco-editor.hc-light .top-right-radius{border-top-right-radius:0}.monaco-editor.hc-light .bottom-right-radius{border-bottom-right-radius:0}.monaco-editor .cursors-layer{position:absolute;top:0}.monaco-editor .cursors-layer>.cursor{position:absolute;overflow:hidden;box-sizing:border-box}.monaco-editor .cursors-layer.cursor-smooth-caret-animation>.cursor{transition:all 80ms}.monaco-editor .cursors-layer.cursor-block-outline-style>.cursor{background:transparent!important;border-style:solid;border-width:1px}.monaco-editor .cursors-layer.cursor-underline-style>.cursor{border-bottom-width:2px;border-bottom-style:solid;background:transparent!important}.monaco-editor .cursors-layer.cursor-underline-thin-style>.cursor{border-bottom-width:1px;border-bottom-style:solid;background:transparent!important}@keyframes monaco-cursor-smooth{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes monaco-cursor-phase{0%,20%{opacity:1}90%,to{opacity:0}}@keyframes monaco-cursor-expand{0%,20%{transform:scaleY(1)}80%,to{transform:scaleY(0)}}.cursor-smooth{animation:monaco-cursor-smooth .5s ease-in-out 0s 20 alternate}.cursor-phase{animation:monaco-cursor-phase .5s ease-in-out 0s 20 alternate}.cursor-expand>.cursor{animation:monaco-cursor-expand .5s ease-in-out 0s 20 alternate}.monaco-editor .mwh{position:absolute;color:var(--vscode-editorWhitespace-foreground)!important}.monaco-diff-editor .diff-review-line-number{text-align:right;display:inline-block;color:var(--vscode-editorLineNumber-foreground)}.monaco-diff-editor .diff-review{position:absolute;user-select:none;-webkit-user-select:none;z-index:99}.monaco-diff-editor .diff-review-summary{padding-left:10px}.monaco-diff-editor .diff-review-shadow{position:absolute;box-shadow:var(--vscode-scrollbar-shadow) 0 -6px 6px -6px inset}.monaco-diff-editor .diff-review-row{white-space:pre}.monaco-diff-editor .diff-review-table{display:table;min-width:100%}.monaco-diff-editor .diff-review-row{display:table-row;width:100%}.monaco-diff-editor .diff-review-spacer{display:inline-block;width:10px;vertical-align:middle}.monaco-diff-editor .diff-review-spacer>.codicon{font-size:9px!important}.monaco-diff-editor .diff-review-actions{display:inline-block;position:absolute;right:10px;top:2px;z-index:100}.monaco-diff-editor .diff-review-actions .action-label{width:16px;height:16px;margin:2px 0}.monaco-diff-editor .revertButton{cursor:pointer}.monaco-editor .diff-hidden-lines-widget{width:100%}.monaco-editor .diff-hidden-lines{height:0;transform:translateY(-10px);font-size:13px;line-height:14px}.monaco-editor .diff-hidden-lines .bottom.dragging,.monaco-editor .diff-hidden-lines .top.dragging,.monaco-editor .diff-hidden-lines:not(.dragging) .bottom:hover,.monaco-editor .diff-hidden-lines:not(.dragging) .top:hover{background-color:var(--vscode-focusBorder)}.monaco-editor .diff-hidden-lines .bottom,.monaco-editor .diff-hidden-lines .top{transition:background-color .1s ease-out;height:4px;background-color:transparent;background-clip:padding-box;border-bottom:2px solid transparent;border-top:4px solid transparent}.monaco-editor .diff-hidden-lines .bottom.canMoveTop:not(.canMoveBottom),.monaco-editor .diff-hidden-lines .top.canMoveTop:not(.canMoveBottom),.monaco-editor.draggingUnchangedRegion.canMoveTop:not(.canMoveBottom) *{cursor:n-resize!important}.monaco-editor .diff-hidden-lines .bottom:not(.canMoveTop).canMoveBottom,.monaco-editor .diff-hidden-lines .top:not(.canMoveTop).canMoveBottom,.monaco-editor.draggingUnchangedRegion:not(.canMoveTop).canMoveBottom *{cursor:s-resize!important}.monaco-editor .diff-hidden-lines .bottom.canMoveTop.canMoveBottom,.monaco-editor .diff-hidden-lines .top.canMoveTop.canMoveBottom,.monaco-editor.draggingUnchangedRegion.canMoveTop.canMoveBottom *{cursor:ns-resize!important}.monaco-editor .diff-hidden-lines .top{transform:translateY(4px)}.monaco-editor .diff-hidden-lines .bottom{transform:translateY(-6px)}.monaco-editor .diff-unchanged-lines{background:var(--vscode-diffEditor-unchangedCodeBackground)}.monaco-editor .noModificationsOverlay{z-index:1;background:var(--vscode-editor-background);display:flex;justify-content:center;align-items:center}.monaco-editor .diff-hidden-lines .center{background:var(--vscode-diffEditor-unchangedRegionBackground);color:var(--vscode-diffEditor-unchangedRegionForeground);overflow:hidden;display:block;text-overflow:ellipsis;white-space:nowrap;height:24px;box-shadow:inset 0 -5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow),inset 0 5px 5px -7px var(--vscode-diffEditor-unchangedRegionShadow)}.monaco-editor .diff-hidden-lines .center span.codicon{vertical-align:middle}.monaco-editor .diff-hidden-lines .center a:hover .codicon{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .diff-hidden-lines div.breadcrumb-item{cursor:pointer}.monaco-editor .diff-hidden-lines div.breadcrumb-item:hover{color:var(--vscode-editorLink-activeForeground)}.monaco-editor .movedModified,.monaco-editor .movedOriginal{border:2px solid var(--vscode-diffEditor-move-border)}.monaco-editor .movedModified.currentMove,.monaco-editor .movedOriginal.currentMove{border:2px solid var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path.currentMove{stroke:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines path{pointer-events:visiblestroke}.monaco-diff-editor .moved-blocks-lines .arrow{fill:var(--vscode-diffEditor-move-border)}.monaco-diff-editor .moved-blocks-lines .arrow.currentMove{fill:var(--vscode-diffEditor-moveActive-border)}.monaco-diff-editor .moved-blocks-lines .arrow-rectangle{fill:var(--vscode-editor-background)}.monaco-diff-editor .moved-blocks-lines{position:absolute;pointer-events:none}.monaco-diff-editor .moved-blocks-lines path{fill:none;stroke:var(--vscode-diffEditor-move-border);stroke-width:2}.monaco-editor .char-delete.diff-range-empty{margin-left:-1px;border-left:3px solid var(--vscode-diffEditor-removedTextBackground)}.monaco-editor .char-insert.diff-range-empty{border-left:3px solid var(--vscode-diffEditor-insertedTextBackground)}.monaco-editor .fold-unchanged{cursor:pointer}.monaco-diff-editor .diff-moved-code-block{display:flex;justify-content:flex-end;margin-top:-4px}.monaco-diff-editor .diff-moved-code-block .action-bar .action-label.codicon{width:12px;height:12px;font-size:12px}.monaco-diff-editor .diffOverview{z-index:9}.monaco-diff-editor .diffOverview .diffViewport{z-index:10}.monaco-diff-editor.vs .diffOverview{background:rgba(0,0,0,.03)}.monaco-diff-editor.vs-dark .diffOverview{background:hsla(0,0%,100%,.01)}.monaco-scrollable-element.modified-in-monaco-diff-editor.vs-dark .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.vs .scrollbar{background:transparent}.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-black .scrollbar,.monaco-scrollable-element.modified-in-monaco-diff-editor.hc-light .scrollbar{background:none}.monaco-scrollable-element.modified-in-monaco-diff-editor .slider{z-index:10}.modified-in-monaco-diff-editor .slider.active{background:hsla(0,0%,67.1%,.4)}.modified-in-monaco-diff-editor.hc-black .slider.active,.modified-in-monaco-diff-editor.hc-light .slider.active{background:none}.monaco-diff-editor .delete-sign,.monaco-diff-editor .insert-sign,.monaco-editor .delete-sign,.monaco-editor .insert-sign{font-size:11px!important;opacity:.7!important;display:flex!important;align-items:center}.monaco-diff-editor.hc-black .delete-sign,.monaco-diff-editor.hc-black .insert-sign,.monaco-diff-editor.hc-light .delete-sign,.monaco-diff-editor.hc-light .insert-sign,.monaco-editor.hc-black .delete-sign,.monaco-editor.hc-black .insert-sign,.monaco-editor.hc-light .delete-sign,.monaco-editor.hc-light .insert-sign{opacity:1}.monaco-editor .inline-added-margin-view-zone,.monaco-editor .inline-deleted-margin-view-zone{text-align:right}.monaco-editor .arrow-revert-change{z-index:10;position:absolute}.monaco-editor .arrow-revert-change:hover{cursor:pointer}.monaco-editor .view-zones .view-lines .view-line span{display:inline-block}.monaco-editor .margin-view-zones .lightbulb-glyph:hover{cursor:pointer}.monaco-diff-editor .char-insert,.monaco-editor .char-insert{background-color:var(--vscode-diffEditor-insertedTextBackground)}.monaco-diff-editor .line-insert,.monaco-editor .line-insert{background-color:var(--vscode-diffEditor-insertedLineBackground,var(--vscode-diffEditor-insertedTextBackground))}.monaco-editor .char-insert,.monaco-editor .line-insert{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-insertedTextBorder)}.monaco-editor.hc-black .char-insert,.monaco-editor.hc-black .line-insert,.monaco-editor.hc-light .char-insert,.monaco-editor.hc-light .line-insert{border-style:dashed}.monaco-editor .char-delete,.monaco-editor .line-delete{box-sizing:border-box;border:1px solid var(--vscode-diffEditor-removedTextBorder)}.monaco-editor.hc-black .char-delete,.monaco-editor.hc-black .line-delete,.monaco-editor.hc-light .char-delete,.monaco-editor.hc-light .line-delete{border-style:dashed}.monaco-diff-editor .gutter-insert,.monaco-editor .gutter-insert,.monaco-editor .inline-added-margin-view-zone{background-color:var(--vscode-diffEditorGutter-insertedLineBackground,var(--vscode-diffEditor-insertedLineBackground),var(--vscode-diffEditor-insertedTextBackground))}.monaco-diff-editor .char-delete,.monaco-editor .char-delete{background-color:var(--vscode-diffEditor-removedTextBackground)}.monaco-diff-editor .line-delete,.monaco-editor .line-delete{background-color:var(--vscode-diffEditor-removedLineBackground,var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor .gutter-delete,.monaco-editor .gutter-delete,.monaco-editor .inline-deleted-margin-view-zone{background-color:var(--vscode-diffEditorGutter-removedLineBackground,var(--vscode-diffEditor-removedLineBackground),var(--vscode-diffEditor-removedTextBackground))}.monaco-diff-editor.side-by-side .editor.modified{box-shadow:-6px 0 5px -5px var(--vscode-scrollbar-shadow);border-left:1px solid var(--vscode-diffEditor-border)}.monaco-diff-editor .diffViewport{background:var(--vscode-scrollbarSlider-background)}.monaco-diff-editor .diffViewport:hover{background:var(--vscode-scrollbarSlider-hoverBackground)}.monaco-diff-editor .diffViewport:active{background:var(--vscode-scrollbarSlider-activeBackground)}.monaco-editor .diagonal-fill{background-image:linear-gradient(-45deg,var(--vscode-diffEditor-diagonalFill) 12.5%,transparent 0,transparent 50%,var(--vscode-diffEditor-diagonalFill) 0,var(--vscode-diffEditor-diagonalFill) 62.5%,transparent 0,transparent);background-size:8px 8px}::-ms-clear{display:none}.monaco-editor .editor-widget input{color:inherit}.monaco-editor{position:relative;overflow:visible;-webkit-text-size-adjust:100%;color:var(--vscode-editor-foreground)}.monaco-editor,.monaco-editor-background{background-color:var(--vscode-editor-background)}.monaco-editor .rangeHighlight{background-color:var(--vscode-editor-rangeHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-rangeHighlightBorder)}.monaco-editor.hc-black .rangeHighlight,.monaco-editor.hc-light .rangeHighlight{border-style:dotted}.monaco-editor .symbolHighlight{background-color:var(--vscode-editor-symbolHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-symbolHighlightBorder)}.monaco-editor.hc-black .symbolHighlight,.monaco-editor.hc-light .symbolHighlight{border-style:dotted}.monaco-editor .overflow-guard{position:relative;overflow:hidden}.monaco-editor .view-overlays{position:absolute;top:0}.monaco-editor .squiggly-error{border-bottom:4px double var(--vscode-editorError-border)}.monaco-editor .squiggly-error:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorError-background)}.monaco-editor .squiggly-warning{border-bottom:4px double var(--vscode-editorWarning-border)}.monaco-editor .squiggly-warning:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorWarning-background)}.monaco-editor .squiggly-info{border-bottom:4px double var(--vscode-editorInfo-border)}.monaco-editor .squiggly-info:before{display:block;content:"";width:100%;height:100%;background:var(--vscode-editorInfo-background)}.monaco-editor .squiggly-hint{border-bottom:2px dotted var(--vscode-editorHint-border)}.monaco-editor.showUnused .squiggly-unnecessary{border-bottom:2px dashed var(--vscode-editorUnnecessaryCode-border)}.monaco-editor.showDeprecated .squiggly-inline-deprecated{text-decoration:line-through;text-decoration-color:var(--vscode-editor-foreground,inherit)}.monaco-component .multiDiffEntry{display:flex;flex-direction:column}.monaco-component .multiDiffEntry .editorParent{border-left:2px solid var(--vscode-tab-inactiveBackground)}.monaco-component .multiDiffEntry.focused .editorParent{border-left:2px solid var(--vscode-notebook-focusedCellBorder)}.monaco-component .multiDiffEntry .editorParent .editorContainer{border-left:17px solid var(--vscode-tab-inactiveBackground)}.monaco-component .multiDiffEntry .collapse-button{margin:0 5px;cursor:pointer}.monaco-component .multiDiffEntry .collapse-button a{display:block}.monaco-component .multiDiffEntry .header{display:flex;align-items:center;padding:8px 5px;color:var(--vscode-foreground);background:var(--vscode-editor-background);z-index:1000;border-bottom:1px solid var(--vscode-sideBarSectionHeader-border);border-top:1px solid var(--vscode-sideBarSectionHeader-border);border-left:2px solid var(--vscode-editor-background)}.monaco-component .multiDiffEntry.focused .header{border-left:2px solid var(--vscode-notebook-focusedCellBorder)}.monaco-component .multiDiffEntry .header.shadow{box-shadow:var(--vscode-scrollbar-shadow) 0 6px 6px -6px}.monaco-component .multiDiffEntry .header .title{flex:1;font-size:14px;line-height:22px}.monaco-component .multiDiffEntry .header .actions{padding:0 8px}.monaco-editor .selection-anchor{background-color:#007acc;width:2px!important}.monaco-editor .bracket-match{box-sizing:border-box;background-color:var(--vscode-editorBracketMatch-background);border:1px solid var(--vscode-editorBracketMatch-border)}.monaco-editor .lightBulbWidget{display:flex;align-items:center;justify-content:center}.monaco-editor .lightBulbWidget:hover{cursor:pointer}.monaco-editor .lightBulbWidget.codicon-light-bulb,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle{color:var(--vscode-editorLightBulb-foreground)}.monaco-editor .lightBulbWidget.codicon-lightbulb-autofix,.monaco-editor .lightBulbWidget.codicon-lightbulb-sparkle-autofix{color:var(--vscode-editorLightBulbAutoFix-foreground,var(--vscode-editorLightBulb-foreground))}.monaco-editor .lightBulbWidget.codicon-sparkle-filled{color:var(--vscode-editorLightBulbAi-foreground,var(--vscode-icon-foreground))}.monaco-editor .lightBulbWidget:before{position:relative;z-index:2}.monaco-editor .lightBulbWidget:after{position:absolute;top:0;left:0;content:"";display:block;width:100%;height:100%;opacity:.3;background-color:var(--vscode-editor-background);z-index:1}.monaco-editor .codelens-decoration{overflow:hidden;display:inline-block;text-overflow:ellipsis;white-space:nowrap;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize);padding-right:calc(var(--vscode-editorCodeLens-fontSize)*0.5);font-feature-settings:var(--vscode-editorCodeLens-fontFeatureSettings);font-family:var(--vscode-editorCodeLens-fontFamily),var(--vscode-editorCodeLens-fontFamilyDefault)}.monaco-editor .codelens-decoration>a,.monaco-editor .codelens-decoration>span{user-select:none;-webkit-user-select:none;white-space:nowrap;vertical-align:sub}.monaco-editor .codelens-decoration>a{text-decoration:none}.monaco-editor .codelens-decoration>a:hover{cursor:pointer}.monaco-editor .codelens-decoration>a:hover,.monaco-editor .codelens-decoration>a:hover .codicon{color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .codelens-decoration .codicon{vertical-align:middle;color:currentColor!important;color:var(--vscode-editorCodeLens-foreground);line-height:var(--vscode-editorCodeLens-lineHeight);font-size:var(--vscode-editorCodeLens-fontSize)}.monaco-editor .codelens-decoration>a:hover .codicon:before{cursor:pointer}@keyframes fadein{0%{opacity:0;visibility:visible}to{opacity:1}}.monaco-editor .codelens-decoration.fadein{animation:fadein .1s linear}.colorpicker-widget{height:190px;user-select:none;-webkit-user-select:none}.colorpicker-color-decoration,.hc-light .colorpicker-color-decoration{border:.1em solid #000;box-sizing:border-box;margin:.1em .2em 0;width:.8em;height:.8em;line-height:.8em;display:inline-block;cursor:pointer}.hc-black .colorpicker-color-decoration,.vs-dark .colorpicker-color-decoration{border:.1em solid #eee}.colorpicker-header{display:flex;height:24px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-header .picked-color{width:240px;display:flex;align-items:center;justify-content:center;line-height:24px;cursor:pointer;color:#fff;flex:1;white-space:nowrap;overflow:hidden}.colorpicker-header .picked-color .picked-color-presentation{white-space:nowrap;margin-left:5px;margin-right:5px}.colorpicker-header .picked-color .codicon{color:inherit;font-size:14px}.colorpicker-header .picked-color.light{color:#000}.colorpicker-header .original-color{width:74px;z-index:inherit;cursor:pointer}.standalone-colorpicker{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header.standalone-colorpicker{border-bottom:none}.colorpicker-header .close-button{cursor:pointer;background-color:var(--vscode-editorHoverWidget-background);border-left:1px solid var(--vscode-editorHoverWidget-border)}.colorpicker-header .close-button-inner-div{width:100%;height:100%;text-align:center}.colorpicker-header .close-button-inner-div:hover{background-color:var(--vscode-toolbar-hoverBackground)}.colorpicker-header .close-icon{padding:3px}.colorpicker-body{display:flex;padding:8px;position:relative}.colorpicker-body .saturation-wrap{overflow:hidden;height:150px;position:relative;min-width:220px;flex:1}.colorpicker-body .saturation-box{height:150px;position:absolute}.colorpicker-body .saturation-selection{width:9px;height:9px;margin:-5px 0 0 -5px;border:1px solid #fff;border-radius:100%;box-shadow:0 0 2px rgba(0,0,0,.8);position:absolute}.colorpicker-body .strip{width:25px;height:150px}.colorpicker-body .standalone-strip{width:25px;height:122px}.colorpicker-body .hue-strip{position:relative;margin-left:8px;cursor:grab;background:linear-gradient(180deg,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red)}.colorpicker-body .opacity-strip{position:relative;margin-left:8px;cursor:grab;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMTZEaa/1AAAAHUlEQVQYV2PYvXu3JAi7uLiAMaYAjAGTQBPYLQkAa/0Zef3qRswAAAAASUVORK5CYII=);background-size:9px 9px;image-rendering:pixelated}.colorpicker-body .strip.grabbing{cursor:grabbing}.colorpicker-body .slider{position:absolute;top:0;left:-2px;width:calc(100% + 4px);height:4px;box-sizing:border-box;border:1px solid hsla(0,0%,100%,.71);box-shadow:0 0 1px rgba(0,0,0,.85)}.colorpicker-body .strip .overlay{height:150px;pointer-events:none}.colorpicker-body .standalone-strip .standalone-overlay{height:122px;pointer-events:none}.standalone-colorpicker-body{display:block;border:1px solid transparent;border-bottom:1px solid var(--vscode-editorHoverWidget-border);overflow:hidden}.colorpicker-body .insert-button{position:absolute;height:20px;width:58px;padding:0;right:8px;bottom:8px;background:var(--vscode-button-background);color:var(--vscode-button-foreground);border-radius:2px;border:none;cursor:pointer}.colorpicker-body .insert-button:hover{background:var(--vscode-button-hoverBackground)}.monaco-editor.hc-light .dnd-target,.monaco-editor.vs .dnd-target{border-right:2px dotted #000;color:#fff}.monaco-editor.vs-dark .dnd-target{border-right:2px dotted #aeafad;color:#51504f}.monaco-editor.hc-black .dnd-target{border-right:2px dotted #fff;color:#000}.monaco-editor.hc-black.mac.mouse-default .view-lines,.monaco-editor.hc-light.mac.mouse-default .view-lines,.monaco-editor.mouse-default .view-lines,.monaco-editor.vs-dark.mac.mouse-default .view-lines{cursor:default}.monaco-editor.hc-black.mac.mouse-copy .view-lines,.monaco-editor.hc-light.mac.mouse-copy .view-lines,.monaco-editor.mouse-copy .view-lines,.monaco-editor.vs-dark.mac.mouse-copy .view-lines{cursor:copy}.post-edit-widget{box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:1px solid var(--vscode-widget-border,transparent);border-radius:4px;background-color:var(--vscode-editorWidget-background);overflow:hidden}.post-edit-widget .monaco-button{padding:2px;border:none;border-radius:0}.post-edit-widget .monaco-button:hover{background-color:var(--vscode-button-secondaryHoverBackground)!important}.post-edit-widget .monaco-button .codicon{margin:0}.monaco-editor .findOptionsWidget{background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground);box-shadow:0 0 8px 2px var(--vscode-widget-shadow);border:2px solid var(--vscode-contrastBorder)}.monaco-editor .find-widget{position:absolute;z-index:35;height:33px;overflow:hidden;line-height:19px;transition:transform .2s linear;padding:0 4px;box-sizing:border-box;transform:translateY(calc(-100% - 10px));border-bottom-left-radius:4px;border-bottom-right-radius:4px}.monaco-workbench.reduce-motion .monaco-editor .find-widget{transition:transform 0ms linear}.monaco-editor .find-widget textarea{margin:0}.monaco-editor .find-widget.hiddenEditor{display:none}.monaco-editor .find-widget.replaceToggled>.replace-part{display:flex}.monaco-editor .find-widget.visible{transform:translateY(0)}.monaco-editor .find-widget .monaco-inputbox.synthetic-focus{outline:1px solid -webkit-focus-ring-color;outline-offset:-1px}.monaco-editor .find-widget .monaco-inputbox .input{background-color:transparent;min-height:0}.monaco-editor .find-widget .monaco-findInput .input{font-size:13px}.monaco-editor .find-widget>.find-part,.monaco-editor .find-widget>.replace-part{margin:3px 25px 0 17px;font-size:12px;display:flex}.monaco-editor .find-widget>.find-part .monaco-inputbox,.monaco-editor .find-widget>.replace-part .monaco-inputbox{min-height:25px}.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-right:22px}.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.find-part .monaco-inputbox>.ibwrapper>.mirror,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.input,.monaco-editor .find-widget>.replace-part .monaco-inputbox>.ibwrapper>.mirror{padding-top:2px;padding-bottom:2px}.monaco-editor .find-widget>.find-part .find-actions,.monaco-editor .find-widget>.replace-part .replace-actions{height:25px;display:flex;align-items:center}.monaco-editor .find-widget .monaco-findInput{vertical-align:middle;display:flex;flex:1}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element{width:100%}.monaco-editor .find-widget .monaco-findInput .monaco-scrollable-element .scrollbar.vertical{opacity:0}.monaco-editor .find-widget .matchesCount{display:flex;flex:initial;margin:0 0 0 3px;padding:2px 0 0 2px;height:25px;vertical-align:middle;box-sizing:border-box;text-align:center;line-height:23px}.monaco-editor .find-widget .button{width:16px;height:16px;padding:3px;border-radius:5px;flex:initial;margin-left:3px;background-position:50%;background-repeat:no-repeat;cursor:pointer;display:flex;align-items:center;justify-content:center}.monaco-editor .find-widget .codicon-find-selection{width:22px;height:22px;padding:3px;border-radius:5px}.monaco-editor .find-widget .button.left{margin-left:0;margin-right:3px}.monaco-editor .find-widget .button.wide{width:auto;padding:1px 6px;top:-1px}.monaco-editor .find-widget .button.toggle{position:absolute;top:0;left:3px;width:18px;height:100%;border-radius:0;box-sizing:border-box}.monaco-editor .find-widget .button.toggle.disabled{display:none}.monaco-editor .find-widget .disabled{color:var(--vscode-disabledForeground);cursor:default}.monaco-editor .find-widget>.replace-part{display:none}.monaco-editor .find-widget>.replace-part>.monaco-findInput{position:relative;display:flex;vertical-align:middle;flex:auto;flex-grow:0;flex-shrink:0}.monaco-editor .find-widget>.replace-part>.monaco-findInput>.controls{position:absolute;top:3px;right:2px}.monaco-editor .find-widget.reduced-find-widget .matchesCount{display:none}.monaco-editor .find-widget.narrow-find-widget{max-width:257px!important}.monaco-editor .find-widget.collapsed-find-widget{max-width:170px!important}.monaco-editor .find-widget.collapsed-find-widget .button.next,.monaco-editor .find-widget.collapsed-find-widget .button.previous,.monaco-editor .find-widget.collapsed-find-widget .button.replace,.monaco-editor .find-widget.collapsed-find-widget .button.replace-all,.monaco-editor .find-widget.collapsed-find-widget>.find-part .monaco-findInput .controls{display:none}.monaco-editor .findMatch{animation-duration:0;animation-name:inherit!important}.monaco-editor .find-widget .monaco-sash{left:0!important}.monaco-editor.hc-black .find-widget .button:before{position:relative;top:1px;left:2px}.monaco-editor .find-widget>.button.codicon-widget-close{position:absolute;top:5px;right:4px}.monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{cursor:pointer;opacity:0;transition:opacity .5s;display:flex;align-items:center;justify-content:center;font-size:140%;margin-left:2px}.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-expanded,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-collapsed,.monaco-workbench.reduce-motion .monaco-editor .margin-view-overlays .codicon-folding-manual-expanded{transition:initial}.monaco-editor .margin-view-overlays .codicon.alwaysShowFoldIcons,.monaco-editor .margin-view-overlays .codicon.codicon-folding-collapsed,.monaco-editor .margin-view-overlays .codicon.codicon-folding-manual-collapsed,.monaco-editor .margin-view-overlays:hover .codicon{opacity:1}.monaco-editor .inline-folded:after{color:grey;margin:.1em .2em 0;content:"\\22EF";display:inline;line-height:1em;cursor:pointer}.monaco-editor .folded-background{background-color:var(--vscode-editor-foldBackground)}.monaco-editor .cldr.codicon.codicon-folding-collapsed,.monaco-editor .cldr.codicon.codicon-folding-expanded,.monaco-editor .cldr.codicon.codicon-folding-manual-collapsed,.monaco-editor .cldr.codicon.codicon-folding-manual-expanded{color:var(--vscode-editorGutter-foldingControlForeground)!important}.monaco-editor .peekview-widget .head .peekview-title .severity-icon{display:inline-block;vertical-align:text-top;margin-right:4px}.monaco-editor .marker-widget{text-overflow:ellipsis;white-space:nowrap}.monaco-editor .marker-widget>.stale{opacity:.6;font-style:italic}.monaco-editor .marker-widget .title{display:inline-block;padding-right:5px}.monaco-editor .marker-widget .descriptioncontainer{position:absolute;white-space:pre;user-select:text;-webkit-user-select:text;padding:8px 12px 0 20px}.monaco-editor .marker-widget .descriptioncontainer .message{display:flex;flex-direction:column}.monaco-editor .marker-widget .descriptioncontainer .message .details{padding-left:6px}.monaco-editor .marker-widget .descriptioncontainer .message .source,.monaco-editor .marker-widget .descriptioncontainer .message span.code{opacity:.6}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link{opacity:.6;color:inherit}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:before{content:"("}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link:after{content:")"}.monaco-editor .marker-widget .descriptioncontainer .message a.code-link>span{text-decoration:underline;border-bottom:1px solid transparent;text-underline-position:under;color:var(--vscode-textLink-foreground);color:var(--vscode-textLink-activeForeground)}.monaco-editor .marker-widget .descriptioncontainer .filename{cursor:pointer}.monaco-editor .goto-definition-link{text-decoration:underline;cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .zone-widget .zone-widget-container.reference-zone-widget{border-top-width:1px;border-bottom-width:1px}.monaco-editor .reference-zone-widget .inline{display:inline-block;vertical-align:top}.monaco-editor .reference-zone-widget .messages{height:100%;width:100%;text-align:center;padding:3em 0}.monaco-editor .reference-zone-widget .ref-tree{line-height:23px;background-color:var(--vscode-peekViewResult-background);color:var(--vscode-peekViewResult-lineForeground)}.monaco-editor .reference-zone-widget .ref-tree .reference{text-overflow:ellipsis;overflow:hidden}.monaco-editor .reference-zone-widget .ref-tree .reference-file{display:inline-flex;width:100%;height:100%;color:var(--vscode-peekViewResult-fileForeground)}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .selected .reference-file{color:inherit!important}.monaco-editor .reference-zone-widget .ref-tree .monaco-list:focus .monaco-list-rows>.monaco-list-row.selected:not(.highlighted){background-color:var(--vscode-peekViewResult-selectionBackground);color:var(--vscode-peekViewResult-selectionForeground)!important}.monaco-editor .reference-zone-widget .ref-tree .reference-file .count{margin-right:12px;margin-left:auto}.monaco-editor .reference-zone-widget .ref-tree .referenceMatch .highlight{background-color:var(--vscode-peekViewResult-matchHighlightBackground)}.monaco-editor .reference-zone-widget .preview .reference-decoration{background-color:var(--vscode-peekViewEditor-matchHighlightBackground);border:2px solid var(--vscode-peekViewEditor-matchHighlightBorder);box-sizing:border-box}.monaco-editor .reference-zone-widget .preview .monaco-editor .inputarea.ime-input,.monaco-editor .reference-zone-widget .preview .monaco-editor .monaco-editor-background{background-color:var(--vscode-peekViewEditor-background)}.monaco-editor .reference-zone-widget .preview .monaco-editor .margin{background-color:var(--vscode-peekViewEditorGutter-background)}.monaco-editor.hc-black .reference-zone-widget .ref-tree .reference-file,.monaco-editor.hc-light .reference-zone-widget .ref-tree .reference-file{font-weight:700}.monaco-editor.hc-black .reference-zone-widget .ref-tree .referenceMatch .highlight,.monaco-editor.hc-light .reference-zone-widget .ref-tree .referenceMatch .highlight{border:1px dotted var(--vscode-contrastActiveBorder,transparent);box-sizing:border-box}.monaco-editor .hoverHighlight{background-color:var(--vscode-editor-hoverHighlightBackground)}.monaco-editor .monaco-hover{color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border);border-radius:3px}.monaco-editor .monaco-hover a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-hover a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .monaco-hover .hover-row .actions{background-color:var(--vscode-editorHoverWidget-statusBarBackground)}.monaco-editor .monaco-hover code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor.vs .valueSetReplacement{outline:solid 2px var(--vscode-editorBracketMatch-border)}.monaco-editor .suggest-preview-additional-widget{white-space:nowrap}.monaco-editor .suggest-preview-additional-widget .content-spacer{color:transparent;white-space:pre}.monaco-editor .suggest-preview-additional-widget .button{display:inline-block;cursor:pointer;text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-hidden{opacity:0;font-size:0}.monaco-editor .ghost-text-decoration,.monaco-editor .suggest-preview-text .ghost-text{font-style:italic}.monaco-editor .inline-completion-text-to-replace{text-decoration:underline;text-underline-position:under}.monaco-editor .ghost-text-decoration,.monaco-editor .ghost-text-decoration-preview,.monaco-editor .suggest-preview-text .ghost-text{color:var(--vscode-editorGhostText-foreground)!important;background-color:var(--vscode-editorGhostText-background);border:1px solid var(--vscode-editorGhostText-border)}.monaco-editor .inlineSuggestionsHints.withBorder{z-index:39;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .inlineSuggestionsHints a,.monaco-editor .inlineSuggestionsHints a:hover{color:var(--vscode-foreground)}.monaco-editor .inlineSuggestionsHints .keybinding{display:flex;margin-left:4px;opacity:.6}.monaco-editor .inlineSuggestionsHints .keybinding .monaco-keybinding-key{font-size:8px;padding:2px 3px}.monaco-editor .inlineSuggestionsHints .availableSuggestionCount a{display:flex;min-width:19px;justify-content:center}.monaco-editor .inlineSuggestionStatusBarItemLabel{margin-right:2px}.inline-editor-progress-decoration{display:inline-block;width:1em;height:1em}.inline-progress-widget{display:flex!important;justify-content:center;align-items:center}.inline-progress-widget .icon{font-size:80%!important}.inline-progress-widget:hover .icon{font-size:90%!important;animation:none}.inline-progress-widget:hover .icon:before{content:"\\ea76"}.monaco-editor .linked-editing-decoration{background-color:var(--vscode-editor-linkedEditingBackground);min-width:1px}.monaco-editor .detected-link,.monaco-editor .detected-link-active{text-decoration:underline;text-underline-position:under}.monaco-editor .detected-link-active{cursor:pointer;color:var(--vscode-editorLink-activeForeground)!important}.monaco-editor .rendered-markdown kbd{background-color:var(--vscode-keybindingLabel-background);color:var(--vscode-keybindingLabel-foreground);border-radius:3px;border:1px solid var(--vscode-keybindingLabel-border);border-bottom-color:var(--vscode-keybindingLabel-bottomBorder);box-shadow:inset 0 -1px 0 var(--vscode-widget-shadow);vertical-align:middle;padding:1px 3px}.monaco-editor .monaco-editor-overlaymessage{padding-bottom:8px;z-index:10000}.monaco-editor .monaco-editor-overlaymessage.below{padding-bottom:0;padding-top:8px;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.monaco-editor .monaco-editor-overlaymessage.fadeIn{animation:fadeIn .15s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.monaco-editor .monaco-editor-overlaymessage.fadeOut{animation:fadeOut .1s ease-out}.monaco-editor .monaco-editor-overlaymessage .message{padding:2px 4px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-inputValidation-infoBorder);border-radius:3px}.monaco-editor .monaco-editor-overlaymessage .message p{margin-block:0}.monaco-editor .monaco-editor-overlaymessage .message a{color:var(--vscode-textLink-foreground)}.monaco-editor .monaco-editor-overlaymessage .message a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor.hc-black .monaco-editor-overlaymessage .message,.monaco-editor.hc-light .monaco-editor-overlaymessage .message{border-width:2px}.monaco-editor .monaco-editor-overlaymessage .anchor{width:0!important;height:0!important;z-index:1000;border:8px solid transparent;position:absolute;left:2px}.monaco-editor .monaco-editor-overlaymessage .anchor.top{border-bottom-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage .anchor.below{border-top-color:var(--vscode-inputValidation-infoBorder)}.monaco-editor .monaco-editor-overlaymessage.below .anchor.below,.monaco-editor .monaco-editor-overlaymessage:not(.below) .anchor.top{display:none}.monaco-editor .monaco-editor-overlaymessage.below .anchor.top{display:inherit;top:-8px}.monaco-editor .parameter-hints-widget{z-index:39;display:flex;flex-direction:column;line-height:1.5em;cursor:default;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.hc-black .monaco-editor .parameter-hints-widget,.hc-light .monaco-editor .parameter-hints-widget{border-width:2px}.monaco-editor .parameter-hints-widget>.phwrapper{max-width:440px;display:flex;flex-direction:row}.monaco-editor .parameter-hints-widget.multiple{min-height:3.3em;padding:0}.monaco-editor .parameter-hints-widget.multiple .body:before{content:"";display:block;height:100%;position:absolute;opacity:.5;border-left:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget p,.monaco-editor .parameter-hints-widget ul{margin:8px 0}.monaco-editor .parameter-hints-widget .body,.monaco-editor .parameter-hints-widget .monaco-scrollable-element{display:flex;flex:1;flex-direction:column;min-height:100%}.monaco-editor .parameter-hints-widget .signature{padding:4px 5px;position:relative}.monaco-editor .parameter-hints-widget .signature.has-docs:after{content:"";display:block;position:absolute;left:0;width:100%;padding-top:4px;opacity:.5;border-bottom:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor .parameter-hints-widget .docs{padding:0 10px 0 5px;white-space:pre-wrap}.monaco-editor .parameter-hints-widget .docs.empty{display:none}.monaco-editor .parameter-hints-widget .docs a{color:var(--vscode-textLink-foreground)}.monaco-editor .parameter-hints-widget .docs a:hover{color:var(--vscode-textLink-activeForeground);cursor:pointer}.monaco-editor .parameter-hints-widget .docs .markdown-docs{white-space:normal}.monaco-editor .parameter-hints-widget .docs code{font-family:var(--monaco-monospace-font);border-radius:3px;padding:0 .4em;background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .parameter-hints-widget .docs .code,.monaco-editor .parameter-hints-widget .docs .monaco-tokenized-source{white-space:pre-wrap}.monaco-editor .parameter-hints-widget .controls{display:none;flex-direction:column;align-items:center;min-width:22px;justify-content:flex-end}.monaco-editor .parameter-hints-widget.multiple .controls{display:flex;padding:0 2px}.monaco-editor .parameter-hints-widget.multiple .button{width:16px;height:16px;background-repeat:no-repeat;cursor:pointer}.monaco-editor .parameter-hints-widget .button.previous{bottom:24px}.monaco-editor .parameter-hints-widget .overloads{text-align:center;height:12px;line-height:12px;font-family:var(--monaco-monospace-font)}.monaco-editor .parameter-hints-widget .signature .parameter.active{color:var(--vscode-editorHoverWidget-highlightForeground);font-weight:700}.monaco-editor .parameter-hints-widget .documentation-parameter>.parameter{font-weight:700;margin-right:.5em}.monaco-editor .peekview-widget .head{box-sizing:border-box;display:flex;justify-content:space-between;flex-wrap:nowrap}.monaco-editor .peekview-widget .head .peekview-title{display:flex;align-items:baseline;font-size:13px;margin-left:20px;min-width:0;text-overflow:ellipsis;overflow:hidden}.monaco-editor .peekview-widget .head .peekview-title.clickable{cursor:pointer}.monaco-editor .peekview-widget .head .peekview-title .dirname:not(:empty){font-size:.9em;margin-left:.5em}.monaco-editor .peekview-widget .head .peekview-title .dirname,.monaco-editor .peekview-widget .head .peekview-title .filename,.monaco-editor .peekview-widget .head .peekview-title .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monaco-editor .peekview-widget .head .peekview-title .meta:not(:empty):before{content:"-";padding:0 .3em}.monaco-editor .peekview-widget .head .peekview-actions{flex:1;text-align:right;padding-right:2px}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar{display:inline-block}.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar,.monaco-editor .peekview-widget .head .peekview-actions>.monaco-action-bar>.actions-container{height:100%}.monaco-editor .peekview-widget>.body{border-top:1px solid;position:relative}.monaco-editor .peekview-widget .head .peekview-title .codicon{margin-right:4px;align-self:center}.monaco-editor .peekview-widget .monaco-list .monaco-list-row.focused .codicon{color:inherit!important}.monaco-editor .rename-box{z-index:100;color:inherit;border-radius:4px}.monaco-editor .rename-box.preview{padding:4px 4px 0}.monaco-editor .rename-box .rename-input{padding:3px;border-radius:2px}.monaco-editor .rename-box .rename-label{display:none;opacity:.8}.monaco-editor .rename-box.preview .rename-label{display:inherit}.monaco-editor .snippet-placeholder{min-width:2px;outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetTabstopHighlightBorder,transparent)}.monaco-editor .finish-snippet-placeholder{outline-style:solid;outline-width:1px;background-color:var(--vscode-editor-snippetFinalTabstopHighlightBackground,transparent);outline-color:var(--vscode-editor-snippetFinalTabstopHighlightBorder,transparent)}.monaco-editor .sticky-widget{overflow:hidden}.monaco-editor .sticky-widget-line-numbers{float:left;background-color:inherit}.monaco-editor .sticky-widget-lines-scrollable{display:inline-block;position:absolute;overflow:hidden;width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit}.monaco-editor .sticky-widget-lines{position:absolute;background-color:inherit}.monaco-editor .sticky-line-content,.monaco-editor .sticky-line-number{color:var(--vscode-editorLineNumber-foreground);white-space:nowrap;display:inline-block;position:absolute;background-color:inherit}.monaco-editor .sticky-line-number .codicon-folding-collapsed,.monaco-editor .sticky-line-number .codicon-folding-expanded{float:right;transition:var(--vscode-editorStickyScroll-foldingOpacityTransition)}.monaco-editor .sticky-line-content{width:var(--vscode-editorStickyScroll-scrollableWidth);background-color:inherit;white-space:nowrap}.monaco-editor .sticky-line-number-inner{display:inline-block;text-align:right}.monaco-editor.hc-black .sticky-widget,.monaco-editor.hc-light .sticky-widget{border-bottom:1px solid var(--vscode-contrastBorder)}.monaco-editor .sticky-line-content:hover{background-color:var(--vscode-editorStickyScrollHover-background);cursor:pointer}.monaco-editor .sticky-widget{width:100%;box-shadow:var(--vscode-scrollbar-shadow) 0 3px 2px -2px;z-index:4;background-color:var(--vscode-editorStickyScroll-background)}.monaco-editor .sticky-widget.peek{background-color:var(--vscode-peekViewEditorStickyScroll-background)}.monaco-editor .suggest-widget{width:430px;z-index:40;display:flex;flex-direction:column;border-radius:3px}.monaco-editor .suggest-widget.message{flex-direction:row;align-items:center}.monaco-editor .suggest-details,.monaco-editor .suggest-widget{flex:0 1 auto;width:100%;border:1px solid var(--vscode-editorSuggestWidget-border);background-color:var(--vscode-editorSuggestWidget-background)}.monaco-editor.hc-black .suggest-details,.monaco-editor.hc-black .suggest-widget,.monaco-editor.hc-light .suggest-details,.monaco-editor.hc-light .suggest-widget{border-width:2px}.monaco-editor .suggest-widget .suggest-status-bar{box-sizing:border-box;display:none;flex-flow:row nowrap;justify-content:space-between;width:100%;font-size:80%;padding:0 4px;border-top:1px solid var(--vscode-editorSuggestWidget-border);overflow:hidden}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar{display:flex}.monaco-editor .suggest-widget .suggest-status-bar .left{padding-right:8px}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-label{color:var(--vscode-editorSuggestWidgetStatus-foreground)}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label{margin-right:0}.monaco-editor .suggest-widget.with-status-bar .suggest-status-bar .action-item:not(:last-of-type) .action-label:after{content:", ";margin-right:.3em}.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore,.monaco-editor .suggest-widget.with-status-bar .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget.with-status-bar:not(.docs-side) .monaco-list .monaco-list-row:hover>.contents>.main>.right.can-expand-details>.details-label{width:100%}.monaco-editor .suggest-widget>.message{padding-left:22px}.monaco-editor .suggest-widget>.tree{height:100%;width:100%}.monaco-editor .suggest-widget .monaco-list{user-select:none;-webkit-user-select:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row{display:flex;-mox-box-sizing:border-box;box-sizing:border-box;padding-right:10px;background-repeat:no-repeat;background-position:2px 2px;white-space:nowrap;cursor:pointer;touch-action:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused{color:var(--vscode-editorSuggestWidget-selectedForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused .codicon{color:var(--vscode-editorSuggestWidget-selectedIconForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents{flex:1;height:100%;overflow:hidden;padding-left:2px}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main{display:flex;overflow:hidden;text-overflow:ellipsis;white-space:pre;justify-content:space-between}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{display:flex}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.focused)>.contents>.main .monaco-icon-label{color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight{font-weight:700}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-highlightForeground)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused>.contents>.main .monaco-highlighted-label .highlight{color:var(--vscode-editorSuggestWidget-focusHighlightForeground)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:before{color:inherit;opacity:1;font-size:14px;cursor:pointer}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close{position:absolute;top:6px;right:2px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.codicon-close:hover,.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore:hover{opacity:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{opacity:.7}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.signature-label{overflow:hidden;text-overflow:ellipsis;opacity:.6}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.qualifier-label{margin-left:12px;opacity:.4;font-size:85%;line-height:normal;text-overflow:ellipsis;overflow:hidden;align-self:center}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{font-size:85%;margin-left:1.1em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label>.monaco-tokenized-source{display:inline}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.details-label{display:none}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row.focused:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.right>.details-label,.monaco-editor .suggest-widget:not(.shows-details) .monaco-list .monaco-list-row.focused>.contents>.main>.right>.details-label{display:inline}.monaco-editor .suggest-widget:not(.docs-side) .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right.can-expand-details>.details-label{width:calc(100% - 26px)}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left{flex-shrink:1;flex-grow:1;overflow:hidden}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.left>.monaco-icon-label{flex-shrink:0}.monaco-editor .suggest-widget .monaco-list .monaco-list-row:not(.string-label)>.contents>.main>.left>.monaco-icon-label{max-width:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.left>.monaco-icon-label{flex-shrink:1}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right{overflow:hidden;flex-shrink:4;max-width:70%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:inline-block;position:absolute;right:10px;width:18px;height:18px;visibility:hidden}.monaco-editor .suggest-widget.docs-side .monaco-list .monaco-list-row>.contents>.main>.right>.readMore{display:none!important}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.string-label>.contents>.main>.right>.readMore{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused.string-label>.contents>.main>.right>.readMore{display:inline-block}.monaco-editor .suggest-widget .monaco-list .monaco-list-row.focused:hover>.contents>.main>.right>.readMore{visibility:visible}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated{opacity:.66;text-decoration:unset}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label.deprecated>.monaco-icon-label-container>.monaco-icon-name-container{text-decoration:line-through}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-icon-label:before{height:100%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon{display:block;height:16px;width:16px;margin-left:2px;background-repeat:no-repeat;background-size:80%;background-position:50%}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.hide{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .suggest-icon{display:flex;align-items:center;margin-right:4px}.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .icon,.monaco-editor .suggest-widget.no-icons .monaco-list .monaco-list-row .suggest-icon:before{display:none}.monaco-editor .suggest-widget .monaco-list .monaco-list-row .icon.customcolor .colorspan{margin:0 0 0 .3em;border:.1em solid #000;width:.7em;height:.7em;display:inline-block}.monaco-editor .suggest-details-container{z-index:41}.monaco-editor .suggest-details{display:flex;flex-direction:column;cursor:default;color:var(--vscode-editorSuggestWidget-foreground)}.monaco-editor .suggest-details.focused{border-color:var(--vscode-focusBorder)}.monaco-editor .suggest-details a{color:var(--vscode-textLink-foreground)}.monaco-editor .suggest-details a:hover{color:var(--vscode-textLink-activeForeground)}.monaco-editor .suggest-details code{background-color:var(--vscode-textCodeBlock-background)}.monaco-editor .suggest-details.no-docs{display:none}.monaco-editor .suggest-details>.monaco-scrollable-element{flex:1}.monaco-editor .suggest-details>.monaco-scrollable-element>.body{box-sizing:border-box;height:100%;width:100%}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type{flex:2;overflow:hidden;text-overflow:ellipsis;opacity:.7;white-space:pre;margin:0 24px 0 0;padding:4px 0 12px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.header>.type.auto-wrap{white-space:normal;word-break:break-all}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs{margin:0;padding:4px 5px;white-space:pre-wrap}.monaco-editor .suggest-details.no-type>.monaco-scrollable-element>.body>.docs{margin-right:24px;overflow:hidden}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs{padding:0;white-space:normal;min-height:calc(1rem + 8px)}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div,.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>span:not(:empty){padding:4px 5px}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:first-child{margin-top:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs>div>p:last-child{margin-bottom:0}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .monaco-tokenized-source{white-space:pre}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs .code{white-space:pre-wrap;word-wrap:break-word}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>.docs.markdown-docs .codicon{vertical-align:sub}.monaco-editor .suggest-details>.monaco-scrollable-element>.body>p:empty{display:none}.monaco-editor .suggest-details code{border-radius:3px;padding:0 .4em}.monaco-editor .suggest-details ol,.monaco-editor .suggest-details ul{padding-left:20px}.monaco-editor .suggest-details p code{font-family:var(--monaco-monospace-font)}.monaco-editor .codicon.codicon-symbol-array,.monaco-workbench .codicon.codicon-symbol-array{color:var(--vscode-symbolIcon-arrayForeground)}.monaco-editor .codicon.codicon-symbol-boolean,.monaco-workbench .codicon.codicon-symbol-boolean{color:var(--vscode-symbolIcon-booleanForeground)}.monaco-editor .codicon.codicon-symbol-class,.monaco-workbench .codicon.codicon-symbol-class{color:var(--vscode-symbolIcon-classForeground)}.monaco-editor .codicon.codicon-symbol-method,.monaco-workbench .codicon.codicon-symbol-method{color:var(--vscode-symbolIcon-methodForeground)}.monaco-editor .codicon.codicon-symbol-color,.monaco-workbench .codicon.codicon-symbol-color{color:var(--vscode-symbolIcon-colorForeground)}.monaco-editor .codicon.codicon-symbol-constant,.monaco-workbench .codicon.codicon-symbol-constant{color:var(--vscode-symbolIcon-constantForeground)}.monaco-editor .codicon.codicon-symbol-constructor,.monaco-workbench .codicon.codicon-symbol-constructor{color:var(--vscode-symbolIcon-constructorForeground)}.monaco-editor .codicon.codicon-symbol-enum,.monaco-editor .codicon.codicon-symbol-value,.monaco-workbench .codicon.codicon-symbol-enum,.monaco-workbench .codicon.codicon-symbol-value{color:var(--vscode-symbolIcon-enumeratorForeground)}.monaco-editor .codicon.codicon-symbol-enum-member,.monaco-workbench .codicon.codicon-symbol-enum-member{color:var(--vscode-symbolIcon-enumeratorMemberForeground)}.monaco-editor .codicon.codicon-symbol-event,.monaco-workbench .codicon.codicon-symbol-event{color:var(--vscode-symbolIcon-eventForeground)}.monaco-editor .codicon.codicon-symbol-field,.monaco-workbench .codicon.codicon-symbol-field{color:var(--vscode-symbolIcon-fieldForeground)}.monaco-editor .codicon.codicon-symbol-file,.monaco-workbench .codicon.codicon-symbol-file{color:var(--vscode-symbolIcon-fileForeground)}.monaco-editor .codicon.codicon-symbol-folder,.monaco-workbench .codicon.codicon-symbol-folder{color:var(--vscode-symbolIcon-folderForeground)}.monaco-editor .codicon.codicon-symbol-function,.monaco-workbench .codicon.codicon-symbol-function{color:var(--vscode-symbolIcon-functionForeground)}.monaco-editor .codicon.codicon-symbol-interface,.monaco-workbench .codicon.codicon-symbol-interface{color:var(--vscode-symbolIcon-interfaceForeground)}.monaco-editor .codicon.codicon-symbol-key,.monaco-workbench .codicon.codicon-symbol-key{color:var(--vscode-symbolIcon-keyForeground)}.monaco-editor .codicon.codicon-symbol-keyword,.monaco-workbench .codicon.codicon-symbol-keyword{color:var(--vscode-symbolIcon-keywordForeground)}.monaco-editor .codicon.codicon-symbol-module,.monaco-workbench .codicon.codicon-symbol-module{color:var(--vscode-symbolIcon-moduleForeground)}.monaco-editor .codicon.codicon-symbol-namespace,.monaco-workbench .codicon.codicon-symbol-namespace{color:var(--vscode-symbolIcon-namespaceForeground)}.monaco-editor .codicon.codicon-symbol-null,.monaco-workbench .codicon.codicon-symbol-null{color:var(--vscode-symbolIcon-nullForeground)}.monaco-editor .codicon.codicon-symbol-number,.monaco-workbench .codicon.codicon-symbol-number{color:var(--vscode-symbolIcon-numberForeground)}.monaco-editor .codicon.codicon-symbol-object,.monaco-workbench .codicon.codicon-symbol-object{color:var(--vscode-symbolIcon-objectForeground)}.monaco-editor .codicon.codicon-symbol-operator,.monaco-workbench .codicon.codicon-symbol-operator{color:var(--vscode-symbolIcon-operatorForeground)}.monaco-editor .codicon.codicon-symbol-package,.monaco-workbench .codicon.codicon-symbol-package{color:var(--vscode-symbolIcon-packageForeground)}.monaco-editor .codicon.codicon-symbol-property,.monaco-workbench .codicon.codicon-symbol-property{color:var(--vscode-symbolIcon-propertyForeground)}.monaco-editor .codicon.codicon-symbol-reference,.monaco-workbench .codicon.codicon-symbol-reference{color:var(--vscode-symbolIcon-referenceForeground)}.monaco-editor .codicon.codicon-symbol-snippet,.monaco-workbench .codicon.codicon-symbol-snippet{color:var(--vscode-symbolIcon-snippetForeground)}.monaco-editor .codicon.codicon-symbol-string,.monaco-workbench .codicon.codicon-symbol-string{color:var(--vscode-symbolIcon-stringForeground)}.monaco-editor .codicon.codicon-symbol-struct,.monaco-workbench .codicon.codicon-symbol-struct{color:var(--vscode-symbolIcon-structForeground)}.monaco-editor .codicon.codicon-symbol-text,.monaco-workbench .codicon.codicon-symbol-text{color:var(--vscode-symbolIcon-textForeground)}.monaco-editor .codicon.codicon-symbol-type-parameter,.monaco-workbench .codicon.codicon-symbol-type-parameter{color:var(--vscode-symbolIcon-typeParameterForeground)}.monaco-editor .codicon.codicon-symbol-unit,.monaco-workbench .codicon.codicon-symbol-unit{color:var(--vscode-symbolIcon-unitForeground)}.monaco-editor .codicon.codicon-symbol-variable,.monaco-workbench .codicon.codicon-symbol-variable{color:var(--vscode-symbolIcon-variableForeground)}.editor-banner{box-sizing:border-box;cursor:default;width:100%;font-size:12px;display:flex;overflow:visible;height:26px;background:var(--vscode-banner-background)}.editor-banner .icon-container{display:flex;flex-shrink:0;align-items:center;padding:0 6px 0 10px}.editor-banner .icon-container.custom-icon{background-repeat:no-repeat;background-position:50%;background-size:16px;width:16px;padding:0;margin:0 6px 0 10px}.editor-banner .message-container{display:flex;align-items:center;line-height:26px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor-banner .message-container p{margin-block-start:0;margin-block-end:0}.editor-banner .message-actions-container{flex-grow:1;flex-shrink:0;line-height:26px;margin:0 4px}.editor-banner .message-actions-container a.monaco-button{width:inherit;margin:2px 8px;padding:0 12px}.editor-banner .message-actions-container a{padding:3px;margin-left:12px;text-decoration:underline}.editor-banner .action-container{padding:0 10px 0 6px}.editor-banner{background-color:var(--vscode-banner-background)}.editor-banner,.editor-banner .action-container .codicon,.editor-banner .message-actions-container .monaco-link{color:var(--vscode-banner-foreground)}.editor-banner .icon-container .codicon{color:var(--vscode-banner-iconForeground)}.monaco-editor .unicode-highlight{border:1px solid var(--vscode-editorUnicodeHighlight-border);background-color:var(--vscode-editorUnicodeHighlight-background);box-sizing:border-box}.monaco-editor .focused .selectionHighlight{background-color:var(--vscode-editor-selectionHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-selectionHighlightBorder)}.monaco-editor.hc-black .focused .selectionHighlight,.monaco-editor.hc-light .focused .selectionHighlight{border-style:dotted}.monaco-editor .wordHighlight{background-color:var(--vscode-editor-wordHighlightBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightBorder)}.monaco-editor.hc-black .wordHighlight,.monaco-editor.hc-light .wordHighlight{border-style:dotted}.monaco-editor .wordHighlightStrong{background-color:var(--vscode-editor-wordHighlightStrongBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightStrongBorder)}.monaco-editor.hc-black .wordHighlightStrong,.monaco-editor.hc-light .wordHighlightStrong{border-style:dotted}.monaco-editor .wordHighlightText{background-color:var(--vscode-editor-wordHighlightTextBackground);box-sizing:border-box;border:1px solid var(--vscode-editor-wordHighlightTextBorder)}.monaco-editor.hc-black .wordHighlightText,.monaco-editor.hc-light .wordHighlightText{border-style:dotted}.monaco-editor .zone-widget{position:absolute;z-index:10}.monaco-editor .zone-widget .zone-widget-container{border-top-style:solid;border-bottom-style:solid;border-top-width:0;border-bottom-width:0;position:relative}.monaco-editor .iPadShowKeyboard{width:58px;min-width:0;height:36px;min-height:0;margin:0;padding:0;position:absolute;resize:none;overflow:hidden;background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iIzQyNDI0MiIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #f6f6f6;border-radius:4px}.monaco-editor.vs-dark .iPadShowKeyboard{background:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTMiIGhlaWdodD0iMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00OC4wMzYgNC4wMUg0LjAwOFYzMi4wM2g0NC4wMjhWNC4wMXpNNC4wMDguMDA4QTQuMDAzIDQuMDAzIDAgMDAuMDA1IDQuMDFWMzIuMDNhNC4wMDMgNC4wMDMgMCAwMDQuMDAzIDQuMDAyaDQ0LjAyOGE0LjAwMyA0LjAwMyAwIDAwNC4wMDMtNC4wMDJWNC4wMUE0LjAwMyA0LjAwMyAwIDAwNDguMDM2LjAwOEg0LjAwOHpNOC4wMSA4LjAxM2g0LjAwM3Y0LjAwM0g4LjAxVjguMDEzem0xMi4wMDggMGgtNC4wMDJ2NC4wMDNoNC4wMDJWOC4wMTN6bTQuMDAzIDBoNC4wMDJ2NC4wMDNoLTQuMDAyVjguMDEzem0xMi4wMDggMGgtNC4wMDN2NC4wMDNoNC4wMDNWOC4wMTN6bTQuMDAyIDBoNC4wMDN2NC4wMDNINDAuMDNWOC4wMTN6bS0yNC4wMTUgOC4wMDVIOC4wMXY0LjAwM2g4LjAwNnYtNC4wMDN6bTQuMDAyIDBoNC4wMDN2NC4wMDNoLTQuMDAzdi00LjAwM3ptMTIuMDA4IDBoLTQuMDAzdjQuMDAzaDQuMDAzdi00LjAwM3ptMTIuMDA4IDB2NC4wMDNoLTguMDA1di00LjAwM2g4LjAwNXptLTMyLjAyMSA4LjAwNUg4LjAxdjQuMDAzaDQuMDAzdi00LjAwM3ptNC4wMDMgMGgyMC4wMTN2NC4wMDNIMTYuMDE2di00LjAwM3ptMjguMDE4IDBINDAuMDN2NC4wMDNoNC4wMDN2LTQuMDAzeiIgZmlsbD0iI0M1QzVDNSIvPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDUzdjM2SDB6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+) 50% no-repeat;border:4px solid #252526}.monaco-editor .tokens-inspect-widget{z-index:50;user-select:text;-webkit-user-select:text;padding:10px;color:var(--vscode-editorHoverWidget-foreground);background-color:var(--vscode-editorHoverWidget-background);border:1px solid var(--vscode-editorHoverWidget-border)}.monaco-editor.hc-black .tokens-inspect-widget,.monaco-editor.hc-light .tokens-inspect-widget{border-width:2px}.monaco-editor .tokens-inspect-widget .tokens-inspect-separator{height:1px;border:0;background-color:var(--vscode-editorHoverWidget-border)}.monaco-editor .tokens-inspect-widget .tm-token{font-family:var(--monaco-monospace-font)}.monaco-editor .tokens-inspect-widget .tm-token-length{font-weight:400;font-size:60%;float:right}.monaco-editor .tokens-inspect-widget .tm-metadata-table{width:100%}.monaco-editor .tokens-inspect-widget .tm-metadata-value{font-family:var(--monaco-monospace-font);text-align:right}.monaco-editor .tokens-inspect-widget .tm-token-type{font-family:var(--monaco-monospace-font)}.quick-input-widget{font-size:13px}.quick-input-widget .monaco-highlighted-label .highlight{color:#0066bf}.vs .quick-input-widget .monaco-list-row.focused .monaco-highlighted-label .highlight{color:#9dddff}.vs-dark .quick-input-widget .monaco-highlighted-label .highlight{color:#0097fb}.hc-black .quick-input-widget .monaco-highlighted-label .highlight{color:#f38518}.hc-light .quick-input-widget .monaco-highlighted-label .highlight{color:#0f4a85}.monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,86.7%,.4);border:1px solid hsla(0,0%,80%,.4);border-bottom-color:hsla(0,0%,73.3%,.4);box-shadow:inset 0 -1px 0 hsla(0,0%,73.3%,.4);color:#555}.hc-black .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #6fc3df;box-shadow:none;color:#fff}.hc-light .monaco-keybinding>.monaco-keybinding-key{background-color:transparent;border:1px solid #0f4a85;box-shadow:none;color:#292929}.vs-dark .monaco-keybinding>.monaco-keybinding-key{background-color:hsla(0,0%,50.2%,.17);border:1px solid rgba(51,51,51,.6);border-bottom-color:rgba(68,68,68,.6);box-shadow:inset 0 -1px 0 rgba(68,68,68,.6);color:#ccc}.monaco-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe WPC,Segoe UI,HelveticaNeue-Light,system-ui,Ubuntu,Droid Sans,sans-serif;--monaco-monospace-font:"SF Mono",Monaco,Menlo,Consolas,"Ubuntu Mono","Liberation Mono","DejaVu Sans Mono","Courier New",monospace}.monaco-editor.hc-black .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.hc-light .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-editor.vs-dark .monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .action-label,.monaco-menu .monaco-action-bar.vertical .action-item .action-menu-item:focus .action-label{stroke-width:1.2px}.monaco-hover p{margin:0}.monaco-aria-container{position:absolute!important;top:0;height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%)}.action-widget{font-size:13px;border-radius:0;min-width:160px;max-width:80vw;z-index:40;display:block;width:100%;border:1px solid var(--vscode-editorWidget-border)!important;border-radius:2px;background-color:var(--vscode-editorWidget-background);color:var(--vscode-editorWidget-foreground)}.context-view-block{z-index:-1}.context-view-block,.context-view-pointerBlock{position:fixed;cursor:auto;left:0;top:0;width:100%;height:100%}.context-view-pointerBlock{z-index:2}.action-widget .monaco-list{user-select:none;-webkit-user-select:none;border:0!important}.action-widget .monaco-list:focus:before{outline:0!important}.action-widget .monaco-list .monaco-scrollable-element{overflow:visible}.action-widget .monaco-list .monaco-list-row{padding:0 10px;white-space:nowrap;cursor:pointer;touch-action:none;width:100%}.action-widget .monaco-list .monaco-list-row.action.focused:not(.option-disabled){background-color:var(--vscode-quickInputList-focusBackground)!important;color:var(--vscode-quickInputList-focusForeground);outline:1px solid var(--vscode-menu-selectionBorder,transparent);outline-offset:-1px}.action-widget .monaco-list-row.group-header{color:var(--vscode-descriptionForeground)!important;font-weight:600}.action-widget .monaco-list .group-header,.action-widget .monaco-list .option-disabled,.action-widget .monaco-list .option-disabled .focused,.action-widget .monaco-list .option-disabled .focused:before,.action-widget .monaco-list .option-disabled:before{cursor:default!important;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background-color:transparent!important;outline:0 solid!important}.action-widget .monaco-list-row.action{display:flex;gap:6px;align-items:center}.action-widget .monaco-list-row.action.option-disabled,.action-widget .monaco-list-row.action.option-disabled .codicon,.action-widget .monaco-list:focus .monaco-list-row.focused.action.option-disabled,.action-widget .monaco-list:not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused).option-disabled{color:var(--vscode-disabledForeground)}.action-widget .monaco-list-row.action:not(.option-disabled) .codicon{color:inherit}.action-widget .monaco-list-row.action .title{flex:1;overflow:hidden;text-overflow:ellipsis}.action-widget .action-widget-action-bar{background-color:var(--vscode-editorHoverWidget-statusBarBackground);border-top:1px solid var(--vscode-editorHoverWidget-border)}.action-widget .action-widget-action-bar:before{display:block;content:"";width:100%}.action-widget .action-widget-action-bar .actions-container{padding:0 8px}.action-widget-action-bar .action-label{color:var(--vscode-textLink-activeForeground);font-size:12px;line-height:22px;padding:0;pointer-events:all}.action-widget-action-bar .action-item{margin-right:16px;pointer-events:none}.action-widget-action-bar .action-label:hover{background-color:transparent!important}.monaco-action-bar .actions-container.highlight-toggled .action-label.checked{background:var(--vscode-actionBar-toggledBackground)!important}.monaco-action-bar .action-item.menu-entry .action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default{display:flex!important;flex-direction:row;border-radius:5px}.monaco-dropdown-with-default>.action-container>.action-label{margin-right:0}.monaco-dropdown-with-default>.action-container.menu-entry>.action-label.icon{width:16px;height:16px;background-repeat:no-repeat;background-position:50%;background-size:16px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label .codicon[class*=codicon-]{font-size:12px;padding-left:0;padding-right:0;line-height:16px;margin-left:-3px}.monaco-dropdown-with-default>.dropdown-action-container>.monaco-dropdown>.dropdown-label>.action-label{display:block;background-size:16px;background-position:50%;background-repeat:no-repeat}.monaco-link{color:var(--vscode-textLink-foreground)}.monaco-link:hover{color:var(--vscode-textLink-activeForeground)}.quick-input-widget{position:absolute;width:600px;z-index:2550;left:50%;margin-left:-300px;-webkit-app-region:no-drag;border-radius:6px}.quick-input-titlebar{display:flex;align-items:center;border-top-left-radius:5px;border-top-right-radius:5px}.quick-input-left-action-bar{display:flex;margin-left:4px;flex:1}.quick-input-title{padding:3px 0;text-align:center;text-overflow:ellipsis;overflow:hidden}.quick-input-right-action-bar{display:flex;margin-right:4px;flex:1}.quick-input-right-action-bar>.actions-container{justify-content:flex-end}.quick-input-titlebar .monaco-action-bar .action-label.codicon{background-position:50%;background-repeat:no-repeat;padding:2px}.quick-input-description{margin:6px 6px 6px 11px}.quick-input-header .quick-input-description{margin:4px 2px;flex:1}.quick-input-header{display:flex;padding:8px 6px 6px}.quick-input-widget.hidden-input .quick-input-header{padding:0;margin-bottom:0}.quick-input-and-message{display:flex;flex-direction:column;flex-grow:1;min-width:0;position:relative}.quick-input-check-all{align-self:center;margin:0}.quick-input-filter{flex-grow:1;display:flex;position:relative}.quick-input-box{flex-grow:1}.quick-input-widget.show-checkboxes .quick-input-box,.quick-input-widget.show-checkboxes .quick-input-message{margin-left:5px}.quick-input-visible-count{position:absolute;left:-10000px}.quick-input-count{align-self:center;position:absolute;right:4px;display:flex;align-items:center}.quick-input-count .monaco-count-badge{vertical-align:middle;padding:2px 4px;border-radius:2px;min-height:auto;line-height:normal}.quick-input-action{margin-left:6px}.quick-input-action .monaco-text-button{font-size:11px;padding:0 6px;display:flex;height:25px;align-items:center}.quick-input-message{margin-top:-1px;padding:5px;overflow-wrap:break-word}.quick-input-message>.codicon{margin:0 .2em;vertical-align:text-bottom}.quick-input-message a{color:inherit}.quick-input-progress.monaco-progress-container{position:relative}.quick-input-list{line-height:22px}.quick-input-widget.hidden-input .quick-input-list{margin-top:4px;padding-bottom:4px}.quick-input-list .monaco-list{overflow:hidden;max-height:440px;padding-bottom:5px}.quick-input-list .monaco-scrollable-element{padding:0 5px}.quick-input-list .quick-input-list-entry{box-sizing:border-box;overflow:hidden;display:flex;height:100%;padding:0 6px}.quick-input-list .quick-input-list-entry.quick-input-list-separator-border{border-top-width:1px;border-top-style:solid}.quick-input-list .monaco-list-row{border-radius:3px}.quick-input-list .monaco-list-row[data-index="0"] .quick-input-list-entry.quick-input-list-separator-border{border-top-style:none}.quick-input-list .quick-input-list-label{overflow:hidden;display:flex;height:100%;flex:1}.quick-input-list .quick-input-list-checkbox{align-self:center;margin:0}.quick-input-list .quick-input-list-icon{background-size:16px;background-position:0;background-repeat:no-repeat;padding-right:6px;width:16px;height:22px;display:flex;align-items:center;justify-content:center}.quick-input-list .quick-input-list-rows{overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;height:100%;flex:1;margin-left:5px}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-rows{margin-left:10px}.quick-input-widget .quick-input-list .quick-input-list-checkbox{display:none}.quick-input-widget.show-checkboxes .quick-input-list .quick-input-list-checkbox{display:inline}.quick-input-list .quick-input-list-rows>.quick-input-list-row{display:flex;align-items:center}.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label,.quick-input-list .quick-input-list-rows>.quick-input-list-row .monaco-icon-label .monaco-icon-label-container>.monaco-icon-name-container{flex:1}.quick-input-list .quick-input-list-rows>.quick-input-list-row .codicon[class*=codicon-]{vertical-align:text-bottom}.quick-input-list .quick-input-list-rows .monaco-highlighted-label>span{opacity:1}.quick-input-list .quick-input-list-entry .quick-input-list-entry-keybinding{margin-right:8px}.quick-input-list .quick-input-list-label-meta{opacity:.7;line-height:normal;text-overflow:ellipsis;overflow:hidden}.quick-input-list .monaco-highlighted-label .highlight{font-weight:700}.quick-input-list .quick-input-list-entry .quick-input-list-separator{margin-right:4px}.quick-input-list .quick-input-list-entry-action-bar{display:flex;flex:0;overflow:visible}.quick-input-list .quick-input-list-entry-action-bar .action-label{display:none}.quick-input-list .quick-input-list-entry-action-bar .action-label.codicon{margin-right:4px;padding:0 2px 2px}.quick-input-list .quick-input-list-entry-action-bar{margin-top:1px;margin-right:4px}.quick-input-list .monaco-list-row.focused .quick-input-list-entry-action-bar .action-label,.quick-input-list .quick-input-list-entry .quick-input-list-entry-action-bar .action-label.always-visible,.quick-input-list .quick-input-list-entry:hover .quick-input-list-entry-action-bar .action-label{display:flex}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key,.quick-input-list .monaco-list-row.focused .quick-input-list-entry .quick-input-list-separator{color:inherit}.quick-input-list .monaco-list-row.focused .monaco-keybinding-key{background:none}.quick-input-list .quick-input-list-separator-as-item{font-weight:600;font-size:12px}.extension-editor .codicon.codicon-error,.extensions-viewlet>.extensions .codicon.codicon-error,.markers-panel .marker-icon .codicon.codicon-error,.markers-panel .marker-icon.error,.monaco-editor .zone-widget .codicon.codicon-error,.preferences-editor .codicon.codicon-error,.text-search-provider-messages .providerMessage .codicon.codicon-error{color:var(--vscode-problemsErrorIcon-foreground)}.extension-editor .codicon.codicon-warning,.extensions-viewlet>.extensions .codicon.codicon-warning,.markers-panel .marker-icon .codicon.codicon-warning,.markers-panel .marker-icon.warning,.monaco-editor .zone-widget .codicon.codicon-warning,.preferences-editor .codicon.codicon-warning,.text-search-provider-messages .providerMessage .codicon.codicon-warning{color:var(--vscode-problemsWarningIcon-foreground)}.extension-editor .codicon.codicon-info,.extensions-viewlet>.extensions .codicon.codicon-info,.markers-panel .marker-icon .codicon.codicon-info,.markers-panel .marker-icon.info,.monaco-editor .zone-widget .codicon.codicon-info,.preferences-editor .codicon.codicon-info,.text-search-provider-messages .providerMessage .codicon.codicon-info{color:var(--vscode-problemsInfoIcon-foreground)}article{width:var(--monaco-editor-width, 100%);height:var(--monaco-editor-height, 100%)}::slotted(*){display:none}';export{c as L,Xit as M,a as Z,qK as m,tZ as t} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-b60d9acc.js b/www/js/zui3/zen-editor/p-3cbad260.js similarity index 98% rename from www/js/zui3/zen-editor/p-b60d9acc.js rename to www/js/zui3/zen-editor/p-3cbad260.js index 53674d2159..061e8f5138 100644 --- a/www/js/zui3/zen-editor/p-b60d9acc.js +++ b/www/js/zui3/zen-editor/p-3cbad260.js @@ -1,7 +1,7 @@ -import{m as e}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{m as e}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt - *-----------------------------------------------------------------------------*/var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,_=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i=(e,i,r,a)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let s of _(i))o.call(e,s)||s===r||t(e,s,{get:()=>i[s],enumerable:!(a=n(i,s))||a.enumerable});return e},r={};i(r,e,"default");var a=["assign","flush","ftl","return","global","import","include","break","continue","local","nested","nt","setting","stop","t","lt","rt","fallback"],s=["attempt","autoesc","autoEsc","compress","comment","escape","noescape","function","if","list","items","sep","macro","noparse","noParse","noautoesc","noAutoEsc","outputformat","switch","visit","recurse"],u={close:">",id:"angle",open:"<"},c={close:"\\]",id:"bracket",open:"\\["},d={close:"[>\\]]",id:"auto",open:"[<\\[]"},l={close:"\\}",id:"dollar",open1:"\\$",open2:"\\{"},k={close:"\\]",id:"bracket",open1:"\\[",open2:"="};function p(e){return{brackets:[["<",">"],["[","]"],["(",")"],["{","}"]],comments:{blockComment:[`${e.open}--`,`--${e.close}`]},autoCloseBefore:"\n\r\t }]),.:;=",autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],folding:{markers:{start:new RegExp(`${e.open}#(?:${s.join("|")})([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),end:new RegExp(`${e.open}/#(?:${s.join("|")})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`${e.open}#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),afterText:new RegExp(`^${e.open}/#([a-zA-Z_]+)[\\r\\n\\t ]*${e.close}$`),action:{indentAction:r.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`${e.open}#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),action:{indentAction:r.languages.IndentAction.Indent}}]}}function g(){return{brackets:[["<",">"],["[","]"],["(",")"],["{","}"]],autoCloseBefore:"\n\r\t }]),.:;=",autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],folding:{markers:{start:new RegExp(`[<\\[]#(?:${s.join("|")})([^/>\\]]*(?!/)[>\\]])[^<\\[]*$`),end:new RegExp(`[<\\[]/#(?:${s.join("|")})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`[<\\[]#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),afterText:new RegExp("^[<\\[]/#([a-zA-Z_]+)[\\r\\n\\t ]*[>\\]]$"),action:{indentAction:r.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`[<\\[]#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),action:{indentAction:r.languages.IndentAction.Indent}}]}}function A(e,t){const n=`_${e.id}_${t.id}`,_=e=>e.replace(/__id__/g,n),o=e=>{const t=e.source.replace(/__id__/g,n);return new RegExp(t,e.flags)};return{unicode:!0,includeLF:!1,start:_("default__id__"),ignoreCase:!1,defaultToken:"invalid",tokenPostfix:".freemarker2",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],[_("open__id__")]:new RegExp(e.open),[_("close__id__")]:new RegExp(e.close),[_("iOpen1__id__")]:new RegExp(t.open1),[_("iOpen2__id__")]:new RegExp(t.open2),[_("iClose__id__")]:new RegExp(t.close),[_("startTag__id__")]:o(/(@open__id__)(#)/),[_("endTag__id__")]:o(/(@open__id__)(\/#)/),[_("startOrEndTag__id__")]:o(/(@open__id__)(\/?#)/),[_("closeTag1__id__")]:o(/((?:@blank)*)(@close__id__)/),[_("closeTag2__id__")]:o(/((?:@blank)*\/?)(@close__id__)/),blank:/[ \t\n\r]/,keywords:["false","true","in","as","using"],directiveStartCloseTag1:/attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,directiveStartCloseTag2:/else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,directiveStartBlank:/if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,directiveEndCloseTag1:/if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,escapedChar:/\\(?:[ntrfbgla\\'"\{=]|(?:x[0-9A-Fa-f]{1,4}))/,asciiDigit:/[0-9]/,integer:/[0-9]+/,nonEscapedIdStartChar:/[\$@-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u1FFF\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183-\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3006\u3031-\u3035\u303B-\u303C\u3040-\u318F\u31A0-\u31BA\u31F0-\u31FF\u3300-\u337F\u3400-\u4DB5\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,escapedIdChar:/\\[\-\.:#]/,idStartChar:/(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,id:/(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,specialHashKeys:/\*\*|\*|false|true|in|as|using/,namedSymbols:/<=|>=|\\lte|\\lt|<|\\gte|\\gt|>|&&|\\and|->|->|==|!=|\+=|-=|\*=|\/=|%=|\+\+|--|<=|&&|\|\||:|\.\.\.|\.\.\*|\.\.<|\.\.!|\?\?|=|<|\+|-|\*|\/|%|\||\.\.|\?|!|&|\.|,|;/,arrows:["->","->"],delimiters:[";",":",",","."],stringOperators:["lte","lt","gte","gt"],noParseTags:["noparse","noParse","comment"],tokenizer:{[_("default__id__")]:[{include:_("@directive_token__id__")},{include:_("@interpolation_and_text_token__id__")}],[_("fmExpression__id__.directive")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@directive_end_token__id__")},{include:_("@expression_token__id__")}],[_("fmExpression__id__.interpolation")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@expression_token__id__")},{include:_("@greater_operators_token__id__")}],[_("inParen__id__.plain")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@directive_end_token__id__")},{include:_("@expression_token__id__")}],[_("inParen__id__.gt")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@expression_token__id__")},{include:_("@greater_operators_token__id__")}],[_("noSpaceExpression__id__")]:[{include:_("@no_space_expression_end_token__id__")},{include:_("@directive_end_token__id__")},{include:_("@expression_token__id__")}],[_("unifiedCall__id__")]:[{include:_("@unified_call_token__id__")}],[_("singleString__id__")]:[{include:_("@string_single_token__id__")}],[_("doubleString__id__")]:[{include:_("@string_double_token__id__")}],[_("rawSingleString__id__")]:[{include:_("@string_single_raw_token__id__")}],[_("rawDoubleString__id__")]:[{include:_("@string_double_raw_token__id__")}],[_("expressionComment__id__")]:[{include:_("@expression_comment_token__id__")}],[_("noParse__id__")]:[{include:_("@no_parse_token__id__")}],[_("terseComment__id__")]:[{include:_("@terse_comment_token__id__")}],[_("directive_token__id__")]:[[o(/(?:@startTag__id__)(@directiveStartCloseTag1)(?:@closeTag1__id__)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{cases:{"@noParseTags":{token:"tag",next:_("@noParse__id__.$3")},"@default":{token:"tag"}}},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(?:@startTag__id__)(@directiveStartCloseTag2)(?:@closeTag2__id__)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(?:@startTag__id__)(@directiveStartBlank)(@blank)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"",next:_("@fmExpression__id__.directive")}]],[o(/(?:@endTag__id__)(@directiveEndCloseTag1)(?:@closeTag1__id__)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(@open__id__)(@)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive",next:_("@unifiedCall__id__")}]],[o(/(@open__id__)(\/@)((?:(?:@id)(?:\.(?:@id))*)?)(?:@closeTag1__id__)/),[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(@open__id__)#--/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:{token:"comment",next:_("@terseComment__id__")}],[o(/(?:@startOrEndTag__id__)([a-zA-Z_]+)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag.invalid",next:_("@fmExpression__id__.directive")}]]],[_("interpolation_and_text_token__id__")]:[[o(/(@iOpen1__id__)(@iOpen2__id__)/),[{token:"bracket"===t.id?"@brackets.interpolation":"delimiter.interpolation"},{token:"bracket"===t.id?"delimiter.interpolation":"@brackets.interpolation",next:_("@fmExpression__id__.interpolation")}]],[/[\$#<\[\{]|(?:@blank)+|[^\$<#\[\{\n\r\t ]+/,{token:"source"}]],[_("string_single_token__id__")]:[[/[^'\\]/,{token:"string"}],[/@escapedChar/,{token:"string.escape"}],[/'/,{token:"string",next:"@pop"}]],[_("string_double_token__id__")]:[[/[^"\\]/,{token:"string"}],[/@escapedChar/,{token:"string.escape"}],[/"/,{token:"string",next:"@pop"}]],[_("string_single_raw_token__id__")]:[[/[^']+/,{token:"string.raw"}],[/'/,{token:"string.raw",next:"@pop"}]],[_("string_double_raw_token__id__")]:[[/[^"]+/,{token:"string.raw"}],[/"/,{token:"string.raw",next:"@pop"}]],[_("expression_token__id__")]:[[/(r?)(['"])/,{cases:{"r'":[{token:"keyword"},{token:"string.raw",next:_("@rawSingleString__id__")}],'r"':[{token:"keyword"},{token:"string.raw",next:_("@rawDoubleString__id__")}],"'":[{token:"source"},{token:"string",next:_("@singleString__id__")}],'"':[{token:"source"},{token:"string",next:_("@doubleString__id__")}]}}],[/(?:@integer)(?:\.(?:@integer))?/,{cases:{"(?:@integer)":{token:"number"},"@default":{token:"number.float"}}}],[/(\.)(@blank*)(@specialHashKeys)/,[{token:"delimiter"},{token:""},{token:"identifier"}]],[/(?:@namedSymbols)/,{cases:{"@arrows":{token:"meta.arrow"},"@delimiters":{token:"delimiter"},"@default":{token:"operators"}}}],[/@id/,{cases:{"@keywords":{token:"keyword.$0"},"@stringOperators":{token:"operators"},"@default":{token:"identifier"}}}],[/[\[\]\(\)\{\}]/,{cases:{"\\[":{cases:{"$S2==gt":{token:"@brackets",next:_("@inParen__id__.gt")},"@default":{token:"@brackets",next:_("@inParen__id__.plain")}}},"\\]":{cases:{..."bracket"===t.id?{"$S2==interpolation":{token:"@brackets.interpolation",next:"@popall"}}:{},..."bracket"===e.id?{"$S2==directive":{token:"@brackets.directive",next:"@popall"}}:{},[_("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}},"\\(":{token:"@brackets",next:_("@inParen__id__.gt")},"\\)":{cases:{[_("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}},"\\{":{cases:{"$S2==gt":{token:"@brackets",next:_("@inParen__id__.gt")},"@default":{token:"@brackets",next:_("@inParen__id__.plain")}}},"\\}":{cases:{..."bracket"===t.id?{}:{"$S2==interpolation":{token:"@brackets.interpolation",next:"@popall"}},[_("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}}}}],[/\$\{/,{token:"delimiter.invalid"}]],[_("blank_and_expression_comment_token__id__")]:[[/(?:@blank)+/,{token:""}],[/[<\[][#!]--/,{token:"comment",next:_("@expressionComment__id__")}]],[_("directive_end_token__id__")]:[[/>/,"bracket"===e.id?{token:"operators"}:{token:"@brackets.directive",next:"@popall"}],[o(/(\/)(@close__id__)/),[{token:"delimiter.directive"},{token:"@brackets.directive",next:"@popall"}]]],[_("greater_operators_token__id__")]:[[/>/,{token:"operators"}],[/>=/,{token:"operators"}]],[_("no_space_expression_end_token__id__")]:[[/(?:@blank)+/,{token:"",switchTo:_("@fmExpression__id__.directive")}]],[_("unified_call_token__id__")]:[[/(@id)((?:@blank)+)/,[{token:"tag"},{token:"",next:_("@fmExpression__id__.directive")}]],[o(/(@id)(\/?)(@close__id__)/),[{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive",next:"@popall"}]],[/./,{token:"@rematch",next:_("@noSpaceExpression__id__")}]],[_("no_parse_token__id__")]:[[o(/(@open__id__)(\/#?)([a-zA-Z]+)((?:@blank)*)(@close__id__)/),{cases:{"$S2==$3":[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:""},{token:"@brackets.directive",next:"@popall"}],"$S2==comment":[{token:"comment"},{token:"comment"},{token:"comment"},{token:"comment"},{token:"comment"}],"@default":[{token:"source"},{token:"source"},{token:"source"},{token:"source"},{token:"source"}]}}],[/[^<\[\-]+|[<\[\-]/,{cases:{"$S2==comment":{token:"comment"},"@default":{token:"source"}}}]],[_("expression_comment_token__id__")]:[[/--[>\]]/,{token:"comment",next:"@pop"}],[/[^\->\]]+|[>\]\-]/,{token:"comment"}]],[_("terse_comment_token__id__")]:[[o(/--(?:@close__id__)/),{token:"comment",next:"@popall"}],[/[^<\[\-]+|[<\[\-]/,{token:"comment"}]]}}}function m(e){const t=A(u,e),n=A(c,e),_=A(d,e);return{...t,...n,..._,unicode:!0,includeLF:!1,start:`default_auto_${e.id}`,ignoreCase:!1,defaultToken:"invalid",tokenPostfix:".freemarker2",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{...t.tokenizer,...n.tokenizer,..._.tokenizer}}}var f={conf:p(u),language:A(u,l)},F={conf:p(c),language:A(c,l)},b={conf:p(u),language:A(u,k)},x={conf:p(c),language:A(c,k)},$={conf:g(),language:m(l)},E={conf:g(),language:m(k)};export{b as TagAngleInterpolationBracket,f as TagAngleInterpolationDollar,E as TagAutoInterpolationBracket,$ as TagAutoInterpolationDollar,x as TagBracketInterpolationBracket,F as TagBracketInterpolationDollar} \ No newline at end of file + *-----------------------------------------------------------------------------*/var t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,_=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,i=(e,i,r,a)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let s of _(i))o.call(e,s)||s===r||t(e,s,{get:()=>i[s],enumerable:!(a=n(i,s))||a.enumerable});return e},r={};i(r,e,"default");var a=["assign","flush","ftl","return","global","import","include","break","continue","local","nested","nt","setting","stop","t","lt","rt","fallback"],s=["attempt","autoesc","autoEsc","compress","comment","escape","noescape","function","if","list","items","sep","macro","noparse","noParse","noautoesc","noAutoEsc","outputformat","switch","visit","recurse"],u={close:">",id:"angle",open:"<"},c={close:"\\]",id:"bracket",open:"\\["},d={close:"[>\\]]",id:"auto",open:"[<\\[]"},l={close:"\\}",id:"dollar",open1:"\\$",open2:"\\{"},k={close:"\\]",id:"bracket",open1:"\\[",open2:"="};function p(e){return{brackets:[["<",">"],["[","]"],["(",")"],["{","}"]],comments:{blockComment:[`${e.open}--`,`--${e.close}`]},autoCloseBefore:"\n\r\t }]),.:;=",autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],folding:{markers:{start:new RegExp(`${e.open}#(?:${s.join("|")})([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),end:new RegExp(`${e.open}/#(?:${s.join("|")})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`${e.open}#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),afterText:new RegExp(`^${e.open}/#([a-zA-Z_]+)[\\r\\n\\t ]*${e.close}$`),action:{indentAction:r.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`${e.open}#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/${e.close}]*(?!/)${e.close})[^${e.open}]*$`),action:{indentAction:r.languages.IndentAction.Indent}}]}}function g(){return{brackets:[["<",">"],["[","]"],["(",")"],["{","}"]],autoCloseBefore:"\n\r\t }]),.:;=",autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string"]}],surroundingPairs:[{open:'"',close:'"'},{open:"'",close:"'"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"}],folding:{markers:{start:new RegExp(`[<\\[]#(?:${s.join("|")})([^/>\\]]*(?!/)[>\\]])[^<\\[]*$`),end:new RegExp(`[<\\[]/#(?:${s.join("|")})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:new RegExp(`[<\\[]#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),afterText:new RegExp("^[<\\[]/#([a-zA-Z_]+)[\\r\\n\\t ]*[>\\]]$"),action:{indentAction:r.languages.IndentAction.IndentOutdent}},{beforeText:new RegExp(`[<\\[]#(?!(?:${a.join("|")}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),action:{indentAction:r.languages.IndentAction.Indent}}]}}function A(e,t){const n=`_${e.id}_${t.id}`,_=e=>e.replace(/__id__/g,n),o=e=>{const t=e.source.replace(/__id__/g,n);return new RegExp(t,e.flags)};return{unicode:!0,includeLF:!1,start:_("default__id__"),ignoreCase:!1,defaultToken:"invalid",tokenPostfix:".freemarker2",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],[_("open__id__")]:new RegExp(e.open),[_("close__id__")]:new RegExp(e.close),[_("iOpen1__id__")]:new RegExp(t.open1),[_("iOpen2__id__")]:new RegExp(t.open2),[_("iClose__id__")]:new RegExp(t.close),[_("startTag__id__")]:o(/(@open__id__)(#)/),[_("endTag__id__")]:o(/(@open__id__)(\/#)/),[_("startOrEndTag__id__")]:o(/(@open__id__)(\/?#)/),[_("closeTag1__id__")]:o(/((?:@blank)*)(@close__id__)/),[_("closeTag2__id__")]:o(/((?:@blank)*\/?)(@close__id__)/),blank:/[ \t\n\r]/,keywords:["false","true","in","as","using"],directiveStartCloseTag1:/attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,directiveStartCloseTag2:/else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,directiveStartBlank:/if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,directiveEndCloseTag1:/if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,escapedChar:/\\(?:[ntrfbgla\\'"\{=]|(?:x[0-9A-Fa-f]{1,4}))/,asciiDigit:/[0-9]/,integer:/[0-9]+/,nonEscapedIdStartChar:/[\$@-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u1FFF\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183-\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3006\u3031-\u3035\u303B-\u303C\u3040-\u318F\u31A0-\u31BA\u31F0-\u31FF\u3300-\u337F\u3400-\u4DB5\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,escapedIdChar:/\\[\-\.:#]/,idStartChar:/(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,id:/(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,specialHashKeys:/\*\*|\*|false|true|in|as|using/,namedSymbols:/<=|>=|\\lte|\\lt|<|\\gte|\\gt|>|&&|\\and|->|->|==|!=|\+=|-=|\*=|\/=|%=|\+\+|--|<=|&&|\|\||:|\.\.\.|\.\.\*|\.\.<|\.\.!|\?\?|=|<|\+|-|\*|\/|%|\||\.\.|\?|!|&|\.|,|;/,arrows:["->","->"],delimiters:[";",":",",","."],stringOperators:["lte","lt","gte","gt"],noParseTags:["noparse","noParse","comment"],tokenizer:{[_("default__id__")]:[{include:_("@directive_token__id__")},{include:_("@interpolation_and_text_token__id__")}],[_("fmExpression__id__.directive")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@directive_end_token__id__")},{include:_("@expression_token__id__")}],[_("fmExpression__id__.interpolation")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@expression_token__id__")},{include:_("@greater_operators_token__id__")}],[_("inParen__id__.plain")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@directive_end_token__id__")},{include:_("@expression_token__id__")}],[_("inParen__id__.gt")]:[{include:_("@blank_and_expression_comment_token__id__")},{include:_("@expression_token__id__")},{include:_("@greater_operators_token__id__")}],[_("noSpaceExpression__id__")]:[{include:_("@no_space_expression_end_token__id__")},{include:_("@directive_end_token__id__")},{include:_("@expression_token__id__")}],[_("unifiedCall__id__")]:[{include:_("@unified_call_token__id__")}],[_("singleString__id__")]:[{include:_("@string_single_token__id__")}],[_("doubleString__id__")]:[{include:_("@string_double_token__id__")}],[_("rawSingleString__id__")]:[{include:_("@string_single_raw_token__id__")}],[_("rawDoubleString__id__")]:[{include:_("@string_double_raw_token__id__")}],[_("expressionComment__id__")]:[{include:_("@expression_comment_token__id__")}],[_("noParse__id__")]:[{include:_("@no_parse_token__id__")}],[_("terseComment__id__")]:[{include:_("@terse_comment_token__id__")}],[_("directive_token__id__")]:[[o(/(?:@startTag__id__)(@directiveStartCloseTag1)(?:@closeTag1__id__)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{cases:{"@noParseTags":{token:"tag",next:_("@noParse__id__.$3")},"@default":{token:"tag"}}},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(?:@startTag__id__)(@directiveStartCloseTag2)(?:@closeTag2__id__)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(?:@startTag__id__)(@directiveStartBlank)(@blank)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"",next:_("@fmExpression__id__.directive")}]],[o(/(?:@endTag__id__)(@directiveEndCloseTag1)(?:@closeTag1__id__)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(@open__id__)(@)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive",next:_("@unifiedCall__id__")}]],[o(/(@open__id__)(\/@)((?:(?:@id)(?:\.(?:@id))*)?)(?:@closeTag1__id__)/),[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive"}]],[o(/(@open__id__)#--/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:{token:"comment",next:_("@terseComment__id__")}],[o(/(?:@startOrEndTag__id__)([a-zA-Z_]+)/),"auto"===e.id?{cases:{"$1==<":{token:"@rematch",switchTo:`@default_angle_${t.id}`},"$1==[":{token:"@rematch",switchTo:`@default_bracket_${t.id}`}}}:[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag.invalid",next:_("@fmExpression__id__.directive")}]]],[_("interpolation_and_text_token__id__")]:[[o(/(@iOpen1__id__)(@iOpen2__id__)/),[{token:"bracket"===t.id?"@brackets.interpolation":"delimiter.interpolation"},{token:"bracket"===t.id?"delimiter.interpolation":"@brackets.interpolation",next:_("@fmExpression__id__.interpolation")}]],[/[\$#<\[\{]|(?:@blank)+|[^\$<#\[\{\n\r\t ]+/,{token:"source"}]],[_("string_single_token__id__")]:[[/[^'\\]/,{token:"string"}],[/@escapedChar/,{token:"string.escape"}],[/'/,{token:"string",next:"@pop"}]],[_("string_double_token__id__")]:[[/[^"\\]/,{token:"string"}],[/@escapedChar/,{token:"string.escape"}],[/"/,{token:"string",next:"@pop"}]],[_("string_single_raw_token__id__")]:[[/[^']+/,{token:"string.raw"}],[/'/,{token:"string.raw",next:"@pop"}]],[_("string_double_raw_token__id__")]:[[/[^"]+/,{token:"string.raw"}],[/"/,{token:"string.raw",next:"@pop"}]],[_("expression_token__id__")]:[[/(r?)(['"])/,{cases:{"r'":[{token:"keyword"},{token:"string.raw",next:_("@rawSingleString__id__")}],'r"':[{token:"keyword"},{token:"string.raw",next:_("@rawDoubleString__id__")}],"'":[{token:"source"},{token:"string",next:_("@singleString__id__")}],'"':[{token:"source"},{token:"string",next:_("@doubleString__id__")}]}}],[/(?:@integer)(?:\.(?:@integer))?/,{cases:{"(?:@integer)":{token:"number"},"@default":{token:"number.float"}}}],[/(\.)(@blank*)(@specialHashKeys)/,[{token:"delimiter"},{token:""},{token:"identifier"}]],[/(?:@namedSymbols)/,{cases:{"@arrows":{token:"meta.arrow"},"@delimiters":{token:"delimiter"},"@default":{token:"operators"}}}],[/@id/,{cases:{"@keywords":{token:"keyword.$0"},"@stringOperators":{token:"operators"},"@default":{token:"identifier"}}}],[/[\[\]\(\)\{\}]/,{cases:{"\\[":{cases:{"$S2==gt":{token:"@brackets",next:_("@inParen__id__.gt")},"@default":{token:"@brackets",next:_("@inParen__id__.plain")}}},"\\]":{cases:{..."bracket"===t.id?{"$S2==interpolation":{token:"@brackets.interpolation",next:"@popall"}}:{},..."bracket"===e.id?{"$S2==directive":{token:"@brackets.directive",next:"@popall"}}:{},[_("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}},"\\(":{token:"@brackets",next:_("@inParen__id__.gt")},"\\)":{cases:{[_("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}},"\\{":{cases:{"$S2==gt":{token:"@brackets",next:_("@inParen__id__.gt")},"@default":{token:"@brackets",next:_("@inParen__id__.plain")}}},"\\}":{cases:{..."bracket"===t.id?{}:{"$S2==interpolation":{token:"@brackets.interpolation",next:"@popall"}},[_("$S1==inParen__id__")]:{token:"@brackets",next:"@pop"},"@default":{token:"@brackets"}}}}}],[/\$\{/,{token:"delimiter.invalid"}]],[_("blank_and_expression_comment_token__id__")]:[[/(?:@blank)+/,{token:""}],[/[<\[][#!]--/,{token:"comment",next:_("@expressionComment__id__")}]],[_("directive_end_token__id__")]:[[/>/,"bracket"===e.id?{token:"operators"}:{token:"@brackets.directive",next:"@popall"}],[o(/(\/)(@close__id__)/),[{token:"delimiter.directive"},{token:"@brackets.directive",next:"@popall"}]]],[_("greater_operators_token__id__")]:[[/>/,{token:"operators"}],[/>=/,{token:"operators"}]],[_("no_space_expression_end_token__id__")]:[[/(?:@blank)+/,{token:"",switchTo:_("@fmExpression__id__.directive")}]],[_("unified_call_token__id__")]:[[/(@id)((?:@blank)+)/,[{token:"tag"},{token:"",next:_("@fmExpression__id__.directive")}]],[o(/(@id)(\/?)(@close__id__)/),[{token:"tag"},{token:"delimiter.directive"},{token:"@brackets.directive",next:"@popall"}]],[/./,{token:"@rematch",next:_("@noSpaceExpression__id__")}]],[_("no_parse_token__id__")]:[[o(/(@open__id__)(\/#?)([a-zA-Z]+)((?:@blank)*)(@close__id__)/),{cases:{"$S2==$3":[{token:"@brackets.directive"},{token:"delimiter.directive"},{token:"tag"},{token:""},{token:"@brackets.directive",next:"@popall"}],"$S2==comment":[{token:"comment"},{token:"comment"},{token:"comment"},{token:"comment"},{token:"comment"}],"@default":[{token:"source"},{token:"source"},{token:"source"},{token:"source"},{token:"source"}]}}],[/[^<\[\-]+|[<\[\-]/,{cases:{"$S2==comment":{token:"comment"},"@default":{token:"source"}}}]],[_("expression_comment_token__id__")]:[[/--[>\]]/,{token:"comment",next:"@pop"}],[/[^\->\]]+|[>\]\-]/,{token:"comment"}]],[_("terse_comment_token__id__")]:[[o(/--(?:@close__id__)/),{token:"comment",next:"@popall"}],[/[^<\[\-]+|[<\[\-]/,{token:"comment"}]]}}}function m(e){const t=A(u,e),n=A(c,e),_=A(d,e);return{...t,...n,..._,unicode:!0,includeLF:!1,start:`default_auto_${e.id}`,ignoreCase:!1,defaultToken:"invalid",tokenPostfix:".freemarker2",brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}],tokenizer:{...t.tokenizer,...n.tokenizer,..._.tokenizer}}}var F={conf:p(u),language:A(u,l)},f={conf:p(c),language:A(c,l)},b={conf:p(u),language:A(u,k)},x={conf:p(c),language:A(c,k)},$={conf:g(),language:m(l)},E={conf:g(),language:m(k)};export{b as TagAngleInterpolationBracket,F as TagAngleInterpolationDollar,E as TagAutoInterpolationBracket,$ as TagAutoInterpolationDollar,x as TagBracketInterpolationBracket,f as TagBracketInterpolationDollar} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-bc1d3087.js b/www/js/zui3/zen-editor/p-5551046f.js similarity index 98% rename from www/js/zui3/zen-editor/p-bc1d3087.js rename to www/js/zui3/zen-editor/p-5551046f.js index 556ce0472e..da64bd95e0 100644 --- a/www/js/zui3/zen-editor/p-bc1d3087.js +++ b/www/js/zui3/zen-editor/p-5551046f.js @@ -1,4 +1,4 @@ -import{m as e}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{m as e}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) diff --git a/www/js/zui3/zen-editor/p-086eae7b.js b/www/js/zui3/zen-editor/p-58980cbd.js similarity index 98% rename from www/js/zui3/zen-editor/p-086eae7b.js rename to www/js/zui3/zen-editor/p-58980cbd.js index 6e31d44de3..ee679effca 100644 --- a/www/js/zui3/zen-editor/p-086eae7b.js +++ b/www/js/zui3/zen-editor/p-58980cbd.js @@ -1,4 +1,4 @@ -import{m as e}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{m as e}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) diff --git a/www/js/zui3/zen-editor/p-15314162.js b/www/js/zui3/zen-editor/p-6b34d5fa.js similarity index 91% rename from www/js/zui3/zen-editor/p-15314162.js rename to www/js/zui3/zen-editor/p-6b34d5fa.js index 2b3b25ae48..d51e80dad7 100644 --- a/www/js/zui3/zen-editor/p-15314162.js +++ b/www/js/zui3/zen-editor/p-6b34d5fa.js @@ -1,4 +1,4 @@ -import{conf as e,language as t}from"./p-bc1d3087.js";import"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{conf as e,language as t}from"./p-5551046f.js";import"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) diff --git a/www/js/zui3/zen-editor/p-bd4ed29d.js b/www/js/zui3/zen-editor/p-7a631f80.js similarity index 99% rename from www/js/zui3/zen-editor/p-bd4ed29d.js rename to www/js/zui3/zen-editor/p-7a631f80.js index 9c0dcd8bba..e150dcd094 100644 --- a/www/js/zui3/zen-editor/p-bd4ed29d.js +++ b/www/js/zui3/zen-editor/p-7a631f80.js @@ -1,4 +1,4 @@ -import{t,m as e}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{t,m as e}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) diff --git a/www/js/zui3/zen-editor/p-d8e89b7c.js b/www/js/zui3/zen-editor/p-83e291cb.js similarity index 99% rename from www/js/zui3/zen-editor/p-d8e89b7c.js rename to www/js/zui3/zen-editor/p-83e291cb.js index d676ceb048..bfcc79fb08 100644 --- a/www/js/zui3/zen-editor/p-d8e89b7c.js +++ b/www/js/zui3/zen-editor/p-83e291cb.js @@ -1,4 +1,4 @@ -import{m as t}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{m as t}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) diff --git a/www/js/zui3/zen-editor/p-c60d33dc.js b/www/js/zui3/zen-editor/p-92510b35.js similarity index 98% rename from www/js/zui3/zen-editor/p-c60d33dc.js rename to www/js/zui3/zen-editor/p-92510b35.js index 59d9ab6dd9..8b95a79ca3 100644 --- a/www/js/zui3/zen-editor/p-c60d33dc.js +++ b/www/js/zui3/zen-editor/p-92510b35.js @@ -1,4 +1,4 @@ -import{m as e}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{m as e}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) diff --git a/www/js/zui3/zen-editor/p-96a3dcd6.js b/www/js/zui3/zen-editor/p-9d9b27c2.js similarity index 98% rename from www/js/zui3/zen-editor/p-96a3dcd6.js rename to www/js/zui3/zen-editor/p-9d9b27c2.js index 2a9eb318c8..5d18787cc7 100644 --- a/www/js/zui3/zen-editor/p-96a3dcd6.js +++ b/www/js/zui3/zen-editor/p-9d9b27c2.js @@ -1,4 +1,4 @@ -import{m as e}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{m as e}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) diff --git a/www/js/zui3/zen-editor/p-f372a383.entry.js b/www/js/zui3/zen-editor/p-a72657f3.entry.js similarity index 99% rename from www/js/zui3/zen-editor/p-f372a383.entry.js rename to www/js/zui3/zen-editor/p-a72657f3.entry.js index 7a50c05b92..3b8d3534d8 100644 --- a/www/js/zui3/zen-editor/p-f372a383.entry.js +++ b/www/js/zui3/zen-editor/p-a72657f3.entry.js @@ -1 +1 @@ -import{L as A}from"./p-13f3e58d.js";export{M as monaco_editor,Z as zen_editor}from"./p-13f3e58d.js";import{r as e,h as t,F as n,g as i,c as B}from"./p-1f29e0e0.js";import{P as E,a as s,i as r,b as o,p as c,t as g,E as Q,M as a,m as l,c as h,d as w,N as R,w as I,e as u,g as d,f as G,T as C,D as k,h as D,j as Y,n as F,k as U,l as f,o as N,q as S,r as m,s as y,S as b,u as H,v as T,x as z,F as x,y as p,z as J,A as j,B as P,C as V,G as L,H as v,I as O}from"./p-51f21de4.js";class _{constructor({editor:A,element:e,view:t,tippyOptions:n={},updateDelay:i=250,shouldShow:B}){this.preventHide=!1,this.shouldShow=({view:A,state:e,from:t,to:n})=>{const{doc:i,selection:B}=e,{empty:E}=B,s=!i.textBetween(t,n).length&&r(e.selection),o=this.element.contains(document.activeElement);return!(!A.hasFocus()&&!o||E||s||!this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.dragstartHandler=()=>{this.hide()},this.focusHandler=()=>{setTimeout((()=>this.update(this.editor.view)))},this.blurHandler=({event:A})=>{var e;this.preventHide?this.preventHide=!1:(null==A?void 0:A.relatedTarget)&&(null===(e=this.element.parentNode)||void 0===e?void 0:e.contains(A.relatedTarget))||this.hide()},this.tippyBlurHandler=A=>{this.blurHandler({event:A})},this.handleDebouncedUpdate=(A,e)=>{const t=!(null==e?void 0:e.selection.eq(A.state.selection)),n=!(null==e?void 0:e.doc.eq(A.state.doc));(t||n)&&(this.updateDebounceTimer&&clearTimeout(this.updateDebounceTimer),this.updateDebounceTimer=window.setTimeout((()=>{this.updateHandler(A,t,n,e)}),this.updateDelay))},this.updateHandler=(A,e,t,n)=>{var i,B,E;const{state:s,composing:r}=A,{selection:g}=s;if(r||!e&&!t)return;this.createTooltip();const{ranges:Q}=g,a=Math.min(...Q.map((A=>A.$from.pos))),l=Math.max(...Q.map((A=>A.$to.pos)));(null===(i=this.shouldShow)||void 0===i?void 0:i.call(this,{editor:this.editor,view:A,state:s,oldState:n,from:a,to:l}))?(null===(B=this.tippy)||void 0===B||B.setProps({getReferenceClientRect:(null===(E=this.tippyOptions)||void 0===E?void 0:E.getReferenceClientRect)||(()=>{if(o(s.selection)){let e=A.nodeDOM(a);const t=e.dataset.nodeViewWrapper?e:e.querySelector("[data-node-view-wrapper]");if(t&&(e=t.firstChild),e)return e.getBoundingClientRect()}return c(A,a,l)})}),this.show()):this.hide()},this.editor=A,this.element=e,this.view=t,this.updateDelay=i,B&&(this.shouldShow=B),this.element.addEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.addEventListener("dragstart",this.dragstartHandler),this.editor.on("focus",this.focusHandler),this.editor.on("blur",this.blurHandler),this.tippyOptions=n,this.element.remove(),this.element.style.visibility="visible"}createTooltip(){const{element:A}=this.editor.options;!this.tippy&&A.parentElement&&(this.tippy=g(A,{duration:0,getReferenceClientRect:null,content:this.element,interactive:!0,trigger:"manual",placement:"top",hideOnClick:"toggle",...this.tippyOptions}),this.tippy.popper.firstChild&&this.tippy.popper.firstChild.addEventListener("blur",this.tippyBlurHandler))}update(A,e){const{state:t}=A;if(this.updateDelay>0&&t.selection.$from.pos!==t.selection.$to.pos)return void this.handleDebouncedUpdate(A,e);const n=!(null==e?void 0:e.selection.eq(A.state.selection)),i=!(null==e?void 0:e.doc.eq(A.state.doc));this.updateHandler(A,n,i,e)}show(){var A;null===(A=this.tippy)||void 0===A||A.show()}hide(){var A;null===(A=this.tippy)||void 0===A||A.hide()}destroy(){var A,e;(null===(A=this.tippy)||void 0===A?void 0:A.popper.firstChild)&&this.tippy.popper.firstChild.removeEventListener("blur",this.tippyBlurHandler),null===(e=this.tippy)||void 0===e||e.destroy(),this.element.removeEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.removeEventListener("dragstart",this.dragstartHandler),this.editor.off("focus",this.focusHandler),this.editor.off("blur",this.blurHandler)}}const K=A=>new E({key:"string"==typeof A.pluginKey?new s(A.pluginKey):A.pluginKey,view:e=>new _({view:e,...A})}),X=Q.create({name:"bubbleMenu",addOptions:()=>({element:null,tippyOptions:{},pluginKey:"bubbleMenu",updateDelay:void 0,shouldShow:null}),addProseMirrorPlugins(){return this.options.element?[K({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,tippyOptions:this.options.tippyOptions,updateDelay:this.options.updateDelay,shouldShow:this.options.shouldShow})]:[]}});const W=class{constructor(A){e(this,A),this.menuProps=void 0,this.editor=void 0,this.disabled=!1,this.element=void 0}componentDidLoad(){if(!Boolean(this.element)||this.editor.isDestroyed)return;const{pluginKey:A="bubbleMenu",tippyOptions:e={},shouldShow:t=(this.disabled?()=>!1:({view:A,state:e,from:t,to:n})=>{var i;if(null===(i=A.input)||void 0===i?void 0:i.mouseDown)return!1;const{doc:B,selection:E}=e,s=!Boolean(B.textBetween(t,n).length)&&r(E);return!(!A.hasFocus()||E.empty||s)})}=this.menuProps,n=K({pluginKey:A,editor:this.editor,element:this.element,tippyOptions:e,shouldShow:t});this.editor.registerPlugin(n)}render(){const{editor:A}=this;return t("div",{ref:A=>this.element=A,class:"bubble-menu",style:{visibility:"hidden"}},[{icon:"ci-bold",title:"Bold",action:()=>A.chain().focus().toggleBold().run(),isActive:()=>A.isActive("bold")},{icon:"ci-italic",title:"Italic",action:()=>A.chain().focus().toggleItalic().run(),isActive:()=>A.isActive("italic")},{icon:"ci-strikethrough",title:"Strike",action:()=>A.chain().focus().toggleStrike().run(),isActive:()=>A.isActive("strike")},{icon:"ci-code",title:"Code",action:()=>A.chain().focus().toggleCode().run(),isActive:()=>A.isActive("code")},{icon:"ci-bulb",title:"Highlight",action:()=>A.chain().focus().toggleHighlight().run(),isActive:()=>A.isActive("highlight")}].map(((A,e)=>{const n=A,{isHidden:i,type:B}=n,E=function(A,e){var t={};for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&e.indexOf(n)<0&&(t[n]=A[n]);if(null!=A&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(A);ithis.editorContentRef=A},A)))}get element(){return i(this)}};q.style='.ProseMirror>*+*{margin-top:0.75em}.ProseMirror ul,.ProseMirror ol{padding:0 1em}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3,.ProseMirror h4,.ProseMirror h5,.ProseMirror h6{line-height:1.1}.ProseMirror code{background-color:rgba(97, 97, 97, 0.1);color:#616161}.ProseMirror pre{background:#0d0d0d;border-radius:0.5em;color:#fff;font-family:"JetBrainsMono", monospace;padding:0.75em 1em}.ProseMirror pre code{background:none;color:inherit;font-size:0.8em;padding:0}.ProseMirror pre .hljs-comment,.ProseMirror pre .hljs-quote{color:#616161}.ProseMirror pre .hljs-variable,.ProseMirror pre .hljs-template-variable,.ProseMirror pre .hljs-attribute,.ProseMirror pre .hljs-tag,.ProseMirror pre .hljs-name,.ProseMirror pre .hljs-regexp,.ProseMirror pre .hljs-link,.ProseMirror pre .hljs-selector-id,.ProseMirror pre .hljs-selector-class{color:#f98181}.ProseMirror pre .hljs-number,.ProseMirror pre .hljs-meta,.ProseMirror pre .hljs-built_in,.ProseMirror pre .hljs-builtin-name,.ProseMirror pre .hljs-literal,.ProseMirror pre .hljs-type,.ProseMirror pre .hljs-params{color:#fbbc88}.ProseMirror pre .hljs-string,.ProseMirror pre .hljs-symbol,.ProseMirror pre .hljs-bullet{color:#b9f18d}.ProseMirror pre .hljs-title,.ProseMirror pre .hljs-section{color:#faf594}.ProseMirror pre .hljs-keyword,.ProseMirror pre .hljs-selector-tag{color:#70cff8}.ProseMirror pre .hljs-emphasis{font-style:italic}.ProseMirror pre .hljs-strong{font-weight:700}.ProseMirror mark{background-color:#faf594}.ProseMirror img{height:auto;max-width:100%}.ProseMirror blockquote{border-left:2px solid rgba(13, 13, 13, 0.1);padding-left:1em}.ProseMirror hr{border:none;border-top:2px solid rgba(13, 13, 13, 0.1);margin:2em 0}.ProseMirror ul[data-type=taskList]{list-style:none;padding:0}.ProseMirror ul[data-type=taskList] li{align-items:center;display:flex}.ProseMirror ul[data-type=taskList] li>label{flex:0 0 auto;margin-right:0.5em;user-select:none}.ProseMirror ul[data-type=taskList] li>div{flex:1 1 auto}.ProseMirror ul[data-type=taskList] li>div>p{margin:0.1em 0}.ProseMirror table{border-collapse:collapse;table-layout:fixed;margin:8px 0;overflow:hidden}.ProseMirror table td,.ProseMirror table th{min-width:1em;border:1px solid #616161;padding:3px 5px;vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror table td>*,.ProseMirror table th>*{margin-bottom:0}.ProseMirror table th{font-weight:bold;text-align:left;background-color:#f1f3f5}.ProseMirror table .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:rgba(200, 200, 255, 0.4);pointer-events:none}.ProseMirror table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:3px;background-color:#ace;pointer-events:none}.ProseMirror p.is-editor-empty:first-child::before{color:#adb5bd;content:attr(data-placeholder);float:left;height:0;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror:focus{outline:none}';const $=Q.create({name:"characterCount",addOptions:()=>({limit:null,mode:"textSize"}),addStorage:()=>({characters:()=>0,words:()=>0}),onBeforeCreate(){this.storage.characters=A=>{const e=(null==A?void 0:A.node)||this.editor.state.doc;return"textSize"===((null==A?void 0:A.mode)||this.options.mode)?e.textBetween(0,e.content.size,void 0," ").length:e.nodeSize},this.storage.words=A=>{const e=(null==A?void 0:A.node)||this.editor.state.doc;return e.textBetween(0,e.content.size," "," ").split(" ").filter((A=>""!==A)).length}},addProseMirrorPlugins(){return[new E({key:new s("characterCount"),filterTransaction:(A,e)=>{const t=this.options.limit;if(!A.docChanged||0===t||null==t)return!0;const n=this.storage.characters({node:e.doc}),i=this.storage.characters({node:A.doc});if(i<=t)return!0;if(n>t&&i>t&&i<=n)return!0;if(n>t&&i>t&&i>n)return!1;if(!A.getMeta("paste"))return!1;const B=A.selection.$head.pos;return A.deleteRange(B-(i-t),B),!(this.storage.characters({node:A.doc})>t)}})]}}),AA=/(?:^|\s)((?:==)((?:[^~=]+))(?:==))$/,eA=/(?:^|\s)((?:==)((?:[^~=]+))(?:==))/g,tA=a.create({name:"highlight",addOptions:()=>({multicolor:!1,HTMLAttributes:{}}),addAttributes(){return this.options.multicolor?{color:{default:null,parseHTML:A=>A.getAttribute("data-color")||A.style.backgroundColor,renderHTML:A=>A.color?{"data-color":A.color,style:`background-color: ${A.color}; color: inherit`}:{}}}:{}},parseHTML:()=>[{tag:"mark"}],renderHTML({HTMLAttributes:A}){return["mark",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setHighlight:A=>({commands:e})=>e.setMark(this.name,A),toggleHighlight:A=>({commands:e})=>e.toggleMark(this.name,A),unsetHighlight:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-h":()=>this.editor.commands.toggleHighlight()}},addInputRules(){return[h({find:AA,type:this.type})]},addPasteRules(){return[w({find:eA,type:this.type})]}}),nA=/^\s*(\[([( |x])?\])\s$/,iA=R.create({name:"taskItem",addOptions:()=>({nested:!1,HTMLAttributes:{},taskListTypeName:"taskList"}),content(){return this.options.nested?"paragraph block*":"paragraph+"},defining:!0,addAttributes:()=>({checked:{default:!1,keepOnSplit:!1,parseHTML:A=>"true"===A.getAttribute("data-checked"),renderHTML:A=>({"data-checked":A.checked})}}),parseHTML(){return[{tag:`li[data-type="${this.name}"]`,priority:51}]},renderHTML({node:A,HTMLAttributes:e}){return["li",l(this.options.HTMLAttributes,e,{"data-type":this.name}),["label",["input",{type:"checkbox",checked:A.attrs.checked?"checked":null}],["span"]],["div",0]]},addKeyboardShortcuts(){const A={Enter:()=>this.editor.commands.splitListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)};return this.options.nested?{...A,Tab:()=>this.editor.commands.sinkListItem(this.name)}:A},addNodeView(){return({node:A,HTMLAttributes:e,getPos:t,editor:n})=>{const i=document.createElement("li"),B=document.createElement("label"),E=document.createElement("span"),s=document.createElement("input"),r=document.createElement("div");return B.contentEditable="false",s.type="checkbox",s.addEventListener("change",(e=>{if(!n.isEditable&&!this.options.onReadOnlyChecked)return void(s.checked=!s.checked);const{checked:i}=e.target;n.isEditable&&"function"==typeof t&&n.chain().focus(void 0,{scrollIntoView:!1}).command((({tr:A})=>{const e=t(),n=A.doc.nodeAt(e);return A.setNodeMarkup(e,void 0,{...null==n?void 0:n.attrs,checked:i}),!0})).run(),!n.isEditable&&this.options.onReadOnlyChecked&&(this.options.onReadOnlyChecked(A,i)||(s.checked=!s.checked))})),Object.entries(this.options.HTMLAttributes).forEach((([A,e])=>{i.setAttribute(A,e)})),i.dataset.checked=A.attrs.checked,A.attrs.checked&&s.setAttribute("checked","checked"),B.append(s,E),i.append(B,r),Object.entries(e).forEach((([A,e])=>{i.setAttribute(A,e)})),{dom:i,contentDOM:r,update:A=>A.type===this.type&&(i.dataset.checked=A.attrs.checked,A.attrs.checked?s.setAttribute("checked","checked"):s.removeAttribute("checked"),!0)}}},addInputRules(){return[I({find:nA,type:this.type,getAttributes:A=>({checked:"x"===A[A.length-1]})})]}}),BA=R.create({name:"taskList",addOptions:()=>({itemTypeName:"taskItem",HTMLAttributes:{}}),group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:`ul[data-type="${this.name}"]`,priority:51}]},renderHTML({HTMLAttributes:A}){return["ul",l(this.options.HTMLAttributes,A,{"data-type":this.name}),0]},addCommands(){return{toggleTaskList:()=>({commands:A})=>A.toggleList(this.name,this.options.itemTypeName)}},addKeyboardShortcuts(){return{"Mod-Shift-9":()=>this.editor.commands.toggleTaskList()}}}),EA=Q.create({name:"typography",addInputRules(){const A=[];var e;return!1!==this.options.emDash&&A.push(u({find:/--$/,replace:null!=(e=this.options.emDash)?e:"—"})),!1!==this.options.ellipsis&&A.push((A=>u({find:/\.\.\.$/,replace:null!=A?A:"…"}))(this.options.ellipsis)),!1!==this.options.openDoubleQuote&&A.push((A=>u({find:/(?:^|[\s{[(<'"\u2018\u201C])(")$/,replace:null!=A?A:"“"}))(this.options.openDoubleQuote)),!1!==this.options.closeDoubleQuote&&A.push((A=>u({find:/"$/,replace:null!=A?A:"”"}))(this.options.closeDoubleQuote)),!1!==this.options.openSingleQuote&&A.push((A=>u({find:/(?:^|[\s{[(<'"\u2018\u201C])(')$/,replace:null!=A?A:"‘"}))(this.options.openSingleQuote)),!1!==this.options.closeSingleQuote&&A.push((A=>u({find:/'$/,replace:null!=A?A:"’"}))(this.options.closeSingleQuote)),!1!==this.options.leftArrow&&A.push((A=>u({find:/<-$/,replace:null!=A?A:"←"}))(this.options.leftArrow)),!1!==this.options.rightArrow&&A.push((A=>u({find:/->$/,replace:null!=A?A:"→"}))(this.options.rightArrow)),!1!==this.options.copyright&&A.push((A=>u({find:/\(c\)$/,replace:null!=A?A:"©"}))(this.options.copyright)),!1!==this.options.trademark&&A.push((A=>u({find:/\(tm\)$/,replace:null!=A?A:"™"}))(this.options.trademark)),!1!==this.options.servicemark&&A.push((A=>u({find:/\(sm\)$/,replace:null!=A?A:"℠"}))(this.options.servicemark)),!1!==this.options.registeredTrademark&&A.push((A=>u({find:/\(r\)$/,replace:null!=A?A:"®"}))(this.options.registeredTrademark)),!1!==this.options.oneHalf&&A.push((A=>u({find:/(?:^|\s)(1\/2)$/,replace:null!=A?A:"½"}))(this.options.oneHalf)),!1!==this.options.plusMinus&&A.push((A=>u({find:/\+\/-$/,replace:null!=A?A:"±"}))(this.options.plusMinus)),!1!==this.options.notEqual&&A.push((A=>u({find:/!=$/,replace:null!=A?A:"≠"}))(this.options.notEqual)),!1!==this.options.laquo&&A.push((A=>u({find:/<<$/,replace:null!=A?A:"«"}))(this.options.laquo)),!1!==this.options.raquo&&A.push((A=>u({find:/>>$/,replace:null!=A?A:"»"}))(this.options.raquo)),!1!==this.options.multiplication&&A.push((A=>u({find:/\d+\s?([*x])\s?\d+$/,replace:null!=A?A:"×"}))(this.options.multiplication)),!1!==this.options.superscriptTwo&&A.push((A=>u({find:/\^2$/,replace:null!=A?A:"²"}))(this.options.superscriptTwo)),!1!==this.options.superscriptThree&&A.push((A=>u({find:/\^3$/,replace:null!=A?A:"³"}))(this.options.superscriptThree)),!1!==this.options.oneQuarter&&A.push((A=>u({find:/(?:^|\s)(1\/4)$/,replace:null!=A?A:"¼"}))(this.options.oneQuarter)),!1!==this.options.threeQuarters&&A.push((A=>u({find:/(?:^|\s)(3\/4)$/,replace:null!=A?A:"¾"}))(this.options.threeQuarters)),A}}),sA=a.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:A=>!!A.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:A}){return["span",l(this.options.HTMLAttributes,A),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:A,commands:e})=>{const t=d(A,this.type);return!!Object.entries(t).some((([,A])=>!!A))||e.unsetMark(this.name)}}}}),rA=/^```([a-z]+)?[\s\n]$/,oA=/^~~~([a-z]+)?[\s\n]$/,cA=R.create({name:"codeBlock",addOptions:()=>({languageClassPrefix:"language-",exitOnTripleEnter:!0,exitOnArrowDown:!0,HTMLAttributes:{}}),content:"text*",marks:"",group:"block",code:!0,defining:!0,addAttributes(){return{language:{default:null,parseHTML:A=>{var e;const{languageClassPrefix:t}=this.options;return[...(null===(e=A.firstElementChild)||void 0===e?void 0:e.classList)||[]].filter((A=>A.startsWith(t))).map((A=>A.replace(t,"")))[0]||null},rendered:!1}}},parseHTML:()=>[{tag:"pre",preserveWhitespace:"full"}],renderHTML({node:A,HTMLAttributes:e}){return["pre",l(this.options.HTMLAttributes,e),["code",{class:A.attrs.language?this.options.languageClassPrefix+A.attrs.language:null},0]]},addCommands(){return{setCodeBlock:A=>({commands:e})=>e.setNode(this.name,A),toggleCodeBlock:A=>({commands:e})=>e.toggleNode(this.name,"paragraph",A)}},addKeyboardShortcuts(){return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{const{empty:A,$anchor:e}=this.editor.state.selection;return!(!A||e.parent.type.name!==this.name)&&!(1!==e.pos&&e.parent.textContent.length)&&this.editor.commands.clearNodes()},Enter:({editor:A})=>{if(!this.options.exitOnTripleEnter)return!1;const{state:e}=A,{selection:t}=e,{$from:n,empty:i}=t;if(!i||n.parent.type!==this.type)return!1;const B=n.parentOffset===n.parent.nodeSize-2,E=n.parent.textContent.endsWith("\n\n");return!(!B||!E)&&A.chain().command((({tr:A})=>(A.delete(n.pos-2,n.pos),!0))).exitCode().run()},ArrowDown:({editor:A})=>{if(!this.options.exitOnArrowDown)return!1;const{state:e}=A,{selection:t,doc:n}=e,{$from:i,empty:B}=t;if(!B||i.parent.type!==this.type)return!1;if(i.parentOffset!==i.parent.nodeSize-2)return!1;const E=i.after();return void 0!==E&&(!n.nodeAt(E)&&A.commands.exitCode())}}},addInputRules(){return[G({find:rA,type:this.type,getAttributes:A=>({language:A[1]})}),G({find:oA,type:this.type,getAttributes:A=>({language:A[1]})})]},addProseMirrorPlugins(){return[new E({key:new s("codeBlockVSCodeHandler"),props:{handlePaste:(A,e)=>{if(!e.clipboardData)return!1;if(this.editor.isActive(this.type.name))return!1;const t=e.clipboardData.getData("text/plain"),n=e.clipboardData.getData("vscode-editor-data"),i=n?JSON.parse(n):void 0,B=null==i?void 0:i.mode;if(!t||!B)return!1;const{tr:E}=A.state;return E.replaceSelectionWith(this.type.create({language:B})),E.setSelection(C.near(E.doc.resolve(Math.max(0,E.selection.from-2)))),E.insertText(t.replace(/\r\n?/g,"\n")),E.setMeta("paste",!0),A.dispatch(E),!0}}})]}});var gA={exports:{}};function QA(A){return A instanceof Map?A.clear=A.delete=A.set=function(){throw new Error("map is read-only")}:A instanceof Set&&(A.add=A.clear=A.delete=function(){throw new Error("set is read-only")}),Object.freeze(A),Object.getOwnPropertyNames(A).forEach((function(e){var t=A[e];"object"!=typeof t||Object.isFrozen(t)||QA(t)})),A}gA.exports=QA,gA.exports.default=QA;class aA{constructor(A){void 0===A.data&&(A.data={}),this.data=A.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function lA(A){return A.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function hA(A,...e){const t=Object.create(null);for(const e in A)t[e]=A[e];return e.forEach((function(A){for(const e in A)t[e]=A[e]})),t}const MA=A=>!!A.scope||A.sublanguage&&A.language;class wA{constructor(A,e){this.buffer="",this.classPrefix=e.classPrefix,A.walk(this)}addText(A){this.buffer+=lA(A)}openNode(A){if(!MA(A))return;let e="";e=A.sublanguage?`language-${A.language}`:((A,{prefix:e})=>{if(A.includes(".")){const t=A.split(".");return[`${e}${t.shift()}`,...t.map(((A,e)=>`${A}${"_".repeat(e+1)}`))].join(" ")}return`${e}${A}`})(A.scope,{prefix:this.classPrefix}),this.span(e)}closeNode(A){MA(A)&&(this.buffer+="")}value(){return this.buffer}span(A){this.buffer+=``}}const RA=(A={})=>{const e={children:[]};return Object.assign(e,A),e};class IA{constructor(){this.rootNode=RA(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(A){this.top.children.push(A)}openNode(A){const e=RA({scope:A});this.add(e),this.stack.push(e)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(A){return this.constructor._walk(A,this.rootNode)}static _walk(A,e){return"string"==typeof e?A.addText(e):e.children&&(A.openNode(e),e.children.forEach((e=>this._walk(A,e))),A.closeNode(e)),A}static _collapse(A){"string"!=typeof A&&A.children&&(A.children.every((A=>"string"==typeof A))?A.children=[A.children.join("")]:A.children.forEach((A=>{IA._collapse(A)})))}}class uA extends IA{constructor(A){super(),this.options=A}addKeyword(A,e){""!==A&&(this.openNode(e),this.addText(A),this.closeNode())}addText(A){""!==A&&this.add(A)}addSublanguage(A,e){const t=A.root;t.sublanguage=!0,t.language=e,this.add(t)}toHTML(){return new wA(this,this.options).value()}finalize(){return!0}}function dA(A){return A?"string"==typeof A?A:A.source:null}function GA(A){return DA("(?=",A,")")}function CA(A){return DA("(?:",A,")*")}function kA(A){return DA("(?:",A,")?")}function DA(...A){return A.map((A=>dA(A))).join("")}function YA(...A){const e=function(A){const e=A[A.length-1];return"object"==typeof e&&e.constructor===Object?(A.splice(A.length-1,1),e):{}}(A);return"("+(e.capture?"":"?:")+A.map((A=>dA(A))).join("|")+")"}function FA(A){return new RegExp(A.toString()+"|").exec("").length-1}const UA=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function fA(A,{joinWith:e}){let t=0;return A.map((A=>{t+=1;const e=t;let n=dA(A),i="";for(;n.length>0;){const A=UA.exec(n);if(!A){i+=n;break}i+=n.substring(0,A.index),n=n.substring(A.index+A[0].length),"\\"===A[0][0]&&A[1]?i+="\\"+String(Number(A[1])+e):(i+=A[0],"("===A[0]&&t++)}return i})).map((A=>`(${A})`)).join(e)}const NA="[a-zA-Z]\\w*",SA="[a-zA-Z_]\\w*",mA="\\b\\d+(\\.\\d+)?",yA="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",bA="\\b(0b[01]+)",HA={begin:"\\\\[\\s\\S]",relevance:0},TA={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[HA]},zA={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[HA]},xA=function(A,e,t={}){const n=hA({scope:"comment",begin:A,end:e,contains:[]},t);n.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const i=YA("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return n.contains.push({begin:DA(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),n},pA=xA("//","$"),JA=xA("/\\*","\\*/"),jA=xA("#","$");var ZA=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:NA,UNDERSCORE_IDENT_RE:SA,NUMBER_RE:mA,C_NUMBER_RE:yA,BINARY_NUMBER_RE:bA,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(A={})=>{const e=/^#![ ]*\//;return A.binary&&(A.begin=DA(e,/.*\b/,A.binary,/\b.*/)),hA({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(A,e)=>{0!==A.index&&e.ignoreMatch()}},A)},BACKSLASH_ESCAPE:HA,APOS_STRING_MODE:TA,QUOTE_STRING_MODE:zA,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT:xA,C_LINE_COMMENT_MODE:pA,C_BLOCK_COMMENT_MODE:JA,HASH_COMMENT_MODE:jA,NUMBER_MODE:{scope:"number",begin:mA,relevance:0},C_NUMBER_MODE:{scope:"number",begin:yA,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:bA,relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[HA,{begin:/\[/,end:/\]/,relevance:0,contains:[HA]}]}]},TITLE_MODE:{scope:"title",begin:NA,relevance:0},UNDERSCORE_TITLE_MODE:{scope:"title",begin:SA,relevance:0},METHOD_GUARD:{begin:"\\.\\s*"+SA,relevance:0},END_SAME_AS_BEGIN:function(A){return Object.assign(A,{"on:begin":(A,e)=>{e.data._beginMatch=A[1]},"on:end":(A,e)=>{e.data._beginMatch!==A[1]&&e.ignoreMatch()}})}});function PA(A,e){"."===A.input[A.index-1]&&e.ignoreMatch()}function VA(A){void 0!==A.className&&(A.scope=A.className,delete A.className)}function LA(A,e){e&&A.beginKeywords&&(A.begin="\\b("+A.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",A.__beforeBegin=PA,A.keywords=A.keywords||A.beginKeywords,delete A.beginKeywords,void 0===A.relevance&&(A.relevance=0))}function vA(A){Array.isArray(A.illegal)&&(A.illegal=YA(...A.illegal))}function OA(A){if(A.match){if(A.begin||A.end)throw new Error("begin & end are not supported with match");A.begin=A.match,delete A.match}}function _A(A){void 0===A.relevance&&(A.relevance=1)}const KA=A=>{if(!A.beforeMatch)return;if(A.starts)throw new Error("beforeMatch cannot be used with starts");const e=Object.assign({},A);Object.keys(A).forEach((e=>{delete A[e]})),A.keywords=e.keywords,A.begin=DA(e.beforeMatch,GA(e.begin)),A.starts={relevance:0,contains:[Object.assign(e,{endsParent:!0})]},A.relevance=0,delete e.beforeMatch},XA=["of","and","for","in","not","or","if","then","parent","list","value"],WA="keyword";function qA(A,e,t=WA){const n=Object.create(null);return"string"==typeof A?i(t,A.split(" ")):Array.isArray(A)?i(t,A):Object.keys(A).forEach((function(t){Object.assign(n,qA(A[t],e,t))})),n;function i(A,t){e&&(t=t.map((A=>A.toLowerCase()))),t.forEach((function(e){const t=e.split("|");n[t[0]]=[A,$A(t[0],t[1])]}))}}function $A(A,e){return e?Number(e):function(A){return XA.includes(A.toLowerCase())}(A)?0:1}const Ae={},ee=A=>{console.error(A)},te=(A,...e)=>{console.log(`WARN: ${A}`,...e)},ne=(A,e)=>{Ae[`${A}/${e}`]||(console.log(`Deprecated as of ${A}. ${e}`),Ae[`${A}/${e}`]=!0)},ie=new Error;function Be(A,e,{key:t}){let n=0;const i=A[t],B={},E={};for(let A=1;A<=e.length;A++)E[A+n]=i[A],B[A+n]=!0,n+=FA(e[A-1]);A[t]=E,A[t]._emit=B,A[t]._multi=!0}function Ee(A){!function(A){A.scope&&"object"==typeof A.scope&&null!==A.scope&&(A.beginScope=A.scope,delete A.scope)}(A),"string"==typeof A.beginScope&&(A.beginScope={_wrap:A.beginScope}),"string"==typeof A.endScope&&(A.endScope={_wrap:A.endScope}),function(A){if(Array.isArray(A.begin)){if(A.skip||A.excludeBegin||A.returnBegin)throw ee("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),ie;if("object"!=typeof A.beginScope||null===A.beginScope)throw ee("beginScope must be object"),ie;Be(A,A.begin,{key:"beginScope"}),A.begin=fA(A.begin,{joinWith:""})}}(A),function(A){if(Array.isArray(A.end)){if(A.skip||A.excludeEnd||A.returnEnd)throw ee("skip, excludeEnd, returnEnd not compatible with endScope: {}"),ie;if("object"!=typeof A.endScope||null===A.endScope)throw ee("endScope must be object"),ie;Be(A,A.end,{key:"endScope"}),A.end=fA(A.end,{joinWith:""})}}(A)}function se(A){function e(e,t){return new RegExp(dA(e),"m"+(A.case_insensitive?"i":"")+(A.unicodeRegex?"u":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(A,e){e.position=this.position++,this.matchIndexes[this.matchAt]=e,this.regexes.push([e,A]),this.matchAt+=FA(A)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const A=this.regexes.map((A=>A[1]));this.matcherRe=e(fA(A,{joinWith:"|"}),!0),this.lastIndex=0}exec(A){this.matcherRe.lastIndex=this.lastIndex;const e=this.matcherRe.exec(A);if(!e)return null;const t=e.findIndex(((A,e)=>e>0&&void 0!==A)),n=this.matchIndexes[t];return e.splice(0,t),Object.assign(e,n)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(A){if(this.multiRegexes[A])return this.multiRegexes[A];const e=new t;return this.rules.slice(A).forEach((([A,t])=>e.addRule(A,t))),e.compile(),this.multiRegexes[A]=e,e}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(A,e){this.rules.push([A,e]),"begin"===e.type&&this.count++}exec(A){const e=this.getMatcher(this.regexIndex);e.lastIndex=this.lastIndex;let t=e.exec(A);if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{const e=this.getMatcher(0);e.lastIndex=this.lastIndex+1,t=e.exec(A)}return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&this.considerAll()),t}}if(A.compilerExtensions||(A.compilerExtensions=[]),A.contains&&A.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return A.classNameAliases=hA(A.classNameAliases||{}),function t(i,B){const E=i;if(i.isCompiled)return E;[VA,OA,Ee,KA].forEach((A=>A(i,B))),A.compilerExtensions.forEach((A=>A(i,B))),i.__beforeBegin=null,[LA,vA,_A].forEach((A=>A(i,B))),i.isCompiled=!0;let s=null;return"object"==typeof i.keywords&&i.keywords.$pattern&&(i.keywords=Object.assign({},i.keywords),s=i.keywords.$pattern,delete i.keywords.$pattern),s=s||/\w+/,i.keywords&&(i.keywords=qA(i.keywords,A.case_insensitive)),E.keywordPatternRe=e(s,!0),B&&(i.begin||(i.begin=/\B|\b/),E.beginRe=e(E.begin),i.end||i.endsWithParent||(i.end=/\B|\b/),i.end&&(E.endRe=e(E.end)),E.terminatorEnd=dA(E.end)||"",i.endsWithParent&&B.terminatorEnd&&(E.terminatorEnd+=(i.end?"|":"")+B.terminatorEnd)),i.illegal&&(E.illegalRe=e(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((function(A){return function(A){return A.variants&&!A.cachedVariants&&(A.cachedVariants=A.variants.map((function(e){return hA(A,{variants:null},e)}))),A.cachedVariants?A.cachedVariants:re(A)?hA(A,{starts:A.starts?hA(A.starts):null}):Object.isFrozen(A)?hA(A):A}("self"===A?i:A)}))),i.contains.forEach((function(A){t(A,E)})),i.starts&&t(i.starts,B),E.matcher=function(A){const e=new n;return A.contains.forEach((A=>e.addRule(A.begin,{rule:A,type:"begin"}))),A.terminatorEnd&&e.addRule(A.terminatorEnd,{type:"end"}),A.illegal&&e.addRule(A.illegal,{type:"illegal"}),e}(E),E}(A)}function re(A){return!!A&&(A.endsWithParent||re(A.starts))}class oe extends Error{constructor(A,e){super(A),this.name="HTMLInjectionError",this.html=e}}const ce=lA,ge=hA,Qe=Symbol("nomatch");var ae=function(A){const e=Object.create(null),t=Object.create(null),n=[];let i=!0;const B="Could not find the language '{}', did you forget to load/include a language module?",E={disableAutodetect:!0,name:"Plain text",contains:[]};let s={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:uA};function r(A){return s.noHighlightRe.test(A)}function o(A,e,t){let n="",i="";"object"==typeof e?(n=A,t=e.ignoreIllegals,i=e.language):(ne("10.7.0","highlight(lang, code, ...args) has been deprecated."),ne("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),i=A,n=e),void 0===t&&(t=!0);const B={code:n,language:i};R("before:highlight",B);const E=B.result?B.result:c(B.language,B.code,t);return E.code=B.code,R("after:highlight",E),E}function c(A,t,n,E){const r=Object.create(null);function o(){if(!k.keywords)return void Y.addText(F);let A=0;k.keywordPatternRe.lastIndex=0;let e=k.keywordPatternRe.exec(F),t="";for(;e;){t+=F.substring(A,e.index);const n=d.case_insensitive?e[0].toLowerCase():e[0],i=k.keywords[n];if(i){const[A,B]=i;Y.addText(t),t="",r[n]=(r[n]||0)+1,r[n]<=7&&(U+=B),A.startsWith("_")?t+=e[0]:Y.addKeyword(e[0],d.classNameAliases[A]||A)}else t+=e[0];A=k.keywordPatternRe.lastIndex,e=k.keywordPatternRe.exec(F)}t+=F.substring(A),Y.addText(t)}function Q(){null!=k.subLanguage?function(){if(""===F)return;let A=null;if("string"==typeof k.subLanguage){if(!e[k.subLanguage])return void Y.addText(F);A=c(k.subLanguage,F,!0,D[k.subLanguage]),D[k.subLanguage]=A._top}else A=g(F,k.subLanguage.length?k.subLanguage:null);k.relevance>0&&(U+=A.relevance),Y.addSublanguage(A._emitter,A.language)}():o(),F=""}function a(A,e){let t=1;const n=e.length-1;for(;t<=n;){if(!A._emit[t]){t++;continue}const n=d.classNameAliases[A[t]]||A[t],i=e[t];n?Y.addKeyword(i,n):(F=i,o(),F=""),t++}}function l(A,e){return A.scope&&"string"==typeof A.scope&&Y.openNode(d.classNameAliases[A.scope]||A.scope),A.beginScope&&(A.beginScope._wrap?(Y.addKeyword(F,d.classNameAliases[A.beginScope._wrap]||A.beginScope._wrap),F=""):A.beginScope._multi&&(a(A.beginScope,e),F="")),k=Object.create(A,{parent:{value:k}}),k}function M(A,e,t){let n=function(A,e){const t=A&&A.exec(e);return t&&0===t.index}(A.endRe,t);if(n){if(A["on:end"]){const t=new aA(A);A["on:end"](e,t),t.isMatchIgnored&&(n=!1)}if(n){for(;A.endsParent&&A.parent;)A=A.parent;return A}}if(A.endsWithParent)return M(A.parent,e,t)}function w(A){return 0===k.matcher.regexIndex?(F+=A[0],1):(S=!0,0)}function R(A){const e=A[0],n=t.substring(A.index),i=M(k,A,n);if(!i)return Qe;const B=k;k.endScope&&k.endScope._wrap?(Q(),Y.addKeyword(e,k.endScope._wrap)):k.endScope&&k.endScope._multi?(Q(),a(k.endScope,A)):B.skip?F+=e:(B.returnEnd||B.excludeEnd||(F+=e),Q(),B.excludeEnd&&(F=e));do{k.scope&&Y.closeNode(),k.skip||k.subLanguage||(U+=k.relevance),k=k.parent}while(k!==i.parent);return i.starts&&l(i.starts,A),B.returnEnd?0:e.length}let I={};function u(e,B){const E=B&&B[0];if(F+=e,null==E)return Q(),0;if("begin"===I.type&&"end"===B.type&&I.index===B.index&&""===E){if(F+=t.slice(B.index,B.index+1),!i){const e=new Error(`0 width match regex (${A})`);throw e.languageName=A,e.badRule=I.rule,e}return 1}if(I=B,"begin"===B.type)return function(A){const e=A[0],t=A.rule,n=new aA(t),i=[t.__beforeBegin,t["on:begin"]];for(const t of i)if(t&&(t(A,n),n.isMatchIgnored))return w(e);return t.skip?F+=e:(t.excludeBegin&&(F+=e),Q(),t.returnBegin||t.excludeBegin||(F=e)),l(t,A),t.returnBegin?0:e.length}(B);if("illegal"===B.type&&!n){const A=new Error('Illegal lexeme "'+E+'" for mode "'+(k.scope||"")+'"');throw A.mode=k,A}if("end"===B.type){const A=R(B);if(A!==Qe)return A}if("illegal"===B.type&&""===E)return 1;if(N>1e5&&N>3*B.index)throw new Error("potential infinite loop, way more iterations than matches");return F+=E,E.length}const d=h(A);if(!d)throw ee(B.replace("{}",A)),new Error('Unknown language: "'+A+'"');const G=se(d);let C="",k=E||G;const D={},Y=new s.__emitter(s);!function(){const A=[];for(let e=k;e!==d;e=e.parent)e.scope&&A.unshift(e.scope);A.forEach((A=>Y.openNode(A)))}();let F="",U=0,f=0,N=0,S=!1;try{for(k.matcher.considerAll();;){N++,S?S=!1:k.matcher.considerAll(),k.matcher.lastIndex=f;const A=k.matcher.exec(t);if(!A)break;const e=u(t.substring(f,A.index),A);f=A.index+e}return u(t.substring(f)),Y.closeAllNodes(),Y.finalize(),C=Y.toHTML(),{language:A,value:C,relevance:U,illegal:!1,_emitter:Y,_top:k}}catch(e){if(e.message&&e.message.includes("Illegal"))return{language:A,value:ce(t),illegal:!0,relevance:0,_illegalBy:{message:e.message,index:f,context:t.slice(f-100,f+100),mode:e.mode,resultSoFar:C},_emitter:Y};if(i)return{language:A,value:ce(t),illegal:!1,relevance:0,errorRaised:e,_emitter:Y,_top:k};throw e}}function g(A,t){t=t||s.languages||Object.keys(e);const n=function(A){const e={value:ce(A),illegal:!1,relevance:0,_top:E,_emitter:new s.__emitter(s)};return e._emitter.addText(A),e}(A),i=t.filter(h).filter(w).map((e=>c(e,A,!1)));i.unshift(n);const B=i.sort(((A,e)=>{if(A.relevance!==e.relevance)return e.relevance-A.relevance;if(A.language&&e.language){if(h(A.language).supersetOf===e.language)return 1;if(h(e.language).supersetOf===A.language)return-1}return 0})),[r,o]=B,g=r;return g.secondBest=o,g}function Q(A){let e=null;const n=function(A){let e=A.className+" ";e+=A.parentNode?A.parentNode.className:"";const t=s.languageDetectRe.exec(e);if(t){const e=h(t[1]);return e||(te(B.replace("{}",t[1])),te("Falling back to no-highlight mode for this block.",A)),e?t[1]:"no-highlight"}return e.split(/\s+/).find((A=>r(A)||h(A)))}(A);if(r(n))return;if(R("before:highlightElement",{el:A,language:n}),A.children.length>0&&(s.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(A)),s.throwUnescapedHTML))throw new oe("One of your code blocks includes unescaped HTML.",A.innerHTML);e=A;const i=e.textContent,E=n?o(i,{language:n,ignoreIllegals:!0}):g(i);A.innerHTML=E.value,function(A,e,n){const i=e&&t[e]||n;A.classList.add("hljs"),A.classList.add(`language-${i}`)}(A,n,E.language),A.result={language:E.language,re:E.relevance,relevance:E.relevance},E.secondBest&&(A.secondBest={language:E.secondBest.language,relevance:E.secondBest.relevance}),R("after:highlightElement",{el:A,result:E,text:i})}let a=!1;function l(){"loading"!==document.readyState?document.querySelectorAll(s.cssSelector).forEach(Q):a=!0}function h(A){return A=(A||"").toLowerCase(),e[A]||e[t[A]]}function M(A,{languageName:e}){"string"==typeof A&&(A=[A]),A.forEach((A=>{t[A.toLowerCase()]=e}))}function w(A){const e=h(A);return e&&!e.disableAutodetect}function R(A,e){const t=A;n.forEach((function(A){A[t]&&A[t](e)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){a&&l()}),!1),Object.assign(A,{highlight:o,highlightAuto:g,highlightAll:l,highlightElement:Q,highlightBlock:function(A){return ne("10.7.0","highlightBlock will be removed entirely in v12.0"),ne("10.7.0","Please use highlightElement now."),Q(A)},configure:function(A){s=ge(s,A)},initHighlighting:()=>{l(),ne("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){l(),ne("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(t,n){let B=null;try{B=n(A)}catch(A){if(ee("Language definition for '{}' could not be registered.".replace("{}",t)),!i)throw A;ee(A),B=E}B.name||(B.name=t),e[t]=B,B.rawDefinition=n.bind(null,A),B.aliases&&M(B.aliases,{languageName:t})},unregisterLanguage:function(A){delete e[A];for(const e of Object.keys(t))t[e]===A&&delete t[e]},listLanguages:function(){return Object.keys(e)},getLanguage:h,registerAliases:M,autoDetection:w,inherit:ge,addPlugin:function(A){!function(A){A["before:highlightBlock"]&&!A["before:highlightElement"]&&(A["before:highlightElement"]=e=>{A["before:highlightBlock"](Object.assign({block:e.el},e))}),A["after:highlightBlock"]&&!A["after:highlightElement"]&&(A["after:highlightElement"]=e=>{A["after:highlightBlock"](Object.assign({block:e.el},e))})}(A),n.push(A)}}),A.debugMode=function(){i=!1},A.safeMode=function(){i=!0},A.versionString="11.6.0",A.regex={concat:DA,lookahead:GA,either:YA,optional:kA,anyNumberOfTimes:CA};for(const A in ZA)"object"==typeof ZA[A]&&gA.exports(ZA[A]);return Object.assign(A,ZA),A}({}),le=ae;ae.HighlightJS=ae,ae.default=ae;var he=le;function Me(A,e=[]){return A.map((A=>{const t=[...e,...A.properties?A.properties.className:[]];return A.children?Me(A.children,t):{text:A.value,classes:t}})).flat()}function we(A){return A.value||A.children||[]}function Re({doc:A,name:e,lowlight:t,defaultLanguage:n}){const i=[];return D(A,(A=>A.type.name===e)).forEach((A=>{let e=A.pos+1;const B=A.node.attrs.language||n,E=t.listLanguages();Me(B&&(E.includes(B)||Boolean(he.getLanguage(B)))?we(t.highlight(B,A.node.textContent)):we(t.highlightAuto(A.node.textContent))).forEach((A=>{const t=e+A.text.length;if(A.classes.length){const n=Y.inline(e,t,{class:A.classes.join(" ")});i.push(n)}e=t}))})),k.create(A,i)}function Ie({name:A,lowlight:e,defaultLanguage:t}){if(!["highlight","highlightAuto","listLanguages"].every((A=>"function"==typeof e[A])))throw Error("You should provide an instance of lowlight to use the code-block-lowlight extension");const n=new E({key:new s("lowlight"),state:{init:(n,{doc:i})=>Re({doc:i,name:A,lowlight:e,defaultLanguage:t}),apply:(n,i,B,E)=>{const s=B.selection.$head.parent.type.name,r=E.selection.$head.parent.type.name,o=D(B.doc,(e=>e.type.name===A)),c=D(E.doc,(e=>e.type.name===A));return n.docChanged&&([s,r].includes(A)||c.length!==o.length||n.steps.some((A=>void 0!==A.from&&void 0!==A.to&&o.some((e=>e.pos>=A.from&&e.pos+e.node.nodeSize<=A.to)))))?Re({doc:n.doc,name:A,lowlight:e,defaultLanguage:t}):i.map(n.mapping,n.doc)}},props:{decorations:A=>n.getState(A)}});return n}const ue=cA.extend({addOptions(){var A;return{...null===(A=this.parent)||void 0===A?void 0:A.call(this),lowlight:{},defaultLanguage:null}},addProseMirrorPlugins(){var A;return[...(null===(A=this.parent)||void 0===A?void 0:A.call(this))||[],Ie({name:this.name,lowlight:this.options.lowlight,defaultLanguage:this.options.defaultLanguage})]}});const de=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Ge=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],Ce=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],ke=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],De=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();var Ye="[0-9](_*[0-9])*",Fe=`\\.(${Ye})`,Ue="[0-9a-fA-F](_*[0-9a-fA-F])*",fe={className:"number",variants:[{begin:`(\\b(${Ye})((${Fe})|\\.)?|(${Fe}))[eE][+-]?(${Ye})[fFdD]?\\b`},{begin:`\\b(${Ye})((${Fe})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Fe})[fFdD]?\\b`},{begin:`\\b(${Ye})[fFdD]\\b`},{begin:`\\b0[xX]((${Ue})\\.?|(${Ue})?\\.(${Ue}))[pP][+-]?(${Ye})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Ue})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Ne(A,e,t){return-1===t?"":A.replace(e,(()=>Ne(A,e,t-1)))}const Se="[A-Za-z$_][0-9A-Za-z$_]*",me=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],ye=["true","false","null","undefined","NaN","Infinity"],be=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],He=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Te=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ze=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],xe=[].concat(Te,be,He);var pe="[0-9](_*[0-9])*",Je=`\\.(${pe})`,je="[0-9a-fA-F](_*[0-9a-fA-F])*",Ze={className:"number",variants:[{begin:`(\\b(${pe})((${Je})|\\.)?|(${Je}))[eE][+-]?(${pe})[fFdD]?\\b`},{begin:`\\b(${pe})((${Je})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Je})[fFdD]?\\b`},{begin:`\\b(${pe})[fFdD]\\b`},{begin:`\\b0[xX]((${je})\\.?|(${je})?\\.(${je}))[pP][+-]?(${pe})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${je})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};const Pe=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Ve=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],Le=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],ve=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],Oe=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),_e=Le.concat(ve);const Ke=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Xe=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],We=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],qe=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],$e=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function At(A){return A?"string"==typeof A?A:A.source:null}function et(A){return tt("(?=",A,")")}function tt(...A){return A.map((A=>At(A))).join("")}function nt(...A){const e=function(A){const e=A[A.length-1];return"object"==typeof e&&e.constructor===Object?(A.splice(A.length-1,1),e):{}}(A);return"("+(e.capture?"":"?:")+A.map((A=>At(A))).join("|")+")"}const it=A=>tt(/\b/,A,/\w$/.test(A)?/\b/:/\B/),Bt=["Protocol","Type"].map(it),Et=["init","self"].map(it),st=["Any","Self"],rt=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","distributed","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],ot=["false","nil","true"],ct=["assignment","associativity","higherThan","left","lowerThan","none","right"],gt=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],Qt=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],at=nt(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),lt=nt(at,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),ht=tt(at,lt,"*"),Mt=nt(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),wt=nt(Mt,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Rt=tt(Mt,wt,"*"),It=tt(/[A-Z]/,wt,"*"),ut=["autoclosure",tt(/convention\(/,nt("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",tt(/objc\(/,Rt,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],dt=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];const Gt="[A-Za-z$_][0-9A-Za-z$_]*",Ct=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],kt=["true","false","null","undefined","NaN","Infinity"],Dt=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Yt=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Ft=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Ut=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],ft=[].concat(Ft,Dt,Yt);function Nt(A){const e=A.regex,t=Gt,n={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(A,e)=>{const t=A[0].length+A.index,n=A.input[t];if("<"===n||","===n)return void e.ignoreMatch();let i;">"===n&&(((A,{after:e})=>{const t="",F={match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(Y)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[R]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:w,CLASS_REFERENCE:u},illegal:/#(?![$_A-z])/,contains:[A.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,c,g,Q,a,l,{match:/\$\d+/},r,u,{className:"attr",begin:t+e.lookahead(":"),relevance:0},F,{begin:"("+A.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[l,A.REGEXP_MODE,{className:"function",begin:Y,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:A.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:w}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:n.begin,"on:begin":n.isTrulyOpeningTag,end:n.end}],subLanguage:"xml",contains:[{begin:n.begin,end:n.end,skip:!0,contains:["self"]}]}]},d,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+A.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[R,A.inherit(A.TITLE_MODE,{begin:t,className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[R]},G,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},I,D,{match:/\$[(.]/}]}}function St(A){return A instanceof Map?A.clear=A.delete=A.set=function(){throw new Error("map is read-only")}:A instanceof Set&&(A.add=A.clear=A.delete=function(){throw new Error("set is read-only")}),Object.freeze(A),Object.getOwnPropertyNames(A).forEach((e=>{const t=A[e],n=typeof t;"object"!==n&&"function"!==n||Object.isFrozen(t)||St(t)})),A}class mt{constructor(A){void 0===A.data&&(A.data={}),this.data=A.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function yt(A){return A.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function bt(A,...e){const t=Object.create(null);for(const e in A)t[e]=A[e];return e.forEach((function(A){for(const e in A)t[e]=A[e]})),t}const Ht=A=>!!A.scope;class Tt{constructor(A,e){this.buffer="",this.classPrefix=e.classPrefix,A.walk(this)}addText(A){this.buffer+=yt(A)}openNode(A){if(!Ht(A))return;const e=((A,{prefix:e})=>{if(A.startsWith("language:"))return A.replace("language:","language-");if(A.includes(".")){const t=A.split(".");return[`${e}${t.shift()}`,...t.map(((A,e)=>`${A}${"_".repeat(e+1)}`))].join(" ")}return`${e}${A}`})(A.scope,{prefix:this.classPrefix});this.span(e)}closeNode(A){Ht(A)&&(this.buffer+="")}value(){return this.buffer}span(A){this.buffer+=``}}const zt=(A={})=>{const e={children:[]};return Object.assign(e,A),e};class xt{constructor(){this.rootNode=zt(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(A){this.top.children.push(A)}openNode(A){const e=zt({scope:A});this.add(e),this.stack.push(e)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(A){return this.constructor._walk(A,this.rootNode)}static _walk(A,e){return"string"==typeof e?A.addText(e):e.children&&(A.openNode(e),e.children.forEach((e=>this._walk(A,e))),A.closeNode(e)),A}static _collapse(A){"string"!=typeof A&&A.children&&(A.children.every((A=>"string"==typeof A))?A.children=[A.children.join("")]:A.children.forEach((A=>{xt._collapse(A)})))}}class pt extends xt{constructor(A){super(),this.options=A}addText(A){""!==A&&this.add(A)}startScope(A){this.openNode(A)}endScope(){this.closeNode()}__addSublanguage(A,e){const t=A.root;e&&(t.scope=`language:${e}`),this.add(t)}toHTML(){return new Tt(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Jt(A){return A?"string"==typeof A?A:A.source:null}function jt(A){return Vt("(?=",A,")")}function Zt(A){return Vt("(?:",A,")*")}function Pt(A){return Vt("(?:",A,")?")}function Vt(...A){return A.map((A=>Jt(A))).join("")}function Lt(...A){const e=function(A){const e=A[A.length-1];return"object"==typeof e&&e.constructor===Object?(A.splice(A.length-1,1),e):{}}(A);return"("+(e.capture?"":"?:")+A.map((A=>Jt(A))).join("|")+")"}function vt(A){return new RegExp(A.toString()+"|").exec("").length-1}const Ot=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function _t(A,{joinWith:e}){let t=0;return A.map((A=>{t+=1;const e=t;let n=Jt(A),i="";for(;n.length>0;){const A=Ot.exec(n);if(!A){i+=n;break}i+=n.substring(0,A.index),n=n.substring(A.index+A[0].length),"\\"===A[0][0]&&A[1]?i+="\\"+String(Number(A[1])+e):(i+=A[0],"("===A[0]&&t++)}return i})).map((A=>`(${A})`)).join(e)}const Kt="[a-zA-Z]\\w*",Xt="[a-zA-Z_]\\w*",Wt="\\b\\d+(\\.\\d+)?",qt="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",$t="\\b(0b[01]+)",An={begin:"\\\\[\\s\\S]",relevance:0},en={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[An]},tn={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[An]},nn=function(A,e,t={}){const n=bt({scope:"comment",begin:A,end:e,contains:[]},t);n.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const i=Lt("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return n.contains.push({begin:Vt(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),n},Bn=nn("//","$"),En=nn("/\\*","\\*/"),sn=nn("#","$");var rn=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:Kt,UNDERSCORE_IDENT_RE:Xt,NUMBER_RE:Wt,C_NUMBER_RE:qt,BINARY_NUMBER_RE:$t,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(A={})=>{const e=/^#![ ]*\//;return A.binary&&(A.begin=Vt(e,/.*\b/,A.binary,/\b.*/)),bt({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(A,e)=>{0!==A.index&&e.ignoreMatch()}},A)},BACKSLASH_ESCAPE:An,APOS_STRING_MODE:en,QUOTE_STRING_MODE:tn,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT:nn,C_LINE_COMMENT_MODE:Bn,C_BLOCK_COMMENT_MODE:En,HASH_COMMENT_MODE:sn,NUMBER_MODE:{scope:"number",begin:Wt,relevance:0},C_NUMBER_MODE:{scope:"number",begin:qt,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:$t,relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[An,{begin:/\[/,end:/\]/,relevance:0,contains:[An]}]}]},TITLE_MODE:{scope:"title",begin:Kt,relevance:0},UNDERSCORE_TITLE_MODE:{scope:"title",begin:Xt,relevance:0},METHOD_GUARD:{begin:"\\.\\s*"+Xt,relevance:0},END_SAME_AS_BEGIN:function(A){return Object.assign(A,{"on:begin":(A,e)=>{e.data._beginMatch=A[1]},"on:end":(A,e)=>{e.data._beginMatch!==A[1]&&e.ignoreMatch()}})}});function on(A,e){"."===A.input[A.index-1]&&e.ignoreMatch()}function cn(A){void 0!==A.className&&(A.scope=A.className,delete A.className)}function gn(A,e){e&&A.beginKeywords&&(A.begin="\\b("+A.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",A.__beforeBegin=on,A.keywords=A.keywords||A.beginKeywords,delete A.beginKeywords,void 0===A.relevance&&(A.relevance=0))}function Qn(A){Array.isArray(A.illegal)&&(A.illegal=Lt(...A.illegal))}function an(A){if(A.match){if(A.begin||A.end)throw new Error("begin & end are not supported with match");A.begin=A.match,delete A.match}}function ln(A){void 0===A.relevance&&(A.relevance=1)}const hn=A=>{if(!A.beforeMatch)return;if(A.starts)throw new Error("beforeMatch cannot be used with starts");const e=Object.assign({},A);Object.keys(A).forEach((e=>{delete A[e]})),A.keywords=e.keywords,A.begin=Vt(e.beforeMatch,jt(e.begin)),A.starts={relevance:0,contains:[Object.assign(e,{endsParent:!0})]},A.relevance=0,delete e.beforeMatch},Mn=["of","and","for","in","not","or","if","then","parent","list","value"],wn="keyword";function Rn(A,e,t=wn){const n=Object.create(null);return"string"==typeof A?i(t,A.split(" ")):Array.isArray(A)?i(t,A):Object.keys(A).forEach((function(t){Object.assign(n,Rn(A[t],e,t))})),n;function i(A,t){e&&(t=t.map((A=>A.toLowerCase()))),t.forEach((function(e){const t=e.split("|");n[t[0]]=[A,In(t[0],t[1])]}))}}function In(A,e){return e?Number(e):function(A){return Mn.includes(A.toLowerCase())}(A)?0:1}const un={},dn=A=>{console.error(A)},Gn=(A,...e)=>{console.log(`WARN: ${A}`,...e)},Cn=(A,e)=>{un[`${A}/${e}`]||(console.log(`Deprecated as of ${A}. ${e}`),un[`${A}/${e}`]=!0)},kn=new Error;function Dn(A,e,{key:t}){let n=0;const i=A[t],B={},E={};for(let A=1;A<=e.length;A++)E[A+n]=i[A],B[A+n]=!0,n+=vt(e[A-1]);A[t]=E,A[t]._emit=B,A[t]._multi=!0}function Yn(A){!function(A){A.scope&&"object"==typeof A.scope&&null!==A.scope&&(A.beginScope=A.scope,delete A.scope)}(A),"string"==typeof A.beginScope&&(A.beginScope={_wrap:A.beginScope}),"string"==typeof A.endScope&&(A.endScope={_wrap:A.endScope}),function(A){if(Array.isArray(A.begin)){if(A.skip||A.excludeBegin||A.returnBegin)throw dn("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),kn;if("object"!=typeof A.beginScope||null===A.beginScope)throw dn("beginScope must be object"),kn;Dn(A,A.begin,{key:"beginScope"}),A.begin=_t(A.begin,{joinWith:""})}}(A),function(A){if(Array.isArray(A.end)){if(A.skip||A.excludeEnd||A.returnEnd)throw dn("skip, excludeEnd, returnEnd not compatible with endScope: {}"),kn;if("object"!=typeof A.endScope||null===A.endScope)throw dn("endScope must be object"),kn;Dn(A,A.end,{key:"endScope"}),A.end=_t(A.end,{joinWith:""})}}(A)}function Fn(A){function e(e,t){return new RegExp(Jt(e),"m"+(A.case_insensitive?"i":"")+(A.unicodeRegex?"u":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(A,e){e.position=this.position++,this.matchIndexes[this.matchAt]=e,this.regexes.push([e,A]),this.matchAt+=vt(A)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const A=this.regexes.map((A=>A[1]));this.matcherRe=e(_t(A,{joinWith:"|"}),!0),this.lastIndex=0}exec(A){this.matcherRe.lastIndex=this.lastIndex;const e=this.matcherRe.exec(A);if(!e)return null;const t=e.findIndex(((A,e)=>e>0&&void 0!==A)),n=this.matchIndexes[t];return e.splice(0,t),Object.assign(e,n)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(A){if(this.multiRegexes[A])return this.multiRegexes[A];const e=new t;return this.rules.slice(A).forEach((([A,t])=>e.addRule(A,t))),e.compile(),this.multiRegexes[A]=e,e}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(A,e){this.rules.push([A,e]),"begin"===e.type&&this.count++}exec(A){const e=this.getMatcher(this.regexIndex);e.lastIndex=this.lastIndex;let t=e.exec(A);if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{const e=this.getMatcher(0);e.lastIndex=this.lastIndex+1,t=e.exec(A)}return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&this.considerAll()),t}}if(A.compilerExtensions||(A.compilerExtensions=[]),A.contains&&A.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return A.classNameAliases=bt(A.classNameAliases||{}),function t(i,B){const E=i;if(i.isCompiled)return E;[cn,an,Yn,hn].forEach((A=>A(i,B))),A.compilerExtensions.forEach((A=>A(i,B))),i.__beforeBegin=null,[gn,Qn,ln].forEach((A=>A(i,B))),i.isCompiled=!0;let s=null;return"object"==typeof i.keywords&&i.keywords.$pattern&&(i.keywords=Object.assign({},i.keywords),s=i.keywords.$pattern,delete i.keywords.$pattern),s=s||/\w+/,i.keywords&&(i.keywords=Rn(i.keywords,A.case_insensitive)),E.keywordPatternRe=e(s,!0),B&&(i.begin||(i.begin=/\B|\b/),E.beginRe=e(E.begin),i.end||i.endsWithParent||(i.end=/\B|\b/),i.end&&(E.endRe=e(E.end)),E.terminatorEnd=Jt(E.end)||"",i.endsWithParent&&B.terminatorEnd&&(E.terminatorEnd+=(i.end?"|":"")+B.terminatorEnd)),i.illegal&&(E.illegalRe=e(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((function(A){return function(A){return A.variants&&!A.cachedVariants&&(A.cachedVariants=A.variants.map((function(e){return bt(A,{variants:null},e)}))),A.cachedVariants?A.cachedVariants:Un(A)?bt(A,{starts:A.starts?bt(A.starts):null}):Object.isFrozen(A)?bt(A):A}("self"===A?i:A)}))),i.contains.forEach((function(A){t(A,E)})),i.starts&&t(i.starts,B),E.matcher=function(A){const e=new n;return A.contains.forEach((A=>e.addRule(A.begin,{rule:A,type:"begin"}))),A.terminatorEnd&&e.addRule(A.terminatorEnd,{type:"end"}),A.illegal&&e.addRule(A.illegal,{type:"illegal"}),e}(E),E}(A)}function Un(A){return!!A&&(A.endsWithParent||Un(A.starts))}class fn extends Error{constructor(A,e){super(A),this.name="HTMLInjectionError",this.html=e}}const Nn=yt,Sn=bt,mn=Symbol("nomatch"),yn=function(A){const e=Object.create(null),t=Object.create(null),n=[];let i=!0;const B="Could not find the language '{}', did you forget to load/include a language module?",E={disableAutodetect:!0,name:"Plain text",contains:[]};let s={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:pt};function r(A){return s.noHighlightRe.test(A)}function o(A,e,t){let n="",i="";"object"==typeof e?(n=A,t=e.ignoreIllegals,i=e.language):(Cn("10.7.0","highlight(lang, code, ...args) has been deprecated."),Cn("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),i=A,n=e),void 0===t&&(t=!0);const B={code:n,language:i};R("before:highlight",B);const E=B.result?B.result:c(B.language,B.code,t);return E.code=B.code,R("after:highlight",E),E}function c(A,t,n,E){const r=Object.create(null);function o(){if(!D.keywords)return void F.addText(U);let A=0;D.keywordPatternRe.lastIndex=0;let e=D.keywordPatternRe.exec(U),t="";for(;e;){t+=U.substring(A,e.index);const n=G.case_insensitive?e[0].toLowerCase():e[0],i=D.keywords[n];if(i){const[A,B]=i;F.addText(t),t="",r[n]=(r[n]||0)+1,r[n]<=7&&(f+=B),A.startsWith("_")?t+=e[0]:a(e[0],G.classNameAliases[A]||A)}else t+=e[0];A=D.keywordPatternRe.lastIndex,e=D.keywordPatternRe.exec(U)}t+=U.substring(A),F.addText(t)}function Q(){null!=D.subLanguage?function(){if(""===U)return;let A=null;if("string"==typeof D.subLanguage){if(!e[D.subLanguage])return void F.addText(U);A=c(D.subLanguage,U,!0,Y[D.subLanguage]),Y[D.subLanguage]=A._top}else A=g(U,D.subLanguage.length?D.subLanguage:null);D.relevance>0&&(f+=A.relevance),F.__addSublanguage(A._emitter,A.language)}():o(),U=""}function a(A,e){""!==A&&(F.startScope(e),F.addText(A),F.endScope())}function l(A,e){let t=1;const n=e.length-1;for(;t<=n;){if(!A._emit[t]){t++;continue}const n=G.classNameAliases[A[t]]||A[t],i=e[t];n?a(i,n):(U=i,o(),U=""),t++}}function M(A,e){return A.scope&&"string"==typeof A.scope&&F.openNode(G.classNameAliases[A.scope]||A.scope),A.beginScope&&(A.beginScope._wrap?(a(U,G.classNameAliases[A.beginScope._wrap]||A.beginScope._wrap),U=""):A.beginScope._multi&&(l(A.beginScope,e),U="")),D=Object.create(A,{parent:{value:D}}),D}function w(A,e,t){let n=function(A,e){const t=A&&A.exec(e);return t&&0===t.index}(A.endRe,t);if(n){if(A["on:end"]){const t=new mt(A);A["on:end"](e,t),t.isMatchIgnored&&(n=!1)}if(n){for(;A.endsParent&&A.parent;)A=A.parent;return A}}if(A.endsWithParent)return w(A.parent,e,t)}function R(A){return 0===D.matcher.regexIndex?(U+=A[0],1):(m=!0,0)}function I(A){const e=A[0],n=t.substring(A.index),i=w(D,A,n);if(!i)return mn;const B=D;D.endScope&&D.endScope._wrap?(Q(),a(e,D.endScope._wrap)):D.endScope&&D.endScope._multi?(Q(),l(D.endScope,A)):B.skip?U+=e:(B.returnEnd||B.excludeEnd||(U+=e),Q(),B.excludeEnd&&(U=e));do{D.scope&&F.closeNode(),D.skip||D.subLanguage||(f+=D.relevance),D=D.parent}while(D!==i.parent);return i.starts&&M(i.starts,A),B.returnEnd?0:e.length}let u={};function d(e,B){const E=B&&B[0];if(U+=e,null==E)return Q(),0;if("begin"===u.type&&"end"===B.type&&u.index===B.index&&""===E){if(U+=t.slice(B.index,B.index+1),!i){const e=new Error(`0 width match regex (${A})`);throw e.languageName=A,e.badRule=u.rule,e}return 1}if(u=B,"begin"===B.type)return function(A){const e=A[0],t=A.rule,n=new mt(t),i=[t.__beforeBegin,t["on:begin"]];for(const t of i)if(t&&(t(A,n),n.isMatchIgnored))return R(e);return t.skip?U+=e:(t.excludeBegin&&(U+=e),Q(),t.returnBegin||t.excludeBegin||(U=e)),M(t,A),t.returnBegin?0:e.length}(B);if("illegal"===B.type&&!n){const A=new Error('Illegal lexeme "'+E+'" for mode "'+(D.scope||"")+'"');throw A.mode=D,A}if("end"===B.type){const A=I(B);if(A!==mn)return A}if("illegal"===B.type&&""===E)return 1;if(S>1e5&&S>3*B.index)throw new Error("potential infinite loop, way more iterations than matches");return U+=E,E.length}const G=h(A);if(!G)throw dn(B.replace("{}",A)),new Error('Unknown language: "'+A+'"');const C=Fn(G);let k="",D=E||C;const Y={},F=new s.__emitter(s);!function(){const A=[];for(let e=D;e!==G;e=e.parent)e.scope&&A.unshift(e.scope);A.forEach((A=>F.openNode(A)))}();let U="",f=0,N=0,S=0,m=!1;try{if(G.__emitTokens)G.__emitTokens(t,F);else{for(D.matcher.considerAll();;){S++,m?m=!1:D.matcher.considerAll(),D.matcher.lastIndex=N;const A=D.matcher.exec(t);if(!A)break;const e=d(t.substring(N,A.index),A);N=A.index+e}d(t.substring(N))}return F.finalize(),k=F.toHTML(),{language:A,value:k,relevance:f,illegal:!1,_emitter:F,_top:D}}catch(e){if(e.message&&e.message.includes("Illegal"))return{language:A,value:Nn(t),illegal:!0,relevance:0,_illegalBy:{message:e.message,index:N,context:t.slice(N-100,N+100),mode:e.mode,resultSoFar:k},_emitter:F};if(i)return{language:A,value:Nn(t),illegal:!1,relevance:0,errorRaised:e,_emitter:F,_top:D};throw e}}function g(A,t){t=t||s.languages||Object.keys(e);const n=function(A){const e={value:Nn(A),illegal:!1,relevance:0,_top:E,_emitter:new s.__emitter(s)};return e._emitter.addText(A),e}(A),i=t.filter(h).filter(w).map((e=>c(e,A,!1)));i.unshift(n);const B=i.sort(((A,e)=>{if(A.relevance!==e.relevance)return e.relevance-A.relevance;if(A.language&&e.language){if(h(A.language).supersetOf===e.language)return 1;if(h(e.language).supersetOf===A.language)return-1}return 0})),[r,o]=B,g=r;return g.secondBest=o,g}function Q(A){let e=null;const n=function(A){let e=A.className+" ";e+=A.parentNode?A.parentNode.className:"";const t=s.languageDetectRe.exec(e);if(t){const e=h(t[1]);return e||(Gn(B.replace("{}",t[1])),Gn("Falling back to no-highlight mode for this block.",A)),e?t[1]:"no-highlight"}return e.split(/\s+/).find((A=>r(A)||h(A)))}(A);if(r(n))return;if(R("before:highlightElement",{el:A,language:n}),A.children.length>0&&(s.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(A)),s.throwUnescapedHTML))throw new fn("One of your code blocks includes unescaped HTML.",A.innerHTML);e=A;const i=e.textContent,E=n?o(i,{language:n,ignoreIllegals:!0}):g(i);A.innerHTML=E.value,function(A,e,n){const i=e&&t[e]||n;A.classList.add("hljs"),A.classList.add(`language-${i}`)}(A,n,E.language),A.result={language:E.language,re:E.relevance,relevance:E.relevance},E.secondBest&&(A.secondBest={language:E.secondBest.language,relevance:E.secondBest.relevance}),R("after:highlightElement",{el:A,result:E,text:i})}let a=!1;function l(){"loading"!==document.readyState?document.querySelectorAll(s.cssSelector).forEach(Q):a=!0}function h(A){return A=(A||"").toLowerCase(),e[A]||e[t[A]]}function M(A,{languageName:e}){"string"==typeof A&&(A=[A]),A.forEach((A=>{t[A.toLowerCase()]=e}))}function w(A){const e=h(A);return e&&!e.disableAutodetect}function R(A,e){const t=A;n.forEach((function(A){A[t]&&A[t](e)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){a&&l()}),!1),Object.assign(A,{highlight:o,highlightAuto:g,highlightAll:l,highlightElement:Q,highlightBlock:function(A){return Cn("10.7.0","highlightBlock will be removed entirely in v12.0"),Cn("10.7.0","Please use highlightElement now."),Q(A)},configure:function(A){s=Sn(s,A)},initHighlighting:()=>{l(),Cn("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){l(),Cn("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(t,n){let B=null;try{B=n(A)}catch(A){if(dn("Language definition for '{}' could not be registered.".replace("{}",t)),!i)throw A;dn(A),B=E}B.name||(B.name=t),e[t]=B,B.rawDefinition=n.bind(null,A),B.aliases&&M(B.aliases,{languageName:t})},unregisterLanguage:function(A){delete e[A];for(const e of Object.keys(t))t[e]===A&&delete t[e]},listLanguages:function(){return Object.keys(e)},getLanguage:h,registerAliases:M,autoDetection:w,inherit:Sn,addPlugin:function(A){!function(A){A["before:highlightBlock"]&&!A["before:highlightElement"]&&(A["before:highlightElement"]=e=>{A["before:highlightBlock"](Object.assign({block:e.el},e))}),A["after:highlightBlock"]&&!A["after:highlightElement"]&&(A["after:highlightElement"]=e=>{A["after:highlightBlock"](Object.assign({block:e.el},e))})}(A),n.push(A)},removePlugin:function(A){const e=n.indexOf(A);-1!==e&&n.splice(e,1)}}),A.debugMode=function(){i=!1},A.safeMode=function(){i=!0},A.versionString="11.8.0",A.regex={concat:Vt,lookahead:jt,either:Lt,optional:Pt,anyNumberOfTimes:Zt};for(const A in rn)"object"==typeof rn[A]&&St(rn[A]);return Object.assign(A,rn),A},bn=yn({});bn.newInstance=()=>yn({});var Hn=bn;bn.HighlightJS=bn,bn.default=bn;var Tn,zn,xn=(Tn=function(A){!function(){var e;function t(A){for(var e,t,n,i,B=1,E=[].slice.call(arguments),s=0,r=A.length,o="",c=!1,g=!1,Q=function(){return E[B++]},a=function(){for(var t="";/\d/.test(A[s]);)t+=A[s++],e=A[s];return t.length>0?parseInt(t):null};se?A+"_".repeat(e):this.options.classPrefix+A))},children:[]};this.stack[this.stack.length-1].children.push(e),this.stack.push(e)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const Vn={highlight:Zn,highlightAuto:function(A,e={}){const t=e.subset||Hn.listLanguages();let n=-1,i={type:"root",data:{language:null,relevance:0},children:[]};if("string"!=typeof A)throw pn("Expected `string` for value, got `%s`",A);for(;++ni.data.relevance&&(i=E)}return i},registerLanguage:function(A,e){Hn.registerLanguage(A,e)},registered:function(A){return Boolean(Hn.getLanguage(A))},listLanguages:function(){return Hn.listLanguages()},registerAlias:function(A,e){if("string"==typeof A)Hn.registerAliases(e,{languageName:A});else{let e;for(e in A)jn.call(A,e)&&Hn.registerAliases(A[e],{languageName:e})}}};Vn.registerLanguage("arduino",(function(A){const e={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},t=function(A){const e=A.regex,t=A.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",B="(?!struct)("+n+"|"+e.optional(i)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",E={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[A.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},A.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},r={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},o={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},A.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},t,A.C_BLOCK_COMMENT_MODE]},c={className:"title",begin:e.optional(i)+A.IDENT_RE,relevance:0},g=e.optional(i)+A.IDENT_RE+"\\s*\\(",Q={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},a={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,A.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},l=[a,o,E,t,A.C_BLOCK_COMMENT_MODE,r,s],h={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:Q,contains:l.concat([{begin:/\(/,end:/\)/,keywords:Q,contains:l.concat(["self"]),relevance:0}]),relevance:0};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:Q,illegal:".]/,contains:[{begin:n,keywords:Q,relevance:0},{begin:g,returnBegin:!0,contains:[c],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,r]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:Q,relevance:0,contains:[t,A.C_BLOCK_COMMENT_MODE,s,r,E,{begin:/\(/,end:/\)/,keywords:Q,relevance:0,contains:["self",t,A.C_BLOCK_COMMENT_MODE,s,r,E]}]},E,t,A.C_BLOCK_COMMENT_MODE,o]},a,l,[o,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",end:">",keywords:Q,contains:["self",E]},{begin:A.IDENT_RE+"::",keywords:Q},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}(A),n=t.keywords;return n.type=[...n.type,...e.type],n.literal=[...n.literal,...e.literal],n.built_in=[...n.built_in,...e.built_in],n._hints=e._hints,t.name="Arduino",t.aliases=["ino"],t.supersetOf="cpp",t})),Vn.registerLanguage("bash",(function(A){const e={},t={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[e]}]};Object.assign(e,{className:"variable",variants:[{begin:A.regex.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},t]});const n={className:"subst",begin:/\$\(/,end:/\)/,contains:[A.BACKSLASH_ESCAPE]},i={begin:/<<-?\s*(?=\w+)/,starts:{contains:[A.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},B={className:"string",begin:/"/,end:/"/,contains:[A.BACKSLASH_ESCAPE,e,n]};n.contains.push(B);const E={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},A.NUMBER_MODE,e]},s=A.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),r={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[A.inherit(A.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"],literal:["true","false"],built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]},contains:[s,A.SHEBANG(),r,E,A.HASH_COMMENT_MODE,i,{match:/(\/[a-z._-]+)+/},B,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},e]}})),Vn.registerLanguage("c",(function(A){const e=A.regex,t=A.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",B="("+n+"|"+e.optional(i)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",E={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[A.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},A.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},r={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},o={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},A.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},t,A.C_BLOCK_COMMENT_MODE]},c={className:"title",begin:e.optional(i)+A.IDENT_RE,relevance:0},g=e.optional(i)+A.IDENT_RE+"\\s*\\(",Q={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},a=[o,E,t,A.C_BLOCK_COMMENT_MODE,r,s],l={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:Q,contains:a.concat([{begin:/\(/,end:/\)/,keywords:Q,contains:a.concat(["self"]),relevance:0}]),relevance:0},h={begin:"("+B+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:Q,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:Q,relevance:0},{begin:g,returnBegin:!0,contains:[A.inherit(c,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:Q,relevance:0,contains:[t,A.C_BLOCK_COMMENT_MODE,s,r,E,{begin:/\(/,end:/\)/,keywords:Q,relevance:0,contains:["self",t,A.C_BLOCK_COMMENT_MODE,s,r,E]}]},E,t,A.C_BLOCK_COMMENT_MODE,o]};return{name:"C",aliases:["h"],keywords:Q,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},A.TITLE_MODE]}]),exports:{preprocessor:o,strings:s,keywords:Q}}})),Vn.registerLanguage("cpp",(function(A){const e=A.regex,t=A.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",B="(?!struct)("+n+"|"+e.optional(i)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",E={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[A.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},A.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},r={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},o={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},A.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},t,A.C_BLOCK_COMMENT_MODE]},c={className:"title",begin:e.optional(i)+A.IDENT_RE,relevance:0},g=e.optional(i)+A.IDENT_RE+"\\s*\\(",Q={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},a={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,A.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},l=[a,o,E,t,A.C_BLOCK_COMMENT_MODE,r,s],h={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:Q,contains:l.concat([{begin:/\(/,end:/\)/,keywords:Q,contains:l.concat(["self"]),relevance:0}]),relevance:0};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:Q,illegal:".]/,contains:[{begin:n,keywords:Q,relevance:0},{begin:g,returnBegin:!0,contains:[c],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,r]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:Q,relevance:0,contains:[t,A.C_BLOCK_COMMENT_MODE,s,r,E,{begin:/\(/,end:/\)/,keywords:Q,relevance:0,contains:["self",t,A.C_BLOCK_COMMENT_MODE,s,r,E]}]},E,t,A.C_BLOCK_COMMENT_MODE,o]},a,l,[o,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",end:">",keywords:Q,contains:["self",E]},{begin:A.IDENT_RE+"::",keywords:Q},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}})),Vn.registerLanguage("csharp",(function(A){const e={keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]),built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],literal:["default","false","null","true"]},t=A.inherit(A.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),n={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},B=A.inherit(i,{illegal:/\n/}),E={className:"subst",begin:/\{/,end:/\}/,keywords:e},s=A.inherit(E,{illegal:/\n/}),r={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},A.BACKSLASH_ESCAPE,s]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},E]},c=A.inherit(o,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]});E.contains=[o,r,i,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,n,A.C_BLOCK_COMMENT_MODE],s.contains=[c,r,B,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,n,A.inherit(A.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const g={variants:[o,r,i,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},Q={begin:"<",end:">",contains:[{beginKeywords:"in out"},t]},a=A.IDENT_RE+"(<"+A.IDENT_RE+"(\\s*,\\s*"+A.IDENT_RE+")*>)?(\\[\\])?",l={begin:"@"+A.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:e,illegal:/::/,contains:[A.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},g,n,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},t,Q,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[t,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[t,Q,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+a+"\\s+)+"+A.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:e,contains:[{beginKeywords:["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"].join(" "),relevance:0},{begin:A.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[A.TITLE_MODE,Q],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:e,relevance:0,contains:[g,n,A.C_BLOCK_COMMENT_MODE]},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},l]}})),Vn.registerLanguage("css",(function(A){const e=A.regex,t=(A=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:A.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:A.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(A),n=[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Ce.join("|")+")"},{begin:":(:)?("+ke.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+De.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...n,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...n,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Ge.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...n,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+de.join("|")+")\\b"}]}})),Vn.registerLanguage("diff",(function(A){const e=A.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}})),Vn.registerLanguage("go",(function(A){const e={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:e,illegal:")?",/~~~/g,2),i={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},B={className:"meta",begin:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},E={className:"params",begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[A.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/,contains:[A.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[A.BACKSLASH_ESCAPE]},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[E,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+n+"\\s+)",A.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[B,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,fe,A.C_BLOCK_COMMENT_MODE]},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},fe,B]}})),Vn.registerLanguage("javascript",(function(A){const e=A.regex,t=Se,n={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(A,e)=>{const t=A[0].length+A.index,n=A.input[t];if("<"===n||","===n)return void e.ignoreMatch();let i;">"===n&&(((A,{after:e})=>{const t="",F={match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(Y)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[R]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:w,CLASS_REFERENCE:u},illegal:/#(?![$_A-z])/,contains:[A.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,c,g,Q,a,l,{match:/\$\d+/},r,u,{className:"attr",begin:t+e.lookahead(":"),relevance:0},F,{begin:"("+A.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[l,A.REGEXP_MODE,{className:"function",begin:Y,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:A.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:w}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:n.begin,"on:begin":n.isTrulyOpeningTag,end:n.end}],subLanguage:"xml",contains:[{begin:n.begin,end:n.end,skip:!0,contains:["self"]}]}]},d,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+A.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[R,A.inherit(A.TITLE_MODE,{begin:t,className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[R]},G,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},I,D,{match:/\$[(.]/}]}})),Vn.registerLanguage("json",(function(A){const e=["true","false","null"],t={scope:"literal",beginKeywords:e.join(" ")};return{name:"JSON",keywords:{literal:e},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},A.QUOTE_STRING_MODE,t,A.C_NUMBER_MODE,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE],illegal:"\\S"}})),Vn.registerLanguage("kotlin",(function(A){const e={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},t={className:"symbol",begin:A.UNDERSCORE_IDENT_RE+"@"},n={className:"subst",begin:/\$\{/,end:/\}/,contains:[A.C_NUMBER_MODE]},i={className:"variable",begin:"\\$"+A.UNDERSCORE_IDENT_RE},B={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,n]},{begin:"'",end:"'",illegal:/\n/,contains:[A.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[A.BACKSLASH_ESCAPE,i,n]}]};n.contains.push(B);const E={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+A.UNDERSCORE_IDENT_RE+")?"},s={className:"meta",begin:"@"+A.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[A.inherit(B,{className:"string"}),"self"]}]},r=Ze,o=A.COMMENT("/\\*","\\*/",{contains:[A.C_BLOCK_COMMENT_MODE]}),c={variants:[{className:"type",begin:A.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},g=c;return g.variants[1].contains=[c],c.variants[1].contains=[g],{name:"Kotlin",aliases:["kt","kts"],keywords:e,contains:[A.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),A.C_LINE_COMMENT_MODE,o,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},t,E,s,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:e,relevance:5,contains:[{begin:A.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[A.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:e,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[c,A.C_LINE_COMMENT_MODE,o],relevance:0},A.C_LINE_COMMENT_MODE,o,E,s,B,A.C_NUMBER_MODE]},o]},{begin:[/class|interface|trait/,/\s+/,A.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},A.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},E,s]},B,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},r]}})),Vn.registerLanguage("less",(function(A){const e=(A=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:A.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:A.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(A),t=_e,n="[\\w-]+",i="("+n+"|@\\{"+n+"\\})",B=[],E=[],s=function(A){return{className:"string",begin:"~?"+A+".*?"+A}},r=function(A,e,t){return{className:A,begin:e,relevance:t}},o={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Ve.join(" ")},c={begin:"\\(",end:"\\)",contains:E,keywords:o,relevance:0};E.push(A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,s("'"),s('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},e.HEXCOLOR,c,r("variable","@@?"+n,10),r("variable","@\\{"+n+"\\}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:n+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},e.IMPORTANT,{beginKeywords:"and not"},e.FUNCTION_DISPATCH);const g=E.concat({begin:/\{/,end:/\}/,contains:B}),Q={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(E)},a={begin:i+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Oe.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:E}}]},l={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:o,returnEnd:!0,contains:E,relevance:0}},h={className:"variable",variants:[{begin:"@"+n+"\\s*:",relevance:15},{begin:"@"+n}],starts:{end:"[;}]",returnEnd:!0,contains:g}},M={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:i,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,Q,r("keyword","all\\b"),r("variable","@\\{"+n+"\\}"),{begin:"\\b("+Pe.join("|")+")\\b",className:"selector-tag"},e.CSS_NUMBER_MODE,r("selector-tag",i,0),r("selector-id","#"+i),r("selector-class","\\."+i,0),r("selector-tag","&",0),e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Le.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+ve.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:g},{begin:"!important"},e.FUNCTION_DISPATCH]},w={begin:n+":(:)?"+`(${t.join("|")})`,returnBegin:!0,contains:[M]};return B.push(A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,l,h,w,a,M,Q,e.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:B}})),Vn.registerLanguage("lua",(function(A){const e="\\[=*\\[",t="\\]=*\\]",n={begin:e,end:t,contains:["self"]},i=[A.COMMENT("--(?!"+e+")","$"),A.COMMENT("--"+e,t,{contains:[n],relevance:10})];return{name:"Lua",keywords:{$pattern:A.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[A.inherit(A.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:i}].concat(i)},A.C_NUMBER_MODE,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,{className:"string",begin:e,end:t,contains:[n],relevance:5}])}})),Vn.registerLanguage("makefile",(function(A){const e={className:"variable",variants:[{begin:"\\$\\("+A.UNDERSCORE_IDENT_RE+"\\)",contains:[A.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},t={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:A.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},n={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},i={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},B=A.inherit(n,{contains:[]}),E=A.inherit(i,{contains:[]});n.contains.push(E),i.contains.push(B);let s=[e,t];return[n,i,B,E].forEach((A=>{A.contains=A.contains.concat(s)})),s=s.concat(n,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:s},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:s}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},n,i,{className:"quote",begin:"^>\\s+",contains:s,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}})),Vn.registerLanguage("objectivec",(function(A){const e=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:e,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:{"variable.language":["this","super"],$pattern:e,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},illegal:"/,end:/$/,illegal:"\\n"},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t,contains:[A.UNDERSCORE_TITLE_MODE]},{begin:"\\."+A.UNDERSCORE_IDENT_RE,relevance:0}]}})),Vn.registerLanguage("perl",(function(A){const e=A.regex,t=/[dualxmsipngr]{0,12}/,n={$pattern:/[\w.]+/,keyword:["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"].join(" ")},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},B={begin:/->\{/,end:/\}/},E={variants:[{begin:/\$\d/},{begin:e.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},s=[A.BACKSLASH_ESCAPE,i,E],r=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],o=(A,n,i="\\1")=>{const B="\\1"===i?i:e.concat(i,n);return e.concat(e.concat("(?:",A,")"),n,/(?:\\.|[^\\\/])*?/,B,/(?:\\.|[^\\\/])*?/,i,t)},c=(A,n,i)=>e.concat(e.concat("(?:",A,")"),n,/(?:\\.|[^\\\/])*?/,i,t),g=[E,A.HASH_COMMENT_MODE,A.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),B,{className:"string",contains:s,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[A.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[A.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+A.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[A.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:o("s|tr|y",e.either(...r,{capture:!0}))},{begin:o("s|tr|y","\\(","\\)")},{begin:o("s|tr|y","\\[","\\]")},{begin:o("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:c("(?:m|qr)?",/\//,/\//)},{begin:c("m|qr",e.either(...r,{capture:!0}),/\1/)},{begin:c("m|qr",/\(/,/\)/)},{begin:c("m|qr",/\[/,/\]/)},{begin:c("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[A.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return i.contains=g,B.contains=g,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:g}})),Vn.registerLanguage("php",(function(A){const e=A.regex,t=/(?![A-Za-z0-9])(?![$])/,n=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),B={scope:"variable",match:"\\$+"+n},E={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},s=A.inherit(A.APOS_STRING_MODE,{illegal:null}),r="[ \t\n]",o={scope:"string",variants:[A.inherit(A.QUOTE_STRING_MODE,{illegal:null,contains:A.QUOTE_STRING_MODE.contains.concat(E)}),s,{begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:A.QUOTE_STRING_MODE.contains.concat(E),"on:begin":(A,e)=>{e.data._beginMatch=A[1]||A[2]},"on:end":(A,e)=>{e.data._beginMatch!==A[1]&&e.ignoreMatch()}},A.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},c={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},g=["false","null","true"],Q=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],a=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],l={keyword:Q,literal:(A=>{const e=[];return A.forEach((A=>{e.push(A),A.toLowerCase()===A?e.push(A.toUpperCase()):e.push(A.toLowerCase())})),e})(g),built_in:a},h=A=>A.map((A=>A.replace(/\|\d+$/,""))),M={variants:[{match:[/new/,e.concat(r,"+"),e.concat("(?!",h(a).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},w=e.concat(n,"\\b(?!\\()"),R={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),w],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,e.concat(/::/,e.lookahead(/(?!class\b)/)),w],scope:{1:"title.class",3:"variable.constant"}},{match:[i,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},I={scope:"attr",match:e.concat(n,e.lookahead(":"),e.lookahead(/(?!::)/))},u={relevance:0,begin:/\(/,end:/\)/,keywords:l,contains:[I,B,R,A.C_BLOCK_COMMENT_MODE,o,c,M]},d={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",h(Q).join("\\b|"),"|",h(a).join("\\b|"),"\\b)"),n,e.concat(r,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[u]};u.contains.push(d);const G=[I,R,A.C_BLOCK_COMMENT_MODE,o,c,M];return{case_insensitive:!1,keywords:l,contains:[{begin:e.concat(/#\[\s*/,i),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:g,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:g,keyword:["new","array"]},contains:["self",...G]},...G,{scope:"meta",match:i}]},A.HASH_COMMENT_MODE,A.COMMENT("//","$"),A.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:A.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},B,d,R,{match:[/const/,/\s/,n],scope:{1:"keyword",3:"variable.constant"}},M,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},A.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",B,R,A.C_BLOCK_COMMENT_MODE,o,c]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},A.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[A.inherit(A.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},A.UNDERSCORE_TITLE_MODE]},o,c]}})),Vn.registerLanguage("php-template",(function(A){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},A.inherit(A.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),A.inherit(A.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}})),Vn.registerLanguage("plaintext",(function(){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}})),Vn.registerLanguage("python",(function(A){const e=A.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,n=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:n,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},B={className:"meta",begin:/^(>>>|\.\.\.) /},E={className:"subst",begin:/\{/,end:/\}/,keywords:i,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[A.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[A.BACKSLASH_ESCAPE,B],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[A.BACKSLASH_ESCAPE,B],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[A.BACKSLASH_ESCAPE,B,s,E]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[A.BACKSLASH_ESCAPE,B,s,E]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[A.BACKSLASH_ESCAPE,s,E]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[A.BACKSLASH_ESCAPE,s,E]},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},o="[0-9](_?[0-9])*",c=`(\\b(${o}))?\\.(${o})|\\b(${o})\\.`,g=`\\b|${n.join("|")}`,Q={className:"number",relevance:0,variants:[{begin:`(\\b(${o})|(${c}))[eE][+-]?(${o})[jJ]?(?=${g})`},{begin:`(${c})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${o})[jJ](?=${g})`}]},a={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},l={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",B,Q,r,A.HASH_COMMENT_MODE]}]};return E.contains=[r,Q,B],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i,illegal:/(<\/|\?)|=>/,contains:[B,Q,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},r,a,A.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[l]},{variants:[{match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[Q,l,r]}]}})),Vn.registerLanguage("python-repl",(function(){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}})),Vn.registerLanguage("r",(function(A){const e=A.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,n=e.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,B=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:t,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[A.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),A.HASH_COMMENT_MODE,{scope:"string",contains:[A.BACKSLASH_ESCAPE],variants:[A.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),A.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),A.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),A.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),A.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),A.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[i,n]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,n]},{scope:{1:"punctuation",2:"number"},match:[B,n]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,n]}]},{scope:{3:"operator"},match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:B},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}})),Vn.registerLanguage("ruby",(function(A){const e=A.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",n=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=e.concat(n,/(::\w+)*/),B={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},E={className:"doctag",begin:"@[A-Za-z]+"},s={begin:"#<",end:">"},r=[A.COMMENT("#","$",{contains:[E]}),A.COMMENT("^=begin","^=end",{contains:[E],relevance:10}),A.COMMENT("^__END__",A.MATCH_NOTHING_RE)],o={className:"subst",begin:/#\{/,end:/\}/,keywords:B},c={className:"string",contains:[A.BACKSLASH_ESCAPE,o],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[A.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[A.BACKSLASH_ESCAPE,o]})]}]},g="[0-9](_?[0-9])*",Q={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:B}]},a=[c,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:B},{match:[/(include|extend)\s+/,i],scope:{2:"title.class"},keywords:B},{relevance:0,match:[i,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:n,scope:"title.class"},{match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[Q]},{begin:A.IDENT_RE+"::"},{className:"symbol",begin:A.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[c,{begin:t}],relevance:0},{className:"number",relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:B},{begin:"("+A.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[A.BACKSLASH_ESCAPE,o],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(s,r),relevance:0}].concat(s,r);o.contains=a,Q.contains=a;const l=[{begin:/^\s*=>/,starts:{end:"$",contains:a}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:B,contains:a}}];return r.unshift(s),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:B,illegal:/\/\*/,contains:[A.SHEBANG({binary:"ruby"})].concat(l).concat(r).concat(a)}})),Vn.registerLanguage("rust",(function(A){const e=A.regex,t={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let\b)/,A.IDENT_RE,e.lookahead(/\s*\(/))},n="([ui](8|16|32|64|128|size)|f(32|64))?",i=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],B=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:A.IDENT_RE+"!?",type:B,keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"],literal:["true","false","Some","None","Ok","Err"],built_in:i},illegal:""},t]}})),Vn.registerLanguage("scss",(function(A){const e=(A=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:A.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:A.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(A),t=qe,n=We,i="@[a-z-]+",B={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,e.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Ke.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+n.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+t.join("|")+")"},B,{begin:/\(/,end:/\)/,contains:[e.CSS_NUMBER_MODE]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+$e.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[e.BLOCK_COMMENT,B,e.HEXCOLOR,e.CSS_NUMBER_MODE,A.QUOTE_STRING_MODE,A.APOS_STRING_MODE,e.IMPORTANT,e.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Xe.join(" ")},contains:[{begin:i,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},B,A.QUOTE_STRING_MODE,A.APOS_STRING_MODE,e.HEXCOLOR,e.CSS_NUMBER_MODE]},e.FUNCTION_DISPATCH]}})),Vn.registerLanguage("shell",(function(){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}})),Vn.registerLanguage("sql",(function(A){const e=A.regex,t=A.COMMENT("--","$"),n=["true","false","unknown"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],B=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],E=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],s=B,r=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((A=>!B.includes(A))),o={begin:e.concat(/\b/,e.either(...s),/\s*\(/),relevance:0,keywords:{built_in:s}};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(A,{exceptions:e,when:t}={}){const n=t;return e=e||[],A.map((A=>A.match(/\|\d+$/)||e.includes(A)?A:n(A)?`${A}|0`:A))}(r,{when:A=>A.length<3}),literal:n,type:i,built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{begin:e.either(...E),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:r.concat(E),literal:n,type:i}},{className:"type",begin:e.either("double precision","large object","with timezone","without timezone")},o,{className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},{className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{begin:/""/}]},A.C_NUMBER_MODE,A.C_BLOCK_COMMENT_MODE,t,{className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}})),Vn.registerLanguage("swift",(function(A){const e={match:/\s+/,relevance:0},t=A.COMMENT("/\\*","\\*/",{contains:["self"]}),n=[A.C_LINE_COMMENT_MODE,t],i={match:[/\./,nt(...Bt,...Et)],className:{2:"keyword"}},B={match:tt(/\./,nt(...rt)),relevance:0},E=rt.filter((A=>"string"==typeof A)).concat(["_|0"]),s={variants:[{className:"keyword",match:nt(...rt.filter((A=>"string"!=typeof A)).concat(st).map(it),...Et)}]},r={$pattern:nt(/\b\w+/,/#\w+/),keyword:E.concat(gt),literal:ot},o=[i,B,s],c=[{match:tt(/\./,nt(...Qt)),relevance:0},{className:"built_in",match:tt(/\b/,nt(...Qt),/(?=\()/)}],g={match:/->/,relevance:0},Q=[g,{className:"operator",relevance:0,variants:[{match:ht},{match:`\\.(\\.|${lt})+`}]}],a="([0-9]_*)+",l="([0-9a-fA-F]_*)+",h={className:"number",relevance:0,variants:[{match:`\\b(${a})(\\.(${a}))?([eE][+-]?(${a}))?\\b`},{match:`\\b0x(${l})(\\.(${l}))?([pP][+-]?(${a}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},M=(A="")=>({className:"subst",variants:[{match:tt(/\\/,A,/[0\\tnr"']/)},{match:tt(/\\/,A,/u\{[0-9a-fA-F]{1,8}\}/)}]}),w=(A="")=>({className:"subst",match:tt(/\\/,A,/[\t ]*(?:[\r\n]|\r\n)/)}),R=(A="")=>({className:"subst",label:"interpol",begin:tt(/\\/,A,/\(/),end:/\)/}),I=(A="")=>({begin:tt(A,/"""/),end:tt(/"""/,A),contains:[M(A),w(A),R(A)]}),u=(A="")=>({begin:tt(A,/"/),end:tt(/"/,A),contains:[M(A),R(A)]}),d={className:"string",variants:[I(),I("#"),I("##"),I("###"),u(),u("#"),u("##"),u("###")]},G={match:tt(/`/,Rt,/`/)},C=[G,{className:"variable",match:/\$\d+/},{className:"variable",match:`\\$${wt}+`}],k=[{match:/(@|#(un)?)available/,className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:dt,contains:[...Q,h,d]}]}},{className:"keyword",match:tt(/@/,nt(...ut))},{className:"meta",match:tt(/@/,Rt)}],D={match:et(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:tt(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,wt,"+")},{className:"type",match:It,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:tt(/\s+&\s+/,et(It)),relevance:0}]},Y={begin://,keywords:r,contains:[...n,...o,...k,g,D]};D.contains.push(Y);const F={begin:/\(/,end:/\)/,relevance:0,keywords:r,contains:["self",{match:tt(Rt,/\s*:/),keywords:"_|0",relevance:0},...n,...o,...c,...Q,h,d,...C,...k,D]},U={begin://,contains:[...n,D]},f={begin:/\(/,end:/\)/,keywords:r,contains:[{begin:nt(et(tt(Rt,/\s*:/)),et(tt(Rt,/\s+/,Rt,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Rt}]},...n,...o,...Q,h,d,...k,D,F],endsParent:!0,illegal:/["']/},N={match:[/func/,/\s+/,nt(G.match,Rt,ht)],className:{1:"keyword",3:"title.function"},contains:[U,f,e],illegal:[/\[/,/%/]},S={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[U,f,e],illegal:/\[|%/},m={match:[/operator/,/\s+/,ht],className:{1:"keyword",3:"title"}},y={begin:[/precedencegroup/,/\s+/,It],className:{1:"keyword",3:"title"},contains:[D],keywords:[...ct,...ot],end:/}/};for(const A of d.variants){const e=A.contains.find((A=>"interpol"===A.label));e.keywords=r;const t=[...o,...c,...Q,h,d,...C];e.contains=[...t,{begin:/\(/,end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:r,contains:[...n,N,S,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:r,contains:[A.inherit(A.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...o]},m,y,{beginKeywords:"import",end:/$/,contains:[...n],relevance:0},...o,...c,...Q,h,d,...C,...k,D,F]}})),Vn.registerLanguage("typescript",(function(A){const e=Nt(A),t=Gt,n=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],i={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[e.exports.CLASS_REFERENCE]},B={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:n},contains:[e.exports.CLASS_REFERENCE]},E={$pattern:Gt,keyword:Ct.concat(["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"]),literal:kt,built_in:ft.concat(n),"variable.language":Ut},s={className:"meta",begin:"@"+t},r=(A,e,t)=>{const n=A.contains.findIndex((A=>A.label===e));if(-1===n)throw new Error("can not find mode to replace");A.contains.splice(n,1,t)};return Object.assign(e.keywords,E),e.exports.PARAMS_CONTAINS.push(s),e.contains=e.contains.concat([s,i,B]),r(e,"shebang",A.SHEBANG()),r(e,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),e.contains.find((A=>"func.def"===A.label)).relevance=0,Object.assign(e,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),e})),Vn.registerLanguage("vbnet",(function(A){const e=A.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,n=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,B=/\d{1,2}(:\d{1,2}){1,2}/,E={className:"literal",variants:[{begin:e.concat(/# */,e.either(n,t),/ *#/)},{begin:e.concat(/# */,B,/ *#/)},{begin:e.concat(/# */,i,/ *#/)},{begin:e.concat(/# */,e.either(n,t),/ +/,e.either(i,B),/ *#/)}]},s=A.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),r=A.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},E,{className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{className:"label",begin:/^\w+:/},s,r,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[r]}]}})),Vn.registerLanguage("wasm",(function(A){const e=A.COMMENT(/\(;/,/;\)/);return e.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"]},contains:[A.COMMENT(/;;/,/$/),e,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},A.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},{className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/},{className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/}]}})),Vn.registerLanguage("xml",(function(A){const e=A.regex,t=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},B=A.inherit(i,{begin:/\(/,end:/\)/}),E=A.inherit(A.APOS_STRING_MODE,{className:"string"}),s=A.inherit(A.QUOTE_STRING_MODE,{className:"string"}),r={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[i,s,E,B,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[i,B,s,E]}]}]},A.COMMENT(//,{relevance:10}),{begin://,relevance:10},n,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[s]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[r],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[r],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:r}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}})),Vn.registerLanguage("yaml",(function(A){const e="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",n={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[A.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=A.inherit(n,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),B={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},E=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type",begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t},{className:"meta",begin:"&"+A.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+A.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},A.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:A.C_NUMBER_RE+"\\b",relevance:0},{begin:/\{/,end:/\}/,contains:[B],illegal:"\\n",relevance:0},{begin:"\\[",end:"\\]",contains:[B],illegal:"\\n",relevance:0},n],s=[...E];return s.pop(),s.push(i),B.contains=s,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:E}}));const Ln=Object.freeze({__proto__:null,lowlight:Vn}),vn=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,On=R.create({name:"image",addOptions:()=>({inline:!1,allowBase64:!1,HTMLAttributes:{}}),inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes:()=>({src:{default:null},alt:{default:null},title:{default:null}}),parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:A}){return["img",l(this.options.HTMLAttributes,A)]},addCommands(){return{setImage:A=>({commands:e})=>e.insertContent({type:this.name,attrs:A})}},addInputRules(){return[F({find:vn,type:this.type,getAttributes:A=>{const[,,e,t,n]=A;return{src:t,alt:e,title:n}}})]}}),_n="aaa1rp3barth4b0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0faromeo7ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re2s2c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y0eats7k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking0channel11l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t0isalat7u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0at2delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d0network8tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntdoor4ier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5gtv3iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0eles2s3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1nder2le4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster5ia3d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4de2k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0cys3drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7serati6ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic3tual5v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rthwesternmutual14on4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3ssagens7y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cher3ks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w0time7i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ffany5ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0channel7ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lkswagen7vo3te1ing3o2yage5u0elos6wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",Kn="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5تصالات6رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",Xn=(A,e)=>{for(const t in e)A[t]=e[t];return A},Wn="numeric",qn="ascii",$n="alpha",Ai="asciinumeric",ei="alphanumeric",ti="domain",ni="emoji",ii="scheme",Bi="slashscheme",Ei="whitespace";function si(A,e){return A in e||(e[A]=[]),e[A]}function ri(A,e,t){e[Wn]&&(e[Ai]=!0,e[ei]=!0),e[qn]&&(e[Ai]=!0,e[$n]=!0),e[Ai]&&(e[ei]=!0),e[$n]&&(e[ei]=!0),e[ei]&&(e[ti]=!0),e[ni]&&(e[ti]=!0);for(const n in e){const e=si(n,t);e.indexOf(A)<0&&e.push(A)}}function oi(A){void 0===A&&(A=null),this.j={},this.jr=[],this.jd=null,this.t=A}oi.groups={},oi.prototype={accepts(){return!!this.t},go(A){const e=this,t=e.j[A];if(t)return t;for(let t=0;t=0&&(t[n]=!0);return t}(E.t,n),t);ri(B,A,n)}else t&&ri(B,t,n);E.t=B}return i.j[A]=E,E}};const ci=(A,e,t,n,i)=>A.ta(e,t,n,i),gi=(A,e,t,n,i)=>A.tr(e,t,n,i),Qi=(A,e,t,n,i)=>A.ts(e,t,n,i),ai=(A,e,t,n,i)=>A.tt(e,t,n,i),li="WORD",hi="UWORD",Mi="LOCALHOST",wi="TLD",Ri="UTLD",Ii="SCHEME",ui="SLASH_SCHEME",di="NUM",Gi="WS",Ci="NL",ki="OPENBRACE",Di="OPENBRACKET",Yi="OPENANGLEBRACKET",Fi="OPENPAREN",Ui="CLOSEBRACE",fi="CLOSEBRACKET",Ni="CLOSEANGLEBRACKET",Si="CLOSEPAREN",mi="AMPERSAND",yi="APOSTROPHE",bi="ASTERISK",Hi="AT",Ti="BACKSLASH",zi="BACKTICK",xi="CARET",pi="COLON",Ji="COMMA",ji="DOLLAR",Zi="DOT",Pi="EQUALS",Vi="EXCLAMATION",Li="HYPHEN",vi="PERCENT",Oi="PIPE",_i="PLUS",Ki="POUND",Xi="QUERY",Wi="QUOTE",qi="SEMI",$i="SLASH",AB="TILDE",eB="UNDERSCORE",tB="EMOJI",nB="SYM";var iB=Object.freeze({__proto__:null,WORD:li,UWORD:hi,LOCALHOST:Mi,TLD:wi,UTLD:Ri,SCHEME:Ii,SLASH_SCHEME:ui,NUM:di,WS:Gi,NL:Ci,OPENBRACE:ki,OPENBRACKET:Di,OPENANGLEBRACKET:Yi,OPENPAREN:Fi,CLOSEBRACE:Ui,CLOSEBRACKET:fi,CLOSEANGLEBRACKET:Ni,CLOSEPAREN:Si,AMPERSAND:mi,APOSTROPHE:yi,ASTERISK:bi,AT:Hi,BACKSLASH:Ti,BACKTICK:zi,CARET:xi,COLON:pi,COMMA:Ji,DOLLAR:ji,DOT:Zi,EQUALS:Pi,EXCLAMATION:Vi,HYPHEN:Li,PERCENT:vi,PIPE:Oi,PLUS:_i,POUND:Ki,QUERY:Xi,QUOTE:Wi,SEMI:qi,SLASH:$i,TILDE:AB,UNDERSCORE:eB,EMOJI:tB,SYM:nB});const BB=/[a-z]/,EB=/\p{L}/u,sB=/\p{Emoji}/u,rB=/\d/,oB=/\s/,cB="\n",gB="️",QB="‍";let aB=null,lB=null;function hB(A,e,t,n,i){let B;const E=e.length;for(let t=0;t=0;)i++;if(i>0){e.push(t.join(""));for(let e=parseInt(A.substring(n,n+i),10);e>0;e--)t.pop();n+=i}else t.push(A[n]),n++}return e}const wB={defaultProtocol:"http",events:null,format:IB,formatHref:IB,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function RB(A,e){void 0===e&&(e=null);let t=Xn({},wB);A&&(t=Xn(t,A instanceof RB?A.o:A));const n=t.ignoreTags,i=[];for(let A=0;AA,check(A){return this.get("validate",A.toString(),A)},get(A,e,t){const n=null!=e;let i=this.o[A];return i?("object"==typeof i?(i=t.t in i?i[t.t]:wB[A],"function"==typeof i&&n&&(i=i(e,t))):"function"==typeof i&&n&&(i=i(e,t.t,t)),i):i},getObj(A,e,t){let n=this.o[A];return"function"==typeof n&&null!=e&&(n=n(e,t.t,t)),n},render(A){const e=A.render(this);return(this.get("render",null,A)||this.defaultRender)(e,A.t,A)}},uB.prototype={isLink:!1,toString(){return this.v},toHref(A){return this.toString()},toFormattedString(A){const e=this.toString(),t=A.get("truncate",e,this),n=A.get("format",e,this);return t&&n.length>t?n.substring(0,t)+"…":n},toFormattedHref(A){return A.get("formatHref",this.toHref(A.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(A){return void 0===A&&(A=wB.defaultProtocol),{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(A),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(A){return{type:this.t,value:this.toFormattedString(A),isLink:this.isLink,href:this.toFormattedHref(A),start:this.startIndex(),end:this.endIndex()}},validate(A){return A.get("validate",this.toString(),this)},render(A){const e=this,t=this.toHref(A.get("defaultProtocol")),n=A.get("formatHref",t,this),i=A.get("tagName",t,e),B=this.toFormattedString(A),E={},s=A.get("className",t,e),r=A.get("target",t,e),o=A.get("rel",t,e),c=A.getObj("attributes",t,e),g=A.getObj("events",t,e);return E.href=n,s&&(E.class=s),r&&(E.target=r),o&&(E.rel=o),c&&Xn(E,c),{tagName:i,attributes:E,content:B,eventListeners:g}}};const GB=dB("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),CB=dB("text"),kB=dB("nl"),DB=dB("url",{isLink:!0,toHref(A){return void 0===A&&(A=wB.defaultProtocol),this.hasProtocol()?this.v:`${A}://${this.v}`},hasProtocol(){const A=this.tk;return A.length>=2&&A[0].t!==Mi&&A[1].t===pi}}),YB=A=>new oi(A);function FB(A,e,t){return new A(e.slice(t[0].s,t[t.length-1].e),t)}const UB="undefined"!=typeof console&&console&&console.warn||(()=>{}),fB={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function NB(A,e){if(void 0===e&&(e=!1),fB.initialized&&UB(`linkifyjs: already initialized - will not register custom scheme "${A}" until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(A))throw new Error('linkifyjs: incorrect scheme format.\n 1. Must only contain digits, lowercase ASCII letters or "-"\n 2. Cannot start or end with "-"\n 3. "-" cannot repeat');fB.customSchemes.push([A,e])}function SB(A){return fB.initialized||function(){fB.scanner=function(A){void 0===A&&(A=[]);const e={};oi.groups=e;const t=new oi;null==aB&&(aB=MB(_n)),null==lB&&(lB=MB(Kn)),ai(t,"'",yi),ai(t,"{",ki),ai(t,"[",Di),ai(t,"<",Yi),ai(t,"(",Fi),ai(t,"}",Ui),ai(t,"]",fi),ai(t,">",Ni),ai(t,")",Si),ai(t,"&",mi),ai(t,"*",bi),ai(t,"@",Hi),ai(t,"`",zi),ai(t,"^",xi),ai(t,":",pi),ai(t,",",Ji),ai(t,"$",ji),ai(t,".",Zi),ai(t,"=",Pi),ai(t,"!",Vi),ai(t,"-",Li),ai(t,"%",vi),ai(t,"|",Oi),ai(t,"+",_i),ai(t,"#",Ki),ai(t,"?",Xi),ai(t,'"',Wi),ai(t,"/",$i),ai(t,";",qi),ai(t,"~",AB),ai(t,"_",eB),ai(t,"\\",Ti);const n=gi(t,rB,di,{[Wn]:!0});gi(n,rB,n);const i=gi(t,BB,li,{[qn]:!0});gi(i,BB,i);const B=gi(t,EB,hi,{[$n]:!0});gi(B,BB),gi(B,EB,B);const E=gi(t,oB,Gi,{[Ei]:!0});ai(t,cB,Ci,{[Ei]:!0}),ai(E,cB),gi(E,oB,E);const s=gi(t,sB,tB,{[ni]:!0});gi(s,sB,s),ai(s,gB,s);const r=ai(s,QB);gi(r,sB,s);const o=[[BB,i]],c=[[BB,null],[EB,B]];for(let A=0;AA[0]>e[0]?1:-1));for(let e=0;e=0?i[ti]=!0:BB.test(n)?rB.test(n)?i[Ai]=!0:i[qn]=!0:i[Wn]=!0,Qi(t,n,n,i)}return Qi(t,"localhost",Mi,{ascii:!0}),t.jd=new oi(nB),{start:t,tokens:Xn({groups:e},iB)}}(fB.customSchemes);for(let A=0;A=0&&Q++,i++,c++;if(Q<0)i-=c,i0&&(B.push(FB(CB,e,E)),E=[]),i-=Q,c-=Q;const A=g.t,n=t.slice(i-c,i);B.push(FB(A,e,n))}}return E.length>0&&B.push(FB(CB,e,E)),B}(fB.parser.start,A,function(A,e){const t=function(A){const e=[],t=A.length;let n=0;for(;n56319||n+1===t||(i=A.charCodeAt(n+1))<56320||i>57343?A[n]:A.slice(n,n+2);e.push(E),n+=E.length}return e}(e.replace(/[A-Z]/g,(A=>A.toLowerCase()))),n=t.length,i=[];let B=0,E=0;for(;E=0&&(g+=t[E].length,Q++),o+=t[E].length,B+=t[E].length,E++;B-=g,E-=Q,o-=g,i.push({t:c.t,v:e.slice(B-o,B),s:B-o,e:B})}return i}(fB.scanner.start,A))}function mB(A,e,t){if(void 0===e&&(e=null),void 0===t&&(t=null),e&&"object"==typeof e){if(t)throw Error(`linkifyjs: Invalid link type ${e}; must be a string`);t=e,e=null}const n=new RB(t),i=SB(A),B=[];for(let A=0;A{"string"!=typeof A?NB(A.scheme,A.optionalSlashes):NB(A)}))},onDestroy(){oi.groups={},fB.scanner=null,fB.parser=null,fB.tokenQueue=[],fB.pluginQueue=[],fB.customSchemes=[],fB.initialized=!1},inclusive(){return this.options.autolink},addOptions:()=>({openOnClick:!0,linkOnPaste:!0,autolink:!0,protocols:[],HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},validate:void 0}),addAttributes(){return{href:{default:null},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML:()=>[{tag:'a[href]:not([href *= "javascript:" i])'}],renderHTML({HTMLAttributes:A}){var e;return(null===(e=A.href)||void 0===e?void 0:e.startsWith("javascript:"))?["a",l(this.options.HTMLAttributes,{...A,href:""}),0]:["a",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setLink:A=>({chain:e})=>e().setMark(this.name,A).setMeta("preventAutolink",!0).run(),toggleLink:A=>({chain:e})=>e().toggleMark(this.name,A,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run(),unsetLink:()=>({chain:A})=>A().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[w({find:A=>mB(A).filter((A=>!this.options.validate||this.options.validate(A.value))).filter((A=>A.isLink)).map((A=>({text:A.value,index:A.start,data:A}))),type:this.type,getAttributes:(A,e)=>{var t,n;const i=null===(t=null==e?void 0:e.clipboardData)||void 0===t?void 0:t.getData("text/html"),B=null==i?void 0:i.match(/href="([^"]*)"/);return B?{href:B[1]}:{href:null===(n=A.data)||void 0===n?void 0:n.href}}})]},addProseMirrorPlugins(){const A=[];var e;return this.options.autolink&&A.push((e={type:this.type,validate:this.options.validate},new E({key:new s("autolink"),appendTransaction:(A,t,n)=>{const i=A.some((A=>A.docChanged))&&!t.doc.eq(n.doc),B=A.some((A=>A.getMeta("preventAutolink")));if(!i||B)return;const{tr:E}=n,s=U(t.doc,[...A]);return f(s).forEach((({newRange:A})=>{const t=N(n.doc,A,(A=>A.isTextblock));let i,B;if(t.length>1?(i=t[0],B=n.doc.textBetween(i.pos,i.pos+i.node.nodeSize,void 0," ")):t.length&&n.doc.textBetween(A.from,A.to," "," ").endsWith(" ")&&(i=t[0],B=n.doc.textBetween(i.pos,A.to,void 0," ")),i&&B){const A=B.split(" ").filter((A=>""!==A));if(A.length<=0)return!1;const t=A[A.length-1],s=i.pos+B.lastIndexOf(t);if(!t)return!1;mB(t).filter((A=>A.isLink)).map((A=>({...A,from:s+A.start+1,to:s+A.end+1}))).filter((A=>!n.schema.marks.code||!n.doc.rangeHasMark(A.from,A.to,n.schema.marks.code))).filter((A=>!e.validate||e.validate(A.value))).forEach((A=>{S(A.from,A.to,n.doc).some((A=>A.mark.type===e.type))||E.addMark(A.from,A.to,e.type.create({href:A.href}))}))}})),E.steps.length?E:void 0}}))),this.options.openOnClick&&A.push(function(A){return new E({key:new s("handleClickLink"),props:{handleClick:(e,t,n)=>{var i,B;if(0!==n.button)return!1;if("A"!==n.target.nodeName)return!1;const E=m(e.state,A.type.name),s=n.target,r=null!==(i=null==s?void 0:s.href)&&void 0!==i?i:E.href,o=null!==(B=null==s?void 0:s.target)&&void 0!==B?B:E.target;return!(!s||!r||(e.editable&&window.open(r,o),0))}}})}({type:this.type})),this.options.linkOnPaste&&A.push(function(A){return new E({key:new s("handlePasteLink"),props:{handlePaste:(e,t,n)=>{var i;const{state:B}=e,{selection:E}=B,{empty:s}=E;if(s)return!1;let r="";n.content.forEach((A=>{r+=A.textContent}));const o=mB(r).find((A=>A.isLink&&A.value===r));if(!r||!o)return!1;const c=null===(i=t.clipboardData)||void 0===i?void 0:i.getData("text/html"),g=null==c?void 0:c.match(/href="([^"]*)"/);return A.editor.commands.setMark(A.type,{href:g?g[1]:o.href}),!0}}})}({editor:this.editor,type:this.type})),A}}),bB=a.create({name:"superscript",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"sup"},{style:"vertical-align",getAttrs:A=>"super"===A&&null}],renderHTML({HTMLAttributes:A}){return["sup",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setSuperscript:()=>({commands:A})=>A.setMark(this.name),toggleSuperscript:()=>({commands:A})=>A.toggleMark(this.name),unsetSuperscript:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-.":()=>this.editor.commands.toggleSuperscript()}}}),HB=a.create({name:"subscript",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"sub"},{style:"vertical-align",getAttrs:A=>"sub"===A&&null}],renderHTML({HTMLAttributes:A}){return["sub",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setSubscript:()=>({commands:A})=>A.setMark(this.name),toggleSubscript:()=>({commands:A})=>A.toggleMark(this.name),unsetSubscript:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),TB=Q.create({name:"textAlign",addOptions:()=>({types:[],alignments:["left","center","right","justify"],defaultAlignment:"left"}),addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:A=>A.style.textAlign||this.options.defaultAlignment,renderHTML:A=>A.textAlign===this.options.defaultAlignment?{}:{style:`text-align: ${A.textAlign}`}}}}]},addCommands(){return{setTextAlign:A=>({commands:e})=>!!this.options.alignments.includes(A)&&this.options.types.every((t=>e.updateAttributes(t,{textAlign:A}))),unsetTextAlign:()=>({commands:A})=>this.options.types.every((e=>A.resetAttributes(e,"textAlign")))}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),zB=Q.create({name:"placeholder",addOptions:()=>({emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something …",showOnlyWhenEditable:!0,showOnlyCurrent:!0,includeChildren:!1}),addProseMirrorPlugins(){return[new E({key:new s("placeholder"),props:{decorations:({doc:A,selection:e})=>{const t=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:n}=e,i=[];if(!t)return null;const B=A.type.createAndFill(),E=(null==B?void 0:B.sameMarkup(A))&&null===B.content.findDiffStart(A.content);return A.descendants(((A,e)=>{const t=n>=e&&n<=e+A.nodeSize;if((t||!this.options.showOnlyCurrent)&&!A.isLeaf&&!A.childCount){const n=[this.options.emptyNodeClass];E&&n.push(this.options.emptyEditorClass);const B=Y.node(e,e+A.nodeSize,{class:n.join(" "),"data-placeholder":"function"==typeof this.options.placeholder?this.options.placeholder({editor:this.editor,node:A,pos:e,hasAnchor:t}):this.options.placeholder});i.push(B)}return this.options.includeChildren})),k.create(A,i)}}})]}}),xB=a.create({name:"underline",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:A=>!!A.includes("underline")&&{}}],renderHTML({HTMLAttributes:A}){return["u",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setUnderline:()=>({commands:A})=>A.setMark(this.name),toggleUnderline:()=>({commands:A})=>A.toggleMark(this.name),unsetUnderline:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),pB=Q.create({name:"color",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:A=>{var e;return null===(e=A.style.color)||void 0===e?void 0:e.replace(/['"]+/g,"")},renderHTML:A=>A.color?{style:`color: ${A.color}`}:{}}}}]},addCommands:()=>({setColor:A=>({chain:e})=>e().setMark("textStyle",{color:A}).run(),unsetColor:()=>({chain:A})=>A().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()})}),JB=Q.create({name:"fontFamily",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontFamily:{default:null,parseHTML:A=>{var e;return null===(e=A.style.fontFamily)||void 0===e?void 0:e.replace(/['"]+/g,"")},renderHTML:A=>A.fontFamily?{style:`font-family: ${A.fontFamily}`}:{}}}}]},addCommands:()=>({setFontFamily:A=>({chain:e})=>e().setMark("textStyle",{fontFamily:A}).run(),unsetFontFamily:()=>({chain:A})=>A().setMark("textStyle",{fontFamily:null}).removeEmptyTextStyle().run()})}),jB=/^\s*>\s$/,ZB=R.create({name:"blockquote",addOptions:()=>({HTMLAttributes:{}}),content:"block+",group:"block",defining:!0,parseHTML:()=>[{tag:"blockquote"}],renderHTML({HTMLAttributes:A}){return["blockquote",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setBlockquote:()=>({commands:A})=>A.wrapIn(this.name),toggleBlockquote:()=>({commands:A})=>A.toggleWrap(this.name),unsetBlockquote:()=>({commands:A})=>A.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[I({find:jB,type:this.type})]}}),PB=/(?:^|\s)((?:\*\*)((?:[^*]+))(?:\*\*))$/,VB=/(?:^|\s)((?:\*\*)((?:[^*]+))(?:\*\*))/g,LB=/(?:^|\s)((?:__)((?:[^__]+))(?:__))$/,vB=/(?:^|\s)((?:__)((?:[^__]+))(?:__))/g,OB=a.create({name:"bold",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"strong"},{tag:"b",getAttrs:A=>"normal"!==A.style.fontWeight&&null},{style:"font-weight",getAttrs:A=>/^(bold(er)?|[5-9]\d{2,})$/.test(A)&&null}],renderHTML({HTMLAttributes:A}){return["strong",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setBold:()=>({commands:A})=>A.setMark(this.name),toggleBold:()=>({commands:A})=>A.toggleMark(this.name),unsetBold:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[h({find:PB,type:this.type}),h({find:LB,type:this.type})]},addPasteRules(){return[w({find:VB,type:this.type}),w({find:vB,type:this.type})]}}),_B=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),KB=a.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:A=>!!A.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:A}){return["span",l(this.options.HTMLAttributes,A),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:A,commands:e})=>{const t=d(A,this.type);return!!Object.entries(t).some((([,A])=>!!A))||e.unsetMark(this.name)}}}}),XB=/^\s*([-+*])\s$/,WB=R.create({name:"bulletList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML:()=>[{tag:"ul"}],renderHTML({HTMLAttributes:A}){return["ul",l(this.options.HTMLAttributes,A),0]},addCommands(){return{toggleBulletList:()=>({commands:A,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(_B.name,this.editor.getAttributes(KB.name)).run():A.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let A=I({find:XB,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(A=I({find:XB,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(KB.name),editor:this.editor})),[A]}}),qB=/(?:^|\s)((?:`)((?:[^`]+))(?:`))$/,$B=/(?:^|\s)((?:`)((?:[^`]+))(?:`))/g,AE=a.create({name:"code",addOptions:()=>({HTMLAttributes:{}}),excludes:"_",code:!0,exitable:!0,parseHTML:()=>[{tag:"code"}],renderHTML({HTMLAttributes:A}){return["code",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setCode:()=>({commands:A})=>A.setMark(this.name),toggleCode:()=>({commands:A})=>A.toggleMark(this.name),unsetCode:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[h({find:qB,type:this.type})]},addPasteRules(){return[w({find:$B,type:this.type})]}}),eE=R.create({name:"doc",topNode:!0,content:"block+"});function tE(A={}){return new E({view:e=>new nE(e,A)})}class nE{constructor(A,e){var t;this.editorView=A,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=null!==(t=e.width)&&void 0!==t?t:1,this.color=!1===e.color?void 0:e.color||"black",this.class=e.class,this.handlers=["dragover","dragend","drop","dragleave"].map((e=>{let t=A=>{this[e](A)};return A.dom.addEventListener(e,t),{name:e,handler:t}}))}destroy(){this.handlers.forEach((({name:A,handler:e})=>this.editorView.dom.removeEventListener(A,e)))}update(A,e){null!=this.cursorPos&&e.doc!=A.state.doc&&(this.cursorPos>A.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(A){A!=this.cursorPos&&(this.cursorPos=A,null==A?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let A,e=this.editorView.state.doc.resolve(this.cursorPos),t=!e.parent.inlineContent;if(t){let t=e.nodeBefore,n=e.nodeAfter;if(t||n){let e=this.editorView.nodeDOM(this.cursorPos-(t?t.nodeSize:0));if(e){let i=e.getBoundingClientRect(),B=t?i.bottom:i.top;t&&n&&(B=(B+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2),A={left:i.left,right:i.right,top:B-this.width/2,bottom:B+this.width/2}}}}if(!A){let e=this.editorView.coordsAtPos(this.cursorPos);A={left:e.left-this.width/2,right:e.left+this.width/2,top:e.top,bottom:e.bottom}}let n,i,B=this.editorView.dom.offsetParent;if(this.element||(this.element=B.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",t),this.element.classList.toggle("prosemirror-dropcursor-inline",!t),!B||B==document.body&&"static"==getComputedStyle(B).position)n=-pageXOffset,i=-pageYOffset;else{let A=B.getBoundingClientRect();n=A.left-B.scrollLeft,i=A.top-B.scrollTop}this.element.style.left=A.left-n+"px",this.element.style.top=A.top-i+"px",this.element.style.width=A.right-A.left+"px",this.element.style.height=A.bottom-A.top+"px"}scheduleRemoval(A){clearTimeout(this.timeout),this.timeout=setTimeout((()=>this.setCursor(null)),A)}dragover(A){if(!this.editorView.editable)return;let e=this.editorView.posAtCoords({left:A.clientX,top:A.clientY}),t=e&&e.inside>=0&&this.editorView.state.doc.nodeAt(e.inside),n=t&&t.type.spec.disableDropCursor,i="function"==typeof n?n(this.editorView,e,A):n;if(e&&!i){let A=e.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let e=y(this.editorView.state.doc,A,this.editorView.dragging.slice);null!=e&&(A=e)}this.setCursor(A),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(A){A.target!=this.editorView.dom&&this.editorView.dom.contains(A.relatedTarget)||this.setCursor(null)}}const iE=Q.create({name:"dropCursor",addOptions:()=>({color:"currentColor",width:1,class:void 0}),addProseMirrorPlugins(){return[tE(this.options)]}});class BE extends b{constructor(A){super(A,A)}map(A,e){let t=A.resolve(e.map(this.head));return BE.valid(t)?new BE(t):b.near(t)}content(){return H.empty}eq(A){return A instanceof BE&&A.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(A,e){if("number"!=typeof e.pos)throw new RangeError("Invalid input for GapCursor.fromJSON");return new BE(A.resolve(e.pos))}getBookmark(){return new EE(this.anchor)}static valid(A){let e=A.parent;if(e.isTextblock||!function(A){for(let e=A.depth;e>=0;e--){let t=A.index(e),n=A.node(e);if(0!=t)for(let A=n.child(t-1);;A=A.lastChild){if(0==A.childCount&&!A.inlineContent||A.isAtom||A.type.spec.isolating)return!0;if(A.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(A)||!function(A){for(let e=A.depth;e>=0;e--){let t=A.indexAfter(e),n=A.node(e);if(t!=n.childCount)for(let A=n.child(t);;A=A.firstChild){if(0==A.childCount&&!A.inlineContent||A.isAtom||A.type.spec.isolating)return!0;if(A.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(A))return!1;let t=e.type.spec.allowGapCursor;if(null!=t)return t;let n=e.contentMatchAt(A.index()).defaultType;return n&&n.isTextblock}static findGapCursorFrom(A,e,t=!1){A:for(;;){if(!t&&BE.valid(A))return A;let n=A.pos,i=null;for(let t=A.depth;;t--){let B=A.node(t);if(e>0?A.indexAfter(t)0){i=B.child(e>0?A.indexAfter(t):A.index(t)-1);break}if(0==t)return null;n+=e;let E=A.doc.resolve(n);if(BE.valid(E))return E}for(;;){let B=e>0?i.firstChild:i.lastChild;if(!B){if(i.isAtom&&!i.isText&&!T.isSelectable(i)){A=A.doc.resolve(n+i.nodeSize*e),t=!1;continue A}break}i=B,n+=e;let E=A.doc.resolve(n);if(BE.valid(E))return E}return null}}}BE.prototype.visible=!1,BE.findFrom=BE.findGapCursorFrom,b.jsonID("gapcursor",BE);class EE{constructor(A){this.pos=A}map(A){return new EE(A.map(this.pos))}resolve(A){let e=A.resolve(this.pos);return BE.valid(e)?new BE(e):b.near(e)}}const sE=z({ArrowLeft:rE("horiz",-1),ArrowRight:rE("horiz",1),ArrowUp:rE("vert",-1),ArrowDown:rE("vert",1)});function rE(A,e){const t="vert"==A?e>0?"down":"up":e>0?"right":"left";return function(A,n,i){let B=A.selection,E=e>0?B.$to:B.$from,s=B.empty;if(B instanceof C){if(!i.endOfTextblock(t)||0==E.depth)return!1;s=!1,E=A.doc.resolve(e>0?E.after():E.before())}let r=BE.findGapCursorFrom(E,e,s);return!!r&&(n&&n(A.tr.setSelection(new BE(r))),!0)}}function oE(A,e,t){if(!A||!A.editable)return!1;let n=A.state.doc.resolve(e);if(!BE.valid(n))return!1;let i=A.posAtCoords({left:t.clientX,top:t.clientY});return!(i&&i.inside>-1&&T.isSelectable(A.state.doc.nodeAt(i.inside))||(A.dispatch(A.state.tr.setSelection(new BE(n))),0))}function cE(A,e){if("insertCompositionText"!=e.inputType||!(A.state.selection instanceof BE))return!1;let{$from:t}=A.state.selection,n=t.parent.contentMatchAt(t.index()).findWrapping(A.state.schema.nodes.text);if(!n)return!1;let i=x.empty;for(let A=n.length-1;A>=0;A--)i=x.from(n[A].createAndFill(null,i));let B=A.state.tr.replace(t.pos,t.pos,new H(i,0,0));return B.setSelection(C.near(B.doc.resolve(t.pos+1))),A.dispatch(B),!1}function gE(A){if(!(A.selection instanceof BE))return null;let e=document.createElement("div");return e.className="ProseMirror-gapcursor",k.create(A.doc,[Y.widget(A.selection.head,e,{key:"gapcursor"})])}const QE=Q.create({name:"gapCursor",addProseMirrorPlugins:()=>[new E({props:{decorations:gE,createSelectionBetween:(A,e,t)=>e.pos==t.pos&&BE.valid(t)?new BE(t):null,handleClick:oE,handleKeyDown:sE,handleDOMEvents:{beforeinput:cE}}})],extendNodeSchema(A){var e;return{allowGapCursor:null!==(e=p(J(A,"allowGapCursor",{name:A.name,options:A.options,storage:A.storage})))&&void 0!==e?e:null}}}),aE=R.create({name:"hardBreak",addOptions:()=>({keepMarks:!0,HTMLAttributes:{}}),inline:!0,group:"inline",selectable:!1,parseHTML:()=>[{tag:"br"}],renderHTML({HTMLAttributes:A}){return["br",l(this.options.HTMLAttributes,A)]},renderText:()=>"\n",addCommands(){return{setHardBreak:()=>({commands:A,chain:e,state:t,editor:n})=>A.first([()=>A.exitCode(),()=>A.command((()=>{const{selection:A,storedMarks:i}=t;if(A.$from.parent.type.spec.isolating)return!1;const{keepMarks:B}=this.options,{splittableMarks:E}=n.extensionManager,s=i||A.$to.parentOffset&&A.$from.marks();return e().insertContent({type:this.name}).command((({tr:A,dispatch:e})=>{if(e&&s&&B){const e=s.filter((A=>E.includes(A.type.name)));A.ensureMarks(e)}return!0})).run()}))])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),lE=R.create({name:"heading",addOptions:()=>({levels:[1,2,3,4,5,6],HTMLAttributes:{}}),content:"inline*",group:"block",defining:!0,addAttributes:()=>({level:{default:1,rendered:!1}}),parseHTML(){return this.options.levels.map((A=>({tag:`h${A}`,attrs:{level:A}})))},renderHTML({node:A,HTMLAttributes:e}){return[`h${this.options.levels.includes(A.attrs.level)?A.attrs.level:this.options.levels[0]}`,l(this.options.HTMLAttributes,e),0]},addCommands(){return{setHeading:A=>({commands:e})=>!!this.options.levels.includes(A.level)&&e.setNode(this.name,A),toggleHeading:A=>({commands:e})=>!!this.options.levels.includes(A.level)&&e.toggleNode(this.name,"paragraph",A)}},addKeyboardShortcuts(){return this.options.levels.reduce(((A,e)=>({...A,[`Mod-Alt-${e}`]:()=>this.editor.commands.toggleHeading({level:e})})),{})},addInputRules(){return this.options.levels.map((A=>G({find:new RegExp(`^(#{1,${A}})\\s$`),type:this.type,getAttributes:{level:A}})))}});var hE=200,ME=function(){};ME.prototype.append=function(A){return A.length?(A=ME.from(A),!this.length&&A||A.length=e?ME.empty:this.sliceInner(Math.max(0,A),Math.min(this.length,e))},ME.prototype.get=function(A){if(!(A<0||A>=this.length))return this.getInner(A)},ME.prototype.forEach=function(A,e,t){void 0===e&&(e=0),void 0===t&&(t=this.length),e<=t?this.forEachInner(A,e,t,0):this.forEachInvertedInner(A,e,t,0)},ME.prototype.map=function(A,e,t){void 0===e&&(e=0),void 0===t&&(t=this.length);var n=[];return this.forEach((function(e,t){return n.push(A(e,t))}),e,t),n},ME.from=function(A){return A instanceof ME?A:A&&A.length?new wE(A):ME.empty};var wE=function(A){function e(e){A.call(this),this.values=e}A&&(e.__proto__=A),(e.prototype=Object.create(A&&A.prototype)).constructor=e;var t={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(A,t){return 0==A&&t==this.length?this:new e(this.values.slice(A,t))},e.prototype.getInner=function(A){return this.values[A]},e.prototype.forEachInner=function(A,e,t,n){for(var i=e;i=t;i--)if(!1===A(this.values[i],n+i))return!1},e.prototype.leafAppend=function(A){if(this.length+A.length<=hE)return new e(this.values.concat(A.flatten()))},e.prototype.leafPrepend=function(A){if(this.length+A.length<=hE)return new e(A.flatten().concat(this.values))},t.length.get=function(){return this.values.length},t.depth.get=function(){return 0},Object.defineProperties(e.prototype,t),e}(ME);ME.empty=new wE([]);var RE=function(A){function e(e,t){A.call(this),this.left=e,this.right=t,this.length=e.length+t.length,this.depth=Math.max(e.depth,t.depth)+1}return A&&(e.__proto__=A),(e.prototype=Object.create(A&&A.prototype)).constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(A){return Ai&&!1===this.right.forEachInner(A,Math.max(e-i,0),Math.min(this.length,t)-i,n+i))&&void 0},e.prototype.forEachInvertedInner=function(A,e,t,n){var i=this.left.length;return!(e>i&&!1===this.right.forEachInvertedInner(A,e-i,Math.max(t,i)-i,n+i))&&!(t=t?this.right.slice(A-t,e-t):this.left.slice(A,t).append(this.right.slice(0,e-t))},e.prototype.leafAppend=function(A){var t=this.right.leafAppend(A);if(t)return new e(this.left,t)},e.prototype.leafPrepend=function(A){var t=this.left.leafPrepend(A);if(t)return new e(t,this.right)},e.prototype.appendInner=function(A){return this.left.depth>=Math.max(this.right.depth,A.depth)+1?new e(this.left,new e(this.right,A)):new e(this,A)},e}(ME),IE=ME;class uE{constructor(A,e){this.items=A,this.eventCount=e}popEvent(A,e){if(0==this.eventCount)return null;let t,n,i=this.items.length;for(;;i--)if(this.items.get(i-1).selection){--i;break}e&&(t=this.remapping(i,this.items.length),n=t.maps.length);let B,E,s=A.tr,r=[],o=[];return this.items.forEach(((A,e)=>{if(!A.step)return t||(t=this.remapping(i,e+1),n=t.maps.length),n--,void o.push(A);if(t){o.push(new dE(A.map));let e,i=A.step.map(t.slice(n));i&&s.maybeStep(i).doc&&(e=s.mapping.maps[s.mapping.maps.length-1],r.push(new dE(e,void 0,void 0,r.length+o.length))),n--,e&&t.appendMap(e,n)}else s.maybeStep(A.step);return A.selection?(B=t?A.selection.map(t.slice(n)):A.selection,E=new uE(this.items.slice(0,i).append(o.reverse().concat(r)),this.eventCount-1),!1):void 0}),this.items.length,0),{remaining:E,transform:s,selection:B}}addTransform(A,e,t,n){let i=[],B=this.eventCount,E=this.items,s=!n&&E.length?E.get(E.length-1):null;for(let t=0;tCE&&(E=function(A,e){let t;return A.forEach(((A,n)=>{if(A.selection&&0==e--)return t=n,!1})),A.slice(t)}(E,r),B-=r),new uE(E.append(i),B)}remapping(A,e){let t=new j;return this.items.forEach(((e,n)=>{t.appendMap(e.map,null!=e.mirrorOffset&&n-e.mirrorOffset>=A?t.maps.length-e.mirrorOffset:void 0)}),A,e),t}addMaps(A){return 0==this.eventCount?this:new uE(this.items.append(A.map((A=>new dE(A)))),this.eventCount)}rebased(A,e){if(!this.eventCount)return this;let t=[],n=Math.max(0,this.items.length-e),i=A.mapping,B=A.steps.length,E=this.eventCount;this.items.forEach((A=>{A.selection&&E--}),n);let s=e;this.items.forEach((e=>{let n=i.getMirror(--s);if(null==n)return;B=Math.min(B,n);let r=i.maps[n];if(e.step){let B=A.steps[n].invert(A.docs[n]),o=e.selection&&e.selection.map(i.slice(s+1,n));o&&E++,t.push(new dE(r,B,o))}else t.push(new dE(r))}),n);let r=[];for(let A=e;A500&&(c=c.compress(this.items.length-t.length)),c}emptyItemCount(){let A=0;return this.items.forEach((e=>{e.step||A++})),A}compress(A=this.items.length){let e=this.remapping(0,A),t=e.maps.length,n=[],i=0;return this.items.forEach(((B,E)=>{if(E>=A)n.push(B),B.selection&&i++;else if(B.step){let A=B.step.map(e.slice(t)),E=A&&A.getMap();if(t--,E&&e.appendMap(E,t),A){let s=B.selection&&B.selection.map(e.slice(t));s&&i++;let r,o=new dE(E.invert(),A,s),c=n.length-1;(r=n.length&&n[c].merge(o))?n[c]=r:n.push(o)}}else B.map&&t--}),this.items.length,0),new uE(IE.from(n.reverse()),i)}}uE.empty=new uE(IE.empty,0);class dE{constructor(A,e,t,n){this.map=A,this.step=e,this.selection=t,this.mirrorOffset=n}merge(A){if(this.step&&A.step&&!A.selection){let e=A.step.merge(this.step);if(e)return new dE(e.getMap().invert(),e,this.selection)}}}class GE{constructor(A,e,t,n){this.done=A,this.undone=e,this.prevRanges=t,this.prevTime=n}}const CE=20;function kE(A){let e=[];return A.forEach(((A,t,n,i)=>e.push(n,i))),e}function DE(A,e){if(!A)return null;let t=[];for(let n=0;nnew GE(uE.empty,uE.empty,null,0),apply:(e,t,n)=>function(A,e,t,n){let i,B=t.getMeta(NE);if(B)return B.historyState;t.getMeta(SE)&&(A=new GE(A.done,A.undone,null,0));let E=t.getMeta("appendedTransaction");if(0==t.steps.length)return A;if(E&&E.getMeta(NE))return E.getMeta(NE).redo?new GE(A.done.addTransform(t,void 0,n,fE(e)),A.undone,kE(t.mapping.maps[t.steps.length-1]),A.prevTime):new GE(A.done,A.undone.addTransform(t,void 0,n,fE(e)),null,A.prevTime);if(!1===t.getMeta("addToHistory")||E&&!1===E.getMeta("addToHistory"))return(i=t.getMeta("rebased"))?new GE(A.done.rebased(t,i),A.undone.rebased(t,i),DE(A.prevRanges,t.mapping),A.prevTime):new GE(A.done.addMaps(t.mapping.maps),A.undone.addMaps(t.mapping.maps),DE(A.prevRanges,t.mapping),A.prevTime);{let i=0==A.prevTime||!E&&(A.prevTime<(t.time||0)-n.newGroupDelay||!function(A,e){if(!e)return!1;if(!A.docChanged)return!0;let t=!1;return A.mapping.maps[0].forEach(((A,n)=>{for(let i=0;i=e[i]&&(t=!0)})),t}(t,A.prevRanges)),B=E?DE(A.prevRanges,t.mapping):kE(t.mapping.maps[t.steps.length-1]);return new GE(A.done.addTransform(t,i?e.selection.getBookmark():void 0,n,fE(e)),uE.empty,B,t.time)}}(t,n,e,A)},config:A={depth:A.depth||100,newGroupDelay:A.newGroupDelay||500},props:{handleDOMEvents:{beforeinput(A,e){let t=e.inputType,n="historyUndo"==t?yE:"historyRedo"==t?bE:null;return!!n&&(e.preventDefault(),n(A.state,A.dispatch))}}}})}const yE=(A,e)=>{let t=NE.getState(A);return!(!t||0==t.done.eventCount||(e&&YE(t,A,e,!1),0))},bE=(A,e)=>{let t=NE.getState(A);return!(!t||0==t.undone.eventCount||(e&&YE(t,A,e,!0),0))},HE=Q.create({name:"history",addOptions:()=>({depth:100,newGroupDelay:500}),addCommands:()=>({undo:()=>({state:A,dispatch:e})=>yE(A,e),redo:()=>({state:A,dispatch:e})=>bE(A,e)}),addProseMirrorPlugins(){return[mE(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Mod-Z":()=>this.editor.commands.undo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-Y":()=>this.editor.commands.redo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Shift-Mod-Z":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),TE=R.create({name:"horizontalRule",addOptions:()=>({HTMLAttributes:{}}),group:"block",parseHTML:()=>[{tag:"hr"}],renderHTML({HTMLAttributes:A}){return["hr",l(this.options.HTMLAttributes,A)]},addCommands(){return{setHorizontalRule:()=>({chain:A,state:e})=>{const{$to:t}=e.selection,n=A();return 0===t.parentOffset?n.insertContentAt(Math.max(t.pos-2,0),{type:this.name}):n.insertContent({type:this.name}),n.command((({tr:A,dispatch:e})=>{var t;if(e){const{$to:e}=A.selection,n=e.end();if(e.nodeAfter)A.setSelection(e.nodeAfter.isTextblock?C.create(A.doc,e.pos+1):e.nodeAfter.isBlock?T.create(A.doc,e.pos):C.create(A.doc,e.pos));else{const i=null===(t=e.parent.type.contentMatch.defaultType)||void 0===t?void 0:t.create();i&&(A.insert(n,i),A.setSelection(C.create(A.doc,n+1)))}A.scrollIntoView()}return!0})).run()}}},addInputRules(){return[F({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),zE=/(?:^|\s)((?:\*)((?:[^*]+))(?:\*))$/,xE=/(?:^|\s)((?:\*)((?:[^*]+))(?:\*))/g,pE=/(?:^|\s)((?:_)((?:[^_]+))(?:_))$/,JE=/(?:^|\s)((?:_)((?:[^_]+))(?:_))/g,jE=a.create({name:"italic",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"em"},{tag:"i",getAttrs:A=>"normal"!==A.style.fontStyle&&null},{style:"font-style=italic"}],renderHTML({HTMLAttributes:A}){return["em",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setItalic:()=>({commands:A})=>A.setMark(this.name),toggleItalic:()=>({commands:A})=>A.toggleMark(this.name),unsetItalic:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[h({find:zE,type:this.type}),h({find:pE,type:this.type})]},addPasteRules(){return[w({find:xE,type:this.type}),w({find:JE,type:this.type})]}}),ZE=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),PE=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),VE=a.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:A=>!!A.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:A}){return["span",l(this.options.HTMLAttributes,A),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:A,commands:e})=>{const t=d(A,this.type);return!!Object.entries(t).some((([,A])=>!!A))||e.unsetMark(this.name)}}}}),LE=/^(\d+)\.\s$/,vE=R.create({name:"orderedList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes:()=>({start:{default:1,parseHTML:A=>A.hasAttribute("start")?parseInt(A.getAttribute("start")||"",10):1}}),parseHTML:()=>[{tag:"ol"}],renderHTML({HTMLAttributes:A}){const{start:e,...t}=A;return 1===e?["ol",l(this.options.HTMLAttributes,t),0]:["ol",l(this.options.HTMLAttributes,A),0]},addCommands(){return{toggleOrderedList:()=>({commands:A,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(PE.name,this.editor.getAttributes(VE.name)).run():A.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let A=I({find:LE,type:this.type,getAttributes:A=>({start:+A[1]}),joinPredicate:(A,e)=>e.childCount+e.attrs.start===+A[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(A=I({find:LE,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:A=>({start:+A[1],...this.editor.getAttributes(VE.name)}),joinPredicate:(A,e)=>e.childCount+e.attrs.start===+A[1],editor:this.editor})),[A]}}),OE=R.create({name:"paragraph",priority:1e3,addOptions:()=>({HTMLAttributes:{}}),group:"block",content:"inline*",parseHTML:()=>[{tag:"p"}],renderHTML({HTMLAttributes:A}){return["p",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setParagraph:()=>({commands:A})=>A.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),_E=/(?:^|\s)((?:~~)((?:[^~]+))(?:~~))$/,KE=/(?:^|\s)((?:~~)((?:[^~]+))(?:~~))/g,XE=a.create({name:"strike",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:A=>!!A.includes("line-through")&&{}}],renderHTML({HTMLAttributes:A}){return["s",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setStrike:()=>({commands:A})=>A.setMark(this.name),toggleStrike:()=>({commands:A})=>A.toggleMark(this.name),unsetStrike:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){const A={};return P()?A["Mod-Shift-s"]=()=>this.editor.commands.toggleStrike():A["Ctrl-Shift-s"]=()=>this.editor.commands.toggleStrike(),A},addInputRules(){return[h({find:_E,type:this.type})]},addPasteRules(){return[w({find:KE,type:this.type})]}}),WE=R.create({name:"text",group:"inline"}),qE=Q.create({name:"starterKit",addExtensions(){var A,e,t,n,i,B,E,s,r,o,c,g,Q,a,l,h,M,w;const R=[];return!1!==this.options.blockquote&&R.push(ZB.configure(null===(A=this.options)||void 0===A?void 0:A.blockquote)),!1!==this.options.bold&&R.push(OB.configure(null===(e=this.options)||void 0===e?void 0:e.bold)),!1!==this.options.bulletList&&R.push(WB.configure(null===(t=this.options)||void 0===t?void 0:t.bulletList)),!1!==this.options.code&&R.push(AE.configure(null===(n=this.options)||void 0===n?void 0:n.code)),!1!==this.options.codeBlock&&R.push(cA.configure(null===(i=this.options)||void 0===i?void 0:i.codeBlock)),!1!==this.options.document&&R.push(eE.configure(null===(B=this.options)||void 0===B?void 0:B.document)),!1!==this.options.dropcursor&&R.push(iE.configure(null===(E=this.options)||void 0===E?void 0:E.dropcursor)),!1!==this.options.gapcursor&&R.push(QE.configure(null===(s=this.options)||void 0===s?void 0:s.gapcursor)),!1!==this.options.hardBreak&&R.push(aE.configure(null===(r=this.options)||void 0===r?void 0:r.hardBreak)),!1!==this.options.heading&&R.push(lE.configure(null===(o=this.options)||void 0===o?void 0:o.heading)),!1!==this.options.history&&R.push(HE.configure(null===(c=this.options)||void 0===c?void 0:c.history)),!1!==this.options.horizontalRule&&R.push(TE.configure(null===(g=this.options)||void 0===g?void 0:g.horizontalRule)),!1!==this.options.italic&&R.push(jE.configure(null===(Q=this.options)||void 0===Q?void 0:Q.italic)),!1!==this.options.listItem&&R.push(ZE.configure(null===(a=this.options)||void 0===a?void 0:a.listItem)),!1!==this.options.orderedList&&R.push(vE.configure(null===(l=this.options)||void 0===l?void 0:l.orderedList)),!1!==this.options.paragraph&&R.push(OE.configure(null===(h=this.options)||void 0===h?void 0:h.paragraph)),!1!==this.options.strike&&R.push(XE.configure(null===(M=this.options)||void 0===M?void 0:M.strike)),!1!==this.options.text&&R.push(WE.configure(null===(w=this.options)||void 0===w?void 0:w.text)),R}}),$E=()=>new Map,As=A=>{const e=$E();return A.forEach(((A,t)=>{e.set(t,A)})),e},es=(A,e,t)=>{let n=A.get(e);return void 0===n&&A.set(e,n=t()),n},ts=()=>new Set,ns=A=>A[A.length-1],is=(A,e)=>{for(let t=0;t{this.off(A,t),e(...n)};this.on(A,t)}off(A,e){const t=this._observers.get(A);void 0!==t&&(t.delete(e),0===t.size&&this._observers.delete(A))}emit(A,e){return Bs((this._observers.get(A)||$E()).values()).forEach((A=>A(...e)))}destroy(){this._observers=$E()}}const rs=Math.floor,os=Math.abs,cs=(A,e)=>AA>e?A:e,Qs=A=>0!==A?A<0:1/A<0,as=64,ls=128,hs=127,Ms=Number.MAX_SAFE_INTEGER,ws=Number.isInteger||(A=>"number"==typeof A&&isFinite(A)&&rs(A)===A),Rs=/^\s*/g,Is=/([A-Z])/g,us=(A,e)=>(A=>A.replace(Rs,""))(A.replace(Is,(A=>`${e}${(A=>A.toLowerCase())(A)}`))),ds="undefined"!=typeof TextEncoder?new TextEncoder:null,Gs=ds?A=>ds.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;Anew ks,Ys=A=>{const e=new Uint8Array((A=>{let e=A.cpos;for(let t=0;t{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},Us=Fs,fs=(A,e)=>{for(;e>hs;)Fs(A,ls|hs&e),e=rs(e/128);Fs(A,hs&e)},Ns=(A,e)=>{const t=Qs(e);for(t&&(e=-e),Fs(A,(e>63?ls:0)|(t?as:0)|63&e),e=rs(e/64);e>0;)Fs(A,(e>hs?ls:0)|hs&e),e=rs(e/128)},Ss=new Uint8Array(3e4),ms=Ss.length/3,ys=ds&&ds.encodeInto?(A,e)=>{if(e.length{const t=unescape(encodeURIComponent(e)),n=t.length;fs(A,n);for(let e=0;e{const t=A.cbuf.length,n=A.cpos,i=cs(t-n,e.length),B=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,B>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(gs(2*t,B)),A.cbuf.set(e.subarray(i)),A.cpos=B)},Hs=(A,e)=>{fs(A,e.byteLength),bs(A,e)},Ts=(A,e)=>{((A,e)=>{const t=A.cbuf.length;t-A.cpos{switch(typeof e){case"string":Fs(A,119),ys(A,e);break;case"number":ws(e)&&os(e)<=2147483647?(Fs(A,125),Ns(A,e)):(zs.setFloat32(0,t=e),zs.getFloat32(0)===t?(Fs(A,124),((A,e)=>{Ts(A,4).setFloat32(0,e,!1)})(A,e)):(Fs(A,123),((A,e)=>{Ts(A,8).setFloat64(0,e,!1)})(A,e)));break;case"bigint":Fs(A,122),((A,e)=>{Ts(A,8).setBigInt64(0,e,!1)})(A,e);break;case"object":if(null===e)Fs(A,126);else if(Es(e)){Fs(A,117),fs(A,e.length);for(let t=0;t0&&fs(this,this.count-1),this.count=1,this.w(this,A),this.s=A)}}const Js=A=>{A.count>0&&(Ns(A.encoder,1===A.count?A.s:-A.s),A.count>1&&fs(A.encoder,A.count-2))};class js{constructor(){this.encoder=new ks,this.s=0,this.count=0}write(A){this.s===A?this.count++:(Js(this),this.count=1,this.s=A)}toUint8Array(){return Js(this),Ys(this.encoder)}}const Zs=A=>{A.count>0&&(Ns(A.encoder,2*A.diff+(1===A.count?0:1)),A.count>1&&fs(A.encoder,A.count-2))};class Ps{constructor(){this.encoder=new ks,this.s=0,this.count=0,this.diff=0}write(A){this.diff===A-this.s?(this.s=A,this.count++):(Zs(this),this.count=1,this.diff=A-this.s,this.s=A)}toUint8Array(){return Zs(this),Ys(this.encoder)}}class Vs{constructor(){this.sarr=[],this.s="",this.lensE=new js}write(A){this.s+=A,this.s.length>19&&(this.sarr.push(this.s),this.s=""),this.lensE.write(A.length)}toUint8Array(){const A=new ks;return this.sarr.push(this.s),this.s="",ys(A,this.sarr.join("")),bs(A,this.lensE.toUint8Array()),Ys(A)}}const Ls=A=>new Error(A),vs=()=>{throw Ls("Method unimplemented")},Os=()=>{throw Ls("Unexpected case")},_s=Ls("Unexpected end of array"),Ks=Ls("Integer out of Range");class Xs{constructor(A){this.arr=A,this.pos=0}}const Ws=A=>new Xs(A),qs=A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,Ar(A)),$s=A=>A.arr[A.pos++],Ar=A=>{let e=0,t=1;const n=A.arr.length;for(;A.posMs)throw Ks}throw _s},er=A=>{let e=A.arr[A.pos++],t=63&e,n=64;const i=(e&as)>0?-1:1;if(0==(e&ls))return i*t;const B=A.arr.length;for(;A.posMs)throw Ks}throw _s},tr=Cs?A=>Cs.decode(qs(A)):A=>{let e=Ar(A);if(0===e)return"";{let t=String.fromCodePoint($s(A));if(--e<100)for(;e--;)t+=String.fromCodePoint($s(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}},nr=(A,e)=>{const t=new DataView(A.arr.buffer,A.arr.byteOffset+A.pos,e);return A.pos+=e,t},ir=[()=>{},()=>null,er,A=>nr(A,4).getFloat32(0,!1),A=>nr(A,8).getFloat64(0,!1),A=>nr(A,8).getBigInt64(0,!1),()=>!1,()=>!0,tr,A=>{const e=Ar(A),t={};for(let n=0;n{const e=Ar(A),t=[];for(let n=0;nir[127-$s(A)](A);class Er extends Xs{constructor(A,e){super(A),this.reader=e,this.s=null,this.count=0}read(){return 0===this.count&&(this.s=this.reader(this),this.count=this.pos!==this.arr.length?Ar(this)+1:-1),this.count--,this.s}}class sr extends Xs{constructor(A){super(A),this.s=0,this.count=0}read(){if(0===this.count){this.s=er(this);const A=Qs(this.s);this.count=1,A&&(this.s=-this.s,this.count=Ar(this)+2)}return this.count--,this.s}}class rr extends Xs{constructor(A){super(A),this.s=0,this.count=0,this.diff=0}read(){if(0===this.count){const A=er(this),e=1&A;this.diff=rs(A/2),this.count=1,e&&(this.count=Ar(this)+2)}return this.s+=this.diff,this.count--,this.s}}class or{constructor(A){this.decoder=new sr(A),this.str=tr(this.decoder),this.spos=0}read(){const A=this.spos+this.decoder.read(),e=this.str.slice(this.spos,A);return this.spos=A,e}}const cr=crypto.getRandomValues.bind(crypto),gr=Math.random,Qr=()=>cr(new Uint32Array(1))[0],ar=[1e7]+-1e3+-4e3+-8e3+-1e11,lr=()=>ar.replace(/[018]/g,(A=>(A^Qr()&15>>A/4).toString(16))),hr=Date.now,Mr=A=>new Promise(A);Promise.all.bind(Promise);let wr=new class{constructor(){this.map=new Map}setItem(A,e){this.map.set(A,e)}getItem(A){return this.map.get(A)}};try{"undefined"!=typeof localStorage&&localStorage&&(wr=localStorage)}catch(A){}const Rr=wr,Ir=Object.assign,ur=Object.keys,dr=A=>ur(A).length,Gr=(A,e,t=0)=>{try{for(;tA,kr="undefined"!=typeof process&&process.release&&/node|io\.js/.test(process.release.name)&&"[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0),Dr="undefined"!=typeof window&&"undefined"!=typeof document&&!kr;let Yr;"undefined"!=typeof navigator&&/Mac/.test(navigator.platform);const Fr=A=>(()=>{if(void 0===Yr)if(kr){Yr=$E();const A=process.argv;let e=null;for(let t=0;t{if(0!==A.length){const[e,t]=A.split("=");Yr.set(`--${us(e,"-")}`,t),Yr.set(`-${us(e,"-")}`,t)}}))):Yr=$E();return Yr})().has(A),Ur=A=>{return void 0===(e=kr?process.env[A.toUpperCase()]:Rr.getItem(A))?null:e;var e};Fr("--"+"production")||Ur("production");const fr=kr&&(Nr=process.env.FORCE_COLOR,["true","1","2"].includes(Nr));var Nr;const Sr=!Fr("no-colors")&&(!kr||process.stdout.isTTY||fr)&&(!kr||Fr("color")||fr||null!==Ur("COLORTERM")||(Ur("TERM")||"").includes("color"));class mr{constructor(A,e){this.left=A,this.right=e}}const yr=(A,e)=>new mr(A,e),br="undefined"!=typeof document?document:{};"undefined"!=typeof DOMParser&&new DOMParser;const Hr=(Tr=clearTimeout,class{constructor(A){this._=A}destroy(){Tr(this._)}});var Tr;const zr=(A,e)=>new Hr(setTimeout(e,A)),xr=Symbol,pr=xr(),Jr=xr(),jr=xr(),Zr=xr(),Pr=xr(),Vr=xr(),Lr=xr(),vr=xr(),Or=xr(),_r={[pr]:yr("font-weight","bold"),[Jr]:yr("font-weight","normal"),[jr]:yr("color","blue"),[Pr]:yr("color","green"),[Zr]:yr("color","grey"),[Vr]:yr("color","red"),[Lr]:yr("color","purple"),[vr]:yr("color","orange"),[Or]:yr("color","black")},Kr=Sr?A=>{const e=[],t=[],n=$E();let i=[],B=0;for(;B{const t=[];for(const[n,i]of A)t.push(e(i,n));return t})(n,((A,e)=>`${e}:${A};`)).join("");B>0||A.length>0?(e.push("%c"+i),t.push(A)):e.push(i)}}}for(B>0&&(i=t,i.unshift(e.join("")));B{const e=[];let t=0;for(;t({[Symbol.iterator](){return this},next:A}),qr=(A,e)=>Wr((()=>{const{done:t,value:n}=A.next();return{done:t,value:t?void 0:e(n)}}));class $r{constructor(A,e){this.clock=A,this.len=e}}class Ao{constructor(){this.clients=new Map}}const eo=(A,e,t)=>e.clients.forEach(((e,n)=>{const i=A.doc.store.clients.get(n);for(let n=0;n{const t=A.clients.get(e.client);return void 0!==t&&null!==((A,e)=>{let t=0,n=A.length-1;for(;t<=n;){const i=rs((t+n)/2),B=A[i],E=B.clock;if(E<=e){if(e{A.clients.forEach((A=>{let e,t;for(A.sort(((A,e)=>A.clock-e.clock)),e=1,t=1;e=i.clock?n.len=gs(n.len,i.clock+i.len-n.clock):(t{const e=new Ao;for(let t=0;t{if(!e.clients.has(i)){const B=n.slice();for(let e=t+1;e{es(A.clients,e,(()=>[])).push(new $r(t,n))},Eo=()=>new Ao,so=A=>{const e=Eo();return A.clients.forEach(((A,t)=>{const n=[];for(let e=0;e0&&e.clients.set(t,n)})),e},ro=(A,e)=>{fs(A.restEncoder,e.clients.size),Bs(e.clients.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([e,t])=>{A.resetDsCurVal(),fs(A.restEncoder,e);const n=t.length;fs(A.restEncoder,n);for(let e=0;e{const e=new Ao,t=Ar(A.restDecoder);for(let n=0;n0){const i=es(e.clients,t,(()=>[]));for(let e=0;e{const n=new Ao,i=Ar(A.restDecoder);for(let B=0;B0){const A=new uo;return fs(A.restEncoder,0),ro(A,n),A.toUint8Array()}return null},go=Qr;class Qo extends ss{constructor({guid:A=lr(),collectionid:e=null,gc:t=!0,gcFilter:n=(()=>!0),meta:i=null,autoLoad:B=!1,shouldLoad:E=!0}={}){super(),this.gc=t,this.gcFilter=n,this.clientID=go(),this.guid=A,this.collectionid=e,this.share=new Map,this.store=new vo,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=E,this.autoLoad=B,this.meta=i,this.isLoaded=!1,this.isSynced=!1,this.whenLoaded=Mr((A=>{this.on("load",(()=>{this.isLoaded=!0,A(this)}))}));const s=()=>Mr((A=>{const e=t=>{void 0!==t&&!0!==t||(this.off("sync",e),A())};this.on("sync",e)}));this.on("sync",(A=>{!1===A&&this.isSynced&&(this.whenSynced=s()),this.isSynced=void 0===A||!0===A,this.isSynced&&!this.isLoaded&&this.emit("load",[])})),this.whenSynced=s()}load(){const A=this._item;null===A||this.shouldLoad||sc(A.parent.doc,(A=>{A.subdocsLoaded.add(this)}),null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(Bs(this.subdocs).map((A=>A.guid)))}transact(A,e=null){return sc(this,A,e)}get(A,e=Sc){const t=es(this.share,A,(()=>{const A=new e;return A._integrate(this,null),A})),n=t.constructor;if(e!==Sc&&n!==e){if(n===Sc){const n=new e;n._map=t._map,t._map.forEach((A=>{for(;null!==A;A=A.left)A.parent=n})),n._start=t._start;for(let A=n._start;null!==A;A=A.right)A.parent=n;return n._length=t._length,this.share.set(A,n),n._integrate(this,null),n}throw new Error(`Type with the name ${A} has already been defined with a different constructor`)}return t}getArray(A=""){return this.get(A,Xc)}getText(A=""){return this.get(A,lg)}getMap(A=""){return this.get(A,qc)}getXmlFragment(A=""){return this.get(A,Mg)}toJSON(){const A={};return this.share.forEach(((e,t)=>{A[t]=e.toJSON()})),A}destroy(){Bs(this.subdocs).forEach((A=>A.destroy()));const A=this._item;if(null!==A){this._item=null;const e=A.content;e.doc=new Qo({guid:this.guid,...e.opts,shouldLoad:!1}),e.doc._item=A,sc(A.parent.doc,(t=>{A.deleted||t.subdocsAdded.add(e.doc),t.subdocsRemoved.add(this)}),null,!0)}this.emit("destroyed",[!0]),this.emit("destroy",[this]),super.destroy()}on(A,e){super.on(A,e)}off(A,e){super.off(A,e)}}class ao{constructor(A){this.restDecoder=A}resetDsCurVal(){}readDsClock(){return Ar(this.restDecoder)}readDsLen(){return Ar(this.restDecoder)}}class lo extends ao{readLeftID(){return yo(Ar(this.restDecoder),Ar(this.restDecoder))}readRightID(){return yo(Ar(this.restDecoder),Ar(this.restDecoder))}readClient(){return Ar(this.restDecoder)}readInfo(){return $s(this.restDecoder)}readString(){return tr(this.restDecoder)}readParentInfo(){return 1===Ar(this.restDecoder)}readTypeRef(){return Ar(this.restDecoder)}readLen(){return Ar(this.restDecoder)}readAny(){return Br(this.restDecoder)}readBuf(){return(A=>{const e=new Uint8Array(A.byteLength);return e.set(A),e})(qs(this.restDecoder))}readJSON(){return JSON.parse(tr(this.restDecoder))}readKey(){return tr(this.restDecoder)}}class ho{constructor(A){this.dsCurrVal=0,this.restDecoder=A}resetDsCurVal(){this.dsCurrVal=0}readDsClock(){return this.dsCurrVal+=Ar(this.restDecoder),this.dsCurrVal}readDsLen(){const A=Ar(this.restDecoder)+1;return this.dsCurrVal+=A,A}}class Mo extends ho{constructor(A){super(A),this.keys=[],Ar(A),this.keyClockDecoder=new rr(qs(A)),this.clientDecoder=new sr(qs(A)),this.leftClockDecoder=new rr(qs(A)),this.rightClockDecoder=new rr(qs(A)),this.infoDecoder=new Er(qs(A),$s),this.stringDecoder=new or(qs(A)),this.parentInfoDecoder=new Er(qs(A),$s),this.typeRefDecoder=new sr(qs(A)),this.lenDecoder=new sr(qs(A))}readLeftID(){return new So(this.clientDecoder.read(),this.leftClockDecoder.read())}readRightID(){return new So(this.clientDecoder.read(),this.rightClockDecoder.read())}readClient(){return this.clientDecoder.read()}readInfo(){return this.infoDecoder.read()}readString(){return this.stringDecoder.read()}readParentInfo(){return 1===this.parentInfoDecoder.read()}readTypeRef(){return this.typeRefDecoder.read()}readLen(){return this.lenDecoder.read()}readAny(){return Br(this.restDecoder)}readBuf(){return qs(this.restDecoder)}readJSON(){return Br(this.restDecoder)}readKey(){const A=this.keyClockDecoder.read();if(A{const n=new Map;t.forEach(((A,t)=>{_o(e,t)>A&&n.set(t,A)})),Oo(e).forEach(((A,e)=>{t.has(e)||n.set(e,0)})),fs(A.restEncoder,n.size),Bs(n.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([t,n])=>{((A,e,t,n)=>{n=gs(n,e[0].id.clock);const i=Xo(e,n);fs(A.restEncoder,e.length-i),A.writeClient(t),fs(A.restEncoder,n);const B=e[i];B.write(A,n-B.id.clock);for(let t=i+1;t{const i=Ws(e);((A,e,t,n=new Mo(A))=>{sc(e,(A=>{A.local=!1;let e=!1;const t=A.doc,i=t.store,B=((A,e)=>{const t=$E(),n=Ar(A.restDecoder);for(let i=0;i{const n=[];let i=Bs(t.keys()).sort(((A,e)=>A-e));if(0===i.length)return null;const B=()=>{if(0===i.length)return null;let A=t.get(i[i.length-1]);for(;A.refs.length===A.i;){if(i.pop(),!(i.length>0))return null;A=t.get(i[i.length-1])}return A};let E=B();if(null===E)return null;const s=new vo,r=new Map,o=(A,e)=>{const t=r.get(A);(null==t||t>e)&&r.set(A,e)};let c=E.refs[E.i++];const g=new Map,Q=()=>{for(const A of n){const e=A.id.client,n=t.get(e);n?(n.i--,s.clients.set(e,n.refs.slice(n.i)),t.delete(e),n.i=0,n.refs=[]):s.clients.set(e,[A]),i=i.filter((A=>A!==e))}n.length=0};for(;;){if(c.constructor!==Kg){const i=es(g,c.id.client,(()=>_o(e,c.id.client)))-c.id.clock;if(i<0)n.push(c),o(c.id.client,c.id.clock-1),Q();else{const B=c.getMissing(A,e);if(null!==B){n.push(c);const A=t.get(B)||{refs:[],i:0};if(A.refs.length!==A.i){c=A.refs[A.i++];continue}o(B,_o(e,B)),Q()}else(0===i||i0)c=n.pop();else if(null!==E&&E.i0){const A=new uo;return Go(A,s,new Map),fs(A.restEncoder,0),{missing:r,update:A.toUint8Array()}}return null})(A,i,B),s=i.pendingStructs;if(s){for(const[A,t]of s.missing)if(t<_o(i,A)){e=!0;break}if(E){for(const[A,e]of E.missing){const t=s.missing.get(A);(null==t||t>e)&&s.missing.set(A,e)}s.update=Mc([s.update,E.update])}}else i.pendingStructs=E;const r=co(n,A,i);if(i.pendingDs){const e=new Mo(Ws(i.pendingDs));Ar(e.restDecoder);const t=co(e,A,i);i.pendingDs=r&&t?Mc([r,t]):r||t}else i.pendingDs=r;if(e){const e=i.pendingStructs.update;i.pendingStructs=null,Co(A.doc,e)}}),t,!1)})(i,A,t,new n(i))},ko=A=>(A=>{const e=new Map,t=Ar(A.restDecoder);for(let n=0;n(fs(A.restEncoder,e.size),Bs(e.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([e,t])=>{fs(A.restEncoder,e),fs(A.restEncoder,t)})),A);class Yo{constructor(){this.l=[]}}const Fo=()=>new Yo,Uo=(A,e)=>A.l.push(e),fo=(A,e)=>{const t=A.l,n=t.length;A.l=t.filter((A=>e!==A)),n===A.l.length&&console.error("[yjs] Tried to remove event handler that doesn't exist.")},No=(A,e,t)=>Gr(A.l,[e,t]);class So{constructor(A,e){this.client=A,this.clock=e}}const mo=(A,e)=>A===e||null!==A&&null!==e&&A.client===e.client&&A.clock===e.clock,yo=(A,e)=>new So(A,e),bo=A=>{for(const[e,t]of A.doc.share.entries())if(t===A)return e;throw Os()},Ho=(A,e)=>{for(;null!==e;){if(e.parent===A)return!0;e=e.parent._item}return!1};class To{constructor(A,e,t,n=0){this.type=A,this.tname=e,this.item=t,this.assoc=n}}const zo=A=>new To(null==A.type?null:yo(A.type.client,A.type.clock),A.tname||null,null==A.item?null:yo(A.item.client,A.item.clock),null==A.assoc?0:A.assoc);class xo{constructor(A,e,t=0){this.type=A,this.index=e,this.assoc=t}}const po=(A,e,t)=>{let n=null,i=null;return null===A._item?i=bo(A):n=yo(A._item.id.client,A._item.id.clock),new To(n,i,e,t)},Jo=(A,e,t=0)=>{let n=A._start;if(t<0){if(0===e)return po(A,null,t);e--}for(;null!==n;){if(!n.deleted&&n.countable){if(n.length>e)return po(A,yo(n.id.client,n.id.clock+e),t);e-=n.length}if(null===n.right&&t<0)return po(A,n.lastId,t);n=n.right}return po(A,null,t)},jo=(A,e)=>A===e||null!==A&&null!==e&&A.tname===e.tname&&mo(A.item,e.item)&&mo(A.type,e.type)&&A.assoc===e.assoc;class Zo{constructor(A,e){this.ds=A,this.sv=e}}const Po=(A,e)=>new Zo(A,e),Vo=(A,e)=>void 0===e?!A.deleted:e.sv.has(A.id.client)&&(e.sv.get(A.id.client)||0)>A.id.clock&&!to(e.ds,A.id),Lo=(A,e)=>{const t=es(A.meta,Lo,ts),n=A.doc.store;t.has(e)||(e.sv.forEach(((e,t)=>{e<_o(n,t)&&$o(A,yo(t,e))})),eo(A,e.ds,(()=>{})),t.add(e))};class vo{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}}const Oo=A=>{const e=new Map;return A.clients.forEach(((A,t)=>{const n=A[A.length-1];e.set(t,n.id.clock+n.length)})),e},_o=(A,e)=>{const t=A.clients.get(e);if(void 0===t)return 0;const n=t[t.length-1];return n.id.clock+n.length},Ko=(A,e)=>{let t=A.clients.get(e.id.client);if(void 0===t)t=[],A.clients.set(e.id.client,t);else{const A=t[t.length-1];if(A.id.clock+A.length!==e.id.clock)throw Os()}t.push(e)},Xo=(A,e)=>{let t=0,n=A.length-1,i=A[n],B=i.id.clock;if(B===e)return n;let E=rs(e/(B+i.length-1)*n);for(;t<=n;){if(i=A[E],B=i.id.clock,B<=e){if(e{const t=A.clients.get(e.client);return t[Xo(t,e.clock)]},qo=(A,e,t)=>{const n=Xo(e,t),i=e[n];return i.id.clock{const t=A.doc.store.clients.get(e.client);return t[qo(A,t,e.clock)]},Ac=(A,e,t)=>{const n=e.clients.get(t.client),i=Xo(n,t.clock),B=n[i];return t.clock!==B.id.clock+B.length-1&&B.constructor!==Gg&&n.splice(i+1,0,Pg(A,B,t.clock-B.id.clock+1)),B},ec=(A,e,t,n,i)=>{if(0===n)return;const B=t+n;let E,s=qo(A,e,t);do{E=e[s++],B!(0===e.deleteSet.clients.size&&!(A=>{for(const[n,i]of A)if(t=i,e.beforeState.get(n)!==t)return!0;var t;return!1})(e.afterState)||(no(e.deleteSet),((A,e)=>{Go(A,e.doc.store,e.beforeState)})(A,e),ro(A,e.deleteSet),0)),ic=(A,e,t)=>{const n=e._item;(null===n||n.id.clock<(A.beforeState.get(n.id.client)||0)&&!n.deleted)&&es(A.changed,e,ts).add(t)},Bc=(A,e)=>{let t=A[e],n=A[e-1],i=e;for(;i>0&&n.deleted===t.deleted&&n.constructor===t.constructor&&n.mergeWith(t);t=n,n=A[--i-1])t instanceof vg&&null!==t.parentSub&&t.parent._map.get(t.parentSub)===t&&t.parent._map.set(t.parentSub,n);const B=e-i;return B&&A.splice(e+1-B,B),B},Ec=(A,e)=>{if(eA.push((()=>{null!==n._item&&n._item.deleted||n._callObserver(t,e)})))),A.push((()=>{t.changedParentTypes.forEach(((A,e)=>{e._dEH.l.length>0&&(null===e._item||!e._item.deleted)&&((A=A.filter((A=>null===A.target._item||!A.target._item.deleted))).forEach((A=>{A.currentTarget=e,A._path=null})),A.sort(((A,e)=>A.path.length-e.path.length)),No(e._dEH,A,t))}))})),A.push((()=>n.emit("afterTransaction",[t,n]))),Gr(A,[]),t._needFormattingCleanup&&gg(t)}finally{n.gc&&((A,e,t)=>{for(const[n,i]of A.clients.entries()){const A=e.clients.get(n);for(let n=i.length-1;n>=0;n--){const B=i[n],E=B.clock+B.len;for(let n=Xo(A,B.clock),i=A[n];n{A.clients.forEach(((A,t)=>{const n=e.clients.get(t);for(let e=A.length-1;e>=0;e--){const t=A[e];for(let A=cs(n.length-1,1+Xo(n,t.clock+t.len-1)),e=n[A];A>0&&e.id.clock>=t.clock;e=n[A])A-=1+Bc(n,A)}}))})(B,i),t.afterState.forEach(((A,e)=>{const n=t.beforeState.get(e)||0;if(n!==A){const A=i.clients.get(e),t=gs(Xo(A,n),1);for(let e=A.length-1;e>=t;)e-=1+Bc(A,e)}}));for(let A=E.length-1;A>=0;A--){const{client:e,clock:t}=E[A].id,n=i.clients.get(e),B=Xo(n,t);B+11||B>0&&Bc(n,B)}if(t.local||t.afterState.get(n.clientID)===t.beforeState.get(n.clientID)||(((...A)=>{console.log(...Kr(A)),Xr.forEach((e=>e.print(A)))})(vr,pr,"[yjs] ",Jr,Vr,"Changed the client-id because another client seems to be using it."),n.clientID=go()),n.emit("afterTransactionCleanup",[t,n]),n._observers.has("update")){const A=new Ro;nc(A,t)&&n.emit("update",[A.toUint8Array(),t.origin,n,t])}if(n._observers.has("updateV2")){const A=new uo;nc(A,t)&&n.emit("updateV2",[A.toUint8Array(),t.origin,n,t])}const{subdocsAdded:s,subdocsLoaded:r,subdocsRemoved:o}=t;(s.size>0||o.size>0||r.size>0)&&(s.forEach((A=>{A.clientID=n.clientID,null==A.collectionid&&(A.collectionid=n.collectionid),n.subdocs.add(A)})),o.forEach((A=>n.subdocs.delete(A))),n.emit("subdocs",[{loaded:r,added:s,removed:o},n,t]),o.forEach((A=>A.destroy()))),A.length<=e+1?(n._transactionCleanups=[],n.emit("afterAllTransactions",[n,A])):Ec(A,e+1)}}},sc=(A,e,t=null,n=!0)=>{const i=A._transactionCleanups;let B=!1,E=null;null===A._transaction&&(B=!0,A._transaction=new tc(A,t,n),i.push(A._transaction),1===i.length&&A.emit("beforeAllTransactions",[A]),A.emit("beforeTransaction",[A._transaction,A]));try{E=e(A._transaction)}finally{if(B){const e=A._transaction===i[0];A._transaction=null,e&&Ec(i,0)}}return E};class rc{constructor(A,e){this.insertions=e,this.deletions=A,this.meta=new Map}}const oc=(A,e,t)=>{eo(A,t.deletions,(A=>{A instanceof vg&&e.scope.some((e=>Ho(e,A)))&&Zg(A,!1)}))},cc=(A,e,t)=>{let n=null,i=null;const B=A.doc,E=A.scope;return sc(B,(t=>{for(;e.length>0&&null===n;){const i=B.store,s=e.pop(),r=new Set,o=[];let c=!1;eo(t,s.insertions,(A=>{if(A instanceof vg){if(null!==A.redone){let{item:e,diff:n}=jg(i,A.id);n>0&&(e=$o(t,yo(e.id.client,e.id.clock+n))),A=e}!A.deleted&&E.some((e=>Ho(e,A)))&&o.push(A)}})),eo(t,s.deletions,(A=>{A instanceof vg&&E.some((e=>Ho(e,A)))&&!to(s.insertions,A.id)&&r.add(A)})),r.forEach((e=>{c=null!==Lg(t,e,r,s.insertions,A.ignoreRemoteMapChanges,A)||c}));for(let e=o.length-1;e>=0;e--){const n=o[e];A.deleteFilter(n)&&(n.delete(t),c=!0)}n=c?s:null}t.changed.forEach(((A,e)=>{A.has(null)&&e._searchMarker&&(e._searchMarker.length=0)})),i=t}),A),null!=n&&A.emit("stack-item-popped",[{stackItem:n,type:t,changedParentTypes:i.changedParentTypes},A]),n};class gc extends ss{constructor(A,{captureTimeout:e=500,captureTransaction:t=(()=>!0),deleteFilter:n=(()=>!0),trackedOrigins:i=new Set([null]),ignoreRemoteMapChanges:B=!1,doc:E=(Es(A)?A[0].doc:A.doc)}={}){super(),this.scope=[],this.doc=E,this.addToScope(A),this.deleteFilter=n,i.add(this),this.trackedOrigins=i,this.captureTransaction=t,this.undoStack=[],this.redoStack=[],this.undoing=!1,this.redoing=!1,this.lastChange=0,this.ignoreRemoteMapChanges=B,this.captureTimeout=e,this.afterTransactionHandler=A=>{if(!(this.captureTransaction(A)&&this.scope.some((e=>A.changedParentTypes.has(e)))&&(this.trackedOrigins.has(A.origin)||A.origin&&this.trackedOrigins.has(A.origin.constructor))))return;const e=this.undoing,t=this.redoing,n=e?this.redoStack:this.undoStack;e?this.stopCapturing():t||this.clear(!1,!0);const i=new Ao;A.afterState.forEach(((e,t)=>{const n=A.beforeState.get(t)||0,B=e-n;B>0&&Bo(i,t,n,B)}));const B=hr();let E=!1;if(this.lastChange>0&&B-this.lastChange0&&!e&&!t){const e=n[n.length-1];e.deletions=io([e.deletions,A.deleteSet]),e.insertions=io([e.insertions,i])}else n.push(new rc(A.deleteSet,i)),E=!0;e||t||(this.lastChange=B),eo(A,A.deleteSet,(A=>{A instanceof vg&&this.scope.some((e=>Ho(e,A)))&&Zg(A,!0)}));this.emit(E?"stack-item-added":"stack-item-updated",[{stackItem:n[n.length-1],origin:A.origin,type:e?"redo":"undo",changedParentTypes:A.changedParentTypes},this])},this.doc.on("afterTransaction",this.afterTransactionHandler),this.doc.on("destroy",(()=>{this.destroy()}))}addToScope(A){(A=Es(A)?A:[A]).forEach((A=>{this.scope.every((e=>e!==A))&&(A.doc!==this.doc&&((...A)=>{console.warn(...Kr(A)),A.unshift(vr),Xr.forEach((e=>e.print(A)))})("[yjs#509] Not same Y.Doc"),this.scope.push(A))}))}addTrackedOrigin(A){this.trackedOrigins.add(A)}removeTrackedOrigin(A){this.trackedOrigins.delete(A)}clear(A=!0,e=!0){(A&&this.canUndo()||e&&this.canRedo())&&this.doc.transact((t=>{A&&(this.undoStack.forEach((A=>oc(t,this,A))),this.undoStack=[]),e&&(this.redoStack.forEach((A=>oc(t,this,A))),this.redoStack=[]),this.emit("stack-cleared",[{undoStackCleared:A,redoStackCleared:e}])}))}stopCapturing(){this.lastChange=0}undo(){let A;this.undoing=!0;try{A=cc(this,this.undoStack,"undo")}finally{this.undoing=!1}return A}redo(){let A;this.redoing=!0;try{A=cc(this,this.redoStack,"redo")}finally{this.redoing=!1}return A}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}destroy(){this.trackedOrigins.delete(this),this.doc.off("afterTransaction",this.afterTransactionHandler),super.destroy()}}class Qc{constructor(A,e){this.gen=function*(A){const e=Ar(A.restDecoder);for(let t=0;tMc(A,lo,Ro),hc=(A,e)=>{if(A.constructor===Gg){const{client:t,clock:n}=A.id;return new Gg(yo(t,n+e),A.length-e)}if(A.constructor===Kg){const{client:t,clock:n}=A.id;return new Kg(yo(t,n+e),A.length-e)}{const t=A,{client:n,clock:i}=t.id;return new vg(yo(n,i+e),null,yo(n,i+e-1),null,t.rightOrigin,t.parent,t.parentSub,t.content.splice(e))}},Mc=(A,e=Mo,t=uo)=>{if(1===A.length)return A[0];const n=A.map((A=>new e(Ws(A))));let i=n.map((A=>new Qc(A,!0))),B=null;const E=new t,s=new ac(E);for(;i=i.filter((A=>null!==A.curr)),i.sort(((A,e)=>{if(A.curr.id.client===e.curr.id.client){const t=A.curr.id.clock-e.curr.id.clock;return 0===t?A.curr.constructor===e.curr.constructor?0:A.curr.constructor===Kg?1:-1:t}return e.curr.id.client-A.curr.id.client})),0!==i.length;){const A=i[0],e=A.curr.id.client;if(null!==B){let t=A.curr,n=!1;for(;null!==t&&t.id.clock+t.length<=B.struct.id.clock+B.struct.length&&t.id.client>=B.struct.id.client;)t=A.next(),n=!0;if(null===t||t.id.client!==e||n&&t.id.clock>B.struct.id.clock+B.struct.length)continue;if(e!==B.struct.id.client)Ic(s,B.struct,B.offset),B={struct:t,offset:0},A.next();else if(B.struct.id.clock+B.struct.length0&&(B.struct.constructor===Kg?B.struct.length-=e:t=hc(t,e)),B.struct.mergeWith(t)||(Ic(s,B.struct,B.offset),B={struct:t,offset:0},A.next())}}else B={struct:A.curr,offset:0},A.next();for(let t=A.curr;null!==t&&t.id.client===e&&t.id.clock===B.struct.id.clock+B.struct.length&&t.constructor!==Kg;t=A.next())Ic(s,B.struct,B.offset),B={struct:t,offset:0}}null!==B&&(Ic(s,B.struct,B.offset),B=null),uc(s);const r=n.map((A=>oo(A))),o=io(r);return ro(E,o),E.toUint8Array()},wc=(A,e,t=Mo,n=uo)=>{const i=ko(e),B=new n,E=new ac(B),s=new t(Ws(A)),r=new Qc(s,!1);for(;r.curr;){const A=r.curr,e=A.id.client,t=i.get(e)||0;if(r.curr.constructor!==Kg)if(A.id.clock+A.length>t)for(Ic(E,A,gs(t-A.id.clock,0)),r.next();r.curr&&r.curr.id.client===e;)Ic(E,r.curr,0),r.next();else for(;r.curr&&r.curr.id.client===e&&r.curr.id.clock+r.curr.length<=t;)r.next();else r.next()}uc(E);const o=oo(s);return ro(B,o),B.toUint8Array()},Rc=A=>{A.written>0&&(A.clientStructs.push({written:A.written,restEncoder:Ys(A.encoder.restEncoder)}),A.encoder.restEncoder=Ds(),A.written=0)},Ic=(A,e,t)=>{A.written>0&&A.currClient!==e.id.client&&Rc(A),0===A.written&&(A.currClient=e.id.client,A.encoder.writeClient(e.id.client),fs(A.encoder.restEncoder,e.id.clock+t)),e.write(A.encoder,t),A.written++},uc=A=>{Rc(A);const e=A.encoder.restEncoder;fs(e,A.clientStructs.length);for(let t=0;t((A,e,t,n)=>{const i=new Mo(Ws(A)),B=new Qc(i,!1),E=new n,s=new ac(E);for(let A=B.curr;null!==A;A=B.next())Ic(s,e(A),0);uc(s);const r=oo(i);return ro(E,r),E.toUint8Array()})(A,Cr,0,Ro),Gc="You must not compute changes after the event-handler fired.";class Cc{constructor(A,e){this.target=A,this.currentTarget=A,this.transaction=e,this._changes=null,this._keys=null,this._delta=null,this._path=null}get path(){return this._path||(this._path=kc(this.currentTarget,this.target))}deletes(A){return to(this.transaction.deleteSet,A.id)}get keys(){if(null===this._keys){if(0===this.transaction.doc._transactionCleanups.length)throw Ls(Gc);const A=new Map,e=this.target;this.transaction.changed.get(e).forEach((t=>{if(null!==t){const n=e._map.get(t);let i,B;if(this.adds(n)){let A=n.left;for(;null!==A&&this.adds(A);)A=A.left;if(this.deletes(n)){if(null===A||!this.deletes(A))return;i="delete",B=ns(A.content.getContent())}else null!==A&&this.deletes(A)?(i="update",B=ns(A.content.getContent())):(i="add",B=void 0)}else{if(!this.deletes(n))return;i="delete",B=ns(n.content.getContent())}A.set(t,{action:i,oldValue:B})}})),this._keys=A}return this._keys}get delta(){return this.changes.delta}adds(A){return A.id.clock>=(this.transaction.beforeState.get(A.id.client)||0)}get changes(){let A=this._changes;if(null===A){if(0===this.transaction.doc._transactionCleanups.length)throw Ls(Gc);const e=this.target,t=ts(),n=ts(),i=[];if(A={added:t,deleted:n,delta:i,keys:this.keys},this.transaction.changed.get(e).has(null)){let A=null;const B=()=>{A&&i.push(A)};for(let i=e._start;null!==i;i=i.right)i.deleted?this.deletes(i)&&!this.adds(i)&&(null!==A&&void 0!==A.delete||(B(),A={delete:0}),A.delete+=i.length,n.add(i)):this.adds(i)?(null!==A&&void 0!==A.insert||(B(),A={insert:[]}),A.insert=A.insert.concat(i.content.getContent()),t.add(i)):(null!==A&&void 0!==A.retain||(B(),A={retain:0}),A.retain+=i.length);null!==A&&void 0===A.retain&&B()}this._changes=A}return A}}const kc=(A,e)=>{const t=[];for(;null!==e._item&&e!==A;){if(null!==e._item.parentSub)t.unshift(e._item.parentSub);else{let A=0,n=e._item.parent._start;for(;n!==e._item&&null!==n;)n.deleted||A++,n=n.right;t.unshift(A)}e=e._item.parent}return t};let Dc=0;class Yc{constructor(A,e){A.marker=!0,this.p=A,this.index=e,this.timestamp=Dc++}}const Fc=(A,e,t)=>{A.p.marker=!1,A.p=e,e.marker=!0,A.index=t,A.timestamp=Dc++},Uc=(A,e)=>{if(null===A._start||0===e||null===A._searchMarker)return null;const t=0===A._searchMarker.length?null:A._searchMarker.reduce(((A,t)=>os(e-A.index){A.timestamp=Dc++})(t));null!==n.right&&ie;)n=n.left,!n.deleted&&n.countable&&(i-=n.length);for(;null!==n.left&&n.left.id.client===n.id.client&&n.left.id.clock+n.left.length===n.id.clock;)n=n.left,!n.deleted&&n.countable&&(i-=n.length);return null!==t&&os(t.index-i){if(A.length>=80){const n=A.reduce(((A,e)=>A.timestamp{for(let n=A.length-1;n>=0;n--){const i=A[n];if(t>0){let e=i.p;for(e.marker=!1;e&&(e.deleted||!e.countable);)e=e.left,e&&!e.deleted&&e.countable&&(i.index-=e.length);if(null===e||!0===e.marker){A.splice(n,1);continue}i.p=e,e.marker=!0}(e0&&e===i.index)&&(i.index=gs(e,i.index+t))}},Nc=(A,e,t)=>{const n=A,i=e.changedParentTypes;for(;es(i,A,(()=>[])).push(t),null!==A._item;)A=A._item.parent;No(n._eH,t,e)};class Sc{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=Fo(),this._dEH=Fo(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(A,e){this.doc=A,this._item=e}_copy(){throw vs()}clone(){throw vs()}_write(A){}get _first(){let A=this._start;for(;null!==A&&A.deleted;)A=A.right;return A}_callObserver(A,e){!A.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(A){Uo(this._eH,A)}observeDeep(A){Uo(this._dEH,A)}unobserve(A){fo(this._eH,A)}unobserveDeep(A){fo(this._dEH,A)}toJSON(){}}const mc=(A,e,t)=>{e<0&&(e=A._length+e),t<0&&(t=A._length+t);let n=t-e;const i=[];let B=A._start;for(;null!==B&&n>0;){if(B.countable&&!B.deleted){const A=B.content.getContent();if(A.length<=e)e-=A.length;else{for(let t=e;t0;t++)i.push(A[t]),n--;e=0}}B=B.right}return i},yc=A=>{const e=[];let t=A._start;for(;null!==t;){if(t.countable&&!t.deleted){const A=t.content.getContent();for(let t=0;t{const t=[];let n=A._start;for(;null!==n;){if(n.countable&&Vo(n,e)){const A=n.content.getContent();for(let e=0;e{let t=0,n=A._start;for(;null!==n;){if(n.countable&&!n.deleted){const i=n.content.getContent();for(let n=0;n{const t=[];return Hc(A,((n,i)=>{t.push(e(n,i,A))})),t},zc=A=>{let e=A._start,t=null,n=0;return{[Symbol.iterator](){return this},next:()=>{if(null===t){for(;null!==e&&e.deleted;)e=e.right;if(null===e)return{done:!0,value:void 0};t=e.content.getContent(),n=0,e=e.right}const A=t[n++];return t.length<=n&&(t=null),{done:!1,value:A}}}},xc=(A,e)=>{const t=Uc(A,e);let n=A._start;for(null!==t&&(n=t.p,e-=t.index);null!==n;n=n.right)if(!n.deleted&&n.countable){if(e{let i=t;const B=A.doc,E=B.clientID,s=B.store,r=null===t?e._start:t.right;let o=[];const c=()=>{o.length>0&&(i=new vg(yo(E,_o(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new Ng(o)),i.integrate(A,0),o=[])};n.forEach((t=>{if(null===t)o.push(t);else switch(t.constructor){case Number:case Object:case Boolean:case Array:case String:o.push(t);break;default:switch(c(),t.constructor){case Uint8Array:case ArrayBuffer:i=new vg(yo(E,_o(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new Cg(new Uint8Array(t))),i.integrate(A,0);break;case Qo:i=new vg(yo(E,_o(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new Yg(t)),i.integrate(A,0);break;default:if(!(t instanceof Sc))throw new Error("Unexpected content type in insert operation");i=new vg(yo(E,_o(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new Jg(t)),i.integrate(A,0)}}})),c()},Jc=()=>Ls("Length exceeded!"),jc=(A,e,t,n)=>{if(t>e._length)throw Jc();if(0===t)return e._searchMarker&&fc(e._searchMarker,t,n.length),pc(A,e,null,n);const i=t,B=Uc(e,t);let E=e._start;for(null!==B&&(E=B.p,0==(t-=B.index)&&(E=E.prev,t+=E&&E.countable&&!E.deleted?E.length:0));null!==E;E=E.right)if(!E.deleted&&E.countable){if(t<=E.length){t{if(0===n)return;const i=t,B=n,E=Uc(e,t);let s=e._start;for(null!==E&&(s=E.p,t-=E.index);null!==s&&t>0;s=s.right)!s.deleted&&s.countable&&(t0&&null!==s;)s.deleted||(n0)throw Jc();e._searchMarker&&fc(e._searchMarker,i,-B+n)},Pc=(A,e,t)=>{const n=e._map.get(t);void 0!==n&&n.delete(A)},Vc=(A,e,t,n)=>{const i=e._map.get(t)||null,B=A.doc,E=B.clientID;let s;if(null==n)s=new Ng([n]);else switch(n.constructor){case Number:case Object:case Boolean:case Array:case String:s=new Ng([n]);break;case Uint8Array:s=new Cg(n);break;case Qo:s=new Yg(n);break;default:if(!(n instanceof Sc))throw new Error("Unexpected content type");s=new Jg(n)}new vg(yo(E,_o(B.store,E)),i,i&&i.lastId,null,null,e,t,s).integrate(A,0)},Lc=(A,e)=>{const t=A._map.get(e);return void 0===t||t.deleted?void 0:t.content.getContent()[t.length-1]},vc=A=>{const e={};return A._map.forEach(((A,t)=>{A.deleted||(e[t]=A.content.getContent()[A.length-1])})),e},Oc=(A,e)=>{const t=A._map.get(e);return void 0!==t&&!t.deleted},_c=A=>{return e=A.entries(),t=A=>!A[1].deleted,Wr((()=>{let A;do{A=e.next()}while(!A.done&&!t(A.value));return A}));var e,t};class Kc extends Cc{constructor(A,e){super(A,e),this._transaction=e}}class Xc extends Sc{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(A){const e=new Xc;return e.push(A),e}_integrate(A,e){super._integrate(A,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new Xc}clone(){const A=new Xc;return A.insert(0,this.toArray().map((A=>A instanceof Sc?A.clone():A))),A}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}_callObserver(A,e){super._callObserver(A,e),Nc(this,A,new Kc(this,A))}insert(A,e){null!==this.doc?sc(this.doc,(t=>{jc(t,this,A,e)})):this._prelimContent.splice(A,0,...e)}push(A){null!==this.doc?sc(this.doc,(e=>{((A,e,t)=>{let n=(e._searchMarker||[]).reduce(((A,e)=>e.index>A.index?e:A),{index:0,p:e._start}).p;if(n)for(;n.right;)n=n.right;pc(A,e,n,t)})(e,this,A)})):this._prelimContent.push(...A)}unshift(A){this.insert(0,A)}delete(A,e=1){null!==this.doc?sc(this.doc,(t=>{Zc(t,this,A,e)})):this._prelimContent.splice(A,e)}get(A){return xc(this,A)}toArray(){return yc(this)}slice(A=0,e=this.length){return mc(this,A,e)}toJSON(){return this.map((A=>A instanceof Sc?A.toJSON():A))}map(A){return Tc(this,A)}forEach(A){Hc(this,A)}[Symbol.iterator](){return zc(this)}_write(A){A.writeTypeRef(yg)}}class Wc extends Cc{constructor(A,e,t){super(A,e),this.keysChanged=t}}class qc extends Sc{constructor(A){super(),this._prelimContent=null,this._prelimContent=void 0===A?new Map:new Map(A)}_integrate(A,e){super._integrate(A,e),this._prelimContent.forEach(((A,e)=>{this.set(e,A)})),this._prelimContent=null}_copy(){return new qc}clone(){const A=new qc;return this.forEach(((e,t)=>{A.set(t,e instanceof Sc?e.clone():e)})),A}_callObserver(A,e){Nc(this,A,new Wc(this,A,e))}toJSON(){const A={};return this._map.forEach(((e,t)=>{if(!e.deleted){const n=e.content.getContent()[e.length-1];A[t]=n instanceof Sc?n.toJSON():n}})),A}get size(){return[..._c(this._map)].length}keys(){return qr(_c(this._map),(A=>A[0]))}values(){return qr(_c(this._map),(A=>A[1].content.getContent()[A[1].length-1]))}entries(){return qr(_c(this._map),(A=>[A[0],A[1].content.getContent()[A[1].length-1]]))}forEach(A){this._map.forEach(((e,t)=>{e.deleted||A(e.content.getContent()[e.length-1],t,this)}))}[Symbol.iterator](){return this.entries()}delete(A){null!==this.doc?sc(this.doc,(e=>{Pc(e,this,A)})):this._prelimContent.delete(A)}set(A,e){return null!==this.doc?sc(this.doc,(t=>{Vc(t,this,A,e)})):this._prelimContent.set(A,e),e}get(A){return Lc(this,A)}has(A){return Oc(this,A)}clear(){null!==this.doc?sc(this.doc,(A=>{this.forEach((function(e,t,n){Pc(A,n,t)}))})):this._prelimContent.clear()}_write(A){A.writeTypeRef(bg)}}const $c=(A,e)=>A===e||"object"==typeof A&&"object"==typeof e&&A&&e&&((A,e)=>A===e||dr(A)===dr(e)&&((A,e)=>{for(const t in A)if(!e(A[t],t))return!1;return!0})(A,((A,t)=>(void 0!==A||((A,e)=>Object.prototype.hasOwnProperty.call(A,e))(e,t))&&e[t]===A)))(A,e);class Ag{constructor(A,e,t,n){this.left=A,this.right=e,this.index=t,this.currentAttributes=n}forward(){null===this.right&&Os(),this.right.content.constructor===Ug?this.right.deleted||ig(this.currentAttributes,this.right.content):this.right.deleted||(this.index+=this.right.length),this.left=this.right,this.right=this.right.right}}const eg=(A,e,t)=>{for(;null!==e.right&&t>0;)e.right.content.constructor===Ug?e.right.deleted||ig(e.currentAttributes,e.right.content):e.right.deleted||(t{const n=new Map,i=Uc(e,t);if(i){const e=new Ag(i.p.left,i.p,i.index,n);return eg(A,e,t-i.index)}{const i=new Ag(null,e._start,0,n);return eg(A,i,t)}},ng=(A,e,t,n)=>{for(;null!==t.right&&(!0===t.right.deleted||t.right.content.constructor===Ug&&$c(n.get(t.right.content.key),t.right.content.value));)t.right.deleted||n.delete(t.right.content.key),t.forward();const i=A.doc,B=i.clientID;n.forEach(((n,E)=>{const s=t.left,r=t.right,o=new vg(yo(B,_o(i.store,B)),s,s&&s.lastId,r,r&&r.id,e,null,new Ug(E,n));o.integrate(A,0),t.right=o,t.forward()}))},ig=(A,e)=>{const{key:t,value:n}=e;null===n?A.delete(t):A.set(t,n)},Bg=(A,e)=>{for(;null!==A.right&&(A.right.deleted||A.right.content.constructor===Ug&&$c(e[A.right.content.key]||null,A.right.content.value));)A.forward()},Eg=(A,e,t,n)=>{const i=A.doc,B=i.clientID,E=new Map;for(const s in n){const r=n[s],o=t.currentAttributes.get(s)||null;if(!$c(o,r)){E.set(s,o);const{left:n,right:c}=t;t.right=new vg(yo(B,_o(i.store,B)),n,n&&n.lastId,c,c&&c.id,e,null,new Ug(s,r)),t.right.integrate(A,0),t.forward()}}return E},sg=(A,e,t,n,i)=>{t.currentAttributes.forEach(((A,e)=>{void 0===i[e]&&(i[e]=null)}));const B=A.doc,E=B.clientID;Bg(t,i);const s=Eg(A,e,t,i),r=n.constructor===String?new Sg(n):n instanceof Sc?new Jg(n):new Fg(n);let{left:o,right:c,index:g}=t;e._searchMarker&&fc(e._searchMarker,t.index,r.getLength()),c=new vg(yo(E,_o(B.store,E)),o,o&&o.lastId,c,c&&c.id,e,null,r),c.integrate(A,0),t.right=c,t.index=g,t.forward(),ng(A,e,t,s)},rg=(A,e,t,n,i)=>{const B=A.doc,E=B.clientID;Bg(t,i);const s=Eg(A,e,t,i);A:for(;null!==t.right&&(n>0||s.size>0&&(t.right.deleted||t.right.content.constructor===Ug));){if(!t.right.deleted)switch(t.right.content.constructor){case Ug:{const{key:e,value:B}=t.right.content,E=i[e];if(void 0!==E){if($c(E,B))s.delete(e);else{if(0===n)break A;s.set(e,B)}t.right.delete(A)}else t.currentAttributes.set(e,B);break}default:n0){let i="";for(;n>0;n--)i+="\n";t.right=new vg(yo(E,_o(B.store,E)),t.left,t.left&&t.left.lastId,t.right,t.right&&t.right.id,e,null,new Sg(i)),t.right.integrate(A,0),t.forward()}ng(A,e,t,s)},og=(A,e,t,n,i)=>{let B=e;const E=$E();for(;B&&(!B.countable||B.deleted);){if(!B.deleted&&B.content.constructor===Ug){const A=B.content;E.set(A.key,A)}B=B.right}let s=0,r=!1;for(;e!==B;){if(t===e&&(r=!0),!e.deleted){const t=e.content;switch(t.constructor){case Ug:{const{key:B,value:o}=t,c=n.get(B)||null;E.get(B)===t&&c!==o||(e.delete(A),s++,r||(i.get(B)||null)!==o||c===o||(null===c?i.delete(B):i.set(B,c))),r||e.deleted||ig(i,t);break}}}e=e.right}return s},cg=A=>{let e=0;return sc(A.doc,(t=>{let n=A._start,i=A._start,B=$E();const E=As(B);for(;i;)!1===i.deleted&&(i.content.constructor===Ug?ig(E,i.content):(e+=og(t,n,i,B,E),B=As(E),n=i)),i=i.right})),e},gg=A=>{const e=new Set,t=A.doc;for(const[n,i]of A.afterState.entries()){const B=A.beforeState.get(n)||0;i!==B&&ec(A,t.store.clients.get(n),B,i,(A=>{A.deleted||A.content.constructor!==Ug||A.constructor===Gg||e.add(A.parent)}))}sc(t,(t=>{eo(A,A.deleteSet,(A=>{A instanceof Gg||!A.parent._hasFormatting||e.has(A.parent)||(A.content.constructor===Ug?e.add(A.parent):((A,e)=>{for(;e&&e.right&&(e.right.deleted||!e.right.countable);)e=e.right;const t=new Set;for(;e&&(e.deleted||!e.countable);){if(!e.deleted&&e.content.constructor===Ug){const n=e.content.key;t.has(n)?e.delete(A):t.add(n)}e=e.left}})(t,A))}));for(const A of e)cg(A)}))},Qg=(A,e,t)=>{const n=t,i=As(e.currentAttributes),B=e.right;for(;t>0&&null!==e.right;){if(!1===e.right.deleted)switch(e.right.content.constructor){case Jg:case Fg:case Sg:t{null===A?this.childListChanged=!0:this.keysChanged.add(A)}))}get changes(){if(null===this._changes){const A={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=A}return this._changes}get delta(){if(null===this._delta){const A=[];sc(this.target.doc,(e=>{const t=new Map,n=new Map;let i=this.target._start,B=null;const E={};let s="",r=0,o=0;const c=()=>{if(null!==B){let e=null;switch(B){case"delete":o>0&&(e={delete:o}),o=0;break;case"insert":("object"==typeof s||s.length>0)&&(e={insert:s},t.size>0&&(e.attributes={},t.forEach(((A,t)=>{null!==A&&(e.attributes[t]=A)})))),s="";break;case"retain":r>0&&(e={retain:r},(A=>{for(const e in A)return!1;return!0})(E)||(e.attributes=Ir({},E))),r=0}e&&A.push(e),B=null}};for(;null!==i;){switch(i.content.constructor){case Jg:case Fg:this.adds(i)?this.deletes(i)||(c(),B="insert",s=i.content.getContent()[0],c()):this.deletes(i)?("delete"!==B&&(c(),B="delete"),o+=1):i.deleted||("retain"!==B&&(c(),B="retain"),r+=1);break;case Sg:this.adds(i)?this.deletes(i)||("insert"!==B&&(c(),B="insert"),s+=i.content.str):this.deletes(i)?("delete"!==B&&(c(),B="delete"),o+=i.length):i.deleted||("retain"!==B&&(c(),B="retain"),r+=i.length);break;case Ug:{const{key:A,value:s}=i.content;if(this.adds(i)){if(!this.deletes(i)){const r=t.get(A)||null;$c(r,s)?null!==s&&i.delete(e):("retain"===B&&c(),$c(s,n.get(A)||null)?delete E[A]:E[A]=s)}}else if(this.deletes(i)){n.set(A,s);const e=t.get(A)||null;$c(e,s)||("retain"===B&&c(),E[A]=e)}else if(!i.deleted){n.set(A,s);const t=E[A];void 0!==t&&($c(t,s)?null!==t&&i.delete(e):("retain"===B&&c(),null===s?delete E[A]:E[A]=s))}i.deleted||("insert"===B&&c(),ig(t,i.content));break}}i=i.right}for(c();A.length>0;){const e=A[A.length-1];if(void 0===e.retain||void 0!==e.attributes)break;A.pop()}})),this._delta=A}return this._delta}}class lg extends Sc{constructor(A){super(),this._pending=void 0!==A?[()=>this.insert(0,A)]:[],this._searchMarker=[],this._hasFormatting=!1}get length(){return this._length}_integrate(A,e){super._integrate(A,e);try{this._pending.forEach((A=>A()))}catch(A){console.error(A)}this._pending=null}_copy(){return new lg}clone(){const A=new lg;return A.applyDelta(this.toDelta()),A}_callObserver(A,e){super._callObserver(A,e);const t=new ag(this,A,e);Nc(this,A,t),!A.local&&this._hasFormatting&&(A._needFormattingCleanup=!0)}toString(){let A="",e=this._start;for(;null!==e;)!e.deleted&&e.countable&&e.content.constructor===Sg&&(A+=e.content.str),e=e.right;return A}toJSON(){return this.toString()}applyDelta(A,{sanitize:e=!0}={}){null!==this.doc?sc(this.doc,(t=>{const n=new Ag(null,this._start,0,new Map);for(let i=0;i0)&&sg(t,this,n,E,B.attributes||{})}else void 0!==B.retain?rg(t,this,n,B.retain,B.attributes||{}):void 0!==B.delete&&Qg(t,n,B.delete)}})):this._pending.push((()=>this.applyDelta(A)))}toDelta(A,e,t){const n=[],i=new Map;let B="",E=this._start;function s(){if(B.length>0){const A={};let e=!1;i.forEach(((t,n)=>{e=!0,A[n]=t}));const t={insert:B};e&&(t.attributes=A),n.push(t),B=""}}const r=()=>{for(;null!==E;){if(Vo(E,A)||void 0!==e&&Vo(E,e))switch(E.content.constructor){case Sg:{const n=i.get("ychange");void 0===A||Vo(E,A)?void 0===e||Vo(E,e)?void 0!==n&&(s(),i.delete("ychange")):void 0!==n&&n.user===E.id.client&&"added"===n.type||(s(),i.set("ychange",t?t("added",E.id):{type:"added"})):void 0!==n&&n.user===E.id.client&&"removed"===n.type||(s(),i.set("ychange",t?t("removed",E.id):{type:"removed"})),B+=E.content.str;break}case Jg:case Fg:{s();const A={insert:E.content.getContent()[0]};if(i.size>0){const e={};A.attributes=e,i.forEach(((A,t)=>{e[t]=A}))}n.push(A);break}case Ug:Vo(E,A)&&(s(),ig(i,E.content))}E=E.right}s()};return A||e?sc(this.doc,(t=>{A&&Lo(t,A),e&&Lo(t,e),r()}),"cleanup"):r(),n}insert(A,e,t){if(e.length<=0)return;const n=this.doc;null!==n?sc(n,(n=>{const i=tg(n,this,A);t||(t={},i.currentAttributes.forEach(((A,e)=>{t[e]=A}))),sg(n,this,i,e,t)})):this._pending.push((()=>this.insert(A,e,t)))}insertEmbed(A,e,t={}){const n=this.doc;null!==n?sc(n,(n=>{const i=tg(n,this,A);sg(n,this,i,e,t)})):this._pending.push((()=>this.insertEmbed(A,e,t)))}delete(A,e){if(0===e)return;const t=this.doc;null!==t?sc(t,(t=>{Qg(t,tg(t,this,A),e)})):this._pending.push((()=>this.delete(A,e)))}format(A,e,t){if(0===e)return;const n=this.doc;null!==n?sc(n,(n=>{const i=tg(n,this,A);null!==i.right&&rg(n,this,i,e,t)})):this._pending.push((()=>this.format(A,e,t)))}removeAttribute(A){null!==this.doc?sc(this.doc,(e=>{Pc(e,this,A)})):this._pending.push((()=>this.removeAttribute(A)))}setAttribute(A,e){null!==this.doc?sc(this.doc,(t=>{Vc(t,this,A,e)})):this._pending.push((()=>this.setAttribute(A,e)))}getAttribute(A){return Lc(this,A)}getAttributes(){return vc(this)}_write(A){A.writeTypeRef(Hg)}}class hg{constructor(A,e=(()=>!0)){this._filter=e,this._root=A,this._currentNode=A._start,this._firstCall=!0}[Symbol.iterator](){return this}next(){let A=this._currentNode,e=A&&A.content&&A.content.type;if(null!==A&&(!this._firstCall||A.deleted||!this._filter(e)))do{if(e=A.content.type,A.deleted||e.constructor!==wg&&e.constructor!==Mg||null===e._start)for(;null!==A;){if(null!==A.right){A=A.right;break}A=A.parent===this._root?null:A.parent._item}else A=e._start}while(null!==A&&(A.deleted||!this._filter(A.content.type)));return this._firstCall=!1,null===A?{value:void 0,done:!0}:(this._currentNode=A,{value:A.content.type,done:!1})}}class Mg extends Sc{constructor(){super(),this._prelimContent=[]}get firstChild(){const A=this._first;return A?A.content.getContent()[0]:null}_integrate(A,e){super._integrate(A,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new Mg}clone(){const A=new Mg;return A.insert(0,this.toArray().map((A=>A instanceof Sc?A.clone():A))),A}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}createTreeWalker(A){return new hg(this,A)}querySelector(A){A=A.toUpperCase();const e=new hg(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===A)).next();return e.done?null:e.value}querySelectorAll(A){return A=A.toUpperCase(),Bs(new hg(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===A)))}_callObserver(A,e){Nc(this,A,new Rg(this,e,A))}toString(){return Tc(this,(A=>A.toString())).join("")}toJSON(){return this.toString()}toDOM(A=document,e={},t){const n=A.createDocumentFragment();return void 0!==t&&t._createAssociation(n,this),Hc(this,(i=>{n.insertBefore(i.toDOM(A,e,t),null)})),n}insert(A,e){null!==this.doc?sc(this.doc,(t=>{jc(t,this,A,e)})):this._prelimContent.splice(A,0,...e)}insertAfter(A,e){if(null!==this.doc)sc(this.doc,(t=>{pc(t,this,A&&A instanceof Sc?A._item:A,e)}));else{const t=this._prelimContent,n=null===A?0:t.findIndex((e=>e===A))+1;if(0===n&&null!==A)throw Ls("Reference item not found");t.splice(n,0,...e)}}delete(A,e=1){null!==this.doc?sc(this.doc,(t=>{Zc(t,this,A,e)})):this._prelimContent.splice(A,e)}toArray(){return yc(this)}push(A){this.insert(this.length,A)}unshift(A){this.insert(0,A)}get(A){return xc(this,A)}slice(A=0,e=this.length){return mc(this,A,e)}forEach(A){Hc(this,A)}_write(A){A.writeTypeRef(zg)}}class wg extends Mg{constructor(A="UNDEFINED"){super(),this.nodeName=A,this._prelimAttrs=new Map}get nextSibling(){const A=this._item?this._item.next:null;return A?A.content.type:null}get prevSibling(){const A=this._item?this._item.prev:null;return A?A.content.type:null}_integrate(A,e){super._integrate(A,e),this._prelimAttrs.forEach(((A,e)=>{this.setAttribute(e,A)})),this._prelimAttrs=null}_copy(){return new wg(this.nodeName)}clone(){const A=new wg(this.nodeName);return((A,e)=>{for(const t in A)e(A[t],t)})(this.getAttributes(),((e,t)=>{"string"==typeof e&&A.setAttribute(t,e)})),A.insert(0,this.toArray().map((A=>A instanceof Sc?A.clone():A))),A}toString(){const A=this.getAttributes(),e=[],t=[];for(const e in A)t.push(e);t.sort();const n=t.length;for(let i=0;i0?" "+e.join(" "):""}>${super.toString()}`}removeAttribute(A){null!==this.doc?sc(this.doc,(e=>{Pc(e,this,A)})):this._prelimAttrs.delete(A)}setAttribute(A,e){null!==this.doc?sc(this.doc,(t=>{Vc(t,this,A,e)})):this._prelimAttrs.set(A,e)}getAttribute(A){return Lc(this,A)}hasAttribute(A){return Oc(this,A)}getAttributes(A){return A?((A,e)=>{const t={};return this._map.forEach(((A,n)=>{let i=A;for(;null!==i&&(!e.sv.has(i.id.client)||i.id.clock>=(e.sv.get(i.id.client)||0));)i=i.left;null!==i&&Vo(i,e)&&(t[n]=i.content.getContent()[i.length-1])})),t})(0,A):vc(this)}toDOM(A=document,e={},t){const n=A.createElement(this.nodeName),i=this.getAttributes();for(const A in i){const e=i[A];"string"==typeof e&&n.setAttribute(A,e)}return Hc(this,(i=>{n.appendChild(i.toDOM(A,e,t))})),void 0!==t&&t._createAssociation(n,this),n}_write(A){A.writeTypeRef(Tg),A.writeKey(this.nodeName)}}class Rg extends Cc{constructor(A,e,t){super(A,t),this.childListChanged=!1,this.attributesChanged=new Set,e.forEach((A=>{null===A?this.childListChanged=!0:this.attributesChanged.add(A)}))}}class Ig extends qc{constructor(A){super(),this.hookName=A}_copy(){return new Ig(this.hookName)}clone(){const A=new Ig(this.hookName);return this.forEach(((e,t)=>{A.set(t,e)})),A}toDOM(A=document,e={},t){const n=e[this.hookName];let i;return i=void 0!==n?n.createDom(this):document.createElement(this.hookName),i.setAttribute("data-yjs-hook",this.hookName),void 0!==t&&t._createAssociation(i,this),i}_write(A){A.writeTypeRef(xg),A.writeKey(this.hookName)}}class ug extends lg{get nextSibling(){const A=this._item?this._item.next:null;return A?A.content.type:null}get prevSibling(){const A=this._item?this._item.prev:null;return A?A.content.type:null}_copy(){return new ug}clone(){const A=new ug;return A.applyDelta(this.toDelta()),A}toDOM(A=document,e,t){const n=A.createTextNode(this.toString());return void 0!==t&&t._createAssociation(n,this),n}toString(){return this.toDelta().map((A=>{const e=[];for(const t in A.attributes){const n=[];for(const e in A.attributes[t])n.push({key:e,value:A.attributes[t][e]});n.sort(((A,e)=>A.keyA.nodeName=0;A--)t+=``;return t})).join("")}toJSON(){return this.toString()}_write(A){A.writeTypeRef(pg)}}class dg{constructor(A,e){this.id=A,this.length=e}get deleted(){throw vs()}mergeWith(A){return!1}write(A,e,t){throw vs()}integrate(A,e){throw vs()}}class Gg extends dg{get deleted(){return!0}delete(){}mergeWith(A){return this.constructor===A.constructor&&(this.length+=A.length,!0)}integrate(A,e){e>0&&(this.id.clock+=e,this.length-=e),Ko(A.doc.store,this)}write(A,e){A.writeInfo(0),A.writeLen(this.length-e)}getMissing(A,e){return null}}class Cg{constructor(A){this.content=A}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new Cg(this.content)}splice(A){throw vs()}mergeWith(A){return!1}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeBuf(this.content)}getRef(){return 3}}class kg{constructor(A){this.len=A}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new kg(this.len)}splice(A){const e=new kg(this.len-A);return this.len=A,e}mergeWith(A){return this.len+=A.len,!0}integrate(A,e){Bo(A.deleteSet,e.id.client,e.id.clock,this.len),e.markDeleted()}delete(A){}gc(A){}write(A,e){A.writeLen(this.len-e)}getRef(){return 1}}const Dg=(A,e)=>new Qo({guid:A,...e,shouldLoad:e.shouldLoad||e.autoLoad||!1});class Yg{constructor(A){A._item&&console.error("This document was already integrated as a sub-document. You should create a second instance instead with the same guid."),this.doc=A;const e={};this.opts=e,A.gc||(e.gc=!1),A.autoLoad&&(e.autoLoad=!0),null!==A.meta&&(e.meta=A.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new Yg(Dg(this.doc.guid,this.opts))}splice(A){throw vs()}mergeWith(A){return!1}integrate(A,e){this.doc._item=e,A.subdocsAdded.add(this.doc),this.doc.shouldLoad&&A.subdocsLoaded.add(this.doc)}delete(A){A.subdocsAdded.has(this.doc)?A.subdocsAdded.delete(this.doc):A.subdocsRemoved.add(this.doc)}gc(A){}write(A,e){A.writeString(this.doc.guid),A.writeAny(this.opts)}getRef(){return 9}}class Fg{constructor(A){this.embed=A}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new Fg(this.embed)}splice(A){throw vs()}mergeWith(A){return!1}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeJSON(this.embed)}getRef(){return 5}}class Ug{constructor(A,e){this.key=A,this.value=e}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new Ug(this.key,this.value)}splice(A){throw vs()}mergeWith(A){return!1}integrate(A,e){const t=e.parent;t._searchMarker=null,t._hasFormatting=!0}delete(A){}gc(A){}write(A,e){A.writeKey(this.key),A.writeJSON(this.value)}getRef(){return 6}}class fg{constructor(A){this.arr=A}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new fg(this.arr)}splice(A){const e=new fg(this.arr.slice(A));return this.arr=this.arr.slice(0,A),e}mergeWith(A){return this.arr=this.arr.concat(A.arr),!0}integrate(A,e){}delete(A){}gc(A){}write(A,e){const t=this.arr.length;A.writeLen(t-e);for(let n=e;n=55296&&t<=56319&&(this.str=this.str.slice(0,A-1)+"�",e.str="�"+e.str.slice(1)),e}mergeWith(A){return this.str+=A.str,!0}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeString(0===e?this.str:this.str.slice(e))}getRef(){return 4}}const mg=[()=>new Xc,()=>new qc,()=>new lg,A=>new wg(A.readKey()),()=>new Mg,A=>new Ig(A.readKey()),()=>new ug],yg=0,bg=1,Hg=2,Tg=3,zg=4,xg=5,pg=6;class Jg{constructor(A){this.type=A}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new Jg(this.type._copy())}splice(A){throw vs()}mergeWith(A){return!1}integrate(A,e){this.type._integrate(A.doc,e)}delete(A){let e=this.type._start;for(;null!==e;)e.deleted?e.id.clock<(A.beforeState.get(e.id.client)||0)&&A._mergeStructs.push(e):e.delete(A),e=e.right;this.type._map.forEach((e=>{e.deleted?e.id.clock<(A.beforeState.get(e.id.client)||0)&&A._mergeStructs.push(e):e.delete(A)})),A.changed.delete(this.type)}gc(A){let e=this.type._start;for(;null!==e;)e.gc(A,!0),e=e.right;this.type._start=null,this.type._map.forEach((e=>{for(;null!==e;)e.gc(A,!0),e=e.left})),this.type._map=new Map}write(A,e){this.type._write(A)}getRef(){return 7}}const jg=(A,e)=>{let t,n=e,i=0;do{i>0&&(n=yo(n.client,n.clock+i)),t=Wo(A,n),i=n.clock-t.id.clock,n=t.redone}while(null!==n&&t instanceof vg);return{item:t,diff:i}},Zg=(A,e)=>{for(;null!==A&&A.keep!==e;)A.keep=e,A=A.parent._item},Pg=(A,e,t)=>{const{client:n,clock:i}=e.id,B=new vg(yo(n,i+t),e,yo(n,i+t-1),e.right,e.rightOrigin,e.parent,e.parentSub,e.content.splice(t));return e.deleted&&B.markDeleted(),e.keep&&(B.keep=!0),null!==e.redone&&(B.redone=yo(e.redone.client,e.redone.clock+t)),e.right=B,null!==B.right&&(B.right.left=B),A._mergeStructs.push(B),null!==B.parentSub&&null===B.right&&B.parent._map.set(B.parentSub,B),e.length=t,B},Vg=(A,e)=>(A=>{for(let t=0;t{const E=A.doc,s=E.store,r=E.clientID,o=e.redone;if(null!==o)return $o(A,o);let c,g=e.parent._item,Q=null;if(null!==g&&!0===g.deleted){if(null===g.redone&&(!t.has(g)||null===Lg(A,g,t,n,i,B)))return null;for(;null!==g.redone;)g=$o(A,g.redone)}const a=null===g?e.parent:g.content.type;if(null===e.parentSub){for(Q=e.left,c=e;null!==Q;){let e=Q;for(;null!==e&&e.parent._item!==g;)e=null===e.redone?null:$o(A,e.redone);if(null!==e&&e.parent._item===g){Q=e;break}Q=Q.left}for(;null!==c;){let e=c;for(;null!==e&&e.parent._item!==g;)e=null===e.redone?null:$o(A,e.redone);if(null!==e&&e.parent._item===g){c=e;break}c=c.right}}else if(c=null,e.right&&!i){for(Q=e;null!==Q&&null!==Q.right&&(Q.right.redone||to(n,Q.right.id)||Vg(B.undoStack,Q.right.id)||Vg(B.redoStack,Q.right.id));)for(Q=Q.right;Q.redone;)Q=$o(A,Q.redone);if(Q&&null!==Q.right)return null}else Q=a._map.get(e.parentSub)||null;const l=_o(s,r),h=yo(r,l),M=new vg(h,Q,Q&&Q.lastId,c,c&&c.id,a,e.parentSub,e.content.copy());return e.redone=h,Zg(M,!0),M.integrate(A,0),M};class vg extends dg{constructor(A,e,t,n,i,B,E,s){super(A,s.getLength()),this.origin=t,this.left=e,this.right=n,this.rightOrigin=i,this.parent=B,this.parentSub=E,this.redone=null,this.content=s,this.info=this.content.isCountable()?2:0}set marker(A){(8&this.info)>0!==A&&(this.info^=8)}get marker(){return(8&this.info)>0}get keep(){return(1&this.info)>0}set keep(A){this.keep!==A&&(this.info^=1)}get countable(){return(2&this.info)>0}get deleted(){return(4&this.info)>0}set deleted(A){this.deleted!==A&&(this.info^=4)}markDeleted(){this.info|=4}getMissing(A,e){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=_o(e,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=_o(e,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===So&&this.id.client!==this.parent.client&&this.parent.clock>=_o(e,this.parent.client))return this.parent.client;if(this.origin&&(this.left=Ac(A,e,this.origin),this.origin=this.left.lastId),this.rightOrigin&&(this.right=$o(A,this.rightOrigin),this.rightOrigin=this.right.id),this.left&&this.left.constructor===Gg||this.right&&this.right.constructor===Gg)this.parent=null;else if(this.parent){if(this.parent.constructor===So){const A=Wo(e,this.parent);this.parent=A.constructor===Gg?null:A.content.type}}else this.left&&this.left.constructor===vg&&(this.parent=this.left.parent,this.parentSub=this.left.parentSub),this.right&&this.right.constructor===vg&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);return null}integrate(A,e){if(e>0&&(this.id.clock+=e,this.left=Ac(A,A.doc.store,yo(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(e),this.length-=e),this.parent){if(!this.left&&(!this.right||null!==this.right.left)||this.left&&this.left.right!==this.right){let e,t=this.left;if(null!==t)e=t.right;else if(null!==this.parentSub)for(e=this.parent._map.get(this.parentSub)||null;null!==e&&null!==e.left;)e=e.left;else e=this.parent._start;const n=new Set,i=new Set;for(;null!==e&&e!==this.right;){if(i.add(e),n.add(e),mo(this.origin,e.origin)){if(e.id.client{e.p===A&&(e.p=this,!this.deleted&&this.countable&&(e.index-=this.length))})),A.keep&&(this.keep=!0),this.right=A.right,null!==this.right&&(this.right.left=this),this.length+=A.length,!0}return!1}delete(A){if(!this.deleted){const e=this.parent;this.countable&&null===this.parentSub&&(e._length-=this.length),this.markDeleted(),Bo(A.deleteSet,this.id.client,this.id.clock,this.length),ic(A,e,this.parentSub),this.content.delete(A)}}gc(A,e){if(!this.deleted)throw Os();this.content.gc(A),e?((A,e,t)=>{const n=A.clients.get(e.id.client);n[Xo(n,e.id.clock)]=t})(A,this,new Gg(this.id,this.length)):this.content=new kg(this.length)}write(A,e){const t=e>0?yo(this.id.client,this.id.clock+e-1):this.origin,n=this.rightOrigin,i=this.parentSub,B=31&this.content.getRef()|(null===t?0:ls)|(null===n?0:as)|(null===i?0:32);if(A.writeInfo(B),null!==t&&A.writeLeftID(t),null!==n&&A.writeRightID(n),null===t&&null===n){const e=this.parent;if(void 0!==e._item){const t=e._item;if(null===t){const t=bo(e);A.writeParentInfo(!0),A.writeString(t)}else A.writeParentInfo(!1),A.writeLeftID(t.id)}else e.constructor===String?(A.writeParentInfo(!0),A.writeString(e)):e.constructor===So?(A.writeParentInfo(!1),A.writeLeftID(e)):Os();null!==i&&A.writeString(i)}this.content.write(A,e)}}const Og=(A,e)=>_g[31&e](A),_g=[()=>{Os()},A=>new kg(A.readLen()),A=>{const e=A.readLen(),t=[];for(let n=0;nnew Cg(A.readBuf()),A=>new Sg(A.readString()),A=>new Fg(A.readJSON()),A=>new Ug(A.readKey(),A.readJSON()),A=>new Jg(mg[A.readTypeRef()](A)),A=>{const e=A.readLen(),t=[];for(let n=0;nnew Yg(Dg(A.readString(),A.readAny())),()=>{Os()}];class Kg extends dg{get deleted(){return!0}delete(){}mergeWith(A){return this.constructor===A.constructor&&(this.length+=A.length,!0)}integrate(A,e){Os()}write(A,e){A.writeInfo(10),fs(A.restEncoder,this.length-e)}getMissing(A,e){return null}}const Xg="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},Wg="__ $YJS$ __";!0===Xg[Wg]&&console.error("Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438"),Xg[Wg]=!0;const qg=/[\uD800-\uDBFF]/,$g=/[\uDC00-\uDFFF]/,AQ=new s("y-sync"),eQ=new s("y-undo"),tQ=new s("yjs-cursor"),nQ=(A,e)=>void 0===e?!A.deleted:e.sv.has(A.id.client)&&e.sv.get(A.id.client)>A.id.clock&&!to(e.ds,A.id),iQ=[{light:"#ecd44433",dark:"#ecd444"}],BQ=(A,e,t)=>{if(!A.has(t)){if(A.sizet.add(A))),e=e.filter((A=>!t.has(A)))}A.set(t,(n=e)[rs(gr()*n.length)])}var n;return A.get(t)},EQ=(A,{colors:e=iQ,colorMapping:t=new Map,permanentUserData:n=null,onFirstRender:i=(()=>{})}={})=>{let B,s=!1;const r=new E({props:{editable:A=>{const e=AQ.getState(A);return null==e.snapshot&&null==e.prevSnapshot}},key:AQ,state:{init:()=>({type:A,doc:A.doc,binding:null,snapshot:null,prevSnapshot:null,isChangeOrigin:!1,colors:e,colorMapping:t,permanentUserData:n}),apply:(A,e)=>{const t=A.getMeta(AQ);if(void 0!==t){e=Object.assign({},e);for(const A in t)e[A]=t[A]}return e.isChangeOrigin=void 0!==t&&!!t.isChangeOrigin,null!==e.binding&&(void 0===t||null==t.snapshot&&null==t.prevSnapshot||zr(0,(()=>{null==e.binding||e.binding.isDestroyed||(null==t.restore?e.binding._renderSnapshot(t.snapshot,t.prevSnapshot,e):(e.binding._renderSnapshot(t.snapshot,t.snapshot,e),delete e.restore,delete e.snapshot,delete e.prevSnapshot,e.binding._prosemirrorChanged(e.binding.prosemirrorView.state.doc)))}))),e}},view:e=>{const t=new rQ(A,e);return null!=B&&clearTimeout(B),B=zr(0,(()=>{t._forceRerender(),e.dispatch(e.state.tr.setMeta(AQ,{binding:t})),i()})),{update:()=>{const A=r.getState(e.state);null==A.snapshot&&null==A.prevSnapshot&&(s||null!==e.state.doc.content.findDiffStart(e.state.doc.type.createAndFill().content))&&(s=!0,t._prosemirrorChanged(e.state.doc))},destroy:()=>{clearTimeout(B),t.destroy()}}}});return r},sQ=(A,e)=>({anchor:YQ(e.selection.anchor,A.type,A.mapping),head:YQ(e.selection.head,A.type,A.mapping)});class rQ{constructor(A,e){this.type=A,this.prosemirrorView=e,this.mux=(()=>{let A=!0;return(e,t)=>{if(A){A=!1;try{e()}finally{A=!0}}else void 0!==t&&t()}})(),this.isDestroyed=!1,this.mapping=new Map,this._observeFunction=this._typeChanged.bind(this),this.doc=A.doc,this.beforeTransactionSelection=null,this.beforeAllTransactions=()=>{null===this.beforeTransactionSelection&&(this.beforeTransactionSelection=sQ(this,e.state))},this.afterAllTransactions=()=>{this.beforeTransactionSelection=null},this.doc.on("beforeAllTransactions",this.beforeAllTransactions),this.doc.on("afterAllTransactions",this.afterAllTransactions),A.observeDeep(this._observeFunction),this._domSelectionInView=null}get _tr(){return this.prosemirrorView.state.tr.setMeta("addToHistory",!1)}_isLocalCursorInView(){return!!this.prosemirrorView.hasFocus()&&(Dr&&null===this._domSelectionInView&&(zr(0,(()=>{this._domSelectionInView=null})),this._domSelectionInView=this._isDomSelectionInView()),this._domSelectionInView)}_isDomSelectionInView(){const A=this.prosemirrorView._root.getSelection(),e=this.prosemirrorView._root.createRange();e.setStart(A.anchorNode,A.anchorOffset),e.setEnd(A.focusNode,A.focusOffset),0===e.getClientRects().length&&e.startContainer&&e.collapsed&&e.selectNodeContents(e.startContainer);const t=e.getBoundingClientRect(),n=br.documentElement;return t.bottom>=0&&t.right>=0&&t.left<=(window.innerWidth||n.clientWidth||0)&&t.top<=(window.innerHeight||n.clientHeight||0)}renderSnapshot(A,e){e||(e=Po(Eo(),new Map)),this.prosemirrorView.dispatch(this._tr.setMeta(AQ,{snapshot:A,prevSnapshot:e}))}unrenderSnapshot(){this.mapping=new Map,this.mux((()=>{const A=this.type.toArray().map((A=>cQ(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A)),e=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(new x(A),0,0));e.setMeta(AQ,{snapshot:null,prevSnapshot:null}),this.prosemirrorView.dispatch(e)}))}_forceRerender(){this.mapping=new Map,this.mux((()=>{const A=this.type.toArray().map((A=>cQ(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A)),e=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(new x(A),0,0));this.prosemirrorView.dispatch(e.setMeta(AQ,{isChangeOrigin:!0}))}))}_renderSnapshot(A,e,t){A||(A=(A=>Po(so(A.store),Oo(A.store)))(this.doc)),this.mapping=new Map,this.mux((()=>{this.doc.transact((n=>{const i=t.permanentUserData;i&&i.dss.forEach((A=>{eo(n,A,(()=>{}))}));const B=(A,e)=>{const n="added"===A?i.getUserByClientId(e.client):i.getUserByDeletedId(e);return{user:n,type:A,color:BQ(t.colorMapping,t.colors,n)}},E=bc(this.type,new Zo(e.ds,A.sv)).map((t=>!t._item.deleted||nQ(t._item,A)||nQ(t._item,e)?cQ(t,this.prosemirrorView.state.schema,new Map,A,e,B):null)).filter((A=>null!==A)),s=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(new x(E),0,0));this.prosemirrorView.dispatch(s.setMeta(AQ,{isChangeOrigin:!0}))}),AQ)}))}_typeChanged(A,e){const t=AQ.getState(this.prosemirrorView.state);0!==A.length&&null==t.snapshot&&null==t.prevSnapshot?this.mux((()=>{const A=(A,e)=>this.mapping.delete(e);eo(e,e.deleteSet,(A=>A.constructor===vg&&this.mapping.delete(A.content.type))),e.changed.forEach(A),e.changedParentTypes.forEach(A);const t=this.type.toArray().map((A=>oQ(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A));let n=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(new x(t),0,0));((A,e,t)=>{if(null!==e&&null!==e.anchor&&null!==e.head){const n=UQ(t.doc,t.type,e.anchor,t.mapping),i=UQ(t.doc,t.type,e.head,t.mapping);null!==n&&null!==i&&(A=A.setSelection(C.create(A.doc,n,i)))}})(n,this.beforeTransactionSelection,this),n=n.setMeta(AQ,{isChangeOrigin:!0}),null!==this.beforeTransactionSelection&&this._isLocalCursorInView()&&n.scrollIntoView(),this.prosemirrorView.dispatch(n)})):this.renderSnapshot(t.snapshot,t.prevSnapshot)}_prosemirrorChanged(A){this.mux((()=>{this.doc.transact((()=>{GQ(this.doc,this.type,A,this.mapping),this.beforeTransactionSelection=sQ(this,this.prosemirrorView.state)}),AQ)}))}destroy(){this.isDestroyed=!0,this.type.unobserveDeep(this._observeFunction),this.doc.off("beforeAllTransactions",this.beforeAllTransactions),this.doc.off("afterAllTransactions",this.afterAllTransactions)}}const oQ=(A,e,t,n,i,B)=>{const E=t.get(A);if(void 0===E){if(A instanceof wg)return cQ(A,e,t,n,i,B);throw vs()}return E},cQ=(A,e,t,n,i,B)=>{const E=[],s=A=>{if(A.constructor===wg){const s=oQ(A,e,t,n,i,B);null!==s&&E.push(s)}else{const s=gQ(A,e,t,n,i,B);null!==s&&s.forEach((A=>{null!==A&&E.push(A)}))}};void 0===n||void 0===i?A.toArray().forEach(s):bc(A,new Zo(i.ds,n.sv)).forEach(s);try{const s=A.getAttributes(n);void 0!==n&&(nQ(A._item,n)?nQ(A._item,i)||(s.ychange=B?B("added",A._item.id):{type:"added"}):s.ychange=B?B("removed",A._item.id):{type:"removed"});const r=e.node(A.nodeName,s,E);return t.set(A,r),r}catch(e){return A.doc.transact((e=>{A._item.delete(e)}),AQ),t.delete(A),null}},gQ=(A,e,t,n,i,B)=>{const E=[],s=A.toDelta(n,i,B);try{for(let A=0;A{A._item.delete(e)}),AQ),null}return E},QQ=(A,e)=>A instanceof Array?((A,e)=>{const t=new ug,n=A.map((A=>({insert:A.text,attributes:dQ(A.marks)})));return t.applyDelta(n),e.set(t,A),t})(A,e):((A,e)=>{const t=new wg(A.type.name);for(const e in A.attrs){const n=A.attrs[e];null!==n&&"ychange"!==e&&t.setAttribute(e,n)}return t.insert(0,hQ(A).map((A=>QQ(A,e)))),e.set(t,A),t})(A,e),aQ=A=>"object"==typeof A&&null!==A,lQ=(A,e)=>{const t=Object.keys(A).filter((e=>null!==A[e]));let n=t.length===Object.keys(e).filter((A=>null!==e[A])).length;for(let i=0;i{const e=A.content.content,t=[];for(let A=0;A{const t=A.toDelta();return t.length===e.length&&t.every(((A,t)=>A.insert===e[t].text&&ur(A.attributes||{}).length===e[t].marks.length&&e[t].marks.every((e=>lQ(A.attributes[e.type.name]||{},e.attrs)))))},wQ=(A,e)=>{if(A instanceof wg&&!(e instanceof Array)&&CQ(A,e)){const t=hQ(e);return A._length===t.length&&lQ(A.getAttributes(),e.attrs)&&A.toArray().every(((A,e)=>wQ(A,t[e])))}return A instanceof ug&&e instanceof Array&&MQ(A,e)},RQ=(A,e)=>A===e||A instanceof Array&&e instanceof Array&&A.length===e.length&&A.every(((A,t)=>e[t]===A)),IQ=(A,e,t)=>{const n=A.toArray(),i=hQ(e),B=i.length,E=n.length,s=cs(E,B);let r=0,o=0,c=!1;for(;r{t.set(A,e);const{nAttrs:n,str:i}=(A=>{let e="",t=A._start;const n={};for(;null!==t;)t.deleted||(t.countable&&t.content instanceof Sg?e+=t.content.str:t.content instanceof Ug&&(n[t.content.key]=null)),t=t.right;return{str:e,nAttrs:n}})(A),B=e.map((A=>({insert:A.text,attributes:Object.assign({},n,dQ(A.marks))}))),{insert:E,remove:s,index:r}=((A,e)=>{let t=0,n=0;for(;t0&&qg.test(A[t-1])&&t--;n+t0&&$g.test(A[A.length-n])&&n--,{index:t,remove:A.length-t-n,insert:e.slice(t,e.length-n)}})(i,B.map((A=>A.insert)).join(""));A.delete(r,s),A.insert(r,E),A.applyDelta(B.map((A=>({retain:A.insert.length,attributes:A.attributes}))))},dQ=A=>{const e={};return A.forEach((A=>{"ychange"!==A.type.name&&(e[A.type.name]=A.attrs)})),e},GQ=(A,e,t,n)=>{if(e instanceof wg&&e.nodeName!==t.type.name)throw new Error("node name mismatch!");if(n.set(e,t),e instanceof wg){const A=e.getAttributes(),n=t.attrs;for(const t in n)null!==n[t]?A[t]!==n[t]&&"ychange"!==t&&e.setAttribute(t,n[t]):e.removeAttribute(t);for(const t in A)void 0===n[t]&&e.removeAttribute(t)}const i=hQ(t),B=i.length,E=e.toArray(),s=E.length,r=cs(B,s);let o=0,c=0;for(;o{for(;s-o-c>0&&B-o-c>0;){const t=E[o],r=i[o],g=E[s-c-1],Q=i[B-c-1];if(t instanceof ug&&r instanceof Array)MQ(t,r)||uQ(t,r,n),o+=1;else{let i=t instanceof wg&&CQ(t,r),B=g instanceof wg&&CQ(g,Q);if(i&&B){const A=IQ(t,r,n),e=IQ(g,Q,n);A.foundMappedChild&&!e.foundMappedChild?B=!1:!A.foundMappedChild&&e.foundMappedChild||A.equalityFactor0&&e.delete(o,t),o+c!(e instanceof Array)&&A.nodeName===e.type.name;let kQ=null;const DQ=()=>{const A=kQ;kQ=null,A.forEach(((A,e)=>{const t=e.state.tr,n=AQ.getState(e.state);n&&n.binding&&!n.binding.isDestroyed&&(A.forEach(((A,e)=>{t.setMeta(e,A)})),e.dispatch(t))}))},YQ=(A,e,t)=>{if(0===A)return Jo(e,0);let n=null===e._first?null:e._first.content.type;for(;null!==n&&e!==n;){if(n instanceof ug){if(n._length>=A)return Jo(n,A);if(A-=n._length,null!==n._item&&null!==n._item.next)n=n._item.next.content.type;else{do{n=null===n._item?null:n._item.parent,A--}while(n!==e&&null!==n&&null!==n._item&&null===n._item.next);null!==n&&n!==e&&(n=null===n._item?null:n._item.next.content.type)}}else{const i=(t.get(n)||{nodeSize:0}).nodeSize;if(null!==n._first&&A1)return new To(null===n._item?null:n._item.id,null===n._item?bo(n):null,null);if(A-=i,null!==n._item&&null!==n._item.next)n=n._item.next.content.type;else{if(0===A)return n=null===n._item?n:n._item.parent,new To(null===n._item?null:n._item.id,null===n._item?bo(n):null,null);do{n=n._item.parent,A--}while(n!==e&&null===n._item.next);n!==e&&(n=n._item.next.content.type)}}}if(null===n)throw Os();if(0===A&&n.constructor!==ug&&n!==e)return FQ(n._item.parent,n._item)}return Jo(e,e._length)},FQ=(A,e)=>{let t=null,n=null;return null===A._item?n=bo(A):t=yo(A._item.id.client,A._item.id.clock),new To(t,n,e.id)},UQ=(A,e,t,n)=>{const i=((A,e)=>{const t=e.store,n=A.item,i=A.type,B=A.tname,E=A.assoc;let s=null,r=0;if(null!==n){if(_o(t,n.client)<=n.clock)return null;const A=jg(t,n),e=A.item;if(!(e instanceof vg))return null;if(s=e.parent,null===s._item||!s._item.deleted){r=e.deleted||!e.countable?0:A.diff+(E>=0?0:1);let t=e.left;for(;null!==t;)!t.deleted&&t.countable&&(r+=t.length),t=t.left}}else{if(null!==B)s=e.get(B);else{if(null===i)throw Os();{if(_o(t,i.client)<=i.clock)return null;const{item:A}=jg(t,i);if(!(A instanceof vg&&A.content instanceof Jg))return null;s=A.content.type}}r=E>=0?s._length:0}return((A,e,t=0)=>new xo(A,e,t))(s,r,A.assoc)})(t,A);if(null===i||i.type!==e&&!Ho(e,i.type._item))return null;let B=i.type,E=0;if(B.constructor===ug)E=i.index;else if(null===B._item||!B._item.deleted){let A=B._first,e=0;for(;e{const e=document.createElement("span");e.classList.add("ProseMirror-yjs-cursor"),e.setAttribute("style",`border-color: ${A.color}`);const t=document.createElement("div");t.setAttribute("style",`background-color: ${A.color}`),t.insertBefore(document.createTextNode(A.name),null);const n=document.createTextNode("⁠"),i=document.createTextNode("⁠");return e.insertBefore(n,null),e.insertBefore(t,null),e.insertBefore(i,null),e},NQ=A=>({style:`background-color: ${A.color}70`,class:"ProseMirror-yjs-selection"}),SQ=/^#[0-9a-fA-F]{6}$/,mQ=(A,e,t,n)=>{const i=AQ.getState(A),B=i.doc,E=[];return null!=i.snapshot||null!=i.prevSnapshot||null===i.binding?k.create(A.doc,[]):(e.getStates().forEach(((e,s)=>{if(s!==B.clientID&&null!=e.cursor){const r=e.user||{};null==r.color?r.color="#ffa500":SQ.test(r.color)||console.warn("A user uses an unsupported color format",r),null==r.name&&(r.name=`User: ${s}`);let o=UQ(B,i.type,zo(e.cursor.anchor),i.binding.mapping),c=UQ(B,i.type,zo(e.cursor.head),i.binding.mapping);if(null!==o&&null!==c){const e=gs(A.doc.content.size-1,0);o=cs(o,e),c=cs(c,e),E.push(Y.widget(c,(()=>t(r)),{key:s+"",side:10}));const i=cs(o,c),B=gs(o,c);E.push(Y.inline(i,B,n(r),{inclusiveEnd:!0,inclusiveStart:!1}))}}})),k.create(A.doc,E))},yQ=(A,{cursorBuilder:e=fQ,selectionBuilder:t=NQ,getSelection:n=(A=>A.selection)}={},i="cursor")=>new E({key:tQ,state:{init:(n,i)=>mQ(i,A,e,t),apply(n,i,B,E){const s=AQ.getState(E),r=n.getMeta(tQ);return s&&s.isChangeOrigin||r&&r.awarenessUpdated?mQ(E,A,e,t):i.map(n.mapping,n.doc)}},props:{decorations:A=>tQ.getState(A)},view:e=>{const t=()=>{e.docView&&((A,e)=>{kQ||(kQ=new Map,zr(0,DQ)),es(kQ,A,$E).set(e,{awarenessUpdated:!0})})(e,tQ)},B=()=>{const t=AQ.getState(e.state),B=A.getLocalState()||{};if(null!=t.binding)if(e.hasFocus()){const E=n(e.state),s=YQ(E.anchor,t.type,t.binding.mapping),r=YQ(E.head,t.type,t.binding.mapping);null!=B.cursor&&jo(zo(B.cursor.anchor),s)&&jo(zo(B.cursor.head),r)||A.setLocalStateField(i,{anchor:s,head:r})}else null!=B.cursor&&null!==UQ(t.doc,t.type,zo(B.cursor.anchor),t.binding.mapping)&&A.setLocalStateField(i,null)};return A.on("change",t),e.dom.addEventListener("focusin",B),e.dom.addEventListener("focusout",B),{update:B,destroy:()=>{e.dom.removeEventListener("focusin",B),e.dom.removeEventListener("focusout",B),A.off("change",t),A.setLocalStateField(i,null)}}}}),bQ=new Set(["paragraph"]),HQ=Q.create({name:"collaboration",priority:1e3,addOptions:()=>({document:null,field:"default",fragment:null}),onCreate(){this.editor.extensionManager.extensions.find((A=>"history"===A.name))&&console.warn('[tiptap warn]: "@tiptap/extension-collaboration" comes with its own history support and is not compatible with "@tiptap/extension-history".')},addCommands:()=>({undo:()=>({tr:A,state:e,dispatch:t})=>(A.setMeta("preventDispatch",!0),0!==eQ.getState(e).undoManager.undoStack.length&&(!t||(A=>{const e=eQ.getState(A).undoManager;if(null!=e)return e.undo(),!0})(e))),redo:()=>({tr:A,state:e,dispatch:t})=>(A.setMeta("preventDispatch",!0),0!==eQ.getState(e).undoManager.redoStack.length&&(!t||(A=>{const e=eQ.getState(A).undoManager;if(null!=e)return e.redo(),!0})(e)))}),addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Mod-y":()=>this.editor.commands.redo(),"Shift-Mod-z":()=>this.editor.commands.redo()}},addProseMirrorPlugins(){const A=this.options.fragment?this.options.fragment:this.options.document.getXmlFragment(this.options.field),e=(({protectedNodes:A=bQ,trackedOrigins:e=[],undoManager:t=null}={})=>new E({key:eQ,state:{init:(n,i)=>{const B=AQ.getState(i),E=t||new gc(B.type,{trackedOrigins:new Set([AQ].concat(e)),deleteFilter:e=>((A,e)=>!(A instanceof vg&&A.content instanceof Jg&&(A.content.type instanceof lg||A.content.type instanceof wg&&e.has(A.content.type.nodeName))&&0!==A.content.type._length))(e,A)});return{undoManager:E,prevSel:null,hasUndoOps:E.undoStack.length>0,hasRedoOps:E.redoStack.length>0}},apply:(A,e,t,n)=>{const i=AQ.getState(n).binding,B=e.undoManager,E=B.undoStack.length>0,s=B.redoStack.length>0;return i?{undoManager:B,prevSel:sQ(i,t),hasUndoOps:E,hasRedoOps:s}:E!==e.hasUndoOps||s!==e.hasRedoOps?Object.assign({},e,{hasUndoOps:B.undoStack.length>0,hasRedoOps:B.redoStack.length>0}):e}},view:A=>{const e=AQ.getState(A.state),t=eQ.getState(A.state).undoManager;return t.on("stack-item-added",(({stackItem:t})=>{const n=e.binding;n&&t.meta.set(n,eQ.getState(A.state).prevSel)})),t.on("stack-item-popped",(({stackItem:A})=>{const t=e.binding;t&&(t.beforeTransactionSelection=A.meta.get(t)||t.beforeTransactionSelection)})),{destroy:()=>{t.destroy()}}}}))(),t=e.spec.view;return e.spec.view=A=>{const{undoManager:e}=eQ.getState(A.state);e.restore&&(e.restore(),e.restore=()=>{});const n=t(A);return{destroy:()=>{const A=e.trackedOrigins.has(e),t=e._observers;e.restore=()=>{A&&e.trackedOrigins.add(e),e.doc.on("afterTransaction",e.afterTransactionHandler),e._observers=t},n.destroy()}}},[EQ(A),e]}}),TQ=A=>Array.from(A.entries()).map((([A,e])=>({clientId:A,...e.user}))),zQ=()=>null,xQ=Q.create({name:"collaborationCursor",addOptions:()=>({provider:null,user:{name:null,color:null},render:A=>{const e=document.createElement("span");e.classList.add("collaboration-cursor__caret"),e.setAttribute("style",`border-color: ${A.color}`);const t=document.createElement("div");return t.classList.add("collaboration-cursor__label"),t.setAttribute("style",`background-color: ${A.color}`),t.insertBefore(document.createTextNode(A.name),null),e.insertBefore(t,null),e},selectionRender:NQ,onUpdate:zQ}),onCreate(){this.options.onUpdate!==zQ&&console.warn('[tiptap warn]: DEPRECATED: The "onUpdate" option is deprecated. Please use `editor.storage.collaborationCursor.users` instead. Read more: https://tiptap.dev/api/extensions/collaboration-cursor')},addStorage:()=>({users:[]}),addCommands(){return{updateUser:A=>()=>(this.options.user=A,this.options.provider.awareness.setLocalStateField("user",this.options.user),!0),user:A=>({editor:e})=>(console.warn('[tiptap warn]: DEPRECATED: The "user" command is deprecated. Please use "updateUser" instead. Read more: https://tiptap.dev/api/extensions/collaboration-cursor'),e.commands.updateUser(A))}},addProseMirrorPlugins(){return[yQ((()=>(this.options.provider.awareness.setLocalStateField("user",this.options.user),this.storage.users=TQ(this.options.provider.awareness.states),this.options.provider.awareness.on("update",(()=>{this.storage.users=TQ(this.options.provider.awareness.states)})),this.options.provider.awareness))(),{cursorBuilder:this.options.render,selectionBuilder:this.options.selectionRender})]}}),pQ=Math.floor,JQ=127,jQ=Number.MAX_SAFE_INTEGER,ZQ="undefined"!=typeof TextEncoder?new TextEncoder:null,PQ=ZQ?A=>ZQ.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;A{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},vQ=(A,e)=>{for(;e>JQ;)LQ(A,128|JQ&e),e=pQ(e/128);LQ(A,JQ&e)},OQ=new Uint8Array(3e4),_Q=OQ.length/3,KQ=ZQ&&ZQ.encodeInto?(A,e)=>{if(e.length<_Q){const t=ZQ.encodeInto(e,OQ).written||0;vQ(A,t);for(let e=0;e{const t=unescape(encodeURIComponent(e)),n=t.length;vQ(A,n);for(let e=0;e{vQ(A,e.byteLength),((A,e)=>{const t=A.cbuf.length,n=A.cpos,i=(B=t-n)<(E=e.length)?B:E;var B,E;const s=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,s>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(((A,e)=>A>e?A:e)(2*t,s)),A.cbuf.set(e.subarray(i)),A.cpos=s)})(A,e)},WQ=A=>new Error(A),qQ=WQ("Unexpected end of array"),$Q=WQ("Integer out of Range"),Aa=A=>A.arr[A.pos++],ea=A=>{let e=0,t=1;const n=A.arr.length;for(;A.posjQ)throw $Q}throw qQ},ta=VQ?A=>VQ.decode((A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,ea(A)))(A)):A=>{let e=ea(A);if(0===e)return"";{let t=String.fromCodePoint(Aa(A));if(--e<100)for(;e--;)t+=String.fromCodePoint(Aa(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}};var na;!function(A){A[A.Token=0]="Token",A[A.PermissionDenied=1]="PermissionDenied",A[A.Authenticated=2]="Authenticated"}(na||(na={}));const ia=A=>Array.from(A.entries()).map((([A,e])=>({clientId:A,...e})));var Ba;async function Ea(A){return new Promise((e=>{setTimeout(e,A)}))}function sa(A,e){let t=e.delay;if(0===t)return 0;if(e.factor&&(t*=Math.pow(e.factor,A.attemptNum-1),0!==e.maxDelay&&(t=Math.min(t,e.maxDelay))),e.jitter){const A=Math.ceil(e.minDelay),n=Math.floor(t);t=Math.floor(Math.random()*(n-A+1))+A}return Math.round(t)}!function(A){A[A.Connecting=0]="Connecting",A[A.Open=1]="Open",A[A.Closing=2]="Closing",A[A.Closed=3]="Closed"}(Ba||(Ba={}));const ra=()=>new Map,oa=(A,e,t)=>{let n=A.get(e);return void 0===n&&A.set(e,n=t()),n},ca=()=>new Set,ga=Array.from,Qa=String.fromCharCode,aa=/^\s*/g,la=/([A-Z])/g,ha=(A,e)=>(A=>A.replace(aa,""))(A.replace(la,(A=>`${e}${(A=>A.toLowerCase())(A)}`))),Ma="undefined"!=typeof TextEncoder?new TextEncoder:null,wa=Ma?A=>Ma.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;AGa(A).length,ka=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),Da=(A,e)=>{if(null==A||null==e)return((A,e)=>A===e)(A,e);if(A.constructor!==e.constructor)return!1;if(A===e)return!0;switch(A.constructor){case ArrayBuffer:A=new Uint8Array(A),e=new Uint8Array(e);case Uint8Array:if(A.byteLength!==e.byteLength)return!1;for(let t=0;t(()=>{if(void 0===Ua)if(Ya){Ua=ra();const A=process.argv;let e=null;for(let t=0;t{if(0!==A.length){const[e,t]=A.split("=");Ua.set(`--${ha(e,"-")}`,t),Ua.set(`-${ha(e,"-")}`,t)}}))):Ua=ra();return Ua})().has(A),Na=A=>{return void 0===(e=Ya?process.env[A.toUpperCase()]:da.getItem(A))?null:e;var e};(A=>{fa("--"+A)||Na(A)})("production");const Sa=Ya&&(A=>["true","1","2"].includes(A))(process.env.FORCE_COLOR);!fa("no-colors")&&(!Ya||process.stdout.isTTY||Sa)&&(!Ya||fa("color")||Sa||null!==Na("COLORTERM")||(Na("TERM")||"").includes("color"));const ma=Math.floor,ya=128,ba=127,Ha=Number.MAX_SAFE_INTEGER;class Ta{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}}const za=()=>new Ta,xa=A=>{let e=A.cpos;for(let t=0;t{const e=new Uint8Array(xa(A));let t=0;for(let n=0;n{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},ja=(A,e)=>{for(;e>ba;)Ja(A,ya|ba&e),e=ma(e/128);Ja(A,ba&e)},Za=new Uint8Array(3e4),Pa=Za.length/3,Va=Ma&&Ma.encodeInto?(A,e)=>{if(e.length{const t=unescape(encodeURIComponent(e)),n=t.length;ja(A,n);for(let e=0;e{ja(A,e.byteLength),((A,e)=>{const t=A.cbuf.length,n=A.cpos,i=(B=t-n)<(E=e.length)?B:E;var B,E;const s=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,s>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(((A,e)=>A>e?A:e)(2*t,s)),A.cbuf.set(e.subarray(i)),A.cpos=s)})(A,e)},va=A=>new Error(A),Oa=va("Unexpected end of array"),_a=va("Integer out of Range");class Ka{constructor(A){this.arr=A,this.pos=0}}const Xa=A=>new Ka(A),Wa=A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,$a(A)),qa=A=>A.arr[A.pos++],$a=A=>{let e=0,t=1;const n=A.arr.length;for(;A.posHa)throw _a}throw Oa},Al=Ra?A=>Ra.decode(Wa(A)):A=>{let e=$a(A);if(0===e)return"";{let t=String.fromCodePoint(qa(A));if(--e<100)for(;e--;)t+=String.fromCodePoint(qa(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}},el=Fa?A=>{let e="";for(let t=0;tBuffer.from(A.buffer,A.byteOffset,A.byteLength).toString("base64"),tl=Fa?A=>{const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A{const e=Buffer.from(A,"base64");return((A,e,t)=>new Uint8Array(A,e,t))(e.buffer,e.byteOffset,e.byteLength)},nl=new Map,il="undefined"==typeof BroadcastChannel?class{constructor(A){this.room=A,this.onmessage=null,this._onChange=e=>e.key===A&&null!==this.onmessage&&this.onmessage({data:tl(e.newValue||"")}),ua||addEventListener("storage",this._onChange)}postMessage(A){da.setItem(this.room,el(new Uint8Array(A)))}close(){ua||removeEventListener("storage",this._onChange)}}:BroadcastChannel,Bl=A=>oa(nl,A,(()=>{const e=ca(),t=new il(A);return t.onmessage=A=>e.forEach((e=>e(A.data,"broadcastchannel"))),{bc:t,subs:e}})),El=Date.now;class sl{constructor(){this._observers=ra()}on(A,e){oa(this._observers,A,ca).add(e)}once(A,e){const t=(...n)=>{this.off(A,t),e(...n)};this.on(A,t)}off(A,e){const t=this._observers.get(A);void 0!==t&&(t.delete(e),0===t.size&&this._observers.delete(A))}emit(A,e){return ga((this._observers.get(A)||ra()).values()).forEach((A=>A(...e)))}destroy(){this._observers=ra()}}class rl extends sl{constructor(A){super(),this.doc=A,this.clientID=A.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval((()=>{const A=El();null!==this.getLocalState()&&15e3<=A-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());const e=[];this.meta.forEach(((t,n)=>{n!==this.clientID&&3e4<=A-t.lastUpdated&&this.states.has(n)&&e.push(n)})),e.length>0&&ol(this,e,"timeout")}),ma(3e3)),A.on("destroy",(()=>{this.destroy()})),this.setLocalState({})}destroy(){this.emit("destroy",[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(A){const e=this.clientID,t=this.meta.get(e),n=void 0===t?0:t.clock+1,i=this.states.get(e);null===A?this.states.delete(e):this.states.set(e,A),this.meta.set(e,{clock:n,lastUpdated:El()});const B=[],E=[],s=[],r=[];null===A?r.push(e):null==i?null!=A&&B.push(e):(E.push(e),Da(i,A)||s.push(e)),(B.length>0||s.length>0||r.length>0)&&this.emit("change",[{added:B,updated:s,removed:r},"local"]),this.emit("update",[{added:B,updated:E,removed:r},"local"])}setLocalStateField(A,e){const t=this.getLocalState();null!==t&&this.setLocalState({...t,[A]:e})}getStates(){return this.states}}const ol=(A,e,t)=>{const n=[];for(let t=0;t0&&(A.emit("change",[{added:[],updated:[],removed:n},t]),A.emit("update",[{added:[],updated:[],removed:n},t]))},cl=(A,e,t=A.states)=>{const n=e.length,i=za();ja(i,n);for(let B=0;BA.apply(this,e))),this}off(A,e){const t=this.callbacks[A];return t&&(e?this.callbacks[A]=t.filter((A=>A!==e)):delete this.callbacks[A]),this}removeAllListeners(){this.callbacks={}}}var Ql,al;!function(A){A[A.Sync=0]="Sync",A[A.Awareness=1]="Awareness",A[A.Auth=2]="Auth",A[A.QueryAwareness=3]="QueryAwareness",A[A.Stateless=5]="Stateless",A[A.CLOSE=7]="CLOSE",A[A.SyncStatus=8]="SyncStatus"}(Ql||(Ql={})),function(A){A.Connecting="connecting",A.Connected="connected",A.Disconnected="disconnected"}(al||(al={}));class ll{constructor(A){this.data=A,this.encoder=za(),this.decoder=Xa(new Uint8Array(this.data))}peekVarString(){return(A=>{const e=A.pos,t=Al(A);return A.pos=e,t})(this.decoder)}readVarUint(){return $a(this.decoder)}readVarString(){return Al(this.decoder)}readVarUint8Array(){return Wa(this.decoder)}writeVarUint(A){return ja(this.encoder,A)}writeVarString(A){return Va(this.encoder,A)}writeVarUint8Array(A){return La(this.encoder,A)}length(){return xa(this.encoder)}}class hl extends gl{constructor(A){super(),this.messageQueue=[],this.configuration={url:"",document:void 0,WebSocketPolyfill:void 0,parameters:{},connect:!0,broadcast:!0,forceSyncInterval:!1,messageReconnectTimeout:3e4,delay:1e3,initialDelay:0,factor:2,maxAttempts:0,minDelay:1e3,maxDelay:3e4,jitter:!0,timeout:0,onOpen:()=>null,onConnect:()=>null,onMessage:()=>null,onOutgoingMessage:()=>null,onStatus:()=>null,onDisconnect:()=>null,onClose:()=>null,onDestroy:()=>null,onAwarenessUpdate:()=>null,onAwarenessChange:()=>null,quiet:!1,providerMap:new Map},this.webSocket=null,this.webSocketHandlers={},this.shouldConnect=!0,this.status=al.Disconnected,this.lastMessageReceived=0,this.identifier=0,this.intervals={forceSync:null,connectionChecker:null},this.connectionAttempt=null,this.receivedOnOpenPayload=void 0,this.receivedOnStatusPayload=void 0,this.closeTries=0,this.setConfiguration(A),this.configuration.WebSocketPolyfill=A.WebSocketPolyfill?A.WebSocketPolyfill:WebSocket,this.on("open",this.configuration.onOpen),this.on("open",this.onOpen.bind(this)),this.on("connect",this.configuration.onConnect),this.on("message",this.configuration.onMessage),this.on("outgoingMessage",this.configuration.onOutgoingMessage),this.on("status",this.configuration.onStatus),this.on("status",this.onStatus.bind(this)),this.on("disconnect",this.configuration.onDisconnect),this.on("close",this.configuration.onClose),this.on("destroy",this.configuration.onDestroy),this.on("awarenessUpdate",this.configuration.onAwarenessUpdate),this.on("awarenessChange",this.configuration.onAwarenessChange),this.on("close",this.onClose.bind(this)),this.on("message",this.onMessage.bind(this)),this.intervals.connectionChecker=setInterval(this.checkConnection.bind(this),this.configuration.messageReconnectTimeout/10),void 0!==A.connect&&(this.shouldConnect=A.connect),this.shouldConnect&&this.connect()}async onOpen(A){this.receivedOnOpenPayload=A}async onStatus(A){this.receivedOnStatusPayload=A}attach(A){this.configuration.providerMap.set(A.configuration.name,A),this.status===al.Disconnected&&this.shouldConnect&&this.connect(),this.receivedOnOpenPayload&&A.onOpen(this.receivedOnOpenPayload),this.receivedOnStatusPayload&&A.onStatus(this.receivedOnStatusPayload)}detach(A){this.configuration.providerMap.delete(A.configuration.name)}setConfiguration(A={}){this.configuration={...this.configuration,...A}}async connect(){if(this.status===al.Connected)return;this.cancelWebsocketRetry&&(this.cancelWebsocketRetry(),this.cancelWebsocketRetry=void 0),this.receivedOnOpenPayload=void 0,this.receivedOnStatusPayload=void 0,this.shouldConnect=!0;const{retryPromise:A,cancelFunc:e}=(()=>{let A=!1;const e=async function(A,e){const t=function(A){return A||(A={}),{delay:void 0===A.delay?200:A.delay,initialDelay:void 0===A.initialDelay?0:A.initialDelay,minDelay:void 0===A.minDelay?0:A.minDelay,maxDelay:void 0===A.maxDelay?0:A.maxDelay,factor:void 0===A.factor?0:A.factor,maxAttempts:void 0===A.maxAttempts?3:A.maxAttempts,timeout:void 0===A.timeout?0:A.timeout,jitter:!0===A.jitter,handleError:void 0===A.handleError?null:A.handleError,handleTimeout:void 0===A.handleTimeout?null:A.handleTimeout,beforeAttempt:void 0===A.beforeAttempt?null:A.beforeAttempt,calculateDelay:void 0===A.calculateDelay?null:A.calculateDelay}}(e);for(const A of["delay","initialDelay","minDelay","maxDelay","maxAttempts","timeout"]){const e=t[A];if(!Number.isInteger(e)||e<0)throw new Error(`Value for ${A} must be an integer greater than or equal to 0`)}if(t.factor.constructor!==Number||t.factor<0)throw new Error("Value for factor must be a number greater than or equal to 0");if(t.delay{if(t.handleError&&await t.handleError(A,n,t),n.aborted||0===n.attemptsRemaining)throw A;n.attemptNum++;const B=i(n,t);return B&&await Ea(B),e()};return n.attemptsRemaining>0&&n.attemptsRemaining--,t.timeout?new Promise(((e,i)=>{const E=setTimeout((()=>{if(t.handleTimeout)try{e(t.handleTimeout(n,t))}catch(A){i(A)}else{const A=new Error(`Retry timeout (attemptNum: ${n.attemptNum}, timeout: ${t.timeout})`);A.code="ATTEMPT_TIMEOUT",i(A)}}),t.timeout);A(n,t).then((A=>{clearTimeout(E),e(A)})).catch((A=>{clearTimeout(E),B(A).then(e).catch(i)}))})):A(n,t).catch(B)}()}(this.createWebSocketConnection.bind(this),{delay:this.configuration.delay,initialDelay:this.configuration.initialDelay,factor:this.configuration.factor,maxAttempts:this.configuration.maxAttempts,minDelay:this.configuration.minDelay,maxDelay:this.configuration.maxDelay,jitter:this.configuration.jitter,timeout:this.configuration.timeout,beforeAttempt:e=>{this.shouldConnect&&!A||e.abort()}}).catch((A=>{if(A&&"ATTEMPT_ABORTED"!==A.code)throw A}));return{retryPromise:e,cancelFunc:()=>{A=!0}}})();return this.cancelWebsocketRetry=e,A}attachWebSocketListeners(A,e){const{identifier:t}=A;this.webSocketHandlers[t]={message:A=>this.emit("message",A),close:A=>this.emit("close",{event:A}),open:A=>this.emit("open",A),error:A=>{e(A)}};const n=this.webSocketHandlers[A.identifier];Object.keys(n).forEach((e=>{A.addEventListener(e,n[e])}))}cleanupWebSocket(){if(!this.webSocket)return;const{identifier:A}=this.webSocket,e=this.webSocketHandlers[A];Object.keys(e).forEach((t=>{var n;null===(n=this.webSocket)||void 0===n||n.removeEventListener(t,e[t]),delete this.webSocketHandlers[A]})),this.webSocket.close(),this.webSocket=null}createWebSocketConnection(){return new Promise(((A,e)=>{this.webSocket&&(this.messageQueue=[],this.cleanupWebSocket()),this.lastMessageReceived=0,this.identifier+=1;const t=new this.configuration.WebSocketPolyfill(this.url);t.binaryType="arraybuffer",t.identifier=this.identifier,this.attachWebSocketListeners(t,e),this.webSocket=t,this.status=al.Connecting,this.emit("status",{status:al.Connecting}),this.connectionAttempt={resolve:A,reject:e}}))}onMessage(A){var e;this.resolveConnectionAttempt(),this.lastMessageReceived=El();const t=new ll(A.data).peekVarString();null===(e=this.configuration.providerMap.get(t))||void 0===e||e.onMessage(A)}resolveConnectionAttempt(){this.connectionAttempt&&(this.connectionAttempt.resolve(),this.connectionAttempt=null,this.status=al.Connected,this.emit("status",{status:al.Connected}),this.emit("connect"),this.messageQueue.forEach((A=>this.send(A))),this.messageQueue=[])}stopConnectionAttempt(){this.connectionAttempt=null}rejectConnectionAttempt(){var A;null===(A=this.connectionAttempt)||void 0===A||A.reject(),this.connectionAttempt=null}checkConnection(){var A;this.status===al.Connected&&this.lastMessageReceived&&(this.configuration.messageReconnectTimeout>=El()-this.lastMessageReceived||(this.closeTries+=1,this.closeTries>2?(this.onClose({event:{code:4408,reason:"forced"}}),this.closeTries=0):(null===(A=this.webSocket)||void 0===A||A.close(),this.messageQueue=[])))}get serverUrl(){for(;"/"===this.configuration.url[this.configuration.url.length-1];)return this.configuration.url.slice(0,this.configuration.url.length-1);return this.configuration.url}get url(){const A=(()=>((A,e)=>{const t=[];for(const n in A)t.push(e(A[n],n));return t})(this.configuration.parameters,((A,e)=>`${encodeURIComponent(e)}=${encodeURIComponent(A)}`)).join("&"))();return`${this.serverUrl}${0===A.length?"":`?${A}`}`}disconnect(){if(this.shouldConnect=!1,null!==this.webSocket)try{this.webSocket.close(),this.messageQueue=[]}catch{}}send(A){var e;(null===(e=this.webSocket)||void 0===e?void 0:e.readyState)===Ba.Open?this.webSocket.send(A):this.messageQueue.push(A)}onClose({event:A}){this.closeTries=0,this.cleanupWebSocket(),this.status===al.Connected&&(this.status=al.Disconnected,this.emit("status",{status:al.Disconnected}),this.emit("disconnect",{event:A})),4401===A.code&&("Unauthorized"===A.reason?console.warn("[HocuspocusProvider] An authentication token is required, but you didn’t send one. Try adding a `token` to your HocuspocusProvider configuration. Won’t try again."):console.warn(`[HocuspocusProvider] Connection closed with status Unauthorized: ${A.reason}`),this.shouldConnect=!1),4403!==A.code||this.configuration.quiet?(1009===A.code&&(console.warn(`[HocuspocusProvider] Connection closed with status MessageTooBig: ${A.reason}`),this.shouldConnect=!1),this.connectionAttempt?this.rejectConnectionAttempt():this.shouldConnect&&this.connect(),this.shouldConnect||this.status!==al.Disconnected&&(this.status=al.Disconnected,this.emit("status",{status:al.Disconnected}),this.emit("disconnect",{event:A}))):console.warn("[HocuspocusProvider] The provided authentication token isn’t allowed to connect to this server. Will try again.")}destroy(){this.emit("destroy"),this.intervals.forceSync&&clearInterval(this.intervals.forceSync),clearInterval(this.intervals.connectionChecker),this.stopConnectionAttempt(),this.disconnect(),this.removeAllListeners(),this.cleanupWebSocket()}}const Ml=(A,e)=>{ja(A,0);const t=(A=>((A,e=new Io)=>(A instanceof Map?Do(e,A):((A,e)=>{Do(A,Oo(e.store))})(e,A),e.toUint8Array()))(A,new wo))(e);La(A,t)},wl=(A,e,t)=>{ja(A,1),La(A,((A,e)=>((A,e=new Uint8Array([0]),t=new uo)=>{((A,e,t=new Map)=>{Go(A,e.store,t),ro(A,so(e.store))})(t,A,ko(e));const n=[t.toUint8Array()];if(A.store.pendingDs&&n.push(A.store.pendingDs),A.store.pendingStructs&&n.push(wc(A.store.pendingStructs.update,e)),n.length>1){if(t.constructor===Ro)return lc(n.map(((A,e)=>0===e?A:dc(A))));if(t.constructor===uo)return Mc(n)}return n[0]})(A,e,new Ro))(e,t))},Rl=(A,e,t)=>{try{((A,e,t)=>{Co(A,e,t,lo)})(e,Wa(A),t)}catch(A){console.error("Caught error while handling a Yjs update",A)}},Il=Rl;class ul{constructor(){this.encoder=za()}get(A){return A.encoder}toUint8Array(){return pa(this.encoder)}}class dl{constructor(A){this.broadcasted=!1,this.message=A}setBroadcasted(A){return this.broadcasted=A,this}apply(A,e){const{message:t}=this,n=t.readVarUint(),i=t.length();switch(n){case Ql.Sync:this.applySyncMessage(A,e);break;case Ql.Awareness:this.applyAwarenessMessage(A);break;case Ql.Auth:this.applyAuthMessage(A);break;case Ql.QueryAwareness:this.applyQueryAwarenessMessage(A);break;case Ql.Stateless:A.receiveStateless(Al(t.decoder));break;case Ql.SyncStatus:this.applySyncStatusMessage(A,1===(A=>{let e=A.arr[A.pos++],t=63&e,n=64;const i=(64&e)>0?-1:1;if(0==(e&ya))return i*t;const B=A.arr.length;for(;A.posHa)throw _a}throw Oa})(t.decoder));break;default:throw new Error(`Can’t apply message of unknown type: ${n}`)}t.length()>i+1&&(this.broadcasted?A.broadcast(ul,{encoder:t.encoder}):A.send(ul,{encoder:t.encoder}))}applySyncMessage(A,e){const{message:t}=this;t.writeVarUint(Ql.Sync);const n=((A,e,t,n)=>{const i=$a(A);switch(i){case 0:((A,e,t)=>{wl(e,t,Wa(A))})(A,e,t);break;case 1:Rl(A,t,n);break;case 2:Il(A,t,n);break;default:throw new Error("Unknown message type")}return i})(t.decoder,t.encoder,A.document,A);e&&1===n&&(A.synced=!0)}applySyncStatusMessage(A,e){e&&A.decrementUnsyncedChanges()}applyAwarenessMessage(A){if(!A.awareness)return;const{message:e}=this;((A,e,t)=>{const n=Xa(e),i=El(),B=[],E=[],s=[],r=[],o=$a(n);for(let e=0;e0||s.length>0||r.length>0)&&A.emit("change",[{added:B,updated:s,removed:r},t]),(B.length>0||E.length>0||r.length>0)&&A.emit("update",[{added:B,updated:E,removed:r},t])})(A.awareness,e.readVarUint8Array(),A)}applyAuthMessage(A){const{message:e}=this;((A,e,t)=>{switch(ea(A)){case na.PermissionDenied:e(ta(A));break;case na.Authenticated:t(ta(A))}})(e.decoder,A.permissionDeniedHandler.bind(A),A.authenticatedHandler.bind(A))}applyQueryAwarenessMessage(A){if(!A.awareness)return;const{message:e}=this;e.writeVarUint(Ql.Awareness),e.writeVarUint8Array(cl(A.awareness,Array.from(A.awareness.getStates().keys())))}}class Gl{constructor(A,e={}){this.message=new A,this.encoder=this.message.get(e)}create(){return pa(this.encoder)}send(A){null==A||A.send(this.create())}broadcast(A){((A,e,t=null)=>{const n=Bl(A);n.bc.postMessage(e),n.subs.forEach((A=>A(e,t)))})(A,this.create())}}class Cl extends ul{constructor(){super(...arguments),this.type=Ql.Auth,this.description="Authentication"}get(A){if(void 0===A.token)throw new Error("The authentication message requires `token` as an argument.");var e,t;return Va(this.encoder,A.documentName),ja(this.encoder,this.type),t=A.token,vQ(e=this.encoder,na.Token),KQ(e,t),this.encoder}}class kl extends ul{constructor(){super(...arguments),this.type=Ql.Awareness,this.description="Awareness states update"}get(A){if(void 0===A.awareness)throw new Error("The awareness message requires awareness as an argument");if(void 0===A.clients)throw new Error("The awareness message requires clients as an argument");let e;return Va(this.encoder,A.documentName),ja(this.encoder,this.type),e=void 0===A.states?cl(A.awareness,A.clients):cl(A.awareness,A.clients,A.states),La(this.encoder,e),this.encoder}}class Dl extends ul{constructor(){super(...arguments),this.type=Ql.CLOSE,this.description="Ask the server to close the connection"}get(A){return Va(this.encoder,A.documentName),ja(this.encoder,this.type),this.encoder}}class Yl extends ul{constructor(){super(...arguments),this.type=Ql.QueryAwareness,this.description="Queries awareness states"}get(A){return Va(this.encoder,A.documentName),ja(this.encoder,this.type),this.encoder}}class Fl extends ul{constructor(){super(...arguments),this.type=Ql.Stateless,this.description="A stateless message"}get(A){var e;return Va(this.encoder,A.documentName),ja(this.encoder,this.type),Va(this.encoder,null!==(e=A.payload)&&void 0!==e?e:""),this.encoder}}class Ul extends ul{constructor(){super(...arguments),this.type=Ql.Sync,this.description="First sync step"}get(A){if(void 0===A.document)throw new Error("The sync step one message requires document as an argument");return Va(this.encoder,A.documentName),ja(this.encoder,this.type),Ml(this.encoder,A.document),this.encoder}}class fl extends ul{constructor(){super(...arguments),this.type=Ql.Sync,this.description="Second sync step"}get(A){if(void 0===A.document)throw new Error("The sync step two message requires document as an argument");return Va(this.encoder,A.documentName),ja(this.encoder,this.type),wl(this.encoder,A.document),this.encoder}}class Nl extends ul{constructor(){super(...arguments),this.type=Ql.Sync,this.description="A document update"}get(A){var e,t;return Va(this.encoder,A.documentName),ja(this.encoder,this.type),t=A.update,ja(e=this.encoder,2),La(e,t),this.encoder}}class Sl extends Error{constructor(){super(...arguments),this.code=1001}}class ml extends gl{constructor(A){var e,t,n;super(),this.configuration={name:"",document:void 0,awareness:void 0,token:null,parameters:{},broadcast:!0,forceSyncInterval:!1,onAuthenticated:()=>null,onAuthenticationFailed:()=>null,onOpen:()=>null,onConnect:()=>null,onMessage:()=>null,onOutgoingMessage:()=>null,onStatus:()=>null,onSynced:()=>null,onDisconnect:()=>null,onClose:()=>null,onDestroy:()=>null,onAwarenessUpdate:()=>null,onAwarenessChange:()=>null,onStateless:()=>null,quiet:!1,connect:!0,preserveConnection:!0},this.subscribedToBroadcastChannel=!1,this.isSynced=!1,this.unsyncedChanges=0,this.status=al.Disconnected,this.isAuthenticated=!1,this.authorizedScope=void 0,this.mux=(()=>{let A=!0;return(e,t)=>{if(A){A=!1;try{e()}finally{A=!0}}else void 0!==t&&t()}})(),this.intervals={forceSync:null},this.isConnected=!0,this.boundBroadcastChannelSubscriber=this.broadcastChannelSubscriber.bind(this),this.boundPageUnload=this.pageUnload.bind(this),this.boundOnOpen=this.onOpen.bind(this),this.boundOnClose=this.onClose.bind(this),this.boundOnStatus=this.onStatus.bind(this),this.forwardConnect=A=>this.emit("connect",A),this.forwardOpen=A=>this.emit("open",A),this.forwardClose=A=>this.emit("close",A),this.forwardDisconnect=A=>this.emit("disconnect",A),this.forwardDestroy=A=>this.emit("destroy",A),this.setConfiguration(A),this.configuration.document=A.document?A.document:new Qo,this.configuration.awareness=void 0!==A.awareness?A.awareness:new rl(this.document),this.on("open",this.configuration.onOpen),this.on("message",this.configuration.onMessage),this.on("outgoingMessage",this.configuration.onOutgoingMessage),this.on("synced",this.configuration.onSynced),this.on("destroy",this.configuration.onDestroy),this.on("awarenessUpdate",this.configuration.onAwarenessUpdate),this.on("awarenessChange",this.configuration.onAwarenessChange),this.on("stateless",this.configuration.onStateless),this.on("authenticated",this.configuration.onAuthenticated),this.on("authenticationFailed",this.configuration.onAuthenticationFailed),this.configuration.websocketProvider.on("connect",this.configuration.onConnect),this.configuration.websocketProvider.on("connect",this.forwardConnect),this.configuration.websocketProvider.on("open",this.boundOnOpen),this.configuration.websocketProvider.on("open",this.forwardOpen),this.configuration.websocketProvider.on("close",this.boundOnClose),this.configuration.websocketProvider.on("close",this.configuration.onClose),this.configuration.websocketProvider.on("close",this.forwardClose),this.configuration.websocketProvider.on("status",this.boundOnStatus),this.configuration.websocketProvider.on("disconnect",this.configuration.onDisconnect),this.configuration.websocketProvider.on("disconnect",this.forwardDisconnect),this.configuration.websocketProvider.on("destroy",this.configuration.onDestroy),this.configuration.websocketProvider.on("destroy",this.forwardDestroy),null===(e=this.awareness)||void 0===e||e.on("update",(()=>{this.emit("awarenessUpdate",{states:ia(this.awareness.getStates())})})),null===(t=this.awareness)||void 0===t||t.on("change",(()=>{this.emit("awarenessChange",{states:ia(this.awareness.getStates())})})),this.document.on("update",this.documentUpdateHandler.bind(this)),null===(n=this.awareness)||void 0===n||n.on("update",this.awarenessUpdateHandler.bind(this)),this.registerEventListeners(),this.configuration.forceSyncInterval&&(this.intervals.forceSync=setInterval(this.forceSync.bind(this),this.configuration.forceSyncInterval)),this.configuration.websocketProvider.attach(this)}onStatus({status:A}){this.status=A,this.configuration.onStatus({status:A}),this.emit("status",{status:A})}setConfiguration(A={}){!A.websocketProvider&&A.url&&(this.configuration.websocketProvider=new hl({url:A.url,connect:A.connect,parameters:A.parameters})),this.configuration={...this.configuration,...A}}get document(){return this.configuration.document}get awareness(){return this.configuration.awareness}get hasUnsyncedChanges(){return this.unsyncedChanges>0}incrementUnsyncedChanges(){this.unsyncedChanges+=1,this.emit("unsyncedChanges",this.unsyncedChanges)}decrementUnsyncedChanges(){this.unsyncedChanges-=1,0===this.unsyncedChanges&&(this.synced=!0),this.emit("unsyncedChanges",this.unsyncedChanges)}forceSync(){this.send(Ul,{document:this.document,documentName:this.configuration.name})}pageUnload(){this.awareness&&ol(this.awareness,[this.document.clientID],"window unload")}registerEventListeners(){"undefined"!=typeof window&&window.addEventListener("unload",this.boundPageUnload)}sendStateless(A){this.send(Fl,{documentName:this.configuration.name,payload:A})}documentUpdateHandler(A,e){e!==this&&(this.incrementUnsyncedChanges(),this.send(Nl,{update:A,documentName:this.configuration.name},!0))}awarenessUpdateHandler({added:A,updated:e,removed:t},n){const i=A.concat(e).concat(t);this.send(kl,{awareness:this.awareness,clients:i,documentName:this.configuration.name},!0)}get synced(){return this.isSynced}set synced(A){this.isSynced!==A&&(this.isSynced=A,this.emit("synced",{state:A}),this.emit("sync",{state:A}))}receiveStateless(A){this.emit("stateless",{payload:A})}get isAuthenticationRequired(){return!!this.configuration.token&&!this.isAuthenticated}async connect(){return this.configuration.broadcast&&this.subscribeToBroadcastChannel(),this.configuration.websocketProvider.connect()}disconnect(){this.disconnectBroadcastChannel(),this.configuration.websocketProvider.detach(this),this.isConnected=!1,this.configuration.preserveConnection||this.configuration.websocketProvider.disconnect()}async onOpen(A){let e;this.isAuthenticated=!1,this.isConnected=!0,this.emit("open",{event:A});try{e=await this.getToken()}catch(A){return void this.permissionDeniedHandler(`Failed to get token: ${A}`)}this.isAuthenticationRequired&&this.send(Cl,{token:e,documentName:this.configuration.name}),this.startSync()}async getToken(){return"function"==typeof this.configuration.token?await this.configuration.token():this.configuration.token}startSync(){this.incrementUnsyncedChanges(),this.send(Ul,{document:this.document,documentName:this.configuration.name}),this.awareness&&null!==this.awareness.getLocalState()&&this.send(kl,{awareness:this.awareness,clients:[this.document.clientID],documentName:this.configuration.name})}send(A,e,t=!1){if(!this.isConnected)return;t&&this.mux((()=>{this.broadcast(A,e)}));const n=new Gl(A,e);this.emit("outgoingMessage",{message:n.message}),n.send(this.configuration.websocketProvider)}onMessage(A){const e=new ll(A.data),t=e.readVarString();e.writeVarString(t),this.emit("message",{event:A,message:new ll(A.data)}),new dl(e).apply(this,!0)}onClose(A){this.isAuthenticated=!1,this.synced=!1,this.awareness&&ol(this.awareness,Array.from(this.awareness.getStates().keys()).filter((A=>A!==this.document.clientID)),this)}destroy(){var A;this.emit("destroy"),this.intervals.forceSync&&clearInterval(this.intervals.forceSync),this.awareness&&ol(this.awareness,[this.document.clientID],"provider destroy"),null===(A=this.awareness)||void 0===A||A.off("update",this.awarenessUpdateHandler),this.document.off("update",this.documentUpdateHandler),this.removeAllListeners(),this.configuration.websocketProvider.off("connect",this.configuration.onConnect),this.configuration.websocketProvider.off("connect",this.forwardConnect),this.configuration.websocketProvider.off("open",this.boundOnOpen),this.configuration.websocketProvider.off("open",this.forwardOpen),this.configuration.websocketProvider.off("close",this.boundOnClose),this.configuration.websocketProvider.off("close",this.configuration.onClose),this.configuration.websocketProvider.off("close",this.forwardClose),this.configuration.websocketProvider.off("status",this.boundOnStatus),this.configuration.websocketProvider.off("disconnect",this.configuration.onDisconnect),this.configuration.websocketProvider.off("disconnect",this.forwardDisconnect),this.configuration.websocketProvider.off("destroy",this.configuration.onDestroy),this.configuration.websocketProvider.off("destroy",this.forwardDestroy),this.send(Dl,{documentName:this.configuration.name}),this.disconnect(),"undefined"!=typeof window&&window.removeEventListener("unload",this.boundPageUnload)}permissionDeniedHandler(A){this.emit("authenticationFailed",{reason:A}),this.isAuthenticated=!1,this.disconnect(),this.status=al.Disconnected}authenticatedHandler(A){this.isAuthenticated=!0,this.authorizedScope=A,this.emit("authenticated"),this.startSync()}get broadcastChannel(){return`${this.configuration.name}`}broadcastChannelSubscriber(A){this.mux((()=>{const e=new ll(A),t=e.readVarString();e.writeVarString(t),new dl(e).setBroadcasted(!0).apply(this,!1)}))}subscribeToBroadcastChannel(){var A;this.subscribedToBroadcastChannel||(A=this.boundBroadcastChannelSubscriber,Bl(this.broadcastChannel).subs.add(A),this.subscribedToBroadcastChannel=!0),this.mux((()=>{this.broadcast(Ul,{document:this.document,documentName:this.configuration.name}),this.broadcast(fl,{document:this.document,documentName:this.configuration.name}),this.broadcast(Yl,{document:this.document,documentName:this.configuration.name}),this.awareness&&this.broadcast(kl,{awareness:this.awareness,clients:[this.document.clientID],document:this.document,documentName:this.configuration.name})}))}disconnectBroadcastChannel(){this.awareness&&this.send(kl,{awareness:this.awareness,clients:[this.document.clientID],states:new Map,documentName:this.configuration.name},!0),this.subscribedToBroadcastChannel&&(((A,e)=>{const t=Bl(A);t.subs.delete(e)&&0===t.subs.size&&(t.bc.close(),nl.delete(A))})(this.broadcastChannel,this.boundBroadcastChannelSubscriber),this.subscribedToBroadcastChannel=!1)}broadcast(A,e){this.configuration.broadcast&&this.subscribedToBroadcastChannel&&new Gl(A,e).broadcast(this.broadcastChannel)}setAwarenessField(A,e){if(!this.awareness)throw new Sl(`Cannot set awareness field "${A}" to ${JSON.stringify(e)}. You have disabled Awareness for this provider by explicitly passing awareness: null in the provider configuration.`);this.awareness.setLocalStateField(A,e)}}function yl({types:A,node:e}){return Array.isArray(A)&&A.includes(e.type)||e.type===A}const bl=Q.create({name:"trailingNode",addOptions:()=>({node:"paragraph",notAfter:["paragraph"]}),addProseMirrorPlugins(){const A=new s(this.name),e=Object.entries(this.editor.schema.nodes).map((([,A])=>A)).filter((A=>this.options.notAfter.includes(A.name)));return[new E({key:A,appendTransaction:(e,t,n)=>{const{doc:i,tr:B,schema:E}=n;if(A.getState(n))return B.insert(i.content.size,E.nodes[this.options.node].create())},state:{init:(A,t)=>!yl({node:t.tr.doc.lastChild,types:e}),apply:(A,t)=>A.docChanged?!yl({node:A.doc.lastChild,types:e}):t}})]}});function Hl(A,e){return function(){return A.apply(e,arguments)}}const{toString:Tl}=Object.prototype,{getPrototypeOf:zl}=Object,xl=(pl=Object.create(null),A=>{const e=Tl.call(A);return pl[e]||(pl[e]=e.slice(8,-1).toLowerCase())});var pl;const Jl=A=>(A=A.toLowerCase(),e=>xl(e)===A),jl=A=>e=>typeof e===A,{isArray:Zl}=Array,Pl=jl("undefined"),Vl=Jl("ArrayBuffer"),Ll=jl("string"),vl=jl("function"),Ol=jl("number"),_l=A=>null!==A&&"object"==typeof A,Kl=A=>{if("object"!==xl(A))return!1;const e=zl(A);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in A||Symbol.iterator in A)},Xl=Jl("Date"),Wl=Jl("File"),ql=Jl("Blob"),$l=Jl("FileList"),Ah=Jl("URLSearchParams");function eh(A,e,{allOwnKeys:t=!1}={}){if(null==A)return;let n,i;if("object"!=typeof A&&(A=[A]),Zl(A))for(n=0,i=A.length;n0;)if(n=t[i],e===n.toLowerCase())return n;return null}const nh="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,ih=A=>!Pl(A)&&A!==nh,Bh=(Eh="undefined"!=typeof Uint8Array&&zl(Uint8Array),A=>Eh&&A instanceof Eh);var Eh;const sh=Jl("HTMLFormElement"),rh=(({hasOwnProperty:A})=>(e,t)=>A.call(e,t))(Object.prototype),oh=Jl("RegExp"),ch=(A,e)=>{const t=Object.getOwnPropertyDescriptors(A),n={};eh(t,((t,i)=>{let B;!1!==(B=e(t,i,A))&&(n[i]=B||t)})),Object.defineProperties(A,n)},gh="abcdefghijklmnopqrstuvwxyz",Qh="0123456789",ah={DIGIT:Qh,ALPHA:gh,ALPHA_DIGIT:gh+gh.toUpperCase()+Qh},lh=Jl("AsyncFunction"),hh={isArray:Zl,isArrayBuffer:Vl,isBuffer:function(A){return null!==A&&!Pl(A)&&null!==A.constructor&&!Pl(A.constructor)&&vl(A.constructor.isBuffer)&&A.constructor.isBuffer(A)},isFormData:A=>{let e;return A&&("function"==typeof FormData&&A instanceof FormData||vl(A.append)&&("formdata"===(e=xl(A))||"object"===e&&vl(A.toString)&&"[object FormData]"===A.toString()))},isArrayBufferView:function(A){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(A):A&&A.buffer&&Vl(A.buffer),e},isString:Ll,isNumber:Ol,isBoolean:A=>!0===A||!1===A,isObject:_l,isPlainObject:Kl,isUndefined:Pl,isDate:Xl,isFile:Wl,isBlob:ql,isRegExp:oh,isFunction:vl,isStream:A=>_l(A)&&vl(A.pipe),isURLSearchParams:Ah,isTypedArray:Bh,isFileList:$l,forEach:eh,merge:function A(){const{caseless:e}=ih(this)&&this||{},t={},n=(n,i)=>{const B=e&&th(t,i)||i;t[B]=Kl(t[B])&&Kl(n)?A(t[B],n):Kl(n)?A({},n):Zl(n)?n.slice():n};for(let A=0,e=arguments.length;A(eh(e,((e,n)=>{A[n]=t&&vl(e)?Hl(e,t):e}),{allOwnKeys:n}),A),trim:A=>A.trim?A.trim():A.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:A=>(65279===A.charCodeAt(0)&&(A=A.slice(1)),A),inherits:(A,e,t,n)=>{A.prototype=Object.create(e.prototype,n),A.prototype.constructor=A,Object.defineProperty(A,"super",{value:e.prototype}),t&&Object.assign(A.prototype,t)},toFlatObject:(A,e,t,n)=>{let i,B,E;const s={};if(e=e||{},null==A)return e;do{for(i=Object.getOwnPropertyNames(A),B=i.length;B-- >0;)E=i[B],n&&!n(E,A,e)||s[E]||(e[E]=A[E],s[E]=!0);A=!1!==t&&zl(A)}while(A&&(!t||t(A,e))&&A!==Object.prototype);return e},kindOf:xl,kindOfTest:Jl,endsWith:(A,e,t)=>{A=String(A),(void 0===t||t>A.length)&&(t=A.length);const n=A.indexOf(e,t-=e.length);return-1!==n&&n===t},toArray:A=>{if(!A)return null;if(Zl(A))return A;let e=A.length;if(!Ol(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=A[e];return t},forEachEntry:(A,e)=>{const t=(A&&A[Symbol.iterator]).call(A);let n;for(;(n=t.next())&&!n.done;){const t=n.value;e.call(A,t[0],t[1])}},matchAll:(A,e)=>{let t;const n=[];for(;null!==(t=A.exec(e));)n.push(t);return n},isHTMLForm:sh,hasOwnProperty:rh,hasOwnProp:rh,reduceDescriptors:ch,freezeMethods:A=>{ch(A,((e,t)=>{if(vl(A)&&-1!==["arguments","caller","callee"].indexOf(t))return!1;vl(A[t])&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")}))}))},toObjectSet:(A,e)=>{const t={},n=A=>{A.forEach((A=>{t[A]=!0}))};return Zl(A)?n(A):n(String(A).split(e)),t},toCamelCase:A=>A.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(A,e,t){return e.toUpperCase()+t})),noop:()=>{},toFiniteNumber:(A,e)=>(A=+A,Number.isFinite(A)?A:e),findKey:th,global:nh,isContextDefined:ih,ALPHABET:ah,generateString:(A=16,e=ah.ALPHA_DIGIT)=>{let t="";const{length:n}=e;for(;A--;)t+=e[Math.random()*n|0];return t},isSpecCompliantForm:function(A){return!!(A&&vl(A.append)&&"FormData"===A[Symbol.toStringTag]&&A[Symbol.iterator])},toJSONObject:A=>{const e=new Array(10),t=(A,n)=>{if(_l(A)){if(e.indexOf(A)>=0)return;if(!("toJSON"in A)){e[n]=A;const i=Zl(A)?[]:{};return eh(A,((A,e)=>{const B=t(A,n+1);!Pl(B)&&(i[e]=B)})),e[n]=void 0,i}}return A};return t(A,0)},isAsyncFn:lh,isThenable:A=>A&&(_l(A)||vl(A))&&vl(A.then)&&vl(A.catch)};function Mh(A,e,t,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=A,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),n&&(this.request=n),i&&(this.response=i)}hh.inherits(Mh,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:hh.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const wh=Mh.prototype,Rh={};function Ih(A){return hh.isPlainObject(A)||hh.isArray(A)}function uh(A){return hh.endsWith(A,"[]")?A.slice(0,-2):A}function dh(A,e,t){return A?A.concat(e).map((function(A,e){return A=uh(A),!t&&e?"["+A+"]":A})).join(t?".":""):e}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((A=>{Rh[A]={value:A}})),Object.defineProperties(Mh,Rh),Object.defineProperty(wh,"isAxiosError",{value:!0}),Mh.from=(A,e,t,n,i,B)=>{const E=Object.create(wh);return hh.toFlatObject(A,E,(function(A){return A!==Error.prototype}),(A=>"isAxiosError"!==A)),Mh.call(E,A.message,e,t,n,i),E.cause=A,E.name=A.name,B&&Object.assign(E,B),E};const Gh=hh.toFlatObject(hh,{},null,(function(A){return/^is[A-Z]/.test(A)}));function Ch(A,e,t){if(!hh.isObject(A))throw new TypeError("target must be an object");e=e||new FormData,t=hh.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(A,e){return!hh.isUndefined(e[A])}));const n=t.metaTokens,i=t.visitor||o,B=t.dots,E=t.indexes,s=(t.Blob||"undefined"!=typeof Blob&&Blob)&&hh.isSpecCompliantForm(e);if(!hh.isFunction(i))throw new TypeError("visitor must be a function");function r(A){if(null===A)return"";if(hh.isDate(A))return A.toISOString();if(!s&&hh.isBlob(A))throw new Mh("Blob is not supported. Use a Buffer instead.");return hh.isArrayBuffer(A)||hh.isTypedArray(A)?s&&"function"==typeof Blob?new Blob([A]):Buffer.from(A):A}function o(A,t,i){let s=A;if(A&&!i&&"object"==typeof A)if(hh.endsWith(t,"{}"))t=n?t:t.slice(0,-2),A=JSON.stringify(A);else if(hh.isArray(A)&&function(A){return hh.isArray(A)&&!A.some(Ih)}(A)||(hh.isFileList(A)||hh.endsWith(t,"[]"))&&(s=hh.toArray(A)))return t=uh(t),s.forEach((function(A,n){!hh.isUndefined(A)&&null!==A&&e.append(!0===E?dh([t],n,B):null===E?t:t+"[]",r(A))})),!1;return!!Ih(A)||(e.append(dh(i,t,B),r(A)),!1)}const c=[],g=Object.assign(Gh,{defaultVisitor:o,convertValue:r,isVisitable:Ih});if(!hh.isObject(A))throw new TypeError("data must be an object");return function A(t,n){if(!hh.isUndefined(t)){if(-1!==c.indexOf(t))throw Error("Circular reference detected in "+n.join("."));c.push(t),hh.forEach(t,(function(t,B){!0===(!(hh.isUndefined(t)||null===t)&&i.call(e,t,hh.isString(B)?B.trim():B,n,g))&&A(t,n?n.concat(B):[B])})),c.pop()}}(A),e}function kh(A){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(A).replace(/[!'()~]|%20|%00/g,(function(A){return e[A]}))}function Dh(A,e){this._pairs=[],A&&Ch(A,this,e)}const Yh=Dh.prototype;function Fh(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Uh(A,e,t){if(!e)return A;const n=t&&t.encode||Fh,i=t&&t.serialize;let B;if(B=i?i(e,t):hh.isURLSearchParams(e)?e.toString():new Dh(e,t).toString(n),B){const e=A.indexOf("#");-1!==e&&(A=A.slice(0,e)),A+=(-1===A.indexOf("?")?"?":"&")+B}return A}Yh.append=function(A,e){this._pairs.push([A,e])},Yh.toString=function(A){const e=A?function(e){return A.call(this,e,kh)}:kh;return this._pairs.map((function(A){return e(A[0])+"="+e(A[1])}),"").join("&")};class fh{constructor(){this.handlers=[]}use(A,e,t){return this.handlers.push({fulfilled:A,rejected:e,synchronous:!!t&&t.synchronous,runWhen:t?t.runWhen:null}),this.handlers.length-1}eject(A){this.handlers[A]&&(this.handlers[A]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(A){hh.forEach(this.handlers,(function(e){null!==e&&A(e)}))}}const Nh={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Sh={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Dh,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},mh="undefined"!=typeof window&&"undefined"!=typeof document,yh=(bh="undefined"!=typeof navigator&&navigator.product,mh&&["ReactNative","NativeScript","NS"].indexOf(bh)<0);var bh;const Hh="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Th={...Object.freeze({__proto__:null,hasBrowserEnv:mh,hasStandardBrowserWebWorkerEnv:Hh,hasStandardBrowserEnv:yh}),...Sh};function zh(A){function e(A,t,n,i){let B=A[i++];const E=Number.isFinite(+B),s=i>=A.length;return B=!B&&hh.isArray(n)?n.length:B,s?(n[B]=hh.hasOwnProp(n,B)?[n[B],t]:t,!E):(n[B]&&hh.isObject(n[B])||(n[B]=[]),e(A,t,n[B],i)&&hh.isArray(n[B])&&(n[B]=function(A){const e={},t=Object.keys(A);let n;const i=t.length;let B;for(n=0;n{e(function(A){return hh.matchAll(/\w+|\[(\w*)]/g,A).map((A=>"[]"===A[0]?"":A[1]||A[0]))}(A),n,t,0)})),t}return null}const xh={transitional:Nh,adapter:["xhr","http"],transformRequest:[function(A,e){const t=e.getContentType()||"",n=t.indexOf("application/json")>-1,i=hh.isObject(A);if(i&&hh.isHTMLForm(A)&&(A=new FormData(A)),hh.isFormData(A))return n&&n?JSON.stringify(zh(A)):A;if(hh.isArrayBuffer(A)||hh.isBuffer(A)||hh.isStream(A)||hh.isFile(A)||hh.isBlob(A))return A;if(hh.isArrayBufferView(A))return A.buffer;if(hh.isURLSearchParams(A))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),A.toString();let B;if(i){if(t.indexOf("application/x-www-form-urlencoded")>-1)return function(A,e){return Ch(A,new Th.classes.URLSearchParams,Object.assign({visitor:function(A,e,t,n){return Th.isNode&&hh.isBuffer(A)?(this.append(e,A.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},e))}(A,this.formSerializer).toString();if((B=hh.isFileList(A))||t.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return Ch(B?{"files[]":A}:A,e&&new e,this.formSerializer)}}return i||n?(e.setContentType("application/json",!1),function(A){if(hh.isString(A))try{return(0,JSON.parse)(A),hh.trim(A)}catch(A){if("SyntaxError"!==A.name)throw A}return(0,JSON.stringify)(A)}(A)):A}],transformResponse:[function(A){const e=this.transitional||xh.transitional,t=e&&e.forcedJSONParsing,n="json"===this.responseType;if(A&&hh.isString(A)&&(t&&!this.responseType||n)){const t=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(A)}catch(A){if(t){if("SyntaxError"===A.name)throw Mh.from(A,Mh.ERR_BAD_RESPONSE,this,null,this.response);throw A}}}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Th.classes.FormData,Blob:Th.classes.Blob},validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};hh.forEach(["delete","get","head","post","put","patch"],(A=>{xh.headers[A]={}}));const ph=hh.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Jh=Symbol("internals");function jh(A){return A&&String(A).trim().toLowerCase()}function Zh(A){return!1===A||null==A?A:hh.isArray(A)?A.map(Zh):String(A)}function Ph(A,e,t,n,i){return hh.isFunction(n)?n.call(this,e,t):(i&&(e=t),hh.isString(e)?hh.isString(n)?-1!==e.indexOf(n):hh.isRegExp(n)?n.test(e):void 0:void 0)}class Vh{constructor(A){A&&this.set(A)}set(A,e,t){const n=this;function i(A,e,t){const i=jh(e);if(!i)throw new Error("header name must be a non-empty string");const B=hh.findKey(n,i);(!B||void 0===n[B]||!0===t||void 0===t&&!1!==n[B])&&(n[B||e]=Zh(A))}const B=(A,e)=>hh.forEach(A,((A,t)=>i(A,t,e)));return hh.isPlainObject(A)||A instanceof this.constructor?B(A,e):hh.isString(A)&&(A=A.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(A.trim())?B((A=>{const e={};let t,n,i;return A&&A.split("\n").forEach((function(A){i=A.indexOf(":"),t=A.substring(0,i).trim().toLowerCase(),n=A.substring(i+1).trim(),!t||e[t]&&ph[t]||("set-cookie"===t?e[t]?e[t].push(n):e[t]=[n]:e[t]=e[t]?e[t]+", "+n:n)})),e})(A),e):null!=A&&i(e,A,t),this}get(A,e){if(A=jh(A)){const t=hh.findKey(this,A);if(t){const A=this[t];if(!e)return A;if(!0===e)return function(A){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=t.exec(A);)e[n[1]]=n[2];return e}(A);if(hh.isFunction(e))return e.call(this,A,t);if(hh.isRegExp(e))return e.exec(A);throw new TypeError("parser must be boolean|regexp|function")}}}has(A,e){if(A=jh(A)){const t=hh.findKey(this,A);return!(!t||void 0===this[t]||e&&!Ph(0,this[t],t,e))}return!1}delete(A,e){const t=this;let n=!1;function i(A){if(A=jh(A)){const i=hh.findKey(t,A);!i||e&&!Ph(0,t[i],i,e)||(delete t[i],n=!0)}}return hh.isArray(A)?A.forEach(i):i(A),n}clear(A){const e=Object.keys(this);let t=e.length,n=!1;for(;t--;){const i=e[t];A&&!Ph(0,this[i],i,A,!0)||(delete this[i],n=!0)}return n}normalize(A){const e=this,t={};return hh.forEach(this,((n,i)=>{const B=hh.findKey(t,i);if(B)return e[B]=Zh(n),void delete e[i];const E=A?function(A){return A.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((A,e,t)=>e.toUpperCase()+t))}(i):String(i).trim();E!==i&&delete e[i],e[E]=Zh(n),t[E]=!0})),this}concat(...A){return this.constructor.concat(this,...A)}toJSON(A){const e=Object.create(null);return hh.forEach(this,((t,n)=>{null!=t&&!1!==t&&(e[n]=A&&hh.isArray(t)?t.join(", "):t)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([A,e])=>A+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(A){return A instanceof this?A:new this(A)}static concat(A,...e){const t=new this(A);return e.forEach((A=>t.set(A))),t}static accessor(A){const e=(this[Jh]=this[Jh]={accessors:{}}).accessors,t=this.prototype;function n(A){const n=jh(A);e[n]||(function(A,e){const t=hh.toCamelCase(" "+e);["get","set","has"].forEach((n=>{Object.defineProperty(A,n+t,{value:function(A,t,i){return this[n].call(this,e,A,t,i)},configurable:!0})}))}(t,A),e[n]=!0)}return hh.isArray(A)?A.forEach(n):n(A),this}}function Lh(A,e){const t=this||xh,n=e||t,i=Vh.from(n.headers);let B=n.data;return hh.forEach(A,(function(A){B=A.call(t,B,i.normalize(),e?e.status:void 0)})),i.normalize(),B}function vh(A){return!(!A||!A.__CANCEL__)}function Oh(A,e,t){Mh.call(this,null==A?"canceled":A,Mh.ERR_CANCELED,e,t),this.name="CanceledError"}Vh.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),hh.reduceDescriptors(Vh.prototype,(({value:A},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>A,set(A){this[t]=A}}})),hh.freezeMethods(Vh),hh.inherits(Oh,Mh,{__CANCEL__:!0});const _h=Th.hasStandardBrowserEnv?{write(A,e,t,n,i,B){const E=[A+"="+encodeURIComponent(e)];hh.isNumber(t)&&E.push("expires="+new Date(t).toGMTString()),hh.isString(n)&&E.push("path="+n),hh.isString(i)&&E.push("domain="+i),!0===B&&E.push("secure"),document.cookie=E.join("; ")},read(A){const e=document.cookie.match(new RegExp("(^|;\\s*)("+A+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(A){this.write(A,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function Kh(A,e){return A&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(A,e){return e?A.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):A}(A,e):e}const Xh=Th.hasStandardBrowserEnv?function(){const A=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let t;function n(t){let n=t;return A&&(e.setAttribute("href",n),n=e.href),e.setAttribute("href",n),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return t=n(window.location.href),function(A){const e=hh.isString(A)?n(A):A;return e.protocol===t.protocol&&e.host===t.host}}():function(){return!0};function Wh(A,e){let t=0;const n=function(A,e){A=A||10;const t=new Array(A),n=new Array(A);let i,B=0,E=0;return e=void 0!==e?e:1e3,function(s){const r=Date.now(),o=n[E];i||(i=r),t[B]=s,n[B]=r;let c=E,g=0;for(;c!==B;)g+=t[c++],c%=A;if(B=(B+1)%A,B===E&&(E=(E+1)%A),r-i{const B=i.loaded,E=i.lengthComputable?i.total:void 0,s=B-t,r=n(s);t=B;const o={loaded:B,total:E,progress:E?B/E:void 0,bytes:s,rate:r||void 0,estimated:r&&E&&B<=E?(E-B)/r:void 0,event:i};o[e?"download":"upload"]=!0,A(o)}}const qh="undefined"!=typeof XMLHttpRequest&&function(A){return new Promise((function(e,t){let n=A.data;const i=Vh.from(A.headers).normalize();let B,E,{responseType:s,withXSRFToken:r}=A;function o(){A.cancelToken&&A.cancelToken.unsubscribe(B),A.signal&&A.signal.removeEventListener("abort",B)}if(hh.isFormData(n))if(Th.hasStandardBrowserEnv||Th.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if(!1!==(E=i.getContentType())){const[A,...e]=E?E.split(";").map((A=>A.trim())).filter(Boolean):[];i.setContentType([A||"multipart/form-data",...e].join("; "))}let c=new XMLHttpRequest;if(A.auth){const e=A.auth.username||"",t=A.auth.password?unescape(encodeURIComponent(A.auth.password)):"";i.set("Authorization","Basic "+btoa(e+":"+t))}const g=Kh(A.baseURL,A.url);function Q(){if(!c)return;const n=Vh.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());!function(A,e,t){const n=t.config.validateStatus;t.status&&n&&!n(t.status)?e(new Mh("Request failed with status code "+t.status,[Mh.ERR_BAD_REQUEST,Mh.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t)):A(t)}((function(A){e(A),o()}),(function(A){t(A),o()}),{data:s&&"text"!==s&&"json"!==s?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:n,config:A,request:c}),c=null}if(c.open(A.method.toUpperCase(),Uh(g,A.params,A.paramsSerializer),!0),c.timeout=A.timeout,"onloadend"in c?c.onloadend=Q:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(Q)},c.onabort=function(){c&&(t(new Mh("Request aborted",Mh.ECONNABORTED,A,c)),c=null)},c.onerror=function(){t(new Mh("Network Error",Mh.ERR_NETWORK,A,c)),c=null},c.ontimeout=function(){let e=A.timeout?"timeout of "+A.timeout+"ms exceeded":"timeout exceeded";A.timeoutErrorMessage&&(e=A.timeoutErrorMessage),t(new Mh(e,(A.transitional||Nh).clarifyTimeoutError?Mh.ETIMEDOUT:Mh.ECONNABORTED,A,c)),c=null},Th.hasStandardBrowserEnv&&(r&&hh.isFunction(r)&&(r=r(A)),r||!1!==r&&Xh(g))){const e=A.xsrfHeaderName&&A.xsrfCookieName&&_h.read(A.xsrfCookieName);e&&i.set(A.xsrfHeaderName,e)}void 0===n&&i.setContentType(null),"setRequestHeader"in c&&hh.forEach(i.toJSON(),(function(A,e){c.setRequestHeader(e,A)})),hh.isUndefined(A.withCredentials)||(c.withCredentials=!!A.withCredentials),s&&"json"!==s&&(c.responseType=A.responseType),"function"==typeof A.onDownloadProgress&&c.addEventListener("progress",Wh(A.onDownloadProgress,!0)),"function"==typeof A.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",Wh(A.onUploadProgress)),(A.cancelToken||A.signal)&&(B=e=>{c&&(t(!e||e.type?new Oh(null,A,c):e),c.abort(),c=null)},A.cancelToken&&A.cancelToken.subscribe(B),A.signal&&(A.signal.aborted?B():A.signal.addEventListener("abort",B)));const a=function(A){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(A);return e&&e[1]||""}(g);a&&-1===Th.protocols.indexOf(a)?t(new Mh("Unsupported protocol "+a+":",Mh.ERR_BAD_REQUEST,A)):c.send(n||null)}))},$h={http:null,xhr:qh};hh.forEach($h,((A,e)=>{if(A){try{Object.defineProperty(A,"name",{value:e})}catch(A){}Object.defineProperty(A,"adapterName",{value:e})}}));const AM=A=>`- ${A}`,eM=A=>hh.isFunction(A)||null===A||!1===A,tM=A=>{A=hh.isArray(A)?A:[A];const{length:e}=A;let t,n;const i={};for(let B=0;B`adapter ${A} `+(!1===e?"is not supported by the environment":"is not available in the build")));throw new Mh("There is no suitable adapter to dispatch the request "+(e?A.length>1?"since :\n"+A.map(AM).join("\n"):" "+AM(A[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return n};function nM(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new Oh(null,A)}function iM(A){return nM(A),A.headers=Vh.from(A.headers),A.data=Lh.call(A,A.transformRequest),-1!==["post","put","patch"].indexOf(A.method)&&A.headers.setContentType("application/x-www-form-urlencoded",!1),tM(A.adapter||xh.adapter)(A).then((function(e){return nM(A),e.data=Lh.call(A,A.transformResponse,e),e.headers=Vh.from(e.headers),e}),(function(e){return vh(e)||(nM(A),e&&e.response&&(e.response.data=Lh.call(A,A.transformResponse,e.response),e.response.headers=Vh.from(e.response.headers))),Promise.reject(e)}))}const BM=A=>A instanceof Vh?A.toJSON():A;function EM(A,e){e=e||{};const t={};function n(A,e,t){return hh.isPlainObject(A)&&hh.isPlainObject(e)?hh.merge.call({caseless:t},A,e):hh.isPlainObject(e)?hh.merge({},e):hh.isArray(e)?e.slice():e}function i(A,e,t){return hh.isUndefined(e)?hh.isUndefined(A)?void 0:n(void 0,A,t):n(A,e,t)}function B(A,e){if(!hh.isUndefined(e))return n(void 0,e)}function E(A,e){return hh.isUndefined(e)?hh.isUndefined(A)?void 0:n(void 0,A):n(void 0,e)}function s(t,i,B){return B in e?n(t,i):B in A?n(void 0,t):void 0}const r={url:B,method:B,data:B,baseURL:E,transformRequest:E,transformResponse:E,paramsSerializer:E,timeout:E,timeoutMessage:E,withCredentials:E,withXSRFToken:E,adapter:E,responseType:E,xsrfCookieName:E,xsrfHeaderName:E,onUploadProgress:E,onDownloadProgress:E,decompress:E,maxContentLength:E,maxBodyLength:E,beforeRedirect:E,transport:E,httpAgent:E,httpsAgent:E,cancelToken:E,socketPath:E,responseEncoding:E,validateStatus:s,headers:(A,e)=>i(BM(A),BM(e),!0)};return hh.forEach(Object.keys(Object.assign({},A,e)),(function(n){const B=r[n]||i,E=B(A[n],e[n],n);hh.isUndefined(E)&&B!==s||(t[n]=E)})),t}const sM={};["object","boolean","number","function","string","symbol"].forEach(((A,e)=>{sM[A]=function(t){return typeof t===A||"a"+(e<1?"n ":" ")+A}}));const rM={};sM.transitional=function(A,e,t){function n(A,e){return"[Axios v1.6.2] Transitional option '"+A+"'"+e+(t?". "+t:"")}return(t,i,B)=>{if(!1===A)throw new Mh(n(i," has been removed"+(e?" in "+e:"")),Mh.ERR_DEPRECATED);return e&&!rM[i]&&(rM[i]=!0,console.warn(n(i," has been deprecated since v"+e+" and will be removed in the near future"))),!A||A(t,i,B)}};const oM={assertOptions:function(A,e,t){if("object"!=typeof A)throw new Mh("options must be an object",Mh.ERR_BAD_OPTION_VALUE);const n=Object.keys(A);let i=n.length;for(;i-- >0;){const B=n[i],E=e[B];if(E){const e=A[B],t=void 0===e||E(e,B,A);if(!0!==t)throw new Mh("option "+B+" must be "+t,Mh.ERR_BAD_OPTION_VALUE)}else if(!0!==t)throw new Mh("Unknown option "+B,Mh.ERR_BAD_OPTION)}},validators:sM},cM=oM.validators;class gM{constructor(A){this.defaults=A,this.interceptors={request:new fh,response:new fh}}request(A,e){"string"==typeof A?(e=e||{}).url=A:e=A||{},e=EM(this.defaults,e);const{transitional:t,paramsSerializer:n,headers:i}=e;void 0!==t&&oM.assertOptions(t,{silentJSONParsing:cM.transitional(cM.boolean),forcedJSONParsing:cM.transitional(cM.boolean),clarifyTimeoutError:cM.transitional(cM.boolean)},!1),null!=n&&(hh.isFunction(n)?e.paramsSerializer={serialize:n}:oM.assertOptions(n,{encode:cM.function,serialize:cM.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let B=i&&hh.merge(i.common,i[e.method]);i&&hh.forEach(["delete","get","head","post","put","patch","common"],(A=>{delete i[A]})),e.headers=Vh.concat(B,i);const E=[];let s=!0;this.interceptors.request.forEach((function(A){"function"==typeof A.runWhen&&!1===A.runWhen(e)||(s=s&&A.synchronous,E.unshift(A.fulfilled,A.rejected))}));const r=[];let o;this.interceptors.response.forEach((function(A){r.push(A.fulfilled,A.rejected)}));let c,g=0;if(!s){const A=[iM.bind(this),void 0];for(A.unshift.apply(A,E),A.push.apply(A,r),c=A.length,o=Promise.resolve(e);g{if(!t._listeners)return;let e=t._listeners.length;for(;e-- >0;)t._listeners[e](A);t._listeners=null})),this.promise.then=A=>{let e;const n=new Promise((A=>{t.subscribe(A),e=A})).then(A);return n.cancel=function(){t.unsubscribe(e)},n},A((function(A,n,i){t.reason||(t.reason=new Oh(A,n,i),e(t.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(A){this.reason?A(this.reason):this._listeners?this._listeners.push(A):this._listeners=[A]}unsubscribe(A){if(!this._listeners)return;const e=this._listeners.indexOf(A);-1!==e&&this._listeners.splice(e,1)}static source(){let A;return{token:new QM((function(e){A=e})),cancel:A}}}const aM={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(aM).forEach((([A,e])=>{aM[e]=A}));const lM=function A(e){const t=new gM(e),n=Hl(gM.prototype.request,t);return hh.extend(n,gM.prototype,t,{allOwnKeys:!0}),hh.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return A(EM(e,t))},n}(xh);lM.Axios=gM,lM.CanceledError=Oh,lM.CancelToken=QM,lM.isCancel=vh,lM.VERSION="1.6.2",lM.toFormData=Ch,lM.AxiosError=Mh,lM.Cancel=lM.CanceledError,lM.all=function(A){return Promise.all(A)},lM.spread=function(A){return function(e){return A.apply(null,e)}},lM.isAxiosError=function(A){return hh.isObject(A)&&!0===A.isAxiosError},lM.mergeConfig=EM,lM.AxiosHeaders=Vh,lM.formToJSON=A=>zh(hh.isHTMLForm(A)?new FormData(A):A),lM.getAdapter=tM,lM.HttpStatusCode=aM,lM.default=lM;const hM=["image/jpeg","image/gif","image/png","image/jpg"];async function MM(A,e){const t=A instanceof DataTransferItem?A.getAsFile():A;return(null==e?void 0:e.options.uploadFunc)?e.options.uploadFunc(t):(null==e?void 0:e.options.uploadUrl)?async function(A,e){return(await lM.postForm(e,{imgFile:A})).data.url||""}(t,e.options.uploadUrl):new Promise((A=>{const e=new FileReader;e.onloadend=()=>A(e.result),e.readAsDataURL(t)}))}const wM=Q.create({name:"imageUploader",addCommands(){return{uploadImage:A=>()=>(MM(A,this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)}},addOptions:()=>({uploadUrl:"",uploadFunc:null}),addProseMirrorPlugins(){return[new E({key:new s("imageUploader"),props:{handlePaste:(A,e)=>{var t;const n=Array.from((null===(t=e.clipboardData)||void 0===t?void 0:t.items)||[]);if(n.some((A=>"text/html"===A.type)))return!1;const i=n.find((A=>hM.includes(A.type)));return!!Boolean(i)&&(MM(i,this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)},handleDrop:(A,e)=>{var t;return!!Boolean(null===(t=e.dataTransfer)||void 0===t?void 0:t.files.length)&&(MM(e.dataTransfer.files.item(0),this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)}}})]}}),RM=[9,13,16,20,24,36,48],IM=Q.create({name:"fontSize",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:A=>{var e;return parseInt(null===(e=A.style.fontSize)||void 0===e?void 0:e.replace(/px$/,""))},renderHTML:A=>A.fontSize?{style:`font-size: ${A.fontSize}px`}:{}}}}]},addCommands:()=>({setFontSize:A=>({chain:e})=>e().setMark("textStyle",{fontSize:A}).run(),unsetFontSize:()=>({chain:A})=>A().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run(),scaleFontSize:(A="upscale")=>({state:e})=>{const{doc:t,selection:n}=e,{from:i,to:B}=n;return t.slice(i,B).content.descendants(((t,n)=>{var B;if(t.isText){const E=(null===(B=t.marks.find((A=>"textStyle"===A.type.name)))||void 0===B?void 0:B.attrs.fontSize)||13,s=RM.reduce(((A,e)=>Math.abs(e-E)({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{lineHeight:{default:null,parseHTML:A=>parseInt(A.style.lineHeight),renderHTML:A=>A.lineHeight?{style:`line-height: ${A.lineHeight}`}:{}}}}]},addCommands:()=>({setLineHeight:A=>({chain:e})=>e().selectParentNode().setMark("textStyle",{lineHeight:A}).run(),unsetLineHeight:()=>({chain:A})=>A().selectParentNode().setMark("textStyle",{lineHeight:null}).removeEmptyTextStyle().run()})}),GM={"Sans-serif":'"Source Han Sans CN", PingFangSC, "Microsoft YaHei", HiraginoSansGB, Roboto, Helvetica, Tahoma, sans-serif',Serif:'SimSun, STSong, Georgia, "Times New Roman", Times, serif',Cursive:"FangSong, KaiTi, cursive",Monospace:'"Source Code Pro", Menlo, Monaco, Consolas, "Courier New", monospace'},CM=Q.create({name:"defaultTextStyle",addProseMirrorPlugins:()=>[new E({appendTransaction(A,e,t){if(1!==A.length||1!==A[0].steps.length)return;const n=A[0].doc.type.schema,i=n.marks.textStyle.create({fontFamily:GM["Sans-serif"]}),B=n.marks.textStyle.create({fontFamily:GM["Sans-serif"],fontSize:13});let E=t.tr;return A.forEach((A=>{A.steps.forEach((A=>{A.getMap().forEach(((A,e,n,s)=>{t.doc.nodesBetween(n,s,((A,e)=>{"heading"===A.type.name&&A.forEach(((A,t)=>{A.isText&&!Boolean(A.marks.find((A=>"textStyle"===A.type.name)))&&(E=E.addMark(e+t,e+t+A.nodeSize+1,i))})),"paragraph"===A.type.name&&A.forEach(((A,t)=>{A.isText&&!Boolean(A.marks.find((A=>"textStyle"===A.type.name)))&&(E=E.addMark(e+t,e+t+A.nodeSize+1,B))}))}))}))}))})),E}})]});var kM,DM;if("undefined"!=typeof WeakMap){let A=new WeakMap;kM=e=>A.get(e),DM=(e,t)=>(A.set(e,t),t)}else{const A=[],e=10;let t=0;kM=e=>{for(let t=0;t(t==e&&(t=0),A[t++]=n,A[t++]=i)}var YM=class{constructor(A,e,t,n){this.width=A,this.height=e,this.map=t,this.problems=n}findCell(A){for(let e=0;en&&(B+=i.attrs.colspan)}}for(let A=0;A1&&(t=!0)}-1==e?e=B:e!=B&&(e=Math.max(e,B))}return e}(A),t=A.childCount,n=[];let i=0,B=null;const E=[];for(let A=0,i=e*t;A=t){(B||(B=[])).push({type:"overlong_rowspan",pos:r,n:Q-A});break}const o=i+A*e;for(let A=0;A0;e--)if("row"==A.node(e).type.spec.tableRole)return A.node(0).resolve(A.before(e+1));return null}function SM(A){const e=A.selection.$head;for(let A=e.depth;A>0;A--)if("row"==e.node(A).type.spec.tableRole)return!0;return!1}function mM(A){const e=A.selection;if("$anchorCell"in e&&e.$anchorCell)return e.$anchorCell.pos>e.$headCell.pos?e.$anchorCell:e.$headCell;if("node"in e&&e.node&&"cell"==e.node.type.spec.tableRole)return e.$anchor;const t=NM(e.$head)||function(A){for(let e=A.nodeAfter,t=A.pos;e;e=e.firstChild,t++){const n=e.type.spec.tableRole;if("cell"==n||"header_cell"==n)return A.doc.resolve(t)}for(let e=A.nodeBefore,t=A.pos;e;e=e.lastChild,t--){const n=e.type.spec.tableRole;if("cell"==n||"header_cell"==n)return A.doc.resolve(t-e.nodeSize)}}(e.$head);if(t)return t;throw new RangeError(`No cell found around position ${e.head}`)}function yM(A){return"row"==A.parent.type.spec.tableRole&&!!A.nodeAfter}function bM(A,e){return A.depth==e.depth&&A.pos>=e.start(-1)&&A.pos<=e.end(-1)}function HM(A,e,t){const n=A.node(-1),i=YM.get(n),B=A.start(-1),E=i.nextCell(A.pos-B,e,t);return null==E?null:A.node(0).resolve(B+E)}function TM(A,e,t=1){const n={...A,colspan:A.colspan-t};return n.colwidth&&(n.colwidth=n.colwidth.slice(),n.colwidth.splice(e,t),n.colwidth.some((A=>A>0))||(n.colwidth=null)),n}function zM(A,e,t=1){const n={...A,colspan:A.colspan+t};if(n.colwidth){n.colwidth=n.colwidth.slice();for(let A=0;AA!=e.pos-i));s.unshift(e.pos-i);const r=s.map((A=>{const e=t.nodeAt(A);if(!e)throw RangeError(`No cell with offset ${A} found`);const n=i+A+1;return new V(E.resolve(n),E.resolve(n+e.content.size))}));super(r[0].$from,r[0].$to,r),this.$anchorCell=A,this.$headCell=e}map(A,e){const t=A.resolve(e.map(this.$anchorCell.pos)),n=A.resolve(e.map(this.$headCell.pos));if(yM(t)&&yM(n)&&bM(t,n)){const A=this.$anchorCell.node(-1)!=t.node(-1);return A&&this.isRowSelection()?xM.rowSelection(t,n):A&&this.isColSelection()?xM.colSelection(t,n):new xM(t,n)}return C.between(t,n)}content(){const A=this.$anchorCell.node(-1),e=YM.get(A),t=this.$anchorCell.start(-1),n=e.rectBetween(this.$anchorCell.pos-t,this.$headCell.pos-t),i={},B=[];for(let t=n.top;t0||c>0){let A=r.attrs;if(o>0&&(A=TM(A,0,o)),c>0&&(A=TM(A,A.colspan-c,c)),s.leftn.bottom){const A={...r.attrs,rowspan:Math.min(s.bottom,n.bottom)-Math.max(s.top,n.top)};r=s.top0)&&Math.max(A+this.$anchorCell.nodeAfter.attrs.rowspan,e+this.$headCell.nodeAfter.attrs.rowspan)==this.$headCell.node(-1).childCount}static colSelection(A,e=A){const t=A.node(-1),n=YM.get(t),i=A.start(-1),B=n.findCell(A.pos-i),E=n.findCell(e.pos-i),s=A.node(0);return B.top<=E.top?(B.top>0&&(A=s.resolve(i+n.map[B.left])),E.bottom0&&(e=s.resolve(i+n.map[E.left])),B.bottom0)&&Math.max(n+this.$anchorCell.nodeAfter.attrs.colspan,i+this.$headCell.nodeAfter.attrs.colspan)==e.width}eq(A){return A instanceof xM&&A.$anchorCell.pos==this.$anchorCell.pos&&A.$headCell.pos==this.$headCell.pos}static rowSelection(A,e=A){const t=A.node(-1),n=YM.get(t),i=A.start(-1),B=n.findCell(A.pos-i),E=n.findCell(e.pos-i),s=A.node(0);return B.left<=E.left?(B.left>0&&(A=s.resolve(i+n.map[B.top*n.width])),E.right0&&(e=s.resolve(i+n.map[E.top*n.width])),B.right{e.push(Y.node(t,t+A.nodeSize,{class:"selectedCell"}))})),k.create(A.doc,e)}var jM=new s("fix-tables");function ZM(A,e,t,n){const i=A.childCount,B=e.childCount;A:for(let E=0,s=0;E{"table"==e.type.spec.tableRole&&(t=function(A,e,t,n){const i=YM.get(e);if(!i.problems)return n;n||(n=A.tr);const B=[];for(let A=0;A0){let e="cell";t.firstChild&&(e=t.firstChild.type.spec.tableRole);const B=[];for(let t=0;te.width)for(let B=0,c=0;Be.height){const c=[];for(let A=0,n=(e.height-1)*e.width;A=e.width)&&t.nodeAt(e.map[n+A]).type==s.header_cell;c.push(i?o||(o=s.header_cell.createAndFill()):r||(r=s.cell.createAndFill()))}const g=s.row.create(null,x.from(c)),Q=[];for(let A=e.height;A{if(!i)return!1;const B=t.selection;if(B instanceof xM)return KM(t,n,b.near(B.$headCell,e));if("horiz"!=A&&!B.empty)return!1;const E=tw(i,A,e);if(null==E)return!1;if("horiz"==A)return KM(t,n,b.near(t.doc.resolve(B.head+e),e));{const i=t.doc.resolve(E),B=HM(i,A,e);let s;return s=B?b.near(B,1):e<0?b.near(t.doc.resolve(i.before(-1)),-1):b.near(t.doc.resolve(i.after(-1)),1),KM(t,n,s)}}}function WM(A,e){return(t,n,i)=>{if(!i)return!1;const B=t.selection;let E;if(B instanceof xM)E=B;else{const n=tw(i,A,e);if(null==n)return!1;E=new xM(t.doc.resolve(n))}const s=HM(E.$headCell,A,e);return!!s&&KM(t,n,new xM(E.$anchorCell,s))}}function qM(A,e){const t=A.selection;if(!(t instanceof xM))return!1;if(e){const n=A.tr,i=UM(A.schema).cell.createAndFill().content;t.forEachCell(((A,e)=>{A.content.eq(i)||n.replace(n.mapping.map(e+1),n.mapping.map(e+A.nodeSize-1),new H(i,0,0))})),n.docChanged&&e(n)}return!0}function $M(A,e){const t=NM(A.state.doc.resolve(e));return!!t&&(A.dispatch(A.state.tr.setSelection(new xM(t))),!0)}function Aw(A,e,t){if(!SM(A.state))return!1;let n=function(A){if(!A.size)return null;let{content:e,openStart:t,openEnd:n}=A;for(;1==e.childCount&&(t>0&&n>0||"table"==e.child(0).type.spec.tableRole);)t--,n--,e=e.child(0).content;const i=e.child(0),B=i.type.spec.tableRole,E=i.type.schema,s=[];if("row"==B)for(let A=0;A=0;e--){const{rowspan:i,colspan:B}=n.child(e).attrs;for(let e=A;e=e.length&&e.push(x.empty),t[i]n&&(s=s.type.createChecked(TM(s.attrs,s.attrs.colspan,t+s.attrs.colspan-n),s.content)),E.push(s),t+=s.attrs.colspan;for(let t=1;ti&&(e=e.type.create({...e.attrs,rowspan:Math.max(1,i-e.attrs.rowspan)},e.content)),E.push(e)}A.push(x.from(E))}t=A,e=i}return{width:A,height:e,rows:t}}(n,E.right-E.left,E.bottom-E.top),OM(A.state,A.dispatch,B,E,n),!0}if(n){const e=mM(A.state),t=e.start(-1);return OM(A.state,A.dispatch,t,YM.get(e.node(-1)).findCell(e.pos-t),n),!0}return!1}function ew(A,e){var t;if(e.ctrlKey||e.metaKey)return;const n=nw(A,e.target);let i;if(e.shiftKey&&A.state.selection instanceof xM)B(A.state.selection.$anchorCell,e),e.preventDefault();else if(e.shiftKey&&n&&null!=(i=NM(A.state.selection.$anchor))&&(null==(t=iw(A,e))?void 0:t.pos)!=i.pos)B(i,e),e.preventDefault();else if(!n)return;function B(e,t){let n=iw(A,t);const i=null==fM.getState(A.state);if(!n||!bM(e,n)){if(!i)return;n=e}const B=new xM(e,n);if(i||!A.state.selection.eq(B)){const t=A.state.tr.setSelection(B);i&&t.setMeta(fM,e.pos),A.dispatch(t)}}function E(){A.root.removeEventListener("mouseup",E),A.root.removeEventListener("dragstart",E),A.root.removeEventListener("mousemove",s),null!=fM.getState(A.state)&&A.dispatch(A.state.tr.setMeta(fM,-1))}function s(t){const i=t,s=fM.getState(A.state);let r;if(null!=s)r=A.state.doc.resolve(s);else if(nw(A,i.target)!=n&&(r=iw(A,e),!r))return E();r&&B(r,i)}A.root.addEventListener("mouseup",E),A.root.addEventListener("dragstart",E),A.root.addEventListener("mousemove",s)}function tw(A,e,t){if(!(A.state.selection instanceof C))return null;const{$head:n}=A.state.selection;for(let i=n.depth-1;i>=0;i--){const B=n.node(i);if((t<0?n.index(i):n.indexAfter(i))!=(t<0?0:B.childCount))return null;if("cell"==B.type.spec.tableRole||"header_cell"==B.type.spec.tableRole){const B=n.before(i);return A.endOfTextblock("vert"==e?t>0?"down":"up":t>0?"right":"left")?B:null}}return null}function nw(A,e){for(;e&&e!=A.dom;e=e.parentNode)if("TD"==e.nodeName||"TH"==e.nodeName)return e;return null}function iw(A,e){const t=A.posAtCoords({left:e.clientX,top:e.clientY});return t&&t?NM(A.state.doc.resolve(t.pos)):null}var Bw=class{constructor(A,e){this.node=A,this.cellMinWidth=e,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.colgroup=this.table.appendChild(document.createElement("colgroup")),Ew(A,this.colgroup,this.table,e),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(A){return A.type==this.node.type&&(this.node=A,Ew(A,this.colgroup,this.table,this.cellMinWidth),!0)}ignoreMutation(A){return"attributes"==A.type&&(A.target==this.table||this.colgroup.contains(A.target))}};function Ew(A,e,t,n,i,B){var E;let s=0,r=!0,o=e.firstChild;const c=A.firstChild;if(c){for(let A=0,t=0;A(i.spec.props.nodeViews[UM(n.schema).table.name]=(A,n)=>new t(A,e,n),new ow(-1,!1)),apply:(A,e)=>e.apply(A)},props:{attributes:A=>{const e=sw.getState(A);return e&&e.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:(e,t)=>{!function(A,e,t,n,i){const B=sw.getState(A.state);if(B&&!B.dragging){const n=function(A){for(;A&&"TD"!=A.nodeName&&"TH"!=A.nodeName;)A=A.classList&&A.classList.contains("ProseMirror")?null:A.parentNode;return A}(e.target);let E=-1;if(n){const{left:i,right:B}=n.getBoundingClientRect();e.clientX-i<=t?E=cw(A,e,"left",t):B-e.clientX<=t&&(E=cw(A,e,"right",t))}if(E!=B.activeHandle){if(!i&&-1!==E){const e=A.state.doc.resolve(E),t=e.node(-1),n=YM.get(t),i=e.start(-1);if(n.colCount(e.pos-i)+e.nodeAfter.attrs.colspan-1==n.width-1)return}Qw(A,E)}}}(e,t,A,0,n)},mouseleave:A=>{!function(A){const e=sw.getState(A.state);e&&e.activeHandle>-1&&!e.dragging&&Qw(A,-1)}(A)},mousedown:(A,t)=>{!function(A,e,t){const n=sw.getState(A.state);if(!n||-1==n.activeHandle||n.dragging)return!1;const i=A.state.doc.nodeAt(n.activeHandle),B=function(A,e,{colspan:t,colwidth:n}){const i=n&&n[n.length-1];if(i)return i;const B=A.domAtPos(e);let E=B.node.childNodes[B.offset].offsetWidth,s=t;if(n)for(let A=0;A{const e=sw.getState(A);if(e&&e.activeHandle>-1)return function(A,e){const t=[],n=A.doc.resolve(e),i=n.node(-1);if(!i)return k.empty;const B=YM.get(i),E=n.start(-1),s=B.colCount(n.pos-E)+n.nodeAfter.attrs.colspan;for(let A=0;A-1&&A.docChanged){let t=A.mapping.map(e.activeHandle,-1);return yM(A.doc.resolve(t))||(t=-1),new ow(t,e.dragging)}return e}};function cw(A,e,t,n){const i=A.posAtCoords({left:e.clientX+("right"==t?-n:n),top:e.clientY});if(!i)return-1;const{pos:B}=i,E=NM(A.state.doc.resolve(B));if(!E)return-1;if("right"==t)return E.pos;const s=YM.get(E.node(-1)),r=E.start(-1),o=s.map.indexOf(E.pos-r);return o%s.width==0?-1:r+s.map[o-1]}function gw(A,e,t){return Math.max(t,A.startWidth+(e.clientX-A.startX))}function Qw(A,e){A.dispatch(A.state.tr.setMeta(sw,{setHandle:e}))}function aw(A){const e=A.selection,t=mM(A),n=t.node(-1),i=t.start(-1),B=YM.get(n);return{...e instanceof xM?B.rectBetween(e.$anchorCell.pos-i,e.$headCell.pos-i):B.findCell(t.pos-i),tableStart:i,map:B,table:n}}function lw(A,{map:e,tableStart:t,table:n},i){let B=i>0?-1:0;(function(A,e,t){const n=UM(e.type.schema).header_cell;for(let i=0;i0&&i0&&e.map[s-1]==r||i0?-1:0;(function(A,e,t){var n;const i=UM(e.type.schema).header_cell;for(let B=0;B0&&i0&&r==e.map[E-e.width]){const e=t.nodeAt(r).attrs;A.setNodeMarkup(A.mapping.slice(s).map(r+n),null,{...e,rowspan:e.rowspan-1}),B+=e.colspan-1}else if(i0&&t[B]==t[B-1]||n.right0&&t[i]==t[i-A]||n.bottomt[A.type.spec.tableRole],(A,e)=>{var t;const i=A.selection;let B,E;if(i instanceof xM){if(i.$anchorCell.pos!=i.$headCell.pos)return!1;B=i.$anchorCell.nodeAfter,E=i.$anchorCell.pos}else{if(B=function(A){for(let e=A.depth;e>0;e--){const t=A.node(e).type.spec.tableRole;if("cell"===t||"header_cell"===t)return A.node(e)}return null}(i.$from),!B)return!1;E=null==(t=NM(i.$from))?void 0:t.pos}if(null==B||null==E)return!1;if(1==B.attrs.colspan&&1==B.attrs.rowspan)return!1;if(e){let t=B.attrs;const s=[],r=t.colwidth;t.rowspan>1&&(t={...t,rowspan:1}),t.colspan>1&&(t={...t,colspan:1});const o=aw(A),c=A.tr;for(let A=0;Ai.table.nodeAt(A)));for(let A=0;A{const e=A+i.tableStart,t=B.doc.nodeAt(e);t&&B.setNodeMarkup(e,o,t.attrs)})),t(B)}return!0}}Gw("row",{useDeprecatedLogic:!0}),Gw("column",{useDeprecatedLogic:!0});var Cw=Gw("cell",{useDeprecatedLogic:!0});function kw(A){return function(e,t){if(!SM(e))return!1;const n=function(A,e){if(e<0){const e=A.nodeBefore;if(e)return A.pos-e.nodeSize;for(let e=A.index(-1)-1,t=A.before();e>=0;e--){const n=A.node(-1).child(e),i=n.lastChild;if(i)return t-1-i.nodeSize;t-=n.nodeSize}}else{if(A.index()null,apply(A,e){const t=A.getMeta(fM);if(null!=t)return-1==t?null:t;if(null==e||!A.docChanged)return e;const{deleted:n,pos:i}=A.mapping.mapResult(e);return n?null:i}},props:{decorations:JM,handleDOMEvents:{mousedown:ew},createSelectionBetween:A=>null!=fM.getState(A.state)?A.state.selection:null,handleTripleClick:$M,handleKeyDown:_M,handlePaste:Aw},appendTransaction:(e,t,n)=>function(A,e,t){const n=(e||A).selection,i=(e||A).doc;let B,E;if(n instanceof T&&(E=n.node.type.spec.tableRole)){if("cell"==E||"header_cell"==E)B=xM.create(i,n.from);else if("row"==E){const A=i.resolve(n.from+1);B=xM.rowSelection(A,A)}else if(!t){const A=YM.get(n.node),e=n.from+1;B=xM.create(i,e+1,e+A.map[A.width*A.height-1])}}else n instanceof C&&function({$from:A,$to:e}){if(A.pos==e.pos||A.pos=0&&!(A.after(i+1)=0&&!(e.before(A+1)>e.start(A));A--,n--);return t==n&&/row|table/.test(A.node(i).type.spec.tableRole)}(n)?B=C.create(i,n.from):n instanceof C&&function({$from:A,$to:e}){let t,n;for(let e=A.depth;e>0;e--){const n=A.node(e);if("cell"===n.type.spec.tableRole||"header_cell"===n.type.spec.tableRole){t=n;break}}for(let A=e.depth;A>0;A--){const t=e.node(A);if("cell"===t.type.spec.tableRole||"header_cell"===t.type.spec.tableRole){n=t;break}}return t!==n&&0===e.parentOffset}(n)&&(B=C.create(i,n.$from.start(),n.$from.end()));return B&&(e||(e=A.tr)).setSelection(B),e}(n,PM(n,t),A)})}function Yw(A,e,t,n,i,B){let E=0,s=!0,r=e.firstChild;const o=A.firstChild;for(let A=0,t=0;A{const{selection:e}=A.state;if(!function(A){return A instanceof xM}(e))return!1;let t=0;const n=v(e.ranges[0].$from,(A=>"table"===A.type.name));return null==n||n.node.descendants((A=>{if("table"===A.type.name)return!1;["tableCell","tableHeader"].includes(A.type.name)&&(t+=1)})),t===e.ranges.length&&(A.commands.deleteTable(),!0)},Nw=R.create({name:"table",addOptions:()=>({HTMLAttributes:{},resizable:!1,handleWidth:5,cellMinWidth:25,View:Fw,lastColumnResizable:!0,allowTableNodeSelection:!1}),content:"tableRow+",tableRole:"table",isolating:!0,group:"block",parseHTML:()=>[{tag:"table"}],renderHTML({HTMLAttributes:A}){return["table",l(this.options.HTMLAttributes,A),["tbody",0]]},addCommands:()=>({insertTable:({rows:A=3,cols:e=3,withHeaderRow:t=!0}={})=>({tr:n,dispatch:i,editor:B})=>{const E=function(A,e,t,n,i){const B=function(A){if(A.cached.tableNodeTypes)return A.cached.tableNodeTypes;const e={};return Object.keys(A.nodes).forEach((t=>{const n=A.nodes[t];n.spec.tableRole&&(e[n.spec.tableRole]=n)})),A.cached.tableNodeTypes=e,e}(A),E=[],s=[];for(let A=0;A({state:A,dispatch:e})=>function(A,e){if(!SM(A))return!1;if(e){const t=aw(A);e(lw(A.tr,t,t.left))}return!0}(A,e),addColumnAfter:()=>({state:A,dispatch:e})=>function(A,e){if(!SM(A))return!1;if(e){const t=aw(A);e(lw(A.tr,t,t.right))}return!0}(A,e),deleteColumn:()=>({state:A,dispatch:e})=>function(A,e){if(!SM(A))return!1;if(e){const t=aw(A),n=A.tr;if(0==t.left&&t.right==t.map.width)return!1;for(let A=t.right-1;hw(n,t,A),A!=t.left;A--){const A=t.tableStart?n.doc.nodeAt(t.tableStart-1):n.doc;if(!A)throw RangeError("No table found");t.table=A,t.map=YM.get(A)}e(n)}return!0}(A,e),addRowBefore:()=>({state:A,dispatch:e})=>function(A,e){if(!SM(A))return!1;if(e){const t=aw(A);e(Mw(A.tr,t,t.top))}return!0}(A,e),addRowAfter:()=>({state:A,dispatch:e})=>function(A,e){if(!SM(A))return!1;if(e){const t=aw(A);e(Mw(A.tr,t,t.bottom))}return!0}(A,e),deleteRow:()=>({state:A,dispatch:e})=>function(A,e){if(!SM(A))return!1;if(e){const t=aw(A),n=A.tr;if(0==t.top&&t.bottom==t.map.height)return!1;for(let A=t.bottom-1;ww(n,t,A),A!=t.top;A--){const A=t.tableStart?n.doc.nodeAt(t.tableStart-1):n.doc;if(!A)throw RangeError("No table found");t.table=A,t.map=YM.get(t.table)}e(n)}return!0}(A,e),deleteTable:()=>({state:A,dispatch:e})=>function(A,e){const t=A.selection.$anchor;for(let n=t.depth;n>0;n--)if("table"==t.node(n).type.spec.tableRole)return e&&e(A.tr.delete(t.before(n),t.after(n)).scrollIntoView()),!0;return!1}(A,e),mergeCells:()=>({state:A,dispatch:e})=>Iw(A,e),splitCell:()=>({state:A,dispatch:e})=>uw(A,e),toggleHeaderColumn:()=>({state:A,dispatch:e})=>Gw("column")(A,e),toggleHeaderRow:()=>({state:A,dispatch:e})=>Gw("row")(A,e),toggleHeaderCell:()=>({state:A,dispatch:e})=>Cw(A,e),mergeOrSplit:()=>({state:A,dispatch:e})=>!!Iw(A,e)||uw(A,e),setCellAttribute:(A,e)=>({state:t,dispatch:n})=>function(A,e){return function(t,n){if(!SM(t))return!1;const i=mM(t);if(i.nodeAfter.attrs[A]===e)return!1;if(n){const B=t.tr;t.selection instanceof xM?t.selection.forEachCell(((t,n)=>{t.attrs[A]!==e&&B.setNodeMarkup(n,null,{...t.attrs,[A]:e})})):B.setNodeMarkup(i.pos,null,{...i.nodeAfter.attrs,[A]:e}),n(B)}return!0}}(A,e)(t,n),goToNextCell:()=>({state:A,dispatch:e})=>kw(1)(A,e),goToPreviousCell:()=>({state:A,dispatch:e})=>kw(-1)(A,e),fixTables:()=>({state:A,dispatch:e})=>(e&&PM(A),!0),setCellSelection:A=>({tr:e,dispatch:t})=>{if(t){const t=xM.create(e.doc,A.anchorCell,A.headCell);e.setSelection(t)}return!0}}),addKeyboardShortcuts(){return{Tab:()=>!!this.editor.commands.goToNextCell()||!!this.editor.can().addRowAfter()&&this.editor.chain().addRowAfter().goToNextCell().run(),"Shift-Tab":()=>this.editor.commands.goToPreviousCell(),Backspace:fw,"Mod-Backspace":fw,Delete:fw,"Mod-Delete":fw}},addProseMirrorPlugins(){return[...this.options.resizable&&this.editor.isEditable?[rw({handleWidth:this.options.handleWidth,cellMinWidth:this.options.cellMinWidth,View:this.options.View,lastColumnResizable:this.options.lastColumnResizable})]:[],Dw({allowTableNodeSelection:this.options.allowTableNodeSelection})]},extendNodeSchema:A=>({tableRole:p(J(A,"tableRole",{name:A.name,options:A.options,storage:A.storage}))})}),Sw=R.create({name:"tableCell",addOptions:()=>({HTMLAttributes:{}}),content:"block+",addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null}}}),tableRole:"cell",isolating:!0,parseHTML:()=>[{tag:"td"}],renderHTML({HTMLAttributes:A}){return["td",l(this.options.HTMLAttributes,A),0]}}),mw=R.create({name:"tableHeader",addOptions:()=>({HTMLAttributes:{}}),content:"block+",addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null}}}),tableRole:"header_cell",isolating:!0,parseHTML:()=>[{tag:"th"}],renderHTML({HTMLAttributes:A}){return["th",l(this.options.HTMLAttributes,A),0]}}),yw=R.create({name:"tableRow",addOptions:()=>({HTMLAttributes:{}}),content:"(tableCell | tableHeader)*",tableRole:"row",parseHTML:()=>[{tag:"tr"}],renderHTML({HTMLAttributes:A}){return["tr",l(this.options.HTMLAttributes,A),0]}}),bw=Sw.extend({addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null},renderHTML:A=>A.colwidth?{style:`width: ${A.colwidth[0]}px;`}:{}}}),renderHTML({HTMLAttributes:A}){return["td",l(this.options.HTMLAttributes,A,{style:"border: 1px solid black; padding: 5px;"}),0]}}),Hw=mw.extend({addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null},renderHTML:A=>A.colwidth?{style:`width: ${A.colwidth[0]}px;`}:{}}}),renderHTML({HTMLAttributes:A}){return["th",l(this.options.HTMLAttributes,A,{style:"border: 1px solid black; padding: 5px;"}),0]}}),Tw=Nw.extend({renderHTML({HTMLAttributes:A}){return["table",l(this.options.HTMLAttributes,A,{style:"border-collapse: collapse; border: 1px solid black;"}),["tbody",0]]}});var zw;!function(A){A[A.compact=0]="compact",A[A.full=1]="full"}(zw||(zw={}));class xw extends O{constructor(){super(...arguments),this.contentComponent=null}}const pw=class{constructor(A){e(this,A),this.editorDidLoad=B(this,"editorDidLoad",7),this.toggleMonaco=async()=>{if(this.isMonaco){const A=await this.monacoEditor.getValue();this.editor.chain().setContent(A).run()}this.isMonaco=!this.isMonaco},this.name="",this.uploadUrl="",this.placeholder="",this.initialContent="",this.resizable=!1,this.exposeEditor=!1,this.size="sm",this.hideMenubar=void 0,this.menubarMode="full",this.extraMenubarItems="",this.bubbleMenu=!1,this.locale=void 0,this.styles=void 0,this.collaborative=!1,this.hocuspocus="",this.docName="",this.username="",this.userColor="#ffcc00",this.updateInputValue=void 0,this.fullscreenable=!1,this.toggleFullscreen=void 0,this.isFullscreen=!1,this.value=void 0,this.editor=null,this.forceUpdateCounter=0,this.isMonaco=!1}forceUpdate(){this.forceUpdateCounter>1e3?this.forceUpdateCounter=0:this.forceUpdateCounter++}onLocaleChanage(){void 0!==this.locale&&(A.setLocale(this.locale),this.forceUpdate())}connectedCallback(){void 0!==this.locale&&A.setLocale(this.locale),setTimeout((()=>{const{lowlight:A}=Ln;this.ydoc=this.collaborative?new Qo:null;const e=this.collaborative?[HQ.configure({document:this.ydoc}),xQ.configure({provider:new ml({url:this.hocuspocus,name:this.docName,document:this.ydoc}),user:{name:this.username,color:this.userColor}})]:[];this.editor=new xw({extensions:[qE.configure(Object.assign({history:{depth:50,newGroupDelay:500},codeBlock:!1},this.collaborative?{history:!1}:{})),tA,BA,iA,$,EA,sA.extend({priority:1e3}),pB,IM,JB,CM,dM,ue.configure({lowlight:A}),Tw.configure({resizable:!0}),yw,Hw,bw,On.configure({inline:!0}),yB,bB,HB,TB.configure({types:["heading","paragraph"]}),bl,X,wM.configure({uploadUrl:this.uploadUrl}),zB.configure({placeholder:this.placeholder}),xB,...e],editorProps:{attributes:{spellcheck:"false"},handleDOMEvents:{mouseup:A=>{requestAnimationFrame((()=>{const e=A.pluginViews.find((A=>{var e;return"BubbleMenuView"===(null===(e=A.constructor)||void 0===e?void 0:e.name)}));null==e||e.update(A)}))}}},content:this.value||this.initialContent}),this.editorDidLoad.emit(this.editor),this.editor.on("transaction",(()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.forceUpdate()}))}))})),this.editor.on("blur",(()=>{requestAnimationFrame((()=>{this.updateInputValue()}))})),this.updateInputValue(),this.exposeEditor&&(window.$zenEditors||(window.$zenEditors={}),window.$zenEditors[this.name||"ze"]=this.editor)}),0)}componentDidLoad(){Boolean(this.styles)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles])}disconnectedCallback(){this.editor.destroy()}render(){return Boolean(this.editor)?t("div",{class:`editor${this.isFullscreen?" is-fullscreen":""}${this.resizable?" resizable":""}${"full"===this.size?" full":""}`},t("zen-editor-bubble-menu",{editor:this.editor,menuProps:{tippyOptions:{duration:100}},disabled:!this.bubbleMenu}),this.hideMenubar?null:t("zen-editor-menubar",{editor:this.editor,menubarMode:zw[this.menubarMode],toggleMonaco:this.toggleMonaco,toggleFullscreen:this.fullscreenable&&this.toggleFullscreen,states:{isMonaco:this.isMonaco,isCollaborative:this.collaborative,isFullscreen:this.isFullscreen},forceUpdateCounter:this.forceUpdateCounter,styles:this.styles,extraMenubarItems:this.extraMenubarItems}),this.isMonaco&&t("monaco-editor",{class:`monaco-editor ${this.size}`,ref:A=>this.monacoEditor=A,options:{language:"html",ariaContainerElement:null,value:this.editor.getHTML()},tiptapEditor:this.editor,updateInputValue:this.updateInputValue}),t("zen-editor-content",{class:`editor__content ${this.size}`,editor:this.editor,styles:this.styles,style:{display:this.isMonaco?"none":""}})):null}get element(){return i(this)}static get watchers(){return{locale:["onLocaleChanage"]}}};pw.style='button,input,select{font-size:inherit;font-family:inherit;color:#333333;margin:0.1em;border:1px solid #333333;border-radius:0.25em;padding:0.1em 0.4em;background:white;accent-color:black}button[disabled],input[disabled],select[disabled]{opacity:0.3}.editor{font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;background-color:#fff;border:1px solid #a6a39e;border-radius:0.25em;color:#0d0d0d;display:flex;flex-direction:column;min-height:10em;max-height:96vh}.editor.resizable{resize:vertical;overflow:hidden}.editor.is-fullscreen{height:100% !important;max-height:unset;resize:none}.editor.full{min-height:100%}.editor__content{flex:1 1 auto;overflow-x:hidden;overflow-y:auto;padding:0.25em 0.75em 1.25em 1em;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;cursor:text}.editor__content.sm{min-height:3.5em}.editor__content.lg{min-height:14em}.editor__content.full{min-height:100%}.editor__content.narrow{padding:0 0 0 0.5em}.editor__content .collaboration-cursor__caret{border-left:1px solid #0d0d0d;border-right:1px solid #0d0d0d;margin-left:-1px;margin-right:-1px;pointer-events:none;position:relative;word-break:normal}.editor__content .collaboration-cursor__label{border-radius:3px 3px 3px 0;color:#0d0d0d;font-size:12px;font-style:normal;font-weight:600;left:-1px;line-height:normal;padding:0.1em 0.3em;position:absolute;top:-1.4em;user-select:none;white-space:nowrap}.editor__footer{align-items:center;border-top:1px solid #a6a39e;color:#6e6e6e;display:flex;flex:0 0 auto;font-size:12px;flex-wrap:wrap;font-weight:600;justify-content:space-between;padding:0.25em 0.75em;white-space:nowrap}.editor ::-webkit-scrollbar{width:14px;height:14px}.editor ::-webkit-scrollbar-track{border:4px solid transparent;background-clip:padding-box;border-radius:8px;background-color:transparent}.editor ::-webkit-scrollbar-thumb{border:4px solid rgba(0, 0, 0, 0);background-clip:padding-box;border-radius:8px;background-color:rgba(0, 0, 0, 0)}.editor :hover::-webkit-scrollbar-thumb{background-color:rgba(0, 0, 0, 0.1)}.editor ::-webkit-scrollbar-thumb:hover{background-color:rgba(0, 0, 0, 0.15)}.editor ::-webkit-scrollbar-button{display:none;width:0;height:0}.editor ::-webkit-scrollbar-corner{background-color:transparent}.editor .monaco-editor{height:100%;min-height:10em}.editor .monaco-editor.sm{min-height:3.5em}.editor .monaco-editor.lg{min-height:14em}.editor .monaco-editor.full{min-height:100%}';const Jw=class{constructor(A){e(this,A),this.itemProps=void 0,this.menubarMode=void 0,this.styles=void 0}updateMenu(){if(this.menuTippy){const{menuItems:A}=this.itemProps;this.menuContent=document.createElement("div"),this.menuContent.style.padding="0.1em",this.menuContent.style.borderRadius="0.3em",this.menuContent.style.backgroundColor="#fff",this.menuContent.style.border="1px solid #a6a39e",A.forEach((A=>{const e=document.createElement("zen-editor-menu-item"),{menuModeLevel:t}=A;t&&t>this.menubarMode||(e.itemProps=Object.assign(Object.assign({},A),{action:A.action?()=>{A.action(),this.menuTippy.hide()}:null}),this.menuContent.append(e))})),this.menuTippy.setContent(this.menuContent)}}componentDidLoad(){var A;const{menuItems:e}=this.itemProps;e&&(this.menuTippy=g(null!==(A=this.menuTippyTarget)&&void 0!==A?A:this.el,{placement:"bottom-start",trigger:"click",interactive:!0,animation:!1,appendTo:()=>{var A,e,t;return null!==(t=null===(e=null===(A=document.fullscreenElement)||void 0===A?void 0:A.shadowRoot)||void 0===e?void 0:e.querySelector(".editor"))&&void 0!==t?t:document.body}}),this.updateMenu())}componentDidUpdate(){this.menuTippy&&this.updateMenu()}render(){const{icon:A,label:e,title:i,action:B,menuItems:E,isDisabled:s=null,isActive:r=null,flip:o="none"}=this.itemProps;return t(n,null,t("button",{class:`menu-item${s&&s()?" is-disabled":""}${r&&r()?" is-active":""}${"none"!==o?` flip-${o}`:""}${E&&B?" has-submenu":""}`,onClick:s&&s()?null:B,title:i},A&&(A.startsWith("ci")?t("i",{class:`coolicons ${A}`}):t("i",{class:A})),e&&t("span",{class:"label"},e),E&&!B?t("i",{class:"coolicons ci-caret_down_sm"}):null),E&&B&&t("button",{class:"menu-item",ref:A=>this.menuTippyTarget=A},t("i",{class:"coolicons ci-caret_down_sm"})))}get el(){return i(this)}};Jw.style='@font-face{font-family:\'coolicons\';src:url(data:application/font-woff;base64,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BAAAgAQAAIAEAACABAAAgAQAAKsEAACrBAAA1QQAAKsEAACrBAAAqwQAAKsEAACrBAAAqwQAAKsEAACABAAAqwQAAKsEAACrBAAAVQQAAIAEAACABAAAVQQAAIAEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAACrBAAAZwQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAQAEAABVBAAAVQQAAG0EAAEzBAAARgQAAIAEAACABAAAKwQAAIAEAACABAAAgAQAAIAEAABVBAAAVQQAAFUEAAA0BAABKwQAACsEAACABAAAKwQAAFUEAABVBAAAqwQAAdUEAAHVBAAB1QQAAdUEAACABAAAVQQAAFUEAAErBAAAlAQAAFUEAACABAAAgAQAAH8EAABVBAAAqwQAAKsEAACABAAAgAQAAIAEAABVBAAAVQQAAFUEAABVBAAANAQAAKsEAABVBAAAqQQAAKsEAACrBAAAqwQAAKsEAACrBAAAVQQAAKsEAAEABAABAAQAAIAEAACABAAAVQQAAKsEAAErBAAAqwQAAasEAADVBAAAVQQAAVUEAABVBAAAVQQAAG8EAACABAAAgAQAAIAEAACABAAAVQQAAFUEAABVBAAAVQQAAFUEAABIBAAAKwQAAJcEAAEABAAAVQQAAFUEAACABAAAVQQAADAEAABVBAAAqwQAAFUEAABVBAAAgAQAAIAEAACABAAAVQQAAIAEAABVBAAA1QQAAFUEAACABAAAcAQAAFUEAABVBAAAVQQAAGQEAAArBAAAVQQAAIAEAACABAAAgAQAAIAEAABVBAAAZwQAAFUEAABVBAAARgQAAKsEAABVBAABgAQAAYAEAAEABAAA1QQAAFUEAABVBAAAVQQAAIAEAACABAAAVQQAAFUEAABVBAAAVQQAAEcEAABVBAAAVQQAAKsEAACABAAAVQQAACsEAABVBAAAKwQAACsEAABVBAAAVQQAAIAEAABVBAAAgAQAAJEEAABVBAAAgAQAAIAEAACABAAAgAQAANUEAABVBAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAABZBAAAWQQAAFkEAADVBAAAqwQAASsEAAErBAAAqwQAAIAEAADV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)\n format(\'woff\');font-weight:normal;font-style:normal;font-display:block}i.coolicons{font-family:\'coolicons\' !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ci-add_column:before{content:"\\e900"}.ci-add_minus_square:before{content:"\\e901"}.ci-add_plus_circle:before{content:"\\e902"}.ci-add_plus_square:before{content:"\\e903"}.ci-add_plus:before{content:"\\e904"}.ci-add_row:before{content:"\\e905"}.ci-add_to_queue:before{content:"\\e906"}.ci-airplay:before{content:"\\e907"}.ci-alarm:before{content:"\\e908"}.ci-archive:before{content:"\\e909"}.ci-arrow_circle_down_left:before{content:"\\e90a"}.ci-arrow_circle_down_right:before{content:"\\e90b"}.ci-arrow_circle_down:before{content:"\\e90c"}.ci-arrow_circle_left:before{content:"\\e90d"}.ci-arrow_circle_right:before{content:"\\e90e"}.ci-arrow_circle_up_left:before{content:"\\e90f"}.ci-arrow_circle_up_right:before{content:"\\e910"}.ci-arrow_circle_up:before{content:"\\e911"}.ci-arrow_down_left_lg:before{content:"\\e912"}.ci-arrow_down_left_md:before{content:"\\e913"}.ci-arrow_down_left_sm:before{content:"\\e914"}.ci-arrow_down_lg:before{content:"\\e915"}.ci-arrow_down_md:before{content:"\\e916"}.ci-arrow_down_right_lg:before{content:"\\e917"}.ci-arrow_down_right_md:before{content:"\\e918"}.ci-arrow_down_right_sm:before{content:"\\e919"}.ci-arrow_down_sm:before{content:"\\e91a"}.ci-arrow_down_up:before{content:"\\e91b"}.ci-arrow_left_lg:before{content:"\\e91c"}.ci-arrow_left_md:before{content:"\\e91d"}.ci-arrow_left_right:before{content:"\\e91e"}.ci-arrow_left_sm:before{content:"\\e91f"}.ci-arrow_reload_02:before{content:"\\e920"}.ci-arrow_right_lg:before{content:"\\e921"}.ci-arrow_right_md:before{content:"\\e922"}.ci-arrow_right_sm:before{content:"\\e923"}.ci-arrow_sub_down_left:before{content:"\\e924"}.ci-arrow_sub_down_right:before{content:"\\e925"}.ci-arrow_sub_left_down:before{content:"\\e926"}.ci-arrow_sub_left_up:before{content:"\\e927"}.ci-arrow_sub_right_down:before{content:"\\e928"}.ci-arrow_sub_right_up:before{content:"\\e929"}.ci-arrow_sub_up_left:before{content:"\\e92a"}.ci-arrow_sub_up_right:before{content:"\\e92b"}.ci-arrow_undo_down_left:before{content:"\\e92c"}.ci-arrow_undo_down_right:before{content:"\\e92d"}.ci-arrow_undo_up_left:before{content:"\\e92e"}.ci-arrow_undo_up_right:before{content:"\\e92f"}.ci-arrow_up_left_lg:before{content:"\\e930"}.ci-arrow_up_left_md:before{content:"\\e931"}.ci-arrow_up_left_sm:before{content:"\\e932"}.ci-arrow_up_lg:before{content:"\\e933"}.ci-arrow_up_md:before{content:"\\e934"}.ci-arrow_up_right_lg:before{content:"\\e935"}.ci-arrow_up_right_md:before{content:"\\e936"}.ci-arrow_up_right_sm:before{content:"\\e937"}.ci-arrow_up_sm:before{content:"\\e938"}.ci-arrows_reload_01:before{content:"\\e939"}.ci-bar_bottom:before{content:"\\e93a"}.ci-bar_left:before{content:"\\e93b"}.ci-bar_right:before{content:"\\e93c"}.ci-bar_top:before{content:"\\e93d"}.ci-bell_add:before{content:"\\e93e"}.ci-bell_close:before{content:"\\e93f"}.ci-bell_notification:before{content:"\\e940"}.ci-bell_off:before{content:"\\e941"}.ci-bell_remove:before{content:"\\e942"}.ci-bell_ring:before{content:"\\e943"}.ci-bell:before{content:"\\e944"}.ci-bold:before{content:"\\e945"}.ci-book_open:before{content:"\\e946"}.ci-book:before{content:"\\e947"}.ci-bookmark:before{content:"\\e948"}.ci-building_01:before{content:"\\e949"}.ci-building_02:before{content:"\\e94a"}.ci-building_03:before{content:"\\e94b"}.ci-building_04:before{content:"\\e94c"}.ci-bulb:before{content:"\\e94d"}.ci-calendar_add:before{content:"\\e94e"}.ci-calendar_check:before{content:"\\e94f"}.ci-calendar_close:before{content:"\\e950"}.ci-calendar_days:before{content:"\\e951"}.ci-calendar_event:before{content:"\\e952"}.ci-calendar_remove:before{content:"\\e953"}.ci-calendar_week:before{content:"\\e954"}.ci-calendar:before{content:"\\e955"}.ci-camera:before{content:"\\e956"}.ci-car_auto:before{content:"\\e957"}.ci-caret_circle_down:before{content:"\\e958"}.ci-caret_circle_left:before{content:"\\e959"}.ci-caret_circle_right:before{content:"\\e95a"}.ci-caret_circle_up:before{content:"\\e95b"}.ci-caret_down_md:before{content:"\\e95c"}.ci-caret_down_sm:before{content:"\\e95d"}.ci-caret_left_sm:before{content:"\\e95e"}.ci-caret_right_sm:before{content:"\\e95f"}.ci-caret_up_md:before{content:"\\e960"}.ci-caret_up_sm:before{content:"\\e961"}.ci-chart_bar_horizontal_01:before{content:"\\e962"}.ci-chart_bar_vertical_01:before{content:"\\e963"}.ci-chart_line:before{content:"\\e964"}.ci-chart_pie:before{content:"\\e965"}.ci-chat_add:before{content:"\\e966"}.ci-chat_check:before{content:"\\e967"}.ci-chat_circle_add:before{content:"\\e968"}.ci-chat_circle_check:before{content:"\\e969"}.ci-chat_circle_close:before{content:"\\e96a"}.ci-chat_circle_dots:before{content:"\\e96b"}.ci-chat_circle_remove:before{content:"\\e96c"}.ci-chat_circle:before{content:"\\e96d"}.ci-chat_close:before{content:"\\e96e"}.ci-chat_conversation_circle:before{content:"\\e96f"}.ci-chat_conversation:before{content:"\\e970"}.ci-chat_dots:before{content:"\\e971"}.ci-chat_remove:before{content:"\\e972"}.ci-chat:before{content:"\\e973"}.ci-check_all_big:before{content:"\\e974"}.ci-check_all:before{content:"\\e975"}.ci-check_big:before{content:"\\e976"}.ci-check:before{content:"\\e977"}.ci-checkbox_check:before{content:"\\e978"}.ci-checkbox_fill:before{content:"\\e979"}.ci-checkbox_unchecked:before{content:"\\e97a"}.ci-chevron_down_duo:before{content:"\\e97b"}.ci-chevron_down:before{content:"\\e97c"}.ci-chevron_left_duo:before{content:"\\e97d"}.ci-chevron_left_md:before{content:"\\e97e"}.ci-chevron_left:before{content:"\\e97f"}.ci-chevron_right_duo:before{content:"\\e980"}.ci-chevron_right_md:before{content:"\\e981"}.ci-chevron_right:before{content:"\\e982"}.ci-chevron_up_duo:before{content:"\\e983"}.ci-chevron_up:before{content:"\\e984"}.ci-chromecast:before{content:"\\e985"}.ci-circle_check:before{content:"\\e986"}.ci-circle_help:before{content:"\\e987"}.ci-circle_warning:before{content:"\\e988"}.ci-circle:before{content:"\\e989"}.ci-clock:before{content:"\\e98a"}.ci-close_circle:before{content:"\\e98b"}.ci-close_lg:before{content:"\\e98c"}.ci-close_md:before{content:"\\e98d"}.ci-close_sm:before{content:"\\e98e"}.ci-close_square:before{content:"\\e98f"}.ci-cloud_add:before{content:"\\e990"}.ci-cloud_check:before{content:"\\e991"}.ci-cloud_close:before{content:"\\e992"}.ci-cloud_download:before{content:"\\e993"}.ci-cloud_off:before{content:"\\e994"}.ci-cloud_remove:before{content:"\\e995"}.ci-cloud_upload:before{content:"\\e996"}.ci-cloud:before{content:"\\e997"}.ci-code:before{content:"\\e998"}.ci-coffe_to_go:before{content:"\\e999"}.ci-coffee:before{content:"\\e99a"}.ci-columns:before{content:"\\e99b"}.ci-combine_cells:before{content:"\\e99c"}.ci-command:before{content:"\\e99d"}.ci-compass:before{content:"\\e99e"}.ci-cookie:before{content:"\\e99f"}.ci-copy:before{content:"\\e9a0"}.ci-credit_card_01:before{content:"\\e9a1"}.ci-credit_card_02:before{content:"\\e9a2"}.ci-crop:before{content:"\\e9a3"}.ci-cupcake:before{content:"\\e9a4"}.ci-cylinder:before{content:"\\e9a5"}.ci-data:before{content:"\\e9a6"}.ci-delete_column:before{content:"\\e9a7"}.ci-delete_row:before{content:"\\e9a8"}.ci-desktop_tower:before{content:"\\e9a9"}.ci-desktop:before{content:"\\e9aa"}.ci-devices:before{content:"\\e9ab"}.ci-double_quotes_l:before{content:"\\e9ac"}.ci-double_quotes_r:before{content:"\\e9ad"}.ci-download_package:before{content:"\\e9ae"}.ci-download:before{content:"\\e9af"}.ci-drag_horizontal:before{content:"\\e9b0"}.ci-drag_vertical:before{content:"\\e9b1"}.ci-dummy_circle_small:before{content:"\\e9b2"}.ci-dummy_circle:before{content:"\\e9b3"}.ci-dummy_square_small:before{content:"\\e9b4"}.ci-dummy_square:before{content:"\\e9b5"}.ci-edit_pencil_01:before{content:"\\e9b6"}.ci-edit_pencil_02:before{content:"\\e9b7"}.ci-edit_pencil_line_01:before{content:"\\e9b8"}.ci-edit_pencil_line_02:before{content:"\\e9b9"}.ci-exit:before{content:"\\e9ba"}.ci-expand:before{content:"\\e9bb"}.ci-external_link:before{content:"\\e9bc"}.ci-figma:before{content:"\\e9bd"}.ci-file_add:before{content:"\\e9be"}.ci-file_blank:before{content:"\\e9bf"}.ci-file_check:before{content:"\\e9c0"}.ci-file_close:before{content:"\\e9c1"}.ci-file_code:before{content:"\\e9c2"}.ci-file_document:before{content:"\\e9c3"}.ci-file_download:before{content:"\\e9c4"}.ci-file_edit:before{content:"\\e9c5"}.ci-file_remove:before{content:"\\e9c6"}.ci-file_search:before{content:"\\e9c7"}.ci-file_upload:before{content:"\\e9c8"}.ci-files:before{content:"\\e9c9"}.ci-filter_off:before{content:"\\e9ca"}.ci-filter:before{content:"\\e9cb"}.ci-first_aid:before{content:"\\e9cc"}.ci-flag:before{content:"\\e9cd"}.ci-folder_add:before{content:"\\e9ce"}.ci-folder_check:before{content:"\\e9cf"}.ci-folder_close:before{content:"\\e9d0"}.ci-folder_code:before{content:"\\e9d1"}.ci-folder_document:before{content:"\\e9d2"}.ci-folder_download:before{content:"\\e9d3"}.ci-folder_edit:before{content:"\\e9d4"}.ci-folder_open:before{content:"\\e9d5"}.ci-folder_remove:before{content:"\\e9d6"}.ci-folder_search:before{content:"\\e9d7"}.ci-folder_upload:before{content:"\\e9d8"}.ci-folder:before{content:"\\e9d9"}.ci-folders:before{content:"\\e9da"}.ci-font:before{content:"\\e9db"}.ci-forward:before{content:"\\e9dc"}.ci-gift:before{content:"\\e9dd"}.ci-globe:before{content:"\\e9de"}.ci-hamburger_lg:before{content:"\\e9df"}.ci-hamburger_md:before{content:"\\e9e0"}.ci-handbag:before{content:"\\e9e1"}.ci-heading_h1:before{content:"\\e9e2"}.ci-heading_h2:before{content:"\\e9e3"}.ci-heading_h3:before{content:"\\e9e4"}.ci-heading_h4:before{content:"\\e9e5"}.ci-heading_h5:before{content:"\\e9e6"}.ci-heading_h6:before{content:"\\e9e7"}.ci-heading:before{content:"\\e9e8"}.ci-headphones:before{content:"\\e9e9"}.ci-heart_01:before{content:"\\e9ea"}.ci-heart_02:before{content:"\\e9eb"}.ci-help:before{content:"\\e9ec"}.ci-hide:before{content:"\\e9ed"}.ci-house_01:before{content:"\\e9ee"}.ci-house_02:before{content:"\\e9ef"}.ci-house_03:before{content:"\\e9f0"}.ci-house_add:before{content:"\\e9f1"}.ci-house_check:before{content:"\\e9f2"}.ci-house_close:before{content:"\\e9f3"}.ci-house_remove:before{content:"\\e9f4"}.ci-image_01:before{content:"\\e9f5"}.ci-image_02:before{content:"\\e9f6"}.ci-info:before{content:"\\e9f7"}.ci-instance:before{content:"\\e9f8"}.ci-italic:before{content:"\\e9f9"}.ci-keyboard:before{content:"\\e9fa"}.ci-label:before{content:"\\e9fb"}.ci-laptop:before{content:"\\e9fc"}.ci-layer:before{content:"\\e9fd"}.ci-layers:before{content:"\\e9fe"}.ci-leaf:before{content:"\\e9ff"}.ci-line_l:before{content:"\\ea00"}.ci-line_m:before{content:"\\ea01"}.ci-line_s:before{content:"\\ea02"}.ci-line_xl:before{content:"\\ea03"}.ci-link_break:before{content:"\\ea04"}.ci-link_horizontal_off:before{content:"\\ea05"}.ci-link_horizontal:before{content:"\\ea06"}.ci-link_vertical:before{content:"\\ea07"}.ci-link:before{content:"\\ea08"}.ci-list_add:before{content:"\\ea09"}.ci-list_check:before{content:"\\ea0a"}.ci-list_checklist:before{content:"\\ea0b"}.ci-list_ordered:before{content:"\\ea0c"}.ci-list_remove:before{content:"\\ea0d"}.ci-list_unordered:before{content:"\\ea0e"}.ci-loading:before{content:"\\ea0f"}.ci-lock_open:before{content:"\\ea10"}.ci-lock:before{content:"\\ea11"}.ci-log_out:before{content:"\\ea12"}.ci-magnifying_glass_minus:before{content:"\\ea13"}.ci-magnifying_glass_plus:before{content:"\\ea14"}.ci-mail_open:before{content:"\\ea15"}.ci-mail:before{content:"\\ea16"}.ci-main_component:before{content:"\\ea17"}.ci-map_pin:before{content:"\\ea18"}.ci-map:before{content:"\\ea19"}.ci-mention:before{content:"\\ea1a"}.ci-menu_alt_01:before{content:"\\ea1b"}.ci-menu_alt_02:before{content:"\\ea1c"}.ci-menu_alt_03:before{content:"\\ea1d"}.ci-menu_alt_04:before{content:"\\ea1e"}.ci-menu_alt_05:before{content:"\\ea1f"}.ci-menu_duo_lg:before{content:"\\ea20"}.ci-menu_duo_md:before{content:"\\ea21"}.ci-mobile_button:before{content:"\\ea22"}.ci-mobile:before{content:"\\ea23"}.ci-monitor_play:before{content:"\\ea24"}.ci-monitor:before{content:"\\ea25"}.ci-moon:before{content:"\\ea26"}.ci-more_grid_big:before{content:"\\ea27"}.ci-more_grid_small:before{content:"\\ea28"}.ci-more_horizontal:before{content:"\\ea29"}.ci-more_vertical:before{content:"\\ea2a"}.ci-mouse:before{content:"\\ea2b"}.ci-move_horizontal:before{content:"\\ea2c"}.ci-move_vertical:before{content:"\\ea2d"}.ci-move:before{content:"\\ea2e"}.ci-moving_desk:before{content:"\\ea2f"}.ci-navigation:before{content:"\\ea30"}.ci-note_edit:before{content:"\\ea31"}.ci-note_search:before{content:"\\ea32"}.ci-note:before{content:"\\ea33"}.ci-notebook:before{content:"\\ea34"}.ci-octagon_check:before{content:"\\ea35"}.ci-octagon_help:before{content:"\\ea36"}.ci-octagon_warning:before{content:"\\ea37"}.ci-octagon:before{content:"\\ea38"}.ci-option:before{content:"\\ea39"}.ci-paper_plane:before{content:"\\ea3a"}.ci-paperclip_attechment_horizontal:before{content:"\\ea3b"}.ci-paperclip_attechment_tilt:before{content:"\\ea3c"}.ci-paragraph:before{content:"\\ea3d"}.ci-path:before{content:"\\ea3e"}.ci-pause_circle:before{content:"\\ea3f"}.ci-pause:before{content:"\\ea40"}.ci-phone:before{content:"\\ea41"}.ci-planet:before{content:"\\ea42"}.ci-play_circle:before{content:"\\ea43"}.ci-play:before{content:"\\ea44"}.ci-printer:before{content:"\\ea45"}.ci-puzzle:before{content:"\\ea46"}.ci-qr_code:before{content:"\\ea47"}.ci-radio_fill:before{content:"\\ea48"}.ci-radio_unchecked:before{content:"\\ea49"}.ci-rainbow:before{content:"\\ea4a"}.ci-redo:before{content:"\\ea4b"}.ci-remove_minus_circle:before{content:"\\ea4c"}.ci-remove_minus:before{content:"\\ea4d"}.ci-rewind:before{content:"\\ea4e"}.ci-rows:before{content:"\\ea4f"}.ci-ruler:before{content:"\\ea50"}.ci-save:before{content:"\\ea51"}.ci-search_magnifying_glass:before{content:"\\ea52"}.ci-select_multiple:before{content:"\\ea53"}.ci-settings_future:before{content:"\\ea54"}.ci-settings:before{content:"\\ea55"}.ci-share_android:before{content:"\\ea56"}.ci-share_ios_export:before{content:"\\ea57"}.ci-shield_check:before{content:"\\ea58"}.ci-shield_warning:before{content:"\\ea59"}.ci-shield:before{content:"\\ea5a"}.ci-shopping_bag_01:before{content:"\\ea5b"}.ci-shopping_bag_02:before{content:"\\ea5c"}.ci-shopping_cart_01:before{content:"\\ea5d"}.ci-shopping_cart_02:before{content:"\\ea5e"}.ci-show:before{content:"\\ea5f"}.ci-shrink:before{content:"\\ea60"}.ci-shuffle:before{content:"\\ea61"}.ci-single_quotes_l:before{content:"\\ea62"}.ci-single_quotes_r:before{content:"\\ea63"}.ci-skip_back:before{content:"\\ea64"}.ci-skip_forward:before{content:"\\ea65"}.ci-slider_01:before{content:"\\ea66"}.ci-slider_02:before{content:"\\ea67"}.ci-slider_03:before{content:"\\ea68"}.ci-sort_ascending:before{content:"\\ea69"}.ci-sort_descending:before{content:"\\ea6a"}.ci-square_check:before{content:"\\ea6b"}.ci-square_help:before{content:"\\ea6c"}.ci-square_warning:before{content:"\\ea6d"}.ci-square:before{content:"\\ea6e"}.ci-star:before{content:"\\ea6f"}.ci-stop_circle:before{content:"\\ea70"}.ci-stop_sign:before{content:"\\ea71"}.ci-stop:before{content:"\\ea72"}.ci-strikethrough:before{content:"\\ea73"}.ci-suitcase:before{content:"\\ea74"}.ci-sun:before{content:"\\ea75"}.ci-swatches_palette:before{content:"\\ea76"}.ci-swicht_left:before{content:"\\ea77"}.ci-swicht_right:before{content:"\\ea78"}.ci-table_add:before{content:"\\ea79"}.ci-table_remove:before{content:"\\ea7a"}.ci-table:before{content:"\\ea7b"}.ci-tablet_button:before{content:"\\ea7c"}.ci-tablet:before{content:"\\ea7d"}.ci-tag:before{content:"\\ea7e"}.ci-terminal:before{content:"\\ea7f"}.ci-text_align_center:before{content:"\\ea80"}.ci-text_align_justify:before{content:"\\ea81"}.ci-text_align_left:before{content:"\\ea82"}.ci-text_align_right:before{content:"\\ea83"}.ci-text:before{content:"\\ea84"}.ci-ticket_voucher:before{content:"\\ea85"}.ci-timer_add:before{content:"\\ea86"}.ci-timer_close:before{content:"\\ea87"}.ci-timer_remove:before{content:"\\ea88"}.ci-timer:before{content:"\\ea89"}.ci-trash_empty:before{content:"\\ea8a"}.ci-trash_full:before{content:"\\ea8b"}.ci-trending_down:before{content:"\\ea8c"}.ci-trending_up:before{content:"\\ea8d"}.ci-triangle_check:before{content:"\\ea8e"}.ci-triangle_warning:before{content:"\\ea8f"}.ci-triangle:before{content:"\\ea90"}.ci-underline:before{content:"\\ea91"}.ci-undo:before{content:"\\ea92"}.ci-unfold_less:before{content:"\\ea93"}.ci-unfold_more:before{content:"\\ea94"}.ci-user_01:before{content:"\\ea95"}.ci-user_02:before{content:"\\ea96"}.ci-user_03:before{content:"\\ea97"}.ci-user_add:before{content:"\\ea98"}.ci-user_card_id:before{content:"\\ea99"}.ci-user_check:before{content:"\\ea9a"}.ci-user_circle:before{content:"\\ea9b"}.ci-user_close:before{content:"\\ea9c"}.ci-user_remove:before{content:"\\ea9d"}.ci-user_square:before{content:"\\ea9e"}.ci-user_voice:before{content:"\\ea9f"}.ci-users_group:before{content:"\\eaa0"}.ci-users:before{content:"\\eaa1"}.ci-volume_max:before{content:"\\eaa2"}.ci-volume_min:before{content:"\\eaa3"}.ci-volume_minus:before{content:"\\eaa4"}.ci-volume_off_02:before{content:"\\eaa5"}.ci-volume_off:before{content:"\\eaa6"}.ci-volume_plus:before{content:"\\eaa7"}.ci-warning:before{content:"\\eaa8"}.ci-water_drop:before{content:"\\eaa9"}.ci-wavy_check:before{content:"\\eaaa"}.ci-wavy_help:before{content:"\\eaab"}.ci-wavy_warning:before{content:"\\eaac"}.ci-wavy:before{content:"\\eaad"}.ci-wifi_high:before{content:"\\eaae"}.ci-wifi_low:before{content:"\\eaaf"}.ci-wifi_medium:before{content:"\\eab0"}.ci-wifi_none:before{content:"\\eab1"}.ci-wifi_off:before{content:"\\eab2"}.ci-wifi_problem:before{content:"\\eab3"}.ci-window_check:before{content:"\\eab4"}.ci-window_close:before{content:"\\eab5"}.ci-window_code_block:before{content:"\\eab6"}.ci-window_sidebar:before{content:"\\eab7"}.ci-window_terminal:before{content:"\\eab8"}.ci-window:before{content:"\\eab9"}zen-editor-menu-item .menu-item{background-color:transparent;border:none;border-radius:0.4em;color:#525252;height:1.75em;margin-right:0.25em;padding:0.25em;min-width:1.75em;cursor:pointer}zen-editor-menu-item .menu-item i{font-size:1.25em}zen-editor-menu-item .menu-item.flip-h{transform:scaleX(-1)}zen-editor-menu-item .menu-item.flip-v{transform:scaleY(-1)}zen-editor-menu-item .menu-item.is-disabled{opacity:0.5;cursor:unset}zen-editor-menu-item .menu-item.is-disabled:hover{background-color:transparent;color:#525252}zen-editor-menu-item .menu-item:hover,zen-editor-menu-item .menu-item.is-active{background-color:#525252;color:#fff}zen-editor-menu-item .menu-item.has-submenu+.menu-item>i.ci-caret_down_sm{margin:0 -0.25em}zen-editor-menu-item .menu-item.has-submenu{margin-right:0}zen-editor-menu-item .menu-item.has-submenu:hover{border-radius:0.4em 0 0 0.4em}zen-editor-menu-item .menu-item.has-submenu+.menu-item{border-radius:0 0.4em 0.4em 0;margin-left:0;padding:0.25em 0;min-width:0.75em}zen-editor-menu-item .menu-item i.color-crimson{color:crimson}zen-editor-menu-item .menu-item i.color-deeppink{color:deeppink}zen-editor-menu-item .menu-item i.color-darkorange{color:darkorange}zen-editor-menu-item .menu-item i.color-darkviolet{color:darkviolet}zen-editor-menu-item .menu-item i.color-forestgreen{color:forestgreen}zen-editor-menu-item .menu-item i.color-royalblue{color:royalblue}zen-editor-menu-item .menu-item i.color-saddlebrown{color:saddlebrown}zen-editor-menu-item .menu-item i.color-dimgray{color:dimgray}zen-editor-menu-item .menu-item:has(.color):hover,zen-editor-menu-item .menu-item:has(.color).is-active{background-color:transparent;box-shadow:inset 0 0 0 1px #525252}zen-editor-menu-item:hover .menu-item.has-submenu{border-radius:0.4em 0 0 0.4em}zen-editor-menu-item:last-of-type .menu-item{margin-right:0}';const jw=["Crimson","DeepPink","DarkOrange","DarkViolet","ForestGreen","RoyalBlue","SaddleBrown","DimGray"];const Zw=[1,2,3,4],Pw=class{constructor(A){e(this,A),this.editor=void 0,this.menubarMode=void 0,this.extraMenubarItems="",this.forceUpdateCounter=void 0,this.states=void 0,this.toggleMonaco=void 0,this.toggleFullscreen=void 0,this.styles=void 0}componentDidLoad(){Boolean(this.styles)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles])}getMonacoToggler(){return[[{icon:"ci-edit_pencil_line_01",title:A.getString("menu.source"),action:()=>{var A;return null===(A=this.toggleMonaco)||void 0===A?void 0:A.call(this)},isActive:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isMonaco},isHidden:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isCollaborative},menuModeLevel:zw.full}]]}getMenuItems(e){return[[{icon:"ci-text_align_left",title:A.getString("menu.align.left"),action:()=>e.chain().focus().setTextAlign("left").run(),isActive:()=>e.isActive({textAlign:"left"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:zw.full},{icon:"ci-text_align_center",title:A.getString("menu.align.center"),action:()=>e.chain().focus().setTextAlign("center").run(),isActive:()=>e.isActive({textAlign:"center"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:zw.full},{icon:"ci-text_align_right",title:A.getString("menu.align.right"),action:()=>e.chain().focus().setTextAlign("right").run(),isActive:()=>e.isActive({textAlign:"right"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:zw.full},{icon:"ci-text_align_justify",title:A.getString("menu.align.justify"),action:()=>e.chain().focus().setTextAlign("justify").run(),isActive:()=>e.isActive({textAlign:"justify"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:zw.full}],[{icon:"ci-text",title:A.getString("menu.font.family"),menuItems:Object.keys(GM).map((t=>({label:A.getString(`menu.font.family.${t.toLowerCase().replace(/[^\w]/g,"")}`),action:()=>e.chain().focus().setFontFamily(GM[t]).run(),isActive:()=>e.isActive("textStyle",{fontFamily:GM[t]})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:zw.full},{icon:"ci-font",title:A.getString("menu.font.size"),menuItems:RM.map((t=>({label:A.format("menu.font.size.format.px",t.toString()),action:()=>e.chain().focus().setFontSize(t).run(),isActive:()=>e.isActive({fontSize:t})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-swatches_palette",title:A.getString("menu.font.color"),menuItems:[...jw.map((t=>({icon:`ci-text color color-${t.toLowerCase()}`,title:A.getString(`menu.font.color.${t.toLowerCase()}`),action:()=>e.chain().focus().setColor(t).run(),isActive:()=>e.isActive("textStyle",{color:t})}))),{icon:"ci-close_md",title:A.getString("menu.font.color.none"),action:()=>e.chain().focus().unsetColor().run()}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-bold",title:A.getString("menu.font.weight.bold"),action:()=>e.chain().focus().toggleBold().run(),isActive:()=>e.isActive("bold"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-italic",title:A.getString("menu.font.italic"),action:()=>e.chain().focus().toggleItalic().run(),isActive:()=>e.isActive("italic"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-underline",title:A.getString("menu.font.decoration.underline"),action:()=>{e.isActive("strike")?e.chain().focus().toggleStrike().run():e.chain().focus().toggleUnderline().run()},isActive:()=>e.isActive("underline")||e.isActive("strike"),menuItems:[{icon:"ci-underline",title:A.getString("menu.font.decoration.underline"),action:()=>e.chain().focus().toggleUnderline().run(),isActive:()=>e.isActive("underline")},{icon:"ci-strikethrough",title:A.getString("menu.font.decoration.strike"),action:()=>e.chain().focus().toggleStrike().run(),isActive:()=>e.isActive("strike")}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-bulb",title:A.getString("menu.font.highlight"),action:()=>e.chain().focus().toggleHighlight().run(),isActive:()=>e.isActive("highlight"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:zw.full},{icon:"ci-link",title:A.getString("menu.link"),action:()=>{const A=e.isActive("link")?e.getAttributes("link").href:"",t=prompt("Enter URL",A);e.chain().focus().setLink({href:t}).run()},isActive:()=>e.isActive("link"),menuItems:[{icon:"ci-link",title:A.getString("menu.link"),action:()=>{const A=e.isActive("link")?e.getAttributes("link").href:"",t=prompt("Enter URL",A);e.chain().focus().setLink({href:t}).run()}},{icon:"ci-link_break",title:A.getString("menu.link.remove"),action:()=>e.chain().focus().unsetLink().run(),isDisabled:()=>!e.isActive("link")}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-menu_duo_md",title:A.getString("menu.line.spacing"),menuItems:uM.map((t=>({label:A.format("menu.line.spacing.format",t.toString()),action:()=>e.chain().focus().setLineHeight(t).run(),isActive:()=>e.isActive({lineHeight:t})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:zw.full}],[{icon:"ci-heading",title:A.getString("menu.heading"),isActive:()=>e.isActive("heading"),menuItems:Zw.map((t=>({icon:`ci-heading_h${t}`,title:A.getString(`menu.heading.${t}`),action:()=>e.chain().focus().toggleHeading({level:t}).unsetFontSize().run(),isActive:()=>e.isActive("heading",{level:t})})))},{icon:"ci-paragraph",title:A.getString("menu.paragraph"),action:()=>e.chain().focus().setParagraph().run(),isActive:()=>e.isActive("paragraph")},{icon:"ci-code",title:A.getString("menu.code"),action:()=>{e.isActive("code")?e.chain().focus().toggleCode().run():e.chain().focus().toggleCodeBlock().run()},isActive:()=>e.isActive("code")||e.isActive("codeBlock"),menuItems:[{icon:"ci-window_code_block",title:A.getString("menu.code.block"),action:()=>e.chain().focus().toggleCodeBlock().run(),isActive:()=>e.isActive("codeBlock")},{icon:"ci-code",title:A.getString("menu.code"),action:()=>e.chain().focus().toggleCode().run(),isActive:()=>e.isActive("code")}]}],[{icon:"ci-list_unordered",title:A.getString("menu.list.bullet"),action:()=>{e.isActive("bulletList")?e.chain().focus().toggleBulletList().run():e.isActive("orderedList")?e.chain().focus().toggleOrderedList().run():e.isActive("taskList")?e.chain().focus().toggleTaskList().run():e.chain().focus().toggleBulletList().run()},menuItems:[{icon:"ci-list_unordered",title:A.getString("menu.list.bullet"),action:()=>e.chain().focus().toggleBulletList().run(),isActive:()=>e.isActive("bulletList")},{icon:"ci-list_ordered",title:A.getString("menu.list.ordered"),action:()=>e.chain().focus().toggleOrderedList().run(),isActive:()=>e.isActive("orderedList")},{icon:"ci-list_checklist",title:A.getString("menu.list.task"),action:()=>e.chain().focus().toggleTaskList().run(),isActive:()=>e.isActive("taskList"),menuModeLevel:zw.full}],isActive:()=>e.isActive("bulletList")||e.isActive("orderedList")||e.isActive("taskList")},{icon:"ci-image_02",title:A.getString("menu.image"),action:()=>{const A=document.createElement("input");A.setAttribute("type","file"),A.setAttribute("accept","image/jpeg,image/gif,image/png,image/jpg"),A.onchange=A=>{const{files:t}=A.target;Boolean(t.length)&&e.chain().focus().uploadImage(t.item(0)).run()},A.click()}}],[{icon:"ci-double_quotes_l",title:A.getString("menu.quote"),action:()=>e.chain().focus().toggleBlockquote().run(),isActive:()=>e.isActive("blockquote"),menuModeLevel:zw.full},{icon:"ci-remove_minus",title:A.getString("menu.hr"),action:()=>e.chain().focus().setHorizontalRule().run(),menuModeLevel:zw.full}],[{icon:"ci-table",title:A.getString("menu.table"),menuItems:[{icon:"ci-table",title:A.getString("menu.table"),action:()=>e.chain().focus().insertTable({rows:4,cols:3,withHeaderRow:!1}).run(),isDisabled:()=>e.isActive("table")},{icon:"ci-combine_cells",title:A.getString("menu.table.cell.merge"),action:()=>e.chain().focus().mergeOrSplit().run(),isActive:()=>e.can().splitCell(),isDisabled:()=>!e.can().mergeOrSplit()},{icon:"ci-add_row",flip:"v",title:A.getString("menu.table.row.insert.before"),action:()=>e.chain().focus().addRowBefore().run(),isDisabled:()=>!e.can().addRowBefore()},{icon:"ci-add_row",title:A.getString("menu.table.row.insert.after"),action:()=>e.chain().focus().addRowAfter().run(),isDisabled:()=>!e.can().addRowAfter()},{icon:"ci-add_column",flip:"h",title:A.getString("menu.table.column.insert.before"),action:()=>e.chain().focus().addColumnBefore().run(),isDisabled:()=>!e.can().addColumnBefore()},{icon:"ci-add_column",title:A.getString("menu.table.column.insert.after"),action:()=>e.chain().focus().addColumnAfter().run(),isDisabled:()=>!e.can().addColumnAfter()},{icon:"ci-delete_row",title:A.getString("menu.table.row.remove"),action:()=>e.chain().focus().deleteRow().run(),isDisabled:()=>!e.can().deleteRow()},{icon:"ci-delete_column",title:A.getString("menu.table.column.remove"),action:()=>e.chain().focus().deleteColumn().run(),isDisabled:()=>!e.can().deleteColumn()},{icon:"ci-table_remove",title:A.getString("menu.table.remove"),action:()=>e.chain().focus().deleteTable().run(),isDisabled:()=>!e.can().deleteTable()}]}],[{icon:"ci-close_circle",title:A.getString("menu.format.clear"),action:()=>e.chain().focus().clearNodes().unsetAllMarks().run(),menuModeLevel:zw.full}],[{icon:"ci-undo",title:A.getString("menu.undo"),action:()=>e.chain().focus().undo().run(),isDisabled:()=>!e.can().undo(),menuModeLevel:zw.full},{icon:"ci-redo",title:A.getString("menu.redo"),action:()=>e.chain().focus().redo().run(),isDisabled:()=>!e.can().redo(),menuModeLevel:zw.full}],[{icon:"ci-bar_top",title:A.getString("menu.fullscreen"),action:()=>{var A;return null===(A=this.toggleFullscreen)||void 0===A?void 0:A.call(this)},isActive:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isFullscreen},isHidden:()=>!Boolean(this.toggleFullscreen)}],...this.getMonacoToggler()]}render(){const{editor:A,states:e}=this,{isMonaco:n}=e,i=(n?this.getMonacoToggler():this.getMenuItems(A)).map((A=>{const e=A.map((A=>{const{isHidden:e,menuModeLevel:n}=A,i=function(A,e){var t={};for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&e.indexOf(n)<0&&(t[n]=A[n]);if(null!=A&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(A);ithis.menubarMode?null:t("zen-editor-menu-item",{itemProps:Object.assign({},i),menubarMode:this.menubarMode})}));return Boolean(e.filter((A=>Boolean(A))).length)?t("div",{class:"menu-item-group"},e):null}));return t("div",{class:"menubar"},i,this.extraMenubarItems&&t("div",{className:"menu-item-group extra-menubar-items",innerHTML:this.extraMenubarItems}))}get element(){return i(this)}};Pw.style='.menubar{align-items:center;border-bottom:1px solid #a6a39e;display:flex;flex:0 0 auto;flex-wrap:wrap;padding:0.25em}.menu-item-group{margin-right:0.5em}.menu-item-group:not(:last-child):not(:has(+.extra-menubar-items))::after{content:"";display:inline-block;background-color:rgba(0, 0, 0, 0.1);height:1.25em;margin:0 -0.1em -0.1em 0.4em;width:1px}.menu-item-group:empty{display:none}';export{W as zen_editor_bubble_menu,q as zen_editor_content,pw as zen_editor_core,Jw as zen_editor_menu_item,Pw as zen_editor_menubar} \ No newline at end of file +import{L as A}from"./p-38bd6d84.js";export{M as monaco_editor,Z as zen_editor}from"./p-38bd6d84.js";import{r as e,h as t,F as n,g as i,c as B}from"./p-1f29e0e0.js";import{P as E,a as s,i as r,b as o,p as c,t as g,E as Q,M as a,m as l,c as h,d as w,N as R,w as I,e as u,g as d,f as G,T as C,D as k,h as D,j as Y,n as F,k as U,l as f,o as N,q as S,r as m,s as y,S as b,u as H,v as T,x as z,F as x,y as p,z as J,A as j,B as P,C as V,G as L,H as v,I as O}from"./p-51f21de4.js";class _{constructor({editor:A,element:e,view:t,tippyOptions:n={},updateDelay:i=250,shouldShow:B}){this.preventHide=!1,this.shouldShow=({view:A,state:e,from:t,to:n})=>{const{doc:i,selection:B}=e,{empty:E}=B,s=!i.textBetween(t,n).length&&r(e.selection),o=this.element.contains(document.activeElement);return!(!A.hasFocus()&&!o||E||s||!this.editor.isEditable)},this.mousedownHandler=()=>{this.preventHide=!0},this.dragstartHandler=()=>{this.hide()},this.focusHandler=()=>{setTimeout((()=>this.update(this.editor.view)))},this.blurHandler=({event:A})=>{var e;this.preventHide?this.preventHide=!1:(null==A?void 0:A.relatedTarget)&&(null===(e=this.element.parentNode)||void 0===e?void 0:e.contains(A.relatedTarget))||this.hide()},this.tippyBlurHandler=A=>{this.blurHandler({event:A})},this.handleDebouncedUpdate=(A,e)=>{const t=!(null==e?void 0:e.selection.eq(A.state.selection)),n=!(null==e?void 0:e.doc.eq(A.state.doc));(t||n)&&(this.updateDebounceTimer&&clearTimeout(this.updateDebounceTimer),this.updateDebounceTimer=window.setTimeout((()=>{this.updateHandler(A,t,n,e)}),this.updateDelay))},this.updateHandler=(A,e,t,n)=>{var i,B,E;const{state:s,composing:r}=A,{selection:g}=s;if(r||!e&&!t)return;this.createTooltip();const{ranges:Q}=g,a=Math.min(...Q.map((A=>A.$from.pos))),l=Math.max(...Q.map((A=>A.$to.pos)));(null===(i=this.shouldShow)||void 0===i?void 0:i.call(this,{editor:this.editor,view:A,state:s,oldState:n,from:a,to:l}))?(null===(B=this.tippy)||void 0===B||B.setProps({getReferenceClientRect:(null===(E=this.tippyOptions)||void 0===E?void 0:E.getReferenceClientRect)||(()=>{if(o(s.selection)){let e=A.nodeDOM(a);const t=e.dataset.nodeViewWrapper?e:e.querySelector("[data-node-view-wrapper]");if(t&&(e=t.firstChild),e)return e.getBoundingClientRect()}return c(A,a,l)})}),this.show()):this.hide()},this.editor=A,this.element=e,this.view=t,this.updateDelay=i,B&&(this.shouldShow=B),this.element.addEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.addEventListener("dragstart",this.dragstartHandler),this.editor.on("focus",this.focusHandler),this.editor.on("blur",this.blurHandler),this.tippyOptions=n,this.element.remove(),this.element.style.visibility="visible"}createTooltip(){const{element:A}=this.editor.options;!this.tippy&&A.parentElement&&(this.tippy=g(A,{duration:0,getReferenceClientRect:null,content:this.element,interactive:!0,trigger:"manual",placement:"top",hideOnClick:"toggle",...this.tippyOptions}),this.tippy.popper.firstChild&&this.tippy.popper.firstChild.addEventListener("blur",this.tippyBlurHandler))}update(A,e){const{state:t}=A;if(this.updateDelay>0&&t.selection.$from.pos!==t.selection.$to.pos)return void this.handleDebouncedUpdate(A,e);const n=!(null==e?void 0:e.selection.eq(A.state.selection)),i=!(null==e?void 0:e.doc.eq(A.state.doc));this.updateHandler(A,n,i,e)}show(){var A;null===(A=this.tippy)||void 0===A||A.show()}hide(){var A;null===(A=this.tippy)||void 0===A||A.hide()}destroy(){var A,e;(null===(A=this.tippy)||void 0===A?void 0:A.popper.firstChild)&&this.tippy.popper.firstChild.removeEventListener("blur",this.tippyBlurHandler),null===(e=this.tippy)||void 0===e||e.destroy(),this.element.removeEventListener("mousedown",this.mousedownHandler,{capture:!0}),this.view.dom.removeEventListener("dragstart",this.dragstartHandler),this.editor.off("focus",this.focusHandler),this.editor.off("blur",this.blurHandler)}}const K=A=>new E({key:"string"==typeof A.pluginKey?new s(A.pluginKey):A.pluginKey,view:e=>new _({view:e,...A})}),X=Q.create({name:"bubbleMenu",addOptions:()=>({element:null,tippyOptions:{},pluginKey:"bubbleMenu",updateDelay:void 0,shouldShow:null}),addProseMirrorPlugins(){return this.options.element?[K({pluginKey:this.options.pluginKey,editor:this.editor,element:this.options.element,tippyOptions:this.options.tippyOptions,updateDelay:this.options.updateDelay,shouldShow:this.options.shouldShow})]:[]}});const W=class{constructor(A){e(this,A),this.menuProps=void 0,this.editor=void 0,this.disabled=!1,this.element=void 0}componentDidLoad(){if(!Boolean(this.element)||this.editor.isDestroyed)return;const{pluginKey:A="bubbleMenu",tippyOptions:e={},shouldShow:t=(this.disabled?()=>!1:({view:A,state:e,from:t,to:n})=>{var i;if(null===(i=A.input)||void 0===i?void 0:i.mouseDown)return!1;const{doc:B,selection:E}=e,s=!Boolean(B.textBetween(t,n).length)&&r(E);return!(!A.hasFocus()||E.empty||s)})}=this.menuProps,n=K({pluginKey:A,editor:this.editor,element:this.element,tippyOptions:e,shouldShow:t});this.editor.registerPlugin(n)}render(){const{editor:A}=this;return t("div",{ref:A=>this.element=A,class:"bubble-menu",style:{visibility:"hidden"}},[{icon:"ci-bold",title:"Bold",action:()=>A.chain().focus().toggleBold().run(),isActive:()=>A.isActive("bold")},{icon:"ci-italic",title:"Italic",action:()=>A.chain().focus().toggleItalic().run(),isActive:()=>A.isActive("italic")},{icon:"ci-strikethrough",title:"Strike",action:()=>A.chain().focus().toggleStrike().run(),isActive:()=>A.isActive("strike")},{icon:"ci-code",title:"Code",action:()=>A.chain().focus().toggleCode().run(),isActive:()=>A.isActive("code")},{icon:"ci-bulb",title:"Highlight",action:()=>A.chain().focus().toggleHighlight().run(),isActive:()=>A.isActive("highlight")}].map(((A,e)=>{const n=A,{isHidden:i,type:B}=n,E=function(A,e){var t={};for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&e.indexOf(n)<0&&(t[n]=A[n]);if(null!=A&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(A);ithis.editorContentRef=A},A)))}get element(){return i(this)}};q.style='.ProseMirror>*+*{margin-top:0.75em}.ProseMirror ul,.ProseMirror ol{padding:0 1em}.ProseMirror h1,.ProseMirror h2,.ProseMirror h3,.ProseMirror h4,.ProseMirror h5,.ProseMirror h6{line-height:1.1}.ProseMirror code{background-color:rgba(97, 97, 97, 0.1);color:#616161}.ProseMirror pre{background:#0d0d0d;border-radius:0.5em;color:#fff;font-family:"JetBrainsMono", monospace;padding:0.75em 1em}.ProseMirror pre code{background:none;color:inherit;font-size:0.8em;padding:0}.ProseMirror pre .hljs-comment,.ProseMirror pre .hljs-quote{color:#616161}.ProseMirror pre .hljs-variable,.ProseMirror pre .hljs-template-variable,.ProseMirror pre .hljs-attribute,.ProseMirror pre .hljs-tag,.ProseMirror pre .hljs-name,.ProseMirror pre .hljs-regexp,.ProseMirror pre .hljs-link,.ProseMirror pre .hljs-selector-id,.ProseMirror pre .hljs-selector-class{color:#f98181}.ProseMirror pre .hljs-number,.ProseMirror pre .hljs-meta,.ProseMirror pre .hljs-built_in,.ProseMirror pre .hljs-builtin-name,.ProseMirror pre .hljs-literal,.ProseMirror pre .hljs-type,.ProseMirror pre .hljs-params{color:#fbbc88}.ProseMirror pre .hljs-string,.ProseMirror pre .hljs-symbol,.ProseMirror pre .hljs-bullet{color:#b9f18d}.ProseMirror pre .hljs-title,.ProseMirror pre .hljs-section{color:#faf594}.ProseMirror pre .hljs-keyword,.ProseMirror pre .hljs-selector-tag{color:#70cff8}.ProseMirror pre .hljs-emphasis{font-style:italic}.ProseMirror pre .hljs-strong{font-weight:700}.ProseMirror mark{background-color:#faf594}.ProseMirror img{height:auto;max-width:100%}.ProseMirror blockquote{border-left:2px solid rgba(13, 13, 13, 0.1);padding-left:1em}.ProseMirror hr{border:none;border-top:2px solid rgba(13, 13, 13, 0.1);margin:2em 0}.ProseMirror ul[data-type=taskList]{list-style:none;padding:0}.ProseMirror ul[data-type=taskList] li{align-items:center;display:flex}.ProseMirror ul[data-type=taskList] li>label{flex:0 0 auto;margin-right:0.5em;user-select:none}.ProseMirror ul[data-type=taskList] li>div{flex:1 1 auto}.ProseMirror ul[data-type=taskList] li>div>p{margin:0.1em 0}.ProseMirror table{border-collapse:collapse;table-layout:fixed;margin:8px 0;overflow:hidden}.ProseMirror table td,.ProseMirror table th{min-width:1em;border:1px solid #616161;padding:3px 5px;vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror table td>*,.ProseMirror table th>*{margin-bottom:0}.ProseMirror table th{font-weight:bold;text-align:left;background-color:#f1f3f5}.ProseMirror table .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:rgba(200, 200, 255, 0.4);pointer-events:none}.ProseMirror table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:3px;background-color:#ace;pointer-events:none}.ProseMirror p.is-editor-empty:first-child::before{color:#adb5bd;content:attr(data-placeholder);float:left;height:0;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror:focus{outline:none}';const $=Q.create({name:"characterCount",addOptions:()=>({limit:null,mode:"textSize"}),addStorage:()=>({characters:()=>0,words:()=>0}),onBeforeCreate(){this.storage.characters=A=>{const e=(null==A?void 0:A.node)||this.editor.state.doc;return"textSize"===((null==A?void 0:A.mode)||this.options.mode)?e.textBetween(0,e.content.size,void 0," ").length:e.nodeSize},this.storage.words=A=>{const e=(null==A?void 0:A.node)||this.editor.state.doc;return e.textBetween(0,e.content.size," "," ").split(" ").filter((A=>""!==A)).length}},addProseMirrorPlugins(){return[new E({key:new s("characterCount"),filterTransaction:(A,e)=>{const t=this.options.limit;if(!A.docChanged||0===t||null==t)return!0;const n=this.storage.characters({node:e.doc}),i=this.storage.characters({node:A.doc});if(i<=t)return!0;if(n>t&&i>t&&i<=n)return!0;if(n>t&&i>t&&i>n)return!1;if(!A.getMeta("paste"))return!1;const B=A.selection.$head.pos;return A.deleteRange(B-(i-t),B),!(this.storage.characters({node:A.doc})>t)}})]}}),AA=/(?:^|\s)((?:==)((?:[^~=]+))(?:==))$/,eA=/(?:^|\s)((?:==)((?:[^~=]+))(?:==))/g,tA=a.create({name:"highlight",addOptions:()=>({multicolor:!1,HTMLAttributes:{}}),addAttributes(){return this.options.multicolor?{color:{default:null,parseHTML:A=>A.getAttribute("data-color")||A.style.backgroundColor,renderHTML:A=>A.color?{"data-color":A.color,style:`background-color: ${A.color}; color: inherit`}:{}}}:{}},parseHTML:()=>[{tag:"mark"}],renderHTML({HTMLAttributes:A}){return["mark",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setHighlight:A=>({commands:e})=>e.setMark(this.name,A),toggleHighlight:A=>({commands:e})=>e.toggleMark(this.name,A),unsetHighlight:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-h":()=>this.editor.commands.toggleHighlight()}},addInputRules(){return[h({find:AA,type:this.type})]},addPasteRules(){return[w({find:eA,type:this.type})]}}),nA=/^\s*(\[([( |x])?\])\s$/,iA=R.create({name:"taskItem",addOptions:()=>({nested:!1,HTMLAttributes:{},taskListTypeName:"taskList"}),content(){return this.options.nested?"paragraph block*":"paragraph+"},defining:!0,addAttributes:()=>({checked:{default:!1,keepOnSplit:!1,parseHTML:A=>"true"===A.getAttribute("data-checked"),renderHTML:A=>({"data-checked":A.checked})}}),parseHTML(){return[{tag:`li[data-type="${this.name}"]`,priority:51}]},renderHTML({node:A,HTMLAttributes:e}){return["li",l(this.options.HTMLAttributes,e,{"data-type":this.name}),["label",["input",{type:"checkbox",checked:A.attrs.checked?"checked":null}],["span"]],["div",0]]},addKeyboardShortcuts(){const A={Enter:()=>this.editor.commands.splitListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)};return this.options.nested?{...A,Tab:()=>this.editor.commands.sinkListItem(this.name)}:A},addNodeView(){return({node:A,HTMLAttributes:e,getPos:t,editor:n})=>{const i=document.createElement("li"),B=document.createElement("label"),E=document.createElement("span"),s=document.createElement("input"),r=document.createElement("div");return B.contentEditable="false",s.type="checkbox",s.addEventListener("change",(e=>{if(!n.isEditable&&!this.options.onReadOnlyChecked)return void(s.checked=!s.checked);const{checked:i}=e.target;n.isEditable&&"function"==typeof t&&n.chain().focus(void 0,{scrollIntoView:!1}).command((({tr:A})=>{const e=t(),n=A.doc.nodeAt(e);return A.setNodeMarkup(e,void 0,{...null==n?void 0:n.attrs,checked:i}),!0})).run(),!n.isEditable&&this.options.onReadOnlyChecked&&(this.options.onReadOnlyChecked(A,i)||(s.checked=!s.checked))})),Object.entries(this.options.HTMLAttributes).forEach((([A,e])=>{i.setAttribute(A,e)})),i.dataset.checked=A.attrs.checked,A.attrs.checked&&s.setAttribute("checked","checked"),B.append(s,E),i.append(B,r),Object.entries(e).forEach((([A,e])=>{i.setAttribute(A,e)})),{dom:i,contentDOM:r,update:A=>A.type===this.type&&(i.dataset.checked=A.attrs.checked,A.attrs.checked?s.setAttribute("checked","checked"):s.removeAttribute("checked"),!0)}}},addInputRules(){return[I({find:nA,type:this.type,getAttributes:A=>({checked:"x"===A[A.length-1]})})]}}),BA=R.create({name:"taskList",addOptions:()=>({itemTypeName:"taskItem",HTMLAttributes:{}}),group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:`ul[data-type="${this.name}"]`,priority:51}]},renderHTML({HTMLAttributes:A}){return["ul",l(this.options.HTMLAttributes,A,{"data-type":this.name}),0]},addCommands(){return{toggleTaskList:()=>({commands:A})=>A.toggleList(this.name,this.options.itemTypeName)}},addKeyboardShortcuts(){return{"Mod-Shift-9":()=>this.editor.commands.toggleTaskList()}}}),EA=Q.create({name:"typography",addInputRules(){const A=[];var e;return!1!==this.options.emDash&&A.push(u({find:/--$/,replace:null!=(e=this.options.emDash)?e:"—"})),!1!==this.options.ellipsis&&A.push((A=>u({find:/\.\.\.$/,replace:null!=A?A:"…"}))(this.options.ellipsis)),!1!==this.options.openDoubleQuote&&A.push((A=>u({find:/(?:^|[\s{[(<'"\u2018\u201C])(")$/,replace:null!=A?A:"“"}))(this.options.openDoubleQuote)),!1!==this.options.closeDoubleQuote&&A.push((A=>u({find:/"$/,replace:null!=A?A:"”"}))(this.options.closeDoubleQuote)),!1!==this.options.openSingleQuote&&A.push((A=>u({find:/(?:^|[\s{[(<'"\u2018\u201C])(')$/,replace:null!=A?A:"‘"}))(this.options.openSingleQuote)),!1!==this.options.closeSingleQuote&&A.push((A=>u({find:/'$/,replace:null!=A?A:"’"}))(this.options.closeSingleQuote)),!1!==this.options.leftArrow&&A.push((A=>u({find:/<-$/,replace:null!=A?A:"←"}))(this.options.leftArrow)),!1!==this.options.rightArrow&&A.push((A=>u({find:/->$/,replace:null!=A?A:"→"}))(this.options.rightArrow)),!1!==this.options.copyright&&A.push((A=>u({find:/\(c\)$/,replace:null!=A?A:"©"}))(this.options.copyright)),!1!==this.options.trademark&&A.push((A=>u({find:/\(tm\)$/,replace:null!=A?A:"™"}))(this.options.trademark)),!1!==this.options.servicemark&&A.push((A=>u({find:/\(sm\)$/,replace:null!=A?A:"℠"}))(this.options.servicemark)),!1!==this.options.registeredTrademark&&A.push((A=>u({find:/\(r\)$/,replace:null!=A?A:"®"}))(this.options.registeredTrademark)),!1!==this.options.oneHalf&&A.push((A=>u({find:/(?:^|\s)(1\/2)$/,replace:null!=A?A:"½"}))(this.options.oneHalf)),!1!==this.options.plusMinus&&A.push((A=>u({find:/\+\/-$/,replace:null!=A?A:"±"}))(this.options.plusMinus)),!1!==this.options.notEqual&&A.push((A=>u({find:/!=$/,replace:null!=A?A:"≠"}))(this.options.notEqual)),!1!==this.options.laquo&&A.push((A=>u({find:/<<$/,replace:null!=A?A:"«"}))(this.options.laquo)),!1!==this.options.raquo&&A.push((A=>u({find:/>>$/,replace:null!=A?A:"»"}))(this.options.raquo)),!1!==this.options.multiplication&&A.push((A=>u({find:/\d+\s?([*x])\s?\d+$/,replace:null!=A?A:"×"}))(this.options.multiplication)),!1!==this.options.superscriptTwo&&A.push((A=>u({find:/\^2$/,replace:null!=A?A:"²"}))(this.options.superscriptTwo)),!1!==this.options.superscriptThree&&A.push((A=>u({find:/\^3$/,replace:null!=A?A:"³"}))(this.options.superscriptThree)),!1!==this.options.oneQuarter&&A.push((A=>u({find:/(?:^|\s)(1\/4)$/,replace:null!=A?A:"¼"}))(this.options.oneQuarter)),!1!==this.options.threeQuarters&&A.push((A=>u({find:/(?:^|\s)(3\/4)$/,replace:null!=A?A:"¾"}))(this.options.threeQuarters)),A}}),sA=a.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:A=>!!A.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:A}){return["span",l(this.options.HTMLAttributes,A),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:A,commands:e})=>{const t=d(A,this.type);return!!Object.entries(t).some((([,A])=>!!A))||e.unsetMark(this.name)}}}}),rA=/^```([a-z]+)?[\s\n]$/,oA=/^~~~([a-z]+)?[\s\n]$/,cA=R.create({name:"codeBlock",addOptions:()=>({languageClassPrefix:"language-",exitOnTripleEnter:!0,exitOnArrowDown:!0,HTMLAttributes:{}}),content:"text*",marks:"",group:"block",code:!0,defining:!0,addAttributes(){return{language:{default:null,parseHTML:A=>{var e;const{languageClassPrefix:t}=this.options;return[...(null===(e=A.firstElementChild)||void 0===e?void 0:e.classList)||[]].filter((A=>A.startsWith(t))).map((A=>A.replace(t,"")))[0]||null},rendered:!1}}},parseHTML:()=>[{tag:"pre",preserveWhitespace:"full"}],renderHTML({node:A,HTMLAttributes:e}){return["pre",l(this.options.HTMLAttributes,e),["code",{class:A.attrs.language?this.options.languageClassPrefix+A.attrs.language:null},0]]},addCommands(){return{setCodeBlock:A=>({commands:e})=>e.setNode(this.name,A),toggleCodeBlock:A=>({commands:e})=>e.toggleNode(this.name,"paragraph",A)}},addKeyboardShortcuts(){return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{const{empty:A,$anchor:e}=this.editor.state.selection;return!(!A||e.parent.type.name!==this.name)&&!(1!==e.pos&&e.parent.textContent.length)&&this.editor.commands.clearNodes()},Enter:({editor:A})=>{if(!this.options.exitOnTripleEnter)return!1;const{state:e}=A,{selection:t}=e,{$from:n,empty:i}=t;if(!i||n.parent.type!==this.type)return!1;const B=n.parentOffset===n.parent.nodeSize-2,E=n.parent.textContent.endsWith("\n\n");return!(!B||!E)&&A.chain().command((({tr:A})=>(A.delete(n.pos-2,n.pos),!0))).exitCode().run()},ArrowDown:({editor:A})=>{if(!this.options.exitOnArrowDown)return!1;const{state:e}=A,{selection:t,doc:n}=e,{$from:i,empty:B}=t;if(!B||i.parent.type!==this.type)return!1;if(i.parentOffset!==i.parent.nodeSize-2)return!1;const E=i.after();return void 0!==E&&(!n.nodeAt(E)&&A.commands.exitCode())}}},addInputRules(){return[G({find:rA,type:this.type,getAttributes:A=>({language:A[1]})}),G({find:oA,type:this.type,getAttributes:A=>({language:A[1]})})]},addProseMirrorPlugins(){return[new E({key:new s("codeBlockVSCodeHandler"),props:{handlePaste:(A,e)=>{if(!e.clipboardData)return!1;if(this.editor.isActive(this.type.name))return!1;const t=e.clipboardData.getData("text/plain"),n=e.clipboardData.getData("vscode-editor-data"),i=n?JSON.parse(n):void 0,B=null==i?void 0:i.mode;if(!t||!B)return!1;const{tr:E}=A.state;return E.replaceSelectionWith(this.type.create({language:B})),E.setSelection(C.near(E.doc.resolve(Math.max(0,E.selection.from-2)))),E.insertText(t.replace(/\r\n?/g,"\n")),E.setMeta("paste",!0),A.dispatch(E),!0}}})]}});var gA={exports:{}};function QA(A){return A instanceof Map?A.clear=A.delete=A.set=function(){throw new Error("map is read-only")}:A instanceof Set&&(A.add=A.clear=A.delete=function(){throw new Error("set is read-only")}),Object.freeze(A),Object.getOwnPropertyNames(A).forEach((function(e){var t=A[e];"object"!=typeof t||Object.isFrozen(t)||QA(t)})),A}gA.exports=QA,gA.exports.default=QA;class aA{constructor(A){void 0===A.data&&(A.data={}),this.data=A.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function lA(A){return A.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function hA(A,...e){const t=Object.create(null);for(const e in A)t[e]=A[e];return e.forEach((function(A){for(const e in A)t[e]=A[e]})),t}const MA=A=>!!A.scope||A.sublanguage&&A.language;class wA{constructor(A,e){this.buffer="",this.classPrefix=e.classPrefix,A.walk(this)}addText(A){this.buffer+=lA(A)}openNode(A){if(!MA(A))return;let e="";e=A.sublanguage?`language-${A.language}`:((A,{prefix:e})=>{if(A.includes(".")){const t=A.split(".");return[`${e}${t.shift()}`,...t.map(((A,e)=>`${A}${"_".repeat(e+1)}`))].join(" ")}return`${e}${A}`})(A.scope,{prefix:this.classPrefix}),this.span(e)}closeNode(A){MA(A)&&(this.buffer+="")}value(){return this.buffer}span(A){this.buffer+=``}}const RA=(A={})=>{const e={children:[]};return Object.assign(e,A),e};class IA{constructor(){this.rootNode=RA(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(A){this.top.children.push(A)}openNode(A){const e=RA({scope:A});this.add(e),this.stack.push(e)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(A){return this.constructor._walk(A,this.rootNode)}static _walk(A,e){return"string"==typeof e?A.addText(e):e.children&&(A.openNode(e),e.children.forEach((e=>this._walk(A,e))),A.closeNode(e)),A}static _collapse(A){"string"!=typeof A&&A.children&&(A.children.every((A=>"string"==typeof A))?A.children=[A.children.join("")]:A.children.forEach((A=>{IA._collapse(A)})))}}class uA extends IA{constructor(A){super(),this.options=A}addKeyword(A,e){""!==A&&(this.openNode(e),this.addText(A),this.closeNode())}addText(A){""!==A&&this.add(A)}addSublanguage(A,e){const t=A.root;t.sublanguage=!0,t.language=e,this.add(t)}toHTML(){return new wA(this,this.options).value()}finalize(){return!0}}function dA(A){return A?"string"==typeof A?A:A.source:null}function GA(A){return DA("(?=",A,")")}function CA(A){return DA("(?:",A,")*")}function kA(A){return DA("(?:",A,")?")}function DA(...A){return A.map((A=>dA(A))).join("")}function YA(...A){const e=function(A){const e=A[A.length-1];return"object"==typeof e&&e.constructor===Object?(A.splice(A.length-1,1),e):{}}(A);return"("+(e.capture?"":"?:")+A.map((A=>dA(A))).join("|")+")"}function FA(A){return new RegExp(A.toString()+"|").exec("").length-1}const UA=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function fA(A,{joinWith:e}){let t=0;return A.map((A=>{t+=1;const e=t;let n=dA(A),i="";for(;n.length>0;){const A=UA.exec(n);if(!A){i+=n;break}i+=n.substring(0,A.index),n=n.substring(A.index+A[0].length),"\\"===A[0][0]&&A[1]?i+="\\"+String(Number(A[1])+e):(i+=A[0],"("===A[0]&&t++)}return i})).map((A=>`(${A})`)).join(e)}const NA="[a-zA-Z]\\w*",SA="[a-zA-Z_]\\w*",mA="\\b\\d+(\\.\\d+)?",yA="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",bA="\\b(0b[01]+)",HA={begin:"\\\\[\\s\\S]",relevance:0},TA={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[HA]},zA={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[HA]},xA=function(A,e,t={}){const n=hA({scope:"comment",begin:A,end:e,contains:[]},t);n.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const i=YA("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return n.contains.push({begin:DA(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),n},pA=xA("//","$"),JA=xA("/\\*","\\*/"),jA=xA("#","$");var ZA=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:NA,UNDERSCORE_IDENT_RE:SA,NUMBER_RE:mA,C_NUMBER_RE:yA,BINARY_NUMBER_RE:bA,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(A={})=>{const e=/^#![ ]*\//;return A.binary&&(A.begin=DA(e,/.*\b/,A.binary,/\b.*/)),hA({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(A,e)=>{0!==A.index&&e.ignoreMatch()}},A)},BACKSLASH_ESCAPE:HA,APOS_STRING_MODE:TA,QUOTE_STRING_MODE:zA,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT:xA,C_LINE_COMMENT_MODE:pA,C_BLOCK_COMMENT_MODE:JA,HASH_COMMENT_MODE:jA,NUMBER_MODE:{scope:"number",begin:mA,relevance:0},C_NUMBER_MODE:{scope:"number",begin:yA,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:bA,relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[HA,{begin:/\[/,end:/\]/,relevance:0,contains:[HA]}]}]},TITLE_MODE:{scope:"title",begin:NA,relevance:0},UNDERSCORE_TITLE_MODE:{scope:"title",begin:SA,relevance:0},METHOD_GUARD:{begin:"\\.\\s*"+SA,relevance:0},END_SAME_AS_BEGIN:function(A){return Object.assign(A,{"on:begin":(A,e)=>{e.data._beginMatch=A[1]},"on:end":(A,e)=>{e.data._beginMatch!==A[1]&&e.ignoreMatch()}})}});function PA(A,e){"."===A.input[A.index-1]&&e.ignoreMatch()}function VA(A){void 0!==A.className&&(A.scope=A.className,delete A.className)}function LA(A,e){e&&A.beginKeywords&&(A.begin="\\b("+A.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",A.__beforeBegin=PA,A.keywords=A.keywords||A.beginKeywords,delete A.beginKeywords,void 0===A.relevance&&(A.relevance=0))}function vA(A){Array.isArray(A.illegal)&&(A.illegal=YA(...A.illegal))}function OA(A){if(A.match){if(A.begin||A.end)throw new Error("begin & end are not supported with match");A.begin=A.match,delete A.match}}function _A(A){void 0===A.relevance&&(A.relevance=1)}const KA=A=>{if(!A.beforeMatch)return;if(A.starts)throw new Error("beforeMatch cannot be used with starts");const e=Object.assign({},A);Object.keys(A).forEach((e=>{delete A[e]})),A.keywords=e.keywords,A.begin=DA(e.beforeMatch,GA(e.begin)),A.starts={relevance:0,contains:[Object.assign(e,{endsParent:!0})]},A.relevance=0,delete e.beforeMatch},XA=["of","and","for","in","not","or","if","then","parent","list","value"],WA="keyword";function qA(A,e,t=WA){const n=Object.create(null);return"string"==typeof A?i(t,A.split(" ")):Array.isArray(A)?i(t,A):Object.keys(A).forEach((function(t){Object.assign(n,qA(A[t],e,t))})),n;function i(A,t){e&&(t=t.map((A=>A.toLowerCase()))),t.forEach((function(e){const t=e.split("|");n[t[0]]=[A,$A(t[0],t[1])]}))}}function $A(A,e){return e?Number(e):function(A){return XA.includes(A.toLowerCase())}(A)?0:1}const Ae={},ee=A=>{console.error(A)},te=(A,...e)=>{console.log(`WARN: ${A}`,...e)},ne=(A,e)=>{Ae[`${A}/${e}`]||(console.log(`Deprecated as of ${A}. ${e}`),Ae[`${A}/${e}`]=!0)},ie=new Error;function Be(A,e,{key:t}){let n=0;const i=A[t],B={},E={};for(let A=1;A<=e.length;A++)E[A+n]=i[A],B[A+n]=!0,n+=FA(e[A-1]);A[t]=E,A[t]._emit=B,A[t]._multi=!0}function Ee(A){!function(A){A.scope&&"object"==typeof A.scope&&null!==A.scope&&(A.beginScope=A.scope,delete A.scope)}(A),"string"==typeof A.beginScope&&(A.beginScope={_wrap:A.beginScope}),"string"==typeof A.endScope&&(A.endScope={_wrap:A.endScope}),function(A){if(Array.isArray(A.begin)){if(A.skip||A.excludeBegin||A.returnBegin)throw ee("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),ie;if("object"!=typeof A.beginScope||null===A.beginScope)throw ee("beginScope must be object"),ie;Be(A,A.begin,{key:"beginScope"}),A.begin=fA(A.begin,{joinWith:""})}}(A),function(A){if(Array.isArray(A.end)){if(A.skip||A.excludeEnd||A.returnEnd)throw ee("skip, excludeEnd, returnEnd not compatible with endScope: {}"),ie;if("object"!=typeof A.endScope||null===A.endScope)throw ee("endScope must be object"),ie;Be(A,A.end,{key:"endScope"}),A.end=fA(A.end,{joinWith:""})}}(A)}function se(A){function e(e,t){return new RegExp(dA(e),"m"+(A.case_insensitive?"i":"")+(A.unicodeRegex?"u":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(A,e){e.position=this.position++,this.matchIndexes[this.matchAt]=e,this.regexes.push([e,A]),this.matchAt+=FA(A)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const A=this.regexes.map((A=>A[1]));this.matcherRe=e(fA(A,{joinWith:"|"}),!0),this.lastIndex=0}exec(A){this.matcherRe.lastIndex=this.lastIndex;const e=this.matcherRe.exec(A);if(!e)return null;const t=e.findIndex(((A,e)=>e>0&&void 0!==A)),n=this.matchIndexes[t];return e.splice(0,t),Object.assign(e,n)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(A){if(this.multiRegexes[A])return this.multiRegexes[A];const e=new t;return this.rules.slice(A).forEach((([A,t])=>e.addRule(A,t))),e.compile(),this.multiRegexes[A]=e,e}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(A,e){this.rules.push([A,e]),"begin"===e.type&&this.count++}exec(A){const e=this.getMatcher(this.regexIndex);e.lastIndex=this.lastIndex;let t=e.exec(A);if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{const e=this.getMatcher(0);e.lastIndex=this.lastIndex+1,t=e.exec(A)}return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&this.considerAll()),t}}if(A.compilerExtensions||(A.compilerExtensions=[]),A.contains&&A.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return A.classNameAliases=hA(A.classNameAliases||{}),function t(i,B){const E=i;if(i.isCompiled)return E;[VA,OA,Ee,KA].forEach((A=>A(i,B))),A.compilerExtensions.forEach((A=>A(i,B))),i.__beforeBegin=null,[LA,vA,_A].forEach((A=>A(i,B))),i.isCompiled=!0;let s=null;return"object"==typeof i.keywords&&i.keywords.$pattern&&(i.keywords=Object.assign({},i.keywords),s=i.keywords.$pattern,delete i.keywords.$pattern),s=s||/\w+/,i.keywords&&(i.keywords=qA(i.keywords,A.case_insensitive)),E.keywordPatternRe=e(s,!0),B&&(i.begin||(i.begin=/\B|\b/),E.beginRe=e(E.begin),i.end||i.endsWithParent||(i.end=/\B|\b/),i.end&&(E.endRe=e(E.end)),E.terminatorEnd=dA(E.end)||"",i.endsWithParent&&B.terminatorEnd&&(E.terminatorEnd+=(i.end?"|":"")+B.terminatorEnd)),i.illegal&&(E.illegalRe=e(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((function(A){return function(A){return A.variants&&!A.cachedVariants&&(A.cachedVariants=A.variants.map((function(e){return hA(A,{variants:null},e)}))),A.cachedVariants?A.cachedVariants:re(A)?hA(A,{starts:A.starts?hA(A.starts):null}):Object.isFrozen(A)?hA(A):A}("self"===A?i:A)}))),i.contains.forEach((function(A){t(A,E)})),i.starts&&t(i.starts,B),E.matcher=function(A){const e=new n;return A.contains.forEach((A=>e.addRule(A.begin,{rule:A,type:"begin"}))),A.terminatorEnd&&e.addRule(A.terminatorEnd,{type:"end"}),A.illegal&&e.addRule(A.illegal,{type:"illegal"}),e}(E),E}(A)}function re(A){return!!A&&(A.endsWithParent||re(A.starts))}class oe extends Error{constructor(A,e){super(A),this.name="HTMLInjectionError",this.html=e}}const ce=lA,ge=hA,Qe=Symbol("nomatch");var ae=function(A){const e=Object.create(null),t=Object.create(null),n=[];let i=!0;const B="Could not find the language '{}', did you forget to load/include a language module?",E={disableAutodetect:!0,name:"Plain text",contains:[]};let s={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:uA};function r(A){return s.noHighlightRe.test(A)}function o(A,e,t){let n="",i="";"object"==typeof e?(n=A,t=e.ignoreIllegals,i=e.language):(ne("10.7.0","highlight(lang, code, ...args) has been deprecated."),ne("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),i=A,n=e),void 0===t&&(t=!0);const B={code:n,language:i};R("before:highlight",B);const E=B.result?B.result:c(B.language,B.code,t);return E.code=B.code,R("after:highlight",E),E}function c(A,t,n,E){const r=Object.create(null);function o(){if(!k.keywords)return void Y.addText(F);let A=0;k.keywordPatternRe.lastIndex=0;let e=k.keywordPatternRe.exec(F),t="";for(;e;){t+=F.substring(A,e.index);const n=d.case_insensitive?e[0].toLowerCase():e[0],i=k.keywords[n];if(i){const[A,B]=i;Y.addText(t),t="",r[n]=(r[n]||0)+1,r[n]<=7&&(U+=B),A.startsWith("_")?t+=e[0]:Y.addKeyword(e[0],d.classNameAliases[A]||A)}else t+=e[0];A=k.keywordPatternRe.lastIndex,e=k.keywordPatternRe.exec(F)}t+=F.substring(A),Y.addText(t)}function Q(){null!=k.subLanguage?function(){if(""===F)return;let A=null;if("string"==typeof k.subLanguage){if(!e[k.subLanguage])return void Y.addText(F);A=c(k.subLanguage,F,!0,D[k.subLanguage]),D[k.subLanguage]=A._top}else A=g(F,k.subLanguage.length?k.subLanguage:null);k.relevance>0&&(U+=A.relevance),Y.addSublanguage(A._emitter,A.language)}():o(),F=""}function a(A,e){let t=1;const n=e.length-1;for(;t<=n;){if(!A._emit[t]){t++;continue}const n=d.classNameAliases[A[t]]||A[t],i=e[t];n?Y.addKeyword(i,n):(F=i,o(),F=""),t++}}function l(A,e){return A.scope&&"string"==typeof A.scope&&Y.openNode(d.classNameAliases[A.scope]||A.scope),A.beginScope&&(A.beginScope._wrap?(Y.addKeyword(F,d.classNameAliases[A.beginScope._wrap]||A.beginScope._wrap),F=""):A.beginScope._multi&&(a(A.beginScope,e),F="")),k=Object.create(A,{parent:{value:k}}),k}function M(A,e,t){let n=function(A,e){const t=A&&A.exec(e);return t&&0===t.index}(A.endRe,t);if(n){if(A["on:end"]){const t=new aA(A);A["on:end"](e,t),t.isMatchIgnored&&(n=!1)}if(n){for(;A.endsParent&&A.parent;)A=A.parent;return A}}if(A.endsWithParent)return M(A.parent,e,t)}function w(A){return 0===k.matcher.regexIndex?(F+=A[0],1):(S=!0,0)}function R(A){const e=A[0],n=t.substring(A.index),i=M(k,A,n);if(!i)return Qe;const B=k;k.endScope&&k.endScope._wrap?(Q(),Y.addKeyword(e,k.endScope._wrap)):k.endScope&&k.endScope._multi?(Q(),a(k.endScope,A)):B.skip?F+=e:(B.returnEnd||B.excludeEnd||(F+=e),Q(),B.excludeEnd&&(F=e));do{k.scope&&Y.closeNode(),k.skip||k.subLanguage||(U+=k.relevance),k=k.parent}while(k!==i.parent);return i.starts&&l(i.starts,A),B.returnEnd?0:e.length}let I={};function u(e,B){const E=B&&B[0];if(F+=e,null==E)return Q(),0;if("begin"===I.type&&"end"===B.type&&I.index===B.index&&""===E){if(F+=t.slice(B.index,B.index+1),!i){const e=new Error(`0 width match regex (${A})`);throw e.languageName=A,e.badRule=I.rule,e}return 1}if(I=B,"begin"===B.type)return function(A){const e=A[0],t=A.rule,n=new aA(t),i=[t.__beforeBegin,t["on:begin"]];for(const t of i)if(t&&(t(A,n),n.isMatchIgnored))return w(e);return t.skip?F+=e:(t.excludeBegin&&(F+=e),Q(),t.returnBegin||t.excludeBegin||(F=e)),l(t,A),t.returnBegin?0:e.length}(B);if("illegal"===B.type&&!n){const A=new Error('Illegal lexeme "'+E+'" for mode "'+(k.scope||"")+'"');throw A.mode=k,A}if("end"===B.type){const A=R(B);if(A!==Qe)return A}if("illegal"===B.type&&""===E)return 1;if(N>1e5&&N>3*B.index)throw new Error("potential infinite loop, way more iterations than matches");return F+=E,E.length}const d=h(A);if(!d)throw ee(B.replace("{}",A)),new Error('Unknown language: "'+A+'"');const G=se(d);let C="",k=E||G;const D={},Y=new s.__emitter(s);!function(){const A=[];for(let e=k;e!==d;e=e.parent)e.scope&&A.unshift(e.scope);A.forEach((A=>Y.openNode(A)))}();let F="",U=0,f=0,N=0,S=!1;try{for(k.matcher.considerAll();;){N++,S?S=!1:k.matcher.considerAll(),k.matcher.lastIndex=f;const A=k.matcher.exec(t);if(!A)break;const e=u(t.substring(f,A.index),A);f=A.index+e}return u(t.substring(f)),Y.closeAllNodes(),Y.finalize(),C=Y.toHTML(),{language:A,value:C,relevance:U,illegal:!1,_emitter:Y,_top:k}}catch(e){if(e.message&&e.message.includes("Illegal"))return{language:A,value:ce(t),illegal:!0,relevance:0,_illegalBy:{message:e.message,index:f,context:t.slice(f-100,f+100),mode:e.mode,resultSoFar:C},_emitter:Y};if(i)return{language:A,value:ce(t),illegal:!1,relevance:0,errorRaised:e,_emitter:Y,_top:k};throw e}}function g(A,t){t=t||s.languages||Object.keys(e);const n=function(A){const e={value:ce(A),illegal:!1,relevance:0,_top:E,_emitter:new s.__emitter(s)};return e._emitter.addText(A),e}(A),i=t.filter(h).filter(w).map((e=>c(e,A,!1)));i.unshift(n);const B=i.sort(((A,e)=>{if(A.relevance!==e.relevance)return e.relevance-A.relevance;if(A.language&&e.language){if(h(A.language).supersetOf===e.language)return 1;if(h(e.language).supersetOf===A.language)return-1}return 0})),[r,o]=B,g=r;return g.secondBest=o,g}function Q(A){let e=null;const n=function(A){let e=A.className+" ";e+=A.parentNode?A.parentNode.className:"";const t=s.languageDetectRe.exec(e);if(t){const e=h(t[1]);return e||(te(B.replace("{}",t[1])),te("Falling back to no-highlight mode for this block.",A)),e?t[1]:"no-highlight"}return e.split(/\s+/).find((A=>r(A)||h(A)))}(A);if(r(n))return;if(R("before:highlightElement",{el:A,language:n}),A.children.length>0&&(s.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(A)),s.throwUnescapedHTML))throw new oe("One of your code blocks includes unescaped HTML.",A.innerHTML);e=A;const i=e.textContent,E=n?o(i,{language:n,ignoreIllegals:!0}):g(i);A.innerHTML=E.value,function(A,e,n){const i=e&&t[e]||n;A.classList.add("hljs"),A.classList.add(`language-${i}`)}(A,n,E.language),A.result={language:E.language,re:E.relevance,relevance:E.relevance},E.secondBest&&(A.secondBest={language:E.secondBest.language,relevance:E.secondBest.relevance}),R("after:highlightElement",{el:A,result:E,text:i})}let a=!1;function l(){"loading"!==document.readyState?document.querySelectorAll(s.cssSelector).forEach(Q):a=!0}function h(A){return A=(A||"").toLowerCase(),e[A]||e[t[A]]}function M(A,{languageName:e}){"string"==typeof A&&(A=[A]),A.forEach((A=>{t[A.toLowerCase()]=e}))}function w(A){const e=h(A);return e&&!e.disableAutodetect}function R(A,e){const t=A;n.forEach((function(A){A[t]&&A[t](e)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){a&&l()}),!1),Object.assign(A,{highlight:o,highlightAuto:g,highlightAll:l,highlightElement:Q,highlightBlock:function(A){return ne("10.7.0","highlightBlock will be removed entirely in v12.0"),ne("10.7.0","Please use highlightElement now."),Q(A)},configure:function(A){s=ge(s,A)},initHighlighting:()=>{l(),ne("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){l(),ne("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(t,n){let B=null;try{B=n(A)}catch(A){if(ee("Language definition for '{}' could not be registered.".replace("{}",t)),!i)throw A;ee(A),B=E}B.name||(B.name=t),e[t]=B,B.rawDefinition=n.bind(null,A),B.aliases&&M(B.aliases,{languageName:t})},unregisterLanguage:function(A){delete e[A];for(const e of Object.keys(t))t[e]===A&&delete t[e]},listLanguages:function(){return Object.keys(e)},getLanguage:h,registerAliases:M,autoDetection:w,inherit:ge,addPlugin:function(A){!function(A){A["before:highlightBlock"]&&!A["before:highlightElement"]&&(A["before:highlightElement"]=e=>{A["before:highlightBlock"](Object.assign({block:e.el},e))}),A["after:highlightBlock"]&&!A["after:highlightElement"]&&(A["after:highlightElement"]=e=>{A["after:highlightBlock"](Object.assign({block:e.el},e))})}(A),n.push(A)}}),A.debugMode=function(){i=!1},A.safeMode=function(){i=!0},A.versionString="11.6.0",A.regex={concat:DA,lookahead:GA,either:YA,optional:kA,anyNumberOfTimes:CA};for(const A in ZA)"object"==typeof ZA[A]&&gA.exports(ZA[A]);return Object.assign(A,ZA),A}({}),le=ae;ae.HighlightJS=ae,ae.default=ae;var he=le;function Me(A,e=[]){return A.map((A=>{const t=[...e,...A.properties?A.properties.className:[]];return A.children?Me(A.children,t):{text:A.value,classes:t}})).flat()}function we(A){return A.value||A.children||[]}function Re({doc:A,name:e,lowlight:t,defaultLanguage:n}){const i=[];return D(A,(A=>A.type.name===e)).forEach((A=>{let e=A.pos+1;const B=A.node.attrs.language||n,E=t.listLanguages();Me(B&&(E.includes(B)||Boolean(he.getLanguage(B)))?we(t.highlight(B,A.node.textContent)):we(t.highlightAuto(A.node.textContent))).forEach((A=>{const t=e+A.text.length;if(A.classes.length){const n=Y.inline(e,t,{class:A.classes.join(" ")});i.push(n)}e=t}))})),k.create(A,i)}function Ie({name:A,lowlight:e,defaultLanguage:t}){if(!["highlight","highlightAuto","listLanguages"].every((A=>"function"==typeof e[A])))throw Error("You should provide an instance of lowlight to use the code-block-lowlight extension");const n=new E({key:new s("lowlight"),state:{init:(n,{doc:i})=>Re({doc:i,name:A,lowlight:e,defaultLanguage:t}),apply:(n,i,B,E)=>{const s=B.selection.$head.parent.type.name,r=E.selection.$head.parent.type.name,o=D(B.doc,(e=>e.type.name===A)),c=D(E.doc,(e=>e.type.name===A));return n.docChanged&&([s,r].includes(A)||c.length!==o.length||n.steps.some((A=>void 0!==A.from&&void 0!==A.to&&o.some((e=>e.pos>=A.from&&e.pos+e.node.nodeSize<=A.to)))))?Re({doc:n.doc,name:A,lowlight:e,defaultLanguage:t}):i.map(n.mapping,n.doc)}},props:{decorations:A=>n.getState(A)}});return n}const ue=cA.extend({addOptions(){var A;return{...null===(A=this.parent)||void 0===A?void 0:A.call(this),lowlight:{},defaultLanguage:null}},addProseMirrorPlugins(){var A;return[...(null===(A=this.parent)||void 0===A?void 0:A.call(this))||[],Ie({name:this.name,lowlight:this.options.lowlight,defaultLanguage:this.options.defaultLanguage})]}});const de=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Ge=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],Ce=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],ke=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],De=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();var Ye="[0-9](_*[0-9])*",Fe=`\\.(${Ye})`,Ue="[0-9a-fA-F](_*[0-9a-fA-F])*",fe={className:"number",variants:[{begin:`(\\b(${Ye})((${Fe})|\\.)?|(${Fe}))[eE][+-]?(${Ye})[fFdD]?\\b`},{begin:`\\b(${Ye})((${Fe})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Fe})[fFdD]?\\b`},{begin:`\\b(${Ye})[fFdD]\\b`},{begin:`\\b0[xX]((${Ue})\\.?|(${Ue})?\\.(${Ue}))[pP][+-]?(${Ye})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${Ue})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function Ne(A,e,t){return-1===t?"":A.replace(e,(()=>Ne(A,e,t-1)))}const Se="[A-Za-z$_][0-9A-Za-z$_]*",me=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],ye=["true","false","null","undefined","NaN","Infinity"],be=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],He=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Te=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ze=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],xe=[].concat(Te,be,He);var pe="[0-9](_*[0-9])*",Je=`\\.(${pe})`,je="[0-9a-fA-F](_*[0-9a-fA-F])*",Ze={className:"number",variants:[{begin:`(\\b(${pe})((${Je})|\\.)?|(${Je}))[eE][+-]?(${pe})[fFdD]?\\b`},{begin:`\\b(${pe})((${Je})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${Je})[fFdD]?\\b`},{begin:`\\b(${pe})[fFdD]\\b`},{begin:`\\b0[xX]((${je})\\.?|(${je})?\\.(${je}))[pP][+-]?(${pe})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${je})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};const Pe=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Ve=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],Le=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],ve=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],Oe=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse(),_e=Le.concat(ve);const Ke=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Xe=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"],We=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"],qe=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"],$e=["align-content","align-items","align-self","all","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","content","content-visibility","counter-increment","counter-reset","cue","cue-after","cue-before","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-smoothing","font-stretch","font-style","font-synthesis","font-variant","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","gap","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inline-size","isolation","justify-content","left","letter-spacing","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","pause","pause-after","pause-before","perspective","perspective-origin","pointer-events","position","quotes","resize","rest","rest-after","rest-before","right","row-gap","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","speak","speak-as","src","tab-size","table-layout","text-align","text-align-all","text-align-last","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-box","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index"].reverse();function At(A){return A?"string"==typeof A?A:A.source:null}function et(A){return tt("(?=",A,")")}function tt(...A){return A.map((A=>At(A))).join("")}function nt(...A){const e=function(A){const e=A[A.length-1];return"object"==typeof e&&e.constructor===Object?(A.splice(A.length-1,1),e):{}}(A);return"("+(e.capture?"":"?:")+A.map((A=>At(A))).join("|")+")"}const it=A=>tt(/\b/,A,/\w$/.test(A)?/\b/:/\B/),Bt=["Protocol","Type"].map(it),Et=["init","self"].map(it),st=["Any","Self"],rt=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","break","case","catch","class","continue","convenience","default","defer","deinit","didSet","distributed","do","dynamic","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],ot=["false","nil","true"],ct=["assignment","associativity","higherThan","left","lowerThan","none","right"],gt=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warn_unqualified_access","#warning"],Qt=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],at=nt(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),lt=nt(at,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),ht=tt(at,lt,"*"),Mt=nt(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),wt=nt(Mt,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Rt=tt(Mt,wt,"*"),It=tt(/[A-Z]/,wt,"*"),ut=["autoclosure",tt(/convention\(/,nt("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",tt(/objc\(/,Rt,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","testable","UIApplicationMain","unknown","usableFromInline"],dt=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];const Gt="[A-Za-z$_][0-9A-Za-z$_]*",Ct=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],kt=["true","false","null","undefined","NaN","Infinity"],Dt=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],Yt=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Ft=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Ut=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],ft=[].concat(Ft,Dt,Yt);function Nt(A){const e=A.regex,t=Gt,n={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(A,e)=>{const t=A[0].length+A.index,n=A.input[t];if("<"===n||","===n)return void e.ignoreMatch();let i;">"===n&&(((A,{after:e})=>{const t="",F={match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(Y)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[R]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:w,CLASS_REFERENCE:u},illegal:/#(?![$_A-z])/,contains:[A.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,c,g,Q,a,l,{match:/\$\d+/},r,u,{className:"attr",begin:t+e.lookahead(":"),relevance:0},F,{begin:"("+A.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[l,A.REGEXP_MODE,{className:"function",begin:Y,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:A.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:w}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:n.begin,"on:begin":n.isTrulyOpeningTag,end:n.end}],subLanguage:"xml",contains:[{begin:n.begin,end:n.end,skip:!0,contains:["self"]}]}]},d,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+A.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[R,A.inherit(A.TITLE_MODE,{begin:t,className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[R]},G,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},I,D,{match:/\$[(.]/}]}}function St(A){return A instanceof Map?A.clear=A.delete=A.set=function(){throw new Error("map is read-only")}:A instanceof Set&&(A.add=A.clear=A.delete=function(){throw new Error("set is read-only")}),Object.freeze(A),Object.getOwnPropertyNames(A).forEach((e=>{const t=A[e],n=typeof t;"object"!==n&&"function"!==n||Object.isFrozen(t)||St(t)})),A}class mt{constructor(A){void 0===A.data&&(A.data={}),this.data=A.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function yt(A){return A.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function bt(A,...e){const t=Object.create(null);for(const e in A)t[e]=A[e];return e.forEach((function(A){for(const e in A)t[e]=A[e]})),t}const Ht=A=>!!A.scope;class Tt{constructor(A,e){this.buffer="",this.classPrefix=e.classPrefix,A.walk(this)}addText(A){this.buffer+=yt(A)}openNode(A){if(!Ht(A))return;const e=((A,{prefix:e})=>{if(A.startsWith("language:"))return A.replace("language:","language-");if(A.includes(".")){const t=A.split(".");return[`${e}${t.shift()}`,...t.map(((A,e)=>`${A}${"_".repeat(e+1)}`))].join(" ")}return`${e}${A}`})(A.scope,{prefix:this.classPrefix});this.span(e)}closeNode(A){Ht(A)&&(this.buffer+="")}value(){return this.buffer}span(A){this.buffer+=``}}const zt=(A={})=>{const e={children:[]};return Object.assign(e,A),e};class xt{constructor(){this.rootNode=zt(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(A){this.top.children.push(A)}openNode(A){const e=zt({scope:A});this.add(e),this.stack.push(e)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(A){return this.constructor._walk(A,this.rootNode)}static _walk(A,e){return"string"==typeof e?A.addText(e):e.children&&(A.openNode(e),e.children.forEach((e=>this._walk(A,e))),A.closeNode(e)),A}static _collapse(A){"string"!=typeof A&&A.children&&(A.children.every((A=>"string"==typeof A))?A.children=[A.children.join("")]:A.children.forEach((A=>{xt._collapse(A)})))}}class pt extends xt{constructor(A){super(),this.options=A}addText(A){""!==A&&this.add(A)}startScope(A){this.openNode(A)}endScope(){this.closeNode()}__addSublanguage(A,e){const t=A.root;e&&(t.scope=`language:${e}`),this.add(t)}toHTML(){return new Tt(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Jt(A){return A?"string"==typeof A?A:A.source:null}function jt(A){return Vt("(?=",A,")")}function Zt(A){return Vt("(?:",A,")*")}function Pt(A){return Vt("(?:",A,")?")}function Vt(...A){return A.map((A=>Jt(A))).join("")}function Lt(...A){const e=function(A){const e=A[A.length-1];return"object"==typeof e&&e.constructor===Object?(A.splice(A.length-1,1),e):{}}(A);return"("+(e.capture?"":"?:")+A.map((A=>Jt(A))).join("|")+")"}function vt(A){return new RegExp(A.toString()+"|").exec("").length-1}const Ot=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function _t(A,{joinWith:e}){let t=0;return A.map((A=>{t+=1;const e=t;let n=Jt(A),i="";for(;n.length>0;){const A=Ot.exec(n);if(!A){i+=n;break}i+=n.substring(0,A.index),n=n.substring(A.index+A[0].length),"\\"===A[0][0]&&A[1]?i+="\\"+String(Number(A[1])+e):(i+=A[0],"("===A[0]&&t++)}return i})).map((A=>`(${A})`)).join(e)}const Kt="[a-zA-Z]\\w*",Xt="[a-zA-Z_]\\w*",Wt="\\b\\d+(\\.\\d+)?",qt="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",$t="\\b(0b[01]+)",An={begin:"\\\\[\\s\\S]",relevance:0},en={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[An]},tn={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[An]},nn=function(A,e,t={}){const n=bt({scope:"comment",begin:A,end:e,contains:[]},t);n.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const i=Lt("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return n.contains.push({begin:Vt(/[ ]+/,"(",i,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),n},Bn=nn("//","$"),En=nn("/\\*","\\*/"),sn=nn("#","$");var rn=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:Kt,UNDERSCORE_IDENT_RE:Xt,NUMBER_RE:Wt,C_NUMBER_RE:qt,BINARY_NUMBER_RE:$t,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(A={})=>{const e=/^#![ ]*\//;return A.binary&&(A.begin=Vt(e,/.*\b/,A.binary,/\b.*/)),bt({scope:"meta",begin:e,end:/$/,relevance:0,"on:begin":(A,e)=>{0!==A.index&&e.ignoreMatch()}},A)},BACKSLASH_ESCAPE:An,APOS_STRING_MODE:en,QUOTE_STRING_MODE:tn,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT:nn,C_LINE_COMMENT_MODE:Bn,C_BLOCK_COMMENT_MODE:En,HASH_COMMENT_MODE:sn,NUMBER_MODE:{scope:"number",begin:Wt,relevance:0},C_NUMBER_MODE:{scope:"number",begin:qt,relevance:0},BINARY_NUMBER_MODE:{scope:"number",begin:$t,relevance:0},REGEXP_MODE:{begin:/(?=\/[^/\n]*\/)/,contains:[{scope:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[An,{begin:/\[/,end:/\]/,relevance:0,contains:[An]}]}]},TITLE_MODE:{scope:"title",begin:Kt,relevance:0},UNDERSCORE_TITLE_MODE:{scope:"title",begin:Xt,relevance:0},METHOD_GUARD:{begin:"\\.\\s*"+Xt,relevance:0},END_SAME_AS_BEGIN:function(A){return Object.assign(A,{"on:begin":(A,e)=>{e.data._beginMatch=A[1]},"on:end":(A,e)=>{e.data._beginMatch!==A[1]&&e.ignoreMatch()}})}});function on(A,e){"."===A.input[A.index-1]&&e.ignoreMatch()}function cn(A){void 0!==A.className&&(A.scope=A.className,delete A.className)}function gn(A,e){e&&A.beginKeywords&&(A.begin="\\b("+A.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",A.__beforeBegin=on,A.keywords=A.keywords||A.beginKeywords,delete A.beginKeywords,void 0===A.relevance&&(A.relevance=0))}function Qn(A){Array.isArray(A.illegal)&&(A.illegal=Lt(...A.illegal))}function an(A){if(A.match){if(A.begin||A.end)throw new Error("begin & end are not supported with match");A.begin=A.match,delete A.match}}function ln(A){void 0===A.relevance&&(A.relevance=1)}const hn=A=>{if(!A.beforeMatch)return;if(A.starts)throw new Error("beforeMatch cannot be used with starts");const e=Object.assign({},A);Object.keys(A).forEach((e=>{delete A[e]})),A.keywords=e.keywords,A.begin=Vt(e.beforeMatch,jt(e.begin)),A.starts={relevance:0,contains:[Object.assign(e,{endsParent:!0})]},A.relevance=0,delete e.beforeMatch},Mn=["of","and","for","in","not","or","if","then","parent","list","value"],wn="keyword";function Rn(A,e,t=wn){const n=Object.create(null);return"string"==typeof A?i(t,A.split(" ")):Array.isArray(A)?i(t,A):Object.keys(A).forEach((function(t){Object.assign(n,Rn(A[t],e,t))})),n;function i(A,t){e&&(t=t.map((A=>A.toLowerCase()))),t.forEach((function(e){const t=e.split("|");n[t[0]]=[A,In(t[0],t[1])]}))}}function In(A,e){return e?Number(e):function(A){return Mn.includes(A.toLowerCase())}(A)?0:1}const un={},dn=A=>{console.error(A)},Gn=(A,...e)=>{console.log(`WARN: ${A}`,...e)},Cn=(A,e)=>{un[`${A}/${e}`]||(console.log(`Deprecated as of ${A}. ${e}`),un[`${A}/${e}`]=!0)},kn=new Error;function Dn(A,e,{key:t}){let n=0;const i=A[t],B={},E={};for(let A=1;A<=e.length;A++)E[A+n]=i[A],B[A+n]=!0,n+=vt(e[A-1]);A[t]=E,A[t]._emit=B,A[t]._multi=!0}function Yn(A){!function(A){A.scope&&"object"==typeof A.scope&&null!==A.scope&&(A.beginScope=A.scope,delete A.scope)}(A),"string"==typeof A.beginScope&&(A.beginScope={_wrap:A.beginScope}),"string"==typeof A.endScope&&(A.endScope={_wrap:A.endScope}),function(A){if(Array.isArray(A.begin)){if(A.skip||A.excludeBegin||A.returnBegin)throw dn("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),kn;if("object"!=typeof A.beginScope||null===A.beginScope)throw dn("beginScope must be object"),kn;Dn(A,A.begin,{key:"beginScope"}),A.begin=_t(A.begin,{joinWith:""})}}(A),function(A){if(Array.isArray(A.end)){if(A.skip||A.excludeEnd||A.returnEnd)throw dn("skip, excludeEnd, returnEnd not compatible with endScope: {}"),kn;if("object"!=typeof A.endScope||null===A.endScope)throw dn("endScope must be object"),kn;Dn(A,A.end,{key:"endScope"}),A.end=_t(A.end,{joinWith:""})}}(A)}function Fn(A){function e(e,t){return new RegExp(Jt(e),"m"+(A.case_insensitive?"i":"")+(A.unicodeRegex?"u":"")+(t?"g":""))}class t{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(A,e){e.position=this.position++,this.matchIndexes[this.matchAt]=e,this.regexes.push([e,A]),this.matchAt+=vt(A)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const A=this.regexes.map((A=>A[1]));this.matcherRe=e(_t(A,{joinWith:"|"}),!0),this.lastIndex=0}exec(A){this.matcherRe.lastIndex=this.lastIndex;const e=this.matcherRe.exec(A);if(!e)return null;const t=e.findIndex(((A,e)=>e>0&&void 0!==A)),n=this.matchIndexes[t];return e.splice(0,t),Object.assign(e,n)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(A){if(this.multiRegexes[A])return this.multiRegexes[A];const e=new t;return this.rules.slice(A).forEach((([A,t])=>e.addRule(A,t))),e.compile(),this.multiRegexes[A]=e,e}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(A,e){this.rules.push([A,e]),"begin"===e.type&&this.count++}exec(A){const e=this.getMatcher(this.regexIndex);e.lastIndex=this.lastIndex;let t=e.exec(A);if(this.resumingScanAtSamePosition())if(t&&t.index===this.lastIndex);else{const e=this.getMatcher(0);e.lastIndex=this.lastIndex+1,t=e.exec(A)}return t&&(this.regexIndex+=t.position+1,this.regexIndex===this.count&&this.considerAll()),t}}if(A.compilerExtensions||(A.compilerExtensions=[]),A.contains&&A.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return A.classNameAliases=bt(A.classNameAliases||{}),function t(i,B){const E=i;if(i.isCompiled)return E;[cn,an,Yn,hn].forEach((A=>A(i,B))),A.compilerExtensions.forEach((A=>A(i,B))),i.__beforeBegin=null,[gn,Qn,ln].forEach((A=>A(i,B))),i.isCompiled=!0;let s=null;return"object"==typeof i.keywords&&i.keywords.$pattern&&(i.keywords=Object.assign({},i.keywords),s=i.keywords.$pattern,delete i.keywords.$pattern),s=s||/\w+/,i.keywords&&(i.keywords=Rn(i.keywords,A.case_insensitive)),E.keywordPatternRe=e(s,!0),B&&(i.begin||(i.begin=/\B|\b/),E.beginRe=e(E.begin),i.end||i.endsWithParent||(i.end=/\B|\b/),i.end&&(E.endRe=e(E.end)),E.terminatorEnd=Jt(E.end)||"",i.endsWithParent&&B.terminatorEnd&&(E.terminatorEnd+=(i.end?"|":"")+B.terminatorEnd)),i.illegal&&(E.illegalRe=e(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map((function(A){return function(A){return A.variants&&!A.cachedVariants&&(A.cachedVariants=A.variants.map((function(e){return bt(A,{variants:null},e)}))),A.cachedVariants?A.cachedVariants:Un(A)?bt(A,{starts:A.starts?bt(A.starts):null}):Object.isFrozen(A)?bt(A):A}("self"===A?i:A)}))),i.contains.forEach((function(A){t(A,E)})),i.starts&&t(i.starts,B),E.matcher=function(A){const e=new n;return A.contains.forEach((A=>e.addRule(A.begin,{rule:A,type:"begin"}))),A.terminatorEnd&&e.addRule(A.terminatorEnd,{type:"end"}),A.illegal&&e.addRule(A.illegal,{type:"illegal"}),e}(E),E}(A)}function Un(A){return!!A&&(A.endsWithParent||Un(A.starts))}class fn extends Error{constructor(A,e){super(A),this.name="HTMLInjectionError",this.html=e}}const Nn=yt,Sn=bt,mn=Symbol("nomatch"),yn=function(A){const e=Object.create(null),t=Object.create(null),n=[];let i=!0;const B="Could not find the language '{}', did you forget to load/include a language module?",E={disableAutodetect:!0,name:"Plain text",contains:[]};let s={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:pt};function r(A){return s.noHighlightRe.test(A)}function o(A,e,t){let n="",i="";"object"==typeof e?(n=A,t=e.ignoreIllegals,i=e.language):(Cn("10.7.0","highlight(lang, code, ...args) has been deprecated."),Cn("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),i=A,n=e),void 0===t&&(t=!0);const B={code:n,language:i};R("before:highlight",B);const E=B.result?B.result:c(B.language,B.code,t);return E.code=B.code,R("after:highlight",E),E}function c(A,t,n,E){const r=Object.create(null);function o(){if(!D.keywords)return void F.addText(U);let A=0;D.keywordPatternRe.lastIndex=0;let e=D.keywordPatternRe.exec(U),t="";for(;e;){t+=U.substring(A,e.index);const n=G.case_insensitive?e[0].toLowerCase():e[0],i=D.keywords[n];if(i){const[A,B]=i;F.addText(t),t="",r[n]=(r[n]||0)+1,r[n]<=7&&(f+=B),A.startsWith("_")?t+=e[0]:a(e[0],G.classNameAliases[A]||A)}else t+=e[0];A=D.keywordPatternRe.lastIndex,e=D.keywordPatternRe.exec(U)}t+=U.substring(A),F.addText(t)}function Q(){null!=D.subLanguage?function(){if(""===U)return;let A=null;if("string"==typeof D.subLanguage){if(!e[D.subLanguage])return void F.addText(U);A=c(D.subLanguage,U,!0,Y[D.subLanguage]),Y[D.subLanguage]=A._top}else A=g(U,D.subLanguage.length?D.subLanguage:null);D.relevance>0&&(f+=A.relevance),F.__addSublanguage(A._emitter,A.language)}():o(),U=""}function a(A,e){""!==A&&(F.startScope(e),F.addText(A),F.endScope())}function l(A,e){let t=1;const n=e.length-1;for(;t<=n;){if(!A._emit[t]){t++;continue}const n=G.classNameAliases[A[t]]||A[t],i=e[t];n?a(i,n):(U=i,o(),U=""),t++}}function M(A,e){return A.scope&&"string"==typeof A.scope&&F.openNode(G.classNameAliases[A.scope]||A.scope),A.beginScope&&(A.beginScope._wrap?(a(U,G.classNameAliases[A.beginScope._wrap]||A.beginScope._wrap),U=""):A.beginScope._multi&&(l(A.beginScope,e),U="")),D=Object.create(A,{parent:{value:D}}),D}function w(A,e,t){let n=function(A,e){const t=A&&A.exec(e);return t&&0===t.index}(A.endRe,t);if(n){if(A["on:end"]){const t=new mt(A);A["on:end"](e,t),t.isMatchIgnored&&(n=!1)}if(n){for(;A.endsParent&&A.parent;)A=A.parent;return A}}if(A.endsWithParent)return w(A.parent,e,t)}function R(A){return 0===D.matcher.regexIndex?(U+=A[0],1):(m=!0,0)}function I(A){const e=A[0],n=t.substring(A.index),i=w(D,A,n);if(!i)return mn;const B=D;D.endScope&&D.endScope._wrap?(Q(),a(e,D.endScope._wrap)):D.endScope&&D.endScope._multi?(Q(),l(D.endScope,A)):B.skip?U+=e:(B.returnEnd||B.excludeEnd||(U+=e),Q(),B.excludeEnd&&(U=e));do{D.scope&&F.closeNode(),D.skip||D.subLanguage||(f+=D.relevance),D=D.parent}while(D!==i.parent);return i.starts&&M(i.starts,A),B.returnEnd?0:e.length}let u={};function d(e,B){const E=B&&B[0];if(U+=e,null==E)return Q(),0;if("begin"===u.type&&"end"===B.type&&u.index===B.index&&""===E){if(U+=t.slice(B.index,B.index+1),!i){const e=new Error(`0 width match regex (${A})`);throw e.languageName=A,e.badRule=u.rule,e}return 1}if(u=B,"begin"===B.type)return function(A){const e=A[0],t=A.rule,n=new mt(t),i=[t.__beforeBegin,t["on:begin"]];for(const t of i)if(t&&(t(A,n),n.isMatchIgnored))return R(e);return t.skip?U+=e:(t.excludeBegin&&(U+=e),Q(),t.returnBegin||t.excludeBegin||(U=e)),M(t,A),t.returnBegin?0:e.length}(B);if("illegal"===B.type&&!n){const A=new Error('Illegal lexeme "'+E+'" for mode "'+(D.scope||"")+'"');throw A.mode=D,A}if("end"===B.type){const A=I(B);if(A!==mn)return A}if("illegal"===B.type&&""===E)return 1;if(S>1e5&&S>3*B.index)throw new Error("potential infinite loop, way more iterations than matches");return U+=E,E.length}const G=h(A);if(!G)throw dn(B.replace("{}",A)),new Error('Unknown language: "'+A+'"');const C=Fn(G);let k="",D=E||C;const Y={},F=new s.__emitter(s);!function(){const A=[];for(let e=D;e!==G;e=e.parent)e.scope&&A.unshift(e.scope);A.forEach((A=>F.openNode(A)))}();let U="",f=0,N=0,S=0,m=!1;try{if(G.__emitTokens)G.__emitTokens(t,F);else{for(D.matcher.considerAll();;){S++,m?m=!1:D.matcher.considerAll(),D.matcher.lastIndex=N;const A=D.matcher.exec(t);if(!A)break;const e=d(t.substring(N,A.index),A);N=A.index+e}d(t.substring(N))}return F.finalize(),k=F.toHTML(),{language:A,value:k,relevance:f,illegal:!1,_emitter:F,_top:D}}catch(e){if(e.message&&e.message.includes("Illegal"))return{language:A,value:Nn(t),illegal:!0,relevance:0,_illegalBy:{message:e.message,index:N,context:t.slice(N-100,N+100),mode:e.mode,resultSoFar:k},_emitter:F};if(i)return{language:A,value:Nn(t),illegal:!1,relevance:0,errorRaised:e,_emitter:F,_top:D};throw e}}function g(A,t){t=t||s.languages||Object.keys(e);const n=function(A){const e={value:Nn(A),illegal:!1,relevance:0,_top:E,_emitter:new s.__emitter(s)};return e._emitter.addText(A),e}(A),i=t.filter(h).filter(w).map((e=>c(e,A,!1)));i.unshift(n);const B=i.sort(((A,e)=>{if(A.relevance!==e.relevance)return e.relevance-A.relevance;if(A.language&&e.language){if(h(A.language).supersetOf===e.language)return 1;if(h(e.language).supersetOf===A.language)return-1}return 0})),[r,o]=B,g=r;return g.secondBest=o,g}function Q(A){let e=null;const n=function(A){let e=A.className+" ";e+=A.parentNode?A.parentNode.className:"";const t=s.languageDetectRe.exec(e);if(t){const e=h(t[1]);return e||(Gn(B.replace("{}",t[1])),Gn("Falling back to no-highlight mode for this block.",A)),e?t[1]:"no-highlight"}return e.split(/\s+/).find((A=>r(A)||h(A)))}(A);if(r(n))return;if(R("before:highlightElement",{el:A,language:n}),A.children.length>0&&(s.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(A)),s.throwUnescapedHTML))throw new fn("One of your code blocks includes unescaped HTML.",A.innerHTML);e=A;const i=e.textContent,E=n?o(i,{language:n,ignoreIllegals:!0}):g(i);A.innerHTML=E.value,function(A,e,n){const i=e&&t[e]||n;A.classList.add("hljs"),A.classList.add(`language-${i}`)}(A,n,E.language),A.result={language:E.language,re:E.relevance,relevance:E.relevance},E.secondBest&&(A.secondBest={language:E.secondBest.language,relevance:E.secondBest.relevance}),R("after:highlightElement",{el:A,result:E,text:i})}let a=!1;function l(){"loading"!==document.readyState?document.querySelectorAll(s.cssSelector).forEach(Q):a=!0}function h(A){return A=(A||"").toLowerCase(),e[A]||e[t[A]]}function M(A,{languageName:e}){"string"==typeof A&&(A=[A]),A.forEach((A=>{t[A.toLowerCase()]=e}))}function w(A){const e=h(A);return e&&!e.disableAutodetect}function R(A,e){const t=A;n.forEach((function(A){A[t]&&A[t](e)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){a&&l()}),!1),Object.assign(A,{highlight:o,highlightAuto:g,highlightAll:l,highlightElement:Q,highlightBlock:function(A){return Cn("10.7.0","highlightBlock will be removed entirely in v12.0"),Cn("10.7.0","Please use highlightElement now."),Q(A)},configure:function(A){s=Sn(s,A)},initHighlighting:()=>{l(),Cn("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){l(),Cn("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(t,n){let B=null;try{B=n(A)}catch(A){if(dn("Language definition for '{}' could not be registered.".replace("{}",t)),!i)throw A;dn(A),B=E}B.name||(B.name=t),e[t]=B,B.rawDefinition=n.bind(null,A),B.aliases&&M(B.aliases,{languageName:t})},unregisterLanguage:function(A){delete e[A];for(const e of Object.keys(t))t[e]===A&&delete t[e]},listLanguages:function(){return Object.keys(e)},getLanguage:h,registerAliases:M,autoDetection:w,inherit:Sn,addPlugin:function(A){!function(A){A["before:highlightBlock"]&&!A["before:highlightElement"]&&(A["before:highlightElement"]=e=>{A["before:highlightBlock"](Object.assign({block:e.el},e))}),A["after:highlightBlock"]&&!A["after:highlightElement"]&&(A["after:highlightElement"]=e=>{A["after:highlightBlock"](Object.assign({block:e.el},e))})}(A),n.push(A)},removePlugin:function(A){const e=n.indexOf(A);-1!==e&&n.splice(e,1)}}),A.debugMode=function(){i=!1},A.safeMode=function(){i=!0},A.versionString="11.8.0",A.regex={concat:Vt,lookahead:jt,either:Lt,optional:Pt,anyNumberOfTimes:Zt};for(const A in rn)"object"==typeof rn[A]&&St(rn[A]);return Object.assign(A,rn),A},bn=yn({});bn.newInstance=()=>yn({});var Hn=bn;bn.HighlightJS=bn,bn.default=bn;var Tn,zn,xn=(Tn=function(A){!function(){var e;function t(A){for(var e,t,n,i,B=1,E=[].slice.call(arguments),s=0,r=A.length,o="",c=!1,g=!1,Q=function(){return E[B++]},a=function(){for(var t="";/\d/.test(A[s]);)t+=A[s++],e=A[s];return t.length>0?parseInt(t):null};se?A+"_".repeat(e):this.options.classPrefix+A))},children:[]};this.stack[this.stack.length-1].children.push(e),this.stack.push(e)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const Vn={highlight:Zn,highlightAuto:function(A,e={}){const t=e.subset||Hn.listLanguages();let n=-1,i={type:"root",data:{language:null,relevance:0},children:[]};if("string"!=typeof A)throw pn("Expected `string` for value, got `%s`",A);for(;++ni.data.relevance&&(i=E)}return i},registerLanguage:function(A,e){Hn.registerLanguage(A,e)},registered:function(A){return Boolean(Hn.getLanguage(A))},listLanguages:function(){return Hn.listLanguages()},registerAlias:function(A,e){if("string"==typeof A)Hn.registerAliases(e,{languageName:A});else{let e;for(e in A)jn.call(A,e)&&Hn.registerAliases(A[e],{languageName:e})}}};Vn.registerLanguage("arduino",(function(A){const e={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},t=function(A){const e=A.regex,t=A.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",B="(?!struct)("+n+"|"+e.optional(i)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",E={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[A.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},A.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},r={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},o={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},A.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},t,A.C_BLOCK_COMMENT_MODE]},c={className:"title",begin:e.optional(i)+A.IDENT_RE,relevance:0},g=e.optional(i)+A.IDENT_RE+"\\s*\\(",Q={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},a={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,A.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},l=[a,o,E,t,A.C_BLOCK_COMMENT_MODE,r,s],h={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:Q,contains:l.concat([{begin:/\(/,end:/\)/,keywords:Q,contains:l.concat(["self"]),relevance:0}]),relevance:0};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:Q,illegal:".]/,contains:[{begin:n,keywords:Q,relevance:0},{begin:g,returnBegin:!0,contains:[c],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,r]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:Q,relevance:0,contains:[t,A.C_BLOCK_COMMENT_MODE,s,r,E,{begin:/\(/,end:/\)/,keywords:Q,relevance:0,contains:["self",t,A.C_BLOCK_COMMENT_MODE,s,r,E]}]},E,t,A.C_BLOCK_COMMENT_MODE,o]},a,l,[o,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",end:">",keywords:Q,contains:["self",E]},{begin:A.IDENT_RE+"::",keywords:Q},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}(A),n=t.keywords;return n.type=[...n.type,...e.type],n.literal=[...n.literal,...e.literal],n.built_in=[...n.built_in,...e.built_in],n._hints=e._hints,t.name="Arduino",t.aliases=["ino"],t.supersetOf="cpp",t})),Vn.registerLanguage("bash",(function(A){const e={},t={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[e]}]};Object.assign(e,{className:"variable",variants:[{begin:A.regex.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},t]});const n={className:"subst",begin:/\$\(/,end:/\)/,contains:[A.BACKSLASH_ESCAPE]},i={begin:/<<-?\s*(?=\w+)/,starts:{contains:[A.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},B={className:"string",begin:/"/,end:/"/,contains:[A.BACKSLASH_ESCAPE,e,n]};n.contains.push(B);const E={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},A.NUMBER_MODE,e]},s=A.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),r={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[A.inherit(A.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:["if","then","else","elif","fi","for","while","until","in","do","done","case","esac","function","select"],literal:["true","false"],built_in:["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset","alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","type","typeset","ulimit","unalias","set","shopt","autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp","chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"]},contains:[s,A.SHEBANG(),r,E,A.HASH_COMMENT_MODE,i,{match:/(\/[a-z._-]+)+/},B,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},e]}})),Vn.registerLanguage("c",(function(A){const e=A.regex,t=A.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",B="("+n+"|"+e.optional(i)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",E={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[A.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},A.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},r={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},o={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},A.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},t,A.C_BLOCK_COMMENT_MODE]},c={className:"title",begin:e.optional(i)+A.IDENT_RE,relevance:0},g=e.optional(i)+A.IDENT_RE+"\\s*\\(",Q={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal128","const","static","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},a=[o,E,t,A.C_BLOCK_COMMENT_MODE,r,s],l={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:Q,contains:a.concat([{begin:/\(/,end:/\)/,keywords:Q,contains:a.concat(["self"]),relevance:0}]),relevance:0},h={begin:"("+B+"[\\*&\\s]+)+"+g,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:Q,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:n,keywords:Q,relevance:0},{begin:g,returnBegin:!0,contains:[A.inherit(c,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:Q,relevance:0,contains:[t,A.C_BLOCK_COMMENT_MODE,s,r,E,{begin:/\(/,end:/\)/,keywords:Q,relevance:0,contains:["self",t,A.C_BLOCK_COMMENT_MODE,s,r,E]}]},E,t,A.C_BLOCK_COMMENT_MODE,o]};return{name:"C",aliases:["h"],keywords:Q,disableAutodetect:!0,illegal:"=]/,contains:[{beginKeywords:"final class struct"},A.TITLE_MODE]}]),exports:{preprocessor:o,strings:s,keywords:Q}}})),Vn.registerLanguage("cpp",(function(A){const e=A.regex,t=A.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),n="decltype\\(auto\\)",i="[a-zA-Z_]\\w*::",B="(?!struct)("+n+"|"+e.optional(i)+"[a-zA-Z_]\\w*"+e.optional("<[^<>]+>")+")",E={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},s={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[A.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'(\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)|.)",end:"'",illegal:"."},A.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},r={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},o={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},A.inherit(s,{className:"string"}),{className:"string",begin:/<.*?>/},t,A.C_BLOCK_COMMENT_MODE]},c={className:"title",begin:e.optional(i)+A.IDENT_RE,relevance:0},g=e.optional(i)+A.IDENT_RE+"\\s*\\(",Q={type:["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],keyword:["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"]},a={className:"function.dispatch",relevance:0,keywords:{_hint:["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"]},begin:e.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,A.IDENT_RE,e.lookahead(/(<[^<>]+>|)\s*\(/))},l=[a,o,E,t,A.C_BLOCK_COMMENT_MODE,r,s],h={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:Q,contains:l.concat([{begin:/\(/,end:/\)/,keywords:Q,contains:l.concat(["self"]),relevance:0}]),relevance:0};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:Q,illegal:".]/,contains:[{begin:n,keywords:Q,relevance:0},{begin:g,returnBegin:!0,contains:[c],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[s,r]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:Q,relevance:0,contains:[t,A.C_BLOCK_COMMENT_MODE,s,r,E,{begin:/\(/,end:/\)/,keywords:Q,relevance:0,contains:["self",t,A.C_BLOCK_COMMENT_MODE,s,r,E]}]},E,t,A.C_BLOCK_COMMENT_MODE,o]},a,l,[o,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function)\\s*<(?!<)",end:">",keywords:Q,contains:["self",E]},{begin:A.IDENT_RE+"::",keywords:Q},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}})),Vn.registerLanguage("csharp",(function(A){const e={keyword:["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"].concat(["add","alias","and","ascending","async","await","by","descending","equals","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","remove","select","set","unmanaged","value|0","var","when","where","with","yield"]),built_in:["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],literal:["default","false","null","true"]},t=A.inherit(A.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),n={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},i={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},B=A.inherit(i,{illegal:/\n/}),E={className:"subst",begin:/\{/,end:/\}/,keywords:e},s=A.inherit(E,{illegal:/\n/}),r={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},A.BACKSLASH_ESCAPE,s]},o={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},E]},c=A.inherit(o,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},s]});E.contains=[o,r,i,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,n,A.C_BLOCK_COMMENT_MODE],s.contains=[c,r,B,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,n,A.inherit(A.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const g={variants:[o,r,i,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},Q={begin:"<",end:">",contains:[{beginKeywords:"in out"},t]},a=A.IDENT_RE+"(<"+A.IDENT_RE+"(\\s*,\\s*"+A.IDENT_RE+")*>)?(\\[\\])?",l={begin:"@"+A.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:e,illegal:/::/,contains:[A.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"\x3c!--|--\x3e"},{begin:""}]}]}),A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},g,n,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},t,Q,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[t,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[t,Q,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+a+"\\s+)+"+A.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:e,contains:[{beginKeywords:["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"].join(" "),relevance:0},{begin:A.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[A.TITLE_MODE,Q],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:e,relevance:0,contains:[g,n,A.C_BLOCK_COMMENT_MODE]},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},l]}})),Vn.registerLanguage("css",(function(A){const e=A.regex,t=(A=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:A.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:A.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(A),n=[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[t.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},t.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Ce.join("|")+")"},{begin:":(:)?("+ke.join("|")+")"}]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+De.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[t.BLOCK_COMMENT,t.HEXCOLOR,t.IMPORTANT,t.CSS_NUMBER_MODE,...n,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...n,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},t.FUNCTION_DISPATCH]},{begin:e.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Ge.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...n,t.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+de.join("|")+")\\b"}]}})),Vn.registerLanguage("diff",(function(A){const e=A.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:e.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:e.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}})),Vn.registerLanguage("go",(function(A){const e={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:e,illegal:")?",/~~~/g,2),i={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},B={className:"meta",begin:"@"+t,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},E={className:"params",begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[A.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:i,illegal:/<\/|#/,contains:[A.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[A.BACKSLASH_ESCAPE]},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,t],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[e.concat(/(?!else)/,t),/\s+/,t,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,t],className:{1:"keyword",3:"title.class"},contains:[E,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+n+"\\s+)",A.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:i,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:i,relevance:0,contains:[B,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,fe,A.C_BLOCK_COMMENT_MODE]},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},fe,B]}})),Vn.registerLanguage("javascript",(function(A){const e=A.regex,t=Se,n={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(A,e)=>{const t=A[0].length+A.index,n=A.input[t];if("<"===n||","===n)return void e.ignoreMatch();let i;">"===n&&(((A,{after:e})=>{const t="",F={match:[/const|var|let/,/\s+/,t,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(Y)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[R]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:w,CLASS_REFERENCE:u},illegal:/#(?![$_A-z])/,contains:[A.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,c,g,Q,a,l,{match:/\$\d+/},r,u,{className:"attr",begin:t+e.lookahead(":"),relevance:0},F,{begin:"("+A.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[l,A.REGEXP_MODE,{className:"function",begin:Y,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:A.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:w}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:"<>",end:""},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:n.begin,"on:begin":n.isTrulyOpeningTag,end:n.end}],subLanguage:"xml",contains:[{begin:n.begin,end:n.end,skip:!0,contains:["self"]}]}]},d,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+A.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[R,A.inherit(A.TITLE_MODE,{begin:t,className:"title.function"})]},{match:/\.\.\./,relevance:0},k,{match:"\\$"+t,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[R]},G,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},I,D,{match:/\$[(.]/}]}})),Vn.registerLanguage("json",(function(A){const e=["true","false","null"],t={scope:"literal",beginKeywords:e.join(" ")};return{name:"JSON",keywords:{literal:e},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},A.QUOTE_STRING_MODE,t,A.C_NUMBER_MODE,A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE],illegal:"\\S"}})),Vn.registerLanguage("kotlin",(function(A){const e={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},t={className:"symbol",begin:A.UNDERSCORE_IDENT_RE+"@"},n={className:"subst",begin:/\$\{/,end:/\}/,contains:[A.C_NUMBER_MODE]},i={className:"variable",begin:"\\$"+A.UNDERSCORE_IDENT_RE},B={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[i,n]},{begin:"'",end:"'",illegal:/\n/,contains:[A.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[A.BACKSLASH_ESCAPE,i,n]}]};n.contains.push(B);const E={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+A.UNDERSCORE_IDENT_RE+")?"},s={className:"meta",begin:"@"+A.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[A.inherit(B,{className:"string"}),"self"]}]},r=Ze,o=A.COMMENT("/\\*","\\*/",{contains:[A.C_BLOCK_COMMENT_MODE]}),c={variants:[{className:"type",begin:A.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},g=c;return g.variants[1].contains=[c],c.variants[1].contains=[g],{name:"Kotlin",aliases:["kt","kts"],keywords:e,contains:[A.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),A.C_LINE_COMMENT_MODE,o,{className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},t,E,s,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:e,relevance:5,contains:[{begin:A.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[A.UNDERSCORE_TITLE_MODE]},{className:"type",begin://,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:e,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[c,A.C_LINE_COMMENT_MODE,o],relevance:0},A.C_LINE_COMMENT_MODE,o,E,s,B,A.C_NUMBER_MODE]},o]},{begin:[/class|interface|trait/,/\s+/,A.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},A.UNDERSCORE_TITLE_MODE,{className:"type",begin://,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},E,s]},B,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:"\n"},r]}})),Vn.registerLanguage("less",(function(A){const e=(A=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:A.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:A.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(A),t=_e,n="[\\w-]+",i="("+n+"|@\\{"+n+"\\})",B=[],E=[],s=function(A){return{className:"string",begin:"~?"+A+".*?"+A}},r=function(A,e,t){return{className:A,begin:e,relevance:t}},o={$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Ve.join(" ")},c={begin:"\\(",end:"\\)",contains:E,keywords:o,relevance:0};E.push(A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,s("'"),s('"'),e.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},e.HEXCOLOR,c,r("variable","@@?"+n,10),r("variable","@\\{"+n+"\\}"),r("built_in","~?`[^`]*?`"),{className:"attribute",begin:n+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},e.IMPORTANT,{beginKeywords:"and not"},e.FUNCTION_DISPATCH);const g=E.concat({begin:/\{/,end:/\}/,contains:B}),Q={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(E)},a={begin:i+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Oe.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:E}}]},l={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:o,returnEnd:!0,contains:E,relevance:0}},h={className:"variable",variants:[{begin:"@"+n+"\\s*:",relevance:15},{begin:"@"+n}],starts:{end:"[;}]",returnEnd:!0,contains:g}},M={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:i,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:"[<='$\"]",relevance:0,contains:[A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,Q,r("keyword","all\\b"),r("variable","@\\{"+n+"\\}"),{begin:"\\b("+Pe.join("|")+")\\b",className:"selector-tag"},e.CSS_NUMBER_MODE,r("selector-tag",i,0),r("selector-id","#"+i),r("selector-class","\\."+i,0),r("selector-tag","&",0),e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+Le.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+ve.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:g},{begin:"!important"},e.FUNCTION_DISPATCH]},w={begin:n+":(:)?"+`(${t.join("|")})`,returnBegin:!0,contains:[M]};return B.push(A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,l,h,w,a,M,Q,e.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:"[=>'/<($\"]",contains:B}})),Vn.registerLanguage("lua",(function(A){const e="\\[=*\\[",t="\\]=*\\]",n={begin:e,end:t,contains:["self"]},i=[A.COMMENT("--(?!"+e+")","$"),A.COMMENT("--"+e,t,{contains:[n],relevance:10})];return{name:"Lua",keywords:{$pattern:A.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:i.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[A.inherit(A.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:i}].concat(i)},A.C_NUMBER_MODE,A.APOS_STRING_MODE,A.QUOTE_STRING_MODE,{className:"string",begin:e,end:t,contains:[n],relevance:5}])}})),Vn.registerLanguage("makefile",(function(A){const e={className:"variable",variants:[{begin:"\\$\\("+A.UNDERSCORE_IDENT_RE+"\\)",contains:[A.BACKSLASH_ESCAPE]},{begin:/\$[@%",subLanguage:"xml",relevance:0},t={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:A.regex.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},n={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},i={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},B=A.inherit(n,{contains:[]}),E=A.inherit(i,{contains:[]});n.contains.push(E),i.contains.push(B);let s=[e,t];return[n,i,B,E].forEach((A=>{A.contains=A.contains.concat(s)})),s=s.concat(n,i),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:s},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:s}]}]},e,{className:"bullet",begin:"^[ \t]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},n,i,{className:"quote",begin:"^>\\s+",contains:s,end:"$"},{className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},{begin:"^[-\\*]{3,}",end:"$"},t,{begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]}]}})),Vn.registerLanguage("objectivec",(function(A){const e=/[a-zA-Z@][a-zA-Z0-9_]*/,t={$pattern:e,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:{"variable.language":["this","super"],$pattern:e,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},illegal:"/,end:/$/,illegal:"\\n"},A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+t.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:t,contains:[A.UNDERSCORE_TITLE_MODE]},{begin:"\\."+A.UNDERSCORE_IDENT_RE,relevance:0}]}})),Vn.registerLanguage("perl",(function(A){const e=A.regex,t=/[dualxmsipngr]{0,12}/,n={$pattern:/[\w.]+/,keyword:["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"].join(" ")},i={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:n},B={begin:/->\{/,end:/\}/},E={variants:[{begin:/\$\d/},{begin:e.concat(/[$%@](\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@][^\s\w{]/,relevance:0}]},s=[A.BACKSLASH_ESCAPE,i,E],r=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],o=(A,n,i="\\1")=>{const B="\\1"===i?i:e.concat(i,n);return e.concat(e.concat("(?:",A,")"),n,/(?:\\.|[^\\\/])*?/,B,/(?:\\.|[^\\\/])*?/,i,t)},c=(A,n,i)=>e.concat(e.concat("(?:",A,")"),n,/(?:\\.|[^\\\/])*?/,i,t),g=[E,A.HASH_COMMENT_MODE,A.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),B,{className:"string",contains:s,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[A.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[A.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},{className:"number",begin:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",relevance:0},{begin:"(\\/\\/|"+A.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[A.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:o("s|tr|y",e.either(...r,{capture:!0}))},{begin:o("s|tr|y","\\(","\\)")},{begin:o("s|tr|y","\\[","\\]")},{begin:o("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:c("(?:m|qr)?",/\//,/\//)},{begin:c("m|qr",e.either(...r,{capture:!0}),/\1/)},{begin:c("m|qr",/\(/,/\)/)},{begin:c("m|qr",/\[/,/\]/)},{begin:c("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[A.TITLE_MODE]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return i.contains=g,B.contains=g,{name:"Perl",aliases:["pl","pm"],keywords:n,contains:g}})),Vn.registerLanguage("php",(function(A){const e=A.regex,t=/(?![A-Za-z0-9])(?![$])/,n=e.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,t),i=e.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,t),B={scope:"variable",match:"\\$+"+n},E={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},s=A.inherit(A.APOS_STRING_MODE,{illegal:null}),r="[ \t\n]",o={scope:"string",variants:[A.inherit(A.QUOTE_STRING_MODE,{illegal:null,contains:A.QUOTE_STRING_MODE.contains.concat(E)}),s,{begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:A.QUOTE_STRING_MODE.contains.concat(E),"on:begin":(A,e)=>{e.data._beginMatch=A[1]||A[2]},"on:end":(A,e)=>{e.data._beginMatch!==A[1]&&e.ignoreMatch()}},A.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},c={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},g=["false","null","true"],Q=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],a=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],l={keyword:Q,literal:(A=>{const e=[];return A.forEach((A=>{e.push(A),A.toLowerCase()===A?e.push(A.toUpperCase()):e.push(A.toLowerCase())})),e})(g),built_in:a},h=A=>A.map((A=>A.replace(/\|\d+$/,""))),M={variants:[{match:[/new/,e.concat(r,"+"),e.concat("(?!",h(a).join("\\b|"),"\\b)"),i],scope:{1:"keyword",4:"title.class"}}]},w=e.concat(n,"\\b(?!\\()"),R={variants:[{match:[e.concat(/::/,e.lookahead(/(?!class\b)/)),w],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[i,e.concat(/::/,e.lookahead(/(?!class\b)/)),w],scope:{1:"title.class",3:"variable.constant"}},{match:[i,e.concat("::",e.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[i,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},I={scope:"attr",match:e.concat(n,e.lookahead(":"),e.lookahead(/(?!::)/))},u={relevance:0,begin:/\(/,end:/\)/,keywords:l,contains:[I,B,R,A.C_BLOCK_COMMENT_MODE,o,c,M]},d={relevance:0,match:[/\b/,e.concat("(?!fn\\b|function\\b|",h(Q).join("\\b|"),"|",h(a).join("\\b|"),"\\b)"),n,e.concat(r,"*"),e.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[u]};u.contains.push(d);const G=[I,R,A.C_BLOCK_COMMENT_MODE,o,c,M];return{case_insensitive:!1,keywords:l,contains:[{begin:e.concat(/#\[\s*/,i),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:g,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:g,keyword:["new","array"]},contains:["self",...G]},...G,{scope:"meta",match:i}]},A.HASH_COMMENT_MODE,A.COMMENT("//","$"),A.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:A.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},B,d,R,{match:[/const/,/\s/,n],scope:{1:"keyword",3:"variable.constant"}},M,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},A.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:l,contains:["self",B,R,A.C_BLOCK_COMMENT_MODE,o,c]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},A.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[A.inherit(A.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},A.UNDERSCORE_TITLE_MODE]},o,c]}})),Vn.registerLanguage("php-template",(function(A){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},A.inherit(A.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),A.inherit(A.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}})),Vn.registerLanguage("plaintext",(function(){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}})),Vn.registerLanguage("python",(function(A){const e=A.regex,t=/[\p{XID_Start}_]\p{XID_Continue}*/u,n=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:n,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},B={className:"meta",begin:/^(>>>|\.\.\.) /},E={className:"subst",begin:/\{/,end:/\}/,keywords:i,illegal:/#/},s={begin:/\{\{/,relevance:0},r={className:"string",contains:[A.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[A.BACKSLASH_ESCAPE,B],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[A.BACKSLASH_ESCAPE,B],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[A.BACKSLASH_ESCAPE,B,s,E]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[A.BACKSLASH_ESCAPE,B,s,E]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[A.BACKSLASH_ESCAPE,s,E]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[A.BACKSLASH_ESCAPE,s,E]},A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},o="[0-9](_?[0-9])*",c=`(\\b(${o}))?\\.(${o})|\\b(${o})\\.`,g=`\\b|${n.join("|")}`,Q={className:"number",relevance:0,variants:[{begin:`(\\b(${o})|(${c}))[eE][+-]?(${o})[jJ]?(?=${g})`},{begin:`(${c})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${g})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${g})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${g})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${g})`},{begin:`\\b(${o})[jJ](?=${g})`}]},a={className:"comment",begin:e.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},l={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:["self",B,Q,r,A.HASH_COMMENT_MODE]}]};return E.contains=[r,Q,B],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:i,illegal:/(<\/|\?)|=>/,contains:[B,Q,{begin:/\bself\b/},{beginKeywords:"if",relevance:0},r,a,A.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[l]},{variants:[{match:[/\bclass/,/\s+/,t,/\s*/,/\(\s*/,t,/\s*\)/]},{match:[/\bclass/,/\s+/,t]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[Q,l,r]}]}})),Vn.registerLanguage("python-repl",(function(){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}})),Vn.registerLanguage("r",(function(A){const e=A.regex,t=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,n=e.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),i=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,B=e.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:t,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[A.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:e.lookahead(e.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:t},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),A.HASH_COMMENT_MODE,{scope:"string",contains:[A.BACKSLASH_ESCAPE],variants:[A.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),A.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),A.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),A.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),A.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),A.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[i,n]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,n]},{scope:{1:"punctuation",2:"number"},match:[B,n]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,n]}]},{scope:{3:"operator"},match:[t,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:i},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:B},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}})),Vn.registerLanguage("ruby",(function(A){const e=A.regex,t="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",n=e.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),i=e.concat(n,/(::\w+)*/),B={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield","include","extend","prepend","public","private","protected","raise","throw"],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},E={className:"doctag",begin:"@[A-Za-z]+"},s={begin:"#<",end:">"},r=[A.COMMENT("#","$",{contains:[E]}),A.COMMENT("^=begin","^=end",{contains:[E],relevance:10}),A.COMMENT("^__END__",A.MATCH_NOTHING_RE)],o={className:"subst",begin:/#\{/,end:/\}/,keywords:B},c={className:"string",contains:[A.BACKSLASH_ESCAPE,o],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:e.concat(/<<[-~]?'?/,e.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[A.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[A.BACKSLASH_ESCAPE,o]})]}]},g="[0-9](_?[0-9])*",Q={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:B}]},a=[c,{variants:[{match:[/class\s+/,i,/\s+<\s+/,i]},{match:[/\b(class|module)\s+/,i]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:B},{match:[/(include|extend)\s+/,i],scope:{2:"title.class"},keywords:B},{relevance:0,match:[i,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:n,scope:"title.class"},{match:[/def/,/\s+/,t],scope:{1:"keyword",3:"title.function"},contains:[Q]},{begin:A.IDENT_RE+"::"},{className:"symbol",begin:A.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[c,{begin:t}],relevance:0},{className:"number",relevance:0,variants:[{begin:`\\b([1-9](_?[0-9])*|0)(\\.(${g}))?([eE][+-]?(${g})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:B},{begin:"("+A.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[A.BACKSLASH_ESCAPE,o],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(s,r),relevance:0}].concat(s,r);o.contains=a,Q.contains=a;const l=[{begin:/^\s*=>/,starts:{end:"$",contains:a}},{className:"meta.prompt",begin:"^([>?]>|[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]|(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>)(?=[ ])",starts:{end:"$",keywords:B,contains:a}}];return r.unshift(s),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:B,illegal:/\/\*/,contains:[A.SHEBANG({binary:"ruby"})].concat(l).concat(r).concat(a)}})),Vn.registerLanguage("rust",(function(A){const e=A.regex,t={className:"title.function.invoke",relevance:0,begin:e.concat(/\b/,/(?!let\b)/,A.IDENT_RE,e.lookahead(/\s*\(/))},n="([ui](8|16|32|64|128|size)|f(32|64))?",i=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],B=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:A.IDENT_RE+"!?",type:B,keyword:["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","unsafe","unsized","use","virtual","where","while","yield"],literal:["true","false","Some","None","Ok","Err"],built_in:i},illegal:""},t]}})),Vn.registerLanguage("scss",(function(A){const e=(A=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:A.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[A.APOS_STRING_MODE,A.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:A.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z][A-Za-z0-9_-]*/}}))(A),t=qe,n=We,i="@[a-z-]+",B={className:"variable",begin:"(\\$[a-zA-Z-][a-zA-Z0-9_-]*)\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[A.C_LINE_COMMENT_MODE,A.C_BLOCK_COMMENT_MODE,e.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},e.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+Ke.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+n.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+t.join("|")+")"},B,{begin:/\(/,end:/\)/,contains:[e.CSS_NUMBER_MODE]},e.CSS_VARIABLE,{className:"attribute",begin:"\\b("+$e.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[e.BLOCK_COMMENT,B,e.HEXCOLOR,e.CSS_NUMBER_MODE,A.QUOTE_STRING_MODE,A.APOS_STRING_MODE,e.IMPORTANT,e.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:i,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:Xe.join(" ")},contains:[{begin:i,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},B,A.QUOTE_STRING_MODE,A.APOS_STRING_MODE,e.HEXCOLOR,e.CSS_NUMBER_MODE]},e.FUNCTION_DISPATCH]}})),Vn.registerLanguage("shell",(function(){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}})),Vn.registerLanguage("sql",(function(A){const e=A.regex,t=A.COMMENT("--","$"),n=["true","false","unknown"],i=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],B=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],E=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],s=B,r=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year","add","asc","collation","desc","final","first","last","view"].filter((A=>!B.includes(A))),o={begin:e.concat(/\b/,e.either(...s),/\s*\(/),relevance:0,keywords:{built_in:s}};return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:function(A,{exceptions:e,when:t}={}){const n=t;return e=e||[],A.map((A=>A.match(/\|\d+$/)||e.includes(A)?A:n(A)?`${A}|0`:A))}(r,{when:A=>A.length<3}),literal:n,type:i,built_in:["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"]},contains:[{begin:e.either(...E),relevance:0,keywords:{$pattern:/[\w\.]+/,keyword:r.concat(E),literal:n,type:i}},{className:"type",begin:e.either("double precision","large object","with timezone","without timezone")},o,{className:"variable",begin:/@[a-z0-9][a-z0-9_]*/},{className:"string",variants:[{begin:/'/,end:/'/,contains:[{begin:/''/}]}]},{begin:/"/,end:/"/,contains:[{begin:/""/}]},A.C_NUMBER_MODE,A.C_BLOCK_COMMENT_MODE,t,{className:"operator",begin:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0}]}})),Vn.registerLanguage("swift",(function(A){const e={match:/\s+/,relevance:0},t=A.COMMENT("/\\*","\\*/",{contains:["self"]}),n=[A.C_LINE_COMMENT_MODE,t],i={match:[/\./,nt(...Bt,...Et)],className:{2:"keyword"}},B={match:tt(/\./,nt(...rt)),relevance:0},E=rt.filter((A=>"string"==typeof A)).concat(["_|0"]),s={variants:[{className:"keyword",match:nt(...rt.filter((A=>"string"!=typeof A)).concat(st).map(it),...Et)}]},r={$pattern:nt(/\b\w+/,/#\w+/),keyword:E.concat(gt),literal:ot},o=[i,B,s],c=[{match:tt(/\./,nt(...Qt)),relevance:0},{className:"built_in",match:tt(/\b/,nt(...Qt),/(?=\()/)}],g={match:/->/,relevance:0},Q=[g,{className:"operator",relevance:0,variants:[{match:ht},{match:`\\.(\\.|${lt})+`}]}],a="([0-9]_*)+",l="([0-9a-fA-F]_*)+",h={className:"number",relevance:0,variants:[{match:`\\b(${a})(\\.(${a}))?([eE][+-]?(${a}))?\\b`},{match:`\\b0x(${l})(\\.(${l}))?([pP][+-]?(${a}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},M=(A="")=>({className:"subst",variants:[{match:tt(/\\/,A,/[0\\tnr"']/)},{match:tt(/\\/,A,/u\{[0-9a-fA-F]{1,8}\}/)}]}),w=(A="")=>({className:"subst",match:tt(/\\/,A,/[\t ]*(?:[\r\n]|\r\n)/)}),R=(A="")=>({className:"subst",label:"interpol",begin:tt(/\\/,A,/\(/),end:/\)/}),I=(A="")=>({begin:tt(A,/"""/),end:tt(/"""/,A),contains:[M(A),w(A),R(A)]}),u=(A="")=>({begin:tt(A,/"/),end:tt(/"/,A),contains:[M(A),R(A)]}),d={className:"string",variants:[I(),I("#"),I("##"),I("###"),u(),u("#"),u("##"),u("###")]},G={match:tt(/`/,Rt,/`/)},C=[G,{className:"variable",match:/\$\d+/},{className:"variable",match:`\\$${wt}+`}],k=[{match:/(@|#(un)?)available/,className:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:dt,contains:[...Q,h,d]}]}},{className:"keyword",match:tt(/@/,nt(...ut))},{className:"meta",match:tt(/@/,Rt)}],D={match:et(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:tt(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,wt,"+")},{className:"type",match:It,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:tt(/\s+&\s+/,et(It)),relevance:0}]},Y={begin://,keywords:r,contains:[...n,...o,...k,g,D]};D.contains.push(Y);const F={begin:/\(/,end:/\)/,relevance:0,keywords:r,contains:["self",{match:tt(Rt,/\s*:/),keywords:"_|0",relevance:0},...n,...o,...c,...Q,h,d,...C,...k,D]},U={begin://,contains:[...n,D]},f={begin:/\(/,end:/\)/,keywords:r,contains:[{begin:nt(et(tt(Rt,/\s*:/)),et(tt(Rt,/\s+/,Rt,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Rt}]},...n,...o,...Q,h,d,...k,D,F],endsParent:!0,illegal:/["']/},N={match:[/func/,/\s+/,nt(G.match,Rt,ht)],className:{1:"keyword",3:"title.function"},contains:[U,f,e],illegal:[/\[/,/%/]},S={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[U,f,e],illegal:/\[|%/},m={match:[/operator/,/\s+/,ht],className:{1:"keyword",3:"title"}},y={begin:[/precedencegroup/,/\s+/,It],className:{1:"keyword",3:"title"},contains:[D],keywords:[...ct,...ot],end:/}/};for(const A of d.variants){const e=A.contains.find((A=>"interpol"===A.label));e.keywords=r;const t=[...o,...c,...Q,h,d,...C];e.contains=[...t,{begin:/\(/,end:/\)/,contains:["self",...t]}]}return{name:"Swift",keywords:r,contains:[...n,N,S,{beginKeywords:"struct protocol class extension enum actor",end:"\\{",excludeEnd:!0,keywords:r,contains:[A.inherit(A.TITLE_MODE,{className:"title.class",begin:/[A-Za-z$_][\u00C0-\u02B80-9A-Za-z$_]*/}),...o]},m,y,{beginKeywords:"import",end:/$/,contains:[...n],relevance:0},...o,...c,...Q,h,d,...C,...k,D,F]}})),Vn.registerLanguage("typescript",(function(A){const e=Nt(A),t=Gt,n=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],i={beginKeywords:"namespace",end:/\{/,excludeEnd:!0,contains:[e.exports.CLASS_REFERENCE]},B={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:n},contains:[e.exports.CLASS_REFERENCE]},E={$pattern:Gt,keyword:Ct.concat(["type","namespace","interface","public","private","protected","implements","declare","abstract","readonly","enum","override"]),literal:kt,built_in:ft.concat(n),"variable.language":Ut},s={className:"meta",begin:"@"+t},r=(A,e,t)=>{const n=A.contains.findIndex((A=>A.label===e));if(-1===n)throw new Error("can not find mode to replace");A.contains.splice(n,1,t)};return Object.assign(e.keywords,E),e.exports.PARAMS_CONTAINS.push(s),e.contains=e.contains.concat([s,i,B]),r(e,"shebang",A.SHEBANG()),r(e,"use_strict",{className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/}),e.contains.find((A=>"func.def"===A.label)).relevance=0,Object.assign(e,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),e})),Vn.registerLanguage("vbnet",(function(A){const e=A.regex,t=/\d{1,2}\/\d{1,2}\/\d{4}/,n=/\d{4}-\d{1,2}-\d{1,2}/,i=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,B=/\d{1,2}(:\d{1,2}){1,2}/,E={className:"literal",variants:[{begin:e.concat(/# */,e.either(n,t),/ *#/)},{begin:e.concat(/# */,B,/ *#/)},{begin:e.concat(/# */,i,/ *#/)},{begin:e.concat(/# */,e.either(n,t),/ +/,e.either(i,B),/ *#/)}]},s=A.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),r=A.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[{className:"string",begin:/"(""|[^/n])"C\b/},{className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},E,{className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},{className:"label",begin:/^\w+:/},s,r,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[r]}]}})),Vn.registerLanguage("wasm",(function(A){const e=A.COMMENT(/\(;/,/;\)/);return e.contains.push("self"),{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"]},contains:[A.COMMENT(/;;/,/$/),e,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},{className:"variable",begin:/\$[\w_]+/},{match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},{begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},A.QUOTE_STRING_MODE,{match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},{className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/},{className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/}]}})),Vn.registerLanguage("xml",(function(A){const e=A.regex,t=e.concat(/[\p{L}_]/u,e.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},B=A.inherit(i,{begin:/\(/,end:/\)/}),E=A.inherit(A.APOS_STRING_MODE,{className:"string"}),s=A.inherit(A.QUOTE_STRING_MODE,{className:"string"}),r={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[i,s,E,B,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[i,B,s,E]}]}]},A.COMMENT(//,{relevance:10}),{begin://,relevance:10},n,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[s]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[r],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[r],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:e.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:r}]},{className:"tag",begin:e.concat(/<\//,e.lookahead(e.concat(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}})),Vn.registerLanguage("yaml",(function(A){const e="true false yes no null",t="[\\w#;/?:@&=+$,.~*'()[\\]]+",n={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[A.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},i=A.inherit(n,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),B={end:",",endsWithParent:!0,excludeEnd:!0,keywords:e,relevance:0},E=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+t},{className:"type",begin:"!<"+t+">"},{className:"type",begin:"!"+t},{className:"type",begin:"!!"+t},{className:"meta",begin:"&"+A.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+A.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},A.HASH_COMMENT_MODE,{beginKeywords:e,keywords:{literal:e}},{className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},{className:"number",begin:A.C_NUMBER_RE+"\\b",relevance:0},{begin:/\{/,end:/\}/,contains:[B],illegal:"\\n",relevance:0},{begin:"\\[",end:"\\]",contains:[B],illegal:"\\n",relevance:0},n],s=[...E];return s.pop(),s.push(i),B.contains=s,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:E}}));const Ln=Object.freeze({__proto__:null,lowlight:Vn}),vn=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,On=R.create({name:"image",addOptions:()=>({inline:!1,allowBase64:!1,HTMLAttributes:{}}),inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes:()=>({src:{default:null},alt:{default:null},title:{default:null}}),parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:A}){return["img",l(this.options.HTMLAttributes,A)]},addCommands(){return{setImage:A=>({commands:e})=>e.insertContent({type:this.name,attrs:A})}},addInputRules(){return[F({find:vn,type:this.type,getAttributes:A=>{const[,,e,t,n]=A;return{src:t,alt:e,title:n}}})]}}),_n="aaa1rp3barth4b0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0faromeo7ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4vianca6w0s2x0a2z0ure5ba0by2idu3namex3narepublic11d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2ntley5rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re2s2c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y0eats7k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0cast4mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking0channel11l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dabur3d1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3nlop4pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t0isalat7u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0at2delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d0network8tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntdoor4ier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2o0dyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0ardian6cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5gtv3iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0eles2s3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6logistics9properties14fh2g1h1i0a1ds2m1nder2le4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3ncaster5ia3d0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4de2k2psy3ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0cys3drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7serati6ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rckmsd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic3tual5v1w1x1y1z2na0b1goya4me2tura4vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rthwesternmutual14on4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9dnavy5lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3ssagens7y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0america6xi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0stone5umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cher3ks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0a1b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp2w2ell3ia1ksha5oes2p0ping5uji3w0time7i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ffany5ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0channel7ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lkswagen7vo3te1ing3o2yage5u0elos6wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2olterskluwer11odside6rk0s2ld3w2s1tc1f3xbox3erox4finity6ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",Kn="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5تصالات6رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",Xn=(A,e)=>{for(const t in e)A[t]=e[t];return A},Wn="numeric",qn="ascii",$n="alpha",Ai="asciinumeric",ei="alphanumeric",ti="domain",ni="emoji",ii="scheme",Bi="slashscheme",Ei="whitespace";function si(A,e){return A in e||(e[A]=[]),e[A]}function ri(A,e,t){e[Wn]&&(e[Ai]=!0,e[ei]=!0),e[qn]&&(e[Ai]=!0,e[$n]=!0),e[Ai]&&(e[ei]=!0),e[$n]&&(e[ei]=!0),e[ei]&&(e[ti]=!0),e[ni]&&(e[ti]=!0);for(const n in e){const e=si(n,t);e.indexOf(A)<0&&e.push(A)}}function oi(A){void 0===A&&(A=null),this.j={},this.jr=[],this.jd=null,this.t=A}oi.groups={},oi.prototype={accepts(){return!!this.t},go(A){const e=this,t=e.j[A];if(t)return t;for(let t=0;t=0&&(t[n]=!0);return t}(E.t,n),t);ri(B,A,n)}else t&&ri(B,t,n);E.t=B}return i.j[A]=E,E}};const ci=(A,e,t,n,i)=>A.ta(e,t,n,i),gi=(A,e,t,n,i)=>A.tr(e,t,n,i),Qi=(A,e,t,n,i)=>A.ts(e,t,n,i),ai=(A,e,t,n,i)=>A.tt(e,t,n,i),li="WORD",hi="UWORD",Mi="LOCALHOST",wi="TLD",Ri="UTLD",Ii="SCHEME",ui="SLASH_SCHEME",di="NUM",Gi="WS",Ci="NL",ki="OPENBRACE",Di="OPENBRACKET",Yi="OPENANGLEBRACKET",Fi="OPENPAREN",Ui="CLOSEBRACE",fi="CLOSEBRACKET",Ni="CLOSEANGLEBRACKET",Si="CLOSEPAREN",mi="AMPERSAND",yi="APOSTROPHE",bi="ASTERISK",Hi="AT",Ti="BACKSLASH",zi="BACKTICK",xi="CARET",pi="COLON",Ji="COMMA",ji="DOLLAR",Zi="DOT",Pi="EQUALS",Vi="EXCLAMATION",Li="HYPHEN",vi="PERCENT",Oi="PIPE",_i="PLUS",Ki="POUND",Xi="QUERY",Wi="QUOTE",qi="SEMI",$i="SLASH",AB="TILDE",eB="UNDERSCORE",tB="EMOJI",nB="SYM";var iB=Object.freeze({__proto__:null,WORD:li,UWORD:hi,LOCALHOST:Mi,TLD:wi,UTLD:Ri,SCHEME:Ii,SLASH_SCHEME:ui,NUM:di,WS:Gi,NL:Ci,OPENBRACE:ki,OPENBRACKET:Di,OPENANGLEBRACKET:Yi,OPENPAREN:Fi,CLOSEBRACE:Ui,CLOSEBRACKET:fi,CLOSEANGLEBRACKET:Ni,CLOSEPAREN:Si,AMPERSAND:mi,APOSTROPHE:yi,ASTERISK:bi,AT:Hi,BACKSLASH:Ti,BACKTICK:zi,CARET:xi,COLON:pi,COMMA:Ji,DOLLAR:ji,DOT:Zi,EQUALS:Pi,EXCLAMATION:Vi,HYPHEN:Li,PERCENT:vi,PIPE:Oi,PLUS:_i,POUND:Ki,QUERY:Xi,QUOTE:Wi,SEMI:qi,SLASH:$i,TILDE:AB,UNDERSCORE:eB,EMOJI:tB,SYM:nB});const BB=/[a-z]/,EB=/\p{L}/u,sB=/\p{Emoji}/u,rB=/\d/,oB=/\s/,cB="\n",gB="️",QB="‍";let aB=null,lB=null;function hB(A,e,t,n,i){let B;const E=e.length;for(let t=0;t=0;)i++;if(i>0){e.push(t.join(""));for(let e=parseInt(A.substring(n,n+i),10);e>0;e--)t.pop();n+=i}else t.push(A[n]),n++}return e}const wB={defaultProtocol:"http",events:null,format:IB,formatHref:IB,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function RB(A,e){void 0===e&&(e=null);let t=Xn({},wB);A&&(t=Xn(t,A instanceof RB?A.o:A));const n=t.ignoreTags,i=[];for(let A=0;AA,check(A){return this.get("validate",A.toString(),A)},get(A,e,t){const n=null!=e;let i=this.o[A];return i?("object"==typeof i?(i=t.t in i?i[t.t]:wB[A],"function"==typeof i&&n&&(i=i(e,t))):"function"==typeof i&&n&&(i=i(e,t.t,t)),i):i},getObj(A,e,t){let n=this.o[A];return"function"==typeof n&&null!=e&&(n=n(e,t.t,t)),n},render(A){const e=A.render(this);return(this.get("render",null,A)||this.defaultRender)(e,A.t,A)}},uB.prototype={isLink:!1,toString(){return this.v},toHref(A){return this.toString()},toFormattedString(A){const e=this.toString(),t=A.get("truncate",e,this),n=A.get("format",e,this);return t&&n.length>t?n.substring(0,t)+"…":n},toFormattedHref(A){return A.get("formatHref",this.toHref(A.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(A){return void 0===A&&(A=wB.defaultProtocol),{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(A),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(A){return{type:this.t,value:this.toFormattedString(A),isLink:this.isLink,href:this.toFormattedHref(A),start:this.startIndex(),end:this.endIndex()}},validate(A){return A.get("validate",this.toString(),this)},render(A){const e=this,t=this.toHref(A.get("defaultProtocol")),n=A.get("formatHref",t,this),i=A.get("tagName",t,e),B=this.toFormattedString(A),E={},s=A.get("className",t,e),r=A.get("target",t,e),o=A.get("rel",t,e),c=A.getObj("attributes",t,e),g=A.getObj("events",t,e);return E.href=n,s&&(E.class=s),r&&(E.target=r),o&&(E.rel=o),c&&Xn(E,c),{tagName:i,attributes:E,content:B,eventListeners:g}}};const GB=dB("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),CB=dB("text"),kB=dB("nl"),DB=dB("url",{isLink:!0,toHref(A){return void 0===A&&(A=wB.defaultProtocol),this.hasProtocol()?this.v:`${A}://${this.v}`},hasProtocol(){const A=this.tk;return A.length>=2&&A[0].t!==Mi&&A[1].t===pi}}),YB=A=>new oi(A);function FB(A,e,t){return new A(e.slice(t[0].s,t[t.length-1].e),t)}const UB="undefined"!=typeof console&&console&&console.warn||(()=>{}),fB={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function NB(A,e){if(void 0===e&&(e=!1),fB.initialized&&UB(`linkifyjs: already initialized - will not register custom scheme "${A}" until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(A))throw new Error('linkifyjs: incorrect scheme format.\n 1. Must only contain digits, lowercase ASCII letters or "-"\n 2. Cannot start or end with "-"\n 3. "-" cannot repeat');fB.customSchemes.push([A,e])}function SB(A){return fB.initialized||function(){fB.scanner=function(A){void 0===A&&(A=[]);const e={};oi.groups=e;const t=new oi;null==aB&&(aB=MB(_n)),null==lB&&(lB=MB(Kn)),ai(t,"'",yi),ai(t,"{",ki),ai(t,"[",Di),ai(t,"<",Yi),ai(t,"(",Fi),ai(t,"}",Ui),ai(t,"]",fi),ai(t,">",Ni),ai(t,")",Si),ai(t,"&",mi),ai(t,"*",bi),ai(t,"@",Hi),ai(t,"`",zi),ai(t,"^",xi),ai(t,":",pi),ai(t,",",Ji),ai(t,"$",ji),ai(t,".",Zi),ai(t,"=",Pi),ai(t,"!",Vi),ai(t,"-",Li),ai(t,"%",vi),ai(t,"|",Oi),ai(t,"+",_i),ai(t,"#",Ki),ai(t,"?",Xi),ai(t,'"',Wi),ai(t,"/",$i),ai(t,";",qi),ai(t,"~",AB),ai(t,"_",eB),ai(t,"\\",Ti);const n=gi(t,rB,di,{[Wn]:!0});gi(n,rB,n);const i=gi(t,BB,li,{[qn]:!0});gi(i,BB,i);const B=gi(t,EB,hi,{[$n]:!0});gi(B,BB),gi(B,EB,B);const E=gi(t,oB,Gi,{[Ei]:!0});ai(t,cB,Ci,{[Ei]:!0}),ai(E,cB),gi(E,oB,E);const s=gi(t,sB,tB,{[ni]:!0});gi(s,sB,s),ai(s,gB,s);const r=ai(s,QB);gi(r,sB,s);const o=[[BB,i]],c=[[BB,null],[EB,B]];for(let A=0;AA[0]>e[0]?1:-1));for(let e=0;e=0?i[ti]=!0:BB.test(n)?rB.test(n)?i[Ai]=!0:i[qn]=!0:i[Wn]=!0,Qi(t,n,n,i)}return Qi(t,"localhost",Mi,{ascii:!0}),t.jd=new oi(nB),{start:t,tokens:Xn({groups:e},iB)}}(fB.customSchemes);for(let A=0;A=0&&Q++,i++,c++;if(Q<0)i-=c,i0&&(B.push(FB(CB,e,E)),E=[]),i-=Q,c-=Q;const A=g.t,n=t.slice(i-c,i);B.push(FB(A,e,n))}}return E.length>0&&B.push(FB(CB,e,E)),B}(fB.parser.start,A,function(A,e){const t=function(A){const e=[],t=A.length;let n=0;for(;n56319||n+1===t||(i=A.charCodeAt(n+1))<56320||i>57343?A[n]:A.slice(n,n+2);e.push(E),n+=E.length}return e}(e.replace(/[A-Z]/g,(A=>A.toLowerCase()))),n=t.length,i=[];let B=0,E=0;for(;E=0&&(g+=t[E].length,Q++),o+=t[E].length,B+=t[E].length,E++;B-=g,E-=Q,o-=g,i.push({t:c.t,v:e.slice(B-o,B),s:B-o,e:B})}return i}(fB.scanner.start,A))}function mB(A,e,t){if(void 0===e&&(e=null),void 0===t&&(t=null),e&&"object"==typeof e){if(t)throw Error(`linkifyjs: Invalid link type ${e}; must be a string`);t=e,e=null}const n=new RB(t),i=SB(A),B=[];for(let A=0;A{"string"!=typeof A?NB(A.scheme,A.optionalSlashes):NB(A)}))},onDestroy(){oi.groups={},fB.scanner=null,fB.parser=null,fB.tokenQueue=[],fB.pluginQueue=[],fB.customSchemes=[],fB.initialized=!1},inclusive(){return this.options.autolink},addOptions:()=>({openOnClick:!0,linkOnPaste:!0,autolink:!0,protocols:[],HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},validate:void 0}),addAttributes(){return{href:{default:null},target:{default:this.options.HTMLAttributes.target},rel:{default:this.options.HTMLAttributes.rel},class:{default:this.options.HTMLAttributes.class}}},parseHTML:()=>[{tag:'a[href]:not([href *= "javascript:" i])'}],renderHTML({HTMLAttributes:A}){var e;return(null===(e=A.href)||void 0===e?void 0:e.startsWith("javascript:"))?["a",l(this.options.HTMLAttributes,{...A,href:""}),0]:["a",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setLink:A=>({chain:e})=>e().setMark(this.name,A).setMeta("preventAutolink",!0).run(),toggleLink:A=>({chain:e})=>e().toggleMark(this.name,A,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run(),unsetLink:()=>({chain:A})=>A().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addPasteRules(){return[w({find:A=>mB(A).filter((A=>!this.options.validate||this.options.validate(A.value))).filter((A=>A.isLink)).map((A=>({text:A.value,index:A.start,data:A}))),type:this.type,getAttributes:(A,e)=>{var t,n;const i=null===(t=null==e?void 0:e.clipboardData)||void 0===t?void 0:t.getData("text/html"),B=null==i?void 0:i.match(/href="([^"]*)"/);return B?{href:B[1]}:{href:null===(n=A.data)||void 0===n?void 0:n.href}}})]},addProseMirrorPlugins(){const A=[];var e;return this.options.autolink&&A.push((e={type:this.type,validate:this.options.validate},new E({key:new s("autolink"),appendTransaction:(A,t,n)=>{const i=A.some((A=>A.docChanged))&&!t.doc.eq(n.doc),B=A.some((A=>A.getMeta("preventAutolink")));if(!i||B)return;const{tr:E}=n,s=U(t.doc,[...A]);return f(s).forEach((({newRange:A})=>{const t=N(n.doc,A,(A=>A.isTextblock));let i,B;if(t.length>1?(i=t[0],B=n.doc.textBetween(i.pos,i.pos+i.node.nodeSize,void 0," ")):t.length&&n.doc.textBetween(A.from,A.to," "," ").endsWith(" ")&&(i=t[0],B=n.doc.textBetween(i.pos,A.to,void 0," ")),i&&B){const A=B.split(" ").filter((A=>""!==A));if(A.length<=0)return!1;const t=A[A.length-1],s=i.pos+B.lastIndexOf(t);if(!t)return!1;mB(t).filter((A=>A.isLink)).map((A=>({...A,from:s+A.start+1,to:s+A.end+1}))).filter((A=>!n.schema.marks.code||!n.doc.rangeHasMark(A.from,A.to,n.schema.marks.code))).filter((A=>!e.validate||e.validate(A.value))).forEach((A=>{S(A.from,A.to,n.doc).some((A=>A.mark.type===e.type))||E.addMark(A.from,A.to,e.type.create({href:A.href}))}))}})),E.steps.length?E:void 0}}))),this.options.openOnClick&&A.push(function(A){return new E({key:new s("handleClickLink"),props:{handleClick:(e,t,n)=>{var i,B;if(0!==n.button)return!1;if("A"!==n.target.nodeName)return!1;const E=m(e.state,A.type.name),s=n.target,r=null!==(i=null==s?void 0:s.href)&&void 0!==i?i:E.href,o=null!==(B=null==s?void 0:s.target)&&void 0!==B?B:E.target;return!(!s||!r||(e.editable&&window.open(r,o),0))}}})}({type:this.type})),this.options.linkOnPaste&&A.push(function(A){return new E({key:new s("handlePasteLink"),props:{handlePaste:(e,t,n)=>{var i;const{state:B}=e,{selection:E}=B,{empty:s}=E;if(s)return!1;let r="";n.content.forEach((A=>{r+=A.textContent}));const o=mB(r).find((A=>A.isLink&&A.value===r));if(!r||!o)return!1;const c=null===(i=t.clipboardData)||void 0===i?void 0:i.getData("text/html"),g=null==c?void 0:c.match(/href="([^"]*)"/);return A.editor.commands.setMark(A.type,{href:g?g[1]:o.href}),!0}}})}({editor:this.editor,type:this.type})),A}}),bB=a.create({name:"superscript",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"sup"},{style:"vertical-align",getAttrs:A=>"super"===A&&null}],renderHTML({HTMLAttributes:A}){return["sup",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setSuperscript:()=>({commands:A})=>A.setMark(this.name),toggleSuperscript:()=>({commands:A})=>A.toggleMark(this.name),unsetSuperscript:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-.":()=>this.editor.commands.toggleSuperscript()}}}),HB=a.create({name:"subscript",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"sub"},{style:"vertical-align",getAttrs:A=>"sub"===A&&null}],renderHTML({HTMLAttributes:A}){return["sub",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setSubscript:()=>({commands:A})=>A.setMark(this.name),toggleSubscript:()=>({commands:A})=>A.toggleMark(this.name),unsetSubscript:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-,":()=>this.editor.commands.toggleSubscript()}}}),TB=Q.create({name:"textAlign",addOptions:()=>({types:[],alignments:["left","center","right","justify"],defaultAlignment:"left"}),addGlobalAttributes(){return[{types:this.options.types,attributes:{textAlign:{default:this.options.defaultAlignment,parseHTML:A=>A.style.textAlign||this.options.defaultAlignment,renderHTML:A=>A.textAlign===this.options.defaultAlignment?{}:{style:`text-align: ${A.textAlign}`}}}}]},addCommands(){return{setTextAlign:A=>({commands:e})=>!!this.options.alignments.includes(A)&&this.options.types.every((t=>e.updateAttributes(t,{textAlign:A}))),unsetTextAlign:()=>({commands:A})=>this.options.types.every((e=>A.resetAttributes(e,"textAlign")))}},addKeyboardShortcuts(){return{"Mod-Shift-l":()=>this.editor.commands.setTextAlign("left"),"Mod-Shift-e":()=>this.editor.commands.setTextAlign("center"),"Mod-Shift-r":()=>this.editor.commands.setTextAlign("right"),"Mod-Shift-j":()=>this.editor.commands.setTextAlign("justify")}}}),zB=Q.create({name:"placeholder",addOptions:()=>({emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",placeholder:"Write something …",showOnlyWhenEditable:!0,showOnlyCurrent:!0,includeChildren:!1}),addProseMirrorPlugins(){return[new E({key:new s("placeholder"),props:{decorations:({doc:A,selection:e})=>{const t=this.editor.isEditable||!this.options.showOnlyWhenEditable,{anchor:n}=e,i=[];if(!t)return null;const B=A.type.createAndFill(),E=(null==B?void 0:B.sameMarkup(A))&&null===B.content.findDiffStart(A.content);return A.descendants(((A,e)=>{const t=n>=e&&n<=e+A.nodeSize;if((t||!this.options.showOnlyCurrent)&&!A.isLeaf&&!A.childCount){const n=[this.options.emptyNodeClass];E&&n.push(this.options.emptyEditorClass);const B=Y.node(e,e+A.nodeSize,{class:n.join(" "),"data-placeholder":"function"==typeof this.options.placeholder?this.options.placeholder({editor:this.editor,node:A,pos:e,hasAnchor:t}):this.options.placeholder});i.push(B)}return this.options.includeChildren})),k.create(A,i)}}})]}}),xB=a.create({name:"underline",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:A=>!!A.includes("underline")&&{}}],renderHTML({HTMLAttributes:A}){return["u",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setUnderline:()=>({commands:A})=>A.setMark(this.name),toggleUnderline:()=>({commands:A})=>A.toggleMark(this.name),unsetUnderline:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),pB=Q.create({name:"color",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{color:{default:null,parseHTML:A=>{var e;return null===(e=A.style.color)||void 0===e?void 0:e.replace(/['"]+/g,"")},renderHTML:A=>A.color?{style:`color: ${A.color}`}:{}}}}]},addCommands:()=>({setColor:A=>({chain:e})=>e().setMark("textStyle",{color:A}).run(),unsetColor:()=>({chain:A})=>A().setMark("textStyle",{color:null}).removeEmptyTextStyle().run()})}),JB=Q.create({name:"fontFamily",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontFamily:{default:null,parseHTML:A=>{var e;return null===(e=A.style.fontFamily)||void 0===e?void 0:e.replace(/['"]+/g,"")},renderHTML:A=>A.fontFamily?{style:`font-family: ${A.fontFamily}`}:{}}}}]},addCommands:()=>({setFontFamily:A=>({chain:e})=>e().setMark("textStyle",{fontFamily:A}).run(),unsetFontFamily:()=>({chain:A})=>A().setMark("textStyle",{fontFamily:null}).removeEmptyTextStyle().run()})}),jB=/^\s*>\s$/,ZB=R.create({name:"blockquote",addOptions:()=>({HTMLAttributes:{}}),content:"block+",group:"block",defining:!0,parseHTML:()=>[{tag:"blockquote"}],renderHTML({HTMLAttributes:A}){return["blockquote",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setBlockquote:()=>({commands:A})=>A.wrapIn(this.name),toggleBlockquote:()=>({commands:A})=>A.toggleWrap(this.name),unsetBlockquote:()=>({commands:A})=>A.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote()}},addInputRules(){return[I({find:jB,type:this.type})]}}),PB=/(?:^|\s)((?:\*\*)((?:[^*]+))(?:\*\*))$/,VB=/(?:^|\s)((?:\*\*)((?:[^*]+))(?:\*\*))/g,LB=/(?:^|\s)((?:__)((?:[^__]+))(?:__))$/,vB=/(?:^|\s)((?:__)((?:[^__]+))(?:__))/g,OB=a.create({name:"bold",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"strong"},{tag:"b",getAttrs:A=>"normal"!==A.style.fontWeight&&null},{style:"font-weight",getAttrs:A=>/^(bold(er)?|[5-9]\d{2,})$/.test(A)&&null}],renderHTML({HTMLAttributes:A}){return["strong",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setBold:()=>({commands:A})=>A.setMark(this.name),toggleBold:()=>({commands:A})=>A.toggleMark(this.name),unsetBold:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[h({find:PB,type:this.type}),h({find:LB,type:this.type})]},addPasteRules(){return[w({find:VB,type:this.type}),w({find:vB,type:this.type})]}}),_B=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),KB=a.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:A=>!!A.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:A}){return["span",l(this.options.HTMLAttributes,A),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:A,commands:e})=>{const t=d(A,this.type);return!!Object.entries(t).some((([,A])=>!!A))||e.unsetMark(this.name)}}}}),XB=/^\s*([-+*])\s$/,WB=R.create({name:"bulletList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML:()=>[{tag:"ul"}],renderHTML({HTMLAttributes:A}){return["ul",l(this.options.HTMLAttributes,A),0]},addCommands(){return{toggleBulletList:()=>({commands:A,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(_B.name,this.editor.getAttributes(KB.name)).run():A.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let A=I({find:XB,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(A=I({find:XB,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(KB.name),editor:this.editor})),[A]}}),qB=/(?:^|\s)((?:`)((?:[^`]+))(?:`))$/,$B=/(?:^|\s)((?:`)((?:[^`]+))(?:`))/g,AE=a.create({name:"code",addOptions:()=>({HTMLAttributes:{}}),excludes:"_",code:!0,exitable:!0,parseHTML:()=>[{tag:"code"}],renderHTML({HTMLAttributes:A}){return["code",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setCode:()=>({commands:A})=>A.setMark(this.name),toggleCode:()=>({commands:A})=>A.toggleMark(this.name),unsetCode:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[h({find:qB,type:this.type})]},addPasteRules(){return[w({find:$B,type:this.type})]}}),eE=R.create({name:"doc",topNode:!0,content:"block+"});function tE(A={}){return new E({view:e=>new nE(e,A)})}class nE{constructor(A,e){var t;this.editorView=A,this.cursorPos=null,this.element=null,this.timeout=-1,this.width=null!==(t=e.width)&&void 0!==t?t:1,this.color=!1===e.color?void 0:e.color||"black",this.class=e.class,this.handlers=["dragover","dragend","drop","dragleave"].map((e=>{let t=A=>{this[e](A)};return A.dom.addEventListener(e,t),{name:e,handler:t}}))}destroy(){this.handlers.forEach((({name:A,handler:e})=>this.editorView.dom.removeEventListener(A,e)))}update(A,e){null!=this.cursorPos&&e.doc!=A.state.doc&&(this.cursorPos>A.state.doc.content.size?this.setCursor(null):this.updateOverlay())}setCursor(A){A!=this.cursorPos&&(this.cursorPos=A,null==A?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let A,e=this.editorView.state.doc.resolve(this.cursorPos),t=!e.parent.inlineContent;if(t){let t=e.nodeBefore,n=e.nodeAfter;if(t||n){let e=this.editorView.nodeDOM(this.cursorPos-(t?t.nodeSize:0));if(e){let i=e.getBoundingClientRect(),B=t?i.bottom:i.top;t&&n&&(B=(B+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2),A={left:i.left,right:i.right,top:B-this.width/2,bottom:B+this.width/2}}}}if(!A){let e=this.editorView.coordsAtPos(this.cursorPos);A={left:e.left-this.width/2,right:e.left+this.width/2,top:e.top,bottom:e.bottom}}let n,i,B=this.editorView.dom.offsetParent;if(this.element||(this.element=B.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",t),this.element.classList.toggle("prosemirror-dropcursor-inline",!t),!B||B==document.body&&"static"==getComputedStyle(B).position)n=-pageXOffset,i=-pageYOffset;else{let A=B.getBoundingClientRect();n=A.left-B.scrollLeft,i=A.top-B.scrollTop}this.element.style.left=A.left-n+"px",this.element.style.top=A.top-i+"px",this.element.style.width=A.right-A.left+"px",this.element.style.height=A.bottom-A.top+"px"}scheduleRemoval(A){clearTimeout(this.timeout),this.timeout=setTimeout((()=>this.setCursor(null)),A)}dragover(A){if(!this.editorView.editable)return;let e=this.editorView.posAtCoords({left:A.clientX,top:A.clientY}),t=e&&e.inside>=0&&this.editorView.state.doc.nodeAt(e.inside),n=t&&t.type.spec.disableDropCursor,i="function"==typeof n?n(this.editorView,e,A):n;if(e&&!i){let A=e.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let e=y(this.editorView.state.doc,A,this.editorView.dragging.slice);null!=e&&(A=e)}this.setCursor(A),this.scheduleRemoval(5e3)}}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(A){A.target!=this.editorView.dom&&this.editorView.dom.contains(A.relatedTarget)||this.setCursor(null)}}const iE=Q.create({name:"dropCursor",addOptions:()=>({color:"currentColor",width:1,class:void 0}),addProseMirrorPlugins(){return[tE(this.options)]}});class BE extends b{constructor(A){super(A,A)}map(A,e){let t=A.resolve(e.map(this.head));return BE.valid(t)?new BE(t):b.near(t)}content(){return H.empty}eq(A){return A instanceof BE&&A.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(A,e){if("number"!=typeof e.pos)throw new RangeError("Invalid input for GapCursor.fromJSON");return new BE(A.resolve(e.pos))}getBookmark(){return new EE(this.anchor)}static valid(A){let e=A.parent;if(e.isTextblock||!function(A){for(let e=A.depth;e>=0;e--){let t=A.index(e),n=A.node(e);if(0!=t)for(let A=n.child(t-1);;A=A.lastChild){if(0==A.childCount&&!A.inlineContent||A.isAtom||A.type.spec.isolating)return!0;if(A.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(A)||!function(A){for(let e=A.depth;e>=0;e--){let t=A.indexAfter(e),n=A.node(e);if(t!=n.childCount)for(let A=n.child(t);;A=A.firstChild){if(0==A.childCount&&!A.inlineContent||A.isAtom||A.type.spec.isolating)return!0;if(A.inlineContent)return!1}else if(n.type.spec.isolating)return!0}return!0}(A))return!1;let t=e.type.spec.allowGapCursor;if(null!=t)return t;let n=e.contentMatchAt(A.index()).defaultType;return n&&n.isTextblock}static findGapCursorFrom(A,e,t=!1){A:for(;;){if(!t&&BE.valid(A))return A;let n=A.pos,i=null;for(let t=A.depth;;t--){let B=A.node(t);if(e>0?A.indexAfter(t)0){i=B.child(e>0?A.indexAfter(t):A.index(t)-1);break}if(0==t)return null;n+=e;let E=A.doc.resolve(n);if(BE.valid(E))return E}for(;;){let B=e>0?i.firstChild:i.lastChild;if(!B){if(i.isAtom&&!i.isText&&!T.isSelectable(i)){A=A.doc.resolve(n+i.nodeSize*e),t=!1;continue A}break}i=B,n+=e;let E=A.doc.resolve(n);if(BE.valid(E))return E}return null}}}BE.prototype.visible=!1,BE.findFrom=BE.findGapCursorFrom,b.jsonID("gapcursor",BE);class EE{constructor(A){this.pos=A}map(A){return new EE(A.map(this.pos))}resolve(A){let e=A.resolve(this.pos);return BE.valid(e)?new BE(e):b.near(e)}}const sE=z({ArrowLeft:rE("horiz",-1),ArrowRight:rE("horiz",1),ArrowUp:rE("vert",-1),ArrowDown:rE("vert",1)});function rE(A,e){const t="vert"==A?e>0?"down":"up":e>0?"right":"left";return function(A,n,i){let B=A.selection,E=e>0?B.$to:B.$from,s=B.empty;if(B instanceof C){if(!i.endOfTextblock(t)||0==E.depth)return!1;s=!1,E=A.doc.resolve(e>0?E.after():E.before())}let r=BE.findGapCursorFrom(E,e,s);return!!r&&(n&&n(A.tr.setSelection(new BE(r))),!0)}}function oE(A,e,t){if(!A||!A.editable)return!1;let n=A.state.doc.resolve(e);if(!BE.valid(n))return!1;let i=A.posAtCoords({left:t.clientX,top:t.clientY});return!(i&&i.inside>-1&&T.isSelectable(A.state.doc.nodeAt(i.inside))||(A.dispatch(A.state.tr.setSelection(new BE(n))),0))}function cE(A,e){if("insertCompositionText"!=e.inputType||!(A.state.selection instanceof BE))return!1;let{$from:t}=A.state.selection,n=t.parent.contentMatchAt(t.index()).findWrapping(A.state.schema.nodes.text);if(!n)return!1;let i=x.empty;for(let A=n.length-1;A>=0;A--)i=x.from(n[A].createAndFill(null,i));let B=A.state.tr.replace(t.pos,t.pos,new H(i,0,0));return B.setSelection(C.near(B.doc.resolve(t.pos+1))),A.dispatch(B),!1}function gE(A){if(!(A.selection instanceof BE))return null;let e=document.createElement("div");return e.className="ProseMirror-gapcursor",k.create(A.doc,[Y.widget(A.selection.head,e,{key:"gapcursor"})])}const QE=Q.create({name:"gapCursor",addProseMirrorPlugins:()=>[new E({props:{decorations:gE,createSelectionBetween:(A,e,t)=>e.pos==t.pos&&BE.valid(t)?new BE(t):null,handleClick:oE,handleKeyDown:sE,handleDOMEvents:{beforeinput:cE}}})],extendNodeSchema(A){var e;return{allowGapCursor:null!==(e=p(J(A,"allowGapCursor",{name:A.name,options:A.options,storage:A.storage})))&&void 0!==e?e:null}}}),aE=R.create({name:"hardBreak",addOptions:()=>({keepMarks:!0,HTMLAttributes:{}}),inline:!0,group:"inline",selectable:!1,parseHTML:()=>[{tag:"br"}],renderHTML({HTMLAttributes:A}){return["br",l(this.options.HTMLAttributes,A)]},renderText:()=>"\n",addCommands(){return{setHardBreak:()=>({commands:A,chain:e,state:t,editor:n})=>A.first([()=>A.exitCode(),()=>A.command((()=>{const{selection:A,storedMarks:i}=t;if(A.$from.parent.type.spec.isolating)return!1;const{keepMarks:B}=this.options,{splittableMarks:E}=n.extensionManager,s=i||A.$to.parentOffset&&A.$from.marks();return e().insertContent({type:this.name}).command((({tr:A,dispatch:e})=>{if(e&&s&&B){const e=s.filter((A=>E.includes(A.type.name)));A.ensureMarks(e)}return!0})).run()}))])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),lE=R.create({name:"heading",addOptions:()=>({levels:[1,2,3,4,5,6],HTMLAttributes:{}}),content:"inline*",group:"block",defining:!0,addAttributes:()=>({level:{default:1,rendered:!1}}),parseHTML(){return this.options.levels.map((A=>({tag:`h${A}`,attrs:{level:A}})))},renderHTML({node:A,HTMLAttributes:e}){return[`h${this.options.levels.includes(A.attrs.level)?A.attrs.level:this.options.levels[0]}`,l(this.options.HTMLAttributes,e),0]},addCommands(){return{setHeading:A=>({commands:e})=>!!this.options.levels.includes(A.level)&&e.setNode(this.name,A),toggleHeading:A=>({commands:e})=>!!this.options.levels.includes(A.level)&&e.toggleNode(this.name,"paragraph",A)}},addKeyboardShortcuts(){return this.options.levels.reduce(((A,e)=>({...A,[`Mod-Alt-${e}`]:()=>this.editor.commands.toggleHeading({level:e})})),{})},addInputRules(){return this.options.levels.map((A=>G({find:new RegExp(`^(#{1,${A}})\\s$`),type:this.type,getAttributes:{level:A}})))}});var hE=200,ME=function(){};ME.prototype.append=function(A){return A.length?(A=ME.from(A),!this.length&&A||A.length=e?ME.empty:this.sliceInner(Math.max(0,A),Math.min(this.length,e))},ME.prototype.get=function(A){if(!(A<0||A>=this.length))return this.getInner(A)},ME.prototype.forEach=function(A,e,t){void 0===e&&(e=0),void 0===t&&(t=this.length),e<=t?this.forEachInner(A,e,t,0):this.forEachInvertedInner(A,e,t,0)},ME.prototype.map=function(A,e,t){void 0===e&&(e=0),void 0===t&&(t=this.length);var n=[];return this.forEach((function(e,t){return n.push(A(e,t))}),e,t),n},ME.from=function(A){return A instanceof ME?A:A&&A.length?new wE(A):ME.empty};var wE=function(A){function e(e){A.call(this),this.values=e}A&&(e.__proto__=A),(e.prototype=Object.create(A&&A.prototype)).constructor=e;var t={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(A,t){return 0==A&&t==this.length?this:new e(this.values.slice(A,t))},e.prototype.getInner=function(A){return this.values[A]},e.prototype.forEachInner=function(A,e,t,n){for(var i=e;i=t;i--)if(!1===A(this.values[i],n+i))return!1},e.prototype.leafAppend=function(A){if(this.length+A.length<=hE)return new e(this.values.concat(A.flatten()))},e.prototype.leafPrepend=function(A){if(this.length+A.length<=hE)return new e(A.flatten().concat(this.values))},t.length.get=function(){return this.values.length},t.depth.get=function(){return 0},Object.defineProperties(e.prototype,t),e}(ME);ME.empty=new wE([]);var RE=function(A){function e(e,t){A.call(this),this.left=e,this.right=t,this.length=e.length+t.length,this.depth=Math.max(e.depth,t.depth)+1}return A&&(e.__proto__=A),(e.prototype=Object.create(A&&A.prototype)).constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(A){return Ai&&!1===this.right.forEachInner(A,Math.max(e-i,0),Math.min(this.length,t)-i,n+i))&&void 0},e.prototype.forEachInvertedInner=function(A,e,t,n){var i=this.left.length;return!(e>i&&!1===this.right.forEachInvertedInner(A,e-i,Math.max(t,i)-i,n+i))&&!(t=t?this.right.slice(A-t,e-t):this.left.slice(A,t).append(this.right.slice(0,e-t))},e.prototype.leafAppend=function(A){var t=this.right.leafAppend(A);if(t)return new e(this.left,t)},e.prototype.leafPrepend=function(A){var t=this.left.leafPrepend(A);if(t)return new e(t,this.right)},e.prototype.appendInner=function(A){return this.left.depth>=Math.max(this.right.depth,A.depth)+1?new e(this.left,new e(this.right,A)):new e(this,A)},e}(ME),IE=ME;class uE{constructor(A,e){this.items=A,this.eventCount=e}popEvent(A,e){if(0==this.eventCount)return null;let t,n,i=this.items.length;for(;;i--)if(this.items.get(i-1).selection){--i;break}e&&(t=this.remapping(i,this.items.length),n=t.maps.length);let B,E,s=A.tr,r=[],o=[];return this.items.forEach(((A,e)=>{if(!A.step)return t||(t=this.remapping(i,e+1),n=t.maps.length),n--,void o.push(A);if(t){o.push(new dE(A.map));let e,i=A.step.map(t.slice(n));i&&s.maybeStep(i).doc&&(e=s.mapping.maps[s.mapping.maps.length-1],r.push(new dE(e,void 0,void 0,r.length+o.length))),n--,e&&t.appendMap(e,n)}else s.maybeStep(A.step);return A.selection?(B=t?A.selection.map(t.slice(n)):A.selection,E=new uE(this.items.slice(0,i).append(o.reverse().concat(r)),this.eventCount-1),!1):void 0}),this.items.length,0),{remaining:E,transform:s,selection:B}}addTransform(A,e,t,n){let i=[],B=this.eventCount,E=this.items,s=!n&&E.length?E.get(E.length-1):null;for(let t=0;tCE&&(E=function(A,e){let t;return A.forEach(((A,n)=>{if(A.selection&&0==e--)return t=n,!1})),A.slice(t)}(E,r),B-=r),new uE(E.append(i),B)}remapping(A,e){let t=new j;return this.items.forEach(((e,n)=>{t.appendMap(e.map,null!=e.mirrorOffset&&n-e.mirrorOffset>=A?t.maps.length-e.mirrorOffset:void 0)}),A,e),t}addMaps(A){return 0==this.eventCount?this:new uE(this.items.append(A.map((A=>new dE(A)))),this.eventCount)}rebased(A,e){if(!this.eventCount)return this;let t=[],n=Math.max(0,this.items.length-e),i=A.mapping,B=A.steps.length,E=this.eventCount;this.items.forEach((A=>{A.selection&&E--}),n);let s=e;this.items.forEach((e=>{let n=i.getMirror(--s);if(null==n)return;B=Math.min(B,n);let r=i.maps[n];if(e.step){let B=A.steps[n].invert(A.docs[n]),o=e.selection&&e.selection.map(i.slice(s+1,n));o&&E++,t.push(new dE(r,B,o))}else t.push(new dE(r))}),n);let r=[];for(let A=e;A500&&(c=c.compress(this.items.length-t.length)),c}emptyItemCount(){let A=0;return this.items.forEach((e=>{e.step||A++})),A}compress(A=this.items.length){let e=this.remapping(0,A),t=e.maps.length,n=[],i=0;return this.items.forEach(((B,E)=>{if(E>=A)n.push(B),B.selection&&i++;else if(B.step){let A=B.step.map(e.slice(t)),E=A&&A.getMap();if(t--,E&&e.appendMap(E,t),A){let s=B.selection&&B.selection.map(e.slice(t));s&&i++;let r,o=new dE(E.invert(),A,s),c=n.length-1;(r=n.length&&n[c].merge(o))?n[c]=r:n.push(o)}}else B.map&&t--}),this.items.length,0),new uE(IE.from(n.reverse()),i)}}uE.empty=new uE(IE.empty,0);class dE{constructor(A,e,t,n){this.map=A,this.step=e,this.selection=t,this.mirrorOffset=n}merge(A){if(this.step&&A.step&&!A.selection){let e=A.step.merge(this.step);if(e)return new dE(e.getMap().invert(),e,this.selection)}}}class GE{constructor(A,e,t,n){this.done=A,this.undone=e,this.prevRanges=t,this.prevTime=n}}const CE=20;function kE(A){let e=[];return A.forEach(((A,t,n,i)=>e.push(n,i))),e}function DE(A,e){if(!A)return null;let t=[];for(let n=0;nnew GE(uE.empty,uE.empty,null,0),apply:(e,t,n)=>function(A,e,t,n){let i,B=t.getMeta(NE);if(B)return B.historyState;t.getMeta(SE)&&(A=new GE(A.done,A.undone,null,0));let E=t.getMeta("appendedTransaction");if(0==t.steps.length)return A;if(E&&E.getMeta(NE))return E.getMeta(NE).redo?new GE(A.done.addTransform(t,void 0,n,fE(e)),A.undone,kE(t.mapping.maps[t.steps.length-1]),A.prevTime):new GE(A.done,A.undone.addTransform(t,void 0,n,fE(e)),null,A.prevTime);if(!1===t.getMeta("addToHistory")||E&&!1===E.getMeta("addToHistory"))return(i=t.getMeta("rebased"))?new GE(A.done.rebased(t,i),A.undone.rebased(t,i),DE(A.prevRanges,t.mapping),A.prevTime):new GE(A.done.addMaps(t.mapping.maps),A.undone.addMaps(t.mapping.maps),DE(A.prevRanges,t.mapping),A.prevTime);{let i=0==A.prevTime||!E&&(A.prevTime<(t.time||0)-n.newGroupDelay||!function(A,e){if(!e)return!1;if(!A.docChanged)return!0;let t=!1;return A.mapping.maps[0].forEach(((A,n)=>{for(let i=0;i=e[i]&&(t=!0)})),t}(t,A.prevRanges)),B=E?DE(A.prevRanges,t.mapping):kE(t.mapping.maps[t.steps.length-1]);return new GE(A.done.addTransform(t,i?e.selection.getBookmark():void 0,n,fE(e)),uE.empty,B,t.time)}}(t,n,e,A)},config:A={depth:A.depth||100,newGroupDelay:A.newGroupDelay||500},props:{handleDOMEvents:{beforeinput(A,e){let t=e.inputType,n="historyUndo"==t?yE:"historyRedo"==t?bE:null;return!!n&&(e.preventDefault(),n(A.state,A.dispatch))}}}})}const yE=(A,e)=>{let t=NE.getState(A);return!(!t||0==t.done.eventCount||(e&&YE(t,A,e,!1),0))},bE=(A,e)=>{let t=NE.getState(A);return!(!t||0==t.undone.eventCount||(e&&YE(t,A,e,!0),0))},HE=Q.create({name:"history",addOptions:()=>({depth:100,newGroupDelay:500}),addCommands:()=>({undo:()=>({state:A,dispatch:e})=>yE(A,e),redo:()=>({state:A,dispatch:e})=>bE(A,e)}),addProseMirrorPlugins(){return[mE(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Mod-Z":()=>this.editor.commands.undo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-Y":()=>this.editor.commands.redo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Shift-Mod-Z":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}}),TE=R.create({name:"horizontalRule",addOptions:()=>({HTMLAttributes:{}}),group:"block",parseHTML:()=>[{tag:"hr"}],renderHTML({HTMLAttributes:A}){return["hr",l(this.options.HTMLAttributes,A)]},addCommands(){return{setHorizontalRule:()=>({chain:A,state:e})=>{const{$to:t}=e.selection,n=A();return 0===t.parentOffset?n.insertContentAt(Math.max(t.pos-2,0),{type:this.name}):n.insertContent({type:this.name}),n.command((({tr:A,dispatch:e})=>{var t;if(e){const{$to:e}=A.selection,n=e.end();if(e.nodeAfter)A.setSelection(e.nodeAfter.isTextblock?C.create(A.doc,e.pos+1):e.nodeAfter.isBlock?T.create(A.doc,e.pos):C.create(A.doc,e.pos));else{const i=null===(t=e.parent.type.contentMatch.defaultType)||void 0===t?void 0:t.create();i&&(A.insert(n,i),A.setSelection(C.create(A.doc,n+1)))}A.scrollIntoView()}return!0})).run()}}},addInputRules(){return[F({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),zE=/(?:^|\s)((?:\*)((?:[^*]+))(?:\*))$/,xE=/(?:^|\s)((?:\*)((?:[^*]+))(?:\*))/g,pE=/(?:^|\s)((?:_)((?:[^_]+))(?:_))$/,JE=/(?:^|\s)((?:_)((?:[^_]+))(?:_))/g,jE=a.create({name:"italic",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"em"},{tag:"i",getAttrs:A=>"normal"!==A.style.fontStyle&&null},{style:"font-style=italic"}],renderHTML({HTMLAttributes:A}){return["em",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setItalic:()=>({commands:A})=>A.setMark(this.name),toggleItalic:()=>({commands:A})=>A.toggleMark(this.name),unsetItalic:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[h({find:zE,type:this.type}),h({find:pE,type:this.type})]},addPasteRules(){return[w({find:xE,type:this.type}),w({find:JE,type:this.type})]}}),ZE=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),PE=R.create({name:"listItem",addOptions:()=>({HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}),content:"paragraph block*",defining:!0,parseHTML:()=>[{tag:"li"}],renderHTML({HTMLAttributes:A}){return["li",l(this.options.HTMLAttributes,A),0]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),VE=a.create({name:"textStyle",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"span",getAttrs:A=>!!A.hasAttribute("style")&&{}}],renderHTML({HTMLAttributes:A}){return["span",l(this.options.HTMLAttributes,A),0]},addCommands(){return{removeEmptyTextStyle:()=>({state:A,commands:e})=>{const t=d(A,this.type);return!!Object.entries(t).some((([,A])=>!!A))||e.unsetMark(this.name)}}}}),LE=/^(\d+)\.\s$/,vE=R.create({name:"orderedList",addOptions:()=>({itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}),group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes:()=>({start:{default:1,parseHTML:A=>A.hasAttribute("start")?parseInt(A.getAttribute("start")||"",10):1}}),parseHTML:()=>[{tag:"ol"}],renderHTML({HTMLAttributes:A}){const{start:e,...t}=A;return 1===e?["ol",l(this.options.HTMLAttributes,t),0]:["ol",l(this.options.HTMLAttributes,A),0]},addCommands(){return{toggleOrderedList:()=>({commands:A,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(PE.name,this.editor.getAttributes(VE.name)).run():A.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addInputRules(){let A=I({find:LE,type:this.type,getAttributes:A=>({start:+A[1]}),joinPredicate:(A,e)=>e.childCount+e.attrs.start===+A[1]});return(this.options.keepMarks||this.options.keepAttributes)&&(A=I({find:LE,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:A=>({start:+A[1],...this.editor.getAttributes(VE.name)}),joinPredicate:(A,e)=>e.childCount+e.attrs.start===+A[1],editor:this.editor})),[A]}}),OE=R.create({name:"paragraph",priority:1e3,addOptions:()=>({HTMLAttributes:{}}),group:"block",content:"inline*",parseHTML:()=>[{tag:"p"}],renderHTML({HTMLAttributes:A}){return["p",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setParagraph:()=>({commands:A})=>A.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),_E=/(?:^|\s)((?:~~)((?:[^~]+))(?:~~))$/,KE=/(?:^|\s)((?:~~)((?:[^~]+))(?:~~))/g,XE=a.create({name:"strike",addOptions:()=>({HTMLAttributes:{}}),parseHTML:()=>[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:A=>!!A.includes("line-through")&&{}}],renderHTML({HTMLAttributes:A}){return["s",l(this.options.HTMLAttributes,A),0]},addCommands(){return{setStrike:()=>({commands:A})=>A.setMark(this.name),toggleStrike:()=>({commands:A})=>A.toggleMark(this.name),unsetStrike:()=>({commands:A})=>A.unsetMark(this.name)}},addKeyboardShortcuts(){const A={};return P()?A["Mod-Shift-s"]=()=>this.editor.commands.toggleStrike():A["Ctrl-Shift-s"]=()=>this.editor.commands.toggleStrike(),A},addInputRules(){return[h({find:_E,type:this.type})]},addPasteRules(){return[w({find:KE,type:this.type})]}}),WE=R.create({name:"text",group:"inline"}),qE=Q.create({name:"starterKit",addExtensions(){var A,e,t,n,i,B,E,s,r,o,c,g,Q,a,l,h,M,w;const R=[];return!1!==this.options.blockquote&&R.push(ZB.configure(null===(A=this.options)||void 0===A?void 0:A.blockquote)),!1!==this.options.bold&&R.push(OB.configure(null===(e=this.options)||void 0===e?void 0:e.bold)),!1!==this.options.bulletList&&R.push(WB.configure(null===(t=this.options)||void 0===t?void 0:t.bulletList)),!1!==this.options.code&&R.push(AE.configure(null===(n=this.options)||void 0===n?void 0:n.code)),!1!==this.options.codeBlock&&R.push(cA.configure(null===(i=this.options)||void 0===i?void 0:i.codeBlock)),!1!==this.options.document&&R.push(eE.configure(null===(B=this.options)||void 0===B?void 0:B.document)),!1!==this.options.dropcursor&&R.push(iE.configure(null===(E=this.options)||void 0===E?void 0:E.dropcursor)),!1!==this.options.gapcursor&&R.push(QE.configure(null===(s=this.options)||void 0===s?void 0:s.gapcursor)),!1!==this.options.hardBreak&&R.push(aE.configure(null===(r=this.options)||void 0===r?void 0:r.hardBreak)),!1!==this.options.heading&&R.push(lE.configure(null===(o=this.options)||void 0===o?void 0:o.heading)),!1!==this.options.history&&R.push(HE.configure(null===(c=this.options)||void 0===c?void 0:c.history)),!1!==this.options.horizontalRule&&R.push(TE.configure(null===(g=this.options)||void 0===g?void 0:g.horizontalRule)),!1!==this.options.italic&&R.push(jE.configure(null===(Q=this.options)||void 0===Q?void 0:Q.italic)),!1!==this.options.listItem&&R.push(ZE.configure(null===(a=this.options)||void 0===a?void 0:a.listItem)),!1!==this.options.orderedList&&R.push(vE.configure(null===(l=this.options)||void 0===l?void 0:l.orderedList)),!1!==this.options.paragraph&&R.push(OE.configure(null===(h=this.options)||void 0===h?void 0:h.paragraph)),!1!==this.options.strike&&R.push(XE.configure(null===(M=this.options)||void 0===M?void 0:M.strike)),!1!==this.options.text&&R.push(WE.configure(null===(w=this.options)||void 0===w?void 0:w.text)),R}}),$E=()=>new Map,As=A=>{const e=$E();return A.forEach(((A,t)=>{e.set(t,A)})),e},es=(A,e,t)=>{let n=A.get(e);return void 0===n&&A.set(e,n=t()),n},ts=()=>new Set,ns=A=>A[A.length-1],is=(A,e)=>{for(let t=0;t{this.off(A,t),e(...n)};this.on(A,t)}off(A,e){const t=this._observers.get(A);void 0!==t&&(t.delete(e),0===t.size&&this._observers.delete(A))}emit(A,e){return Bs((this._observers.get(A)||$E()).values()).forEach((A=>A(...e)))}destroy(){this._observers=$E()}}const rs=Math.floor,os=Math.abs,cs=(A,e)=>AA>e?A:e,Qs=A=>0!==A?A<0:1/A<0,as=64,ls=128,hs=127,Ms=Number.MAX_SAFE_INTEGER,ws=Number.isInteger||(A=>"number"==typeof A&&isFinite(A)&&rs(A)===A),Rs=/^\s*/g,Is=/([A-Z])/g,us=(A,e)=>(A=>A.replace(Rs,""))(A.replace(Is,(A=>`${e}${(A=>A.toLowerCase())(A)}`))),ds="undefined"!=typeof TextEncoder?new TextEncoder:null,Gs=ds?A=>ds.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;Anew ks,Ys=A=>{const e=new Uint8Array((A=>{let e=A.cpos;for(let t=0;t{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},Us=Fs,fs=(A,e)=>{for(;e>hs;)Fs(A,ls|hs&e),e=rs(e/128);Fs(A,hs&e)},Ns=(A,e)=>{const t=Qs(e);for(t&&(e=-e),Fs(A,(e>63?ls:0)|(t?as:0)|63&e),e=rs(e/64);e>0;)Fs(A,(e>hs?ls:0)|hs&e),e=rs(e/128)},Ss=new Uint8Array(3e4),ms=Ss.length/3,ys=ds&&ds.encodeInto?(A,e)=>{if(e.length{const t=unescape(encodeURIComponent(e)),n=t.length;fs(A,n);for(let e=0;e{const t=A.cbuf.length,n=A.cpos,i=cs(t-n,e.length),B=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,B>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(gs(2*t,B)),A.cbuf.set(e.subarray(i)),A.cpos=B)},Hs=(A,e)=>{fs(A,e.byteLength),bs(A,e)},Ts=(A,e)=>{((A,e)=>{const t=A.cbuf.length;t-A.cpos{switch(typeof e){case"string":Fs(A,119),ys(A,e);break;case"number":ws(e)&&os(e)<=2147483647?(Fs(A,125),Ns(A,e)):(zs.setFloat32(0,t=e),zs.getFloat32(0)===t?(Fs(A,124),((A,e)=>{Ts(A,4).setFloat32(0,e,!1)})(A,e)):(Fs(A,123),((A,e)=>{Ts(A,8).setFloat64(0,e,!1)})(A,e)));break;case"bigint":Fs(A,122),((A,e)=>{Ts(A,8).setBigInt64(0,e,!1)})(A,e);break;case"object":if(null===e)Fs(A,126);else if(Es(e)){Fs(A,117),fs(A,e.length);for(let t=0;t0&&fs(this,this.count-1),this.count=1,this.w(this,A),this.s=A)}}const Js=A=>{A.count>0&&(Ns(A.encoder,1===A.count?A.s:-A.s),A.count>1&&fs(A.encoder,A.count-2))};class js{constructor(){this.encoder=new ks,this.s=0,this.count=0}write(A){this.s===A?this.count++:(Js(this),this.count=1,this.s=A)}toUint8Array(){return Js(this),Ys(this.encoder)}}const Zs=A=>{A.count>0&&(Ns(A.encoder,2*A.diff+(1===A.count?0:1)),A.count>1&&fs(A.encoder,A.count-2))};class Ps{constructor(){this.encoder=new ks,this.s=0,this.count=0,this.diff=0}write(A){this.diff===A-this.s?(this.s=A,this.count++):(Zs(this),this.count=1,this.diff=A-this.s,this.s=A)}toUint8Array(){return Zs(this),Ys(this.encoder)}}class Vs{constructor(){this.sarr=[],this.s="",this.lensE=new js}write(A){this.s+=A,this.s.length>19&&(this.sarr.push(this.s),this.s=""),this.lensE.write(A.length)}toUint8Array(){const A=new ks;return this.sarr.push(this.s),this.s="",ys(A,this.sarr.join("")),bs(A,this.lensE.toUint8Array()),Ys(A)}}const Ls=A=>new Error(A),vs=()=>{throw Ls("Method unimplemented")},Os=()=>{throw Ls("Unexpected case")},_s=Ls("Unexpected end of array"),Ks=Ls("Integer out of Range");class Xs{constructor(A){this.arr=A,this.pos=0}}const Ws=A=>new Xs(A),qs=A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,Ar(A)),$s=A=>A.arr[A.pos++],Ar=A=>{let e=0,t=1;const n=A.arr.length;for(;A.posMs)throw Ks}throw _s},er=A=>{let e=A.arr[A.pos++],t=63&e,n=64;const i=(e&as)>0?-1:1;if(0==(e&ls))return i*t;const B=A.arr.length;for(;A.posMs)throw Ks}throw _s},tr=Cs?A=>Cs.decode(qs(A)):A=>{let e=Ar(A);if(0===e)return"";{let t=String.fromCodePoint($s(A));if(--e<100)for(;e--;)t+=String.fromCodePoint($s(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}},nr=(A,e)=>{const t=new DataView(A.arr.buffer,A.arr.byteOffset+A.pos,e);return A.pos+=e,t},ir=[()=>{},()=>null,er,A=>nr(A,4).getFloat32(0,!1),A=>nr(A,8).getFloat64(0,!1),A=>nr(A,8).getBigInt64(0,!1),()=>!1,()=>!0,tr,A=>{const e=Ar(A),t={};for(let n=0;n{const e=Ar(A),t=[];for(let n=0;nir[127-$s(A)](A);class Er extends Xs{constructor(A,e){super(A),this.reader=e,this.s=null,this.count=0}read(){return 0===this.count&&(this.s=this.reader(this),this.count=this.pos!==this.arr.length?Ar(this)+1:-1),this.count--,this.s}}class sr extends Xs{constructor(A){super(A),this.s=0,this.count=0}read(){if(0===this.count){this.s=er(this);const A=Qs(this.s);this.count=1,A&&(this.s=-this.s,this.count=Ar(this)+2)}return this.count--,this.s}}class rr extends Xs{constructor(A){super(A),this.s=0,this.count=0,this.diff=0}read(){if(0===this.count){const A=er(this),e=1&A;this.diff=rs(A/2),this.count=1,e&&(this.count=Ar(this)+2)}return this.s+=this.diff,this.count--,this.s}}class or{constructor(A){this.decoder=new sr(A),this.str=tr(this.decoder),this.spos=0}read(){const A=this.spos+this.decoder.read(),e=this.str.slice(this.spos,A);return this.spos=A,e}}const cr=crypto.getRandomValues.bind(crypto),gr=Math.random,Qr=()=>cr(new Uint32Array(1))[0],ar=[1e7]+-1e3+-4e3+-8e3+-1e11,lr=()=>ar.replace(/[018]/g,(A=>(A^Qr()&15>>A/4).toString(16))),hr=Date.now,Mr=A=>new Promise(A);Promise.all.bind(Promise);let wr=new class{constructor(){this.map=new Map}setItem(A,e){this.map.set(A,e)}getItem(A){return this.map.get(A)}};try{"undefined"!=typeof localStorage&&localStorage&&(wr=localStorage)}catch(A){}const Rr=wr,Ir=Object.assign,ur=Object.keys,dr=A=>ur(A).length,Gr=(A,e,t=0)=>{try{for(;tA,kr="undefined"!=typeof process&&process.release&&/node|io\.js/.test(process.release.name)&&"[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0),Dr="undefined"!=typeof window&&"undefined"!=typeof document&&!kr;let Yr;"undefined"!=typeof navigator&&/Mac/.test(navigator.platform);const Fr=A=>(()=>{if(void 0===Yr)if(kr){Yr=$E();const A=process.argv;let e=null;for(let t=0;t{if(0!==A.length){const[e,t]=A.split("=");Yr.set(`--${us(e,"-")}`,t),Yr.set(`-${us(e,"-")}`,t)}}))):Yr=$E();return Yr})().has(A),Ur=A=>{return void 0===(e=kr?process.env[A.toUpperCase()]:Rr.getItem(A))?null:e;var e};Fr("--"+"production")||Ur("production");const fr=kr&&(Nr=process.env.FORCE_COLOR,["true","1","2"].includes(Nr));var Nr;const Sr=!Fr("no-colors")&&(!kr||process.stdout.isTTY||fr)&&(!kr||Fr("color")||fr||null!==Ur("COLORTERM")||(Ur("TERM")||"").includes("color"));class mr{constructor(A,e){this.left=A,this.right=e}}const yr=(A,e)=>new mr(A,e),br="undefined"!=typeof document?document:{};"undefined"!=typeof DOMParser&&new DOMParser;const Hr=(Tr=clearTimeout,class{constructor(A){this._=A}destroy(){Tr(this._)}});var Tr;const zr=(A,e)=>new Hr(setTimeout(e,A)),xr=Symbol,pr=xr(),Jr=xr(),jr=xr(),Zr=xr(),Pr=xr(),Vr=xr(),Lr=xr(),vr=xr(),Or=xr(),_r={[pr]:yr("font-weight","bold"),[Jr]:yr("font-weight","normal"),[jr]:yr("color","blue"),[Pr]:yr("color","green"),[Zr]:yr("color","grey"),[Vr]:yr("color","red"),[Lr]:yr("color","purple"),[vr]:yr("color","orange"),[Or]:yr("color","black")},Kr=Sr?A=>{const e=[],t=[],n=$E();let i=[],B=0;for(;B{const t=[];for(const[n,i]of A)t.push(e(i,n));return t})(n,((A,e)=>`${e}:${A};`)).join("");B>0||A.length>0?(e.push("%c"+i),t.push(A)):e.push(i)}}}for(B>0&&(i=t,i.unshift(e.join("")));B{const e=[];let t=0;for(;t({[Symbol.iterator](){return this},next:A}),qr=(A,e)=>Wr((()=>{const{done:t,value:n}=A.next();return{done:t,value:t?void 0:e(n)}}));class $r{constructor(A,e){this.clock=A,this.len=e}}class Ao{constructor(){this.clients=new Map}}const eo=(A,e,t)=>e.clients.forEach(((e,n)=>{const i=A.doc.store.clients.get(n);for(let n=0;n{const t=A.clients.get(e.client);return void 0!==t&&null!==((A,e)=>{let t=0,n=A.length-1;for(;t<=n;){const i=rs((t+n)/2),B=A[i],E=B.clock;if(E<=e){if(e{A.clients.forEach((A=>{let e,t;for(A.sort(((A,e)=>A.clock-e.clock)),e=1,t=1;e=i.clock?n.len=gs(n.len,i.clock+i.len-n.clock):(t{const e=new Ao;for(let t=0;t{if(!e.clients.has(i)){const B=n.slice();for(let e=t+1;e{es(A.clients,e,(()=>[])).push(new $r(t,n))},Eo=()=>new Ao,so=A=>{const e=Eo();return A.clients.forEach(((A,t)=>{const n=[];for(let e=0;e0&&e.clients.set(t,n)})),e},ro=(A,e)=>{fs(A.restEncoder,e.clients.size),Bs(e.clients.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([e,t])=>{A.resetDsCurVal(),fs(A.restEncoder,e);const n=t.length;fs(A.restEncoder,n);for(let e=0;e{const e=new Ao,t=Ar(A.restDecoder);for(let n=0;n0){const i=es(e.clients,t,(()=>[]));for(let e=0;e{const n=new Ao,i=Ar(A.restDecoder);for(let B=0;B0){const A=new uo;return fs(A.restEncoder,0),ro(A,n),A.toUint8Array()}return null},go=Qr;class Qo extends ss{constructor({guid:A=lr(),collectionid:e=null,gc:t=!0,gcFilter:n=(()=>!0),meta:i=null,autoLoad:B=!1,shouldLoad:E=!0}={}){super(),this.gc=t,this.gcFilter=n,this.clientID=go(),this.guid=A,this.collectionid=e,this.share=new Map,this.store=new vo,this._transaction=null,this._transactionCleanups=[],this.subdocs=new Set,this._item=null,this.shouldLoad=E,this.autoLoad=B,this.meta=i,this.isLoaded=!1,this.isSynced=!1,this.whenLoaded=Mr((A=>{this.on("load",(()=>{this.isLoaded=!0,A(this)}))}));const s=()=>Mr((A=>{const e=t=>{void 0!==t&&!0!==t||(this.off("sync",e),A())};this.on("sync",e)}));this.on("sync",(A=>{!1===A&&this.isSynced&&(this.whenSynced=s()),this.isSynced=void 0===A||!0===A,this.isSynced&&!this.isLoaded&&this.emit("load",[])})),this.whenSynced=s()}load(){const A=this._item;null===A||this.shouldLoad||sc(A.parent.doc,(A=>{A.subdocsLoaded.add(this)}),null,!0),this.shouldLoad=!0}getSubdocs(){return this.subdocs}getSubdocGuids(){return new Set(Bs(this.subdocs).map((A=>A.guid)))}transact(A,e=null){return sc(this,A,e)}get(A,e=Sc){const t=es(this.share,A,(()=>{const A=new e;return A._integrate(this,null),A})),n=t.constructor;if(e!==Sc&&n!==e){if(n===Sc){const n=new e;n._map=t._map,t._map.forEach((A=>{for(;null!==A;A=A.left)A.parent=n})),n._start=t._start;for(let A=n._start;null!==A;A=A.right)A.parent=n;return n._length=t._length,this.share.set(A,n),n._integrate(this,null),n}throw new Error(`Type with the name ${A} has already been defined with a different constructor`)}return t}getArray(A=""){return this.get(A,Xc)}getText(A=""){return this.get(A,lg)}getMap(A=""){return this.get(A,qc)}getXmlFragment(A=""){return this.get(A,Mg)}toJSON(){const A={};return this.share.forEach(((e,t)=>{A[t]=e.toJSON()})),A}destroy(){Bs(this.subdocs).forEach((A=>A.destroy()));const A=this._item;if(null!==A){this._item=null;const e=A.content;e.doc=new Qo({guid:this.guid,...e.opts,shouldLoad:!1}),e.doc._item=A,sc(A.parent.doc,(t=>{A.deleted||t.subdocsAdded.add(e.doc),t.subdocsRemoved.add(this)}),null,!0)}this.emit("destroyed",[!0]),this.emit("destroy",[this]),super.destroy()}on(A,e){super.on(A,e)}off(A,e){super.off(A,e)}}class ao{constructor(A){this.restDecoder=A}resetDsCurVal(){}readDsClock(){return Ar(this.restDecoder)}readDsLen(){return Ar(this.restDecoder)}}class lo extends ao{readLeftID(){return yo(Ar(this.restDecoder),Ar(this.restDecoder))}readRightID(){return yo(Ar(this.restDecoder),Ar(this.restDecoder))}readClient(){return Ar(this.restDecoder)}readInfo(){return $s(this.restDecoder)}readString(){return tr(this.restDecoder)}readParentInfo(){return 1===Ar(this.restDecoder)}readTypeRef(){return Ar(this.restDecoder)}readLen(){return Ar(this.restDecoder)}readAny(){return Br(this.restDecoder)}readBuf(){return(A=>{const e=new Uint8Array(A.byteLength);return e.set(A),e})(qs(this.restDecoder))}readJSON(){return JSON.parse(tr(this.restDecoder))}readKey(){return tr(this.restDecoder)}}class ho{constructor(A){this.dsCurrVal=0,this.restDecoder=A}resetDsCurVal(){this.dsCurrVal=0}readDsClock(){return this.dsCurrVal+=Ar(this.restDecoder),this.dsCurrVal}readDsLen(){const A=Ar(this.restDecoder)+1;return this.dsCurrVal+=A,A}}class Mo extends ho{constructor(A){super(A),this.keys=[],Ar(A),this.keyClockDecoder=new rr(qs(A)),this.clientDecoder=new sr(qs(A)),this.leftClockDecoder=new rr(qs(A)),this.rightClockDecoder=new rr(qs(A)),this.infoDecoder=new Er(qs(A),$s),this.stringDecoder=new or(qs(A)),this.parentInfoDecoder=new Er(qs(A),$s),this.typeRefDecoder=new sr(qs(A)),this.lenDecoder=new sr(qs(A))}readLeftID(){return new So(this.clientDecoder.read(),this.leftClockDecoder.read())}readRightID(){return new So(this.clientDecoder.read(),this.rightClockDecoder.read())}readClient(){return this.clientDecoder.read()}readInfo(){return this.infoDecoder.read()}readString(){return this.stringDecoder.read()}readParentInfo(){return 1===this.parentInfoDecoder.read()}readTypeRef(){return this.typeRefDecoder.read()}readLen(){return this.lenDecoder.read()}readAny(){return Br(this.restDecoder)}readBuf(){return qs(this.restDecoder)}readJSON(){return Br(this.restDecoder)}readKey(){const A=this.keyClockDecoder.read();if(A{const n=new Map;t.forEach(((A,t)=>{_o(e,t)>A&&n.set(t,A)})),Oo(e).forEach(((A,e)=>{t.has(e)||n.set(e,0)})),fs(A.restEncoder,n.size),Bs(n.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([t,n])=>{((A,e,t,n)=>{n=gs(n,e[0].id.clock);const i=Xo(e,n);fs(A.restEncoder,e.length-i),A.writeClient(t),fs(A.restEncoder,n);const B=e[i];B.write(A,n-B.id.clock);for(let t=i+1;t{const i=Ws(e);((A,e,t,n=new Mo(A))=>{sc(e,(A=>{A.local=!1;let e=!1;const t=A.doc,i=t.store,B=((A,e)=>{const t=$E(),n=Ar(A.restDecoder);for(let i=0;i{const n=[];let i=Bs(t.keys()).sort(((A,e)=>A-e));if(0===i.length)return null;const B=()=>{if(0===i.length)return null;let A=t.get(i[i.length-1]);for(;A.refs.length===A.i;){if(i.pop(),!(i.length>0))return null;A=t.get(i[i.length-1])}return A};let E=B();if(null===E)return null;const s=new vo,r=new Map,o=(A,e)=>{const t=r.get(A);(null==t||t>e)&&r.set(A,e)};let c=E.refs[E.i++];const g=new Map,Q=()=>{for(const A of n){const e=A.id.client,n=t.get(e);n?(n.i--,s.clients.set(e,n.refs.slice(n.i)),t.delete(e),n.i=0,n.refs=[]):s.clients.set(e,[A]),i=i.filter((A=>A!==e))}n.length=0};for(;;){if(c.constructor!==Kg){const i=es(g,c.id.client,(()=>_o(e,c.id.client)))-c.id.clock;if(i<0)n.push(c),o(c.id.client,c.id.clock-1),Q();else{const B=c.getMissing(A,e);if(null!==B){n.push(c);const A=t.get(B)||{refs:[],i:0};if(A.refs.length!==A.i){c=A.refs[A.i++];continue}o(B,_o(e,B)),Q()}else(0===i||i0)c=n.pop();else if(null!==E&&E.i0){const A=new uo;return Go(A,s,new Map),fs(A.restEncoder,0),{missing:r,update:A.toUint8Array()}}return null})(A,i,B),s=i.pendingStructs;if(s){for(const[A,t]of s.missing)if(t<_o(i,A)){e=!0;break}if(E){for(const[A,e]of E.missing){const t=s.missing.get(A);(null==t||t>e)&&s.missing.set(A,e)}s.update=Mc([s.update,E.update])}}else i.pendingStructs=E;const r=co(n,A,i);if(i.pendingDs){const e=new Mo(Ws(i.pendingDs));Ar(e.restDecoder);const t=co(e,A,i);i.pendingDs=r&&t?Mc([r,t]):r||t}else i.pendingDs=r;if(e){const e=i.pendingStructs.update;i.pendingStructs=null,Co(A.doc,e)}}),t,!1)})(i,A,t,new n(i))},ko=A=>(A=>{const e=new Map,t=Ar(A.restDecoder);for(let n=0;n(fs(A.restEncoder,e.size),Bs(e.entries()).sort(((A,e)=>e[0]-A[0])).forEach((([e,t])=>{fs(A.restEncoder,e),fs(A.restEncoder,t)})),A);class Yo{constructor(){this.l=[]}}const Fo=()=>new Yo,Uo=(A,e)=>A.l.push(e),fo=(A,e)=>{const t=A.l,n=t.length;A.l=t.filter((A=>e!==A)),n===A.l.length&&console.error("[yjs] Tried to remove event handler that doesn't exist.")},No=(A,e,t)=>Gr(A.l,[e,t]);class So{constructor(A,e){this.client=A,this.clock=e}}const mo=(A,e)=>A===e||null!==A&&null!==e&&A.client===e.client&&A.clock===e.clock,yo=(A,e)=>new So(A,e),bo=A=>{for(const[e,t]of A.doc.share.entries())if(t===A)return e;throw Os()},Ho=(A,e)=>{for(;null!==e;){if(e.parent===A)return!0;e=e.parent._item}return!1};class To{constructor(A,e,t,n=0){this.type=A,this.tname=e,this.item=t,this.assoc=n}}const zo=A=>new To(null==A.type?null:yo(A.type.client,A.type.clock),A.tname||null,null==A.item?null:yo(A.item.client,A.item.clock),null==A.assoc?0:A.assoc);class xo{constructor(A,e,t=0){this.type=A,this.index=e,this.assoc=t}}const po=(A,e,t)=>{let n=null,i=null;return null===A._item?i=bo(A):n=yo(A._item.id.client,A._item.id.clock),new To(n,i,e,t)},Jo=(A,e,t=0)=>{let n=A._start;if(t<0){if(0===e)return po(A,null,t);e--}for(;null!==n;){if(!n.deleted&&n.countable){if(n.length>e)return po(A,yo(n.id.client,n.id.clock+e),t);e-=n.length}if(null===n.right&&t<0)return po(A,n.lastId,t);n=n.right}return po(A,null,t)},jo=(A,e)=>A===e||null!==A&&null!==e&&A.tname===e.tname&&mo(A.item,e.item)&&mo(A.type,e.type)&&A.assoc===e.assoc;class Zo{constructor(A,e){this.ds=A,this.sv=e}}const Po=(A,e)=>new Zo(A,e),Vo=(A,e)=>void 0===e?!A.deleted:e.sv.has(A.id.client)&&(e.sv.get(A.id.client)||0)>A.id.clock&&!to(e.ds,A.id),Lo=(A,e)=>{const t=es(A.meta,Lo,ts),n=A.doc.store;t.has(e)||(e.sv.forEach(((e,t)=>{e<_o(n,t)&&$o(A,yo(t,e))})),eo(A,e.ds,(()=>{})),t.add(e))};class vo{constructor(){this.clients=new Map,this.pendingStructs=null,this.pendingDs=null}}const Oo=A=>{const e=new Map;return A.clients.forEach(((A,t)=>{const n=A[A.length-1];e.set(t,n.id.clock+n.length)})),e},_o=(A,e)=>{const t=A.clients.get(e);if(void 0===t)return 0;const n=t[t.length-1];return n.id.clock+n.length},Ko=(A,e)=>{let t=A.clients.get(e.id.client);if(void 0===t)t=[],A.clients.set(e.id.client,t);else{const A=t[t.length-1];if(A.id.clock+A.length!==e.id.clock)throw Os()}t.push(e)},Xo=(A,e)=>{let t=0,n=A.length-1,i=A[n],B=i.id.clock;if(B===e)return n;let E=rs(e/(B+i.length-1)*n);for(;t<=n;){if(i=A[E],B=i.id.clock,B<=e){if(e{const t=A.clients.get(e.client);return t[Xo(t,e.clock)]},qo=(A,e,t)=>{const n=Xo(e,t),i=e[n];return i.id.clock{const t=A.doc.store.clients.get(e.client);return t[qo(A,t,e.clock)]},Ac=(A,e,t)=>{const n=e.clients.get(t.client),i=Xo(n,t.clock),B=n[i];return t.clock!==B.id.clock+B.length-1&&B.constructor!==Gg&&n.splice(i+1,0,Pg(A,B,t.clock-B.id.clock+1)),B},ec=(A,e,t,n,i)=>{if(0===n)return;const B=t+n;let E,s=qo(A,e,t);do{E=e[s++],B!(0===e.deleteSet.clients.size&&!(A=>{for(const[n,i]of A)if(t=i,e.beforeState.get(n)!==t)return!0;var t;return!1})(e.afterState)||(no(e.deleteSet),((A,e)=>{Go(A,e.doc.store,e.beforeState)})(A,e),ro(A,e.deleteSet),0)),ic=(A,e,t)=>{const n=e._item;(null===n||n.id.clock<(A.beforeState.get(n.id.client)||0)&&!n.deleted)&&es(A.changed,e,ts).add(t)},Bc=(A,e)=>{let t=A[e],n=A[e-1],i=e;for(;i>0&&n.deleted===t.deleted&&n.constructor===t.constructor&&n.mergeWith(t);t=n,n=A[--i-1])t instanceof vg&&null!==t.parentSub&&t.parent._map.get(t.parentSub)===t&&t.parent._map.set(t.parentSub,n);const B=e-i;return B&&A.splice(e+1-B,B),B},Ec=(A,e)=>{if(eA.push((()=>{null!==n._item&&n._item.deleted||n._callObserver(t,e)})))),A.push((()=>{t.changedParentTypes.forEach(((A,e)=>{e._dEH.l.length>0&&(null===e._item||!e._item.deleted)&&((A=A.filter((A=>null===A.target._item||!A.target._item.deleted))).forEach((A=>{A.currentTarget=e,A._path=null})),A.sort(((A,e)=>A.path.length-e.path.length)),No(e._dEH,A,t))}))})),A.push((()=>n.emit("afterTransaction",[t,n]))),Gr(A,[]),t._needFormattingCleanup&&gg(t)}finally{n.gc&&((A,e,t)=>{for(const[n,i]of A.clients.entries()){const A=e.clients.get(n);for(let n=i.length-1;n>=0;n--){const B=i[n],E=B.clock+B.len;for(let n=Xo(A,B.clock),i=A[n];n{A.clients.forEach(((A,t)=>{const n=e.clients.get(t);for(let e=A.length-1;e>=0;e--){const t=A[e];for(let A=cs(n.length-1,1+Xo(n,t.clock+t.len-1)),e=n[A];A>0&&e.id.clock>=t.clock;e=n[A])A-=1+Bc(n,A)}}))})(B,i),t.afterState.forEach(((A,e)=>{const n=t.beforeState.get(e)||0;if(n!==A){const A=i.clients.get(e),t=gs(Xo(A,n),1);for(let e=A.length-1;e>=t;)e-=1+Bc(A,e)}}));for(let A=E.length-1;A>=0;A--){const{client:e,clock:t}=E[A].id,n=i.clients.get(e),B=Xo(n,t);B+11||B>0&&Bc(n,B)}if(t.local||t.afterState.get(n.clientID)===t.beforeState.get(n.clientID)||(((...A)=>{console.log(...Kr(A)),Xr.forEach((e=>e.print(A)))})(vr,pr,"[yjs] ",Jr,Vr,"Changed the client-id because another client seems to be using it."),n.clientID=go()),n.emit("afterTransactionCleanup",[t,n]),n._observers.has("update")){const A=new Ro;nc(A,t)&&n.emit("update",[A.toUint8Array(),t.origin,n,t])}if(n._observers.has("updateV2")){const A=new uo;nc(A,t)&&n.emit("updateV2",[A.toUint8Array(),t.origin,n,t])}const{subdocsAdded:s,subdocsLoaded:r,subdocsRemoved:o}=t;(s.size>0||o.size>0||r.size>0)&&(s.forEach((A=>{A.clientID=n.clientID,null==A.collectionid&&(A.collectionid=n.collectionid),n.subdocs.add(A)})),o.forEach((A=>n.subdocs.delete(A))),n.emit("subdocs",[{loaded:r,added:s,removed:o},n,t]),o.forEach((A=>A.destroy()))),A.length<=e+1?(n._transactionCleanups=[],n.emit("afterAllTransactions",[n,A])):Ec(A,e+1)}}},sc=(A,e,t=null,n=!0)=>{const i=A._transactionCleanups;let B=!1,E=null;null===A._transaction&&(B=!0,A._transaction=new tc(A,t,n),i.push(A._transaction),1===i.length&&A.emit("beforeAllTransactions",[A]),A.emit("beforeTransaction",[A._transaction,A]));try{E=e(A._transaction)}finally{if(B){const e=A._transaction===i[0];A._transaction=null,e&&Ec(i,0)}}return E};class rc{constructor(A,e){this.insertions=e,this.deletions=A,this.meta=new Map}}const oc=(A,e,t)=>{eo(A,t.deletions,(A=>{A instanceof vg&&e.scope.some((e=>Ho(e,A)))&&Zg(A,!1)}))},cc=(A,e,t)=>{let n=null,i=null;const B=A.doc,E=A.scope;return sc(B,(t=>{for(;e.length>0&&null===n;){const i=B.store,s=e.pop(),r=new Set,o=[];let c=!1;eo(t,s.insertions,(A=>{if(A instanceof vg){if(null!==A.redone){let{item:e,diff:n}=jg(i,A.id);n>0&&(e=$o(t,yo(e.id.client,e.id.clock+n))),A=e}!A.deleted&&E.some((e=>Ho(e,A)))&&o.push(A)}})),eo(t,s.deletions,(A=>{A instanceof vg&&E.some((e=>Ho(e,A)))&&!to(s.insertions,A.id)&&r.add(A)})),r.forEach((e=>{c=null!==Lg(t,e,r,s.insertions,A.ignoreRemoteMapChanges,A)||c}));for(let e=o.length-1;e>=0;e--){const n=o[e];A.deleteFilter(n)&&(n.delete(t),c=!0)}n=c?s:null}t.changed.forEach(((A,e)=>{A.has(null)&&e._searchMarker&&(e._searchMarker.length=0)})),i=t}),A),null!=n&&A.emit("stack-item-popped",[{stackItem:n,type:t,changedParentTypes:i.changedParentTypes},A]),n};class gc extends ss{constructor(A,{captureTimeout:e=500,captureTransaction:t=(()=>!0),deleteFilter:n=(()=>!0),trackedOrigins:i=new Set([null]),ignoreRemoteMapChanges:B=!1,doc:E=(Es(A)?A[0].doc:A.doc)}={}){super(),this.scope=[],this.doc=E,this.addToScope(A),this.deleteFilter=n,i.add(this),this.trackedOrigins=i,this.captureTransaction=t,this.undoStack=[],this.redoStack=[],this.undoing=!1,this.redoing=!1,this.lastChange=0,this.ignoreRemoteMapChanges=B,this.captureTimeout=e,this.afterTransactionHandler=A=>{if(!(this.captureTransaction(A)&&this.scope.some((e=>A.changedParentTypes.has(e)))&&(this.trackedOrigins.has(A.origin)||A.origin&&this.trackedOrigins.has(A.origin.constructor))))return;const e=this.undoing,t=this.redoing,n=e?this.redoStack:this.undoStack;e?this.stopCapturing():t||this.clear(!1,!0);const i=new Ao;A.afterState.forEach(((e,t)=>{const n=A.beforeState.get(t)||0,B=e-n;B>0&&Bo(i,t,n,B)}));const B=hr();let E=!1;if(this.lastChange>0&&B-this.lastChange0&&!e&&!t){const e=n[n.length-1];e.deletions=io([e.deletions,A.deleteSet]),e.insertions=io([e.insertions,i])}else n.push(new rc(A.deleteSet,i)),E=!0;e||t||(this.lastChange=B),eo(A,A.deleteSet,(A=>{A instanceof vg&&this.scope.some((e=>Ho(e,A)))&&Zg(A,!0)}));this.emit(E?"stack-item-added":"stack-item-updated",[{stackItem:n[n.length-1],origin:A.origin,type:e?"redo":"undo",changedParentTypes:A.changedParentTypes},this])},this.doc.on("afterTransaction",this.afterTransactionHandler),this.doc.on("destroy",(()=>{this.destroy()}))}addToScope(A){(A=Es(A)?A:[A]).forEach((A=>{this.scope.every((e=>e!==A))&&(A.doc!==this.doc&&((...A)=>{console.warn(...Kr(A)),A.unshift(vr),Xr.forEach((e=>e.print(A)))})("[yjs#509] Not same Y.Doc"),this.scope.push(A))}))}addTrackedOrigin(A){this.trackedOrigins.add(A)}removeTrackedOrigin(A){this.trackedOrigins.delete(A)}clear(A=!0,e=!0){(A&&this.canUndo()||e&&this.canRedo())&&this.doc.transact((t=>{A&&(this.undoStack.forEach((A=>oc(t,this,A))),this.undoStack=[]),e&&(this.redoStack.forEach((A=>oc(t,this,A))),this.redoStack=[]),this.emit("stack-cleared",[{undoStackCleared:A,redoStackCleared:e}])}))}stopCapturing(){this.lastChange=0}undo(){let A;this.undoing=!0;try{A=cc(this,this.undoStack,"undo")}finally{this.undoing=!1}return A}redo(){let A;this.redoing=!0;try{A=cc(this,this.redoStack,"redo")}finally{this.redoing=!1}return A}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}destroy(){this.trackedOrigins.delete(this),this.doc.off("afterTransaction",this.afterTransactionHandler),super.destroy()}}class Qc{constructor(A,e){this.gen=function*(A){const e=Ar(A.restDecoder);for(let t=0;tMc(A,lo,Ro),hc=(A,e)=>{if(A.constructor===Gg){const{client:t,clock:n}=A.id;return new Gg(yo(t,n+e),A.length-e)}if(A.constructor===Kg){const{client:t,clock:n}=A.id;return new Kg(yo(t,n+e),A.length-e)}{const t=A,{client:n,clock:i}=t.id;return new vg(yo(n,i+e),null,yo(n,i+e-1),null,t.rightOrigin,t.parent,t.parentSub,t.content.splice(e))}},Mc=(A,e=Mo,t=uo)=>{if(1===A.length)return A[0];const n=A.map((A=>new e(Ws(A))));let i=n.map((A=>new Qc(A,!0))),B=null;const E=new t,s=new ac(E);for(;i=i.filter((A=>null!==A.curr)),i.sort(((A,e)=>{if(A.curr.id.client===e.curr.id.client){const t=A.curr.id.clock-e.curr.id.clock;return 0===t?A.curr.constructor===e.curr.constructor?0:A.curr.constructor===Kg?1:-1:t}return e.curr.id.client-A.curr.id.client})),0!==i.length;){const A=i[0],e=A.curr.id.client;if(null!==B){let t=A.curr,n=!1;for(;null!==t&&t.id.clock+t.length<=B.struct.id.clock+B.struct.length&&t.id.client>=B.struct.id.client;)t=A.next(),n=!0;if(null===t||t.id.client!==e||n&&t.id.clock>B.struct.id.clock+B.struct.length)continue;if(e!==B.struct.id.client)Ic(s,B.struct,B.offset),B={struct:t,offset:0},A.next();else if(B.struct.id.clock+B.struct.length0&&(B.struct.constructor===Kg?B.struct.length-=e:t=hc(t,e)),B.struct.mergeWith(t)||(Ic(s,B.struct,B.offset),B={struct:t,offset:0},A.next())}}else B={struct:A.curr,offset:0},A.next();for(let t=A.curr;null!==t&&t.id.client===e&&t.id.clock===B.struct.id.clock+B.struct.length&&t.constructor!==Kg;t=A.next())Ic(s,B.struct,B.offset),B={struct:t,offset:0}}null!==B&&(Ic(s,B.struct,B.offset),B=null),uc(s);const r=n.map((A=>oo(A))),o=io(r);return ro(E,o),E.toUint8Array()},wc=(A,e,t=Mo,n=uo)=>{const i=ko(e),B=new n,E=new ac(B),s=new t(Ws(A)),r=new Qc(s,!1);for(;r.curr;){const A=r.curr,e=A.id.client,t=i.get(e)||0;if(r.curr.constructor!==Kg)if(A.id.clock+A.length>t)for(Ic(E,A,gs(t-A.id.clock,0)),r.next();r.curr&&r.curr.id.client===e;)Ic(E,r.curr,0),r.next();else for(;r.curr&&r.curr.id.client===e&&r.curr.id.clock+r.curr.length<=t;)r.next();else r.next()}uc(E);const o=oo(s);return ro(B,o),B.toUint8Array()},Rc=A=>{A.written>0&&(A.clientStructs.push({written:A.written,restEncoder:Ys(A.encoder.restEncoder)}),A.encoder.restEncoder=Ds(),A.written=0)},Ic=(A,e,t)=>{A.written>0&&A.currClient!==e.id.client&&Rc(A),0===A.written&&(A.currClient=e.id.client,A.encoder.writeClient(e.id.client),fs(A.encoder.restEncoder,e.id.clock+t)),e.write(A.encoder,t),A.written++},uc=A=>{Rc(A);const e=A.encoder.restEncoder;fs(e,A.clientStructs.length);for(let t=0;t((A,e,t,n)=>{const i=new Mo(Ws(A)),B=new Qc(i,!1),E=new n,s=new ac(E);for(let A=B.curr;null!==A;A=B.next())Ic(s,e(A),0);uc(s);const r=oo(i);return ro(E,r),E.toUint8Array()})(A,Cr,0,Ro),Gc="You must not compute changes after the event-handler fired.";class Cc{constructor(A,e){this.target=A,this.currentTarget=A,this.transaction=e,this._changes=null,this._keys=null,this._delta=null,this._path=null}get path(){return this._path||(this._path=kc(this.currentTarget,this.target))}deletes(A){return to(this.transaction.deleteSet,A.id)}get keys(){if(null===this._keys){if(0===this.transaction.doc._transactionCleanups.length)throw Ls(Gc);const A=new Map,e=this.target;this.transaction.changed.get(e).forEach((t=>{if(null!==t){const n=e._map.get(t);let i,B;if(this.adds(n)){let A=n.left;for(;null!==A&&this.adds(A);)A=A.left;if(this.deletes(n)){if(null===A||!this.deletes(A))return;i="delete",B=ns(A.content.getContent())}else null!==A&&this.deletes(A)?(i="update",B=ns(A.content.getContent())):(i="add",B=void 0)}else{if(!this.deletes(n))return;i="delete",B=ns(n.content.getContent())}A.set(t,{action:i,oldValue:B})}})),this._keys=A}return this._keys}get delta(){return this.changes.delta}adds(A){return A.id.clock>=(this.transaction.beforeState.get(A.id.client)||0)}get changes(){let A=this._changes;if(null===A){if(0===this.transaction.doc._transactionCleanups.length)throw Ls(Gc);const e=this.target,t=ts(),n=ts(),i=[];if(A={added:t,deleted:n,delta:i,keys:this.keys},this.transaction.changed.get(e).has(null)){let A=null;const B=()=>{A&&i.push(A)};for(let i=e._start;null!==i;i=i.right)i.deleted?this.deletes(i)&&!this.adds(i)&&(null!==A&&void 0!==A.delete||(B(),A={delete:0}),A.delete+=i.length,n.add(i)):this.adds(i)?(null!==A&&void 0!==A.insert||(B(),A={insert:[]}),A.insert=A.insert.concat(i.content.getContent()),t.add(i)):(null!==A&&void 0!==A.retain||(B(),A={retain:0}),A.retain+=i.length);null!==A&&void 0===A.retain&&B()}this._changes=A}return A}}const kc=(A,e)=>{const t=[];for(;null!==e._item&&e!==A;){if(null!==e._item.parentSub)t.unshift(e._item.parentSub);else{let A=0,n=e._item.parent._start;for(;n!==e._item&&null!==n;)n.deleted||A++,n=n.right;t.unshift(A)}e=e._item.parent}return t};let Dc=0;class Yc{constructor(A,e){A.marker=!0,this.p=A,this.index=e,this.timestamp=Dc++}}const Fc=(A,e,t)=>{A.p.marker=!1,A.p=e,e.marker=!0,A.index=t,A.timestamp=Dc++},Uc=(A,e)=>{if(null===A._start||0===e||null===A._searchMarker)return null;const t=0===A._searchMarker.length?null:A._searchMarker.reduce(((A,t)=>os(e-A.index){A.timestamp=Dc++})(t));null!==n.right&&ie;)n=n.left,!n.deleted&&n.countable&&(i-=n.length);for(;null!==n.left&&n.left.id.client===n.id.client&&n.left.id.clock+n.left.length===n.id.clock;)n=n.left,!n.deleted&&n.countable&&(i-=n.length);return null!==t&&os(t.index-i){if(A.length>=80){const n=A.reduce(((A,e)=>A.timestamp{for(let n=A.length-1;n>=0;n--){const i=A[n];if(t>0){let e=i.p;for(e.marker=!1;e&&(e.deleted||!e.countable);)e=e.left,e&&!e.deleted&&e.countable&&(i.index-=e.length);if(null===e||!0===e.marker){A.splice(n,1);continue}i.p=e,e.marker=!0}(e0&&e===i.index)&&(i.index=gs(e,i.index+t))}},Nc=(A,e,t)=>{const n=A,i=e.changedParentTypes;for(;es(i,A,(()=>[])).push(t),null!==A._item;)A=A._item.parent;No(n._eH,t,e)};class Sc{constructor(){this._item=null,this._map=new Map,this._start=null,this.doc=null,this._length=0,this._eH=Fo(),this._dEH=Fo(),this._searchMarker=null}get parent(){return this._item?this._item.parent:null}_integrate(A,e){this.doc=A,this._item=e}_copy(){throw vs()}clone(){throw vs()}_write(A){}get _first(){let A=this._start;for(;null!==A&&A.deleted;)A=A.right;return A}_callObserver(A,e){!A.local&&this._searchMarker&&(this._searchMarker.length=0)}observe(A){Uo(this._eH,A)}observeDeep(A){Uo(this._dEH,A)}unobserve(A){fo(this._eH,A)}unobserveDeep(A){fo(this._dEH,A)}toJSON(){}}const mc=(A,e,t)=>{e<0&&(e=A._length+e),t<0&&(t=A._length+t);let n=t-e;const i=[];let B=A._start;for(;null!==B&&n>0;){if(B.countable&&!B.deleted){const A=B.content.getContent();if(A.length<=e)e-=A.length;else{for(let t=e;t0;t++)i.push(A[t]),n--;e=0}}B=B.right}return i},yc=A=>{const e=[];let t=A._start;for(;null!==t;){if(t.countable&&!t.deleted){const A=t.content.getContent();for(let t=0;t{const t=[];let n=A._start;for(;null!==n;){if(n.countable&&Vo(n,e)){const A=n.content.getContent();for(let e=0;e{let t=0,n=A._start;for(;null!==n;){if(n.countable&&!n.deleted){const i=n.content.getContent();for(let n=0;n{const t=[];return Hc(A,((n,i)=>{t.push(e(n,i,A))})),t},zc=A=>{let e=A._start,t=null,n=0;return{[Symbol.iterator](){return this},next:()=>{if(null===t){for(;null!==e&&e.deleted;)e=e.right;if(null===e)return{done:!0,value:void 0};t=e.content.getContent(),n=0,e=e.right}const A=t[n++];return t.length<=n&&(t=null),{done:!1,value:A}}}},xc=(A,e)=>{const t=Uc(A,e);let n=A._start;for(null!==t&&(n=t.p,e-=t.index);null!==n;n=n.right)if(!n.deleted&&n.countable){if(e{let i=t;const B=A.doc,E=B.clientID,s=B.store,r=null===t?e._start:t.right;let o=[];const c=()=>{o.length>0&&(i=new vg(yo(E,_o(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new Ng(o)),i.integrate(A,0),o=[])};n.forEach((t=>{if(null===t)o.push(t);else switch(t.constructor){case Number:case Object:case Boolean:case Array:case String:o.push(t);break;default:switch(c(),t.constructor){case Uint8Array:case ArrayBuffer:i=new vg(yo(E,_o(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new Cg(new Uint8Array(t))),i.integrate(A,0);break;case Qo:i=new vg(yo(E,_o(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new Yg(t)),i.integrate(A,0);break;default:if(!(t instanceof Sc))throw new Error("Unexpected content type in insert operation");i=new vg(yo(E,_o(s,E)),i,i&&i.lastId,r,r&&r.id,e,null,new Jg(t)),i.integrate(A,0)}}})),c()},Jc=()=>Ls("Length exceeded!"),jc=(A,e,t,n)=>{if(t>e._length)throw Jc();if(0===t)return e._searchMarker&&fc(e._searchMarker,t,n.length),pc(A,e,null,n);const i=t,B=Uc(e,t);let E=e._start;for(null!==B&&(E=B.p,0==(t-=B.index)&&(E=E.prev,t+=E&&E.countable&&!E.deleted?E.length:0));null!==E;E=E.right)if(!E.deleted&&E.countable){if(t<=E.length){t{if(0===n)return;const i=t,B=n,E=Uc(e,t);let s=e._start;for(null!==E&&(s=E.p,t-=E.index);null!==s&&t>0;s=s.right)!s.deleted&&s.countable&&(t0&&null!==s;)s.deleted||(n0)throw Jc();e._searchMarker&&fc(e._searchMarker,i,-B+n)},Pc=(A,e,t)=>{const n=e._map.get(t);void 0!==n&&n.delete(A)},Vc=(A,e,t,n)=>{const i=e._map.get(t)||null,B=A.doc,E=B.clientID;let s;if(null==n)s=new Ng([n]);else switch(n.constructor){case Number:case Object:case Boolean:case Array:case String:s=new Ng([n]);break;case Uint8Array:s=new Cg(n);break;case Qo:s=new Yg(n);break;default:if(!(n instanceof Sc))throw new Error("Unexpected content type");s=new Jg(n)}new vg(yo(E,_o(B.store,E)),i,i&&i.lastId,null,null,e,t,s).integrate(A,0)},Lc=(A,e)=>{const t=A._map.get(e);return void 0===t||t.deleted?void 0:t.content.getContent()[t.length-1]},vc=A=>{const e={};return A._map.forEach(((A,t)=>{A.deleted||(e[t]=A.content.getContent()[A.length-1])})),e},Oc=(A,e)=>{const t=A._map.get(e);return void 0!==t&&!t.deleted},_c=A=>{return e=A.entries(),t=A=>!A[1].deleted,Wr((()=>{let A;do{A=e.next()}while(!A.done&&!t(A.value));return A}));var e,t};class Kc extends Cc{constructor(A,e){super(A,e),this._transaction=e}}class Xc extends Sc{constructor(){super(),this._prelimContent=[],this._searchMarker=[]}static from(A){const e=new Xc;return e.push(A),e}_integrate(A,e){super._integrate(A,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new Xc}clone(){const A=new Xc;return A.insert(0,this.toArray().map((A=>A instanceof Sc?A.clone():A))),A}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}_callObserver(A,e){super._callObserver(A,e),Nc(this,A,new Kc(this,A))}insert(A,e){null!==this.doc?sc(this.doc,(t=>{jc(t,this,A,e)})):this._prelimContent.splice(A,0,...e)}push(A){null!==this.doc?sc(this.doc,(e=>{((A,e,t)=>{let n=(e._searchMarker||[]).reduce(((A,e)=>e.index>A.index?e:A),{index:0,p:e._start}).p;if(n)for(;n.right;)n=n.right;pc(A,e,n,t)})(e,this,A)})):this._prelimContent.push(...A)}unshift(A){this.insert(0,A)}delete(A,e=1){null!==this.doc?sc(this.doc,(t=>{Zc(t,this,A,e)})):this._prelimContent.splice(A,e)}get(A){return xc(this,A)}toArray(){return yc(this)}slice(A=0,e=this.length){return mc(this,A,e)}toJSON(){return this.map((A=>A instanceof Sc?A.toJSON():A))}map(A){return Tc(this,A)}forEach(A){Hc(this,A)}[Symbol.iterator](){return zc(this)}_write(A){A.writeTypeRef(yg)}}class Wc extends Cc{constructor(A,e,t){super(A,e),this.keysChanged=t}}class qc extends Sc{constructor(A){super(),this._prelimContent=null,this._prelimContent=void 0===A?new Map:new Map(A)}_integrate(A,e){super._integrate(A,e),this._prelimContent.forEach(((A,e)=>{this.set(e,A)})),this._prelimContent=null}_copy(){return new qc}clone(){const A=new qc;return this.forEach(((e,t)=>{A.set(t,e instanceof Sc?e.clone():e)})),A}_callObserver(A,e){Nc(this,A,new Wc(this,A,e))}toJSON(){const A={};return this._map.forEach(((e,t)=>{if(!e.deleted){const n=e.content.getContent()[e.length-1];A[t]=n instanceof Sc?n.toJSON():n}})),A}get size(){return[..._c(this._map)].length}keys(){return qr(_c(this._map),(A=>A[0]))}values(){return qr(_c(this._map),(A=>A[1].content.getContent()[A[1].length-1]))}entries(){return qr(_c(this._map),(A=>[A[0],A[1].content.getContent()[A[1].length-1]]))}forEach(A){this._map.forEach(((e,t)=>{e.deleted||A(e.content.getContent()[e.length-1],t,this)}))}[Symbol.iterator](){return this.entries()}delete(A){null!==this.doc?sc(this.doc,(e=>{Pc(e,this,A)})):this._prelimContent.delete(A)}set(A,e){return null!==this.doc?sc(this.doc,(t=>{Vc(t,this,A,e)})):this._prelimContent.set(A,e),e}get(A){return Lc(this,A)}has(A){return Oc(this,A)}clear(){null!==this.doc?sc(this.doc,(A=>{this.forEach((function(e,t,n){Pc(A,n,t)}))})):this._prelimContent.clear()}_write(A){A.writeTypeRef(bg)}}const $c=(A,e)=>A===e||"object"==typeof A&&"object"==typeof e&&A&&e&&((A,e)=>A===e||dr(A)===dr(e)&&((A,e)=>{for(const t in A)if(!e(A[t],t))return!1;return!0})(A,((A,t)=>(void 0!==A||((A,e)=>Object.prototype.hasOwnProperty.call(A,e))(e,t))&&e[t]===A)))(A,e);class Ag{constructor(A,e,t,n){this.left=A,this.right=e,this.index=t,this.currentAttributes=n}forward(){null===this.right&&Os(),this.right.content.constructor===Ug?this.right.deleted||ig(this.currentAttributes,this.right.content):this.right.deleted||(this.index+=this.right.length),this.left=this.right,this.right=this.right.right}}const eg=(A,e,t)=>{for(;null!==e.right&&t>0;)e.right.content.constructor===Ug?e.right.deleted||ig(e.currentAttributes,e.right.content):e.right.deleted||(t{const n=new Map,i=Uc(e,t);if(i){const e=new Ag(i.p.left,i.p,i.index,n);return eg(A,e,t-i.index)}{const i=new Ag(null,e._start,0,n);return eg(A,i,t)}},ng=(A,e,t,n)=>{for(;null!==t.right&&(!0===t.right.deleted||t.right.content.constructor===Ug&&$c(n.get(t.right.content.key),t.right.content.value));)t.right.deleted||n.delete(t.right.content.key),t.forward();const i=A.doc,B=i.clientID;n.forEach(((n,E)=>{const s=t.left,r=t.right,o=new vg(yo(B,_o(i.store,B)),s,s&&s.lastId,r,r&&r.id,e,null,new Ug(E,n));o.integrate(A,0),t.right=o,t.forward()}))},ig=(A,e)=>{const{key:t,value:n}=e;null===n?A.delete(t):A.set(t,n)},Bg=(A,e)=>{for(;null!==A.right&&(A.right.deleted||A.right.content.constructor===Ug&&$c(e[A.right.content.key]||null,A.right.content.value));)A.forward()},Eg=(A,e,t,n)=>{const i=A.doc,B=i.clientID,E=new Map;for(const s in n){const r=n[s],o=t.currentAttributes.get(s)||null;if(!$c(o,r)){E.set(s,o);const{left:n,right:c}=t;t.right=new vg(yo(B,_o(i.store,B)),n,n&&n.lastId,c,c&&c.id,e,null,new Ug(s,r)),t.right.integrate(A,0),t.forward()}}return E},sg=(A,e,t,n,i)=>{t.currentAttributes.forEach(((A,e)=>{void 0===i[e]&&(i[e]=null)}));const B=A.doc,E=B.clientID;Bg(t,i);const s=Eg(A,e,t,i),r=n.constructor===String?new Sg(n):n instanceof Sc?new Jg(n):new Fg(n);let{left:o,right:c,index:g}=t;e._searchMarker&&fc(e._searchMarker,t.index,r.getLength()),c=new vg(yo(E,_o(B.store,E)),o,o&&o.lastId,c,c&&c.id,e,null,r),c.integrate(A,0),t.right=c,t.index=g,t.forward(),ng(A,e,t,s)},rg=(A,e,t,n,i)=>{const B=A.doc,E=B.clientID;Bg(t,i);const s=Eg(A,e,t,i);A:for(;null!==t.right&&(n>0||s.size>0&&(t.right.deleted||t.right.content.constructor===Ug));){if(!t.right.deleted)switch(t.right.content.constructor){case Ug:{const{key:e,value:B}=t.right.content,E=i[e];if(void 0!==E){if($c(E,B))s.delete(e);else{if(0===n)break A;s.set(e,B)}t.right.delete(A)}else t.currentAttributes.set(e,B);break}default:n0){let i="";for(;n>0;n--)i+="\n";t.right=new vg(yo(E,_o(B.store,E)),t.left,t.left&&t.left.lastId,t.right,t.right&&t.right.id,e,null,new Sg(i)),t.right.integrate(A,0),t.forward()}ng(A,e,t,s)},og=(A,e,t,n,i)=>{let B=e;const E=$E();for(;B&&(!B.countable||B.deleted);){if(!B.deleted&&B.content.constructor===Ug){const A=B.content;E.set(A.key,A)}B=B.right}let s=0,r=!1;for(;e!==B;){if(t===e&&(r=!0),!e.deleted){const t=e.content;switch(t.constructor){case Ug:{const{key:B,value:o}=t,c=n.get(B)||null;E.get(B)===t&&c!==o||(e.delete(A),s++,r||(i.get(B)||null)!==o||c===o||(null===c?i.delete(B):i.set(B,c))),r||e.deleted||ig(i,t);break}}}e=e.right}return s},cg=A=>{let e=0;return sc(A.doc,(t=>{let n=A._start,i=A._start,B=$E();const E=As(B);for(;i;)!1===i.deleted&&(i.content.constructor===Ug?ig(E,i.content):(e+=og(t,n,i,B,E),B=As(E),n=i)),i=i.right})),e},gg=A=>{const e=new Set,t=A.doc;for(const[n,i]of A.afterState.entries()){const B=A.beforeState.get(n)||0;i!==B&&ec(A,t.store.clients.get(n),B,i,(A=>{A.deleted||A.content.constructor!==Ug||A.constructor===Gg||e.add(A.parent)}))}sc(t,(t=>{eo(A,A.deleteSet,(A=>{A instanceof Gg||!A.parent._hasFormatting||e.has(A.parent)||(A.content.constructor===Ug?e.add(A.parent):((A,e)=>{for(;e&&e.right&&(e.right.deleted||!e.right.countable);)e=e.right;const t=new Set;for(;e&&(e.deleted||!e.countable);){if(!e.deleted&&e.content.constructor===Ug){const n=e.content.key;t.has(n)?e.delete(A):t.add(n)}e=e.left}})(t,A))}));for(const A of e)cg(A)}))},Qg=(A,e,t)=>{const n=t,i=As(e.currentAttributes),B=e.right;for(;t>0&&null!==e.right;){if(!1===e.right.deleted)switch(e.right.content.constructor){case Jg:case Fg:case Sg:t{null===A?this.childListChanged=!0:this.keysChanged.add(A)}))}get changes(){if(null===this._changes){const A={keys:this.keys,delta:this.delta,added:new Set,deleted:new Set};this._changes=A}return this._changes}get delta(){if(null===this._delta){const A=[];sc(this.target.doc,(e=>{const t=new Map,n=new Map;let i=this.target._start,B=null;const E={};let s="",r=0,o=0;const c=()=>{if(null!==B){let e=null;switch(B){case"delete":o>0&&(e={delete:o}),o=0;break;case"insert":("object"==typeof s||s.length>0)&&(e={insert:s},t.size>0&&(e.attributes={},t.forEach(((A,t)=>{null!==A&&(e.attributes[t]=A)})))),s="";break;case"retain":r>0&&(e={retain:r},(A=>{for(const e in A)return!1;return!0})(E)||(e.attributes=Ir({},E))),r=0}e&&A.push(e),B=null}};for(;null!==i;){switch(i.content.constructor){case Jg:case Fg:this.adds(i)?this.deletes(i)||(c(),B="insert",s=i.content.getContent()[0],c()):this.deletes(i)?("delete"!==B&&(c(),B="delete"),o+=1):i.deleted||("retain"!==B&&(c(),B="retain"),r+=1);break;case Sg:this.adds(i)?this.deletes(i)||("insert"!==B&&(c(),B="insert"),s+=i.content.str):this.deletes(i)?("delete"!==B&&(c(),B="delete"),o+=i.length):i.deleted||("retain"!==B&&(c(),B="retain"),r+=i.length);break;case Ug:{const{key:A,value:s}=i.content;if(this.adds(i)){if(!this.deletes(i)){const r=t.get(A)||null;$c(r,s)?null!==s&&i.delete(e):("retain"===B&&c(),$c(s,n.get(A)||null)?delete E[A]:E[A]=s)}}else if(this.deletes(i)){n.set(A,s);const e=t.get(A)||null;$c(e,s)||("retain"===B&&c(),E[A]=e)}else if(!i.deleted){n.set(A,s);const t=E[A];void 0!==t&&($c(t,s)?null!==t&&i.delete(e):("retain"===B&&c(),null===s?delete E[A]:E[A]=s))}i.deleted||("insert"===B&&c(),ig(t,i.content));break}}i=i.right}for(c();A.length>0;){const e=A[A.length-1];if(void 0===e.retain||void 0!==e.attributes)break;A.pop()}})),this._delta=A}return this._delta}}class lg extends Sc{constructor(A){super(),this._pending=void 0!==A?[()=>this.insert(0,A)]:[],this._searchMarker=[],this._hasFormatting=!1}get length(){return this._length}_integrate(A,e){super._integrate(A,e);try{this._pending.forEach((A=>A()))}catch(A){console.error(A)}this._pending=null}_copy(){return new lg}clone(){const A=new lg;return A.applyDelta(this.toDelta()),A}_callObserver(A,e){super._callObserver(A,e);const t=new ag(this,A,e);Nc(this,A,t),!A.local&&this._hasFormatting&&(A._needFormattingCleanup=!0)}toString(){let A="",e=this._start;for(;null!==e;)!e.deleted&&e.countable&&e.content.constructor===Sg&&(A+=e.content.str),e=e.right;return A}toJSON(){return this.toString()}applyDelta(A,{sanitize:e=!0}={}){null!==this.doc?sc(this.doc,(t=>{const n=new Ag(null,this._start,0,new Map);for(let i=0;i0)&&sg(t,this,n,E,B.attributes||{})}else void 0!==B.retain?rg(t,this,n,B.retain,B.attributes||{}):void 0!==B.delete&&Qg(t,n,B.delete)}})):this._pending.push((()=>this.applyDelta(A)))}toDelta(A,e,t){const n=[],i=new Map;let B="",E=this._start;function s(){if(B.length>0){const A={};let e=!1;i.forEach(((t,n)=>{e=!0,A[n]=t}));const t={insert:B};e&&(t.attributes=A),n.push(t),B=""}}const r=()=>{for(;null!==E;){if(Vo(E,A)||void 0!==e&&Vo(E,e))switch(E.content.constructor){case Sg:{const n=i.get("ychange");void 0===A||Vo(E,A)?void 0===e||Vo(E,e)?void 0!==n&&(s(),i.delete("ychange")):void 0!==n&&n.user===E.id.client&&"added"===n.type||(s(),i.set("ychange",t?t("added",E.id):{type:"added"})):void 0!==n&&n.user===E.id.client&&"removed"===n.type||(s(),i.set("ychange",t?t("removed",E.id):{type:"removed"})),B+=E.content.str;break}case Jg:case Fg:{s();const A={insert:E.content.getContent()[0]};if(i.size>0){const e={};A.attributes=e,i.forEach(((A,t)=>{e[t]=A}))}n.push(A);break}case Ug:Vo(E,A)&&(s(),ig(i,E.content))}E=E.right}s()};return A||e?sc(this.doc,(t=>{A&&Lo(t,A),e&&Lo(t,e),r()}),"cleanup"):r(),n}insert(A,e,t){if(e.length<=0)return;const n=this.doc;null!==n?sc(n,(n=>{const i=tg(n,this,A);t||(t={},i.currentAttributes.forEach(((A,e)=>{t[e]=A}))),sg(n,this,i,e,t)})):this._pending.push((()=>this.insert(A,e,t)))}insertEmbed(A,e,t={}){const n=this.doc;null!==n?sc(n,(n=>{const i=tg(n,this,A);sg(n,this,i,e,t)})):this._pending.push((()=>this.insertEmbed(A,e,t)))}delete(A,e){if(0===e)return;const t=this.doc;null!==t?sc(t,(t=>{Qg(t,tg(t,this,A),e)})):this._pending.push((()=>this.delete(A,e)))}format(A,e,t){if(0===e)return;const n=this.doc;null!==n?sc(n,(n=>{const i=tg(n,this,A);null!==i.right&&rg(n,this,i,e,t)})):this._pending.push((()=>this.format(A,e,t)))}removeAttribute(A){null!==this.doc?sc(this.doc,(e=>{Pc(e,this,A)})):this._pending.push((()=>this.removeAttribute(A)))}setAttribute(A,e){null!==this.doc?sc(this.doc,(t=>{Vc(t,this,A,e)})):this._pending.push((()=>this.setAttribute(A,e)))}getAttribute(A){return Lc(this,A)}getAttributes(){return vc(this)}_write(A){A.writeTypeRef(Hg)}}class hg{constructor(A,e=(()=>!0)){this._filter=e,this._root=A,this._currentNode=A._start,this._firstCall=!0}[Symbol.iterator](){return this}next(){let A=this._currentNode,e=A&&A.content&&A.content.type;if(null!==A&&(!this._firstCall||A.deleted||!this._filter(e)))do{if(e=A.content.type,A.deleted||e.constructor!==wg&&e.constructor!==Mg||null===e._start)for(;null!==A;){if(null!==A.right){A=A.right;break}A=A.parent===this._root?null:A.parent._item}else A=e._start}while(null!==A&&(A.deleted||!this._filter(A.content.type)));return this._firstCall=!1,null===A?{value:void 0,done:!0}:(this._currentNode=A,{value:A.content.type,done:!1})}}class Mg extends Sc{constructor(){super(),this._prelimContent=[]}get firstChild(){const A=this._first;return A?A.content.getContent()[0]:null}_integrate(A,e){super._integrate(A,e),this.insert(0,this._prelimContent),this._prelimContent=null}_copy(){return new Mg}clone(){const A=new Mg;return A.insert(0,this.toArray().map((A=>A instanceof Sc?A.clone():A))),A}get length(){return null===this._prelimContent?this._length:this._prelimContent.length}createTreeWalker(A){return new hg(this,A)}querySelector(A){A=A.toUpperCase();const e=new hg(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===A)).next();return e.done?null:e.value}querySelectorAll(A){return A=A.toUpperCase(),Bs(new hg(this,(e=>e.nodeName&&e.nodeName.toUpperCase()===A)))}_callObserver(A,e){Nc(this,A,new Rg(this,e,A))}toString(){return Tc(this,(A=>A.toString())).join("")}toJSON(){return this.toString()}toDOM(A=document,e={},t){const n=A.createDocumentFragment();return void 0!==t&&t._createAssociation(n,this),Hc(this,(i=>{n.insertBefore(i.toDOM(A,e,t),null)})),n}insert(A,e){null!==this.doc?sc(this.doc,(t=>{jc(t,this,A,e)})):this._prelimContent.splice(A,0,...e)}insertAfter(A,e){if(null!==this.doc)sc(this.doc,(t=>{pc(t,this,A&&A instanceof Sc?A._item:A,e)}));else{const t=this._prelimContent,n=null===A?0:t.findIndex((e=>e===A))+1;if(0===n&&null!==A)throw Ls("Reference item not found");t.splice(n,0,...e)}}delete(A,e=1){null!==this.doc?sc(this.doc,(t=>{Zc(t,this,A,e)})):this._prelimContent.splice(A,e)}toArray(){return yc(this)}push(A){this.insert(this.length,A)}unshift(A){this.insert(0,A)}get(A){return xc(this,A)}slice(A=0,e=this.length){return mc(this,A,e)}forEach(A){Hc(this,A)}_write(A){A.writeTypeRef(zg)}}class wg extends Mg{constructor(A="UNDEFINED"){super(),this.nodeName=A,this._prelimAttrs=new Map}get nextSibling(){const A=this._item?this._item.next:null;return A?A.content.type:null}get prevSibling(){const A=this._item?this._item.prev:null;return A?A.content.type:null}_integrate(A,e){super._integrate(A,e),this._prelimAttrs.forEach(((A,e)=>{this.setAttribute(e,A)})),this._prelimAttrs=null}_copy(){return new wg(this.nodeName)}clone(){const A=new wg(this.nodeName);return((A,e)=>{for(const t in A)e(A[t],t)})(this.getAttributes(),((e,t)=>{"string"==typeof e&&A.setAttribute(t,e)})),A.insert(0,this.toArray().map((A=>A instanceof Sc?A.clone():A))),A}toString(){const A=this.getAttributes(),e=[],t=[];for(const e in A)t.push(e);t.sort();const n=t.length;for(let i=0;i0?" "+e.join(" "):""}>${super.toString()}`}removeAttribute(A){null!==this.doc?sc(this.doc,(e=>{Pc(e,this,A)})):this._prelimAttrs.delete(A)}setAttribute(A,e){null!==this.doc?sc(this.doc,(t=>{Vc(t,this,A,e)})):this._prelimAttrs.set(A,e)}getAttribute(A){return Lc(this,A)}hasAttribute(A){return Oc(this,A)}getAttributes(A){return A?((A,e)=>{const t={};return this._map.forEach(((A,n)=>{let i=A;for(;null!==i&&(!e.sv.has(i.id.client)||i.id.clock>=(e.sv.get(i.id.client)||0));)i=i.left;null!==i&&Vo(i,e)&&(t[n]=i.content.getContent()[i.length-1])})),t})(0,A):vc(this)}toDOM(A=document,e={},t){const n=A.createElement(this.nodeName),i=this.getAttributes();for(const A in i){const e=i[A];"string"==typeof e&&n.setAttribute(A,e)}return Hc(this,(i=>{n.appendChild(i.toDOM(A,e,t))})),void 0!==t&&t._createAssociation(n,this),n}_write(A){A.writeTypeRef(Tg),A.writeKey(this.nodeName)}}class Rg extends Cc{constructor(A,e,t){super(A,t),this.childListChanged=!1,this.attributesChanged=new Set,e.forEach((A=>{null===A?this.childListChanged=!0:this.attributesChanged.add(A)}))}}class Ig extends qc{constructor(A){super(),this.hookName=A}_copy(){return new Ig(this.hookName)}clone(){const A=new Ig(this.hookName);return this.forEach(((e,t)=>{A.set(t,e)})),A}toDOM(A=document,e={},t){const n=e[this.hookName];let i;return i=void 0!==n?n.createDom(this):document.createElement(this.hookName),i.setAttribute("data-yjs-hook",this.hookName),void 0!==t&&t._createAssociation(i,this),i}_write(A){A.writeTypeRef(xg),A.writeKey(this.hookName)}}class ug extends lg{get nextSibling(){const A=this._item?this._item.next:null;return A?A.content.type:null}get prevSibling(){const A=this._item?this._item.prev:null;return A?A.content.type:null}_copy(){return new ug}clone(){const A=new ug;return A.applyDelta(this.toDelta()),A}toDOM(A=document,e,t){const n=A.createTextNode(this.toString());return void 0!==t&&t._createAssociation(n,this),n}toString(){return this.toDelta().map((A=>{const e=[];for(const t in A.attributes){const n=[];for(const e in A.attributes[t])n.push({key:e,value:A.attributes[t][e]});n.sort(((A,e)=>A.keyA.nodeName=0;A--)t+=``;return t})).join("")}toJSON(){return this.toString()}_write(A){A.writeTypeRef(pg)}}class dg{constructor(A,e){this.id=A,this.length=e}get deleted(){throw vs()}mergeWith(A){return!1}write(A,e,t){throw vs()}integrate(A,e){throw vs()}}class Gg extends dg{get deleted(){return!0}delete(){}mergeWith(A){return this.constructor===A.constructor&&(this.length+=A.length,!0)}integrate(A,e){e>0&&(this.id.clock+=e,this.length-=e),Ko(A.doc.store,this)}write(A,e){A.writeInfo(0),A.writeLen(this.length-e)}getMissing(A,e){return null}}class Cg{constructor(A){this.content=A}getLength(){return 1}getContent(){return[this.content]}isCountable(){return!0}copy(){return new Cg(this.content)}splice(A){throw vs()}mergeWith(A){return!1}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeBuf(this.content)}getRef(){return 3}}class kg{constructor(A){this.len=A}getLength(){return this.len}getContent(){return[]}isCountable(){return!1}copy(){return new kg(this.len)}splice(A){const e=new kg(this.len-A);return this.len=A,e}mergeWith(A){return this.len+=A.len,!0}integrate(A,e){Bo(A.deleteSet,e.id.client,e.id.clock,this.len),e.markDeleted()}delete(A){}gc(A){}write(A,e){A.writeLen(this.len-e)}getRef(){return 1}}const Dg=(A,e)=>new Qo({guid:A,...e,shouldLoad:e.shouldLoad||e.autoLoad||!1});class Yg{constructor(A){A._item&&console.error("This document was already integrated as a sub-document. You should create a second instance instead with the same guid."),this.doc=A;const e={};this.opts=e,A.gc||(e.gc=!1),A.autoLoad&&(e.autoLoad=!0),null!==A.meta&&(e.meta=A.meta)}getLength(){return 1}getContent(){return[this.doc]}isCountable(){return!0}copy(){return new Yg(Dg(this.doc.guid,this.opts))}splice(A){throw vs()}mergeWith(A){return!1}integrate(A,e){this.doc._item=e,A.subdocsAdded.add(this.doc),this.doc.shouldLoad&&A.subdocsLoaded.add(this.doc)}delete(A){A.subdocsAdded.has(this.doc)?A.subdocsAdded.delete(this.doc):A.subdocsRemoved.add(this.doc)}gc(A){}write(A,e){A.writeString(this.doc.guid),A.writeAny(this.opts)}getRef(){return 9}}class Fg{constructor(A){this.embed=A}getLength(){return 1}getContent(){return[this.embed]}isCountable(){return!0}copy(){return new Fg(this.embed)}splice(A){throw vs()}mergeWith(A){return!1}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeJSON(this.embed)}getRef(){return 5}}class Ug{constructor(A,e){this.key=A,this.value=e}getLength(){return 1}getContent(){return[]}isCountable(){return!1}copy(){return new Ug(this.key,this.value)}splice(A){throw vs()}mergeWith(A){return!1}integrate(A,e){const t=e.parent;t._searchMarker=null,t._hasFormatting=!0}delete(A){}gc(A){}write(A,e){A.writeKey(this.key),A.writeJSON(this.value)}getRef(){return 6}}class fg{constructor(A){this.arr=A}getLength(){return this.arr.length}getContent(){return this.arr}isCountable(){return!0}copy(){return new fg(this.arr)}splice(A){const e=new fg(this.arr.slice(A));return this.arr=this.arr.slice(0,A),e}mergeWith(A){return this.arr=this.arr.concat(A.arr),!0}integrate(A,e){}delete(A){}gc(A){}write(A,e){const t=this.arr.length;A.writeLen(t-e);for(let n=e;n=55296&&t<=56319&&(this.str=this.str.slice(0,A-1)+"�",e.str="�"+e.str.slice(1)),e}mergeWith(A){return this.str+=A.str,!0}integrate(A,e){}delete(A){}gc(A){}write(A,e){A.writeString(0===e?this.str:this.str.slice(e))}getRef(){return 4}}const mg=[()=>new Xc,()=>new qc,()=>new lg,A=>new wg(A.readKey()),()=>new Mg,A=>new Ig(A.readKey()),()=>new ug],yg=0,bg=1,Hg=2,Tg=3,zg=4,xg=5,pg=6;class Jg{constructor(A){this.type=A}getLength(){return 1}getContent(){return[this.type]}isCountable(){return!0}copy(){return new Jg(this.type._copy())}splice(A){throw vs()}mergeWith(A){return!1}integrate(A,e){this.type._integrate(A.doc,e)}delete(A){let e=this.type._start;for(;null!==e;)e.deleted?e.id.clock<(A.beforeState.get(e.id.client)||0)&&A._mergeStructs.push(e):e.delete(A),e=e.right;this.type._map.forEach((e=>{e.deleted?e.id.clock<(A.beforeState.get(e.id.client)||0)&&A._mergeStructs.push(e):e.delete(A)})),A.changed.delete(this.type)}gc(A){let e=this.type._start;for(;null!==e;)e.gc(A,!0),e=e.right;this.type._start=null,this.type._map.forEach((e=>{for(;null!==e;)e.gc(A,!0),e=e.left})),this.type._map=new Map}write(A,e){this.type._write(A)}getRef(){return 7}}const jg=(A,e)=>{let t,n=e,i=0;do{i>0&&(n=yo(n.client,n.clock+i)),t=Wo(A,n),i=n.clock-t.id.clock,n=t.redone}while(null!==n&&t instanceof vg);return{item:t,diff:i}},Zg=(A,e)=>{for(;null!==A&&A.keep!==e;)A.keep=e,A=A.parent._item},Pg=(A,e,t)=>{const{client:n,clock:i}=e.id,B=new vg(yo(n,i+t),e,yo(n,i+t-1),e.right,e.rightOrigin,e.parent,e.parentSub,e.content.splice(t));return e.deleted&&B.markDeleted(),e.keep&&(B.keep=!0),null!==e.redone&&(B.redone=yo(e.redone.client,e.redone.clock+t)),e.right=B,null!==B.right&&(B.right.left=B),A._mergeStructs.push(B),null!==B.parentSub&&null===B.right&&B.parent._map.set(B.parentSub,B),e.length=t,B},Vg=(A,e)=>(A=>{for(let t=0;t{const E=A.doc,s=E.store,r=E.clientID,o=e.redone;if(null!==o)return $o(A,o);let c,g=e.parent._item,Q=null;if(null!==g&&!0===g.deleted){if(null===g.redone&&(!t.has(g)||null===Lg(A,g,t,n,i,B)))return null;for(;null!==g.redone;)g=$o(A,g.redone)}const a=null===g?e.parent:g.content.type;if(null===e.parentSub){for(Q=e.left,c=e;null!==Q;){let e=Q;for(;null!==e&&e.parent._item!==g;)e=null===e.redone?null:$o(A,e.redone);if(null!==e&&e.parent._item===g){Q=e;break}Q=Q.left}for(;null!==c;){let e=c;for(;null!==e&&e.parent._item!==g;)e=null===e.redone?null:$o(A,e.redone);if(null!==e&&e.parent._item===g){c=e;break}c=c.right}}else if(c=null,e.right&&!i){for(Q=e;null!==Q&&null!==Q.right&&(Q.right.redone||to(n,Q.right.id)||Vg(B.undoStack,Q.right.id)||Vg(B.redoStack,Q.right.id));)for(Q=Q.right;Q.redone;)Q=$o(A,Q.redone);if(Q&&null!==Q.right)return null}else Q=a._map.get(e.parentSub)||null;const l=_o(s,r),h=yo(r,l),M=new vg(h,Q,Q&&Q.lastId,c,c&&c.id,a,e.parentSub,e.content.copy());return e.redone=h,Zg(M,!0),M.integrate(A,0),M};class vg extends dg{constructor(A,e,t,n,i,B,E,s){super(A,s.getLength()),this.origin=t,this.left=e,this.right=n,this.rightOrigin=i,this.parent=B,this.parentSub=E,this.redone=null,this.content=s,this.info=this.content.isCountable()?2:0}set marker(A){(8&this.info)>0!==A&&(this.info^=8)}get marker(){return(8&this.info)>0}get keep(){return(1&this.info)>0}set keep(A){this.keep!==A&&(this.info^=1)}get countable(){return(2&this.info)>0}get deleted(){return(4&this.info)>0}set deleted(A){this.deleted!==A&&(this.info^=4)}markDeleted(){this.info|=4}getMissing(A,e){if(this.origin&&this.origin.client!==this.id.client&&this.origin.clock>=_o(e,this.origin.client))return this.origin.client;if(this.rightOrigin&&this.rightOrigin.client!==this.id.client&&this.rightOrigin.clock>=_o(e,this.rightOrigin.client))return this.rightOrigin.client;if(this.parent&&this.parent.constructor===So&&this.id.client!==this.parent.client&&this.parent.clock>=_o(e,this.parent.client))return this.parent.client;if(this.origin&&(this.left=Ac(A,e,this.origin),this.origin=this.left.lastId),this.rightOrigin&&(this.right=$o(A,this.rightOrigin),this.rightOrigin=this.right.id),this.left&&this.left.constructor===Gg||this.right&&this.right.constructor===Gg)this.parent=null;else if(this.parent){if(this.parent.constructor===So){const A=Wo(e,this.parent);this.parent=A.constructor===Gg?null:A.content.type}}else this.left&&this.left.constructor===vg&&(this.parent=this.left.parent,this.parentSub=this.left.parentSub),this.right&&this.right.constructor===vg&&(this.parent=this.right.parent,this.parentSub=this.right.parentSub);return null}integrate(A,e){if(e>0&&(this.id.clock+=e,this.left=Ac(A,A.doc.store,yo(this.id.client,this.id.clock-1)),this.origin=this.left.lastId,this.content=this.content.splice(e),this.length-=e),this.parent){if(!this.left&&(!this.right||null!==this.right.left)||this.left&&this.left.right!==this.right){let e,t=this.left;if(null!==t)e=t.right;else if(null!==this.parentSub)for(e=this.parent._map.get(this.parentSub)||null;null!==e&&null!==e.left;)e=e.left;else e=this.parent._start;const n=new Set,i=new Set;for(;null!==e&&e!==this.right;){if(i.add(e),n.add(e),mo(this.origin,e.origin)){if(e.id.client{e.p===A&&(e.p=this,!this.deleted&&this.countable&&(e.index-=this.length))})),A.keep&&(this.keep=!0),this.right=A.right,null!==this.right&&(this.right.left=this),this.length+=A.length,!0}return!1}delete(A){if(!this.deleted){const e=this.parent;this.countable&&null===this.parentSub&&(e._length-=this.length),this.markDeleted(),Bo(A.deleteSet,this.id.client,this.id.clock,this.length),ic(A,e,this.parentSub),this.content.delete(A)}}gc(A,e){if(!this.deleted)throw Os();this.content.gc(A),e?((A,e,t)=>{const n=A.clients.get(e.id.client);n[Xo(n,e.id.clock)]=t})(A,this,new Gg(this.id,this.length)):this.content=new kg(this.length)}write(A,e){const t=e>0?yo(this.id.client,this.id.clock+e-1):this.origin,n=this.rightOrigin,i=this.parentSub,B=31&this.content.getRef()|(null===t?0:ls)|(null===n?0:as)|(null===i?0:32);if(A.writeInfo(B),null!==t&&A.writeLeftID(t),null!==n&&A.writeRightID(n),null===t&&null===n){const e=this.parent;if(void 0!==e._item){const t=e._item;if(null===t){const t=bo(e);A.writeParentInfo(!0),A.writeString(t)}else A.writeParentInfo(!1),A.writeLeftID(t.id)}else e.constructor===String?(A.writeParentInfo(!0),A.writeString(e)):e.constructor===So?(A.writeParentInfo(!1),A.writeLeftID(e)):Os();null!==i&&A.writeString(i)}this.content.write(A,e)}}const Og=(A,e)=>_g[31&e](A),_g=[()=>{Os()},A=>new kg(A.readLen()),A=>{const e=A.readLen(),t=[];for(let n=0;nnew Cg(A.readBuf()),A=>new Sg(A.readString()),A=>new Fg(A.readJSON()),A=>new Ug(A.readKey(),A.readJSON()),A=>new Jg(mg[A.readTypeRef()](A)),A=>{const e=A.readLen(),t=[];for(let n=0;nnew Yg(Dg(A.readString(),A.readAny())),()=>{Os()}];class Kg extends dg{get deleted(){return!0}delete(){}mergeWith(A){return this.constructor===A.constructor&&(this.length+=A.length,!0)}integrate(A,e){Os()}write(A,e){A.writeInfo(10),fs(A.restEncoder,this.length-e)}getMissing(A,e){return null}}const Xg="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},Wg="__ $YJS$ __";!0===Xg[Wg]&&console.error("Yjs was already imported. This breaks constructor checks and will lead to issues! - https://github.com/yjs/yjs/issues/438"),Xg[Wg]=!0;const qg=/[\uD800-\uDBFF]/,$g=/[\uDC00-\uDFFF]/,AQ=new s("y-sync"),eQ=new s("y-undo"),tQ=new s("yjs-cursor"),nQ=(A,e)=>void 0===e?!A.deleted:e.sv.has(A.id.client)&&e.sv.get(A.id.client)>A.id.clock&&!to(e.ds,A.id),iQ=[{light:"#ecd44433",dark:"#ecd444"}],BQ=(A,e,t)=>{if(!A.has(t)){if(A.sizet.add(A))),e=e.filter((A=>!t.has(A)))}A.set(t,(n=e)[rs(gr()*n.length)])}var n;return A.get(t)},EQ=(A,{colors:e=iQ,colorMapping:t=new Map,permanentUserData:n=null,onFirstRender:i=(()=>{})}={})=>{let B,s=!1;const r=new E({props:{editable:A=>{const e=AQ.getState(A);return null==e.snapshot&&null==e.prevSnapshot}},key:AQ,state:{init:()=>({type:A,doc:A.doc,binding:null,snapshot:null,prevSnapshot:null,isChangeOrigin:!1,colors:e,colorMapping:t,permanentUserData:n}),apply:(A,e)=>{const t=A.getMeta(AQ);if(void 0!==t){e=Object.assign({},e);for(const A in t)e[A]=t[A]}return e.isChangeOrigin=void 0!==t&&!!t.isChangeOrigin,null!==e.binding&&(void 0===t||null==t.snapshot&&null==t.prevSnapshot||zr(0,(()=>{null==e.binding||e.binding.isDestroyed||(null==t.restore?e.binding._renderSnapshot(t.snapshot,t.prevSnapshot,e):(e.binding._renderSnapshot(t.snapshot,t.snapshot,e),delete e.restore,delete e.snapshot,delete e.prevSnapshot,e.binding._prosemirrorChanged(e.binding.prosemirrorView.state.doc)))}))),e}},view:e=>{const t=new rQ(A,e);return null!=B&&clearTimeout(B),B=zr(0,(()=>{t._forceRerender(),e.dispatch(e.state.tr.setMeta(AQ,{binding:t})),i()})),{update:()=>{const A=r.getState(e.state);null==A.snapshot&&null==A.prevSnapshot&&(s||null!==e.state.doc.content.findDiffStart(e.state.doc.type.createAndFill().content))&&(s=!0,t._prosemirrorChanged(e.state.doc))},destroy:()=>{clearTimeout(B),t.destroy()}}}});return r},sQ=(A,e)=>({anchor:YQ(e.selection.anchor,A.type,A.mapping),head:YQ(e.selection.head,A.type,A.mapping)});class rQ{constructor(A,e){this.type=A,this.prosemirrorView=e,this.mux=(()=>{let A=!0;return(e,t)=>{if(A){A=!1;try{e()}finally{A=!0}}else void 0!==t&&t()}})(),this.isDestroyed=!1,this.mapping=new Map,this._observeFunction=this._typeChanged.bind(this),this.doc=A.doc,this.beforeTransactionSelection=null,this.beforeAllTransactions=()=>{null===this.beforeTransactionSelection&&(this.beforeTransactionSelection=sQ(this,e.state))},this.afterAllTransactions=()=>{this.beforeTransactionSelection=null},this.doc.on("beforeAllTransactions",this.beforeAllTransactions),this.doc.on("afterAllTransactions",this.afterAllTransactions),A.observeDeep(this._observeFunction),this._domSelectionInView=null}get _tr(){return this.prosemirrorView.state.tr.setMeta("addToHistory",!1)}_isLocalCursorInView(){return!!this.prosemirrorView.hasFocus()&&(Dr&&null===this._domSelectionInView&&(zr(0,(()=>{this._domSelectionInView=null})),this._domSelectionInView=this._isDomSelectionInView()),this._domSelectionInView)}_isDomSelectionInView(){const A=this.prosemirrorView._root.getSelection(),e=this.prosemirrorView._root.createRange();e.setStart(A.anchorNode,A.anchorOffset),e.setEnd(A.focusNode,A.focusOffset),0===e.getClientRects().length&&e.startContainer&&e.collapsed&&e.selectNodeContents(e.startContainer);const t=e.getBoundingClientRect(),n=br.documentElement;return t.bottom>=0&&t.right>=0&&t.left<=(window.innerWidth||n.clientWidth||0)&&t.top<=(window.innerHeight||n.clientHeight||0)}renderSnapshot(A,e){e||(e=Po(Eo(),new Map)),this.prosemirrorView.dispatch(this._tr.setMeta(AQ,{snapshot:A,prevSnapshot:e}))}unrenderSnapshot(){this.mapping=new Map,this.mux((()=>{const A=this.type.toArray().map((A=>cQ(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A)),e=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(new x(A),0,0));e.setMeta(AQ,{snapshot:null,prevSnapshot:null}),this.prosemirrorView.dispatch(e)}))}_forceRerender(){this.mapping=new Map,this.mux((()=>{const A=this.type.toArray().map((A=>cQ(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A)),e=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(new x(A),0,0));this.prosemirrorView.dispatch(e.setMeta(AQ,{isChangeOrigin:!0}))}))}_renderSnapshot(A,e,t){A||(A=(A=>Po(so(A.store),Oo(A.store)))(this.doc)),this.mapping=new Map,this.mux((()=>{this.doc.transact((n=>{const i=t.permanentUserData;i&&i.dss.forEach((A=>{eo(n,A,(()=>{}))}));const B=(A,e)=>{const n="added"===A?i.getUserByClientId(e.client):i.getUserByDeletedId(e);return{user:n,type:A,color:BQ(t.colorMapping,t.colors,n)}},E=bc(this.type,new Zo(e.ds,A.sv)).map((t=>!t._item.deleted||nQ(t._item,A)||nQ(t._item,e)?cQ(t,this.prosemirrorView.state.schema,new Map,A,e,B):null)).filter((A=>null!==A)),s=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(new x(E),0,0));this.prosemirrorView.dispatch(s.setMeta(AQ,{isChangeOrigin:!0}))}),AQ)}))}_typeChanged(A,e){const t=AQ.getState(this.prosemirrorView.state);0!==A.length&&null==t.snapshot&&null==t.prevSnapshot?this.mux((()=>{const A=(A,e)=>this.mapping.delete(e);eo(e,e.deleteSet,(A=>A.constructor===vg&&this.mapping.delete(A.content.type))),e.changed.forEach(A),e.changedParentTypes.forEach(A);const t=this.type.toArray().map((A=>oQ(A,this.prosemirrorView.state.schema,this.mapping))).filter((A=>null!==A));let n=this._tr.replace(0,this.prosemirrorView.state.doc.content.size,new H(new x(t),0,0));((A,e,t)=>{if(null!==e&&null!==e.anchor&&null!==e.head){const n=UQ(t.doc,t.type,e.anchor,t.mapping),i=UQ(t.doc,t.type,e.head,t.mapping);null!==n&&null!==i&&(A=A.setSelection(C.create(A.doc,n,i)))}})(n,this.beforeTransactionSelection,this),n=n.setMeta(AQ,{isChangeOrigin:!0}),null!==this.beforeTransactionSelection&&this._isLocalCursorInView()&&n.scrollIntoView(),this.prosemirrorView.dispatch(n)})):this.renderSnapshot(t.snapshot,t.prevSnapshot)}_prosemirrorChanged(A){this.mux((()=>{this.doc.transact((()=>{GQ(this.doc,this.type,A,this.mapping),this.beforeTransactionSelection=sQ(this,this.prosemirrorView.state)}),AQ)}))}destroy(){this.isDestroyed=!0,this.type.unobserveDeep(this._observeFunction),this.doc.off("beforeAllTransactions",this.beforeAllTransactions),this.doc.off("afterAllTransactions",this.afterAllTransactions)}}const oQ=(A,e,t,n,i,B)=>{const E=t.get(A);if(void 0===E){if(A instanceof wg)return cQ(A,e,t,n,i,B);throw vs()}return E},cQ=(A,e,t,n,i,B)=>{const E=[],s=A=>{if(A.constructor===wg){const s=oQ(A,e,t,n,i,B);null!==s&&E.push(s)}else{const s=gQ(A,e,t,n,i,B);null!==s&&s.forEach((A=>{null!==A&&E.push(A)}))}};void 0===n||void 0===i?A.toArray().forEach(s):bc(A,new Zo(i.ds,n.sv)).forEach(s);try{const s=A.getAttributes(n);void 0!==n&&(nQ(A._item,n)?nQ(A._item,i)||(s.ychange=B?B("added",A._item.id):{type:"added"}):s.ychange=B?B("removed",A._item.id):{type:"removed"});const r=e.node(A.nodeName,s,E);return t.set(A,r),r}catch(e){return A.doc.transact((e=>{A._item.delete(e)}),AQ),t.delete(A),null}},gQ=(A,e,t,n,i,B)=>{const E=[],s=A.toDelta(n,i,B);try{for(let A=0;A{A._item.delete(e)}),AQ),null}return E},QQ=(A,e)=>A instanceof Array?((A,e)=>{const t=new ug,n=A.map((A=>({insert:A.text,attributes:dQ(A.marks)})));return t.applyDelta(n),e.set(t,A),t})(A,e):((A,e)=>{const t=new wg(A.type.name);for(const e in A.attrs){const n=A.attrs[e];null!==n&&"ychange"!==e&&t.setAttribute(e,n)}return t.insert(0,hQ(A).map((A=>QQ(A,e)))),e.set(t,A),t})(A,e),aQ=A=>"object"==typeof A&&null!==A,lQ=(A,e)=>{const t=Object.keys(A).filter((e=>null!==A[e]));let n=t.length===Object.keys(e).filter((A=>null!==e[A])).length;for(let i=0;i{const e=A.content.content,t=[];for(let A=0;A{const t=A.toDelta();return t.length===e.length&&t.every(((A,t)=>A.insert===e[t].text&&ur(A.attributes||{}).length===e[t].marks.length&&e[t].marks.every((e=>lQ(A.attributes[e.type.name]||{},e.attrs)))))},wQ=(A,e)=>{if(A instanceof wg&&!(e instanceof Array)&&CQ(A,e)){const t=hQ(e);return A._length===t.length&&lQ(A.getAttributes(),e.attrs)&&A.toArray().every(((A,e)=>wQ(A,t[e])))}return A instanceof ug&&e instanceof Array&&MQ(A,e)},RQ=(A,e)=>A===e||A instanceof Array&&e instanceof Array&&A.length===e.length&&A.every(((A,t)=>e[t]===A)),IQ=(A,e,t)=>{const n=A.toArray(),i=hQ(e),B=i.length,E=n.length,s=cs(E,B);let r=0,o=0,c=!1;for(;r{t.set(A,e);const{nAttrs:n,str:i}=(A=>{let e="",t=A._start;const n={};for(;null!==t;)t.deleted||(t.countable&&t.content instanceof Sg?e+=t.content.str:t.content instanceof Ug&&(n[t.content.key]=null)),t=t.right;return{str:e,nAttrs:n}})(A),B=e.map((A=>({insert:A.text,attributes:Object.assign({},n,dQ(A.marks))}))),{insert:E,remove:s,index:r}=((A,e)=>{let t=0,n=0;for(;t0&&qg.test(A[t-1])&&t--;n+t0&&$g.test(A[A.length-n])&&n--,{index:t,remove:A.length-t-n,insert:e.slice(t,e.length-n)}})(i,B.map((A=>A.insert)).join(""));A.delete(r,s),A.insert(r,E),A.applyDelta(B.map((A=>({retain:A.insert.length,attributes:A.attributes}))))},dQ=A=>{const e={};return A.forEach((A=>{"ychange"!==A.type.name&&(e[A.type.name]=A.attrs)})),e},GQ=(A,e,t,n)=>{if(e instanceof wg&&e.nodeName!==t.type.name)throw new Error("node name mismatch!");if(n.set(e,t),e instanceof wg){const A=e.getAttributes(),n=t.attrs;for(const t in n)null!==n[t]?A[t]!==n[t]&&"ychange"!==t&&e.setAttribute(t,n[t]):e.removeAttribute(t);for(const t in A)void 0===n[t]&&e.removeAttribute(t)}const i=hQ(t),B=i.length,E=e.toArray(),s=E.length,r=cs(B,s);let o=0,c=0;for(;o{for(;s-o-c>0&&B-o-c>0;){const t=E[o],r=i[o],g=E[s-c-1],Q=i[B-c-1];if(t instanceof ug&&r instanceof Array)MQ(t,r)||uQ(t,r,n),o+=1;else{let i=t instanceof wg&&CQ(t,r),B=g instanceof wg&&CQ(g,Q);if(i&&B){const A=IQ(t,r,n),e=IQ(g,Q,n);A.foundMappedChild&&!e.foundMappedChild?B=!1:!A.foundMappedChild&&e.foundMappedChild||A.equalityFactor0&&e.delete(o,t),o+c!(e instanceof Array)&&A.nodeName===e.type.name;let kQ=null;const DQ=()=>{const A=kQ;kQ=null,A.forEach(((A,e)=>{const t=e.state.tr,n=AQ.getState(e.state);n&&n.binding&&!n.binding.isDestroyed&&(A.forEach(((A,e)=>{t.setMeta(e,A)})),e.dispatch(t))}))},YQ=(A,e,t)=>{if(0===A)return Jo(e,0);let n=null===e._first?null:e._first.content.type;for(;null!==n&&e!==n;){if(n instanceof ug){if(n._length>=A)return Jo(n,A);if(A-=n._length,null!==n._item&&null!==n._item.next)n=n._item.next.content.type;else{do{n=null===n._item?null:n._item.parent,A--}while(n!==e&&null!==n&&null!==n._item&&null===n._item.next);null!==n&&n!==e&&(n=null===n._item?null:n._item.next.content.type)}}else{const i=(t.get(n)||{nodeSize:0}).nodeSize;if(null!==n._first&&A1)return new To(null===n._item?null:n._item.id,null===n._item?bo(n):null,null);if(A-=i,null!==n._item&&null!==n._item.next)n=n._item.next.content.type;else{if(0===A)return n=null===n._item?n:n._item.parent,new To(null===n._item?null:n._item.id,null===n._item?bo(n):null,null);do{n=n._item.parent,A--}while(n!==e&&null===n._item.next);n!==e&&(n=n._item.next.content.type)}}}if(null===n)throw Os();if(0===A&&n.constructor!==ug&&n!==e)return FQ(n._item.parent,n._item)}return Jo(e,e._length)},FQ=(A,e)=>{let t=null,n=null;return null===A._item?n=bo(A):t=yo(A._item.id.client,A._item.id.clock),new To(t,n,e.id)},UQ=(A,e,t,n)=>{const i=((A,e)=>{const t=e.store,n=A.item,i=A.type,B=A.tname,E=A.assoc;let s=null,r=0;if(null!==n){if(_o(t,n.client)<=n.clock)return null;const A=jg(t,n),e=A.item;if(!(e instanceof vg))return null;if(s=e.parent,null===s._item||!s._item.deleted){r=e.deleted||!e.countable?0:A.diff+(E>=0?0:1);let t=e.left;for(;null!==t;)!t.deleted&&t.countable&&(r+=t.length),t=t.left}}else{if(null!==B)s=e.get(B);else{if(null===i)throw Os();{if(_o(t,i.client)<=i.clock)return null;const{item:A}=jg(t,i);if(!(A instanceof vg&&A.content instanceof Jg))return null;s=A.content.type}}r=E>=0?s._length:0}return((A,e,t=0)=>new xo(A,e,t))(s,r,A.assoc)})(t,A);if(null===i||i.type!==e&&!Ho(e,i.type._item))return null;let B=i.type,E=0;if(B.constructor===ug)E=i.index;else if(null===B._item||!B._item.deleted){let A=B._first,e=0;for(;e{const e=document.createElement("span");e.classList.add("ProseMirror-yjs-cursor"),e.setAttribute("style",`border-color: ${A.color}`);const t=document.createElement("div");t.setAttribute("style",`background-color: ${A.color}`),t.insertBefore(document.createTextNode(A.name),null);const n=document.createTextNode("⁠"),i=document.createTextNode("⁠");return e.insertBefore(n,null),e.insertBefore(t,null),e.insertBefore(i,null),e},NQ=A=>({style:`background-color: ${A.color}70`,class:"ProseMirror-yjs-selection"}),SQ=/^#[0-9a-fA-F]{6}$/,mQ=(A,e,t,n)=>{const i=AQ.getState(A),B=i.doc,E=[];return null!=i.snapshot||null!=i.prevSnapshot||null===i.binding?k.create(A.doc,[]):(e.getStates().forEach(((e,s)=>{if(s!==B.clientID&&null!=e.cursor){const r=e.user||{};null==r.color?r.color="#ffa500":SQ.test(r.color)||console.warn("A user uses an unsupported color format",r),null==r.name&&(r.name=`User: ${s}`);let o=UQ(B,i.type,zo(e.cursor.anchor),i.binding.mapping),c=UQ(B,i.type,zo(e.cursor.head),i.binding.mapping);if(null!==o&&null!==c){const e=gs(A.doc.content.size-1,0);o=cs(o,e),c=cs(c,e),E.push(Y.widget(c,(()=>t(r)),{key:s+"",side:10}));const i=cs(o,c),B=gs(o,c);E.push(Y.inline(i,B,n(r),{inclusiveEnd:!0,inclusiveStart:!1}))}}})),k.create(A.doc,E))},yQ=(A,{cursorBuilder:e=fQ,selectionBuilder:t=NQ,getSelection:n=(A=>A.selection)}={},i="cursor")=>new E({key:tQ,state:{init:(n,i)=>mQ(i,A,e,t),apply(n,i,B,E){const s=AQ.getState(E),r=n.getMeta(tQ);return s&&s.isChangeOrigin||r&&r.awarenessUpdated?mQ(E,A,e,t):i.map(n.mapping,n.doc)}},props:{decorations:A=>tQ.getState(A)},view:e=>{const t=()=>{e.docView&&((A,e)=>{kQ||(kQ=new Map,zr(0,DQ)),es(kQ,A,$E).set(e,{awarenessUpdated:!0})})(e,tQ)},B=()=>{const t=AQ.getState(e.state),B=A.getLocalState()||{};if(null!=t.binding)if(e.hasFocus()){const E=n(e.state),s=YQ(E.anchor,t.type,t.binding.mapping),r=YQ(E.head,t.type,t.binding.mapping);null!=B.cursor&&jo(zo(B.cursor.anchor),s)&&jo(zo(B.cursor.head),r)||A.setLocalStateField(i,{anchor:s,head:r})}else null!=B.cursor&&null!==UQ(t.doc,t.type,zo(B.cursor.anchor),t.binding.mapping)&&A.setLocalStateField(i,null)};return A.on("change",t),e.dom.addEventListener("focusin",B),e.dom.addEventListener("focusout",B),{update:B,destroy:()=>{e.dom.removeEventListener("focusin",B),e.dom.removeEventListener("focusout",B),A.off("change",t),A.setLocalStateField(i,null)}}}}),bQ=new Set(["paragraph"]),HQ=Q.create({name:"collaboration",priority:1e3,addOptions:()=>({document:null,field:"default",fragment:null}),onCreate(){this.editor.extensionManager.extensions.find((A=>"history"===A.name))&&console.warn('[tiptap warn]: "@tiptap/extension-collaboration" comes with its own history support and is not compatible with "@tiptap/extension-history".')},addCommands:()=>({undo:()=>({tr:A,state:e,dispatch:t})=>(A.setMeta("preventDispatch",!0),0!==eQ.getState(e).undoManager.undoStack.length&&(!t||(A=>{const e=eQ.getState(A).undoManager;if(null!=e)return e.undo(),!0})(e))),redo:()=>({tr:A,state:e,dispatch:t})=>(A.setMeta("preventDispatch",!0),0!==eQ.getState(e).undoManager.redoStack.length&&(!t||(A=>{const e=eQ.getState(A).undoManager;if(null!=e)return e.redo(),!0})(e)))}),addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Mod-y":()=>this.editor.commands.redo(),"Shift-Mod-z":()=>this.editor.commands.redo()}},addProseMirrorPlugins(){const A=this.options.fragment?this.options.fragment:this.options.document.getXmlFragment(this.options.field),e=(({protectedNodes:A=bQ,trackedOrigins:e=[],undoManager:t=null}={})=>new E({key:eQ,state:{init:(n,i)=>{const B=AQ.getState(i),E=t||new gc(B.type,{trackedOrigins:new Set([AQ].concat(e)),deleteFilter:e=>((A,e)=>!(A instanceof vg&&A.content instanceof Jg&&(A.content.type instanceof lg||A.content.type instanceof wg&&e.has(A.content.type.nodeName))&&0!==A.content.type._length))(e,A)});return{undoManager:E,prevSel:null,hasUndoOps:E.undoStack.length>0,hasRedoOps:E.redoStack.length>0}},apply:(A,e,t,n)=>{const i=AQ.getState(n).binding,B=e.undoManager,E=B.undoStack.length>0,s=B.redoStack.length>0;return i?{undoManager:B,prevSel:sQ(i,t),hasUndoOps:E,hasRedoOps:s}:E!==e.hasUndoOps||s!==e.hasRedoOps?Object.assign({},e,{hasUndoOps:B.undoStack.length>0,hasRedoOps:B.redoStack.length>0}):e}},view:A=>{const e=AQ.getState(A.state),t=eQ.getState(A.state).undoManager;return t.on("stack-item-added",(({stackItem:t})=>{const n=e.binding;n&&t.meta.set(n,eQ.getState(A.state).prevSel)})),t.on("stack-item-popped",(({stackItem:A})=>{const t=e.binding;t&&(t.beforeTransactionSelection=A.meta.get(t)||t.beforeTransactionSelection)})),{destroy:()=>{t.destroy()}}}}))(),t=e.spec.view;return e.spec.view=A=>{const{undoManager:e}=eQ.getState(A.state);e.restore&&(e.restore(),e.restore=()=>{});const n=t(A);return{destroy:()=>{const A=e.trackedOrigins.has(e),t=e._observers;e.restore=()=>{A&&e.trackedOrigins.add(e),e.doc.on("afterTransaction",e.afterTransactionHandler),e._observers=t},n.destroy()}}},[EQ(A),e]}}),TQ=A=>Array.from(A.entries()).map((([A,e])=>({clientId:A,...e.user}))),zQ=()=>null,xQ=Q.create({name:"collaborationCursor",addOptions:()=>({provider:null,user:{name:null,color:null},render:A=>{const e=document.createElement("span");e.classList.add("collaboration-cursor__caret"),e.setAttribute("style",`border-color: ${A.color}`);const t=document.createElement("div");return t.classList.add("collaboration-cursor__label"),t.setAttribute("style",`background-color: ${A.color}`),t.insertBefore(document.createTextNode(A.name),null),e.insertBefore(t,null),e},selectionRender:NQ,onUpdate:zQ}),onCreate(){this.options.onUpdate!==zQ&&console.warn('[tiptap warn]: DEPRECATED: The "onUpdate" option is deprecated. Please use `editor.storage.collaborationCursor.users` instead. Read more: https://tiptap.dev/api/extensions/collaboration-cursor')},addStorage:()=>({users:[]}),addCommands(){return{updateUser:A=>()=>(this.options.user=A,this.options.provider.awareness.setLocalStateField("user",this.options.user),!0),user:A=>({editor:e})=>(console.warn('[tiptap warn]: DEPRECATED: The "user" command is deprecated. Please use "updateUser" instead. Read more: https://tiptap.dev/api/extensions/collaboration-cursor'),e.commands.updateUser(A))}},addProseMirrorPlugins(){return[yQ((()=>(this.options.provider.awareness.setLocalStateField("user",this.options.user),this.storage.users=TQ(this.options.provider.awareness.states),this.options.provider.awareness.on("update",(()=>{this.storage.users=TQ(this.options.provider.awareness.states)})),this.options.provider.awareness))(),{cursorBuilder:this.options.render,selectionBuilder:this.options.selectionRender})]}}),pQ=Math.floor,JQ=127,jQ=Number.MAX_SAFE_INTEGER,ZQ="undefined"!=typeof TextEncoder?new TextEncoder:null,PQ=ZQ?A=>ZQ.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;A{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},vQ=(A,e)=>{for(;e>JQ;)LQ(A,128|JQ&e),e=pQ(e/128);LQ(A,JQ&e)},OQ=new Uint8Array(3e4),_Q=OQ.length/3,KQ=ZQ&&ZQ.encodeInto?(A,e)=>{if(e.length<_Q){const t=ZQ.encodeInto(e,OQ).written||0;vQ(A,t);for(let e=0;e{const t=unescape(encodeURIComponent(e)),n=t.length;vQ(A,n);for(let e=0;e{vQ(A,e.byteLength),((A,e)=>{const t=A.cbuf.length,n=A.cpos,i=(B=t-n)<(E=e.length)?B:E;var B,E;const s=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,s>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(((A,e)=>A>e?A:e)(2*t,s)),A.cbuf.set(e.subarray(i)),A.cpos=s)})(A,e)},WQ=A=>new Error(A),qQ=WQ("Unexpected end of array"),$Q=WQ("Integer out of Range"),Aa=A=>A.arr[A.pos++],ea=A=>{let e=0,t=1;const n=A.arr.length;for(;A.posjQ)throw $Q}throw qQ},ta=VQ?A=>VQ.decode((A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,ea(A)))(A)):A=>{let e=ea(A);if(0===e)return"";{let t=String.fromCodePoint(Aa(A));if(--e<100)for(;e--;)t+=String.fromCodePoint(Aa(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}};var na;!function(A){A[A.Token=0]="Token",A[A.PermissionDenied=1]="PermissionDenied",A[A.Authenticated=2]="Authenticated"}(na||(na={}));const ia=A=>Array.from(A.entries()).map((([A,e])=>({clientId:A,...e})));var Ba;async function Ea(A){return new Promise((e=>{setTimeout(e,A)}))}function sa(A,e){let t=e.delay;if(0===t)return 0;if(e.factor&&(t*=Math.pow(e.factor,A.attemptNum-1),0!==e.maxDelay&&(t=Math.min(t,e.maxDelay))),e.jitter){const A=Math.ceil(e.minDelay),n=Math.floor(t);t=Math.floor(Math.random()*(n-A+1))+A}return Math.round(t)}!function(A){A[A.Connecting=0]="Connecting",A[A.Open=1]="Open",A[A.Closing=2]="Closing",A[A.Closed=3]="Closed"}(Ba||(Ba={}));const ra=()=>new Map,oa=(A,e,t)=>{let n=A.get(e);return void 0===n&&A.set(e,n=t()),n},ca=()=>new Set,ga=Array.from,Qa=String.fromCharCode,aa=/^\s*/g,la=/([A-Z])/g,ha=(A,e)=>(A=>A.replace(aa,""))(A.replace(la,(A=>`${e}${(A=>A.toLowerCase())(A)}`))),Ma="undefined"!=typeof TextEncoder?new TextEncoder:null,wa=Ma?A=>Ma.encode(A):A=>{const e=unescape(encodeURIComponent(A)),t=e.length,n=new Uint8Array(t);for(let A=0;AGa(A).length,ka=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),Da=(A,e)=>{if(null==A||null==e)return((A,e)=>A===e)(A,e);if(A.constructor!==e.constructor)return!1;if(A===e)return!0;switch(A.constructor){case ArrayBuffer:A=new Uint8Array(A),e=new Uint8Array(e);case Uint8Array:if(A.byteLength!==e.byteLength)return!1;for(let t=0;t(()=>{if(void 0===Ua)if(Ya){Ua=ra();const A=process.argv;let e=null;for(let t=0;t{if(0!==A.length){const[e,t]=A.split("=");Ua.set(`--${ha(e,"-")}`,t),Ua.set(`-${ha(e,"-")}`,t)}}))):Ua=ra();return Ua})().has(A),Na=A=>{return void 0===(e=Ya?process.env[A.toUpperCase()]:da.getItem(A))?null:e;var e};(A=>{fa("--"+A)||Na(A)})("production");const Sa=Ya&&(A=>["true","1","2"].includes(A))(process.env.FORCE_COLOR);!fa("no-colors")&&(!Ya||process.stdout.isTTY||Sa)&&(!Ya||fa("color")||Sa||null!==Na("COLORTERM")||(Na("TERM")||"").includes("color"));const ma=Math.floor,ya=128,ba=127,Ha=Number.MAX_SAFE_INTEGER;class Ta{constructor(){this.cpos=0,this.cbuf=new Uint8Array(100),this.bufs=[]}}const za=()=>new Ta,xa=A=>{let e=A.cpos;for(let t=0;t{const e=new Uint8Array(xa(A));let t=0;for(let n=0;n{const t=A.cbuf.length;A.cpos===t&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(2*t),A.cpos=0),A.cbuf[A.cpos++]=e},ja=(A,e)=>{for(;e>ba;)Ja(A,ya|ba&e),e=ma(e/128);Ja(A,ba&e)},Za=new Uint8Array(3e4),Pa=Za.length/3,Va=Ma&&Ma.encodeInto?(A,e)=>{if(e.length{const t=unescape(encodeURIComponent(e)),n=t.length;ja(A,n);for(let e=0;e{ja(A,e.byteLength),((A,e)=>{const t=A.cbuf.length,n=A.cpos,i=(B=t-n)<(E=e.length)?B:E;var B,E;const s=e.length-i;A.cbuf.set(e.subarray(0,i),n),A.cpos+=i,s>0&&(A.bufs.push(A.cbuf),A.cbuf=new Uint8Array(((A,e)=>A>e?A:e)(2*t,s)),A.cbuf.set(e.subarray(i)),A.cpos=s)})(A,e)},va=A=>new Error(A),Oa=va("Unexpected end of array"),_a=va("Integer out of Range");class Ka{constructor(A){this.arr=A,this.pos=0}}const Xa=A=>new Ka(A),Wa=A=>((A,e)=>{const t=new Uint8Array(A.arr.buffer,A.pos+A.arr.byteOffset,e);return A.pos+=e,t})(A,$a(A)),qa=A=>A.arr[A.pos++],$a=A=>{let e=0,t=1;const n=A.arr.length;for(;A.posHa)throw _a}throw Oa},Al=Ra?A=>Ra.decode(Wa(A)):A=>{let e=$a(A);if(0===e)return"";{let t=String.fromCodePoint(qa(A));if(--e<100)for(;e--;)t+=String.fromCodePoint(qa(A));else for(;e>0;){const n=e<1e4?e:1e4,i=A.arr.subarray(A.pos,A.pos+n);A.pos+=n,t+=String.fromCodePoint.apply(null,i),e-=n}return decodeURIComponent(escape(t))}},el=Fa?A=>{let e="";for(let t=0;tBuffer.from(A.buffer,A.byteOffset,A.byteLength).toString("base64"),tl=Fa?A=>{const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A{const e=Buffer.from(A,"base64");return((A,e,t)=>new Uint8Array(A,e,t))(e.buffer,e.byteOffset,e.byteLength)},nl=new Map,il="undefined"==typeof BroadcastChannel?class{constructor(A){this.room=A,this.onmessage=null,this._onChange=e=>e.key===A&&null!==this.onmessage&&this.onmessage({data:tl(e.newValue||"")}),ua||addEventListener("storage",this._onChange)}postMessage(A){da.setItem(this.room,el(new Uint8Array(A)))}close(){ua||removeEventListener("storage",this._onChange)}}:BroadcastChannel,Bl=A=>oa(nl,A,(()=>{const e=ca(),t=new il(A);return t.onmessage=A=>e.forEach((e=>e(A.data,"broadcastchannel"))),{bc:t,subs:e}})),El=Date.now;class sl{constructor(){this._observers=ra()}on(A,e){oa(this._observers,A,ca).add(e)}once(A,e){const t=(...n)=>{this.off(A,t),e(...n)};this.on(A,t)}off(A,e){const t=this._observers.get(A);void 0!==t&&(t.delete(e),0===t.size&&this._observers.delete(A))}emit(A,e){return ga((this._observers.get(A)||ra()).values()).forEach((A=>A(...e)))}destroy(){this._observers=ra()}}class rl extends sl{constructor(A){super(),this.doc=A,this.clientID=A.clientID,this.states=new Map,this.meta=new Map,this._checkInterval=setInterval((()=>{const A=El();null!==this.getLocalState()&&15e3<=A-this.meta.get(this.clientID).lastUpdated&&this.setLocalState(this.getLocalState());const e=[];this.meta.forEach(((t,n)=>{n!==this.clientID&&3e4<=A-t.lastUpdated&&this.states.has(n)&&e.push(n)})),e.length>0&&ol(this,e,"timeout")}),ma(3e3)),A.on("destroy",(()=>{this.destroy()})),this.setLocalState({})}destroy(){this.emit("destroy",[this]),this.setLocalState(null),super.destroy(),clearInterval(this._checkInterval)}getLocalState(){return this.states.get(this.clientID)||null}setLocalState(A){const e=this.clientID,t=this.meta.get(e),n=void 0===t?0:t.clock+1,i=this.states.get(e);null===A?this.states.delete(e):this.states.set(e,A),this.meta.set(e,{clock:n,lastUpdated:El()});const B=[],E=[],s=[],r=[];null===A?r.push(e):null==i?null!=A&&B.push(e):(E.push(e),Da(i,A)||s.push(e)),(B.length>0||s.length>0||r.length>0)&&this.emit("change",[{added:B,updated:s,removed:r},"local"]),this.emit("update",[{added:B,updated:E,removed:r},"local"])}setLocalStateField(A,e){const t=this.getLocalState();null!==t&&this.setLocalState({...t,[A]:e})}getStates(){return this.states}}const ol=(A,e,t)=>{const n=[];for(let t=0;t0&&(A.emit("change",[{added:[],updated:[],removed:n},t]),A.emit("update",[{added:[],updated:[],removed:n},t]))},cl=(A,e,t=A.states)=>{const n=e.length,i=za();ja(i,n);for(let B=0;BA.apply(this,e))),this}off(A,e){const t=this.callbacks[A];return t&&(e?this.callbacks[A]=t.filter((A=>A!==e)):delete this.callbacks[A]),this}removeAllListeners(){this.callbacks={}}}var Ql,al;!function(A){A[A.Sync=0]="Sync",A[A.Awareness=1]="Awareness",A[A.Auth=2]="Auth",A[A.QueryAwareness=3]="QueryAwareness",A[A.Stateless=5]="Stateless",A[A.CLOSE=7]="CLOSE",A[A.SyncStatus=8]="SyncStatus"}(Ql||(Ql={})),function(A){A.Connecting="connecting",A.Connected="connected",A.Disconnected="disconnected"}(al||(al={}));class ll{constructor(A){this.data=A,this.encoder=za(),this.decoder=Xa(new Uint8Array(this.data))}peekVarString(){return(A=>{const e=A.pos,t=Al(A);return A.pos=e,t})(this.decoder)}readVarUint(){return $a(this.decoder)}readVarString(){return Al(this.decoder)}readVarUint8Array(){return Wa(this.decoder)}writeVarUint(A){return ja(this.encoder,A)}writeVarString(A){return Va(this.encoder,A)}writeVarUint8Array(A){return La(this.encoder,A)}length(){return xa(this.encoder)}}class hl extends gl{constructor(A){super(),this.messageQueue=[],this.configuration={url:"",document:void 0,WebSocketPolyfill:void 0,parameters:{},connect:!0,broadcast:!0,forceSyncInterval:!1,messageReconnectTimeout:3e4,delay:1e3,initialDelay:0,factor:2,maxAttempts:0,minDelay:1e3,maxDelay:3e4,jitter:!0,timeout:0,onOpen:()=>null,onConnect:()=>null,onMessage:()=>null,onOutgoingMessage:()=>null,onStatus:()=>null,onDisconnect:()=>null,onClose:()=>null,onDestroy:()=>null,onAwarenessUpdate:()=>null,onAwarenessChange:()=>null,quiet:!1,providerMap:new Map},this.webSocket=null,this.webSocketHandlers={},this.shouldConnect=!0,this.status=al.Disconnected,this.lastMessageReceived=0,this.identifier=0,this.intervals={forceSync:null,connectionChecker:null},this.connectionAttempt=null,this.receivedOnOpenPayload=void 0,this.receivedOnStatusPayload=void 0,this.closeTries=0,this.setConfiguration(A),this.configuration.WebSocketPolyfill=A.WebSocketPolyfill?A.WebSocketPolyfill:WebSocket,this.on("open",this.configuration.onOpen),this.on("open",this.onOpen.bind(this)),this.on("connect",this.configuration.onConnect),this.on("message",this.configuration.onMessage),this.on("outgoingMessage",this.configuration.onOutgoingMessage),this.on("status",this.configuration.onStatus),this.on("status",this.onStatus.bind(this)),this.on("disconnect",this.configuration.onDisconnect),this.on("close",this.configuration.onClose),this.on("destroy",this.configuration.onDestroy),this.on("awarenessUpdate",this.configuration.onAwarenessUpdate),this.on("awarenessChange",this.configuration.onAwarenessChange),this.on("close",this.onClose.bind(this)),this.on("message",this.onMessage.bind(this)),this.intervals.connectionChecker=setInterval(this.checkConnection.bind(this),this.configuration.messageReconnectTimeout/10),void 0!==A.connect&&(this.shouldConnect=A.connect),this.shouldConnect&&this.connect()}async onOpen(A){this.receivedOnOpenPayload=A}async onStatus(A){this.receivedOnStatusPayload=A}attach(A){this.configuration.providerMap.set(A.configuration.name,A),this.status===al.Disconnected&&this.shouldConnect&&this.connect(),this.receivedOnOpenPayload&&A.onOpen(this.receivedOnOpenPayload),this.receivedOnStatusPayload&&A.onStatus(this.receivedOnStatusPayload)}detach(A){this.configuration.providerMap.delete(A.configuration.name)}setConfiguration(A={}){this.configuration={...this.configuration,...A}}async connect(){if(this.status===al.Connected)return;this.cancelWebsocketRetry&&(this.cancelWebsocketRetry(),this.cancelWebsocketRetry=void 0),this.receivedOnOpenPayload=void 0,this.receivedOnStatusPayload=void 0,this.shouldConnect=!0;const{retryPromise:A,cancelFunc:e}=(()=>{let A=!1;const e=async function(A,e){const t=function(A){return A||(A={}),{delay:void 0===A.delay?200:A.delay,initialDelay:void 0===A.initialDelay?0:A.initialDelay,minDelay:void 0===A.minDelay?0:A.minDelay,maxDelay:void 0===A.maxDelay?0:A.maxDelay,factor:void 0===A.factor?0:A.factor,maxAttempts:void 0===A.maxAttempts?3:A.maxAttempts,timeout:void 0===A.timeout?0:A.timeout,jitter:!0===A.jitter,handleError:void 0===A.handleError?null:A.handleError,handleTimeout:void 0===A.handleTimeout?null:A.handleTimeout,beforeAttempt:void 0===A.beforeAttempt?null:A.beforeAttempt,calculateDelay:void 0===A.calculateDelay?null:A.calculateDelay}}(e);for(const A of["delay","initialDelay","minDelay","maxDelay","maxAttempts","timeout"]){const e=t[A];if(!Number.isInteger(e)||e<0)throw new Error(`Value for ${A} must be an integer greater than or equal to 0`)}if(t.factor.constructor!==Number||t.factor<0)throw new Error("Value for factor must be a number greater than or equal to 0");if(t.delay{if(t.handleError&&await t.handleError(A,n,t),n.aborted||0===n.attemptsRemaining)throw A;n.attemptNum++;const B=i(n,t);return B&&await Ea(B),e()};return n.attemptsRemaining>0&&n.attemptsRemaining--,t.timeout?new Promise(((e,i)=>{const E=setTimeout((()=>{if(t.handleTimeout)try{e(t.handleTimeout(n,t))}catch(A){i(A)}else{const A=new Error(`Retry timeout (attemptNum: ${n.attemptNum}, timeout: ${t.timeout})`);A.code="ATTEMPT_TIMEOUT",i(A)}}),t.timeout);A(n,t).then((A=>{clearTimeout(E),e(A)})).catch((A=>{clearTimeout(E),B(A).then(e).catch(i)}))})):A(n,t).catch(B)}()}(this.createWebSocketConnection.bind(this),{delay:this.configuration.delay,initialDelay:this.configuration.initialDelay,factor:this.configuration.factor,maxAttempts:this.configuration.maxAttempts,minDelay:this.configuration.minDelay,maxDelay:this.configuration.maxDelay,jitter:this.configuration.jitter,timeout:this.configuration.timeout,beforeAttempt:e=>{this.shouldConnect&&!A||e.abort()}}).catch((A=>{if(A&&"ATTEMPT_ABORTED"!==A.code)throw A}));return{retryPromise:e,cancelFunc:()=>{A=!0}}})();return this.cancelWebsocketRetry=e,A}attachWebSocketListeners(A,e){const{identifier:t}=A;this.webSocketHandlers[t]={message:A=>this.emit("message",A),close:A=>this.emit("close",{event:A}),open:A=>this.emit("open",A),error:A=>{e(A)}};const n=this.webSocketHandlers[A.identifier];Object.keys(n).forEach((e=>{A.addEventListener(e,n[e])}))}cleanupWebSocket(){if(!this.webSocket)return;const{identifier:A}=this.webSocket,e=this.webSocketHandlers[A];Object.keys(e).forEach((t=>{var n;null===(n=this.webSocket)||void 0===n||n.removeEventListener(t,e[t]),delete this.webSocketHandlers[A]})),this.webSocket.close(),this.webSocket=null}createWebSocketConnection(){return new Promise(((A,e)=>{this.webSocket&&(this.messageQueue=[],this.cleanupWebSocket()),this.lastMessageReceived=0,this.identifier+=1;const t=new this.configuration.WebSocketPolyfill(this.url);t.binaryType="arraybuffer",t.identifier=this.identifier,this.attachWebSocketListeners(t,e),this.webSocket=t,this.status=al.Connecting,this.emit("status",{status:al.Connecting}),this.connectionAttempt={resolve:A,reject:e}}))}onMessage(A){var e;this.resolveConnectionAttempt(),this.lastMessageReceived=El();const t=new ll(A.data).peekVarString();null===(e=this.configuration.providerMap.get(t))||void 0===e||e.onMessage(A)}resolveConnectionAttempt(){this.connectionAttempt&&(this.connectionAttempt.resolve(),this.connectionAttempt=null,this.status=al.Connected,this.emit("status",{status:al.Connected}),this.emit("connect"),this.messageQueue.forEach((A=>this.send(A))),this.messageQueue=[])}stopConnectionAttempt(){this.connectionAttempt=null}rejectConnectionAttempt(){var A;null===(A=this.connectionAttempt)||void 0===A||A.reject(),this.connectionAttempt=null}checkConnection(){var A;this.status===al.Connected&&this.lastMessageReceived&&(this.configuration.messageReconnectTimeout>=El()-this.lastMessageReceived||(this.closeTries+=1,this.closeTries>2?(this.onClose({event:{code:4408,reason:"forced"}}),this.closeTries=0):(null===(A=this.webSocket)||void 0===A||A.close(),this.messageQueue=[])))}get serverUrl(){for(;"/"===this.configuration.url[this.configuration.url.length-1];)return this.configuration.url.slice(0,this.configuration.url.length-1);return this.configuration.url}get url(){const A=(()=>((A,e)=>{const t=[];for(const n in A)t.push(e(A[n],n));return t})(this.configuration.parameters,((A,e)=>`${encodeURIComponent(e)}=${encodeURIComponent(A)}`)).join("&"))();return`${this.serverUrl}${0===A.length?"":`?${A}`}`}disconnect(){if(this.shouldConnect=!1,null!==this.webSocket)try{this.webSocket.close(),this.messageQueue=[]}catch{}}send(A){var e;(null===(e=this.webSocket)||void 0===e?void 0:e.readyState)===Ba.Open?this.webSocket.send(A):this.messageQueue.push(A)}onClose({event:A}){this.closeTries=0,this.cleanupWebSocket(),this.status===al.Connected&&(this.status=al.Disconnected,this.emit("status",{status:al.Disconnected}),this.emit("disconnect",{event:A})),4401===A.code&&("Unauthorized"===A.reason?console.warn("[HocuspocusProvider] An authentication token is required, but you didn’t send one. Try adding a `token` to your HocuspocusProvider configuration. Won’t try again."):console.warn(`[HocuspocusProvider] Connection closed with status Unauthorized: ${A.reason}`),this.shouldConnect=!1),4403!==A.code||this.configuration.quiet?(1009===A.code&&(console.warn(`[HocuspocusProvider] Connection closed with status MessageTooBig: ${A.reason}`),this.shouldConnect=!1),this.connectionAttempt?this.rejectConnectionAttempt():this.shouldConnect&&this.connect(),this.shouldConnect||this.status!==al.Disconnected&&(this.status=al.Disconnected,this.emit("status",{status:al.Disconnected}),this.emit("disconnect",{event:A}))):console.warn("[HocuspocusProvider] The provided authentication token isn’t allowed to connect to this server. Will try again.")}destroy(){this.emit("destroy"),this.intervals.forceSync&&clearInterval(this.intervals.forceSync),clearInterval(this.intervals.connectionChecker),this.stopConnectionAttempt(),this.disconnect(),this.removeAllListeners(),this.cleanupWebSocket()}}const Ml=(A,e)=>{ja(A,0);const t=(A=>((A,e=new Io)=>(A instanceof Map?Do(e,A):((A,e)=>{Do(A,Oo(e.store))})(e,A),e.toUint8Array()))(A,new wo))(e);La(A,t)},wl=(A,e,t)=>{ja(A,1),La(A,((A,e)=>((A,e=new Uint8Array([0]),t=new uo)=>{((A,e,t=new Map)=>{Go(A,e.store,t),ro(A,so(e.store))})(t,A,ko(e));const n=[t.toUint8Array()];if(A.store.pendingDs&&n.push(A.store.pendingDs),A.store.pendingStructs&&n.push(wc(A.store.pendingStructs.update,e)),n.length>1){if(t.constructor===Ro)return lc(n.map(((A,e)=>0===e?A:dc(A))));if(t.constructor===uo)return Mc(n)}return n[0]})(A,e,new Ro))(e,t))},Rl=(A,e,t)=>{try{((A,e,t)=>{Co(A,e,t,lo)})(e,Wa(A),t)}catch(A){console.error("Caught error while handling a Yjs update",A)}},Il=Rl;class ul{constructor(){this.encoder=za()}get(A){return A.encoder}toUint8Array(){return pa(this.encoder)}}class dl{constructor(A){this.broadcasted=!1,this.message=A}setBroadcasted(A){return this.broadcasted=A,this}apply(A,e){const{message:t}=this,n=t.readVarUint(),i=t.length();switch(n){case Ql.Sync:this.applySyncMessage(A,e);break;case Ql.Awareness:this.applyAwarenessMessage(A);break;case Ql.Auth:this.applyAuthMessage(A);break;case Ql.QueryAwareness:this.applyQueryAwarenessMessage(A);break;case Ql.Stateless:A.receiveStateless(Al(t.decoder));break;case Ql.SyncStatus:this.applySyncStatusMessage(A,1===(A=>{let e=A.arr[A.pos++],t=63&e,n=64;const i=(64&e)>0?-1:1;if(0==(e&ya))return i*t;const B=A.arr.length;for(;A.posHa)throw _a}throw Oa})(t.decoder));break;default:throw new Error(`Can’t apply message of unknown type: ${n}`)}t.length()>i+1&&(this.broadcasted?A.broadcast(ul,{encoder:t.encoder}):A.send(ul,{encoder:t.encoder}))}applySyncMessage(A,e){const{message:t}=this;t.writeVarUint(Ql.Sync);const n=((A,e,t,n)=>{const i=$a(A);switch(i){case 0:((A,e,t)=>{wl(e,t,Wa(A))})(A,e,t);break;case 1:Rl(A,t,n);break;case 2:Il(A,t,n);break;default:throw new Error("Unknown message type")}return i})(t.decoder,t.encoder,A.document,A);e&&1===n&&(A.synced=!0)}applySyncStatusMessage(A,e){e&&A.decrementUnsyncedChanges()}applyAwarenessMessage(A){if(!A.awareness)return;const{message:e}=this;((A,e,t)=>{const n=Xa(e),i=El(),B=[],E=[],s=[],r=[],o=$a(n);for(let e=0;e0||s.length>0||r.length>0)&&A.emit("change",[{added:B,updated:s,removed:r},t]),(B.length>0||E.length>0||r.length>0)&&A.emit("update",[{added:B,updated:E,removed:r},t])})(A.awareness,e.readVarUint8Array(),A)}applyAuthMessage(A){const{message:e}=this;((A,e,t)=>{switch(ea(A)){case na.PermissionDenied:e(ta(A));break;case na.Authenticated:t(ta(A))}})(e.decoder,A.permissionDeniedHandler.bind(A),A.authenticatedHandler.bind(A))}applyQueryAwarenessMessage(A){if(!A.awareness)return;const{message:e}=this;e.writeVarUint(Ql.Awareness),e.writeVarUint8Array(cl(A.awareness,Array.from(A.awareness.getStates().keys())))}}class Gl{constructor(A,e={}){this.message=new A,this.encoder=this.message.get(e)}create(){return pa(this.encoder)}send(A){null==A||A.send(this.create())}broadcast(A){((A,e,t=null)=>{const n=Bl(A);n.bc.postMessage(e),n.subs.forEach((A=>A(e,t)))})(A,this.create())}}class Cl extends ul{constructor(){super(...arguments),this.type=Ql.Auth,this.description="Authentication"}get(A){if(void 0===A.token)throw new Error("The authentication message requires `token` as an argument.");var e,t;return Va(this.encoder,A.documentName),ja(this.encoder,this.type),t=A.token,vQ(e=this.encoder,na.Token),KQ(e,t),this.encoder}}class kl extends ul{constructor(){super(...arguments),this.type=Ql.Awareness,this.description="Awareness states update"}get(A){if(void 0===A.awareness)throw new Error("The awareness message requires awareness as an argument");if(void 0===A.clients)throw new Error("The awareness message requires clients as an argument");let e;return Va(this.encoder,A.documentName),ja(this.encoder,this.type),e=void 0===A.states?cl(A.awareness,A.clients):cl(A.awareness,A.clients,A.states),La(this.encoder,e),this.encoder}}class Dl extends ul{constructor(){super(...arguments),this.type=Ql.CLOSE,this.description="Ask the server to close the connection"}get(A){return Va(this.encoder,A.documentName),ja(this.encoder,this.type),this.encoder}}class Yl extends ul{constructor(){super(...arguments),this.type=Ql.QueryAwareness,this.description="Queries awareness states"}get(A){return Va(this.encoder,A.documentName),ja(this.encoder,this.type),this.encoder}}class Fl extends ul{constructor(){super(...arguments),this.type=Ql.Stateless,this.description="A stateless message"}get(A){var e;return Va(this.encoder,A.documentName),ja(this.encoder,this.type),Va(this.encoder,null!==(e=A.payload)&&void 0!==e?e:""),this.encoder}}class Ul extends ul{constructor(){super(...arguments),this.type=Ql.Sync,this.description="First sync step"}get(A){if(void 0===A.document)throw new Error("The sync step one message requires document as an argument");return Va(this.encoder,A.documentName),ja(this.encoder,this.type),Ml(this.encoder,A.document),this.encoder}}class fl extends ul{constructor(){super(...arguments),this.type=Ql.Sync,this.description="Second sync step"}get(A){if(void 0===A.document)throw new Error("The sync step two message requires document as an argument");return Va(this.encoder,A.documentName),ja(this.encoder,this.type),wl(this.encoder,A.document),this.encoder}}class Nl extends ul{constructor(){super(...arguments),this.type=Ql.Sync,this.description="A document update"}get(A){var e,t;return Va(this.encoder,A.documentName),ja(this.encoder,this.type),t=A.update,ja(e=this.encoder,2),La(e,t),this.encoder}}class Sl extends Error{constructor(){super(...arguments),this.code=1001}}class ml extends gl{constructor(A){var e,t,n;super(),this.configuration={name:"",document:void 0,awareness:void 0,token:null,parameters:{},broadcast:!0,forceSyncInterval:!1,onAuthenticated:()=>null,onAuthenticationFailed:()=>null,onOpen:()=>null,onConnect:()=>null,onMessage:()=>null,onOutgoingMessage:()=>null,onStatus:()=>null,onSynced:()=>null,onDisconnect:()=>null,onClose:()=>null,onDestroy:()=>null,onAwarenessUpdate:()=>null,onAwarenessChange:()=>null,onStateless:()=>null,quiet:!1,connect:!0,preserveConnection:!0},this.subscribedToBroadcastChannel=!1,this.isSynced=!1,this.unsyncedChanges=0,this.status=al.Disconnected,this.isAuthenticated=!1,this.authorizedScope=void 0,this.mux=(()=>{let A=!0;return(e,t)=>{if(A){A=!1;try{e()}finally{A=!0}}else void 0!==t&&t()}})(),this.intervals={forceSync:null},this.isConnected=!0,this.boundBroadcastChannelSubscriber=this.broadcastChannelSubscriber.bind(this),this.boundPageUnload=this.pageUnload.bind(this),this.boundOnOpen=this.onOpen.bind(this),this.boundOnClose=this.onClose.bind(this),this.boundOnStatus=this.onStatus.bind(this),this.forwardConnect=A=>this.emit("connect",A),this.forwardOpen=A=>this.emit("open",A),this.forwardClose=A=>this.emit("close",A),this.forwardDisconnect=A=>this.emit("disconnect",A),this.forwardDestroy=A=>this.emit("destroy",A),this.setConfiguration(A),this.configuration.document=A.document?A.document:new Qo,this.configuration.awareness=void 0!==A.awareness?A.awareness:new rl(this.document),this.on("open",this.configuration.onOpen),this.on("message",this.configuration.onMessage),this.on("outgoingMessage",this.configuration.onOutgoingMessage),this.on("synced",this.configuration.onSynced),this.on("destroy",this.configuration.onDestroy),this.on("awarenessUpdate",this.configuration.onAwarenessUpdate),this.on("awarenessChange",this.configuration.onAwarenessChange),this.on("stateless",this.configuration.onStateless),this.on("authenticated",this.configuration.onAuthenticated),this.on("authenticationFailed",this.configuration.onAuthenticationFailed),this.configuration.websocketProvider.on("connect",this.configuration.onConnect),this.configuration.websocketProvider.on("connect",this.forwardConnect),this.configuration.websocketProvider.on("open",this.boundOnOpen),this.configuration.websocketProvider.on("open",this.forwardOpen),this.configuration.websocketProvider.on("close",this.boundOnClose),this.configuration.websocketProvider.on("close",this.configuration.onClose),this.configuration.websocketProvider.on("close",this.forwardClose),this.configuration.websocketProvider.on("status",this.boundOnStatus),this.configuration.websocketProvider.on("disconnect",this.configuration.onDisconnect),this.configuration.websocketProvider.on("disconnect",this.forwardDisconnect),this.configuration.websocketProvider.on("destroy",this.configuration.onDestroy),this.configuration.websocketProvider.on("destroy",this.forwardDestroy),null===(e=this.awareness)||void 0===e||e.on("update",(()=>{this.emit("awarenessUpdate",{states:ia(this.awareness.getStates())})})),null===(t=this.awareness)||void 0===t||t.on("change",(()=>{this.emit("awarenessChange",{states:ia(this.awareness.getStates())})})),this.document.on("update",this.documentUpdateHandler.bind(this)),null===(n=this.awareness)||void 0===n||n.on("update",this.awarenessUpdateHandler.bind(this)),this.registerEventListeners(),this.configuration.forceSyncInterval&&(this.intervals.forceSync=setInterval(this.forceSync.bind(this),this.configuration.forceSyncInterval)),this.configuration.websocketProvider.attach(this)}onStatus({status:A}){this.status=A,this.configuration.onStatus({status:A}),this.emit("status",{status:A})}setConfiguration(A={}){!A.websocketProvider&&A.url&&(this.configuration.websocketProvider=new hl({url:A.url,connect:A.connect,parameters:A.parameters})),this.configuration={...this.configuration,...A}}get document(){return this.configuration.document}get awareness(){return this.configuration.awareness}get hasUnsyncedChanges(){return this.unsyncedChanges>0}incrementUnsyncedChanges(){this.unsyncedChanges+=1,this.emit("unsyncedChanges",this.unsyncedChanges)}decrementUnsyncedChanges(){this.unsyncedChanges-=1,0===this.unsyncedChanges&&(this.synced=!0),this.emit("unsyncedChanges",this.unsyncedChanges)}forceSync(){this.send(Ul,{document:this.document,documentName:this.configuration.name})}pageUnload(){this.awareness&&ol(this.awareness,[this.document.clientID],"window unload")}registerEventListeners(){"undefined"!=typeof window&&window.addEventListener("unload",this.boundPageUnload)}sendStateless(A){this.send(Fl,{documentName:this.configuration.name,payload:A})}documentUpdateHandler(A,e){e!==this&&(this.incrementUnsyncedChanges(),this.send(Nl,{update:A,documentName:this.configuration.name},!0))}awarenessUpdateHandler({added:A,updated:e,removed:t},n){const i=A.concat(e).concat(t);this.send(kl,{awareness:this.awareness,clients:i,documentName:this.configuration.name},!0)}get synced(){return this.isSynced}set synced(A){this.isSynced!==A&&(this.isSynced=A,this.emit("synced",{state:A}),this.emit("sync",{state:A}))}receiveStateless(A){this.emit("stateless",{payload:A})}get isAuthenticationRequired(){return!!this.configuration.token&&!this.isAuthenticated}async connect(){return this.configuration.broadcast&&this.subscribeToBroadcastChannel(),this.configuration.websocketProvider.connect()}disconnect(){this.disconnectBroadcastChannel(),this.configuration.websocketProvider.detach(this),this.isConnected=!1,this.configuration.preserveConnection||this.configuration.websocketProvider.disconnect()}async onOpen(A){let e;this.isAuthenticated=!1,this.isConnected=!0,this.emit("open",{event:A});try{e=await this.getToken()}catch(A){return void this.permissionDeniedHandler(`Failed to get token: ${A}`)}this.isAuthenticationRequired&&this.send(Cl,{token:e,documentName:this.configuration.name}),this.startSync()}async getToken(){return"function"==typeof this.configuration.token?await this.configuration.token():this.configuration.token}startSync(){this.incrementUnsyncedChanges(),this.send(Ul,{document:this.document,documentName:this.configuration.name}),this.awareness&&null!==this.awareness.getLocalState()&&this.send(kl,{awareness:this.awareness,clients:[this.document.clientID],documentName:this.configuration.name})}send(A,e,t=!1){if(!this.isConnected)return;t&&this.mux((()=>{this.broadcast(A,e)}));const n=new Gl(A,e);this.emit("outgoingMessage",{message:n.message}),n.send(this.configuration.websocketProvider)}onMessage(A){const e=new ll(A.data),t=e.readVarString();e.writeVarString(t),this.emit("message",{event:A,message:new ll(A.data)}),new dl(e).apply(this,!0)}onClose(A){this.isAuthenticated=!1,this.synced=!1,this.awareness&&ol(this.awareness,Array.from(this.awareness.getStates().keys()).filter((A=>A!==this.document.clientID)),this)}destroy(){var A;this.emit("destroy"),this.intervals.forceSync&&clearInterval(this.intervals.forceSync),this.awareness&&ol(this.awareness,[this.document.clientID],"provider destroy"),null===(A=this.awareness)||void 0===A||A.off("update",this.awarenessUpdateHandler),this.document.off("update",this.documentUpdateHandler),this.removeAllListeners(),this.configuration.websocketProvider.off("connect",this.configuration.onConnect),this.configuration.websocketProvider.off("connect",this.forwardConnect),this.configuration.websocketProvider.off("open",this.boundOnOpen),this.configuration.websocketProvider.off("open",this.forwardOpen),this.configuration.websocketProvider.off("close",this.boundOnClose),this.configuration.websocketProvider.off("close",this.configuration.onClose),this.configuration.websocketProvider.off("close",this.forwardClose),this.configuration.websocketProvider.off("status",this.boundOnStatus),this.configuration.websocketProvider.off("disconnect",this.configuration.onDisconnect),this.configuration.websocketProvider.off("disconnect",this.forwardDisconnect),this.configuration.websocketProvider.off("destroy",this.configuration.onDestroy),this.configuration.websocketProvider.off("destroy",this.forwardDestroy),this.send(Dl,{documentName:this.configuration.name}),this.disconnect(),"undefined"!=typeof window&&window.removeEventListener("unload",this.boundPageUnload)}permissionDeniedHandler(A){this.emit("authenticationFailed",{reason:A}),this.isAuthenticated=!1,this.disconnect(),this.status=al.Disconnected}authenticatedHandler(A){this.isAuthenticated=!0,this.authorizedScope=A,this.emit("authenticated"),this.startSync()}get broadcastChannel(){return`${this.configuration.name}`}broadcastChannelSubscriber(A){this.mux((()=>{const e=new ll(A),t=e.readVarString();e.writeVarString(t),new dl(e).setBroadcasted(!0).apply(this,!1)}))}subscribeToBroadcastChannel(){var A;this.subscribedToBroadcastChannel||(A=this.boundBroadcastChannelSubscriber,Bl(this.broadcastChannel).subs.add(A),this.subscribedToBroadcastChannel=!0),this.mux((()=>{this.broadcast(Ul,{document:this.document,documentName:this.configuration.name}),this.broadcast(fl,{document:this.document,documentName:this.configuration.name}),this.broadcast(Yl,{document:this.document,documentName:this.configuration.name}),this.awareness&&this.broadcast(kl,{awareness:this.awareness,clients:[this.document.clientID],document:this.document,documentName:this.configuration.name})}))}disconnectBroadcastChannel(){this.awareness&&this.send(kl,{awareness:this.awareness,clients:[this.document.clientID],states:new Map,documentName:this.configuration.name},!0),this.subscribedToBroadcastChannel&&(((A,e)=>{const t=Bl(A);t.subs.delete(e)&&0===t.subs.size&&(t.bc.close(),nl.delete(A))})(this.broadcastChannel,this.boundBroadcastChannelSubscriber),this.subscribedToBroadcastChannel=!1)}broadcast(A,e){this.configuration.broadcast&&this.subscribedToBroadcastChannel&&new Gl(A,e).broadcast(this.broadcastChannel)}setAwarenessField(A,e){if(!this.awareness)throw new Sl(`Cannot set awareness field "${A}" to ${JSON.stringify(e)}. You have disabled Awareness for this provider by explicitly passing awareness: null in the provider configuration.`);this.awareness.setLocalStateField(A,e)}}function yl({types:A,node:e}){return Array.isArray(A)&&A.includes(e.type)||e.type===A}const bl=Q.create({name:"trailingNode",addOptions:()=>({node:"paragraph",notAfter:["paragraph"]}),addProseMirrorPlugins(){const A=new s(this.name),e=Object.entries(this.editor.schema.nodes).map((([,A])=>A)).filter((A=>this.options.notAfter.includes(A.name)));return[new E({key:A,appendTransaction:(e,t,n)=>{const{doc:i,tr:B,schema:E}=n;if(A.getState(n))return B.insert(i.content.size,E.nodes[this.options.node].create())},state:{init:(A,t)=>!yl({node:t.tr.doc.lastChild,types:e}),apply:(A,t)=>A.docChanged?!yl({node:A.doc.lastChild,types:e}):t}})]}});function Hl(A,e){return function(){return A.apply(e,arguments)}}const{toString:Tl}=Object.prototype,{getPrototypeOf:zl}=Object,xl=(pl=Object.create(null),A=>{const e=Tl.call(A);return pl[e]||(pl[e]=e.slice(8,-1).toLowerCase())});var pl;const Jl=A=>(A=A.toLowerCase(),e=>xl(e)===A),jl=A=>e=>typeof e===A,{isArray:Zl}=Array,Pl=jl("undefined"),Vl=Jl("ArrayBuffer"),Ll=jl("string"),vl=jl("function"),Ol=jl("number"),_l=A=>null!==A&&"object"==typeof A,Kl=A=>{if("object"!==xl(A))return!1;const e=zl(A);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in A||Symbol.iterator in A)},Xl=Jl("Date"),Wl=Jl("File"),ql=Jl("Blob"),$l=Jl("FileList"),Ah=Jl("URLSearchParams");function eh(A,e,{allOwnKeys:t=!1}={}){if(null==A)return;let n,i;if("object"!=typeof A&&(A=[A]),Zl(A))for(n=0,i=A.length;n0;)if(n=t[i],e===n.toLowerCase())return n;return null}const nh="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,ih=A=>!Pl(A)&&A!==nh,Bh=(Eh="undefined"!=typeof Uint8Array&&zl(Uint8Array),A=>Eh&&A instanceof Eh);var Eh;const sh=Jl("HTMLFormElement"),rh=(({hasOwnProperty:A})=>(e,t)=>A.call(e,t))(Object.prototype),oh=Jl("RegExp"),ch=(A,e)=>{const t=Object.getOwnPropertyDescriptors(A),n={};eh(t,((t,i)=>{let B;!1!==(B=e(t,i,A))&&(n[i]=B||t)})),Object.defineProperties(A,n)},gh="abcdefghijklmnopqrstuvwxyz",Qh="0123456789",ah={DIGIT:Qh,ALPHA:gh,ALPHA_DIGIT:gh+gh.toUpperCase()+Qh},lh=Jl("AsyncFunction"),hh={isArray:Zl,isArrayBuffer:Vl,isBuffer:function(A){return null!==A&&!Pl(A)&&null!==A.constructor&&!Pl(A.constructor)&&vl(A.constructor.isBuffer)&&A.constructor.isBuffer(A)},isFormData:A=>{let e;return A&&("function"==typeof FormData&&A instanceof FormData||vl(A.append)&&("formdata"===(e=xl(A))||"object"===e&&vl(A.toString)&&"[object FormData]"===A.toString()))},isArrayBufferView:function(A){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(A):A&&A.buffer&&Vl(A.buffer),e},isString:Ll,isNumber:Ol,isBoolean:A=>!0===A||!1===A,isObject:_l,isPlainObject:Kl,isUndefined:Pl,isDate:Xl,isFile:Wl,isBlob:ql,isRegExp:oh,isFunction:vl,isStream:A=>_l(A)&&vl(A.pipe),isURLSearchParams:Ah,isTypedArray:Bh,isFileList:$l,forEach:eh,merge:function A(){const{caseless:e}=ih(this)&&this||{},t={},n=(n,i)=>{const B=e&&th(t,i)||i;t[B]=Kl(t[B])&&Kl(n)?A(t[B],n):Kl(n)?A({},n):Zl(n)?n.slice():n};for(let A=0,e=arguments.length;A(eh(e,((e,n)=>{A[n]=t&&vl(e)?Hl(e,t):e}),{allOwnKeys:n}),A),trim:A=>A.trim?A.trim():A.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:A=>(65279===A.charCodeAt(0)&&(A=A.slice(1)),A),inherits:(A,e,t,n)=>{A.prototype=Object.create(e.prototype,n),A.prototype.constructor=A,Object.defineProperty(A,"super",{value:e.prototype}),t&&Object.assign(A.prototype,t)},toFlatObject:(A,e,t,n)=>{let i,B,E;const s={};if(e=e||{},null==A)return e;do{for(i=Object.getOwnPropertyNames(A),B=i.length;B-- >0;)E=i[B],n&&!n(E,A,e)||s[E]||(e[E]=A[E],s[E]=!0);A=!1!==t&&zl(A)}while(A&&(!t||t(A,e))&&A!==Object.prototype);return e},kindOf:xl,kindOfTest:Jl,endsWith:(A,e,t)=>{A=String(A),(void 0===t||t>A.length)&&(t=A.length);const n=A.indexOf(e,t-=e.length);return-1!==n&&n===t},toArray:A=>{if(!A)return null;if(Zl(A))return A;let e=A.length;if(!Ol(e))return null;const t=new Array(e);for(;e-- >0;)t[e]=A[e];return t},forEachEntry:(A,e)=>{const t=(A&&A[Symbol.iterator]).call(A);let n;for(;(n=t.next())&&!n.done;){const t=n.value;e.call(A,t[0],t[1])}},matchAll:(A,e)=>{let t;const n=[];for(;null!==(t=A.exec(e));)n.push(t);return n},isHTMLForm:sh,hasOwnProperty:rh,hasOwnProp:rh,reduceDescriptors:ch,freezeMethods:A=>{ch(A,((e,t)=>{if(vl(A)&&-1!==["arguments","caller","callee"].indexOf(t))return!1;vl(A[t])&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+t+"'")}))}))},toObjectSet:(A,e)=>{const t={},n=A=>{A.forEach((A=>{t[A]=!0}))};return Zl(A)?n(A):n(String(A).split(e)),t},toCamelCase:A=>A.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(A,e,t){return e.toUpperCase()+t})),noop:()=>{},toFiniteNumber:(A,e)=>(A=+A,Number.isFinite(A)?A:e),findKey:th,global:nh,isContextDefined:ih,ALPHABET:ah,generateString:(A=16,e=ah.ALPHA_DIGIT)=>{let t="";const{length:n}=e;for(;A--;)t+=e[Math.random()*n|0];return t},isSpecCompliantForm:function(A){return!!(A&&vl(A.append)&&"FormData"===A[Symbol.toStringTag]&&A[Symbol.iterator])},toJSONObject:A=>{const e=new Array(10),t=(A,n)=>{if(_l(A)){if(e.indexOf(A)>=0)return;if(!("toJSON"in A)){e[n]=A;const i=Zl(A)?[]:{};return eh(A,((A,e)=>{const B=t(A,n+1);!Pl(B)&&(i[e]=B)})),e[n]=void 0,i}}return A};return t(A,0)},isAsyncFn:lh,isThenable:A=>A&&(_l(A)||vl(A))&&vl(A.then)&&vl(A.catch)};function Mh(A,e,t,n,i){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=A,this.name="AxiosError",e&&(this.code=e),t&&(this.config=t),n&&(this.request=n),i&&(this.response=i)}hh.inherits(Mh,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:hh.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const wh=Mh.prototype,Rh={};function Ih(A){return hh.isPlainObject(A)||hh.isArray(A)}function uh(A){return hh.endsWith(A,"[]")?A.slice(0,-2):A}function dh(A,e,t){return A?A.concat(e).map((function(A,e){return A=uh(A),!t&&e?"["+A+"]":A})).join(t?".":""):e}["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((A=>{Rh[A]={value:A}})),Object.defineProperties(Mh,Rh),Object.defineProperty(wh,"isAxiosError",{value:!0}),Mh.from=(A,e,t,n,i,B)=>{const E=Object.create(wh);return hh.toFlatObject(A,E,(function(A){return A!==Error.prototype}),(A=>"isAxiosError"!==A)),Mh.call(E,A.message,e,t,n,i),E.cause=A,E.name=A.name,B&&Object.assign(E,B),E};const Gh=hh.toFlatObject(hh,{},null,(function(A){return/^is[A-Z]/.test(A)}));function Ch(A,e,t){if(!hh.isObject(A))throw new TypeError("target must be an object");e=e||new FormData,t=hh.toFlatObject(t,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(A,e){return!hh.isUndefined(e[A])}));const n=t.metaTokens,i=t.visitor||o,B=t.dots,E=t.indexes,s=(t.Blob||"undefined"!=typeof Blob&&Blob)&&hh.isSpecCompliantForm(e);if(!hh.isFunction(i))throw new TypeError("visitor must be a function");function r(A){if(null===A)return"";if(hh.isDate(A))return A.toISOString();if(!s&&hh.isBlob(A))throw new Mh("Blob is not supported. Use a Buffer instead.");return hh.isArrayBuffer(A)||hh.isTypedArray(A)?s&&"function"==typeof Blob?new Blob([A]):Buffer.from(A):A}function o(A,t,i){let s=A;if(A&&!i&&"object"==typeof A)if(hh.endsWith(t,"{}"))t=n?t:t.slice(0,-2),A=JSON.stringify(A);else if(hh.isArray(A)&&function(A){return hh.isArray(A)&&!A.some(Ih)}(A)||(hh.isFileList(A)||hh.endsWith(t,"[]"))&&(s=hh.toArray(A)))return t=uh(t),s.forEach((function(A,n){!hh.isUndefined(A)&&null!==A&&e.append(!0===E?dh([t],n,B):null===E?t:t+"[]",r(A))})),!1;return!!Ih(A)||(e.append(dh(i,t,B),r(A)),!1)}const c=[],g=Object.assign(Gh,{defaultVisitor:o,convertValue:r,isVisitable:Ih});if(!hh.isObject(A))throw new TypeError("data must be an object");return function A(t,n){if(!hh.isUndefined(t)){if(-1!==c.indexOf(t))throw Error("Circular reference detected in "+n.join("."));c.push(t),hh.forEach(t,(function(t,B){!0===(!(hh.isUndefined(t)||null===t)&&i.call(e,t,hh.isString(B)?B.trim():B,n,g))&&A(t,n?n.concat(B):[B])})),c.pop()}}(A),e}function kh(A){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(A).replace(/[!'()~]|%20|%00/g,(function(A){return e[A]}))}function Dh(A,e){this._pairs=[],A&&Ch(A,this,e)}const Yh=Dh.prototype;function Fh(A){return encodeURIComponent(A).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Uh(A,e,t){if(!e)return A;const n=t&&t.encode||Fh,i=t&&t.serialize;let B;if(B=i?i(e,t):hh.isURLSearchParams(e)?e.toString():new Dh(e,t).toString(n),B){const e=A.indexOf("#");-1!==e&&(A=A.slice(0,e)),A+=(-1===A.indexOf("?")?"?":"&")+B}return A}Yh.append=function(A,e){this._pairs.push([A,e])},Yh.toString=function(A){const e=A?function(e){return A.call(this,e,kh)}:kh;return this._pairs.map((function(A){return e(A[0])+"="+e(A[1])}),"").join("&")};class fh{constructor(){this.handlers=[]}use(A,e,t){return this.handlers.push({fulfilled:A,rejected:e,synchronous:!!t&&t.synchronous,runWhen:t?t.runWhen:null}),this.handlers.length-1}eject(A){this.handlers[A]&&(this.handlers[A]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(A){hh.forEach(this.handlers,(function(e){null!==e&&A(e)}))}}const Nh={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Sh={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Dh,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},mh="undefined"!=typeof window&&"undefined"!=typeof document,yh=(bh="undefined"!=typeof navigator&&navigator.product,mh&&["ReactNative","NativeScript","NS"].indexOf(bh)<0);var bh;const Hh="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Th={...Object.freeze({__proto__:null,hasBrowserEnv:mh,hasStandardBrowserWebWorkerEnv:Hh,hasStandardBrowserEnv:yh}),...Sh};function zh(A){function e(A,t,n,i){let B=A[i++];const E=Number.isFinite(+B),s=i>=A.length;return B=!B&&hh.isArray(n)?n.length:B,s?(n[B]=hh.hasOwnProp(n,B)?[n[B],t]:t,!E):(n[B]&&hh.isObject(n[B])||(n[B]=[]),e(A,t,n[B],i)&&hh.isArray(n[B])&&(n[B]=function(A){const e={},t=Object.keys(A);let n;const i=t.length;let B;for(n=0;n{e(function(A){return hh.matchAll(/\w+|\[(\w*)]/g,A).map((A=>"[]"===A[0]?"":A[1]||A[0]))}(A),n,t,0)})),t}return null}const xh={transitional:Nh,adapter:["xhr","http"],transformRequest:[function(A,e){const t=e.getContentType()||"",n=t.indexOf("application/json")>-1,i=hh.isObject(A);if(i&&hh.isHTMLForm(A)&&(A=new FormData(A)),hh.isFormData(A))return n&&n?JSON.stringify(zh(A)):A;if(hh.isArrayBuffer(A)||hh.isBuffer(A)||hh.isStream(A)||hh.isFile(A)||hh.isBlob(A))return A;if(hh.isArrayBufferView(A))return A.buffer;if(hh.isURLSearchParams(A))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),A.toString();let B;if(i){if(t.indexOf("application/x-www-form-urlencoded")>-1)return function(A,e){return Ch(A,new Th.classes.URLSearchParams,Object.assign({visitor:function(A,e,t,n){return Th.isNode&&hh.isBuffer(A)?(this.append(e,A.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},e))}(A,this.formSerializer).toString();if((B=hh.isFileList(A))||t.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return Ch(B?{"files[]":A}:A,e&&new e,this.formSerializer)}}return i||n?(e.setContentType("application/json",!1),function(A){if(hh.isString(A))try{return(0,JSON.parse)(A),hh.trim(A)}catch(A){if("SyntaxError"!==A.name)throw A}return(0,JSON.stringify)(A)}(A)):A}],transformResponse:[function(A){const e=this.transitional||xh.transitional,t=e&&e.forcedJSONParsing,n="json"===this.responseType;if(A&&hh.isString(A)&&(t&&!this.responseType||n)){const t=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(A)}catch(A){if(t){if("SyntaxError"===A.name)throw Mh.from(A,Mh.ERR_BAD_RESPONSE,this,null,this.response);throw A}}}return A}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Th.classes.FormData,Blob:Th.classes.Blob},validateStatus:function(A){return A>=200&&A<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};hh.forEach(["delete","get","head","post","put","patch"],(A=>{xh.headers[A]={}}));const ph=hh.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Jh=Symbol("internals");function jh(A){return A&&String(A).trim().toLowerCase()}function Zh(A){return!1===A||null==A?A:hh.isArray(A)?A.map(Zh):String(A)}function Ph(A,e,t,n,i){return hh.isFunction(n)?n.call(this,e,t):(i&&(e=t),hh.isString(e)?hh.isString(n)?-1!==e.indexOf(n):hh.isRegExp(n)?n.test(e):void 0:void 0)}class Vh{constructor(A){A&&this.set(A)}set(A,e,t){const n=this;function i(A,e,t){const i=jh(e);if(!i)throw new Error("header name must be a non-empty string");const B=hh.findKey(n,i);(!B||void 0===n[B]||!0===t||void 0===t&&!1!==n[B])&&(n[B||e]=Zh(A))}const B=(A,e)=>hh.forEach(A,((A,t)=>i(A,t,e)));return hh.isPlainObject(A)||A instanceof this.constructor?B(A,e):hh.isString(A)&&(A=A.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(A.trim())?B((A=>{const e={};let t,n,i;return A&&A.split("\n").forEach((function(A){i=A.indexOf(":"),t=A.substring(0,i).trim().toLowerCase(),n=A.substring(i+1).trim(),!t||e[t]&&ph[t]||("set-cookie"===t?e[t]?e[t].push(n):e[t]=[n]:e[t]=e[t]?e[t]+", "+n:n)})),e})(A),e):null!=A&&i(e,A,t),this}get(A,e){if(A=jh(A)){const t=hh.findKey(this,A);if(t){const A=this[t];if(!e)return A;if(!0===e)return function(A){const e=Object.create(null),t=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=t.exec(A);)e[n[1]]=n[2];return e}(A);if(hh.isFunction(e))return e.call(this,A,t);if(hh.isRegExp(e))return e.exec(A);throw new TypeError("parser must be boolean|regexp|function")}}}has(A,e){if(A=jh(A)){const t=hh.findKey(this,A);return!(!t||void 0===this[t]||e&&!Ph(0,this[t],t,e))}return!1}delete(A,e){const t=this;let n=!1;function i(A){if(A=jh(A)){const i=hh.findKey(t,A);!i||e&&!Ph(0,t[i],i,e)||(delete t[i],n=!0)}}return hh.isArray(A)?A.forEach(i):i(A),n}clear(A){const e=Object.keys(this);let t=e.length,n=!1;for(;t--;){const i=e[t];A&&!Ph(0,this[i],i,A,!0)||(delete this[i],n=!0)}return n}normalize(A){const e=this,t={};return hh.forEach(this,((n,i)=>{const B=hh.findKey(t,i);if(B)return e[B]=Zh(n),void delete e[i];const E=A?function(A){return A.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((A,e,t)=>e.toUpperCase()+t))}(i):String(i).trim();E!==i&&delete e[i],e[E]=Zh(n),t[E]=!0})),this}concat(...A){return this.constructor.concat(this,...A)}toJSON(A){const e=Object.create(null);return hh.forEach(this,((t,n)=>{null!=t&&!1!==t&&(e[n]=A&&hh.isArray(t)?t.join(", "):t)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([A,e])=>A+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(A){return A instanceof this?A:new this(A)}static concat(A,...e){const t=new this(A);return e.forEach((A=>t.set(A))),t}static accessor(A){const e=(this[Jh]=this[Jh]={accessors:{}}).accessors,t=this.prototype;function n(A){const n=jh(A);e[n]||(function(A,e){const t=hh.toCamelCase(" "+e);["get","set","has"].forEach((n=>{Object.defineProperty(A,n+t,{value:function(A,t,i){return this[n].call(this,e,A,t,i)},configurable:!0})}))}(t,A),e[n]=!0)}return hh.isArray(A)?A.forEach(n):n(A),this}}function Lh(A,e){const t=this||xh,n=e||t,i=Vh.from(n.headers);let B=n.data;return hh.forEach(A,(function(A){B=A.call(t,B,i.normalize(),e?e.status:void 0)})),i.normalize(),B}function vh(A){return!(!A||!A.__CANCEL__)}function Oh(A,e,t){Mh.call(this,null==A?"canceled":A,Mh.ERR_CANCELED,e,t),this.name="CanceledError"}Vh.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),hh.reduceDescriptors(Vh.prototype,(({value:A},e)=>{let t=e[0].toUpperCase()+e.slice(1);return{get:()=>A,set(A){this[t]=A}}})),hh.freezeMethods(Vh),hh.inherits(Oh,Mh,{__CANCEL__:!0});const _h=Th.hasStandardBrowserEnv?{write(A,e,t,n,i,B){const E=[A+"="+encodeURIComponent(e)];hh.isNumber(t)&&E.push("expires="+new Date(t).toGMTString()),hh.isString(n)&&E.push("path="+n),hh.isString(i)&&E.push("domain="+i),!0===B&&E.push("secure"),document.cookie=E.join("; ")},read(A){const e=document.cookie.match(new RegExp("(^|;\\s*)("+A+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(A){this.write(A,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function Kh(A,e){return A&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(A,e){return e?A.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):A}(A,e):e}const Xh=Th.hasStandardBrowserEnv?function(){const A=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let t;function n(t){let n=t;return A&&(e.setAttribute("href",n),n=e.href),e.setAttribute("href",n),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return t=n(window.location.href),function(A){const e=hh.isString(A)?n(A):A;return e.protocol===t.protocol&&e.host===t.host}}():function(){return!0};function Wh(A,e){let t=0;const n=function(A,e){A=A||10;const t=new Array(A),n=new Array(A);let i,B=0,E=0;return e=void 0!==e?e:1e3,function(s){const r=Date.now(),o=n[E];i||(i=r),t[B]=s,n[B]=r;let c=E,g=0;for(;c!==B;)g+=t[c++],c%=A;if(B=(B+1)%A,B===E&&(E=(E+1)%A),r-i{const B=i.loaded,E=i.lengthComputable?i.total:void 0,s=B-t,r=n(s);t=B;const o={loaded:B,total:E,progress:E?B/E:void 0,bytes:s,rate:r||void 0,estimated:r&&E&&B<=E?(E-B)/r:void 0,event:i};o[e?"download":"upload"]=!0,A(o)}}const qh="undefined"!=typeof XMLHttpRequest&&function(A){return new Promise((function(e,t){let n=A.data;const i=Vh.from(A.headers).normalize();let B,E,{responseType:s,withXSRFToken:r}=A;function o(){A.cancelToken&&A.cancelToken.unsubscribe(B),A.signal&&A.signal.removeEventListener("abort",B)}if(hh.isFormData(n))if(Th.hasStandardBrowserEnv||Th.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if(!1!==(E=i.getContentType())){const[A,...e]=E?E.split(";").map((A=>A.trim())).filter(Boolean):[];i.setContentType([A||"multipart/form-data",...e].join("; "))}let c=new XMLHttpRequest;if(A.auth){const e=A.auth.username||"",t=A.auth.password?unescape(encodeURIComponent(A.auth.password)):"";i.set("Authorization","Basic "+btoa(e+":"+t))}const g=Kh(A.baseURL,A.url);function Q(){if(!c)return;const n=Vh.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders());!function(A,e,t){const n=t.config.validateStatus;t.status&&n&&!n(t.status)?e(new Mh("Request failed with status code "+t.status,[Mh.ERR_BAD_REQUEST,Mh.ERR_BAD_RESPONSE][Math.floor(t.status/100)-4],t.config,t.request,t)):A(t)}((function(A){e(A),o()}),(function(A){t(A),o()}),{data:s&&"text"!==s&&"json"!==s?c.response:c.responseText,status:c.status,statusText:c.statusText,headers:n,config:A,request:c}),c=null}if(c.open(A.method.toUpperCase(),Uh(g,A.params,A.paramsSerializer),!0),c.timeout=A.timeout,"onloadend"in c?c.onloadend=Q:c.onreadystatechange=function(){c&&4===c.readyState&&(0!==c.status||c.responseURL&&0===c.responseURL.indexOf("file:"))&&setTimeout(Q)},c.onabort=function(){c&&(t(new Mh("Request aborted",Mh.ECONNABORTED,A,c)),c=null)},c.onerror=function(){t(new Mh("Network Error",Mh.ERR_NETWORK,A,c)),c=null},c.ontimeout=function(){let e=A.timeout?"timeout of "+A.timeout+"ms exceeded":"timeout exceeded";A.timeoutErrorMessage&&(e=A.timeoutErrorMessage),t(new Mh(e,(A.transitional||Nh).clarifyTimeoutError?Mh.ETIMEDOUT:Mh.ECONNABORTED,A,c)),c=null},Th.hasStandardBrowserEnv&&(r&&hh.isFunction(r)&&(r=r(A)),r||!1!==r&&Xh(g))){const e=A.xsrfHeaderName&&A.xsrfCookieName&&_h.read(A.xsrfCookieName);e&&i.set(A.xsrfHeaderName,e)}void 0===n&&i.setContentType(null),"setRequestHeader"in c&&hh.forEach(i.toJSON(),(function(A,e){c.setRequestHeader(e,A)})),hh.isUndefined(A.withCredentials)||(c.withCredentials=!!A.withCredentials),s&&"json"!==s&&(c.responseType=A.responseType),"function"==typeof A.onDownloadProgress&&c.addEventListener("progress",Wh(A.onDownloadProgress,!0)),"function"==typeof A.onUploadProgress&&c.upload&&c.upload.addEventListener("progress",Wh(A.onUploadProgress)),(A.cancelToken||A.signal)&&(B=e=>{c&&(t(!e||e.type?new Oh(null,A,c):e),c.abort(),c=null)},A.cancelToken&&A.cancelToken.subscribe(B),A.signal&&(A.signal.aborted?B():A.signal.addEventListener("abort",B)));const a=function(A){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(A);return e&&e[1]||""}(g);a&&-1===Th.protocols.indexOf(a)?t(new Mh("Unsupported protocol "+a+":",Mh.ERR_BAD_REQUEST,A)):c.send(n||null)}))},$h={http:null,xhr:qh};hh.forEach($h,((A,e)=>{if(A){try{Object.defineProperty(A,"name",{value:e})}catch(A){}Object.defineProperty(A,"adapterName",{value:e})}}));const AM=A=>`- ${A}`,eM=A=>hh.isFunction(A)||null===A||!1===A,tM=A=>{A=hh.isArray(A)?A:[A];const{length:e}=A;let t,n;const i={};for(let B=0;B`adapter ${A} `+(!1===e?"is not supported by the environment":"is not available in the build")));throw new Mh("There is no suitable adapter to dispatch the request "+(e?A.length>1?"since :\n"+A.map(AM).join("\n"):" "+AM(A[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return n};function nM(A){if(A.cancelToken&&A.cancelToken.throwIfRequested(),A.signal&&A.signal.aborted)throw new Oh(null,A)}function iM(A){return nM(A),A.headers=Vh.from(A.headers),A.data=Lh.call(A,A.transformRequest),-1!==["post","put","patch"].indexOf(A.method)&&A.headers.setContentType("application/x-www-form-urlencoded",!1),tM(A.adapter||xh.adapter)(A).then((function(e){return nM(A),e.data=Lh.call(A,A.transformResponse,e),e.headers=Vh.from(e.headers),e}),(function(e){return vh(e)||(nM(A),e&&e.response&&(e.response.data=Lh.call(A,A.transformResponse,e.response),e.response.headers=Vh.from(e.response.headers))),Promise.reject(e)}))}const BM=A=>A instanceof Vh?A.toJSON():A;function EM(A,e){e=e||{};const t={};function n(A,e,t){return hh.isPlainObject(A)&&hh.isPlainObject(e)?hh.merge.call({caseless:t},A,e):hh.isPlainObject(e)?hh.merge({},e):hh.isArray(e)?e.slice():e}function i(A,e,t){return hh.isUndefined(e)?hh.isUndefined(A)?void 0:n(void 0,A,t):n(A,e,t)}function B(A,e){if(!hh.isUndefined(e))return n(void 0,e)}function E(A,e){return hh.isUndefined(e)?hh.isUndefined(A)?void 0:n(void 0,A):n(void 0,e)}function s(t,i,B){return B in e?n(t,i):B in A?n(void 0,t):void 0}const r={url:B,method:B,data:B,baseURL:E,transformRequest:E,transformResponse:E,paramsSerializer:E,timeout:E,timeoutMessage:E,withCredentials:E,withXSRFToken:E,adapter:E,responseType:E,xsrfCookieName:E,xsrfHeaderName:E,onUploadProgress:E,onDownloadProgress:E,decompress:E,maxContentLength:E,maxBodyLength:E,beforeRedirect:E,transport:E,httpAgent:E,httpsAgent:E,cancelToken:E,socketPath:E,responseEncoding:E,validateStatus:s,headers:(A,e)=>i(BM(A),BM(e),!0)};return hh.forEach(Object.keys(Object.assign({},A,e)),(function(n){const B=r[n]||i,E=B(A[n],e[n],n);hh.isUndefined(E)&&B!==s||(t[n]=E)})),t}const sM={};["object","boolean","number","function","string","symbol"].forEach(((A,e)=>{sM[A]=function(t){return typeof t===A||"a"+(e<1?"n ":" ")+A}}));const rM={};sM.transitional=function(A,e,t){function n(A,e){return"[Axios v1.6.2] Transitional option '"+A+"'"+e+(t?". "+t:"")}return(t,i,B)=>{if(!1===A)throw new Mh(n(i," has been removed"+(e?" in "+e:"")),Mh.ERR_DEPRECATED);return e&&!rM[i]&&(rM[i]=!0,console.warn(n(i," has been deprecated since v"+e+" and will be removed in the near future"))),!A||A(t,i,B)}};const oM={assertOptions:function(A,e,t){if("object"!=typeof A)throw new Mh("options must be an object",Mh.ERR_BAD_OPTION_VALUE);const n=Object.keys(A);let i=n.length;for(;i-- >0;){const B=n[i],E=e[B];if(E){const e=A[B],t=void 0===e||E(e,B,A);if(!0!==t)throw new Mh("option "+B+" must be "+t,Mh.ERR_BAD_OPTION_VALUE)}else if(!0!==t)throw new Mh("Unknown option "+B,Mh.ERR_BAD_OPTION)}},validators:sM},cM=oM.validators;class gM{constructor(A){this.defaults=A,this.interceptors={request:new fh,response:new fh}}request(A,e){"string"==typeof A?(e=e||{}).url=A:e=A||{},e=EM(this.defaults,e);const{transitional:t,paramsSerializer:n,headers:i}=e;void 0!==t&&oM.assertOptions(t,{silentJSONParsing:cM.transitional(cM.boolean),forcedJSONParsing:cM.transitional(cM.boolean),clarifyTimeoutError:cM.transitional(cM.boolean)},!1),null!=n&&(hh.isFunction(n)?e.paramsSerializer={serialize:n}:oM.assertOptions(n,{encode:cM.function,serialize:cM.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let B=i&&hh.merge(i.common,i[e.method]);i&&hh.forEach(["delete","get","head","post","put","patch","common"],(A=>{delete i[A]})),e.headers=Vh.concat(B,i);const E=[];let s=!0;this.interceptors.request.forEach((function(A){"function"==typeof A.runWhen&&!1===A.runWhen(e)||(s=s&&A.synchronous,E.unshift(A.fulfilled,A.rejected))}));const r=[];let o;this.interceptors.response.forEach((function(A){r.push(A.fulfilled,A.rejected)}));let c,g=0;if(!s){const A=[iM.bind(this),void 0];for(A.unshift.apply(A,E),A.push.apply(A,r),c=A.length,o=Promise.resolve(e);g{if(!t._listeners)return;let e=t._listeners.length;for(;e-- >0;)t._listeners[e](A);t._listeners=null})),this.promise.then=A=>{let e;const n=new Promise((A=>{t.subscribe(A),e=A})).then(A);return n.cancel=function(){t.unsubscribe(e)},n},A((function(A,n,i){t.reason||(t.reason=new Oh(A,n,i),e(t.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(A){this.reason?A(this.reason):this._listeners?this._listeners.push(A):this._listeners=[A]}unsubscribe(A){if(!this._listeners)return;const e=this._listeners.indexOf(A);-1!==e&&this._listeners.splice(e,1)}static source(){let A;return{token:new QM((function(e){A=e})),cancel:A}}}const aM={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(aM).forEach((([A,e])=>{aM[e]=A}));const lM=function A(e){const t=new gM(e),n=Hl(gM.prototype.request,t);return hh.extend(n,gM.prototype,t,{allOwnKeys:!0}),hh.extend(n,t,null,{allOwnKeys:!0}),n.create=function(t){return A(EM(e,t))},n}(xh);lM.Axios=gM,lM.CanceledError=Oh,lM.CancelToken=QM,lM.isCancel=vh,lM.VERSION="1.6.2",lM.toFormData=Ch,lM.AxiosError=Mh,lM.Cancel=lM.CanceledError,lM.all=function(A){return Promise.all(A)},lM.spread=function(A){return function(e){return A.apply(null,e)}},lM.isAxiosError=function(A){return hh.isObject(A)&&!0===A.isAxiosError},lM.mergeConfig=EM,lM.AxiosHeaders=Vh,lM.formToJSON=A=>zh(hh.isHTMLForm(A)?new FormData(A):A),lM.getAdapter=tM,lM.HttpStatusCode=aM,lM.default=lM;const hM=["image/jpeg","image/gif","image/png","image/jpg"];async function MM(A,e){const t=A instanceof DataTransferItem?A.getAsFile():A;return(null==e?void 0:e.options.uploadFunc)?e.options.uploadFunc(t):(null==e?void 0:e.options.uploadUrl)?async function(A,e){return(await lM.postForm(e,{imgFile:A})).data.url||""}(t,e.options.uploadUrl):new Promise((A=>{const e=new FileReader;e.onloadend=()=>A(e.result),e.readAsDataURL(t)}))}const wM=Q.create({name:"imageUploader",addCommands(){return{uploadImage:A=>()=>(MM(A,this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)}},addOptions:()=>({uploadUrl:"",uploadFunc:null}),addProseMirrorPlugins(){return[new E({key:new s("imageUploader"),props:{handlePaste:(A,e)=>{var t;const n=Array.from((null===(t=e.clipboardData)||void 0===t?void 0:t.items)||[]);if(n.some((A=>"text/html"===A.type)))return!1;const i=n.find((A=>hM.includes(A.type)));return!!Boolean(i)&&(MM(i,this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)},handleDrop:(A,e)=>{var t;return!!Boolean(null===(t=e.dataTransfer)||void 0===t?void 0:t.files.length)&&(MM(e.dataTransfer.files.item(0),this).then((A=>{Boolean(A)&&this.editor.chain().focus().setImage({src:A}).run()})),!0)}}})]}}),RM=[9,13,16,20,24,36,48],IM=Q.create({name:"fontSize",addOptions:()=>({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{fontSize:{default:null,parseHTML:A=>{var e;return parseInt(null===(e=A.style.fontSize)||void 0===e?void 0:e.replace(/px$/,""))},renderHTML:A=>A.fontSize?{style:`font-size: ${A.fontSize}px`}:{}}}}]},addCommands:()=>({setFontSize:A=>({chain:e})=>e().setMark("textStyle",{fontSize:A}).run(),unsetFontSize:()=>({chain:A})=>A().setMark("textStyle",{fontSize:null}).removeEmptyTextStyle().run(),scaleFontSize:(A="upscale")=>({state:e})=>{const{doc:t,selection:n}=e,{from:i,to:B}=n;return t.slice(i,B).content.descendants(((t,n)=>{var B;if(t.isText){const E=(null===(B=t.marks.find((A=>"textStyle"===A.type.name)))||void 0===B?void 0:B.attrs.fontSize)||13,s=RM.reduce(((A,e)=>Math.abs(e-E)({types:["textStyle"]}),addGlobalAttributes(){return[{types:this.options.types,attributes:{lineHeight:{default:null,parseHTML:A=>parseInt(A.style.lineHeight),renderHTML:A=>A.lineHeight?{style:`line-height: ${A.lineHeight}`}:{}}}}]},addCommands:()=>({setLineHeight:A=>({chain:e})=>e().selectParentNode().setMark("textStyle",{lineHeight:A}).run(),unsetLineHeight:()=>({chain:A})=>A().selectParentNode().setMark("textStyle",{lineHeight:null}).removeEmptyTextStyle().run()})}),GM={"Sans-serif":'"Source Han Sans CN", PingFangSC, "Microsoft YaHei", HiraginoSansGB, Roboto, Helvetica, Tahoma, sans-serif',Serif:'SimSun, STSong, Georgia, "Times New Roman", Times, serif',Cursive:"FangSong, KaiTi, cursive",Monospace:'"Source Code Pro", Menlo, Monaco, Consolas, "Courier New", monospace'},CM=Q.create({name:"defaultTextStyle",addProseMirrorPlugins:()=>[new E({appendTransaction(A,e,t){if(1!==A.length||1!==A[0].steps.length)return;const n=A[0].doc.type.schema,i=n.marks.textStyle.create({fontFamily:GM["Sans-serif"]}),B=n.marks.textStyle.create({fontFamily:GM["Sans-serif"],fontSize:13});let E=t.tr;return A.forEach((A=>{A.steps.forEach((A=>{A.getMap().forEach(((A,e,n,s)=>{t.doc.nodesBetween(n,s,((A,e)=>{"heading"===A.type.name&&A.forEach(((A,t)=>{A.isText&&!Boolean(A.marks.find((A=>"textStyle"===A.type.name)))&&(E=E.addMark(e+t,e+t+A.nodeSize+1,i))})),"paragraph"===A.type.name&&A.forEach(((A,t)=>{A.isText&&!Boolean(A.marks.find((A=>"textStyle"===A.type.name)))&&(E=E.addMark(e+t,e+t+A.nodeSize+1,B))}))}))}))}))})),E}})]});var kM,DM;if("undefined"!=typeof WeakMap){let A=new WeakMap;kM=e=>A.get(e),DM=(e,t)=>(A.set(e,t),t)}else{const A=[],e=10;let t=0;kM=e=>{for(let t=0;t(t==e&&(t=0),A[t++]=n,A[t++]=i)}var YM=class{constructor(A,e,t,n){this.width=A,this.height=e,this.map=t,this.problems=n}findCell(A){for(let e=0;en&&(B+=i.attrs.colspan)}}for(let A=0;A1&&(t=!0)}-1==e?e=B:e!=B&&(e=Math.max(e,B))}return e}(A),t=A.childCount,n=[];let i=0,B=null;const E=[];for(let A=0,i=e*t;A=t){(B||(B=[])).push({type:"overlong_rowspan",pos:r,n:Q-A});break}const o=i+A*e;for(let A=0;A0;e--)if("row"==A.node(e).type.spec.tableRole)return A.node(0).resolve(A.before(e+1));return null}function SM(A){const e=A.selection.$head;for(let A=e.depth;A>0;A--)if("row"==e.node(A).type.spec.tableRole)return!0;return!1}function mM(A){const e=A.selection;if("$anchorCell"in e&&e.$anchorCell)return e.$anchorCell.pos>e.$headCell.pos?e.$anchorCell:e.$headCell;if("node"in e&&e.node&&"cell"==e.node.type.spec.tableRole)return e.$anchor;const t=NM(e.$head)||function(A){for(let e=A.nodeAfter,t=A.pos;e;e=e.firstChild,t++){const n=e.type.spec.tableRole;if("cell"==n||"header_cell"==n)return A.doc.resolve(t)}for(let e=A.nodeBefore,t=A.pos;e;e=e.lastChild,t--){const n=e.type.spec.tableRole;if("cell"==n||"header_cell"==n)return A.doc.resolve(t-e.nodeSize)}}(e.$head);if(t)return t;throw new RangeError(`No cell found around position ${e.head}`)}function yM(A){return"row"==A.parent.type.spec.tableRole&&!!A.nodeAfter}function bM(A,e){return A.depth==e.depth&&A.pos>=e.start(-1)&&A.pos<=e.end(-1)}function HM(A,e,t){const n=A.node(-1),i=YM.get(n),B=A.start(-1),E=i.nextCell(A.pos-B,e,t);return null==E?null:A.node(0).resolve(B+E)}function TM(A,e,t=1){const n={...A,colspan:A.colspan-t};return n.colwidth&&(n.colwidth=n.colwidth.slice(),n.colwidth.splice(e,t),n.colwidth.some((A=>A>0))||(n.colwidth=null)),n}function zM(A,e,t=1){const n={...A,colspan:A.colspan+t};if(n.colwidth){n.colwidth=n.colwidth.slice();for(let A=0;AA!=e.pos-i));s.unshift(e.pos-i);const r=s.map((A=>{const e=t.nodeAt(A);if(!e)throw RangeError(`No cell with offset ${A} found`);const n=i+A+1;return new V(E.resolve(n),E.resolve(n+e.content.size))}));super(r[0].$from,r[0].$to,r),this.$anchorCell=A,this.$headCell=e}map(A,e){const t=A.resolve(e.map(this.$anchorCell.pos)),n=A.resolve(e.map(this.$headCell.pos));if(yM(t)&&yM(n)&&bM(t,n)){const A=this.$anchorCell.node(-1)!=t.node(-1);return A&&this.isRowSelection()?xM.rowSelection(t,n):A&&this.isColSelection()?xM.colSelection(t,n):new xM(t,n)}return C.between(t,n)}content(){const A=this.$anchorCell.node(-1),e=YM.get(A),t=this.$anchorCell.start(-1),n=e.rectBetween(this.$anchorCell.pos-t,this.$headCell.pos-t),i={},B=[];for(let t=n.top;t0||c>0){let A=r.attrs;if(o>0&&(A=TM(A,0,o)),c>0&&(A=TM(A,A.colspan-c,c)),s.leftn.bottom){const A={...r.attrs,rowspan:Math.min(s.bottom,n.bottom)-Math.max(s.top,n.top)};r=s.top0)&&Math.max(A+this.$anchorCell.nodeAfter.attrs.rowspan,e+this.$headCell.nodeAfter.attrs.rowspan)==this.$headCell.node(-1).childCount}static colSelection(A,e=A){const t=A.node(-1),n=YM.get(t),i=A.start(-1),B=n.findCell(A.pos-i),E=n.findCell(e.pos-i),s=A.node(0);return B.top<=E.top?(B.top>0&&(A=s.resolve(i+n.map[B.left])),E.bottom0&&(e=s.resolve(i+n.map[E.left])),B.bottom0)&&Math.max(n+this.$anchorCell.nodeAfter.attrs.colspan,i+this.$headCell.nodeAfter.attrs.colspan)==e.width}eq(A){return A instanceof xM&&A.$anchorCell.pos==this.$anchorCell.pos&&A.$headCell.pos==this.$headCell.pos}static rowSelection(A,e=A){const t=A.node(-1),n=YM.get(t),i=A.start(-1),B=n.findCell(A.pos-i),E=n.findCell(e.pos-i),s=A.node(0);return B.left<=E.left?(B.left>0&&(A=s.resolve(i+n.map[B.top*n.width])),E.right0&&(e=s.resolve(i+n.map[E.top*n.width])),B.right{e.push(Y.node(t,t+A.nodeSize,{class:"selectedCell"}))})),k.create(A.doc,e)}var jM=new s("fix-tables");function ZM(A,e,t,n){const i=A.childCount,B=e.childCount;A:for(let E=0,s=0;E{"table"==e.type.spec.tableRole&&(t=function(A,e,t,n){const i=YM.get(e);if(!i.problems)return n;n||(n=A.tr);const B=[];for(let A=0;A0){let e="cell";t.firstChild&&(e=t.firstChild.type.spec.tableRole);const B=[];for(let t=0;te.width)for(let B=0,c=0;Be.height){const c=[];for(let A=0,n=(e.height-1)*e.width;A=e.width)&&t.nodeAt(e.map[n+A]).type==s.header_cell;c.push(i?o||(o=s.header_cell.createAndFill()):r||(r=s.cell.createAndFill()))}const g=s.row.create(null,x.from(c)),Q=[];for(let A=e.height;A{if(!i)return!1;const B=t.selection;if(B instanceof xM)return KM(t,n,b.near(B.$headCell,e));if("horiz"!=A&&!B.empty)return!1;const E=tw(i,A,e);if(null==E)return!1;if("horiz"==A)return KM(t,n,b.near(t.doc.resolve(B.head+e),e));{const i=t.doc.resolve(E),B=HM(i,A,e);let s;return s=B?b.near(B,1):e<0?b.near(t.doc.resolve(i.before(-1)),-1):b.near(t.doc.resolve(i.after(-1)),1),KM(t,n,s)}}}function WM(A,e){return(t,n,i)=>{if(!i)return!1;const B=t.selection;let E;if(B instanceof xM)E=B;else{const n=tw(i,A,e);if(null==n)return!1;E=new xM(t.doc.resolve(n))}const s=HM(E.$headCell,A,e);return!!s&&KM(t,n,new xM(E.$anchorCell,s))}}function qM(A,e){const t=A.selection;if(!(t instanceof xM))return!1;if(e){const n=A.tr,i=UM(A.schema).cell.createAndFill().content;t.forEachCell(((A,e)=>{A.content.eq(i)||n.replace(n.mapping.map(e+1),n.mapping.map(e+A.nodeSize-1),new H(i,0,0))})),n.docChanged&&e(n)}return!0}function $M(A,e){const t=NM(A.state.doc.resolve(e));return!!t&&(A.dispatch(A.state.tr.setSelection(new xM(t))),!0)}function Aw(A,e,t){if(!SM(A.state))return!1;let n=function(A){if(!A.size)return null;let{content:e,openStart:t,openEnd:n}=A;for(;1==e.childCount&&(t>0&&n>0||"table"==e.child(0).type.spec.tableRole);)t--,n--,e=e.child(0).content;const i=e.child(0),B=i.type.spec.tableRole,E=i.type.schema,s=[];if("row"==B)for(let A=0;A=0;e--){const{rowspan:i,colspan:B}=n.child(e).attrs;for(let e=A;e=e.length&&e.push(x.empty),t[i]n&&(s=s.type.createChecked(TM(s.attrs,s.attrs.colspan,t+s.attrs.colspan-n),s.content)),E.push(s),t+=s.attrs.colspan;for(let t=1;ti&&(e=e.type.create({...e.attrs,rowspan:Math.max(1,i-e.attrs.rowspan)},e.content)),E.push(e)}A.push(x.from(E))}t=A,e=i}return{width:A,height:e,rows:t}}(n,E.right-E.left,E.bottom-E.top),OM(A.state,A.dispatch,B,E,n),!0}if(n){const e=mM(A.state),t=e.start(-1);return OM(A.state,A.dispatch,t,YM.get(e.node(-1)).findCell(e.pos-t),n),!0}return!1}function ew(A,e){var t;if(e.ctrlKey||e.metaKey)return;const n=nw(A,e.target);let i;if(e.shiftKey&&A.state.selection instanceof xM)B(A.state.selection.$anchorCell,e),e.preventDefault();else if(e.shiftKey&&n&&null!=(i=NM(A.state.selection.$anchor))&&(null==(t=iw(A,e))?void 0:t.pos)!=i.pos)B(i,e),e.preventDefault();else if(!n)return;function B(e,t){let n=iw(A,t);const i=null==fM.getState(A.state);if(!n||!bM(e,n)){if(!i)return;n=e}const B=new xM(e,n);if(i||!A.state.selection.eq(B)){const t=A.state.tr.setSelection(B);i&&t.setMeta(fM,e.pos),A.dispatch(t)}}function E(){A.root.removeEventListener("mouseup",E),A.root.removeEventListener("dragstart",E),A.root.removeEventListener("mousemove",s),null!=fM.getState(A.state)&&A.dispatch(A.state.tr.setMeta(fM,-1))}function s(t){const i=t,s=fM.getState(A.state);let r;if(null!=s)r=A.state.doc.resolve(s);else if(nw(A,i.target)!=n&&(r=iw(A,e),!r))return E();r&&B(r,i)}A.root.addEventListener("mouseup",E),A.root.addEventListener("dragstart",E),A.root.addEventListener("mousemove",s)}function tw(A,e,t){if(!(A.state.selection instanceof C))return null;const{$head:n}=A.state.selection;for(let i=n.depth-1;i>=0;i--){const B=n.node(i);if((t<0?n.index(i):n.indexAfter(i))!=(t<0?0:B.childCount))return null;if("cell"==B.type.spec.tableRole||"header_cell"==B.type.spec.tableRole){const B=n.before(i);return A.endOfTextblock("vert"==e?t>0?"down":"up":t>0?"right":"left")?B:null}}return null}function nw(A,e){for(;e&&e!=A.dom;e=e.parentNode)if("TD"==e.nodeName||"TH"==e.nodeName)return e;return null}function iw(A,e){const t=A.posAtCoords({left:e.clientX,top:e.clientY});return t&&t?NM(A.state.doc.resolve(t.pos)):null}var Bw=class{constructor(A,e){this.node=A,this.cellMinWidth=e,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.colgroup=this.table.appendChild(document.createElement("colgroup")),Ew(A,this.colgroup,this.table,e),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(A){return A.type==this.node.type&&(this.node=A,Ew(A,this.colgroup,this.table,this.cellMinWidth),!0)}ignoreMutation(A){return"attributes"==A.type&&(A.target==this.table||this.colgroup.contains(A.target))}};function Ew(A,e,t,n,i,B){var E;let s=0,r=!0,o=e.firstChild;const c=A.firstChild;if(c){for(let A=0,t=0;A(i.spec.props.nodeViews[UM(n.schema).table.name]=(A,n)=>new t(A,e,n),new ow(-1,!1)),apply:(A,e)=>e.apply(A)},props:{attributes:A=>{const e=sw.getState(A);return e&&e.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:(e,t)=>{!function(A,e,t,n,i){const B=sw.getState(A.state);if(B&&!B.dragging){const n=function(A){for(;A&&"TD"!=A.nodeName&&"TH"!=A.nodeName;)A=A.classList&&A.classList.contains("ProseMirror")?null:A.parentNode;return A}(e.target);let E=-1;if(n){const{left:i,right:B}=n.getBoundingClientRect();e.clientX-i<=t?E=cw(A,e,"left",t):B-e.clientX<=t&&(E=cw(A,e,"right",t))}if(E!=B.activeHandle){if(!i&&-1!==E){const e=A.state.doc.resolve(E),t=e.node(-1),n=YM.get(t),i=e.start(-1);if(n.colCount(e.pos-i)+e.nodeAfter.attrs.colspan-1==n.width-1)return}Qw(A,E)}}}(e,t,A,0,n)},mouseleave:A=>{!function(A){const e=sw.getState(A.state);e&&e.activeHandle>-1&&!e.dragging&&Qw(A,-1)}(A)},mousedown:(A,t)=>{!function(A,e,t){const n=sw.getState(A.state);if(!n||-1==n.activeHandle||n.dragging)return!1;const i=A.state.doc.nodeAt(n.activeHandle),B=function(A,e,{colspan:t,colwidth:n}){const i=n&&n[n.length-1];if(i)return i;const B=A.domAtPos(e);let E=B.node.childNodes[B.offset].offsetWidth,s=t;if(n)for(let A=0;A{const e=sw.getState(A);if(e&&e.activeHandle>-1)return function(A,e){const t=[],n=A.doc.resolve(e),i=n.node(-1);if(!i)return k.empty;const B=YM.get(i),E=n.start(-1),s=B.colCount(n.pos-E)+n.nodeAfter.attrs.colspan;for(let A=0;A-1&&A.docChanged){let t=A.mapping.map(e.activeHandle,-1);return yM(A.doc.resolve(t))||(t=-1),new ow(t,e.dragging)}return e}};function cw(A,e,t,n){const i=A.posAtCoords({left:e.clientX+("right"==t?-n:n),top:e.clientY});if(!i)return-1;const{pos:B}=i,E=NM(A.state.doc.resolve(B));if(!E)return-1;if("right"==t)return E.pos;const s=YM.get(E.node(-1)),r=E.start(-1),o=s.map.indexOf(E.pos-r);return o%s.width==0?-1:r+s.map[o-1]}function gw(A,e,t){return Math.max(t,A.startWidth+(e.clientX-A.startX))}function Qw(A,e){A.dispatch(A.state.tr.setMeta(sw,{setHandle:e}))}function aw(A){const e=A.selection,t=mM(A),n=t.node(-1),i=t.start(-1),B=YM.get(n);return{...e instanceof xM?B.rectBetween(e.$anchorCell.pos-i,e.$headCell.pos-i):B.findCell(t.pos-i),tableStart:i,map:B,table:n}}function lw(A,{map:e,tableStart:t,table:n},i){let B=i>0?-1:0;(function(A,e,t){const n=UM(e.type.schema).header_cell;for(let i=0;i0&&i0&&e.map[s-1]==r||i0?-1:0;(function(A,e,t){var n;const i=UM(e.type.schema).header_cell;for(let B=0;B0&&i0&&r==e.map[E-e.width]){const e=t.nodeAt(r).attrs;A.setNodeMarkup(A.mapping.slice(s).map(r+n),null,{...e,rowspan:e.rowspan-1}),B+=e.colspan-1}else if(i0&&t[B]==t[B-1]||n.right0&&t[i]==t[i-A]||n.bottomt[A.type.spec.tableRole],(A,e)=>{var t;const i=A.selection;let B,E;if(i instanceof xM){if(i.$anchorCell.pos!=i.$headCell.pos)return!1;B=i.$anchorCell.nodeAfter,E=i.$anchorCell.pos}else{if(B=function(A){for(let e=A.depth;e>0;e--){const t=A.node(e).type.spec.tableRole;if("cell"===t||"header_cell"===t)return A.node(e)}return null}(i.$from),!B)return!1;E=null==(t=NM(i.$from))?void 0:t.pos}if(null==B||null==E)return!1;if(1==B.attrs.colspan&&1==B.attrs.rowspan)return!1;if(e){let t=B.attrs;const s=[],r=t.colwidth;t.rowspan>1&&(t={...t,rowspan:1}),t.colspan>1&&(t={...t,colspan:1});const o=aw(A),c=A.tr;for(let A=0;Ai.table.nodeAt(A)));for(let A=0;A{const e=A+i.tableStart,t=B.doc.nodeAt(e);t&&B.setNodeMarkup(e,o,t.attrs)})),t(B)}return!0}}Gw("row",{useDeprecatedLogic:!0}),Gw("column",{useDeprecatedLogic:!0});var Cw=Gw("cell",{useDeprecatedLogic:!0});function kw(A){return function(e,t){if(!SM(e))return!1;const n=function(A,e){if(e<0){const e=A.nodeBefore;if(e)return A.pos-e.nodeSize;for(let e=A.index(-1)-1,t=A.before();e>=0;e--){const n=A.node(-1).child(e),i=n.lastChild;if(i)return t-1-i.nodeSize;t-=n.nodeSize}}else{if(A.index()null,apply(A,e){const t=A.getMeta(fM);if(null!=t)return-1==t?null:t;if(null==e||!A.docChanged)return e;const{deleted:n,pos:i}=A.mapping.mapResult(e);return n?null:i}},props:{decorations:JM,handleDOMEvents:{mousedown:ew},createSelectionBetween:A=>null!=fM.getState(A.state)?A.state.selection:null,handleTripleClick:$M,handleKeyDown:_M,handlePaste:Aw},appendTransaction:(e,t,n)=>function(A,e,t){const n=(e||A).selection,i=(e||A).doc;let B,E;if(n instanceof T&&(E=n.node.type.spec.tableRole)){if("cell"==E||"header_cell"==E)B=xM.create(i,n.from);else if("row"==E){const A=i.resolve(n.from+1);B=xM.rowSelection(A,A)}else if(!t){const A=YM.get(n.node),e=n.from+1;B=xM.create(i,e+1,e+A.map[A.width*A.height-1])}}else n instanceof C&&function({$from:A,$to:e}){if(A.pos==e.pos||A.pos=0&&!(A.after(i+1)=0&&!(e.before(A+1)>e.start(A));A--,n--);return t==n&&/row|table/.test(A.node(i).type.spec.tableRole)}(n)?B=C.create(i,n.from):n instanceof C&&function({$from:A,$to:e}){let t,n;for(let e=A.depth;e>0;e--){const n=A.node(e);if("cell"===n.type.spec.tableRole||"header_cell"===n.type.spec.tableRole){t=n;break}}for(let A=e.depth;A>0;A--){const t=e.node(A);if("cell"===t.type.spec.tableRole||"header_cell"===t.type.spec.tableRole){n=t;break}}return t!==n&&0===e.parentOffset}(n)&&(B=C.create(i,n.$from.start(),n.$from.end()));return B&&(e||(e=A.tr)).setSelection(B),e}(n,PM(n,t),A)})}function Yw(A,e,t,n,i,B){let E=0,s=!0,r=e.firstChild;const o=A.firstChild;for(let A=0,t=0;A{const{selection:e}=A.state;if(!function(A){return A instanceof xM}(e))return!1;let t=0;const n=v(e.ranges[0].$from,(A=>"table"===A.type.name));return null==n||n.node.descendants((A=>{if("table"===A.type.name)return!1;["tableCell","tableHeader"].includes(A.type.name)&&(t+=1)})),t===e.ranges.length&&(A.commands.deleteTable(),!0)},Nw=R.create({name:"table",addOptions:()=>({HTMLAttributes:{},resizable:!1,handleWidth:5,cellMinWidth:25,View:Fw,lastColumnResizable:!0,allowTableNodeSelection:!1}),content:"tableRow+",tableRole:"table",isolating:!0,group:"block",parseHTML:()=>[{tag:"table"}],renderHTML({HTMLAttributes:A}){return["table",l(this.options.HTMLAttributes,A),["tbody",0]]},addCommands:()=>({insertTable:({rows:A=3,cols:e=3,withHeaderRow:t=!0}={})=>({tr:n,dispatch:i,editor:B})=>{const E=function(A,e,t,n,i){const B=function(A){if(A.cached.tableNodeTypes)return A.cached.tableNodeTypes;const e={};return Object.keys(A.nodes).forEach((t=>{const n=A.nodes[t];n.spec.tableRole&&(e[n.spec.tableRole]=n)})),A.cached.tableNodeTypes=e,e}(A),E=[],s=[];for(let A=0;A({state:A,dispatch:e})=>function(A,e){if(!SM(A))return!1;if(e){const t=aw(A);e(lw(A.tr,t,t.left))}return!0}(A,e),addColumnAfter:()=>({state:A,dispatch:e})=>function(A,e){if(!SM(A))return!1;if(e){const t=aw(A);e(lw(A.tr,t,t.right))}return!0}(A,e),deleteColumn:()=>({state:A,dispatch:e})=>function(A,e){if(!SM(A))return!1;if(e){const t=aw(A),n=A.tr;if(0==t.left&&t.right==t.map.width)return!1;for(let A=t.right-1;hw(n,t,A),A!=t.left;A--){const A=t.tableStart?n.doc.nodeAt(t.tableStart-1):n.doc;if(!A)throw RangeError("No table found");t.table=A,t.map=YM.get(A)}e(n)}return!0}(A,e),addRowBefore:()=>({state:A,dispatch:e})=>function(A,e){if(!SM(A))return!1;if(e){const t=aw(A);e(Mw(A.tr,t,t.top))}return!0}(A,e),addRowAfter:()=>({state:A,dispatch:e})=>function(A,e){if(!SM(A))return!1;if(e){const t=aw(A);e(Mw(A.tr,t,t.bottom))}return!0}(A,e),deleteRow:()=>({state:A,dispatch:e})=>function(A,e){if(!SM(A))return!1;if(e){const t=aw(A),n=A.tr;if(0==t.top&&t.bottom==t.map.height)return!1;for(let A=t.bottom-1;ww(n,t,A),A!=t.top;A--){const A=t.tableStart?n.doc.nodeAt(t.tableStart-1):n.doc;if(!A)throw RangeError("No table found");t.table=A,t.map=YM.get(t.table)}e(n)}return!0}(A,e),deleteTable:()=>({state:A,dispatch:e})=>function(A,e){const t=A.selection.$anchor;for(let n=t.depth;n>0;n--)if("table"==t.node(n).type.spec.tableRole)return e&&e(A.tr.delete(t.before(n),t.after(n)).scrollIntoView()),!0;return!1}(A,e),mergeCells:()=>({state:A,dispatch:e})=>Iw(A,e),splitCell:()=>({state:A,dispatch:e})=>uw(A,e),toggleHeaderColumn:()=>({state:A,dispatch:e})=>Gw("column")(A,e),toggleHeaderRow:()=>({state:A,dispatch:e})=>Gw("row")(A,e),toggleHeaderCell:()=>({state:A,dispatch:e})=>Cw(A,e),mergeOrSplit:()=>({state:A,dispatch:e})=>!!Iw(A,e)||uw(A,e),setCellAttribute:(A,e)=>({state:t,dispatch:n})=>function(A,e){return function(t,n){if(!SM(t))return!1;const i=mM(t);if(i.nodeAfter.attrs[A]===e)return!1;if(n){const B=t.tr;t.selection instanceof xM?t.selection.forEachCell(((t,n)=>{t.attrs[A]!==e&&B.setNodeMarkup(n,null,{...t.attrs,[A]:e})})):B.setNodeMarkup(i.pos,null,{...i.nodeAfter.attrs,[A]:e}),n(B)}return!0}}(A,e)(t,n),goToNextCell:()=>({state:A,dispatch:e})=>kw(1)(A,e),goToPreviousCell:()=>({state:A,dispatch:e})=>kw(-1)(A,e),fixTables:()=>({state:A,dispatch:e})=>(e&&PM(A),!0),setCellSelection:A=>({tr:e,dispatch:t})=>{if(t){const t=xM.create(e.doc,A.anchorCell,A.headCell);e.setSelection(t)}return!0}}),addKeyboardShortcuts(){return{Tab:()=>!!this.editor.commands.goToNextCell()||!!this.editor.can().addRowAfter()&&this.editor.chain().addRowAfter().goToNextCell().run(),"Shift-Tab":()=>this.editor.commands.goToPreviousCell(),Backspace:fw,"Mod-Backspace":fw,Delete:fw,"Mod-Delete":fw}},addProseMirrorPlugins(){return[...this.options.resizable&&this.editor.isEditable?[rw({handleWidth:this.options.handleWidth,cellMinWidth:this.options.cellMinWidth,View:this.options.View,lastColumnResizable:this.options.lastColumnResizable})]:[],Dw({allowTableNodeSelection:this.options.allowTableNodeSelection})]},extendNodeSchema:A=>({tableRole:p(J(A,"tableRole",{name:A.name,options:A.options,storage:A.storage}))})}),Sw=R.create({name:"tableCell",addOptions:()=>({HTMLAttributes:{}}),content:"block+",addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null}}}),tableRole:"cell",isolating:!0,parseHTML:()=>[{tag:"td"}],renderHTML({HTMLAttributes:A}){return["td",l(this.options.HTMLAttributes,A),0]}}),mw=R.create({name:"tableHeader",addOptions:()=>({HTMLAttributes:{}}),content:"block+",addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null}}}),tableRole:"header_cell",isolating:!0,parseHTML:()=>[{tag:"th"}],renderHTML({HTMLAttributes:A}){return["th",l(this.options.HTMLAttributes,A),0]}}),yw=R.create({name:"tableRow",addOptions:()=>({HTMLAttributes:{}}),content:"(tableCell | tableHeader)*",tableRole:"row",parseHTML:()=>[{tag:"tr"}],renderHTML({HTMLAttributes:A}){return["tr",l(this.options.HTMLAttributes,A),0]}}),bw=Sw.extend({addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null},renderHTML:A=>A.colwidth?{style:`width: ${A.colwidth[0]}px;`}:{}}}),renderHTML({HTMLAttributes:A}){return["td",l(this.options.HTMLAttributes,A,{style:"border: 1px solid black; padding: 5px;"}),0]}}),Hw=mw.extend({addAttributes:()=>({colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:A=>{const e=A.getAttribute("colwidth");return e?[parseInt(e,10)]:null},renderHTML:A=>A.colwidth?{style:`width: ${A.colwidth[0]}px;`}:{}}}),renderHTML({HTMLAttributes:A}){return["th",l(this.options.HTMLAttributes,A,{style:"border: 1px solid black; padding: 5px;"}),0]}}),Tw=Nw.extend({renderHTML({HTMLAttributes:A}){return["table",l(this.options.HTMLAttributes,A,{style:"border-collapse: collapse; border: 1px solid black;"}),["tbody",0]]}});var zw;!function(A){A[A.compact=0]="compact",A[A.full=1]="full"}(zw||(zw={}));class xw extends O{constructor(){super(...arguments),this.contentComponent=null}}const pw=class{constructor(A){e(this,A),this.editorDidLoad=B(this,"editorDidLoad",7),this.toggleMonaco=async()=>{if(this.isMonaco){const A=await this.monacoEditor.getValue();this.editor.chain().setContent(A).run()}this.isMonaco=!this.isMonaco},this.name="",this.uploadUrl="",this.placeholder="",this.initialContent="",this.resizable=!1,this.exposeEditor=!1,this.size="sm",this.hideMenubar=void 0,this.menubarMode="full",this.extraMenubarItems="",this.bubbleMenu=!1,this.locale=void 0,this.styles=void 0,this.collaborative=!1,this.hocuspocus="",this.docName="",this.username="",this.userColor="#ffcc00",this.updateInputValue=void 0,this.fullscreenable=!1,this.toggleFullscreen=void 0,this.isFullscreen=!1,this.value=void 0,this.editor=null,this.forceUpdateCounter=0,this.isMonaco=!1}forceUpdate(){this.forceUpdateCounter>1e3?this.forceUpdateCounter=0:this.forceUpdateCounter++}onLocaleChanage(){void 0!==this.locale&&(A.setLocale(this.locale),this.forceUpdate())}connectedCallback(){void 0!==this.locale&&A.setLocale(this.locale),setTimeout((()=>{const{lowlight:A}=Ln;this.ydoc=this.collaborative?new Qo:null;const e=this.collaborative?[HQ.configure({document:this.ydoc}),xQ.configure({provider:new ml({url:this.hocuspocus,name:this.docName,document:this.ydoc}),user:{name:this.username,color:this.userColor}})]:[];this.editor=new xw({extensions:[qE.configure(Object.assign({history:{depth:50,newGroupDelay:500},codeBlock:!1},this.collaborative?{history:!1}:{})),tA,BA,iA,$,EA,sA.extend({priority:1e3}),pB,IM,JB,CM,dM,ue.configure({lowlight:A}),Tw.configure({resizable:!0}),yw,Hw,bw,On.configure({inline:!0}),yB,bB,HB,TB.configure({types:["heading","paragraph"]}),bl,X,wM.configure({uploadUrl:this.uploadUrl}),zB.configure({placeholder:this.placeholder}),xB,...e],editorProps:{attributes:{spellcheck:"false"},handleDOMEvents:{mouseup:A=>{requestAnimationFrame((()=>{const e=A.pluginViews.find((A=>{var e;return"BubbleMenuView"===(null===(e=A.constructor)||void 0===e?void 0:e.name)}));null==e||e.update(A)}))}}},content:this.value||this.initialContent}),this.editorDidLoad.emit(this.editor),this.editor.on("transaction",(()=>{requestAnimationFrame((()=>{requestAnimationFrame((()=>{this.forceUpdate()}))}))})),this.editor.on("blur",(()=>{requestAnimationFrame((()=>{this.updateInputValue()}))})),this.updateInputValue(),this.exposeEditor&&(window.$zenEditors||(window.$zenEditors={}),window.$zenEditors[this.name||"ze"]=this.editor)}),0)}componentDidLoad(){Boolean(this.styles)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles])}disconnectedCallback(){this.editor.destroy()}render(){return Boolean(this.editor)?t("div",{class:`editor${this.isFullscreen?" is-fullscreen":""}${this.resizable?" resizable":""}${"full"===this.size?" full":""}`},t("zen-editor-bubble-menu",{editor:this.editor,menuProps:{tippyOptions:{duration:100}},disabled:!this.bubbleMenu}),this.hideMenubar?null:t("zen-editor-menubar",{editor:this.editor,menubarMode:zw[this.menubarMode],toggleMonaco:this.toggleMonaco,toggleFullscreen:this.fullscreenable&&this.toggleFullscreen,states:{isMonaco:this.isMonaco,isCollaborative:this.collaborative,isFullscreen:this.isFullscreen},forceUpdateCounter:this.forceUpdateCounter,styles:this.styles,extraMenubarItems:this.extraMenubarItems}),this.isMonaco&&t("monaco-editor",{class:`monaco-editor ${this.size}`,ref:A=>this.monacoEditor=A,options:{language:"html",ariaContainerElement:null,value:this.editor.getHTML()},tiptapEditor:this.editor,updateInputValue:this.updateInputValue}),t("zen-editor-content",{class:`editor__content ${this.size}`,editor:this.editor,styles:this.styles,style:{display:this.isMonaco?"none":""}})):null}get element(){return i(this)}static get watchers(){return{locale:["onLocaleChanage"]}}};pw.style='button,input,select{font-size:inherit;font-family:inherit;color:#333333;margin:0.1em;border:1px solid #333333;border-radius:0.25em;padding:0.1em 0.4em;background:white;accent-color:black}button[disabled],input[disabled],select[disabled]{opacity:0.3}.editor{font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;background-color:#fff;border:1px solid #a6a39e;border-radius:0.25em;color:#0d0d0d;display:flex;flex-direction:column;min-height:10em;max-height:96vh}.editor.resizable{resize:vertical;overflow:hidden}.editor.is-fullscreen{height:100% !important;max-height:unset;resize:none}.editor.full{min-height:100%}.editor__content{flex:1 1 auto;overflow-x:hidden;overflow-y:auto;padding:0.25em 0.75em 1.25em 1em;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;cursor:text}.editor__content.sm{min-height:3.5em}.editor__content.lg{min-height:14em}.editor__content.full{min-height:100%}.editor__content.narrow{padding:0 0 0 0.5em}.editor__content .collaboration-cursor__caret{border-left:1px solid #0d0d0d;border-right:1px solid #0d0d0d;margin-left:-1px;margin-right:-1px;pointer-events:none;position:relative;word-break:normal}.editor__content .collaboration-cursor__label{border-radius:3px 3px 3px 0;color:#0d0d0d;font-size:12px;font-style:normal;font-weight:600;left:-1px;line-height:normal;padding:0.1em 0.3em;position:absolute;top:-1.4em;user-select:none;white-space:nowrap}.editor__footer{align-items:center;border-top:1px solid #a6a39e;color:#6e6e6e;display:flex;flex:0 0 auto;font-size:12px;flex-wrap:wrap;font-weight:600;justify-content:space-between;padding:0.25em 0.75em;white-space:nowrap}.editor ::-webkit-scrollbar{width:14px;height:14px}.editor ::-webkit-scrollbar-track{border:4px solid transparent;background-clip:padding-box;border-radius:8px;background-color:transparent}.editor ::-webkit-scrollbar-thumb{border:4px solid rgba(0, 0, 0, 0);background-clip:padding-box;border-radius:8px;background-color:rgba(0, 0, 0, 0)}.editor :hover::-webkit-scrollbar-thumb{background-color:rgba(0, 0, 0, 0.1)}.editor ::-webkit-scrollbar-thumb:hover{background-color:rgba(0, 0, 0, 0.15)}.editor ::-webkit-scrollbar-button{display:none;width:0;height:0}.editor ::-webkit-scrollbar-corner{background-color:transparent}.editor .monaco-editor{height:100%;min-height:10em}.editor .monaco-editor.sm{min-height:3.5em}.editor .monaco-editor.lg{min-height:14em}.editor .monaco-editor.full{min-height:100%}';const Jw=class{constructor(A){e(this,A),this.itemProps=void 0,this.menubarMode=void 0,this.styles=void 0}updateMenu(){if(this.menuTippy){const{menuItems:A}=this.itemProps;this.menuContent=document.createElement("div"),this.menuContent.style.padding="0.1em",this.menuContent.style.borderRadius="0.3em",this.menuContent.style.backgroundColor="#fff",this.menuContent.style.border="1px solid #a6a39e",A.forEach((A=>{const e=document.createElement("zen-editor-menu-item"),{menuModeLevel:t}=A;t&&t>this.menubarMode||(e.itemProps=Object.assign(Object.assign({},A),{action:A.action?()=>{A.action(),this.menuTippy.hide()}:null}),this.menuContent.append(e))})),this.menuTippy.setContent(this.menuContent)}}componentDidLoad(){var A;const{menuItems:e}=this.itemProps;e&&(this.menuTippy=g(null!==(A=this.menuTippyTarget)&&void 0!==A?A:this.el,{placement:"bottom-start",trigger:"click",interactive:!0,animation:!1,appendTo:()=>{var A,e,t;return null!==(t=null===(e=null===(A=document.fullscreenElement)||void 0===A?void 0:A.shadowRoot)||void 0===e?void 0:e.querySelector(".editor"))&&void 0!==t?t:document.body}}),this.updateMenu())}componentDidUpdate(){this.menuTippy&&this.updateMenu()}render(){const{icon:A,label:e,title:i,action:B,menuItems:E,isDisabled:s=null,isActive:r=null,flip:o="none"}=this.itemProps;return t(n,null,t("button",{class:`menu-item${s&&s()?" is-disabled":""}${r&&r()?" is-active":""}${"none"!==o?` flip-${o}`:""}${E&&B?" has-submenu":""}`,onClick:s&&s()?null:B,title:i},A&&(A.startsWith("ci")?t("i",{class:`coolicons ${A}`}):t("i",{class:A})),e&&t("span",{class:"label"},e),E&&!B?t("i",{class:"coolicons ci-caret_down_sm"}):null),E&&B&&t("button",{class:"menu-item",ref:A=>this.menuTippyTarget=A},t("i",{class:"coolicons ci-caret_down_sm"})))}get el(){return i(this)}};Jw.style='@font-face{font-family:\'coolicons\';src:url(data:application/font-woff;base64,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BAAAgAQAAIAEAACABAAAgAQAAKsEAACrBAAA1QQAAKsEAACrBAAAqwQAAKsEAACrBAAAqwQAAKsEAACABAAAqwQAAKsEAACrBAAAVQQAAIAEAACABAAAVQQAAIAEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAACrBAAAZwQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAQAEAABVBAAAVQQAAG0EAAEzBAAARgQAAIAEAACABAAAKwQAAIAEAACABAAAgAQAAIAEAABVBAAAVQQAAFUEAAA0BAABKwQAACsEAACABAAAKwQAAFUEAABVBAAAqwQAAdUEAAHVBAAB1QQAAdUEAACABAAAVQQAAFUEAAErBAAAlAQAAFUEAACABAAAgAQAAH8EAABVBAAAqwQAAKsEAACABAAAgAQAAIAEAABVBAAAVQQAAFUEAABVBAAANAQAAKsEAABVBAAAqQQAAKsEAACrBAAAqwQAAKsEAACrBAAAVQQAAKsEAAEABAABAAQAAIAEAACABAAAVQQAAKsEAAErBAAAqwQAAasEAADVBAAAVQQAAVUEAABVBAAAVQQAAG8EAACABAAAgAQAAIAEAACABAAAVQQAAFUEAABVBAAAVQQAAFUEAABIBAAAKwQAAJcEAAEABAAAVQQAAFUEAACABAAAVQQAADAEAABVBAAAqwQAAFUEAABVBAAAgAQAAIAEAACABAAAVQQAAIAEAABVBAAA1QQAAFUEAACABAAAcAQAAFUEAABVBAAAVQQAAGQEAAArBAAAVQQAAIAEAACABAAAgAQAAIAEAABVBAAAZwQAAFUEAABVBAAARgQAAKsEAABVBAABgAQAAYAEAAEABAAA1QQAAFUEAABVBAAAVQQAAIAEAACABAAAVQQAAFUEAABVBAAAVQQAAEcEAABVBAAAVQQAAKsEAACABAAAVQQAACsEAABVBAAAKwQAACsEAABVBAAAVQQAAIAEAABVBAAAgAQAAJEEAABVBAAAgAQAAIAEAACABAAAgAQAANUEAABVBAAAgAQAAIAEAACABAAAgAQAAIAEAACABAAAgAQAAIAEAABZBAAAWQQAAFkEAADVBAAAqwQAASsEAAErBAAAqwQAAIAEAADVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQQAACsEAAArBAAAKwQAANUEAAArBAAAKwQAAdMEAACrBAAAVQQAAFUEAABVBAAAVQQAAF8EAAE5BAAA3AQAAasEAABfBAAAXwQAAFUEAABVBAAAVQQAAFUEAABVBAAAVQAAAAAAAAAAAAAAFAAAACgAAAA8AAABBAAAArgAAAPAAAAFnAAABfwAAAbIAAAJFAAACwQAAAx8AAAPBAAAEDQAABFkAAASyAAAFCwAABWQAAAWwAAAF/AAABlUAAAZ5AAAGnQAABsAAAAblAAAHCwAABy8AAAdTAAAHdgAAB5sAAAfeAAAIAwAACCkAAAhvAAAIlAAACPUAAAkaAAAJQAAACWUAAAmhAAAJ3wAAChoAAApVAAAKkAAACskAAAsFAAALQAAAC3MAAAumAAAL2QAADAwAAAwvAAAMUgAADHUAAAyXAAAMugAADN4AAA0CAAANJQAADUcAAA2qAAAOGQAADoYAAA70AAAPYQAAD9wAABBjAAAQygAAETAAABGhAAASNAAAEpoAABLNAAATcgAAE84AABRLAAAU2AAAFVkAABXpAAAWeAAAFu4AABeFAAAYHgAAGMIAABmCAAAaEgAAGp8AABssAAAbrwAAHFgAABzUAAAdGAAAHVsAAB2eAAAd3wAAHfkAAB4TAAAeLQAAHkcAAB5fAAAedwAAHuUAAB9TAAAfxQAAIA8AACCQAAAhEwAAIXgAACHeAAAiTwAAIr0AACMXAAAjZwAAI/UAACSDAAAkugAAJUUAACW8AAAmKQAAJmYAACajAAAmvgAAJtkAACdUAAAoAAAAKGQAACiUAAAosAAAKOAAACj6AAApFgAAKUYAAClgAAApfAAAKacAACnBAAAqQQAAKoUAACriAAArJQAAK1IAACuNAAAr2wAALAIAACwpAAAsUAAALNYAAC0nAAAtegAALdcAAC4tAAAukwAALtoAAC8wAAAvbAAAL50AADBXAAAwyAAAMT8AADHAAAAyGwAAMmUAADMBAAAzqgAANCsAADSvAAA1CQAANYsAADXeAAA2SgAANnIAADaaAAA3UQAAN98AADiNAAA5IwAAObcAADpCAAA6cQAAOqkAADrhAAA7AgAAOy8AADuQAAA77wAAPDsAADx2AAA8zQAAPRMAAD2qAAA9yAAAPjoAAD6UAAA/MAAAP7cAAEBVAABA/gAAQbIAAEJQAABC8QAAQ4UAAEQXAABEwwAARWQAAEY+AABG6gAAR3AAAEeaAABH5gAASGgAAEjsAABJegAAShQAAEqWAABLJQAAS7oAAExiAABM2gAATWkAAE33AABOZAAATzEAAE9zAABPpwAAUEIAAFCvAABQ0QAAUPMAAFFuAABRuwAAUhMAAFJuAABSxgAAUyQAAFOWAABTzwAAVF8AAFSzAABU6wAAVSIAAFW9AABWYQAAVtAAAFczAABXtwAAWD0AAFjNAABZRwAAWgAAAFq5AABa/AAAW3YAAFufAABcMQAAXKAAAFzwAABdKQAAXXsAAF2+AABdzAAAXdoAAF3oAABd9gAAXl4AAF6uAABe7QAAXywAAF99AABftAAAX+0AAGBVAABgqgAAYNcAAGEXAABhNQAAYakAAGIaAABisAAAYvsAAGNQAABj2QAAZF4AAGYtAABmfwAAZsoAAGciAABnRQAAZ2kAAGeLAABnrQAAZ9AAAGfoAABoAQAAaG0AAGjZAABpXgAAacsAAGoQAABqYwAAaooAAGqoAABqxgAAawAAAGs2AABrbAAAa9UAAGyiAABsugAAbSkAAG2dAABuJAAAbqcAAG88AABv6QAAcH0AAHD7AABxLwAAcZgAAHHHAAByCgAAcjwAAHJ1AABytwAAczIAAHN/AABz9QAAdDkAAHR8AAB1egAAdcEAAHcZAAB3WAAAd4UAAHfXAAB4GwAAeFMAAHhhAAB4lQAAeREAAHm8AAB6ZQAAeqUAAHs6AAB7tAAAfRIAAH1tAAB98gAAfmcAAH7bAAB/OgAAf60AAIAqAACAqwAAgREAAIF6AACBmAAAggYAAIJTAACCngAAgvoAAINWAACDpQAAhBoAAIR5AACEtQAAhPAAAIVqAACF+wAAhnIAAIbUAACHBgAAh3wAAIe7AACIHgAAiJYAAIkOAACJnAAAifEAAIo0AACKdgAAiv4AAIt7AACL/wAAjGwAAIzZAACNXwAAjeMAAI4QAACOPAAAjmkAAI6VAACOvQAAj1IAAI+vAACQGQAAkGwAAJC/AACRNwAAkcQAAJILAACSVAAAkr4AAJMoAACTfAAAk6MAAJPkAACUEgAAlEAAAJR9AACUtwAAlPEAAJU/AACV3gAAli4AAJaFAACW4AAAlyQAAJeuAACYGQAAmKcAAJkMAACZsAAAmjIAAJqoAACbKgAAm7YAAJw2AACcUAAAnLAAAJ1GAACd9AAAnokAAJ8IAACfaQAAn44AAJ/NAACf2QAAoGoAAKDaAAChXgAAoewAAKKGAACi/gAAo4wAAKP5AABAAABvgKPAA0AAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEACQAAAAEAAAAAAAIABwByAAEAAAAAAAMACQA8AAEAAAAAAAQACQCHAAEAAAAAAAUACwAbAAEAAAAAAAYACQBXAAEAAAAAAAoAGgCiAAMAAQQJAAEAEgAJAAMAAQQJAAIADgB5AAMAAQQJAAMAEgBFAAMAAQQJAAQAEgCQAAMAAQQJAAUAFgAmAAMAAQQJAAYAEgBgAAMAAQQJAAoANAC8Q29vbGljb25zAEMAbwBvAGwAaQBjAG8AbgBzVmVyc2lvbiAxLjAAVgBlAHIAcwBpAG8AbgAgADEALgAwQ29vbGljb25zAEMAbwBvAGwAaQBjAG8AbgBzQ29vbGljb25zAEMAbwBvAGwAaQBjAG8AbgBzUmVndWxhcgBSAGUAZwB1AGwAYQByQ29vbGljb25zAEMAbwBvAGwAaQBjAG8AbgBzRm9udCBnZW5lcmF0ZWQgYnkgSWNvTW9vbi4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==)\n format(\'woff\');font-weight:normal;font-style:normal;font-display:block}i.coolicons{font-family:\'coolicons\' !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ci-add_column:before{content:"\\e900"}.ci-add_minus_square:before{content:"\\e901"}.ci-add_plus_circle:before{content:"\\e902"}.ci-add_plus_square:before{content:"\\e903"}.ci-add_plus:before{content:"\\e904"}.ci-add_row:before{content:"\\e905"}.ci-add_to_queue:before{content:"\\e906"}.ci-airplay:before{content:"\\e907"}.ci-alarm:before{content:"\\e908"}.ci-archive:before{content:"\\e909"}.ci-arrow_circle_down_left:before{content:"\\e90a"}.ci-arrow_circle_down_right:before{content:"\\e90b"}.ci-arrow_circle_down:before{content:"\\e90c"}.ci-arrow_circle_left:before{content:"\\e90d"}.ci-arrow_circle_right:before{content:"\\e90e"}.ci-arrow_circle_up_left:before{content:"\\e90f"}.ci-arrow_circle_up_right:before{content:"\\e910"}.ci-arrow_circle_up:before{content:"\\e911"}.ci-arrow_down_left_lg:before{content:"\\e912"}.ci-arrow_down_left_md:before{content:"\\e913"}.ci-arrow_down_left_sm:before{content:"\\e914"}.ci-arrow_down_lg:before{content:"\\e915"}.ci-arrow_down_md:before{content:"\\e916"}.ci-arrow_down_right_lg:before{content:"\\e917"}.ci-arrow_down_right_md:before{content:"\\e918"}.ci-arrow_down_right_sm:before{content:"\\e919"}.ci-arrow_down_sm:before{content:"\\e91a"}.ci-arrow_down_up:before{content:"\\e91b"}.ci-arrow_left_lg:before{content:"\\e91c"}.ci-arrow_left_md:before{content:"\\e91d"}.ci-arrow_left_right:before{content:"\\e91e"}.ci-arrow_left_sm:before{content:"\\e91f"}.ci-arrow_reload_02:before{content:"\\e920"}.ci-arrow_right_lg:before{content:"\\e921"}.ci-arrow_right_md:before{content:"\\e922"}.ci-arrow_right_sm:before{content:"\\e923"}.ci-arrow_sub_down_left:before{content:"\\e924"}.ci-arrow_sub_down_right:before{content:"\\e925"}.ci-arrow_sub_left_down:before{content:"\\e926"}.ci-arrow_sub_left_up:before{content:"\\e927"}.ci-arrow_sub_right_down:before{content:"\\e928"}.ci-arrow_sub_right_up:before{content:"\\e929"}.ci-arrow_sub_up_left:before{content:"\\e92a"}.ci-arrow_sub_up_right:before{content:"\\e92b"}.ci-arrow_undo_down_left:before{content:"\\e92c"}.ci-arrow_undo_down_right:before{content:"\\e92d"}.ci-arrow_undo_up_left:before{content:"\\e92e"}.ci-arrow_undo_up_right:before{content:"\\e92f"}.ci-arrow_up_left_lg:before{content:"\\e930"}.ci-arrow_up_left_md:before{content:"\\e931"}.ci-arrow_up_left_sm:before{content:"\\e932"}.ci-arrow_up_lg:before{content:"\\e933"}.ci-arrow_up_md:before{content:"\\e934"}.ci-arrow_up_right_lg:before{content:"\\e935"}.ci-arrow_up_right_md:before{content:"\\e936"}.ci-arrow_up_right_sm:before{content:"\\e937"}.ci-arrow_up_sm:before{content:"\\e938"}.ci-arrows_reload_01:before{content:"\\e939"}.ci-bar_bottom:before{content:"\\e93a"}.ci-bar_left:before{content:"\\e93b"}.ci-bar_right:before{content:"\\e93c"}.ci-bar_top:before{content:"\\e93d"}.ci-bell_add:before{content:"\\e93e"}.ci-bell_close:before{content:"\\e93f"}.ci-bell_notification:before{content:"\\e940"}.ci-bell_off:before{content:"\\e941"}.ci-bell_remove:before{content:"\\e942"}.ci-bell_ring:before{content:"\\e943"}.ci-bell:before{content:"\\e944"}.ci-bold:before{content:"\\e945"}.ci-book_open:before{content:"\\e946"}.ci-book:before{content:"\\e947"}.ci-bookmark:before{content:"\\e948"}.ci-building_01:before{content:"\\e949"}.ci-building_02:before{content:"\\e94a"}.ci-building_03:before{content:"\\e94b"}.ci-building_04:before{content:"\\e94c"}.ci-bulb:before{content:"\\e94d"}.ci-calendar_add:before{content:"\\e94e"}.ci-calendar_check:before{content:"\\e94f"}.ci-calendar_close:before{content:"\\e950"}.ci-calendar_days:before{content:"\\e951"}.ci-calendar_event:before{content:"\\e952"}.ci-calendar_remove:before{content:"\\e953"}.ci-calendar_week:before{content:"\\e954"}.ci-calendar:before{content:"\\e955"}.ci-camera:before{content:"\\e956"}.ci-car_auto:before{content:"\\e957"}.ci-caret_circle_down:before{content:"\\e958"}.ci-caret_circle_left:before{content:"\\e959"}.ci-caret_circle_right:before{content:"\\e95a"}.ci-caret_circle_up:before{content:"\\e95b"}.ci-caret_down_md:before{content:"\\e95c"}.ci-caret_down_sm:before{content:"\\e95d"}.ci-caret_left_sm:before{content:"\\e95e"}.ci-caret_right_sm:before{content:"\\e95f"}.ci-caret_up_md:before{content:"\\e960"}.ci-caret_up_sm:before{content:"\\e961"}.ci-chart_bar_horizontal_01:before{content:"\\e962"}.ci-chart_bar_vertical_01:before{content:"\\e963"}.ci-chart_line:before{content:"\\e964"}.ci-chart_pie:before{content:"\\e965"}.ci-chat_add:before{content:"\\e966"}.ci-chat_check:before{content:"\\e967"}.ci-chat_circle_add:before{content:"\\e968"}.ci-chat_circle_check:before{content:"\\e969"}.ci-chat_circle_close:before{content:"\\e96a"}.ci-chat_circle_dots:before{content:"\\e96b"}.ci-chat_circle_remove:before{content:"\\e96c"}.ci-chat_circle:before{content:"\\e96d"}.ci-chat_close:before{content:"\\e96e"}.ci-chat_conversation_circle:before{content:"\\e96f"}.ci-chat_conversation:before{content:"\\e970"}.ci-chat_dots:before{content:"\\e971"}.ci-chat_remove:before{content:"\\e972"}.ci-chat:before{content:"\\e973"}.ci-check_all_big:before{content:"\\e974"}.ci-check_all:before{content:"\\e975"}.ci-check_big:before{content:"\\e976"}.ci-check:before{content:"\\e977"}.ci-checkbox_check:before{content:"\\e978"}.ci-checkbox_fill:before{content:"\\e979"}.ci-checkbox_unchecked:before{content:"\\e97a"}.ci-chevron_down_duo:before{content:"\\e97b"}.ci-chevron_down:before{content:"\\e97c"}.ci-chevron_left_duo:before{content:"\\e97d"}.ci-chevron_left_md:before{content:"\\e97e"}.ci-chevron_left:before{content:"\\e97f"}.ci-chevron_right_duo:before{content:"\\e980"}.ci-chevron_right_md:before{content:"\\e981"}.ci-chevron_right:before{content:"\\e982"}.ci-chevron_up_duo:before{content:"\\e983"}.ci-chevron_up:before{content:"\\e984"}.ci-chromecast:before{content:"\\e985"}.ci-circle_check:before{content:"\\e986"}.ci-circle_help:before{content:"\\e987"}.ci-circle_warning:before{content:"\\e988"}.ci-circle:before{content:"\\e989"}.ci-clock:before{content:"\\e98a"}.ci-close_circle:before{content:"\\e98b"}.ci-close_lg:before{content:"\\e98c"}.ci-close_md:before{content:"\\e98d"}.ci-close_sm:before{content:"\\e98e"}.ci-close_square:before{content:"\\e98f"}.ci-cloud_add:before{content:"\\e990"}.ci-cloud_check:before{content:"\\e991"}.ci-cloud_close:before{content:"\\e992"}.ci-cloud_download:before{content:"\\e993"}.ci-cloud_off:before{content:"\\e994"}.ci-cloud_remove:before{content:"\\e995"}.ci-cloud_upload:before{content:"\\e996"}.ci-cloud:before{content:"\\e997"}.ci-code:before{content:"\\e998"}.ci-coffe_to_go:before{content:"\\e999"}.ci-coffee:before{content:"\\e99a"}.ci-columns:before{content:"\\e99b"}.ci-combine_cells:before{content:"\\e99c"}.ci-command:before{content:"\\e99d"}.ci-compass:before{content:"\\e99e"}.ci-cookie:before{content:"\\e99f"}.ci-copy:before{content:"\\e9a0"}.ci-credit_card_01:before{content:"\\e9a1"}.ci-credit_card_02:before{content:"\\e9a2"}.ci-crop:before{content:"\\e9a3"}.ci-cupcake:before{content:"\\e9a4"}.ci-cylinder:before{content:"\\e9a5"}.ci-data:before{content:"\\e9a6"}.ci-delete_column:before{content:"\\e9a7"}.ci-delete_row:before{content:"\\e9a8"}.ci-desktop_tower:before{content:"\\e9a9"}.ci-desktop:before{content:"\\e9aa"}.ci-devices:before{content:"\\e9ab"}.ci-double_quotes_l:before{content:"\\e9ac"}.ci-double_quotes_r:before{content:"\\e9ad"}.ci-download_package:before{content:"\\e9ae"}.ci-download:before{content:"\\e9af"}.ci-drag_horizontal:before{content:"\\e9b0"}.ci-drag_vertical:before{content:"\\e9b1"}.ci-dummy_circle_small:before{content:"\\e9b2"}.ci-dummy_circle:before{content:"\\e9b3"}.ci-dummy_square_small:before{content:"\\e9b4"}.ci-dummy_square:before{content:"\\e9b5"}.ci-edit_pencil_01:before{content:"\\e9b6"}.ci-edit_pencil_02:before{content:"\\e9b7"}.ci-edit_pencil_line_01:before{content:"\\e9b8"}.ci-edit_pencil_line_02:before{content:"\\e9b9"}.ci-exit:before{content:"\\e9ba"}.ci-expand:before{content:"\\e9bb"}.ci-external_link:before{content:"\\e9bc"}.ci-figma:before{content:"\\e9bd"}.ci-file_add:before{content:"\\e9be"}.ci-file_blank:before{content:"\\e9bf"}.ci-file_check:before{content:"\\e9c0"}.ci-file_close:before{content:"\\e9c1"}.ci-file_code:before{content:"\\e9c2"}.ci-file_document:before{content:"\\e9c3"}.ci-file_download:before{content:"\\e9c4"}.ci-file_edit:before{content:"\\e9c5"}.ci-file_remove:before{content:"\\e9c6"}.ci-file_search:before{content:"\\e9c7"}.ci-file_upload:before{content:"\\e9c8"}.ci-files:before{content:"\\e9c9"}.ci-filter_off:before{content:"\\e9ca"}.ci-filter:before{content:"\\e9cb"}.ci-first_aid:before{content:"\\e9cc"}.ci-flag:before{content:"\\e9cd"}.ci-folder_add:before{content:"\\e9ce"}.ci-folder_check:before{content:"\\e9cf"}.ci-folder_close:before{content:"\\e9d0"}.ci-folder_code:before{content:"\\e9d1"}.ci-folder_document:before{content:"\\e9d2"}.ci-folder_download:before{content:"\\e9d3"}.ci-folder_edit:before{content:"\\e9d4"}.ci-folder_open:before{content:"\\e9d5"}.ci-folder_remove:before{content:"\\e9d6"}.ci-folder_search:before{content:"\\e9d7"}.ci-folder_upload:before{content:"\\e9d8"}.ci-folder:before{content:"\\e9d9"}.ci-folders:before{content:"\\e9da"}.ci-font:before{content:"\\e9db"}.ci-forward:before{content:"\\e9dc"}.ci-gift:before{content:"\\e9dd"}.ci-globe:before{content:"\\e9de"}.ci-hamburger_lg:before{content:"\\e9df"}.ci-hamburger_md:before{content:"\\e9e0"}.ci-handbag:before{content:"\\e9e1"}.ci-heading_h1:before{content:"\\e9e2"}.ci-heading_h2:before{content:"\\e9e3"}.ci-heading_h3:before{content:"\\e9e4"}.ci-heading_h4:before{content:"\\e9e5"}.ci-heading_h5:before{content:"\\e9e6"}.ci-heading_h6:before{content:"\\e9e7"}.ci-heading:before{content:"\\e9e8"}.ci-headphones:before{content:"\\e9e9"}.ci-heart_01:before{content:"\\e9ea"}.ci-heart_02:before{content:"\\e9eb"}.ci-help:before{content:"\\e9ec"}.ci-hide:before{content:"\\e9ed"}.ci-house_01:before{content:"\\e9ee"}.ci-house_02:before{content:"\\e9ef"}.ci-house_03:before{content:"\\e9f0"}.ci-house_add:before{content:"\\e9f1"}.ci-house_check:before{content:"\\e9f2"}.ci-house_close:before{content:"\\e9f3"}.ci-house_remove:before{content:"\\e9f4"}.ci-image_01:before{content:"\\e9f5"}.ci-image_02:before{content:"\\e9f6"}.ci-info:before{content:"\\e9f7"}.ci-instance:before{content:"\\e9f8"}.ci-italic:before{content:"\\e9f9"}.ci-keyboard:before{content:"\\e9fa"}.ci-label:before{content:"\\e9fb"}.ci-laptop:before{content:"\\e9fc"}.ci-layer:before{content:"\\e9fd"}.ci-layers:before{content:"\\e9fe"}.ci-leaf:before{content:"\\e9ff"}.ci-line_l:before{content:"\\ea00"}.ci-line_m:before{content:"\\ea01"}.ci-line_s:before{content:"\\ea02"}.ci-line_xl:before{content:"\\ea03"}.ci-link_break:before{content:"\\ea04"}.ci-link_horizontal_off:before{content:"\\ea05"}.ci-link_horizontal:before{content:"\\ea06"}.ci-link_vertical:before{content:"\\ea07"}.ci-link:before{content:"\\ea08"}.ci-list_add:before{content:"\\ea09"}.ci-list_check:before{content:"\\ea0a"}.ci-list_checklist:before{content:"\\ea0b"}.ci-list_ordered:before{content:"\\ea0c"}.ci-list_remove:before{content:"\\ea0d"}.ci-list_unordered:before{content:"\\ea0e"}.ci-loading:before{content:"\\ea0f"}.ci-lock_open:before{content:"\\ea10"}.ci-lock:before{content:"\\ea11"}.ci-log_out:before{content:"\\ea12"}.ci-magnifying_glass_minus:before{content:"\\ea13"}.ci-magnifying_glass_plus:before{content:"\\ea14"}.ci-mail_open:before{content:"\\ea15"}.ci-mail:before{content:"\\ea16"}.ci-main_component:before{content:"\\ea17"}.ci-map_pin:before{content:"\\ea18"}.ci-map:before{content:"\\ea19"}.ci-mention:before{content:"\\ea1a"}.ci-menu_alt_01:before{content:"\\ea1b"}.ci-menu_alt_02:before{content:"\\ea1c"}.ci-menu_alt_03:before{content:"\\ea1d"}.ci-menu_alt_04:before{content:"\\ea1e"}.ci-menu_alt_05:before{content:"\\ea1f"}.ci-menu_duo_lg:before{content:"\\ea20"}.ci-menu_duo_md:before{content:"\\ea21"}.ci-mobile_button:before{content:"\\ea22"}.ci-mobile:before{content:"\\ea23"}.ci-monitor_play:before{content:"\\ea24"}.ci-monitor:before{content:"\\ea25"}.ci-moon:before{content:"\\ea26"}.ci-more_grid_big:before{content:"\\ea27"}.ci-more_grid_small:before{content:"\\ea28"}.ci-more_horizontal:before{content:"\\ea29"}.ci-more_vertical:before{content:"\\ea2a"}.ci-mouse:before{content:"\\ea2b"}.ci-move_horizontal:before{content:"\\ea2c"}.ci-move_vertical:before{content:"\\ea2d"}.ci-move:before{content:"\\ea2e"}.ci-moving_desk:before{content:"\\ea2f"}.ci-navigation:before{content:"\\ea30"}.ci-note_edit:before{content:"\\ea31"}.ci-note_search:before{content:"\\ea32"}.ci-note:before{content:"\\ea33"}.ci-notebook:before{content:"\\ea34"}.ci-octagon_check:before{content:"\\ea35"}.ci-octagon_help:before{content:"\\ea36"}.ci-octagon_warning:before{content:"\\ea37"}.ci-octagon:before{content:"\\ea38"}.ci-option:before{content:"\\ea39"}.ci-paper_plane:before{content:"\\ea3a"}.ci-paperclip_attechment_horizontal:before{content:"\\ea3b"}.ci-paperclip_attechment_tilt:before{content:"\\ea3c"}.ci-paragraph:before{content:"\\ea3d"}.ci-path:before{content:"\\ea3e"}.ci-pause_circle:before{content:"\\ea3f"}.ci-pause:before{content:"\\ea40"}.ci-phone:before{content:"\\ea41"}.ci-planet:before{content:"\\ea42"}.ci-play_circle:before{content:"\\ea43"}.ci-play:before{content:"\\ea44"}.ci-printer:before{content:"\\ea45"}.ci-puzzle:before{content:"\\ea46"}.ci-qr_code:before{content:"\\ea47"}.ci-radio_fill:before{content:"\\ea48"}.ci-radio_unchecked:before{content:"\\ea49"}.ci-rainbow:before{content:"\\ea4a"}.ci-redo:before{content:"\\ea4b"}.ci-remove_minus_circle:before{content:"\\ea4c"}.ci-remove_minus:before{content:"\\ea4d"}.ci-rewind:before{content:"\\ea4e"}.ci-rows:before{content:"\\ea4f"}.ci-ruler:before{content:"\\ea50"}.ci-save:before{content:"\\ea51"}.ci-search_magnifying_glass:before{content:"\\ea52"}.ci-select_multiple:before{content:"\\ea53"}.ci-settings_future:before{content:"\\ea54"}.ci-settings:before{content:"\\ea55"}.ci-share_android:before{content:"\\ea56"}.ci-share_ios_export:before{content:"\\ea57"}.ci-shield_check:before{content:"\\ea58"}.ci-shield_warning:before{content:"\\ea59"}.ci-shield:before{content:"\\ea5a"}.ci-shopping_bag_01:before{content:"\\ea5b"}.ci-shopping_bag_02:before{content:"\\ea5c"}.ci-shopping_cart_01:before{content:"\\ea5d"}.ci-shopping_cart_02:before{content:"\\ea5e"}.ci-show:before{content:"\\ea5f"}.ci-shrink:before{content:"\\ea60"}.ci-shuffle:before{content:"\\ea61"}.ci-single_quotes_l:before{content:"\\ea62"}.ci-single_quotes_r:before{content:"\\ea63"}.ci-skip_back:before{content:"\\ea64"}.ci-skip_forward:before{content:"\\ea65"}.ci-slider_01:before{content:"\\ea66"}.ci-slider_02:before{content:"\\ea67"}.ci-slider_03:before{content:"\\ea68"}.ci-sort_ascending:before{content:"\\ea69"}.ci-sort_descending:before{content:"\\ea6a"}.ci-square_check:before{content:"\\ea6b"}.ci-square_help:before{content:"\\ea6c"}.ci-square_warning:before{content:"\\ea6d"}.ci-square:before{content:"\\ea6e"}.ci-star:before{content:"\\ea6f"}.ci-stop_circle:before{content:"\\ea70"}.ci-stop_sign:before{content:"\\ea71"}.ci-stop:before{content:"\\ea72"}.ci-strikethrough:before{content:"\\ea73"}.ci-suitcase:before{content:"\\ea74"}.ci-sun:before{content:"\\ea75"}.ci-swatches_palette:before{content:"\\ea76"}.ci-swicht_left:before{content:"\\ea77"}.ci-swicht_right:before{content:"\\ea78"}.ci-table_add:before{content:"\\ea79"}.ci-table_remove:before{content:"\\ea7a"}.ci-table:before{content:"\\ea7b"}.ci-tablet_button:before{content:"\\ea7c"}.ci-tablet:before{content:"\\ea7d"}.ci-tag:before{content:"\\ea7e"}.ci-terminal:before{content:"\\ea7f"}.ci-text_align_center:before{content:"\\ea80"}.ci-text_align_justify:before{content:"\\ea81"}.ci-text_align_left:before{content:"\\ea82"}.ci-text_align_right:before{content:"\\ea83"}.ci-text:before{content:"\\ea84"}.ci-ticket_voucher:before{content:"\\ea85"}.ci-timer_add:before{content:"\\ea86"}.ci-timer_close:before{content:"\\ea87"}.ci-timer_remove:before{content:"\\ea88"}.ci-timer:before{content:"\\ea89"}.ci-trash_empty:before{content:"\\ea8a"}.ci-trash_full:before{content:"\\ea8b"}.ci-trending_down:before{content:"\\ea8c"}.ci-trending_up:before{content:"\\ea8d"}.ci-triangle_check:before{content:"\\ea8e"}.ci-triangle_warning:before{content:"\\ea8f"}.ci-triangle:before{content:"\\ea90"}.ci-underline:before{content:"\\ea91"}.ci-undo:before{content:"\\ea92"}.ci-unfold_less:before{content:"\\ea93"}.ci-unfold_more:before{content:"\\ea94"}.ci-user_01:before{content:"\\ea95"}.ci-user_02:before{content:"\\ea96"}.ci-user_03:before{content:"\\ea97"}.ci-user_add:before{content:"\\ea98"}.ci-user_card_id:before{content:"\\ea99"}.ci-user_check:before{content:"\\ea9a"}.ci-user_circle:before{content:"\\ea9b"}.ci-user_close:before{content:"\\ea9c"}.ci-user_remove:before{content:"\\ea9d"}.ci-user_square:before{content:"\\ea9e"}.ci-user_voice:before{content:"\\ea9f"}.ci-users_group:before{content:"\\eaa0"}.ci-users:before{content:"\\eaa1"}.ci-volume_max:before{content:"\\eaa2"}.ci-volume_min:before{content:"\\eaa3"}.ci-volume_minus:before{content:"\\eaa4"}.ci-volume_off_02:before{content:"\\eaa5"}.ci-volume_off:before{content:"\\eaa6"}.ci-volume_plus:before{content:"\\eaa7"}.ci-warning:before{content:"\\eaa8"}.ci-water_drop:before{content:"\\eaa9"}.ci-wavy_check:before{content:"\\eaaa"}.ci-wavy_help:before{content:"\\eaab"}.ci-wavy_warning:before{content:"\\eaac"}.ci-wavy:before{content:"\\eaad"}.ci-wifi_high:before{content:"\\eaae"}.ci-wifi_low:before{content:"\\eaaf"}.ci-wifi_medium:before{content:"\\eab0"}.ci-wifi_none:before{content:"\\eab1"}.ci-wifi_off:before{content:"\\eab2"}.ci-wifi_problem:before{content:"\\eab3"}.ci-window_check:before{content:"\\eab4"}.ci-window_close:before{content:"\\eab5"}.ci-window_code_block:before{content:"\\eab6"}.ci-window_sidebar:before{content:"\\eab7"}.ci-window_terminal:before{content:"\\eab8"}.ci-window:before{content:"\\eab9"}zen-editor-menu-item .menu-item{background-color:transparent;border:none;border-radius:0.4em;color:#525252;height:1.75em;margin-right:0.25em;padding:0.25em;min-width:1.75em;cursor:pointer}zen-editor-menu-item .menu-item i{font-size:1.25em}zen-editor-menu-item .menu-item.flip-h{transform:scaleX(-1)}zen-editor-menu-item .menu-item.flip-v{transform:scaleY(-1)}zen-editor-menu-item .menu-item.is-disabled{opacity:0.5;cursor:unset}zen-editor-menu-item .menu-item.is-disabled:hover{background-color:transparent;color:#525252}zen-editor-menu-item .menu-item:hover,zen-editor-menu-item .menu-item.is-active{background-color:#525252;color:#fff}zen-editor-menu-item .menu-item.has-submenu+.menu-item>i.ci-caret_down_sm{margin:0 -0.25em}zen-editor-menu-item .menu-item.has-submenu{margin-right:0}zen-editor-menu-item .menu-item.has-submenu:hover{border-radius:0.4em 0 0 0.4em}zen-editor-menu-item .menu-item.has-submenu+.menu-item{border-radius:0 0.4em 0.4em 0;margin-left:0;padding:0.25em 0;min-width:0.75em}zen-editor-menu-item .menu-item i.color-crimson{color:crimson}zen-editor-menu-item .menu-item i.color-deeppink{color:deeppink}zen-editor-menu-item .menu-item i.color-darkorange{color:darkorange}zen-editor-menu-item .menu-item i.color-darkviolet{color:darkviolet}zen-editor-menu-item .menu-item i.color-forestgreen{color:forestgreen}zen-editor-menu-item .menu-item i.color-royalblue{color:royalblue}zen-editor-menu-item .menu-item i.color-saddlebrown{color:saddlebrown}zen-editor-menu-item .menu-item i.color-dimgray{color:dimgray}zen-editor-menu-item .menu-item:has(.color):hover,zen-editor-menu-item .menu-item:has(.color).is-active{background-color:transparent;box-shadow:inset 0 0 0 1px #525252}zen-editor-menu-item:hover .menu-item.has-submenu{border-radius:0.4em 0 0 0.4em}zen-editor-menu-item:last-of-type .menu-item{margin-right:0}';const jw=["Crimson","DeepPink","DarkOrange","DarkViolet","ForestGreen","RoyalBlue","SaddleBrown","DimGray"];const Zw=[1,2,3,4],Pw=class{constructor(A){e(this,A),this.editor=void 0,this.menubarMode=void 0,this.extraMenubarItems="",this.forceUpdateCounter=void 0,this.states=void 0,this.toggleMonaco=void 0,this.toggleFullscreen=void 0,this.styles=void 0}componentDidLoad(){Boolean(this.styles)&&(this.element.shadowRoot.adoptedStyleSheets=[...this.element.shadowRoot.adoptedStyleSheets,this.styles])}getMonacoToggler(){return[[{icon:"ci-edit_pencil_line_01",title:A.getString("menu.source"),action:()=>{var A;return null===(A=this.toggleMonaco)||void 0===A?void 0:A.call(this)},isActive:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isMonaco},isHidden:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isCollaborative},menuModeLevel:zw.full}]]}getMenuItems(e){return[[{icon:"ci-text_align_left",title:A.getString("menu.align.left"),action:()=>e.chain().focus().setTextAlign("left").run(),isActive:()=>e.isActive({textAlign:"left"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:zw.full},{icon:"ci-text_align_center",title:A.getString("menu.align.center"),action:()=>e.chain().focus().setTextAlign("center").run(),isActive:()=>e.isActive({textAlign:"center"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:zw.full},{icon:"ci-text_align_right",title:A.getString("menu.align.right"),action:()=>e.chain().focus().setTextAlign("right").run(),isActive:()=>e.isActive({textAlign:"right"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:zw.full},{icon:"ci-text_align_justify",title:A.getString("menu.align.justify"),action:()=>e.chain().focus().setTextAlign("justify").run(),isActive:()=>e.isActive({textAlign:"justify"}),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:zw.full}],[{icon:"ci-text",title:A.getString("menu.font.family"),menuItems:Object.keys(GM).map((t=>({label:A.getString(`menu.font.family.${t.toLowerCase().replace(/[^\w]/g,"")}`),action:()=>e.chain().focus().setFontFamily(GM[t]).run(),isActive:()=>e.isActive("textStyle",{fontFamily:GM[t]})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:zw.full},{icon:"ci-font",title:A.getString("menu.font.size"),menuItems:RM.map((t=>({label:A.format("menu.font.size.format.px",t.toString()),action:()=>e.chain().focus().setFontSize(t).run(),isActive:()=>e.isActive({fontSize:t})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-swatches_palette",title:A.getString("menu.font.color"),menuItems:[...jw.map((t=>({icon:`ci-text color color-${t.toLowerCase()}`,title:A.getString(`menu.font.color.${t.toLowerCase()}`),action:()=>e.chain().focus().setColor(t).run(),isActive:()=>e.isActive("textStyle",{color:t})}))),{icon:"ci-close_md",title:A.getString("menu.font.color.none"),action:()=>e.chain().focus().unsetColor().run()}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-bold",title:A.getString("menu.font.weight.bold"),action:()=>e.chain().focus().toggleBold().run(),isActive:()=>e.isActive("bold"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-italic",title:A.getString("menu.font.italic"),action:()=>e.chain().focus().toggleItalic().run(),isActive:()=>e.isActive("italic"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-underline",title:A.getString("menu.font.decoration.underline"),action:()=>{e.isActive("strike")?e.chain().focus().toggleStrike().run():e.chain().focus().toggleUnderline().run()},isActive:()=>e.isActive("underline")||e.isActive("strike"),menuItems:[{icon:"ci-underline",title:A.getString("menu.font.decoration.underline"),action:()=>e.chain().focus().toggleUnderline().run(),isActive:()=>e.isActive("underline")},{icon:"ci-strikethrough",title:A.getString("menu.font.decoration.strike"),action:()=>e.chain().focus().toggleStrike().run(),isActive:()=>e.isActive("strike")}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-bulb",title:A.getString("menu.font.highlight"),action:()=>e.chain().focus().toggleHighlight().run(),isActive:()=>e.isActive("highlight"),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:zw.full},{icon:"ci-link",title:A.getString("menu.link"),action:()=>{const A=e.isActive("link")?e.getAttributes("link").href:"",t=prompt("Enter URL",A);e.chain().focus().setLink({href:t}).run()},isActive:()=>e.isActive("link"),menuItems:[{icon:"ci-link",title:A.getString("menu.link"),action:()=>{const A=e.isActive("link")?e.getAttributes("link").href:"",t=prompt("Enter URL",A);e.chain().focus().setLink({href:t}).run()}},{icon:"ci-link_break",title:A.getString("menu.link.remove"),action:()=>e.chain().focus().unsetLink().run(),isDisabled:()=>!e.isActive("link")}],isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading"))},{icon:"ci-menu_duo_md",title:A.getString("menu.line.spacing"),menuItems:uM.map((t=>({label:A.format("menu.line.spacing.format",t.toString()),action:()=>e.chain().focus().setLineHeight(t).run(),isActive:()=>e.isActive({lineHeight:t})}))),isDisabled:()=>!(e.isActive("paragraph")||e.isActive("heading")),menuModeLevel:zw.full}],[{icon:"ci-heading",title:A.getString("menu.heading"),isActive:()=>e.isActive("heading"),menuItems:Zw.map((t=>({icon:`ci-heading_h${t}`,title:A.getString(`menu.heading.${t}`),action:()=>e.chain().focus().toggleHeading({level:t}).unsetFontSize().run(),isActive:()=>e.isActive("heading",{level:t})})))},{icon:"ci-paragraph",title:A.getString("menu.paragraph"),action:()=>e.chain().focus().setParagraph().run(),isActive:()=>e.isActive("paragraph")},{icon:"ci-code",title:A.getString("menu.code"),action:()=>{e.isActive("code")?e.chain().focus().toggleCode().run():e.chain().focus().toggleCodeBlock().run()},isActive:()=>e.isActive("code")||e.isActive("codeBlock"),menuItems:[{icon:"ci-window_code_block",title:A.getString("menu.code.block"),action:()=>e.chain().focus().toggleCodeBlock().run(),isActive:()=>e.isActive("codeBlock")},{icon:"ci-code",title:A.getString("menu.code"),action:()=>e.chain().focus().toggleCode().run(),isActive:()=>e.isActive("code")}]}],[{icon:"ci-list_unordered",title:A.getString("menu.list.bullet"),action:()=>{e.isActive("bulletList")?e.chain().focus().toggleBulletList().run():e.isActive("orderedList")?e.chain().focus().toggleOrderedList().run():e.isActive("taskList")?e.chain().focus().toggleTaskList().run():e.chain().focus().toggleBulletList().run()},menuItems:[{icon:"ci-list_unordered",title:A.getString("menu.list.bullet"),action:()=>e.chain().focus().toggleBulletList().run(),isActive:()=>e.isActive("bulletList")},{icon:"ci-list_ordered",title:A.getString("menu.list.ordered"),action:()=>e.chain().focus().toggleOrderedList().run(),isActive:()=>e.isActive("orderedList")},{icon:"ci-list_checklist",title:A.getString("menu.list.task"),action:()=>e.chain().focus().toggleTaskList().run(),isActive:()=>e.isActive("taskList"),menuModeLevel:zw.full}],isActive:()=>e.isActive("bulletList")||e.isActive("orderedList")||e.isActive("taskList")},{icon:"ci-image_02",title:A.getString("menu.image"),action:()=>{const A=document.createElement("input");A.setAttribute("type","file"),A.setAttribute("accept","image/jpeg,image/gif,image/png,image/jpg"),A.onchange=A=>{const{files:t}=A.target;Boolean(t.length)&&e.chain().focus().uploadImage(t.item(0)).run()},A.click()}}],[{icon:"ci-double_quotes_l",title:A.getString("menu.quote"),action:()=>e.chain().focus().toggleBlockquote().run(),isActive:()=>e.isActive("blockquote"),menuModeLevel:zw.full},{icon:"ci-remove_minus",title:A.getString("menu.hr"),action:()=>e.chain().focus().setHorizontalRule().run(),menuModeLevel:zw.full}],[{icon:"ci-table",title:A.getString("menu.table"),menuItems:[{icon:"ci-table",title:A.getString("menu.table"),action:()=>e.chain().focus().insertTable({rows:4,cols:3,withHeaderRow:!1}).run(),isDisabled:()=>e.isActive("table")},{icon:"ci-combine_cells",title:A.getString("menu.table.cell.merge"),action:()=>e.chain().focus().mergeOrSplit().run(),isActive:()=>e.can().splitCell(),isDisabled:()=>!e.can().mergeOrSplit()},{icon:"ci-add_row",flip:"v",title:A.getString("menu.table.row.insert.before"),action:()=>e.chain().focus().addRowBefore().run(),isDisabled:()=>!e.can().addRowBefore()},{icon:"ci-add_row",title:A.getString("menu.table.row.insert.after"),action:()=>e.chain().focus().addRowAfter().run(),isDisabled:()=>!e.can().addRowAfter()},{icon:"ci-add_column",flip:"h",title:A.getString("menu.table.column.insert.before"),action:()=>e.chain().focus().addColumnBefore().run(),isDisabled:()=>!e.can().addColumnBefore()},{icon:"ci-add_column",title:A.getString("menu.table.column.insert.after"),action:()=>e.chain().focus().addColumnAfter().run(),isDisabled:()=>!e.can().addColumnAfter()},{icon:"ci-delete_row",title:A.getString("menu.table.row.remove"),action:()=>e.chain().focus().deleteRow().run(),isDisabled:()=>!e.can().deleteRow()},{icon:"ci-delete_column",title:A.getString("menu.table.column.remove"),action:()=>e.chain().focus().deleteColumn().run(),isDisabled:()=>!e.can().deleteColumn()},{icon:"ci-table_remove",title:A.getString("menu.table.remove"),action:()=>e.chain().focus().deleteTable().run(),isDisabled:()=>!e.can().deleteTable()}]}],[{icon:"ci-close_circle",title:A.getString("menu.format.clear"),action:()=>e.chain().focus().clearNodes().unsetAllMarks().run(),menuModeLevel:zw.full}],[{icon:"ci-undo",title:A.getString("menu.undo"),action:()=>e.chain().focus().undo().run(),isDisabled:()=>!e.can().undo(),menuModeLevel:zw.full},{icon:"ci-redo",title:A.getString("menu.redo"),action:()=>e.chain().focus().redo().run(),isDisabled:()=>!e.can().redo(),menuModeLevel:zw.full}],[{icon:"ci-bar_top",title:A.getString("menu.fullscreen"),action:()=>{var A;return null===(A=this.toggleFullscreen)||void 0===A?void 0:A.call(this)},isActive:()=>{var A;return null===(A=this.states)||void 0===A?void 0:A.isFullscreen},isHidden:()=>!Boolean(this.toggleFullscreen)}],...this.getMonacoToggler()]}render(){const{editor:A,states:e}=this,{isMonaco:n}=e,i=(n?this.getMonacoToggler():this.getMenuItems(A)).map((A=>{const e=A.map((A=>{const{isHidden:e,menuModeLevel:n}=A,i=function(A,e){var t={};for(var n in A)Object.prototype.hasOwnProperty.call(A,n)&&e.indexOf(n)<0&&(t[n]=A[n]);if(null!=A&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(A);ithis.menubarMode?null:t("zen-editor-menu-item",{itemProps:Object.assign({},i),menubarMode:this.menubarMode})}));return Boolean(e.filter((A=>Boolean(A))).length)?t("div",{class:"menu-item-group"},e):null}));return t("div",{class:"menubar"},i,this.extraMenubarItems&&t("div",{className:"menu-item-group extra-menubar-items",innerHTML:this.extraMenubarItems}))}get element(){return i(this)}};Pw.style='.menubar{align-items:center;border-bottom:1px solid #a6a39e;display:flex;flex:0 0 auto;flex-wrap:wrap;padding:0.25em}.menu-item-group{margin-right:0.5em}.menu-item-group:not(:last-child):not(:has(+.extra-menubar-items))::after{content:"";display:inline-block;background-color:rgba(0, 0, 0, 0.1);height:1.25em;margin:0 -0.1em -0.1em 0.4em;width:1px}.menu-item-group:empty{display:none}';export{W as zen_editor_bubble_menu,q as zen_editor_content,pw as zen_editor_core,Jw as zen_editor_menu_item,Pw as zen_editor_menubar} \ No newline at end of file diff --git a/www/js/zui3/zen-editor/p-0785d075.js b/www/js/zui3/zen-editor/p-d659a7a2.js similarity index 98% rename from www/js/zui3/zen-editor/p-0785d075.js rename to www/js/zui3/zen-editor/p-d659a7a2.js index cd518f0bfa..6df4b63347 100644 --- a/www/js/zui3/zen-editor/p-0785d075.js +++ b/www/js/zui3/zen-editor/p-d659a7a2.js @@ -1,4 +1,4 @@ -import{m as e}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{m as e}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) diff --git a/www/js/zui3/zen-editor/p-f80603ab.js b/www/js/zui3/zen-editor/p-e430c17d.js similarity index 99% rename from www/js/zui3/zen-editor/p-f80603ab.js rename to www/js/zui3/zen-editor/p-e430c17d.js index b10cdd982e..c815d26904 100644 --- a/www/js/zui3/zen-editor/p-f80603ab.js +++ b/www/js/zui3/zen-editor/p-e430c17d.js @@ -1,4 +1,4 @@ -import{m as t}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{m as t}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) diff --git a/www/js/zui3/zen-editor/p-76bda831.js b/www/js/zui3/zen-editor/p-e6d50fa3.js similarity index 99% rename from www/js/zui3/zen-editor/p-76bda831.js rename to www/js/zui3/zen-editor/p-e6d50fa3.js index e9b62a2bd8..eea414dcad 100644 --- a/www/js/zui3/zen-editor/p-76bda831.js +++ b/www/js/zui3/zen-editor/p-e6d50fa3.js @@ -1,4 +1,4 @@ -import{m as e}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{m as e}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) diff --git a/www/js/zui3/zen-editor/p-a193d862.js b/www/js/zui3/zen-editor/p-ee5cc400.js similarity index 98% rename from www/js/zui3/zen-editor/p-a193d862.js rename to www/js/zui3/zen-editor/p-ee5cc400.js index 4680997830..f650990a16 100644 --- a/www/js/zui3/zen-editor/p-a193d862.js +++ b/www/js/zui3/zen-editor/p-ee5cc400.js @@ -1,4 +1,4 @@ -import{m as e}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{m as e}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) diff --git a/www/js/zui3/zen-editor/p-6939d33e.js b/www/js/zui3/zen-editor/p-f39d6a69.js similarity index 99% rename from www/js/zui3/zen-editor/p-6939d33e.js rename to www/js/zui3/zen-editor/p-f39d6a69.js index 608c531cd8..193f53415d 100644 --- a/www/js/zui3/zen-editor/p-6939d33e.js +++ b/www/js/zui3/zen-editor/p-f39d6a69.js @@ -1,4 +1,4 @@ -import{m as t}from"./p-13f3e58d.js";import"./p-1f29e0e0.js"; +import{m as t}from"./p-38bd6d84.js";import"./p-1f29e0e0.js"; /*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56) diff --git a/www/js/zui3/zen-editor/zen-editor.esm.js b/www/js/zui3/zen-editor/zen-editor.esm.js index 9a9e77b5fd..0862762793 100644 --- a/www/js/zui3/zen-editor/zen-editor.esm.js +++ b/www/js/zui3/zen-editor/zen-editor.esm.js @@ -1 +1 @@ -import{p as e,b as o}from"./p-1f29e0e0.js";export{s as setNonce}from"./p-1f29e0e0.js";import"./p-49a055b9.js";(()=>{const o=import.meta.url,r={};return""!==o&&(r.resourcesUrl=new URL(".",o).href),e(r)})().then((e=>o([["p-f372a383",[[65,"zen-editor",{name:[1],uploadUrl:[1,"upload-url"],placeholder:[1],fullscreenable:[4],resizable:[4],exposeEditor:[4,"expose-editor"],size:[1],hideMenubar:[4,"hide-menubar"],menubarMode:[1,"menubar-mode"],bubbleMenu:[4,"bubble-menu"],locale:[1],css:[1],collaborative:[4],hocuspocus:[1],docName:[1,"doc-name"],username:[1],userColor:[1,"user-color"],value:[1025],editor:[32],isFullscreen:[32],rendered:[32],setHTML:[64],getHTML:[64],getText:[64],focusEditor:[64],blurEditor:[64]},null,{css:["onCSSChange"]}],[1,"zen-editor-core",{name:[1],uploadUrl:[1,"upload-url"],placeholder:[1],initialContent:[1,"initial-content"],resizable:[4],exposeEditor:[4,"expose-editor"],size:[1],hideMenubar:[4,"hide-menubar"],menubarMode:[1,"menubar-mode"],extraMenubarItems:[1,"extra-menubar-items"],bubbleMenu:[4,"bubble-menu"],locale:[1],styles:[16],collaborative:[4],hocuspocus:[1],docName:[1,"doc-name"],username:[1],userColor:[1,"user-color"],updateInputValue:[16],fullscreenable:[4],toggleFullscreen:[16],isFullscreen:[4,"is-fullscreen"],value:[1],editor:[32],forceUpdateCounter:[32],isMonaco:[32]},null,{locale:["onLocaleChanage"]}],[2,"zen-editor-bubble-menu",{menuProps:[16],editor:[16],disabled:[4],element:[32]}],[1,"zen-editor-menubar",{editor:[16],menubarMode:[2,"menubar-mode"],extraMenubarItems:[1,"extra-menubar-items"],forceUpdateCounter:[2,"force-update-counter"],states:[8],toggleMonaco:[16],toggleFullscreen:[16],styles:[16]}],[0,"monaco-editor",{options:[8],initialValue:[1,"initial-value"],tiptapEditor:[16],updateInputValue:[16],setFocus:[64],getValue:[64]},null,{options:["onOptionsChange"]}],[1,"zen-editor-content",{editor:[16],styles:[16]},[[2,"click","handleClick"]]],[0,"zen-editor-menu-item",{itemProps:[8,"item-props"],menubarMode:[2,"menubar-mode"],styles:[16]}]]],["p-5330989c",[[0,"zen-editor-floating-menu",{menuProps:[16],editor:[16],element:[32]}]]],["p-1e3048b8",[[0,"zen-editor-footer",{editor:[16],forceUpdateCounter:[2,"force-update-counter"],toggleFullscreen:[16],showCharCount:[4,"show-char-count"]}]]]],e))); \ No newline at end of file +import{p as e,b as o}from"./p-1f29e0e0.js";export{s as setNonce}from"./p-1f29e0e0.js";import"./p-49a055b9.js";(()=>{const o=import.meta.url,r={};return""!==o&&(r.resourcesUrl=new URL(".",o).href),e(r)})().then((e=>o([["p-a72657f3",[[65,"zen-editor",{name:[1],uploadUrl:[1,"upload-url"],placeholder:[1],fullscreenable:[4],resizable:[4],exposeEditor:[4,"expose-editor"],size:[1],hideMenubar:[4,"hide-menubar"],menubarMode:[1,"menubar-mode"],bubbleMenu:[4,"bubble-menu"],locale:[1],css:[1],collaborative:[4],hocuspocus:[1],docName:[1,"doc-name"],username:[1],userColor:[1,"user-color"],value:[1025],editor:[32],isFullscreen:[32],rendered:[32],setHTML:[64],getHTML:[64],getText:[64],focusEditor:[64],blurEditor:[64]},null,{css:["onCSSChange"]}],[1,"zen-editor-core",{name:[1],uploadUrl:[1,"upload-url"],placeholder:[1],initialContent:[1,"initial-content"],resizable:[4],exposeEditor:[4,"expose-editor"],size:[1],hideMenubar:[4,"hide-menubar"],menubarMode:[1,"menubar-mode"],extraMenubarItems:[1,"extra-menubar-items"],bubbleMenu:[4,"bubble-menu"],locale:[1],styles:[16],collaborative:[4],hocuspocus:[1],docName:[1,"doc-name"],username:[1],userColor:[1,"user-color"],updateInputValue:[16],fullscreenable:[4],toggleFullscreen:[16],isFullscreen:[4,"is-fullscreen"],value:[1],editor:[32],forceUpdateCounter:[32],isMonaco:[32]},null,{locale:["onLocaleChanage"]}],[2,"zen-editor-bubble-menu",{menuProps:[16],editor:[16],disabled:[4],element:[32]}],[1,"zen-editor-menubar",{editor:[16],menubarMode:[2,"menubar-mode"],extraMenubarItems:[1,"extra-menubar-items"],forceUpdateCounter:[2,"force-update-counter"],states:[8],toggleMonaco:[16],toggleFullscreen:[16],styles:[16]}],[0,"monaco-editor",{options:[8],initialValue:[1,"initial-value"],tiptapEditor:[16],updateInputValue:[16],setFocus:[64],getValue:[64]},null,{options:["onOptionsChange"]}],[1,"zen-editor-content",{editor:[16],styles:[16]},[[2,"click","handleClick"]]],[0,"zen-editor-menu-item",{itemProps:[8,"item-props"],menubarMode:[2,"menubar-mode"],styles:[16]}]]],["p-5330989c",[[0,"zen-editor-floating-menu",{menuProps:[16],editor:[16],element:[32]}]]],["p-1e3048b8",[[0,"zen-editor-footer",{editor:[16],forceUpdateCounter:[2,"force-update-counter"],toggleFullscreen:[16],showCharCount:[4,"show-char-count"]}]]]],e))); \ No newline at end of file