massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-json / lib / index.js
index 0844379df26bda73fe97e975f1a36949d087de4e..536d35c1ff9a0fdc3dddee640c972d165ce7999d 100644 (file)
-(function(e, a) { for(var i in a) e[i] = a[i]; }(exports, /******/ (function(modules) { // webpackBootstrap
-/******/       // The module cache
-/******/       var installedModules = {};
-/******/
-/******/       // The require function
-/******/       function __webpack_require__(moduleId) {
-/******/
-/******/               // Check if module is in cache
-/******/               if(installedModules[moduleId]) {
-/******/                       return installedModules[moduleId].exports;
-/******/               }
-/******/               // Create a new module (and put it into the cache)
-/******/               var module = installedModules[moduleId] = {
-/******/                       i: moduleId,
-/******/                       l: false,
-/******/                       exports: {}
-/******/               };
-/******/
-/******/               // Execute the module function
-/******/               modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
-/******/
-/******/               // Flag the module as loaded
-/******/               module.l = true;
-/******/
-/******/               // Return the exports of the module
-/******/               return module.exports;
-/******/       }
-/******/
-/******/
-/******/       // expose the modules object (__webpack_modules__)
-/******/       __webpack_require__.m = modules;
-/******/
-/******/       // expose the module cache
-/******/       __webpack_require__.c = installedModules;
-/******/
-/******/       // define getter function for harmony exports
-/******/       __webpack_require__.d = function(exports, name, getter) {
-/******/               if(!__webpack_require__.o(exports, name)) {
-/******/                       Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/               }
-/******/       };
-/******/
-/******/       // define __esModule on exports
-/******/       __webpack_require__.r = function(exports) {
-/******/               if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/                       Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/               }
-/******/               Object.defineProperty(exports, '__esModule', { value: true });
-/******/       };
-/******/
-/******/       // create a fake namespace object
-/******/       // mode & 1: value is a module id, require it
-/******/       // mode & 2: merge all properties of value into the ns
-/******/       // mode & 4: return value when already ns object
-/******/       // mode & 8|1: behave like require
-/******/       __webpack_require__.t = function(value, mode) {
-/******/               if(mode & 1) value = __webpack_require__(value);
-/******/               if(mode & 8) return value;
-/******/               if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/               var ns = Object.create(null);
-/******/               __webpack_require__.r(ns);
-/******/               Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/               if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/               return ns;
-/******/       };
-/******/
-/******/       // getDefaultExport function for compatibility with non-harmony modules
-/******/       __webpack_require__.n = function(module) {
-/******/               var getter = module && module.__esModule ?
-/******/                       function getDefault() { return module['default']; } :
-/******/                       function getModuleExports() { return module; };
-/******/               __webpack_require__.d(getter, 'a', getter);
-/******/               return getter;
-/******/       };
-/******/
-/******/       // Object.prototype.hasOwnProperty.call
-/******/       __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/       // __webpack_public_path__
-/******/       __webpack_require__.p = "";
-/******/
-/******/
-/******/       // Load entry module and return exports
-/******/       return __webpack_require__(__webpack_require__.s = 0);
-/******/ })
-/************************************************************************/
-/******/ ([
-/* 0 */
-/***/ (function(module, exports, __webpack_require__) {
+var cs=Object.create,It=Object.defineProperty,us=Object.getPrototypeOf,ls=Object.prototype.hasOwnProperty,fs=Object.getOwnPropertyNames,ds=Object.getOwnPropertyDescriptor;var Ir=e=>It(e,"__esModule",{value:!0});var M=(e,t)=>()=>(t||(t={exports:{}},e(t.exports,t)),t.exports),Lr=(e,t)=>{Ir(e);for(var r in t)It(e,r,{get:t[r],enumerable:!0})},ps=(e,t,r)=>{if(Ir(e),t&&typeof t=="object"||typeof t=="function")for(let n of fs(t))!ls.call(e,n)&&n!=="default"&&It(e,n,{get:()=>t[n],enumerable:!(r=ds(t,n))||r.enumerable});return e},Ve=e=>e&&e.__esModule?e:ps(It(e!=null?cs(us(e)):{},"default",{value:e,enumerable:!0}),e);var Jr=M((Vu,Fr)=>{"use strict";Fr.exports=e=>{if(typeof e!="string")throw new TypeError(`Expected a string, got ${typeof e}`);return e.charCodeAt(0)===65279?e.slice(1):e}});var Re=M(an=>{"use strict";Object.defineProperty(an,"__esModule",{value:!0});var cn;function un(){if(cn===void 0)throw new Error("No runtime abstraction layer installed");return cn}(function(e){function t(r){if(r===void 0)throw new Error("No runtime abstraction layer provided");cn=r}e.install=t})(un||(un={}));an.default=un});var ln=M(dt=>{"use strict";Object.defineProperty(dt,"__esModule",{value:!0});dt.Disposable=void 0;var hs;(function(e){function t(r){return{dispose:r}}e.create=t})(hs=dt.Disposable||(dt.Disposable={}))});var zr=M(Lt=>{"use strict";Object.defineProperty(Lt,"__esModule",{value:!0});Lt.AbstractMessageBuffer=void 0;var ms=13,gs=10,ys=`\r
+`,Wr=class{constructor(t="utf-8"){this._encoding=t,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(t){let r=typeof t=="string"?this.fromString(t,this._encoding):t;this._chunks.push(r),this._totalLength+=r.byteLength}tryReadHeaders(){if(this._chunks.length===0)return;let t=0,r=0,n=0,o=0;e:for(;r<this._chunks.length;){let g=this._chunks[r];n=0;t:for(;n<g.length;){switch(g[n]){case ms:switch(t){case 0:t=1;break;case 2:t=3;break;default:t=0}break;case gs:switch(t){case 1:t=2;break;case 3:t=4,n++;break e;default:t=0}break;default:t=0}n++}o+=g.byteLength,r++}if(t!==4)return;let s=this._read(o+n),c=new Map,p=this.toString(s,"ascii").split(ys);if(p.length<2)return c;for(let g=0;g<p.length-2;g++){let m=p[g],b=m.indexOf(":");if(b===-1)throw new Error("Message header must separate key and value using :");let _=m.substr(0,b),R=m.substr(b+1).trim();c.set(_,R)}return c}tryReadBody(t){if(!(this._totalLength<t))return this._read(t)}get numberOfBytes(){return this._totalLength}_read(t){if(t===0)return this.emptyBuffer();if(t>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===t){let s=this._chunks[0];return this._chunks.shift(),this._totalLength-=t,this.asNative(s)}if(this._chunks[0].byteLength>t){let s=this._chunks[0],c=this.asNative(s,t);return this._chunks[0]=s.slice(t),this._totalLength-=t,c}let r=this.allocNative(t),n=0,o=0;for(;t>0;){let s=this._chunks[o];if(s.byteLength>t){let c=s.slice(0,t);r.set(c,n),n+=t,this._chunks[o]=s.slice(t),this._totalLength-=t,t-=t}else r.set(s,n),n+=s.byteLength,this._chunks.shift(),this._totalLength-=s.byteLength,t-=s.byteLength}return r}};Lt.AbstractMessageBuffer=Wr});var Gr=M(fn=>{"use strict";Object.defineProperty(fn,"__esModule",{value:!0});var js=Re(),$r=require("util"),Le=ln(),bs=zr(),pt=class extends bs.AbstractMessageBuffer{constructor(t="utf-8"){super(t)}emptyBuffer(){return pt.emptyBuffer}fromString(t,r){return Buffer.from(t,r)}toString(t,r){return t instanceof Buffer?t.toString(r):new $r.TextDecoder(r).decode(t)}asNative(t,r){return r===void 0?t instanceof Buffer?t:Buffer.from(t):t instanceof Buffer?t.slice(0,r):Buffer.from(t,0,r)}allocNative(t){return Buffer.allocUnsafe(t)}};pt.emptyBuffer=Buffer.allocUnsafe(0);var Br=class{constructor(t){this.stream=t}onClose(t){return this.stream.on("close",t),Le.Disposable.create(()=>this.stream.off("close",t))}onError(t){return this.stream.on("error",t),Le.Disposable.create(()=>this.stream.off("error",t))}onEnd(t){return this.stream.on("end",t),Le.Disposable.create(()=>this.stream.off("end",t))}onData(t){return this.stream.on("data",t),Le.Disposable.create(()=>this.stream.off("data",t))}},Ur=class{constructor(t){this.stream=t}onClose(t){return this.stream.on("close",t),Le.Disposable.create(()=>this.stream.off("close",t))}onError(t){return this.stream.on("error",t),Le.Disposable.create(()=>this.stream.off("error",t))}onEnd(t){return this.stream.on("end",t),Le.Disposable.create(()=>this.stream.off("end",t))}write(t,r){return new Promise((n,o)=>{let s=c=>{c==null?n():o(c)};typeof t=="string"?this.stream.write(t,r,s):this.stream.write(t,s)})}end(){this.stream.end()}},Hr=Object.freeze({messageBuffer:Object.freeze({create:e=>new pt(e)}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:(e,t)=>{try{return Promise.resolve(Buffer.from(JSON.stringify(e,void 0,0),t.charset))}catch(r){return Promise.reject(r)}}}),decoder:Object.freeze({name:"application/json",decode:(e,t)=>{try{return e instanceof Buffer?Promise.resolve(JSON.parse(e.toString(t.charset))):Promise.resolve(JSON.parse(new $r.TextDecoder(t.charset).decode(e)))}catch(r){return Promise.reject(r)}}})}),stream:Object.freeze({asReadableStream:e=>new Br(e),asWritableStream:e=>new Ur(e)}),console,timer:Object.freeze({setTimeout(e,t,...r){return setTimeout(e,t,...r)},clearTimeout(e){clearTimeout(e)},setImmediate(e,...t){return setImmediate(e,...t)},clearImmediate(e){clearImmediate(e)}})});function dn(){return Hr}(function(e){function t(){js.default.install(Hr)}e.install=t})(dn||(dn={}));fn.default=dn});var Ye=M(te=>{"use strict";Object.defineProperty(te,"__esModule",{value:!0});te.stringArray=te.array=te.func=te.error=te.number=te.string=te.boolean=void 0;function vs(e){return e===!0||e===!1}te.boolean=vs;function Vr(e){return typeof e=="string"||e instanceof String}te.string=Vr;function Ss(e){return typeof e=="number"||e instanceof Number}te.number=Ss;function Rs(e){return e instanceof Error}te.error=Rs;function ws(e){return typeof e=="function"}te.func=ws;function Yr(e){return Array.isArray(e)}te.array=Yr;function _s(e){return Yr(e)&&e.every(t=>Vr(t))}te.stringArray=_s});var pn=M(y=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0});y.isResponseMessage=y.isNotificationMessage=y.isRequestMessage=y.NotificationType9=y.NotificationType8=y.NotificationType7=y.NotificationType6=y.NotificationType5=y.NotificationType4=y.NotificationType3=y.NotificationType2=y.NotificationType1=y.NotificationType0=y.NotificationType=y.RequestType9=y.RequestType8=y.RequestType7=y.RequestType6=y.RequestType5=y.RequestType4=y.RequestType3=y.RequestType2=y.RequestType1=y.RequestType=y.RequestType0=y.AbstractMessageSignature=y.ParameterStructures=y.ResponseError=y.ErrorCodes=void 0;var Fe=Ye(),Qr;(function(e){e.ParseError=-32700,e.InvalidRequest=-32600,e.MethodNotFound=-32601,e.InvalidParams=-32602,e.InternalError=-32603,e.jsonrpcReservedErrorRangeStart=-32099,e.serverErrorStart=e.jsonrpcReservedErrorRangeStart,e.MessageWriteError=-32099,e.MessageReadError=-32098,e.ServerNotInitialized=-32002,e.UnknownErrorCode=-32001,e.jsonrpcReservedErrorRangeEnd=-32e3,e.serverErrorEnd=e.jsonrpcReservedErrorRangeEnd})(Qr=y.ErrorCodes||(y.ErrorCodes={}));var Ft=class extends Error{constructor(t,r,n){super(r);this.code=Fe.number(t)?t:Qr.UnknownErrorCode,this.data=n,Object.setPrototypeOf(this,Ft.prototype)}toJson(){return{code:this.code,message:this.message,data:this.data}}};y.ResponseError=Ft;var K=class{constructor(t){this.kind=t}static is(t){return t===K.auto||t===K.byName||t===K.byPosition}toString(){return this.kind}};y.ParameterStructures=K;K.auto=new K("auto");K.byPosition=new K("byPosition");K.byName=new K("byName");var J=class{constructor(t,r){this.method=t,this.numberOfParams=r}get parameterStructures(){return K.auto}};y.AbstractMessageSignature=J;var Xr=class extends J{constructor(t){super(t,0)}};y.RequestType0=Xr;var Zr=class extends J{constructor(t,r=K.auto){super(t,1);this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};y.RequestType=Zr;var Kr=class extends J{constructor(t,r=K.auto){super(t,1);this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};y.RequestType1=Kr;var eo=class extends J{constructor(t){super(t,2)}};y.RequestType2=eo;var to=class extends J{constructor(t){super(t,3)}};y.RequestType3=to;var no=class extends J{constructor(t){super(t,4)}};y.RequestType4=no;var ro=class extends J{constructor(t){super(t,5)}};y.RequestType5=ro;var oo=class extends J{constructor(t){super(t,6)}};y.RequestType6=oo;var io=class extends J{constructor(t){super(t,7)}};y.RequestType7=io;var so=class extends J{constructor(t){super(t,8)}};y.RequestType8=so;var ao=class extends J{constructor(t){super(t,9)}};y.RequestType9=ao;var co=class extends J{constructor(t,r=K.auto){super(t,1);this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};y.NotificationType=co;var uo=class extends J{constructor(t){super(t,0)}};y.NotificationType0=uo;var lo=class extends J{constructor(t,r=K.auto){super(t,1);this._parameterStructures=r}get parameterStructures(){return this._parameterStructures}};y.NotificationType1=lo;var fo=class extends J{constructor(t){super(t,2)}};y.NotificationType2=fo;var po=class extends J{constructor(t){super(t,3)}};y.NotificationType3=po;var ho=class extends J{constructor(t){super(t,4)}};y.NotificationType4=ho;var mo=class extends J{constructor(t){super(t,5)}};y.NotificationType5=mo;var go=class extends J{constructor(t){super(t,6)}};y.NotificationType6=go;var yo=class extends J{constructor(t){super(t,7)}};y.NotificationType7=yo;var jo=class extends J{constructor(t){super(t,8)}};y.NotificationType8=jo;var bo=class extends J{constructor(t){super(t,9)}};y.NotificationType9=bo;function ks(e){let t=e;return t&&Fe.string(t.method)&&(Fe.string(t.id)||Fe.number(t.id))}y.isRequestMessage=ks;function Ms(e){let t=e;return t&&Fe.string(t.method)&&e.id===void 0}y.isNotificationMessage=Ms;function Cs(e){let t=e;return t&&(t.result!==void 0||!!t.error)&&(Fe.string(t.id)||Fe.number(t.id)||t.id===null)}y.isResponseMessage=Cs});var Qe=M(Je=>{"use strict";Object.defineProperty(Je,"__esModule",{value:!0});Je.Emitter=Je.Event=void 0;var Ps=Re(),Ts;(function(e){let t={dispose(){}};e.None=function(){return t}})(Ts=Je.Event||(Je.Event={}));var vo=class{add(t,r=null,n){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(t),this._contexts.push(r),Array.isArray(n)&&n.push({dispose:()=>this.remove(t,r)})}remove(t,r=null){if(!this._callbacks)return;let n=!1;for(let o=0,s=this._callbacks.length;o<s;o++)if(this._callbacks[o]===t)if(this._contexts[o]===r){this._callbacks.splice(o,1),this._contexts.splice(o,1);return}else n=!0;if(n)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...t){if(!this._callbacks)return[];let r=[],n=this._callbacks.slice(0),o=this._contexts.slice(0);for(let s=0,c=n.length;s<c;s++)try{r.push(n[s].apply(o[s],t))}catch(p){Ps.default().console.error(p)}return r}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},ht=class{constructor(t){this._options=t}get event(){return this._event||(this._event=(t,r,n)=>{this._callbacks||(this._callbacks=new vo),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(t,r);let o={dispose:()=>{!this._callbacks||(this._callbacks.remove(t,r),o.dispose=ht._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))}};return Array.isArray(n)&&n.push(o),o}),this._event}fire(t){this._callbacks&&this._callbacks.invoke.call(this._callbacks,t)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}};Je.Emitter=ht;ht._noop=function(){}});var yn=M(We=>{"use strict";Object.defineProperty(We,"__esModule",{value:!0});We.CancellationTokenSource=We.CancellationToken=void 0;var So=Re(),Ns=Ye(),hn=Qe(),mn;(function(e){e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:hn.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:hn.Event.None});function t(r){let n=r;return n&&(n===e.None||n===e.Cancelled||Ns.boolean(n.isCancellationRequested)&&!!n.onCancellationRequested)}e.is=t})(mn=We.CancellationToken||(We.CancellationToken={}));var xs=Object.freeze(function(e,t){let r=So.default().timer.setTimeout(e.bind(t),0);return{dispose(){So.default().timer.clearTimeout(r)}}}),gn=class{constructor(){this._isCancelled=!1}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?xs:(this._emitter||(this._emitter=new hn.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},Ro=class{get token(){return this._token||(this._token=new gn),this._token}cancel(){this._token?this._token.cancel():this._token=mn.Cancelled}dispose(){this._token?this._token instanceof gn&&this._token.dispose():this._token=mn.None}};We.CancellationTokenSource=Ro});var _o=M(we=>{"use strict";Object.defineProperty(we,"__esModule",{value:!0});we.ReadableStreamMessageReader=we.AbstractMessageReader=we.MessageReader=void 0;var Jt=Re(),Xe=Ye(),jn=Qe(),qs;(function(e){function t(r){let n=r;return n&&Xe.func(n.listen)&&Xe.func(n.dispose)&&Xe.func(n.onError)&&Xe.func(n.onClose)&&Xe.func(n.onPartialMessage)}e.is=t})(qs=we.MessageReader||(we.MessageReader={}));var bn=class{constructor(){this.errorEmitter=new jn.Emitter,this.closeEmitter=new jn.Emitter,this.partialMessageEmitter=new jn.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(t){this.errorEmitter.fire(this.asError(t))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(t){this.partialMessageEmitter.fire(t)}asError(t){return t instanceof Error?t:new Error(`Reader received error. Reason: ${Xe.string(t.message)?t.message:"unknown"}`)}};we.AbstractMessageReader=bn;var vn;(function(e){function t(r){var n;let o,s,c,p=new Map,g,m=new Map;if(r===void 0||typeof r=="string")o=r!=null?r:"utf-8";else{if(o=(n=r.charset)!==null&&n!==void 0?n:"utf-8",r.contentDecoder!==void 0&&(c=r.contentDecoder,p.set(c.name,c)),r.contentDecoders!==void 0)for(let b of r.contentDecoders)p.set(b.name,b);if(r.contentTypeDecoder!==void 0&&(g=r.contentTypeDecoder,m.set(g.name,g)),r.contentTypeDecoders!==void 0)for(let b of r.contentTypeDecoders)m.set(b.name,b)}return g===void 0&&(g=Jt.default().applicationJson.decoder,m.set(g.name,g)),{charset:o,contentDecoder:c,contentDecoders:p,contentTypeDecoder:g,contentTypeDecoders:m}}e.fromOptions=t})(vn||(vn={}));var wo=class extends bn{constructor(t,r){super();this.readable=t,this.options=vn.fromOptions(r),this.buffer=Jt.default().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0}set partialMessageTimeout(t){this._partialMessageTimeout=t}get partialMessageTimeout(){return this._partialMessageTimeout}listen(t){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=t;let r=this.readable.onData(n=>{this.onData(n)});return this.readable.onError(n=>this.fireError(n)),this.readable.onClose(()=>this.fireClose()),r}onData(t){for(this.buffer.append(t);;){if(this.nextMessageLength===-1){let o=this.buffer.tryReadHeaders();if(!o)return;let s=o.get("Content-Length");if(!s)throw new Error("Header must provide a Content-Length property.");let c=parseInt(s);if(isNaN(c))throw new Error("Content-Length value must be a number.");this.nextMessageLength=c}let r=this.buffer.tryReadBody(this.nextMessageLength);if(r===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1;let n;this.options.contentDecoder!==void 0?n=this.options.contentDecoder.decode(r):n=Promise.resolve(r),n.then(o=>{this.options.contentTypeDecoder.decode(o,this.options).then(s=>{this.callback(s)},s=>{this.fireError(s)})},o=>{this.fireError(o)})}}clearPartialMessageTimer(){this.partialMessageTimer&&(Jt.default().timer.clearTimeout(this.partialMessageTimer),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=Jt.default().timer.setTimeout((t,r)=>{this.partialMessageTimer=void 0,t===this.messageToken&&(this.firePartialMessage({messageToken:t,waitingTime:r}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}};we.ReadableStreamMessageReader=wo});var Mo=M(Wt=>{"use strict";Object.defineProperty(Wt,"__esModule",{value:!0});Wt.Semaphore=void 0;var Os=Re(),ko=class{constructor(t=1){if(t<=0)throw new Error("Capacity must be greater than 0");this._capacity=t,this._active=0,this._waiting=[]}lock(t){return new Promise((r,n)=>{this._waiting.push({thunk:t,resolve:r,reject:n}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||Os.default().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;let t=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{let r=t.thunk();r instanceof Promise?r.then(n=>{this._active--,t.resolve(n),this.runNext()},n=>{this._active--,t.reject(n),this.runNext()}):(this._active--,t.resolve(r),this.runNext())}catch(r){this._active--,t.reject(r),this.runNext()}}};Wt.Semaphore=ko});var xo=M(_e=>{"use strict";Object.defineProperty(_e,"__esModule",{value:!0});_e.WriteableStreamMessageWriter=_e.AbstractMessageWriter=_e.MessageWriter=void 0;var Co=Re(),mt=Ye(),Ds=Mo(),Po=Qe(),Es="Content-Length: ",To=`\r
+`,As;(function(e){function t(r){let n=r;return n&&mt.func(n.dispose)&&mt.func(n.onClose)&&mt.func(n.onError)&&mt.func(n.write)}e.is=t})(As=_e.MessageWriter||(_e.MessageWriter={}));var Sn=class{constructor(){this.errorEmitter=new Po.Emitter,this.closeEmitter=new Po.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(t,r,n){this.errorEmitter.fire([this.asError(t),r,n])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(t){return t instanceof Error?t:new Error(`Writer received error. Reason: ${mt.string(t.message)?t.message:"unknown"}`)}};_e.AbstractMessageWriter=Sn;var Rn;(function(e){function t(r){var n,o;return r===void 0||typeof r=="string"?{charset:r!=null?r:"utf-8",contentTypeEncoder:Co.default().applicationJson.encoder}:{charset:(n=r.charset)!==null&&n!==void 0?n:"utf-8",contentEncoder:r.contentEncoder,contentTypeEncoder:(o=r.contentTypeEncoder)!==null&&o!==void 0?o:Co.default().applicationJson.encoder}}e.fromOptions=t})(Rn||(Rn={}));var No=class extends Sn{constructor(t,r){super();this.writable=t,this.options=Rn.fromOptions(r),this.errorCount=0,this.writeSemaphore=new Ds.Semaphore(1),this.writable.onError(n=>this.fireError(n)),this.writable.onClose(()=>this.fireClose())}async write(t){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(t,this.options).then(n=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(n):n).then(n=>{let o=[];return o.push(Es,n.byteLength.toString(),To),o.push(To),this.doWrite(t,o,n)},n=>{throw this.fireError(n),n}))}async doWrite(t,r,n){try{return await this.writable.write(r.join(""),"ascii"),this.writable.write(n)}catch(o){return this.handleError(o,t),Promise.reject(o)}}handleError(t,r){this.errorCount++,this.fireError(t,r,this.errorCount)}end(){this.writable.end()}};_e.WriteableStreamMessageWriter=No});var Oo=M(ke=>{"use strict";Object.defineProperty(ke,"__esModule",{value:!0});ke.LRUCache=ke.LinkedMap=ke.Touch=void 0;var ne;(function(e){e.None=0,e.First=1,e.AsOld=e.First,e.Last=2,e.AsNew=e.Last})(ne=ke.Touch||(ke.Touch={}));var wn=class{constructor(){this[Symbol.toStringTag]="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(t=this._head)===null||t===void 0?void 0:t.value}get last(){var t;return(t=this._tail)===null||t===void 0?void 0:t.value}has(t){return this._map.has(t)}get(t,r=ne.None){let n=this._map.get(t);if(!!n)return r!==ne.None&&this.touch(n,r),n.value}set(t,r,n=ne.None){let o=this._map.get(t);if(o)o.value=r,n!==ne.None&&this.touch(o,n);else{switch(o={key:t,value:r,next:void 0,previous:void 0},n){case ne.None:this.addItemLast(o);break;case ne.First:this.addItemFirst(o);break;case ne.Last:this.addItemLast(o);break;default:this.addItemLast(o);break}this._map.set(t,o),this._size++}return this}delete(t){return!!this.remove(t)}remove(t){let r=this._map.get(t);if(!!r)return this._map.delete(t),this.removeItem(r),this._size--,r.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let t=this._head;return this._map.delete(t.key),this.removeItem(t),this._size--,t.value}forEach(t,r){let n=this._state,o=this._head;for(;o;){if(r?t.bind(r)(o.value,o.key,this):t(o.value,o.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");o=o.next}}keys(){let t=this,r=this._state,n=this._head,o={[Symbol.iterator](){return o},next(){if(t._state!==r)throw new Error("LinkedMap got modified during iteration.");if(n){let s={value:n.key,done:!1};return n=n.next,s}else return{value:void 0,done:!0}}};return o}values(){let t=this,r=this._state,n=this._head,o={[Symbol.iterator](){return o},next(){if(t._state!==r)throw new Error("LinkedMap got modified during iteration.");if(n){let s={value:n.value,done:!1};return n=n.next,s}else return{value:void 0,done:!0}}};return o}entries(){let t=this,r=this._state,n=this._head,o={[Symbol.iterator](){return o},next(){if(t._state!==r)throw new Error("LinkedMap got modified during iteration.");if(n){let s={value:[n.key,n.value],done:!1};return n=n.next,s}else return{value:void 0,done:!0}}};return o}[Symbol.iterator](){return this.entries()}trimOld(t){if(t>=this.size)return;if(t===0){this.clear();return}let r=this._head,n=this.size;for(;r&&n>t;)this._map.delete(r.key),r=r.next,n--;this._head=r,this._size=n,r&&(r.previous=void 0),this._state++}addItemFirst(t){if(!this._head&&!this._tail)this._tail=t;else if(this._head)t.next=this._head,this._head.previous=t;else throw new Error("Invalid list");this._head=t,this._state++}addItemLast(t){if(!this._head&&!this._tail)this._head=t;else if(this._tail)t.previous=this._tail,this._tail.next=t;else throw new Error("Invalid list");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{let r=t.next,n=t.previous;if(!r||!n)throw new Error("Invalid list");r.previous=n,n.next=r}t.next=void 0,t.previous=void 0,this._state++}touch(t,r){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(r!==ne.First&&r!==ne.Last)){if(r===ne.First){if(t===this._head)return;let n=t.next,o=t.previous;t===this._tail?(o.next=void 0,this._tail=o):(n.previous=o,o.next=n),t.previous=void 0,t.next=this._head,this._head.previous=t,this._head=t,this._state++}else if(r===ne.Last){if(t===this._tail)return;let n=t.next,o=t.previous;t===this._head?(n.previous=void 0,this._head=n):(n.previous=o,o.next=n),t.next=void 0,t.previous=this._tail,this._tail.next=t,this._tail=t,this._state++}}}toJSON(){let t=[];return this.forEach((r,n)=>{t.push([n,r])}),t}fromJSON(t){this.clear();for(let[r,n]of t)this.set(r,n)}};ke.LinkedMap=wn;var qo=class extends wn{constructor(t,r=1){super();this._limit=t,this._ratio=Math.min(Math.max(0,r),1)}get limit(){return this._limit}set limit(t){this._limit=t,this.checkTrim()}get ratio(){return this._ratio}set ratio(t){this._ratio=Math.min(Math.max(0,t),1),this.checkTrim()}get(t,r=ne.AsNew){return super.get(t,r)}peek(t){return super.get(t,ne.None)}set(t,r){return super.set(t,r,ne.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}};ke.LRUCache=qo});var Fo=M(w=>{"use strict";Object.defineProperty(w,"__esModule",{value:!0});w.createMessageConnection=w.ConnectionOptions=w.CancellationStrategy=w.CancellationSenderStrategy=w.CancellationReceiverStrategy=w.ConnectionStrategy=w.ConnectionError=w.ConnectionErrors=w.LogTraceNotification=w.SetTraceNotification=w.TraceFormat=w.Trace=w.NullLogger=w.ProgressType=void 0;var Do=Re(),Q=Ye(),S=pn(),Eo=Oo(),gt=Qe(),_n=yn(),yt;(function(e){e.type=new S.NotificationType("$/cancelRequest")})(yt||(yt={}));var zt;(function(e){e.type=new S.NotificationType("$/progress")})(zt||(zt={}));var Ao=class{constructor(){}};w.ProgressType=Ao;var kn;(function(e){function t(r){return Q.func(r)}e.is=t})(kn||(kn={}));w.NullLogger=Object.freeze({error:()=>{},warn:()=>{},info:()=>{},log:()=>{}});var U;(function(e){e[e.Off=0]="Off",e[e.Messages=1]="Messages",e[e.Verbose=2]="Verbose"})(U=w.Trace||(w.Trace={}));(function(e){function t(n){if(!Q.string(n))return e.Off;switch(n=n.toLowerCase(),n){case"off":return e.Off;case"messages":return e.Messages;case"verbose":return e.Verbose;default:return e.Off}}e.fromString=t;function r(n){switch(n){case e.Off:return"off";case e.Messages:return"messages";case e.Verbose:return"verbose";default:return"off"}}e.toString=r})(U=w.Trace||(w.Trace={}));var le;(function(e){e.Text="text",e.JSON="json"})(le=w.TraceFormat||(w.TraceFormat={}));(function(e){function t(r){return r=r.toLowerCase(),r==="json"?e.JSON:e.Text}e.fromString=t})(le=w.TraceFormat||(w.TraceFormat={}));var Io;(function(e){e.type=new S.NotificationType("$/setTrace")})(Io=w.SetTraceNotification||(w.SetTraceNotification={}));var Mn;(function(e){e.type=new S.NotificationType("$/logTrace")})(Mn=w.LogTraceNotification||(w.LogTraceNotification={}));var $t;(function(e){e[e.Closed=1]="Closed",e[e.Disposed=2]="Disposed",e[e.AlreadyListening=3]="AlreadyListening"})($t=w.ConnectionErrors||(w.ConnectionErrors={}));var ze=class extends Error{constructor(t,r){super(r);this.code=t,Object.setPrototypeOf(this,ze.prototype)}};w.ConnectionError=ze;var Lo;(function(e){function t(r){let n=r;return n&&Q.func(n.cancelUndispatched)}e.is=t})(Lo=w.ConnectionStrategy||(w.ConnectionStrategy={}));var Cn;(function(e){e.Message=Object.freeze({createCancellationTokenSource(r){return new _n.CancellationTokenSource}});function t(r){let n=r;return n&&Q.func(n.createCancellationTokenSource)}e.is=t})(Cn=w.CancellationReceiverStrategy||(w.CancellationReceiverStrategy={}));var Pn;(function(e){e.Message=Object.freeze({sendCancellation(r,n){r.sendNotification(yt.type,{id:n})},cleanup(r){}});function t(r){let n=r;return n&&Q.func(n.sendCancellation)&&Q.func(n.cleanup)}e.is=t})(Pn=w.CancellationSenderStrategy||(w.CancellationSenderStrategy={}));var Tn;(function(e){e.Message=Object.freeze({receiver:Cn.Message,sender:Pn.Message});function t(r){let n=r;return n&&Cn.is(n.receiver)&&Pn.is(n.sender)}e.is=t})(Tn=w.CancellationStrategy||(w.CancellationStrategy={}));var Is;(function(e){function t(r){let n=r;return n&&(Tn.is(n.cancellationStrategy)||Lo.is(n.connectionStrategy))}e.is=t})(Is=w.ConnectionOptions||(w.ConnectionOptions={}));var fe;(function(e){e[e.New=1]="New",e[e.Listening=2]="Listening",e[e.Closed=3]="Closed",e[e.Disposed=4]="Disposed"})(fe||(fe={}));function Ls(e,t,r,n){let o=r!==void 0?r:w.NullLogger,s=0,c=0,p=0,g="2.0",m,b=Object.create(null),_,R=Object.create(null),h=new Map,A,q=new Eo.LinkedMap,C=Object.create(null),F=Object.create(null),O=U.Off,oe=le.Text,D,ie=fe.New,ce=new gt.Emitter,ye=new gt.Emitter,Ee=new gt.Emitter,Ae=new gt.Emitter,ve=new gt.Emitter,Se=n&&n.cancellationStrategy?n.cancellationStrategy:Tn.Message;function Et(a){if(a===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+a.toString()}function on(a){return a===null?"res-unknown-"+(++p).toString():"res-"+a.toString()}function Ui(){return"not-"+(++c).toString()}function Hi(a,l){S.isRequestMessage(l)?a.set(Et(l.id),l):S.isResponseMessage(l)?a.set(on(l.id),l):a.set(Ui(),l)}function Tr(a){}function Nr(){return ie===fe.Listening}function xr(){return ie===fe.Closed}function Ue(){return ie===fe.Disposed}function qr(){(ie===fe.New||ie===fe.Listening)&&(ie=fe.Closed,ye.fire(void 0))}function Gi(a){ce.fire([a,void 0,void 0])}function Vi(a){ce.fire(a)}e.onClose(qr),e.onError(Gi),t.onClose(qr),t.onError(Vi);function Or(){A||q.size===0||(A=Do.default().timer.setImmediate(()=>{A=void 0,Yi()}))}function Yi(){if(q.size===0)return;let a=q.shift();try{S.isRequestMessage(a)?Xi(a):S.isNotificationMessage(a)?Ki(a):S.isResponseMessage(a)?Zi(a):es(a)}finally{Or()}}let Qi=a=>{try{if(S.isNotificationMessage(a)&&a.method===yt.type.method){let l=Et(a.params.id),d=q.get(l);if(S.isRequestMessage(d)){let j=n==null?void 0:n.connectionStrategy,P=j&&j.cancelUndispatched?j.cancelUndispatched(d,Tr):Tr(d);if(P&&(P.error!==void 0||P.result!==void 0)){q.delete(l),P.id=d.id,At(P,a.method,Date.now()),t.write(P);return}}}Hi(q,a)}finally{Or()}};function Xi(a){if(Ue())return;function l(N,$,x){let V={jsonrpc:g,id:a.id};N instanceof S.ResponseError?V.error=N.toJson():V.result=N===void 0?null:N,At(V,$,x),t.write(V)}function d(N,$,x){let V={jsonrpc:g,id:a.id,error:N.toJson()};At(V,$,x),t.write(V)}function j(N,$,x){N===void 0&&(N=null);let V={jsonrpc:g,id:a.id,result:N};At(V,$,x),t.write(V)}rs(a);let P=b[a.method],z,G;P&&(z=P.type,G=P.handler);let Y=Date.now();if(G||m){let N=String(a.id),$=Se.receiver.createCancellationTokenSource(N);F[N]=$;try{let x;if(G)if(a.params===void 0){if(z!==void 0&&z.numberOfParams!==0){d(new S.ResponseError(S.ErrorCodes.InvalidParams,`Request ${a.method} defines ${z.numberOfParams} params but recevied none.`),a.method,Y);return}x=G($.token)}else if(Array.isArray(a.params)){if(z!==void 0&&z.parameterStructures===S.ParameterStructures.byName){d(new S.ResponseError(S.ErrorCodes.InvalidParams,`Request ${a.method} defines parameters by name but received parameters by position`),a.method,Y);return}x=G(...a.params,$.token)}else{if(z!==void 0&&z.parameterStructures===S.ParameterStructures.byPosition){d(new S.ResponseError(S.ErrorCodes.InvalidParams,`Request ${a.method} defines parameters by position but received parameters by name`),a.method,Y);return}x=G(a.params,$.token)}else m&&(x=m(a.method,a.params,$.token));let V=x;x?V.then?V.then(se=>{delete F[N],l(se,a.method,Y)},se=>{delete F[N],se instanceof S.ResponseError?d(se,a.method,Y):se&&Q.string(se.message)?d(new S.ResponseError(S.ErrorCodes.InternalError,`Request ${a.method} failed with message: ${se.message}`),a.method,Y):d(new S.ResponseError(S.ErrorCodes.InternalError,`Request ${a.method} failed unexpectedly without providing any details.`),a.method,Y)}):(delete F[N],l(x,a.method,Y)):(delete F[N],j(x,a.method,Y))}catch(x){delete F[N],x instanceof S.ResponseError?l(x,a.method,Y):x&&Q.string(x.message)?d(new S.ResponseError(S.ErrorCodes.InternalError,`Request ${a.method} failed with message: ${x.message}`),a.method,Y):d(new S.ResponseError(S.ErrorCodes.InternalError,`Request ${a.method} failed unexpectedly without providing any details.`),a.method,Y)}}else d(new S.ResponseError(S.ErrorCodes.MethodNotFound,`Unhandled method ${a.method}`),a.method,Y)}function Zi(a){if(!Ue())if(a.id===null)a.error?o.error(`Received response message without id: Error is: 
+${JSON.stringify(a.error,void 0,4)}`):o.error("Received response message without id. No further error information provided.");else{let l=String(a.id),d=C[l];if(is(a,d),d){delete C[l];try{if(a.error){let j=a.error;d.reject(new S.ResponseError(j.code,j.message,j.data))}else if(a.result!==void 0)d.resolve(a.result);else throw new Error("Should never happen.")}catch(j){j.message?o.error(`Response handler '${d.method}' failed with message: ${j.message}`):o.error(`Response handler '${d.method}' failed unexpectedly.`)}}}}function Ki(a){if(Ue())return;let l,d;if(a.method===yt.type.method)d=j=>{let P=j.id,z=F[String(P)];z&&z.cancel()};else{let j=R[a.method];j&&(d=j.handler,l=j.type)}if(d||_)try{os(a),d?a.params===void 0?(l!==void 0&&l.numberOfParams!==0&&l.parameterStructures!==S.ParameterStructures.byName&&o.error(`Notification ${a.method} defines ${l.numberOfParams} params but recevied none.`),d()):Array.isArray(a.params)?(l!==void 0&&(l.parameterStructures===S.ParameterStructures.byName&&o.error(`Notification ${a.method} defines parameters by name but received parameters by position`),l.numberOfParams!==a.params.length&&o.error(`Notification ${a.method} defines ${l.numberOfParams} params but received ${a.params.length} argumennts`)),d(...a.params)):(l!==void 0&&l.parameterStructures===S.ParameterStructures.byPosition&&o.error(`Notification ${a.method} defines parameters by position but received parameters by name`),d(a.params)):_&&_(a.method,a.params)}catch(j){j.message?o.error(`Notification handler '${a.method}' failed with message: ${j.message}`):o.error(`Notification handler '${a.method}' failed unexpectedly.`)}else Ee.fire(a)}function es(a){if(!a){o.error("Received empty message.");return}o.error(`Received message which is neither a response nor a notification message:
+${JSON.stringify(a,null,4)}`);let l=a;if(Q.string(l.id)||Q.number(l.id)){let d=String(l.id),j=C[d];j&&j.reject(new Error("The received response has neither a result nor an error property."))}}function ts(a){if(!(O===U.Off||!D))if(oe===le.Text){let l;O===U.Verbose&&a.params&&(l=`Params: ${JSON.stringify(a.params,null,4)}
 
-"use strict";
+`),D.log(`Sending request '${a.method} - (${a.id})'.`,l)}else He("send-request",a)}function ns(a){if(!(O===U.Off||!D))if(oe===le.Text){let l;O===U.Verbose&&(a.params?l=`Params: ${JSON.stringify(a.params,null,4)}
 
-var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
-    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
-    return new (P || (P = Promise))(function (resolve, reject) {
-        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
-        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
-        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
-        step((generator = generator.apply(thisArg, _arguments || [])).next());
-    });
-};
-var __importDefault = (this && this.__importDefault) || function (mod) {
-    return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.activate = void 0;
-const path_1 = __importDefault(__webpack_require__(1));
-const fs_1 = __importDefault(__webpack_require__(2));
-const util_1 = __webpack_require__(3);
-const vscode_languageserver_protocol_1 = __webpack_require__(4);
-const catalog_json_1 = __importDefault(__webpack_require__(33));
-const hash_1 = __webpack_require__(34);
-const vscode_uri_1 = __webpack_require__(35);
-const coc_nvim_1 = __webpack_require__(36);
-const requests_1 = __webpack_require__(37);
-const strip_bom_1 = __importDefault(__webpack_require__(38));
-var ForceValidateRequest;
-(function (ForceValidateRequest) {
-    ForceValidateRequest.type = new vscode_languageserver_protocol_1.RequestType('json/validate');
-})(ForceValidateRequest || (ForceValidateRequest = {}));
-var VSCodeContentRequest;
-(function (VSCodeContentRequest) {
-    VSCodeContentRequest.type = new vscode_languageserver_protocol_1.RequestType('vscode/content');
-})(VSCodeContentRequest || (VSCodeContentRequest = {}));
-var SchemaContentChangeNotification;
-(function (SchemaContentChangeNotification) {
-    SchemaContentChangeNotification.type = new vscode_languageserver_protocol_1.NotificationType('json/schemaContent');
-})(SchemaContentChangeNotification || (SchemaContentChangeNotification = {}));
-var SchemaAssociationNotification;
-(function (SchemaAssociationNotification) {
-    SchemaAssociationNotification.type = new vscode_languageserver_protocol_1.NotificationType('json/schemaAssociations');
-})(SchemaAssociationNotification || (SchemaAssociationNotification = {}));
-var SettingIds;
-(function (SettingIds) {
-    SettingIds.enableFormatter = 'json.format.enable';
-    SettingIds.enableSchemaDownload = 'json.schemaDownload.enable';
-    SettingIds.maxItemsComputed = 'json.maxItemsComputed';
-})(SettingIds || (SettingIds = {}));
-function activate(context) {
-    return __awaiter(this, void 0, void 0, function* () {
-        let { subscriptions, logger } = context;
-        const httpService = getHTTPRequestService();
-        const config = coc_nvim_1.workspace.getConfiguration().get('json', {});
-        if (!config.enable)
-            return;
-        const file = context.asAbsolutePath('lib/server.js');
-        const selector = ['json', 'jsonc'];
-        let fileSchemaErrors = new Map();
-        coc_nvim_1.events.on('BufEnter', bufnr => {
-            let doc = coc_nvim_1.workspace.getDocument(bufnr);
-            if (!doc)
-                return;
-            let msg = fileSchemaErrors.get(doc.uri);
-            if (msg)
-                coc_nvim_1.workspace.showMessage(`Schema error: ${msg}`, 'warning');
-        }, null, subscriptions);
-        let serverOptions = {
-            module: file,
-            transport: coc_nvim_1.TransportKind.ipc,
-            options: {
-                cwd: coc_nvim_1.workspace.root,
-                execArgv: config.execArgv
-            }
-        };
-        let clientOptions = {
-            documentSelector: selector,
-            synchronize: {
-                configurationSection: ['json', 'http'],
-                fileEvents: coc_nvim_1.workspace.createFileSystemWatcher('**/*.json')
-            },
-            initializationOptions: {
-                handledSchemaProtocols: ['file'],
-                customCapabilities: { rangeFormatting: { editLimit: 1000 } }
-            },
-            outputChannelName: 'json',
-            diagnosticCollectionName: 'json',
-            middleware: {
-                workspace: {
-                    didChangeConfiguration: () => client.sendNotification(vscode_languageserver_protocol_1.DidChangeConfigurationNotification.type, { settings: getSettings() })
-                },
-                handleDiagnostics: (uri, diagnostics, next) => {
-                    const schemaErrorIndex = diagnostics.findIndex(candidate => candidate.code === /* SchemaResolveError */ 0x300);
-                    if (uri.endsWith('coc-settings.json')) {
-                        diagnostics = diagnostics.filter(o => o.code != 521);
-                    }
-                    if (schemaErrorIndex === -1) {
-                        fileSchemaErrors.delete(uri.toString());
-                        return next(uri, diagnostics);
-                    }
-                    const schemaResolveDiagnostic = diagnostics[schemaErrorIndex];
-                    fileSchemaErrors.set(uri.toString(), schemaResolveDiagnostic.message);
-                    let doc = coc_nvim_1.workspace.getDocument(uri);
-                    if (doc && doc.uri == uri) {
-                        coc_nvim_1.workspace.showMessage(`Schema error: ${schemaResolveDiagnostic.message}`, 'warning');
-                    }
-                    next(uri, diagnostics);
-                },
-                resolveCompletionItem: (item, token, next) => {
-                    return Promise.resolve(next(item, token)).then((item) => {
-                        if (item.data.detail) {
-                            item.detail = item.data.detail;
-                        }
-                        return item;
-                    });
-                },
-                // fix completeItem
-                provideCompletionItem: (document, position, context, token, next) => {
-                    return Promise.resolve(next(document, position, context, token)).then((res) => {
-                        let doc = coc_nvim_1.workspace.getDocument(document.uri);
-                        if (!doc)
-                            return [];
-                        let items = res.hasOwnProperty('isIncomplete') ? res.items : res;
-                        let line = doc.getline(position.line);
-                        for (let item of items) {
-                            let { textEdit, insertText, label, filterText } = item; // tslint:disable-line
-                            item.insertText = null; // tslint:disable-line
-                            if (textEdit && textEdit.newText) {
-                                let newText = insertText || textEdit.newText;
-                                textEdit.newText = newText;
-                                let { start, end } = textEdit.range;
-                                if (line[start.character] && line[end.character - 1] && /^".*"$/.test(label)) {
-                                    item.label = item.label.slice(1, -1);
-                                }
-                            }
-                            if (filterText && /^".*"$/.test(filterText)) {
-                                item.filterText = filterText.slice(1, -1);
-                            }
-                        }
-                        let result = {
-                            isIncomplete: false,
-                            items
-                        };
-                        if (items.length && items.every(o => o.kind == vscode_languageserver_protocol_1.CompletionItemKind.Property)) {
-                            result.startcol = doc.fixStartcol(position, ['.']);
-                        }
-                        return result;
-                    });
-                }
-            }
-        };
-        let client = new coc_nvim_1.LanguageClient('json', 'Json language server', serverOptions, clientOptions);
-        subscriptions.push(coc_nvim_1.services.registLanguageClient(client));
-        client.onReady().then(() => {
-            // associations
-            client.sendNotification(SchemaAssociationNotification.type, getSchemaAssociations(context));
-            coc_nvim_1.extensions.onDidUnloadExtension(() => {
-                client.sendNotification(SchemaAssociationNotification.type, getSchemaAssociations(context));
-            }, null, subscriptions);
-            coc_nvim_1.extensions.onDidLoadExtension(() => {
-                client.sendNotification(SchemaAssociationNotification.type, getSchemaAssociations(context));
-            }, null, subscriptions);
-            let schemaDownloadEnabled = true;
-            function updateSchemaDownloadSetting() {
-                schemaDownloadEnabled = coc_nvim_1.workspace.getConfiguration().get(SettingIds.enableSchemaDownload) !== false;
-            }
-            updateSchemaDownloadSetting();
-            coc_nvim_1.workspace.onDidChangeConfiguration(e => {
-                if (e.affectsConfiguration(SettingIds.enableSchemaDownload)) {
-                    updateSchemaDownloadSetting();
-                }
-            }, null, subscriptions);
-            const schemaDocuments = {};
-            client.onRequest(VSCodeContentRequest.type, (uriPath) => __awaiter(this, void 0, void 0, function* () {
-                const uri = vscode_uri_1.URI.parse(uriPath);
-                if (uri.scheme === 'untitled') {
-                    return Promise.reject(new vscode_languageserver_protocol_1.ResponseError(3, `Unable to load ${uri.scheme}`));
-                }
-                if (uriPath == 'vscode://settings') {
-                    let schemaContent = yield util_1.promisify(fs_1.default.readFile)(path_1.default.join(coc_nvim_1.workspace.pluginRoot, 'data/schema.json'), 'utf8');
-                    let settingsSchema = JSON.parse(schemaContent);
-                    let schema = Object.assign({}, settingsSchema);
-                    schema.properties = schema.properties || {};
-                    if (coc_nvim_1.extensions.schemes)
-                        Object.assign(schema.properties, coc_nvim_1.extensions.schemes);
-                    coc_nvim_1.extensions.all.forEach(extension => {
-                        let { packageJSON } = extension;
-                        let { contributes } = packageJSON;
-                        if (!contributes)
-                            return;
-                        let { configuration } = contributes;
-                        if (configuration) {
-                            let { properties, definitions } = configuration;
-                            if (properties)
-                                Object.assign(schema.properties, properties);
-                            if (definitions)
-                                Object.assign(schema.definitions, definitions);
-                        }
-                    });
-                    return JSON.stringify(schema);
-                }
-                if (uri.scheme !== 'http' && uri.scheme !== 'https') {
-                    let doc = yield coc_nvim_1.workspace.loadFile(uriPath);
-                    schemaDocuments[uri.toString()] = true;
-                    return doc.getDocumentContent();
-                }
-                else if (schemaDownloadEnabled) {
-                    return yield Promise.resolve(httpService.getContent(uriPath));
-                }
-                else {
-                    logger.warn(`Schema download disabled!`);
-                }
-                return '{}';
-            }));
-            const handleContentChange = (uriString) => {
-                if (schemaDocuments[uriString]) {
-                    client.sendNotification(SchemaContentChangeNotification.type, uriString);
-                    return true;
-                }
-                return false;
-            };
-            coc_nvim_1.workspace.onDidChangeTextDocument(e => handleContentChange(e.textDocument.uri));
-            coc_nvim_1.workspace.onDidCloseTextDocument(doc => {
-                const uriString = doc.uri;
-                if (handleContentChange(uriString)) {
-                    delete schemaDocuments[uriString];
-                }
-                fileSchemaErrors.delete(doc.uri);
-            }, null, subscriptions);
-        }, _e => {
-            // noop
-        });
-        let statusItem = coc_nvim_1.workspace.createStatusBarItem(0, { progress: true });
-        subscriptions.push(statusItem);
-        subscriptions.push(coc_nvim_1.commands.registerCommand('json.retryResolveSchema', () => __awaiter(this, void 0, void 0, function* () {
-            let doc = yield coc_nvim_1.workspace.document;
-            if (!doc || ['json', 'jsonc'].indexOf(doc.filetype) == -1)
-                return;
-            statusItem.isProgress = true;
-            statusItem.text = 'loading schema';
-            statusItem.show();
-            client.sendRequest(ForceValidateRequest.type, doc.uri).then((diagnostics) => {
-                statusItem.text = '⚠️';
-                statusItem.isProgress = false;
-                const schemaErrorIndex = diagnostics.findIndex(candidate => candidate.code === /* SchemaResolveError */ 0x300);
-                if (schemaErrorIndex !== -1) {
-                    // Show schema resolution errors in status bar only; ref: #51032
-                    const schemaResolveDiagnostic = diagnostics[schemaErrorIndex];
-                    fileSchemaErrors.set(doc.uri, schemaResolveDiagnostic.message);
-                    statusItem.show();
-                }
-                else {
-                    statusItem.hide();
-                }
-            }, () => {
-                statusItem.show();
-                statusItem.isProgress = false;
-                statusItem.text = '⚠️';
-            });
-        })));
-    });
-}
-exports.activate = activate;
-function getSettings() {
-    let httpSettings = coc_nvim_1.workspace.getConfiguration('http');
-    let settings = {
-        http: {
-            proxy: httpSettings.get('proxy'),
-            proxyStrictSSL: httpSettings.get('proxyStrictSSL')
-        },
-        json: {
-            format: coc_nvim_1.workspace.getConfiguration('json').get('format'),
-            schemas: []
-        }
-    };
-    let schemaSettingsById = Object.create(null);
-    let collectSchemaSettings = (schemaSettings, rootPath, fileMatchPrefix) => {
-        for (let setting of schemaSettings) {
-            let url = getSchemaId(setting, rootPath);
-            if (!url) {
-                continue;
-            }
-            let schemaSetting = schemaSettingsById[url];
-            if (!schemaSetting) {
-                schemaSetting = schemaSettingsById[url] = { url, fileMatch: [] };
-                settings.json.schemas.push(schemaSetting);
-            }
-            let fileMatches = setting.fileMatch;
-            let resultingFileMatches = schemaSetting.fileMatch;
-            if (Array.isArray(fileMatches)) {
-                if (fileMatchPrefix) {
-                    for (let fileMatch of fileMatches) {
-                        if (fileMatch[0] === '/') {
-                            resultingFileMatches.push(fileMatchPrefix + fileMatch);
-                            resultingFileMatches.push(fileMatchPrefix + '/*' + fileMatch);
-                        }
-                        else {
-                            resultingFileMatches.push(fileMatchPrefix + '/' + fileMatch);
-                            resultingFileMatches.push(fileMatchPrefix + '/*/' + fileMatch);
-                        }
-                    }
-                }
-                else {
-                    resultingFileMatches.push(...fileMatches);
-                }
-            }
-            if (setting.schema) {
-                schemaSetting.schema = setting.schema;
-            }
-        }
-    };
-    // merge global and folder settings. Qualify all file matches with the folder path.
-    let globalSettings = coc_nvim_1.workspace.getConfiguration('json', null).get('schemas');
-    if (Array.isArray(globalSettings)) {
-        collectSchemaSettings(globalSettings, coc_nvim_1.workspace.root);
-    }
-    return settings;
-}
-function getSchemaId(schema, rootPath) {
-    let url = schema.url;
-    if (!url) {
-        if (schema.schema) {
-            url = schema.schema.id || `vscode://schemas/custom/${encodeURIComponent(hash_1.hash(schema.schema).toString(16))}`;
-        }
-    }
-    else if (rootPath && (url[0] === '.' || url[0] === '/')) {
-        url = vscode_uri_1.URI.file(path_1.default.normalize(path_1.default.join(rootPath, url))).toString();
-    }
-    return url;
-}
-function getHTTPRequestService() {
-    return {
-        getContent(uri, _encoding) {
-            const headers = { 'Accept-Encoding': 'gzip, deflate' };
-            return coc_nvim_1.fetch(uri, { headers }).then(res => {
-                if (typeof res === 'string') {
-                    return res;
-                }
-                if (Buffer.isBuffer(res)) {
-                    return strip_bom_1.default(res.toString('utf8'));
-                }
-                return JSON.stringify(res);
-            });
-        }
-    };
-}
-function getSchemaAssociations(_context) {
-    const associations = [];
-    associations.push({ fileMatch: ['coc-settings.json'], uri: 'vscode://settings' });
-    for (let item of catalog_json_1.default.schemas) {
-        let { fileMatch, url } = item;
-        if (Array.isArray(fileMatch)) {
-            associations.push({ fileMatch, uri: url });
-        }
-        else if (typeof fileMatch === 'string') {
-            associations.push({ fileMatch: [fileMatch], uri: url });
-        }
-    }
-    coc_nvim_1.extensions.all.forEach(extension => {
-        const packageJSON = extension.packageJSON;
-        if (packageJSON && packageJSON.contributes && packageJSON.contributes.jsonValidation) {
-            const jsonValidation = packageJSON.contributes.jsonValidation;
-            if (Array.isArray(jsonValidation)) {
-                jsonValidation.forEach(jv => {
-                    let { fileMatch, url } = jv;
-                    if (typeof fileMatch === 'string') {
-                        fileMatch = [fileMatch];
-                    }
-                    if (Array.isArray(fileMatch) && typeof url === 'string') {
-                        let uri = url;
-                        if (uri[0] === '.' && uri[1] === '/') {
-                            uri = requests_1.joinPath(vscode_uri_1.URI.file(extension.extensionPath), uri).toString();
-                        }
-                        fileMatch = fileMatch.map(fm => {
-                            if (fm[0] === '%') {
-                                fm = fm.replace(/%APP_SETTINGS_HOME%/, '/User');
-                                fm = fm.replace(/%MACHINE_SETTINGS_HOME%/, '/Machine');
-                                fm = fm.replace(/%APP_WORKSPACES_HOME%/, '/Workspaces');
-                            }
-                            else if (!fm.match(/^(\w+:\/\/|\/|!)/)) {
-                                fm = '/' + fm;
-                            }
-                            return fm;
-                        });
-                        associations.push({ fileMatch, uri });
-                    }
-                });
-            }
-        }
-    });
-    return associations;
-}
+`:l=`No parameters provided.
 
+`),D.log(`Sending notification '${a.method}'.`,l)}else He("send-notification",a)}function At(a,l,d){if(!(O===U.Off||!D))if(oe===le.Text){let j;O===U.Verbose&&(a.error&&a.error.data?j=`Error data: ${JSON.stringify(a.error.data,null,4)}
 
-/***/ }),
-/* 1 */
-/***/ (function(module, exports) {
+`:a.result?j=`Result: ${JSON.stringify(a.result,null,4)}
 
-module.exports = require("path");
+`:a.error===void 0&&(j=`No result returned.
 
-/***/ }),
-/* 2 */
-/***/ (function(module, exports) {
+`)),D.log(`Sending response '${l} - (${a.id})'. Processing request took ${Date.now()-d}ms`,j)}else He("send-response",a)}function rs(a){if(!(O===U.Off||!D))if(oe===le.Text){let l;O===U.Verbose&&a.params&&(l=`Params: ${JSON.stringify(a.params,null,4)}
 
-module.exports = require("fs");
+`),D.log(`Received request '${a.method} - (${a.id})'.`,l)}else He("receive-request",a)}function os(a){if(!(O===U.Off||!D||a.method===Mn.type.method))if(oe===le.Text){let l;O===U.Verbose&&(a.params?l=`Params: ${JSON.stringify(a.params,null,4)}
 
-/***/ }),
-/* 3 */
-/***/ (function(module, exports) {
+`:l=`No parameters provided.
 
-module.exports = require("util");
+`),D.log(`Received notification '${a.method}'.`,l)}else He("receive-notification",a)}function is(a,l){if(!(O===U.Off||!D))if(oe===le.Text){let d;if(O===U.Verbose&&(a.error&&a.error.data?d=`Error data: ${JSON.stringify(a.error.data,null,4)}
 
-/***/ }),
-/* 4 */
-/***/ (function(module, exports, __webpack_require__) {
+`:a.result?d=`Result: ${JSON.stringify(a.result,null,4)}
 
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-function __export(m) {\r
-    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r
-}\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(5);\r
-exports.ErrorCodes = vscode_jsonrpc_1.ErrorCodes;\r
-exports.ResponseError = vscode_jsonrpc_1.ResponseError;\r
-exports.CancellationToken = vscode_jsonrpc_1.CancellationToken;\r
-exports.CancellationTokenSource = vscode_jsonrpc_1.CancellationTokenSource;\r
-exports.Disposable = vscode_jsonrpc_1.Disposable;\r
-exports.Event = vscode_jsonrpc_1.Event;\r
-exports.Emitter = vscode_jsonrpc_1.Emitter;\r
-exports.Trace = vscode_jsonrpc_1.Trace;\r
-exports.TraceFormat = vscode_jsonrpc_1.TraceFormat;\r
-exports.SetTraceNotification = vscode_jsonrpc_1.SetTraceNotification;\r
-exports.LogTraceNotification = vscode_jsonrpc_1.LogTraceNotification;\r
-exports.RequestType = vscode_jsonrpc_1.RequestType;\r
-exports.RequestType0 = vscode_jsonrpc_1.RequestType0;\r
-exports.NotificationType = vscode_jsonrpc_1.NotificationType;\r
-exports.NotificationType0 = vscode_jsonrpc_1.NotificationType0;\r
-exports.MessageReader = vscode_jsonrpc_1.MessageReader;\r
-exports.MessageWriter = vscode_jsonrpc_1.MessageWriter;\r
-exports.ConnectionStrategy = vscode_jsonrpc_1.ConnectionStrategy;\r
-exports.StreamMessageReader = vscode_jsonrpc_1.StreamMessageReader;\r
-exports.StreamMessageWriter = vscode_jsonrpc_1.StreamMessageWriter;\r
-exports.IPCMessageReader = vscode_jsonrpc_1.IPCMessageReader;\r
-exports.IPCMessageWriter = vscode_jsonrpc_1.IPCMessageWriter;\r
-exports.createClientPipeTransport = vscode_jsonrpc_1.createClientPipeTransport;\r
-exports.createServerPipeTransport = vscode_jsonrpc_1.createServerPipeTransport;\r
-exports.generateRandomPipeName = vscode_jsonrpc_1.generateRandomPipeName;\r
-exports.createClientSocketTransport = vscode_jsonrpc_1.createClientSocketTransport;\r
-exports.createServerSocketTransport = vscode_jsonrpc_1.createServerSocketTransport;\r
-exports.ProgressType = vscode_jsonrpc_1.ProgressType;\r
-__export(__webpack_require__(18));\r
-__export(__webpack_require__(19));\r
-const callHierarchy = __webpack_require__(31);\r
-const st = __webpack_require__(32);\r
-var Proposed;\r
-(function (Proposed) {\r
-    let CallHierarchyPrepareRequest;\r
-    (function (CallHierarchyPrepareRequest) {\r
-        CallHierarchyPrepareRequest.method = callHierarchy.CallHierarchyPrepareRequest.method;\r
-        CallHierarchyPrepareRequest.type = callHierarchy.CallHierarchyPrepareRequest.type;\r
-    })(CallHierarchyPrepareRequest = Proposed.CallHierarchyPrepareRequest || (Proposed.CallHierarchyPrepareRequest = {}));\r
-    let CallHierarchyIncomingCallsRequest;\r
-    (function (CallHierarchyIncomingCallsRequest) {\r
-        CallHierarchyIncomingCallsRequest.method = callHierarchy.CallHierarchyIncomingCallsRequest.method;\r
-        CallHierarchyIncomingCallsRequest.type = callHierarchy.CallHierarchyIncomingCallsRequest.type;\r
-    })(CallHierarchyIncomingCallsRequest = Proposed.CallHierarchyIncomingCallsRequest || (Proposed.CallHierarchyIncomingCallsRequest = {}));\r
-    let CallHierarchyOutgoingCallsRequest;\r
-    (function (CallHierarchyOutgoingCallsRequest) {\r
-        CallHierarchyOutgoingCallsRequest.method = callHierarchy.CallHierarchyOutgoingCallsRequest.method;\r
-        CallHierarchyOutgoingCallsRequest.type = callHierarchy.CallHierarchyOutgoingCallsRequest.type;\r
-    })(CallHierarchyOutgoingCallsRequest = Proposed.CallHierarchyOutgoingCallsRequest || (Proposed.CallHierarchyOutgoingCallsRequest = {}));\r
-    Proposed.SemanticTokenTypes = st.SemanticTokenTypes;\r
-    Proposed.SemanticTokenModifiers = st.SemanticTokenModifiers;\r
-    Proposed.SemanticTokens = st.SemanticTokens;\r
-    let SemanticTokensRequest;\r
-    (function (SemanticTokensRequest) {\r
-        SemanticTokensRequest.method = st.SemanticTokensRequest.method;\r
-        SemanticTokensRequest.type = st.SemanticTokensRequest.type;\r
-    })(SemanticTokensRequest = Proposed.SemanticTokensRequest || (Proposed.SemanticTokensRequest = {}));\r
-    let SemanticTokensEditsRequest;\r
-    (function (SemanticTokensEditsRequest) {\r
-        SemanticTokensEditsRequest.method = st.SemanticTokensEditsRequest.method;\r
-        SemanticTokensEditsRequest.type = st.SemanticTokensEditsRequest.type;\r
-    })(SemanticTokensEditsRequest = Proposed.SemanticTokensEditsRequest || (Proposed.SemanticTokensEditsRequest = {}));\r
-    let SemanticTokensRangeRequest;\r
-    (function (SemanticTokensRangeRequest) {\r
-        SemanticTokensRangeRequest.method = st.SemanticTokensRangeRequest.method;\r
-        SemanticTokensRangeRequest.type = st.SemanticTokensRangeRequest.type;\r
-    })(SemanticTokensRangeRequest = Proposed.SemanticTokensRangeRequest || (Proposed.SemanticTokensRangeRequest = {}));\r
-})(Proposed = exports.Proposed || (exports.Proposed = {}));\r
-function createProtocolConnection(reader, writer, logger, strategy) {\r
-    return vscode_jsonrpc_1.createMessageConnection(reader, writer, logger, strategy);\r
-}\r
-exports.createProtocolConnection = createProtocolConnection;\r
+`:a.error===void 0&&(d=`No result returned.
 
-
-/***/ }),
-/* 5 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-/// <reference path="../typings/thenable.d.ts" />\r
-\r
-function __export(m) {\r
-    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r
-}\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const Is = __webpack_require__(6);\r
-const messages_1 = __webpack_require__(7);\r
-exports.RequestType = messages_1.RequestType;\r
-exports.RequestType0 = messages_1.RequestType0;\r
-exports.RequestType1 = messages_1.RequestType1;\r
-exports.RequestType2 = messages_1.RequestType2;\r
-exports.RequestType3 = messages_1.RequestType3;\r
-exports.RequestType4 = messages_1.RequestType4;\r
-exports.RequestType5 = messages_1.RequestType5;\r
-exports.RequestType6 = messages_1.RequestType6;\r
-exports.RequestType7 = messages_1.RequestType7;\r
-exports.RequestType8 = messages_1.RequestType8;\r
-exports.RequestType9 = messages_1.RequestType9;\r
-exports.ResponseError = messages_1.ResponseError;\r
-exports.ErrorCodes = messages_1.ErrorCodes;\r
-exports.NotificationType = messages_1.NotificationType;\r
-exports.NotificationType0 = messages_1.NotificationType0;\r
-exports.NotificationType1 = messages_1.NotificationType1;\r
-exports.NotificationType2 = messages_1.NotificationType2;\r
-exports.NotificationType3 = messages_1.NotificationType3;\r
-exports.NotificationType4 = messages_1.NotificationType4;\r
-exports.NotificationType5 = messages_1.NotificationType5;\r
-exports.NotificationType6 = messages_1.NotificationType6;\r
-exports.NotificationType7 = messages_1.NotificationType7;\r
-exports.NotificationType8 = messages_1.NotificationType8;\r
-exports.NotificationType9 = messages_1.NotificationType9;\r
-const messageReader_1 = __webpack_require__(8);\r
-exports.MessageReader = messageReader_1.MessageReader;\r
-exports.StreamMessageReader = messageReader_1.StreamMessageReader;\r
-exports.IPCMessageReader = messageReader_1.IPCMessageReader;\r
-exports.SocketMessageReader = messageReader_1.SocketMessageReader;\r
-const messageWriter_1 = __webpack_require__(10);\r
-exports.MessageWriter = messageWriter_1.MessageWriter;\r
-exports.StreamMessageWriter = messageWriter_1.StreamMessageWriter;\r
-exports.IPCMessageWriter = messageWriter_1.IPCMessageWriter;\r
-exports.SocketMessageWriter = messageWriter_1.SocketMessageWriter;\r
-const events_1 = __webpack_require__(9);\r
-exports.Disposable = events_1.Disposable;\r
-exports.Event = events_1.Event;\r
-exports.Emitter = events_1.Emitter;\r
-const cancellation_1 = __webpack_require__(11);\r
-exports.CancellationTokenSource = cancellation_1.CancellationTokenSource;\r
-exports.CancellationToken = cancellation_1.CancellationToken;\r
-const linkedMap_1 = __webpack_require__(12);\r
-__export(__webpack_require__(13));\r
-__export(__webpack_require__(17));\r
-var CancelNotification;\r
-(function (CancelNotification) {\r
-    CancelNotification.type = new messages_1.NotificationType('$/cancelRequest');\r
-})(CancelNotification || (CancelNotification = {}));\r
-var ProgressNotification;\r
-(function (ProgressNotification) {\r
-    ProgressNotification.type = new messages_1.NotificationType('$/progress');\r
-})(ProgressNotification || (ProgressNotification = {}));\r
-class ProgressType {\r
-    constructor() {\r
-    }\r
-}\r
-exports.ProgressType = ProgressType;\r
-exports.NullLogger = Object.freeze({\r
-    error: () => { },\r
-    warn: () => { },\r
-    info: () => { },\r
-    log: () => { }\r
-});\r
-var Trace;\r
-(function (Trace) {\r
-    Trace[Trace["Off"] = 0] = "Off";\r
-    Trace[Trace["Messages"] = 1] = "Messages";\r
-    Trace[Trace["Verbose"] = 2] = "Verbose";\r
-})(Trace = exports.Trace || (exports.Trace = {}));\r
-(function (Trace) {\r
-    function fromString(value) {\r
-        if (!Is.string(value)) {\r
-            return Trace.Off;\r
-        }\r
-        value = value.toLowerCase();\r
-        switch (value) {\r
-            case 'off':\r
-                return Trace.Off;\r
-            case 'messages':\r
-                return Trace.Messages;\r
-            case 'verbose':\r
-                return Trace.Verbose;\r
-            default:\r
-                return Trace.Off;\r
-        }\r
-    }\r
-    Trace.fromString = fromString;\r
-    function toString(value) {\r
-        switch (value) {\r
-            case Trace.Off:\r
-                return 'off';\r
-            case Trace.Messages:\r
-                return 'messages';\r
-            case Trace.Verbose:\r
-                return 'verbose';\r
-            default:\r
-                return 'off';\r
-        }\r
-    }\r
-    Trace.toString = toString;\r
-})(Trace = exports.Trace || (exports.Trace = {}));\r
-var TraceFormat;\r
-(function (TraceFormat) {\r
-    TraceFormat["Text"] = "text";\r
-    TraceFormat["JSON"] = "json";\r
-})(TraceFormat = exports.TraceFormat || (exports.TraceFormat = {}));\r
-(function (TraceFormat) {\r
-    function fromString(value) {\r
-        value = value.toLowerCase();\r
-        if (value === 'json') {\r
-            return TraceFormat.JSON;\r
-        }\r
-        else {\r
-            return TraceFormat.Text;\r
-        }\r
-    }\r
-    TraceFormat.fromString = fromString;\r
-})(TraceFormat = exports.TraceFormat || (exports.TraceFormat = {}));\r
-var SetTraceNotification;\r
-(function (SetTraceNotification) {\r
-    SetTraceNotification.type = new messages_1.NotificationType('$/setTraceNotification');\r
-})(SetTraceNotification = exports.SetTraceNotification || (exports.SetTraceNotification = {}));\r
-var LogTraceNotification;\r
-(function (LogTraceNotification) {\r
-    LogTraceNotification.type = new messages_1.NotificationType('$/logTraceNotification');\r
-})(LogTraceNotification = exports.LogTraceNotification || (exports.LogTraceNotification = {}));\r
-var ConnectionErrors;\r
-(function (ConnectionErrors) {\r
-    /**\r
-     * The connection is closed.\r
-     */\r
-    ConnectionErrors[ConnectionErrors["Closed"] = 1] = "Closed";\r
-    /**\r
-     * The connection got disposed.\r
-     */\r
-    ConnectionErrors[ConnectionErrors["Disposed"] = 2] = "Disposed";\r
-    /**\r
-     * The connection is already in listening mode.\r
-     */\r
-    ConnectionErrors[ConnectionErrors["AlreadyListening"] = 3] = "AlreadyListening";\r
-})(ConnectionErrors = exports.ConnectionErrors || (exports.ConnectionErrors = {}));\r
-class ConnectionError extends Error {\r
-    constructor(code, message) {\r
-        super(message);\r
-        this.code = code;\r
-        Object.setPrototypeOf(this, ConnectionError.prototype);\r
-    }\r
-}\r
-exports.ConnectionError = ConnectionError;\r
-var ConnectionStrategy;\r
-(function (ConnectionStrategy) {\r
-    function is(value) {\r
-        let candidate = value;\r
-        return candidate && Is.func(candidate.cancelUndispatched);\r
-    }\r
-    ConnectionStrategy.is = is;\r
-})(ConnectionStrategy = exports.ConnectionStrategy || (exports.ConnectionStrategy = {}));\r
-var ConnectionState;\r
-(function (ConnectionState) {\r
-    ConnectionState[ConnectionState["New"] = 1] = "New";\r
-    ConnectionState[ConnectionState["Listening"] = 2] = "Listening";\r
-    ConnectionState[ConnectionState["Closed"] = 3] = "Closed";\r
-    ConnectionState[ConnectionState["Disposed"] = 4] = "Disposed";\r
-})(ConnectionState || (ConnectionState = {}));\r
-function _createMessageConnection(messageReader, messageWriter, logger, strategy) {\r
-    let sequenceNumber = 0;\r
-    let notificationSquenceNumber = 0;\r
-    let unknownResponseSquenceNumber = 0;\r
-    const version = '2.0';\r
-    let starRequestHandler = undefined;\r
-    let requestHandlers = Object.create(null);\r
-    let starNotificationHandler = undefined;\r
-    let notificationHandlers = Object.create(null);\r
-    let progressHandlers = new Map();\r
-    let timer;\r
-    let messageQueue = new linkedMap_1.LinkedMap();\r
-    let responsePromises = Object.create(null);\r
-    let requestTokens = Object.create(null);\r
-    let trace = Trace.Off;\r
-    let traceFormat = TraceFormat.Text;\r
-    let tracer;\r
-    let state = ConnectionState.New;\r
-    let errorEmitter = new events_1.Emitter();\r
-    let closeEmitter = new events_1.Emitter();\r
-    let unhandledNotificationEmitter = new events_1.Emitter();\r
-    let unhandledProgressEmitter = new events_1.Emitter();\r
-    let disposeEmitter = new events_1.Emitter();\r
-    function createRequestQueueKey(id) {\r
-        return 'req-' + id.toString();\r
-    }\r
-    function createResponseQueueKey(id) {\r
-        if (id === null) {\r
-            return 'res-unknown-' + (++unknownResponseSquenceNumber).toString();\r
-        }\r
-        else {\r
-            return 'res-' + id.toString();\r
-        }\r
-    }\r
-    function createNotificationQueueKey() {\r
-        return 'not-' + (++notificationSquenceNumber).toString();\r
-    }\r
-    function addMessageToQueue(queue, message) {\r
-        if (messages_1.isRequestMessage(message)) {\r
-            queue.set(createRequestQueueKey(message.id), message);\r
-        }\r
-        else if (messages_1.isResponseMessage(message)) {\r
-            queue.set(createResponseQueueKey(message.id), message);\r
-        }\r
-        else {\r
-            queue.set(createNotificationQueueKey(), message);\r
-        }\r
-    }\r
-    function cancelUndispatched(_message) {\r
-        return undefined;\r
-    }\r
-    function isListening() {\r
-        return state === ConnectionState.Listening;\r
-    }\r
-    function isClosed() {\r
-        return state === ConnectionState.Closed;\r
-    }\r
-    function isDisposed() {\r
-        return state === ConnectionState.Disposed;\r
-    }\r
-    function closeHandler() {\r
-        if (state === ConnectionState.New || state === ConnectionState.Listening) {\r
-            state = ConnectionState.Closed;\r
-            closeEmitter.fire(undefined);\r
-        }\r
-        // If the connection is disposed don't sent close events.\r
-    }\r
-    function readErrorHandler(error) {\r
-        errorEmitter.fire([error, undefined, undefined]);\r
-    }\r
-    function writeErrorHandler(data) {\r
-        errorEmitter.fire(data);\r
-    }\r
-    messageReader.onClose(closeHandler);\r
-    messageReader.onError(readErrorHandler);\r
-    messageWriter.onClose(closeHandler);\r
-    messageWriter.onError(writeErrorHandler);\r
-    function triggerMessageQueue() {\r
-        if (timer || messageQueue.size === 0) {\r
-            return;\r
-        }\r
-        timer = setImmediate(() => {\r
-            timer = undefined;\r
-            processMessageQueue();\r
-        });\r
-    }\r
-    function processMessageQueue() {\r
-        if (messageQueue.size === 0) {\r
-            return;\r
-        }\r
-        let message = messageQueue.shift();\r
-        try {\r
-            if (messages_1.isRequestMessage(message)) {\r
-                handleRequest(message);\r
-            }\r
-            else if (messages_1.isNotificationMessage(message)) {\r
-                handleNotification(message);\r
-            }\r
-            else if (messages_1.isResponseMessage(message)) {\r
-                handleResponse(message);\r
-            }\r
-            else {\r
-                handleInvalidMessage(message);\r
-            }\r
-        }\r
-        finally {\r
-            triggerMessageQueue();\r
-        }\r
-    }\r
-    let callback = (message) => {\r
-        try {\r
-            // We have received a cancellation message. Check if the message is still in the queue\r
-            // and cancel it if allowed to do so.\r
-            if (messages_1.isNotificationMessage(message) && message.method === CancelNotification.type.method) {\r
-                let key = createRequestQueueKey(message.params.id);\r
-                let toCancel = messageQueue.get(key);\r
-                if (messages_1.isRequestMessage(toCancel)) {\r
-                    let response = strategy && strategy.cancelUndispatched ? strategy.cancelUndispatched(toCancel, cancelUndispatched) : cancelUndispatched(toCancel);\r
-                    if (response && (response.error !== void 0 || response.result !== void 0)) {\r
-                        messageQueue.delete(key);\r
-                        response.id = toCancel.id;\r
-                        traceSendingResponse(response, message.method, Date.now());\r
-                        messageWriter.write(response);\r
-                        return;\r
-                    }\r
-                }\r
-            }\r
-            addMessageToQueue(messageQueue, message);\r
-        }\r
-        finally {\r
-            triggerMessageQueue();\r
-        }\r
-    };\r
-    function handleRequest(requestMessage) {\r
-        if (isDisposed()) {\r
-            // we return here silently since we fired an event when the\r
-            // connection got disposed.\r
-            return;\r
-        }\r
-        function reply(resultOrError, method, startTime) {\r
-            let message = {\r
-                jsonrpc: version,\r
-                id: requestMessage.id\r
-            };\r
-            if (resultOrError instanceof messages_1.ResponseError) {\r
-                message.error = resultOrError.toJson();\r
-            }\r
-            else {\r
-                message.result = resultOrError === void 0 ? null : resultOrError;\r
-            }\r
-            traceSendingResponse(message, method, startTime);\r
-            messageWriter.write(message);\r
-        }\r
-        function replyError(error, method, startTime) {\r
-            let message = {\r
-                jsonrpc: version,\r
-                id: requestMessage.id,\r
-                error: error.toJson()\r
-            };\r
-            traceSendingResponse(message, method, startTime);\r
-            messageWriter.write(message);\r
-        }\r
-        function replySuccess(result, method, startTime) {\r
-            // The JSON RPC defines that a response must either have a result or an error\r
-            // So we can't treat undefined as a valid response result.\r
-            if (result === void 0) {\r
-                result = null;\r
-            }\r
-            let message = {\r
-                jsonrpc: version,\r
-                id: requestMessage.id,\r
-                result: result\r
-            };\r
-            traceSendingResponse(message, method, startTime);\r
-            messageWriter.write(message);\r
-        }\r
-        traceReceivedRequest(requestMessage);\r
-        let element = requestHandlers[requestMessage.method];\r
-        let type;\r
-        let requestHandler;\r
-        if (element) {\r
-            type = element.type;\r
-            requestHandler = element.handler;\r
-        }\r
-        let startTime = Date.now();\r
-        if (requestHandler || starRequestHandler) {\r
-            let cancellationSource = new cancellation_1.CancellationTokenSource();\r
-            let tokenKey = String(requestMessage.id);\r
-            requestTokens[tokenKey] = cancellationSource;\r
-            try {\r
-                let handlerResult;\r
-                if (requestMessage.params === void 0 || (type !== void 0 && type.numberOfParams === 0)) {\r
-                    handlerResult = requestHandler\r
-                        ? requestHandler(cancellationSource.token)\r
-                        : starRequestHandler(requestMessage.method, cancellationSource.token);\r
-                }\r
-                else if (Is.array(requestMessage.params) && (type === void 0 || type.numberOfParams > 1)) {\r
-                    handlerResult = requestHandler\r
-                        ? requestHandler(...requestMessage.params, cancellationSource.token)\r
-                        : starRequestHandler(requestMessage.method, ...requestMessage.params, cancellationSource.token);\r
-                }\r
-                else {\r
-                    handlerResult = requestHandler\r
-                        ? requestHandler(requestMessage.params, cancellationSource.token)\r
-                        : starRequestHandler(requestMessage.method, requestMessage.params, cancellationSource.token);\r
-                }\r
-                let promise = handlerResult;\r
-                if (!handlerResult) {\r
-                    delete requestTokens[tokenKey];\r
-                    replySuccess(handlerResult, requestMessage.method, startTime);\r
-                }\r
-                else if (promise.then) {\r
-                    promise.then((resultOrError) => {\r
-                        delete requestTokens[tokenKey];\r
-                        reply(resultOrError, requestMessage.method, startTime);\r
-                    }, error => {\r
-                        delete requestTokens[tokenKey];\r
-                        if (error instanceof messages_1.ResponseError) {\r
-                            replyError(error, requestMessage.method, startTime);\r
-                        }\r
-                        else if (error && Is.string(error.message)) {\r
-                            replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError, `Request ${requestMessage.method} failed with message: ${error.message}`), requestMessage.method, startTime);\r
-                        }\r
-                        else {\r
-                            replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError, `Request ${requestMessage.method} failed unexpectedly without providing any details.`), requestMessage.method, startTime);\r
-                        }\r
-                    });\r
-                }\r
-                else {\r
-                    delete requestTokens[tokenKey];\r
-                    reply(handlerResult, requestMessage.method, startTime);\r
-                }\r
-            }\r
-            catch (error) {\r
-                delete requestTokens[tokenKey];\r
-                if (error instanceof messages_1.ResponseError) {\r
-                    reply(error, requestMessage.method, startTime);\r
-                }\r
-                else if (error && Is.string(error.message)) {\r
-                    replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError, `Request ${requestMessage.method} failed with message: ${error.message}`), requestMessage.method, startTime);\r
-                }\r
-                else {\r
-                    replyError(new messages_1.ResponseError(messages_1.ErrorCodes.InternalError, `Request ${requestMessage.method} failed unexpectedly without providing any details.`), requestMessage.method, startTime);\r
-                }\r
-            }\r
-        }\r
-        else {\r
-            replyError(new messages_1.ResponseError(messages_1.ErrorCodes.MethodNotFound, `Unhandled method ${requestMessage.method}`), requestMessage.method, startTime);\r
-        }\r
-    }\r
-    function handleResponse(responseMessage) {\r
-        if (isDisposed()) {\r
-            // See handle request.\r
-            return;\r
-        }\r
-        if (responseMessage.id === null) {\r
-            if (responseMessage.error) {\r
-                logger.error(`Received response message without id: Error is: \n${JSON.stringify(responseMessage.error, undefined, 4)}`);\r
-            }\r
-            else {\r
-                logger.error(`Received response message without id. No further error information provided.`);\r
-            }\r
-        }\r
-        else {\r
-            let key = String(responseMessage.id);\r
-            let responsePromise = responsePromises[key];\r
-            traceReceivedResponse(responseMessage, responsePromise);\r
-            if (responsePromise) {\r
-                delete responsePromises[key];\r
-                try {\r
-                    if (responseMessage.error) {\r
-                        let error = responseMessage.error;\r
-                        responsePromise.reject(new messages_1.ResponseError(error.code, error.message, error.data));\r
-                    }\r
-                    else if (responseMessage.result !== void 0) {\r
-                        responsePromise.resolve(responseMessage.result);\r
-                    }\r
-                    else {\r
-                        throw new Error('Should never happen.');\r
-                    }\r
-                }\r
-                catch (error) {\r
-                    if (error.message) {\r
-                        logger.error(`Response handler '${responsePromise.method}' failed with message: ${error.message}`);\r
-                    }\r
-                    else {\r
-                        logger.error(`Response handler '${responsePromise.method}' failed unexpectedly.`);\r
-                    }\r
-                }\r
-            }\r
-        }\r
-    }\r
-    function handleNotification(message) {\r
-        if (isDisposed()) {\r
-            // See handle request.\r
-            return;\r
-        }\r
-        let type = undefined;\r
-        let notificationHandler;\r
-        if (message.method === CancelNotification.type.method) {\r
-            notificationHandler = (params) => {\r
-                let id = params.id;\r
-                let source = requestTokens[String(id)];\r
-                if (source) {\r
-                    source.cancel();\r
-                }\r
-            };\r
-        }\r
-        else {\r
-            let element = notificationHandlers[message.method];\r
-            if (element) {\r
-                notificationHandler = element.handler;\r
-                type = element.type;\r
-            }\r
-        }\r
-        if (notificationHandler || starNotificationHandler) {\r
-            try {\r
-                traceReceivedNotification(message);\r
-                if (message.params === void 0 || (type !== void 0 && type.numberOfParams === 0)) {\r
-                    notificationHandler ? notificationHandler() : starNotificationHandler(message.method);\r
-                }\r
-                else if (Is.array(message.params) && (type === void 0 || type.numberOfParams > 1)) {\r
-                    notificationHandler ? notificationHandler(...message.params) : starNotificationHandler(message.method, ...message.params);\r
-                }\r
-                else {\r
-                    notificationHandler ? notificationHandler(message.params) : starNotificationHandler(message.method, message.params);\r
-                }\r
-            }\r
-            catch (error) {\r
-                if (error.message) {\r
-                    logger.error(`Notification handler '${message.method}' failed with message: ${error.message}`);\r
-                }\r
-                else {\r
-                    logger.error(`Notification handler '${message.method}' failed unexpectedly.`);\r
-                }\r
-            }\r
-        }\r
-        else {\r
-            unhandledNotificationEmitter.fire(message);\r
-        }\r
-    }\r
-    function handleInvalidMessage(message) {\r
-        if (!message) {\r
-            logger.error('Received empty message.');\r
-            return;\r
-        }\r
-        logger.error(`Received message which is neither a response nor a notification message:\n${JSON.stringify(message, null, 4)}`);\r
-        // Test whether we find an id to reject the promise\r
-        let responseMessage = message;\r
-        if (Is.string(responseMessage.id) || Is.number(responseMessage.id)) {\r
-            let key = String(responseMessage.id);\r
-            let responseHandler = responsePromises[key];\r
-            if (responseHandler) {\r
-                responseHandler.reject(new Error('The received response has neither a result nor an error property.'));\r
-            }\r
-        }\r
-    }\r
-    function traceSendingRequest(message) {\r
-        if (trace === Trace.Off || !tracer) {\r
-            return;\r
-        }\r
-        if (traceFormat === TraceFormat.Text) {\r
-            let data = undefined;\r
-            if (trace === Trace.Verbose && message.params) {\r
-                data = `Params: ${JSON.stringify(message.params, null, 4)}\n\n`;\r
-            }\r
-            tracer.log(`Sending request '${message.method} - (${message.id})'.`, data);\r
-        }\r
-        else {\r
-            logLSPMessage('send-request', message);\r
-        }\r
-    }\r
-    function traceSendingNotification(message) {\r
-        if (trace === Trace.Off || !tracer) {\r
-            return;\r
-        }\r
-        if (traceFormat === TraceFormat.Text) {\r
-            let data = undefined;\r
-            if (trace === Trace.Verbose) {\r
-                if (message.params) {\r
-                    data = `Params: ${JSON.stringify(message.params, null, 4)}\n\n`;\r
-                }\r
-                else {\r
-                    data = 'No parameters provided.\n\n';\r
-                }\r
-            }\r
-            tracer.log(`Sending notification '${message.method}'.`, data);\r
-        }\r
-        else {\r
-            logLSPMessage('send-notification', message);\r
-        }\r
-    }\r
-    function traceSendingResponse(message, method, startTime) {\r
-        if (trace === Trace.Off || !tracer) {\r
-            return;\r
-        }\r
-        if (traceFormat === TraceFormat.Text) {\r
-            let data = undefined;\r
-            if (trace === Trace.Verbose) {\r
-                if (message.error && message.error.data) {\r
-                    data = `Error data: ${JSON.stringify(message.error.data, null, 4)}\n\n`;\r
-                }\r
-                else {\r
-                    if (message.result) {\r
-                        data = `Result: ${JSON.stringify(message.result, null, 4)}\n\n`;\r
-                    }\r
-                    else if (message.error === void 0) {\r
-                        data = 'No result returned.\n\n';\r
-                    }\r
-                }\r
-            }\r
-            tracer.log(`Sending response '${method} - (${message.id})'. Processing request took ${Date.now() - startTime}ms`, data);\r
-        }\r
-        else {\r
-            logLSPMessage('send-response', message);\r
-        }\r
-    }\r
-    function traceReceivedRequest(message) {\r
-        if (trace === Trace.Off || !tracer) {\r
-            return;\r
-        }\r
-        if (traceFormat === TraceFormat.Text) {\r
-            let data = undefined;\r
-            if (trace === Trace.Verbose && message.params) {\r
-                data = `Params: ${JSON.stringify(message.params, null, 4)}\n\n`;\r
-            }\r
-            tracer.log(`Received request '${message.method} - (${message.id})'.`, data);\r
-        }\r
-        else {\r
-            logLSPMessage('receive-request', message);\r
-        }\r
-    }\r
-    function traceReceivedNotification(message) {\r
-        if (trace === Trace.Off || !tracer || message.method === LogTraceNotification.type.method) {\r
-            return;\r
-        }\r
-        if (traceFormat === TraceFormat.Text) {\r
-            let data = undefined;\r
-            if (trace === Trace.Verbose) {\r
-                if (message.params) {\r
-                    data = `Params: ${JSON.stringify(message.params, null, 4)}\n\n`;\r
-                }\r
-                else {\r
-                    data = 'No parameters provided.\n\n';\r
-                }\r
-            }\r
-            tracer.log(`Received notification '${message.method}'.`, data);\r
-        }\r
-        else {\r
-            logLSPMessage('receive-notification', message);\r
-        }\r
-    }\r
-    function traceReceivedResponse(message, responsePromise) {\r
-        if (trace === Trace.Off || !tracer) {\r
-            return;\r
-        }\r
-        if (traceFormat === TraceFormat.Text) {\r
-            let data = undefined;\r
-            if (trace === Trace.Verbose) {\r
-                if (message.error && message.error.data) {\r
-                    data = `Error data: ${JSON.stringify(message.error.data, null, 4)}\n\n`;\r
-                }\r
-                else {\r
-                    if (message.result) {\r
-                        data = `Result: ${JSON.stringify(message.result, null, 4)}\n\n`;\r
-                    }\r
-                    else if (message.error === void 0) {\r
-                        data = 'No result returned.\n\n';\r
-                    }\r
-                }\r
-            }\r
-            if (responsePromise) {\r
-                let error = message.error ? ` Request failed: ${message.error.message} (${message.error.code}).` : '';\r
-                tracer.log(`Received response '${responsePromise.method} - (${message.id})' in ${Date.now() - responsePromise.timerStart}ms.${error}`, data);\r
-            }\r
-            else {\r
-                tracer.log(`Received response ${message.id} without active response promise.`, data);\r
-            }\r
-        }\r
-        else {\r
-            logLSPMessage('receive-response', message);\r
-        }\r
-    }\r
-    function logLSPMessage(type, message) {\r
-        if (!tracer || trace === Trace.Off) {\r
-            return;\r
-        }\r
-        const lspMessage = {\r
-            isLSPMessage: true,\r
-            type,\r
-            message,\r
-            timestamp: Date.now()\r
-        };\r
-        tracer.log(lspMessage);\r
-    }\r
-    function throwIfClosedOrDisposed() {\r
-        if (isClosed()) {\r
-            throw new ConnectionError(ConnectionErrors.Closed, 'Connection is closed.');\r
-        }\r
-        if (isDisposed()) {\r
-            throw new ConnectionError(ConnectionErrors.Disposed, 'Connection is disposed.');\r
-        }\r
-    }\r
-    function throwIfListening() {\r
-        if (isListening()) {\r
-            throw new ConnectionError(ConnectionErrors.AlreadyListening, 'Connection is already listening');\r
-        }\r
-    }\r
-    function throwIfNotListening() {\r
-        if (!isListening()) {\r
-            throw new Error('Call listen() first.');\r
-        }\r
-    }\r
-    function undefinedToNull(param) {\r
-        if (param === void 0) {\r
-            return null;\r
-        }\r
-        else {\r
-            return param;\r
-        }\r
-    }\r
-    function computeMessageParams(type, params) {\r
-        let result;\r
-        let numberOfParams = type.numberOfParams;\r
-        switch (numberOfParams) {\r
-            case 0:\r
-                result = null;\r
-                break;\r
-            case 1:\r
-                result = undefinedToNull(params[0]);\r
-                break;\r
-            default:\r
-                result = [];\r
-                for (let i = 0; i < params.length && i < numberOfParams; i++) {\r
-                    result.push(undefinedToNull(params[i]));\r
-                }\r
-                if (params.length < numberOfParams) {\r
-                    for (let i = params.length; i < numberOfParams; i++) {\r
-                        result.push(null);\r
-                    }\r
-                }\r
-                break;\r
-        }\r
-        return result;\r
-    }\r
-    let connection = {\r
-        sendNotification: (type, ...params) => {\r
-            throwIfClosedOrDisposed();\r
-            let method;\r
-            let messageParams;\r
-            if (Is.string(type)) {\r
-                method = type;\r
-                switch (params.length) {\r
-                    case 0:\r
-                        messageParams = null;\r
-                        break;\r
-                    case 1:\r
-                        messageParams = params[0];\r
-                        break;\r
-                    default:\r
-                        messageParams = params;\r
-                        break;\r
-                }\r
-            }\r
-            else {\r
-                method = type.method;\r
-                messageParams = computeMessageParams(type, params);\r
-            }\r
-            let notificationMessage = {\r
-                jsonrpc: version,\r
-                method: method,\r
-                params: messageParams\r
-            };\r
-            traceSendingNotification(notificationMessage);\r
-            messageWriter.write(notificationMessage);\r
-        },\r
-        onNotification: (type, handler) => {\r
-            throwIfClosedOrDisposed();\r
-            if (Is.func(type)) {\r
-                starNotificationHandler = type;\r
-            }\r
-            else if (handler) {\r
-                if (Is.string(type)) {\r
-                    notificationHandlers[type] = { type: undefined, handler };\r
-                }\r
-                else {\r
-                    notificationHandlers[type.method] = { type, handler };\r
-                }\r
-            }\r
-        },\r
-        onProgress: (_type, token, handler) => {\r
-            if (progressHandlers.has(token)) {\r
-                throw new Error(`Progress handler for token ${token} already registered`);\r
-            }\r
-            progressHandlers.set(token, handler);\r
-            return {\r
-                dispose: () => {\r
-                    progressHandlers.delete(token);\r
-                }\r
-            };\r
-        },\r
-        sendProgress: (_type, token, value) => {\r
-            connection.sendNotification(ProgressNotification.type, { token, value });\r
-        },\r
-        onUnhandledProgress: unhandledProgressEmitter.event,\r
-        sendRequest: (type, ...params) => {\r
-            throwIfClosedOrDisposed();\r
-            throwIfNotListening();\r
-            let method;\r
-            let messageParams;\r
-            let token = undefined;\r
-            if (Is.string(type)) {\r
-                method = type;\r
-                switch (params.length) {\r
-                    case 0:\r
-                        messageParams = null;\r
-                        break;\r
-                    case 1:\r
-                        // The cancellation token is optional so it can also be undefined.\r
-                        if (cancellation_1.CancellationToken.is(params[0])) {\r
-                            messageParams = null;\r
-                            token = params[0];\r
-                        }\r
-                        else {\r
-                            messageParams = undefinedToNull(params[0]);\r
-                        }\r
-                        break;\r
-                    default:\r
-                        const last = params.length - 1;\r
-                        if (cancellation_1.CancellationToken.is(params[last])) {\r
-                            token = params[last];\r
-                            if (params.length === 2) {\r
-                                messageParams = undefinedToNull(params[0]);\r
-                            }\r
-                            else {\r
-                                messageParams = params.slice(0, last).map(value => undefinedToNull(value));\r
-                            }\r
-                        }\r
-                        else {\r
-                            messageParams = params.map(value => undefinedToNull(value));\r
-                        }\r
-                        break;\r
-                }\r
-            }\r
-            else {\r
-                method = type.method;\r
-                messageParams = computeMessageParams(type, params);\r
-                let numberOfParams = type.numberOfParams;\r
-                token = cancellation_1.CancellationToken.is(params[numberOfParams]) ? params[numberOfParams] : undefined;\r
-            }\r
-            let id = sequenceNumber++;\r
-            let result = new Promise((resolve, reject) => {\r
-                let requestMessage = {\r
-                    jsonrpc: version,\r
-                    id: id,\r
-                    method: method,\r
-                    params: messageParams\r
-                };\r
-                let responsePromise = { method: method, timerStart: Date.now(), resolve, reject };\r
-                traceSendingRequest(requestMessage);\r
-                try {\r
-                    messageWriter.write(requestMessage);\r
-                }\r
-                catch (e) {\r
-                    // Writing the message failed. So we need to reject the promise.\r
-                    responsePromise.reject(new messages_1.ResponseError(messages_1.ErrorCodes.MessageWriteError, e.message ? e.message : 'Unknown reason'));\r
-                    responsePromise = null;\r
-                }\r
-                if (responsePromise) {\r
-                    responsePromises[String(id)] = responsePromise;\r
-                }\r
-            });\r
-            if (token) {\r
-                token.onCancellationRequested(() => {\r
-                    connection.sendNotification(CancelNotification.type, { id });\r
-                });\r
-            }\r
-            return result;\r
-        },\r
-        onRequest: (type, handler) => {\r
-            throwIfClosedOrDisposed();\r
-            if (Is.func(type)) {\r
-                starRequestHandler = type;\r
-            }\r
-            else if (handler) {\r
-                if (Is.string(type)) {\r
-                    requestHandlers[type] = { type: undefined, handler };\r
-                }\r
-                else {\r
-                    requestHandlers[type.method] = { type, handler };\r
-                }\r
-            }\r
-        },\r
-        trace: (_value, _tracer, sendNotificationOrTraceOptions) => {\r
-            let _sendNotification = false;\r
-            let _traceFormat = TraceFormat.Text;\r
-            if (sendNotificationOrTraceOptions !== void 0) {\r
-                if (Is.boolean(sendNotificationOrTraceOptions)) {\r
-                    _sendNotification = sendNotificationOrTraceOptions;\r
-                }\r
-                else {\r
-                    _sendNotification = sendNotificationOrTraceOptions.sendNotification || false;\r
-                    _traceFormat = sendNotificationOrTraceOptions.traceFormat || TraceFormat.Text;\r
-                }\r
-            }\r
-            trace = _value;\r
-            traceFormat = _traceFormat;\r
-            if (trace === Trace.Off) {\r
-                tracer = undefined;\r
-            }\r
-            else {\r
-                tracer = _tracer;\r
-            }\r
-            if (_sendNotification && !isClosed() && !isDisposed()) {\r
-                connection.sendNotification(SetTraceNotification.type, { value: Trace.toString(_value) });\r
-            }\r
-        },\r
-        onError: errorEmitter.event,\r
-        onClose: closeEmitter.event,\r
-        onUnhandledNotification: unhandledNotificationEmitter.event,\r
-        onDispose: disposeEmitter.event,\r
-        dispose: () => {\r
-            if (isDisposed()) {\r
-                return;\r
-            }\r
-            state = ConnectionState.Disposed;\r
-            disposeEmitter.fire(undefined);\r
-            let error = new Error('Connection got disposed.');\r
-            Object.keys(responsePromises).forEach((key) => {\r
-                responsePromises[key].reject(error);\r
-            });\r
-            responsePromises = Object.create(null);\r
-            requestTokens = Object.create(null);\r
-            messageQueue = new linkedMap_1.LinkedMap();\r
-            // Test for backwards compatibility\r
-            if (Is.func(messageWriter.dispose)) {\r
-                messageWriter.dispose();\r
-            }\r
-            if (Is.func(messageReader.dispose)) {\r
-                messageReader.dispose();\r
-            }\r
-        },\r
-        listen: () => {\r
-            throwIfClosedOrDisposed();\r
-            throwIfListening();\r
-            state = ConnectionState.Listening;\r
-            messageReader.listen(callback);\r
-        },\r
-        inspect: () => {\r
-            // eslint-disable-next-line no-console\r
-            console.log('inspect');\r
-        }\r
-    };\r
-    connection.onNotification(LogTraceNotification.type, (params) => {\r
-        if (trace === Trace.Off || !tracer) {\r
-            return;\r
-        }\r
-        tracer.log(params.message, trace === Trace.Verbose ? params.verbose : undefined);\r
-    });\r
-    connection.onNotification(ProgressNotification.type, (params) => {\r
-        const handler = progressHandlers.get(params.token);\r
-        if (handler) {\r
-            handler(params.value);\r
-        }\r
-        else {\r
-            unhandledProgressEmitter.fire(params);\r
-        }\r
-    });\r
-    return connection;\r
-}\r
-function isMessageReader(value) {\r
-    return value.listen !== void 0 && value.read === void 0;\r
-}\r
-function isMessageWriter(value) {\r
-    return value.write !== void 0 && value.end === void 0;\r
-}\r
-function createMessageConnection(input, output, logger, strategy) {\r
-    if (!logger) {\r
-        logger = exports.NullLogger;\r
-    }\r
-    let reader = isMessageReader(input) ? input : new messageReader_1.StreamMessageReader(input);\r
-    let writer = isMessageWriter(output) ? output : new messageWriter_1.StreamMessageWriter(output);\r
-    return _createMessageConnection(reader, writer, logger, strategy);\r
-}\r
-exports.createMessageConnection = createMessageConnection;\r
-
-
-/***/ }),
-/* 6 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-function boolean(value) {\r
-    return value === true || value === false;\r
-}\r
-exports.boolean = boolean;\r
-function string(value) {\r
-    return typeof value === 'string' || value instanceof String;\r
-}\r
-exports.string = string;\r
-function number(value) {\r
-    return typeof value === 'number' || value instanceof Number;\r
-}\r
-exports.number = number;\r
-function error(value) {\r
-    return value instanceof Error;\r
-}\r
-exports.error = error;\r
-function func(value) {\r
-    return typeof value === 'function';\r
-}\r
-exports.func = func;\r
-function array(value) {\r
-    return Array.isArray(value);\r
-}\r
-exports.array = array;\r
-function stringArray(value) {\r
-    return array(value) && value.every(elem => string(elem));\r
-}\r
-exports.stringArray = stringArray;\r
-
-
-/***/ }),
-/* 7 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const is = __webpack_require__(6);\r
-/**\r
- * Predefined error codes.\r
- */\r
-var ErrorCodes;\r
-(function (ErrorCodes) {\r
-    // Defined by JSON RPC\r
-    ErrorCodes.ParseError = -32700;\r
-    ErrorCodes.InvalidRequest = -32600;\r
-    ErrorCodes.MethodNotFound = -32601;\r
-    ErrorCodes.InvalidParams = -32602;\r
-    ErrorCodes.InternalError = -32603;\r
-    ErrorCodes.serverErrorStart = -32099;\r
-    ErrorCodes.serverErrorEnd = -32000;\r
-    ErrorCodes.ServerNotInitialized = -32002;\r
-    ErrorCodes.UnknownErrorCode = -32001;\r
-    // Defined by the protocol.\r
-    ErrorCodes.RequestCancelled = -32800;\r
-    ErrorCodes.ContentModified = -32801;\r
-    // Defined by VSCode library.\r
-    ErrorCodes.MessageWriteError = 1;\r
-    ErrorCodes.MessageReadError = 2;\r
-})(ErrorCodes = exports.ErrorCodes || (exports.ErrorCodes = {}));\r
-/**\r
- * An error object return in a response in case a request\r
- * has failed.\r
- */\r
-class ResponseError extends Error {\r
-    constructor(code, message, data) {\r
-        super(message);\r
-        this.code = is.number(code) ? code : ErrorCodes.UnknownErrorCode;\r
-        this.data = data;\r
-        Object.setPrototypeOf(this, ResponseError.prototype);\r
-    }\r
-    toJson() {\r
-        return {\r
-            code: this.code,\r
-            message: this.message,\r
-            data: this.data,\r
-        };\r
-    }\r
-}\r
-exports.ResponseError = ResponseError;\r
-/**\r
- * An abstract implementation of a MessageType.\r
- */\r
-class AbstractMessageType {\r
-    constructor(_method, _numberOfParams) {\r
-        this._method = _method;\r
-        this._numberOfParams = _numberOfParams;\r
-    }\r
-    get method() {\r
-        return this._method;\r
-    }\r
-    get numberOfParams() {\r
-        return this._numberOfParams;\r
-    }\r
-}\r
-exports.AbstractMessageType = AbstractMessageType;\r
-/**\r
- * Classes to type request response pairs\r
- *\r
- * The type parameter RO will be removed in the next major version\r
- * of the JSON RPC library since it is a LSP concept and doesn't\r
- * belong here. For now it is tagged as default never.\r
- */\r
-class RequestType0 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 0);\r
-    }\r
-}\r
-exports.RequestType0 = RequestType0;\r
-class RequestType extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 1);\r
-    }\r
-}\r
-exports.RequestType = RequestType;\r
-class RequestType1 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 1);\r
-    }\r
-}\r
-exports.RequestType1 = RequestType1;\r
-class RequestType2 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 2);\r
-    }\r
-}\r
-exports.RequestType2 = RequestType2;\r
-class RequestType3 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 3);\r
-    }\r
-}\r
-exports.RequestType3 = RequestType3;\r
-class RequestType4 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 4);\r
-    }\r
-}\r
-exports.RequestType4 = RequestType4;\r
-class RequestType5 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 5);\r
-    }\r
-}\r
-exports.RequestType5 = RequestType5;\r
-class RequestType6 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 6);\r
-    }\r
-}\r
-exports.RequestType6 = RequestType6;\r
-class RequestType7 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 7);\r
-    }\r
-}\r
-exports.RequestType7 = RequestType7;\r
-class RequestType8 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 8);\r
-    }\r
-}\r
-exports.RequestType8 = RequestType8;\r
-class RequestType9 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 9);\r
-    }\r
-}\r
-exports.RequestType9 = RequestType9;\r
-/**\r
- * The type parameter RO will be removed in the next major version\r
- * of the JSON RPC library since it is a LSP concept and doesn't\r
- * belong here. For now it is tagged as default never.\r
- */\r
-class NotificationType extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 1);\r
-        this._ = undefined;\r
-    }\r
-}\r
-exports.NotificationType = NotificationType;\r
-class NotificationType0 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 0);\r
-    }\r
-}\r
-exports.NotificationType0 = NotificationType0;\r
-class NotificationType1 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 1);\r
-    }\r
-}\r
-exports.NotificationType1 = NotificationType1;\r
-class NotificationType2 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 2);\r
-    }\r
-}\r
-exports.NotificationType2 = NotificationType2;\r
-class NotificationType3 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 3);\r
-    }\r
-}\r
-exports.NotificationType3 = NotificationType3;\r
-class NotificationType4 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 4);\r
-    }\r
-}\r
-exports.NotificationType4 = NotificationType4;\r
-class NotificationType5 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 5);\r
-    }\r
-}\r
-exports.NotificationType5 = NotificationType5;\r
-class NotificationType6 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 6);\r
-    }\r
-}\r
-exports.NotificationType6 = NotificationType6;\r
-class NotificationType7 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 7);\r
-    }\r
-}\r
-exports.NotificationType7 = NotificationType7;\r
-class NotificationType8 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 8);\r
-    }\r
-}\r
-exports.NotificationType8 = NotificationType8;\r
-class NotificationType9 extends AbstractMessageType {\r
-    constructor(method) {\r
-        super(method, 9);\r
-    }\r
-}\r
-exports.NotificationType9 = NotificationType9;\r
-/**\r
- * Tests if the given message is a request message\r
- */\r
-function isRequestMessage(message) {\r
-    let candidate = message;\r
-    return candidate && is.string(candidate.method) && (is.string(candidate.id) || is.number(candidate.id));\r
-}\r
-exports.isRequestMessage = isRequestMessage;\r
-/**\r
- * Tests if the given message is a notification message\r
- */\r
-function isNotificationMessage(message) {\r
-    let candidate = message;\r
-    return candidate && is.string(candidate.method) && message.id === void 0;\r
-}\r
-exports.isNotificationMessage = isNotificationMessage;\r
-/**\r
- * Tests if the given message is a response message\r
- */\r
-function isResponseMessage(message) {\r
-    let candidate = message;\r
-    return candidate && (candidate.result !== void 0 || !!candidate.error) && (is.string(candidate.id) || is.number(candidate.id) || candidate.id === null);\r
-}\r
-exports.isResponseMessage = isResponseMessage;\r
-
-
-/***/ }),
-/* 8 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const events_1 = __webpack_require__(9);\r
-const Is = __webpack_require__(6);\r
-let DefaultSize = 8192;\r
-let CR = Buffer.from('\r', 'ascii')[0];\r
-let LF = Buffer.from('\n', 'ascii')[0];\r
-let CRLF = '\r\n';\r
-class MessageBuffer {\r
-    constructor(encoding = 'utf8') {\r
-        this.encoding = encoding;\r
-        this.index = 0;\r
-        this.buffer = Buffer.allocUnsafe(DefaultSize);\r
-    }\r
-    append(chunk) {\r
-        var toAppend = chunk;\r
-        if (typeof (chunk) === 'string') {\r
-            var str = chunk;\r
-            var bufferLen = Buffer.byteLength(str, this.encoding);\r
-            toAppend = Buffer.allocUnsafe(bufferLen);\r
-            toAppend.write(str, 0, bufferLen, this.encoding);\r
-        }\r
-        if (this.buffer.length - this.index >= toAppend.length) {\r
-            toAppend.copy(this.buffer, this.index, 0, toAppend.length);\r
-        }\r
-        else {\r
-            var newSize = (Math.ceil((this.index + toAppend.length) / DefaultSize) + 1) * DefaultSize;\r
-            if (this.index === 0) {\r
-                this.buffer = Buffer.allocUnsafe(newSize);\r
-                toAppend.copy(this.buffer, 0, 0, toAppend.length);\r
-            }\r
-            else {\r
-                this.buffer = Buffer.concat([this.buffer.slice(0, this.index), toAppend], newSize);\r
-            }\r
-        }\r
-        this.index += toAppend.length;\r
-    }\r
-    tryReadHeaders() {\r
-        let result = undefined;\r
-        let current = 0;\r
-        while (current + 3 < this.index && (this.buffer[current] !== CR || this.buffer[current + 1] !== LF || this.buffer[current + 2] !== CR || this.buffer[current + 3] !== LF)) {\r
-            current++;\r
-        }\r
-        // No header / body separator found (e.g CRLFCRLF)\r
-        if (current + 3 >= this.index) {\r
-            return result;\r
-        }\r
-        result = Object.create(null);\r
-        let headers = this.buffer.toString('ascii', 0, current).split(CRLF);\r
-        headers.forEach((header) => {\r
-            let index = header.indexOf(':');\r
-            if (index === -1) {\r
-                throw new Error('Message header must separate key and value using :');\r
-            }\r
-            let key = header.substr(0, index);\r
-            let value = header.substr(index + 1).trim();\r
-            result[key] = value;\r
-        });\r
-        let nextStart = current + 4;\r
-        this.buffer = this.buffer.slice(nextStart);\r
-        this.index = this.index - nextStart;\r
-        return result;\r
-    }\r
-    tryReadContent(length) {\r
-        if (this.index < length) {\r
-            return null;\r
-        }\r
-        let result = this.buffer.toString(this.encoding, 0, length);\r
-        let nextStart = length;\r
-        this.buffer.copy(this.buffer, 0, nextStart);\r
-        this.index = this.index - nextStart;\r
-        return result;\r
-    }\r
-    get numberOfBytes() {\r
-        return this.index;\r
-    }\r
-}\r
-var MessageReader;\r
-(function (MessageReader) {\r
-    function is(value) {\r
-        let candidate = value;\r
-        return candidate && Is.func(candidate.listen) && Is.func(candidate.dispose) &&\r
-            Is.func(candidate.onError) && Is.func(candidate.onClose) && Is.func(candidate.onPartialMessage);\r
-    }\r
-    MessageReader.is = is;\r
-})(MessageReader = exports.MessageReader || (exports.MessageReader = {}));\r
-class AbstractMessageReader {\r
-    constructor() {\r
-        this.errorEmitter = new events_1.Emitter();\r
-        this.closeEmitter = new events_1.Emitter();\r
-        this.partialMessageEmitter = new events_1.Emitter();\r
-    }\r
-    dispose() {\r
-        this.errorEmitter.dispose();\r
-        this.closeEmitter.dispose();\r
-    }\r
-    get onError() {\r
-        return this.errorEmitter.event;\r
-    }\r
-    fireError(error) {\r
-        this.errorEmitter.fire(this.asError(error));\r
-    }\r
-    get onClose() {\r
-        return this.closeEmitter.event;\r
-    }\r
-    fireClose() {\r
-        this.closeEmitter.fire(undefined);\r
-    }\r
-    get onPartialMessage() {\r
-        return this.partialMessageEmitter.event;\r
-    }\r
-    firePartialMessage(info) {\r
-        this.partialMessageEmitter.fire(info);\r
-    }\r
-    asError(error) {\r
-        if (error instanceof Error) {\r
-            return error;\r
-        }\r
-        else {\r
-            return new Error(`Reader received error. Reason: ${Is.string(error.message) ? error.message : 'unknown'}`);\r
-        }\r
-    }\r
-}\r
-exports.AbstractMessageReader = AbstractMessageReader;\r
-class StreamMessageReader extends AbstractMessageReader {\r
-    constructor(readable, encoding = 'utf8') {\r
-        super();\r
-        this.readable = readable;\r
-        this.buffer = new MessageBuffer(encoding);\r
-        this._partialMessageTimeout = 10000;\r
-    }\r
-    set partialMessageTimeout(timeout) {\r
-        this._partialMessageTimeout = timeout;\r
-    }\r
-    get partialMessageTimeout() {\r
-        return this._partialMessageTimeout;\r
-    }\r
-    listen(callback) {\r
-        this.nextMessageLength = -1;\r
-        this.messageToken = 0;\r
-        this.partialMessageTimer = undefined;\r
-        this.callback = callback;\r
-        this.readable.on('data', (data) => {\r
-            this.onData(data);\r
-        });\r
-        this.readable.on('error', (error) => this.fireError(error));\r
-        this.readable.on('close', () => this.fireClose());\r
-    }\r
-    onData(data) {\r
-        this.buffer.append(data);\r
-        while (true) {\r
-            if (this.nextMessageLength === -1) {\r
-                let headers = this.buffer.tryReadHeaders();\r
-                if (!headers) {\r
-                    return;\r
-                }\r
-                let contentLength = headers['Content-Length'];\r
-                if (!contentLength) {\r
-                    throw new Error('Header must provide a Content-Length property.');\r
-                }\r
-                let length = parseInt(contentLength);\r
-                if (isNaN(length)) {\r
-                    throw new Error('Content-Length value must be a number.');\r
-                }\r
-                this.nextMessageLength = length;\r
-                // Take the encoding form the header. For compatibility\r
-                // treat both utf-8 and utf8 as node utf8\r
-            }\r
-            var msg = this.buffer.tryReadContent(this.nextMessageLength);\r
-            if (msg === null) {\r
-                /** We haven't received the full message yet. */\r
-                this.setPartialMessageTimer();\r
-                return;\r
-            }\r
-            this.clearPartialMessageTimer();\r
-            this.nextMessageLength = -1;\r
-            this.messageToken++;\r
-            var json = JSON.parse(msg);\r
-            this.callback(json);\r
-        }\r
-    }\r
-    clearPartialMessageTimer() {\r
-        if (this.partialMessageTimer) {\r
-            clearTimeout(this.partialMessageTimer);\r
-            this.partialMessageTimer = undefined;\r
-        }\r
-    }\r
-    setPartialMessageTimer() {\r
-        this.clearPartialMessageTimer();\r
-        if (this._partialMessageTimeout <= 0) {\r
-            return;\r
-        }\r
-        this.partialMessageTimer = setTimeout((token, timeout) => {\r
-            this.partialMessageTimer = undefined;\r
-            if (token === this.messageToken) {\r
-                this.firePartialMessage({ messageToken: token, waitingTime: timeout });\r
-                this.setPartialMessageTimer();\r
-            }\r
-        }, this._partialMessageTimeout, this.messageToken, this._partialMessageTimeout);\r
-    }\r
-}\r
-exports.StreamMessageReader = StreamMessageReader;\r
-class IPCMessageReader extends AbstractMessageReader {\r
-    constructor(process) {\r
-        super();\r
-        this.process = process;\r
-        let eventEmitter = this.process;\r
-        eventEmitter.on('error', (error) => this.fireError(error));\r
-        eventEmitter.on('close', () => this.fireClose());\r
-    }\r
-    listen(callback) {\r
-        this.process.on('message', callback);\r
-    }\r
-}\r
-exports.IPCMessageReader = IPCMessageReader;\r
-class SocketMessageReader extends StreamMessageReader {\r
-    constructor(socket, encoding = 'utf-8') {\r
-        super(socket, encoding);\r
-    }\r
-}\r
-exports.SocketMessageReader = SocketMessageReader;\r
-
-
-/***/ }),
-/* 9 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-var Disposable;\r
-(function (Disposable) {\r
-    function create(func) {\r
-        return {\r
-            dispose: func\r
-        };\r
-    }\r
-    Disposable.create = create;\r
-})(Disposable = exports.Disposable || (exports.Disposable = {}));\r
-var Event;\r
-(function (Event) {\r
-    const _disposable = { dispose() { } };\r
-    Event.None = function () { return _disposable; };\r
-})(Event = exports.Event || (exports.Event = {}));\r
-class CallbackList {\r
-    add(callback, context = null, bucket) {\r
-        if (!this._callbacks) {\r
-            this._callbacks = [];\r
-            this._contexts = [];\r
-        }\r
-        this._callbacks.push(callback);\r
-        this._contexts.push(context);\r
-        if (Array.isArray(bucket)) {\r
-            bucket.push({ dispose: () => this.remove(callback, context) });\r
-        }\r
-    }\r
-    remove(callback, context = null) {\r
-        if (!this._callbacks) {\r
-            return;\r
-        }\r
-        var foundCallbackWithDifferentContext = false;\r
-        for (var i = 0, len = this._callbacks.length; i < len; i++) {\r
-            if (this._callbacks[i] === callback) {\r
-                if (this._contexts[i] === context) {\r
-                    // callback & context match => remove it\r
-                    this._callbacks.splice(i, 1);\r
-                    this._contexts.splice(i, 1);\r
-                    return;\r
-                }\r
-                else {\r
-                    foundCallbackWithDifferentContext = true;\r
-                }\r
-            }\r
-        }\r
-        if (foundCallbackWithDifferentContext) {\r
-            throw new Error('When adding a listener with a context, you should remove it with the same context');\r
-        }\r
-    }\r
-    invoke(...args) {\r
-        if (!this._callbacks) {\r
-            return [];\r
-        }\r
-        var ret = [], callbacks = this._callbacks.slice(0), contexts = this._contexts.slice(0);\r
-        for (var i = 0, len = callbacks.length; i < len; i++) {\r
-            try {\r
-                ret.push(callbacks[i].apply(contexts[i], args));\r
-            }\r
-            catch (e) {\r
-                // eslint-disable-next-line no-console\r
-                console.error(e);\r
-            }\r
-        }\r
-        return ret;\r
-    }\r
-    isEmpty() {\r
-        return !this._callbacks || this._callbacks.length === 0;\r
-    }\r
-    dispose() {\r
-        this._callbacks = undefined;\r
-        this._contexts = undefined;\r
-    }\r
-}\r
-class Emitter {\r
-    constructor(_options) {\r
-        this._options = _options;\r
-    }\r
-    /**\r
-     * For the public to allow to subscribe\r
-     * to events from this Emitter\r
-     */\r
-    get event() {\r
-        if (!this._event) {\r
-            this._event = (listener, thisArgs, disposables) => {\r
-                if (!this._callbacks) {\r
-                    this._callbacks = new CallbackList();\r
-                }\r
-                if (this._options && this._options.onFirstListenerAdd && this._callbacks.isEmpty()) {\r
-                    this._options.onFirstListenerAdd(this);\r
-                }\r
-                this._callbacks.add(listener, thisArgs);\r
-                let result;\r
-                result = {\r
-                    dispose: () => {\r
-                        this._callbacks.remove(listener, thisArgs);\r
-                        result.dispose = Emitter._noop;\r
-                        if (this._options && this._options.onLastListenerRemove && this._callbacks.isEmpty()) {\r
-                            this._options.onLastListenerRemove(this);\r
-                        }\r
-                    }\r
-                };\r
-                if (Array.isArray(disposables)) {\r
-                    disposables.push(result);\r
-                }\r
-                return result;\r
-            };\r
-        }\r
-        return this._event;\r
-    }\r
-    /**\r
-     * To be kept private to fire an event to\r
-     * subscribers\r
-     */\r
-    fire(event) {\r
-        if (this._callbacks) {\r
-            this._callbacks.invoke.call(this._callbacks, event);\r
-        }\r
-    }\r
-    dispose() {\r
-        if (this._callbacks) {\r
-            this._callbacks.dispose();\r
-            this._callbacks = undefined;\r
-        }\r
-    }\r
-}\r
-exports.Emitter = Emitter;\r
-Emitter._noop = function () { };\r
-
-
-/***/ }),
-/* 10 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const events_1 = __webpack_require__(9);\r
-const Is = __webpack_require__(6);\r
-let ContentLength = 'Content-Length: ';\r
-let CRLF = '\r\n';\r
-var MessageWriter;\r
-(function (MessageWriter) {\r
-    function is(value) {\r
-        let candidate = value;\r
-        return candidate && Is.func(candidate.dispose) && Is.func(candidate.onClose) &&\r
-            Is.func(candidate.onError) && Is.func(candidate.write);\r
-    }\r
-    MessageWriter.is = is;\r
-})(MessageWriter = exports.MessageWriter || (exports.MessageWriter = {}));\r
-class AbstractMessageWriter {\r
-    constructor() {\r
-        this.errorEmitter = new events_1.Emitter();\r
-        this.closeEmitter = new events_1.Emitter();\r
-    }\r
-    dispose() {\r
-        this.errorEmitter.dispose();\r
-        this.closeEmitter.dispose();\r
-    }\r
-    get onError() {\r
-        return this.errorEmitter.event;\r
-    }\r
-    fireError(error, message, count) {\r
-        this.errorEmitter.fire([this.asError(error), message, count]);\r
-    }\r
-    get onClose() {\r
-        return this.closeEmitter.event;\r
-    }\r
-    fireClose() {\r
-        this.closeEmitter.fire(undefined);\r
-    }\r
-    asError(error) {\r
-        if (error instanceof Error) {\r
-            return error;\r
-        }\r
-        else {\r
-            return new Error(`Writer received error. Reason: ${Is.string(error.message) ? error.message : 'unknown'}`);\r
-        }\r
-    }\r
-}\r
-exports.AbstractMessageWriter = AbstractMessageWriter;\r
-class StreamMessageWriter extends AbstractMessageWriter {\r
-    constructor(writable, encoding = 'utf8') {\r
-        super();\r
-        this.writable = writable;\r
-        this.encoding = encoding;\r
-        this.errorCount = 0;\r
-        this.writable.on('error', (error) => this.fireError(error));\r
-        this.writable.on('close', () => this.fireClose());\r
-    }\r
-    write(msg) {\r
-        let json = JSON.stringify(msg);\r
-        let contentLength = Buffer.byteLength(json, this.encoding);\r
-        let headers = [\r
-            ContentLength, contentLength.toString(), CRLF,\r
-            CRLF\r
-        ];\r
-        try {\r
-            // Header must be written in ASCII encoding\r
-            this.writable.write(headers.join(''), 'ascii');\r
-            // Now write the content. This can be written in any encoding\r
-            this.writable.write(json, this.encoding);\r
-            this.errorCount = 0;\r
-        }\r
-        catch (error) {\r
-            this.errorCount++;\r
-            this.fireError(error, msg, this.errorCount);\r
-        }\r
-    }\r
-}\r
-exports.StreamMessageWriter = StreamMessageWriter;\r
-class IPCMessageWriter extends AbstractMessageWriter {\r
-    constructor(process) {\r
-        super();\r
-        this.process = process;\r
-        this.errorCount = 0;\r
-        this.queue = [];\r
-        this.sending = false;\r
-        let eventEmitter = this.process;\r
-        eventEmitter.on('error', (error) => this.fireError(error));\r
-        eventEmitter.on('close', () => this.fireClose);\r
-    }\r
-    write(msg) {\r
-        if (!this.sending && this.queue.length === 0) {\r
-            // See https://github.com/nodejs/node/issues/7657\r
-            this.doWriteMessage(msg);\r
-        }\r
-        else {\r
-            this.queue.push(msg);\r
-        }\r
-    }\r
-    doWriteMessage(msg) {\r
-        try {\r
-            if (this.process.send) {\r
-                this.sending = true;\r
-                this.process.send(msg, undefined, undefined, (error) => {\r
-                    this.sending = false;\r
-                    if (error) {\r
-                        this.errorCount++;\r
-                        this.fireError(error, msg, this.errorCount);\r
-                    }\r
-                    else {\r
-                        this.errorCount = 0;\r
-                    }\r
-                    if (this.queue.length > 0) {\r
-                        this.doWriteMessage(this.queue.shift());\r
-                    }\r
-                });\r
-            }\r
-        }\r
-        catch (error) {\r
-            this.errorCount++;\r
-            this.fireError(error, msg, this.errorCount);\r
-        }\r
-    }\r
-}\r
-exports.IPCMessageWriter = IPCMessageWriter;\r
-class SocketMessageWriter extends AbstractMessageWriter {\r
-    constructor(socket, encoding = 'utf8') {\r
-        super();\r
-        this.socket = socket;\r
-        this.queue = [];\r
-        this.sending = false;\r
-        this.encoding = encoding;\r
-        this.errorCount = 0;\r
-        this.socket.on('error', (error) => this.fireError(error));\r
-        this.socket.on('close', () => this.fireClose());\r
-    }\r
-    dispose() {\r
-        super.dispose();\r
-        this.socket.destroy();\r
-    }\r
-    write(msg) {\r
-        if (!this.sending && this.queue.length === 0) {\r
-            // See https://github.com/nodejs/node/issues/7657\r
-            this.doWriteMessage(msg);\r
-        }\r
-        else {\r
-            this.queue.push(msg);\r
-        }\r
-    }\r
-    doWriteMessage(msg) {\r
-        let json = JSON.stringify(msg);\r
-        let contentLength = Buffer.byteLength(json, this.encoding);\r
-        let headers = [\r
-            ContentLength, contentLength.toString(), CRLF,\r
-            CRLF\r
-        ];\r
-        try {\r
-            // Header must be written in ASCII encoding\r
-            this.sending = true;\r
-            this.socket.write(headers.join(''), 'ascii', (error) => {\r
-                if (error) {\r
-                    this.handleError(error, msg);\r
-                }\r
-                try {\r
-                    // Now write the content. This can be written in any encoding\r
-                    this.socket.write(json, this.encoding, (error) => {\r
-                        this.sending = false;\r
-                        if (error) {\r
-                            this.handleError(error, msg);\r
-                        }\r
-                        else {\r
-                            this.errorCount = 0;\r
-                        }\r
-                        if (this.queue.length > 0) {\r
-                            this.doWriteMessage(this.queue.shift());\r
-                        }\r
-                    });\r
-                }\r
-                catch (error) {\r
-                    this.handleError(error, msg);\r
-                }\r
-            });\r
-        }\r
-        catch (error) {\r
-            this.handleError(error, msg);\r
-        }\r
-    }\r
-    handleError(error, msg) {\r
-        this.errorCount++;\r
-        this.fireError(error, msg, this.errorCount);\r
-    }\r
-}\r
-exports.SocketMessageWriter = SocketMessageWriter;\r
-
-
-/***/ }),
-/* 11 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/*---------------------------------------------------------------------------------------------\r
- *  Copyright (c) Microsoft Corporation. All rights reserved.\r
- *  Licensed under the MIT License. See License.txt in the project root for license information.\r
- *--------------------------------------------------------------------------------------------*/\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const events_1 = __webpack_require__(9);\r
-const Is = __webpack_require__(6);\r
-var CancellationToken;\r
-(function (CancellationToken) {\r
-    CancellationToken.None = Object.freeze({\r
-        isCancellationRequested: false,\r
-        onCancellationRequested: events_1.Event.None\r
-    });\r
-    CancellationToken.Cancelled = Object.freeze({\r
-        isCancellationRequested: true,\r
-        onCancellationRequested: events_1.Event.None\r
-    });\r
-    function is(value) {\r
-        let candidate = value;\r
-        return candidate && (candidate === CancellationToken.None\r
-            || candidate === CancellationToken.Cancelled\r
-            || (Is.boolean(candidate.isCancellationRequested) && !!candidate.onCancellationRequested));\r
-    }\r
-    CancellationToken.is = is;\r
-})(CancellationToken = exports.CancellationToken || (exports.CancellationToken = {}));\r
-const shortcutEvent = Object.freeze(function (callback, context) {\r
-    let handle = setTimeout(callback.bind(context), 0);\r
-    return { dispose() { clearTimeout(handle); } };\r
-});\r
-class MutableToken {\r
-    constructor() {\r
-        this._isCancelled = false;\r
-    }\r
-    cancel() {\r
-        if (!this._isCancelled) {\r
-            this._isCancelled = true;\r
-            if (this._emitter) {\r
-                this._emitter.fire(undefined);\r
-                this.dispose();\r
-            }\r
-        }\r
-    }\r
-    get isCancellationRequested() {\r
-        return this._isCancelled;\r
-    }\r
-    get onCancellationRequested() {\r
-        if (this._isCancelled) {\r
-            return shortcutEvent;\r
-        }\r
-        if (!this._emitter) {\r
-            this._emitter = new events_1.Emitter();\r
-        }\r
-        return this._emitter.event;\r
-    }\r
-    dispose() {\r
-        if (this._emitter) {\r
-            this._emitter.dispose();\r
-            this._emitter = undefined;\r
-        }\r
-    }\r
-}\r
-class CancellationTokenSource {\r
-    get token() {\r
-        if (!this._token) {\r
-            // be lazy and create the token only when\r
-            // actually needed\r
-            this._token = new MutableToken();\r
-        }\r
-        return this._token;\r
-    }\r
-    cancel() {\r
-        if (!this._token) {\r
-            // save an object by returning the default\r
-            // cancelled token when cancellation happens\r
-            // before someone asks for the token\r
-            this._token = CancellationToken.Cancelled;\r
-        }\r
-        else {\r
-            this._token.cancel();\r
-        }\r
-    }\r
-    dispose() {\r
-        if (!this._token) {\r
-            // ensure to initialize with an empty token if we had none\r
-            this._token = CancellationToken.None;\r
-        }\r
-        else if (this._token instanceof MutableToken) {\r
-            // actually dispose\r
-            this._token.dispose();\r
-        }\r
-    }\r
-}\r
-exports.CancellationTokenSource = CancellationTokenSource;\r
-
-
-/***/ }),
-/* 12 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-\r
-/*---------------------------------------------------------------------------------------------\r
- *  Copyright (c) Microsoft Corporation. All rights reserved.\r
- *  Licensed under the MIT License. See License.txt in the project root for license information.\r
- *--------------------------------------------------------------------------------------------*/\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-var Touch;\r
-(function (Touch) {\r
-    Touch.None = 0;\r
-    Touch.First = 1;\r
-    Touch.Last = 2;\r
-})(Touch = exports.Touch || (exports.Touch = {}));\r
-class LinkedMap {\r
-    constructor() {\r
-        this._map = new Map();\r
-        this._head = undefined;\r
-        this._tail = undefined;\r
-        this._size = 0;\r
-    }\r
-    clear() {\r
-        this._map.clear();\r
-        this._head = undefined;\r
-        this._tail = undefined;\r
-        this._size = 0;\r
-    }\r
-    isEmpty() {\r
-        return !this._head && !this._tail;\r
-    }\r
-    get size() {\r
-        return this._size;\r
-    }\r
-    has(key) {\r
-        return this._map.has(key);\r
-    }\r
-    get(key) {\r
-        const item = this._map.get(key);\r
-        if (!item) {\r
-            return undefined;\r
-        }\r
-        return item.value;\r
-    }\r
-    set(key, value, touch = Touch.None) {\r
-        let item = this._map.get(key);\r
-        if (item) {\r
-            item.value = value;\r
-            if (touch !== Touch.None) {\r
-                this.touch(item, touch);\r
-            }\r
-        }\r
-        else {\r
-            item = { key, value, next: undefined, previous: undefined };\r
-            switch (touch) {\r
-                case Touch.None:\r
-                    this.addItemLast(item);\r
-                    break;\r
-                case Touch.First:\r
-                    this.addItemFirst(item);\r
-                    break;\r
-                case Touch.Last:\r
-                    this.addItemLast(item);\r
-                    break;\r
-                default:\r
-                    this.addItemLast(item);\r
-                    break;\r
-            }\r
-            this._map.set(key, item);\r
-            this._size++;\r
-        }\r
-    }\r
-    delete(key) {\r
-        const item = this._map.get(key);\r
-        if (!item) {\r
-            return false;\r
-        }\r
-        this._map.delete(key);\r
-        this.removeItem(item);\r
-        this._size--;\r
-        return true;\r
-    }\r
-    shift() {\r
-        if (!this._head && !this._tail) {\r
-            return undefined;\r
-        }\r
-        if (!this._head || !this._tail) {\r
-            throw new Error('Invalid list');\r
-        }\r
-        const item = this._head;\r
-        this._map.delete(item.key);\r
-        this.removeItem(item);\r
-        this._size--;\r
-        return item.value;\r
-    }\r
-    forEach(callbackfn, thisArg) {\r
-        let current = this._head;\r
-        while (current) {\r
-            if (thisArg) {\r
-                callbackfn.bind(thisArg)(current.value, current.key, this);\r
-            }\r
-            else {\r
-                callbackfn(current.value, current.key, this);\r
-            }\r
-            current = current.next;\r
-        }\r
-    }\r
-    forEachReverse(callbackfn, thisArg) {\r
-        let current = this._tail;\r
-        while (current) {\r
-            if (thisArg) {\r
-                callbackfn.bind(thisArg)(current.value, current.key, this);\r
-            }\r
-            else {\r
-                callbackfn(current.value, current.key, this);\r
-            }\r
-            current = current.previous;\r
-        }\r
-    }\r
-    values() {\r
-        let result = [];\r
-        let current = this._head;\r
-        while (current) {\r
-            result.push(current.value);\r
-            current = current.next;\r
-        }\r
-        return result;\r
-    }\r
-    keys() {\r
-        let result = [];\r
-        let current = this._head;\r
-        while (current) {\r
-            result.push(current.key);\r
-            current = current.next;\r
-        }\r
-        return result;\r
-    }\r
-    /* JSON RPC run on es5 which has no Symbol.iterator\r
-    public keys(): IterableIterator<K> {\r
-        let current = this._head;\r
-        let iterator: IterableIterator<K> = {\r
-            [Symbol.iterator]() {\r
-                return iterator;\r
-            },\r
-            next():IteratorResult<K> {\r
-                if (current) {\r
-                    let result = { value: current.key, done: false };\r
-                    current = current.next;\r
-                    return result;\r
-                } else {\r
-                    return { value: undefined, done: true };\r
-                }\r
-            }\r
-        };\r
-        return iterator;\r
-    }\r
-\r
-    public values(): IterableIterator<V> {\r
-        let current = this._head;\r
-        let iterator: IterableIterator<V> = {\r
-            [Symbol.iterator]() {\r
-                return iterator;\r
-            },\r
-            next():IteratorResult<V> {\r
-                if (current) {\r
-                    let result = { value: current.value, done: false };\r
-                    current = current.next;\r
-                    return result;\r
-                } else {\r
-                    return { value: undefined, done: true };\r
-                }\r
-            }\r
-        };\r
-        return iterator;\r
-    }\r
-    */\r
-    addItemFirst(item) {\r
-        // First time Insert\r
-        if (!this._head && !this._tail) {\r
-            this._tail = item;\r
-        }\r
-        else if (!this._head) {\r
-            throw new Error('Invalid list');\r
-        }\r
-        else {\r
-            item.next = this._head;\r
-            this._head.previous = item;\r
-        }\r
-        this._head = item;\r
-    }\r
-    addItemLast(item) {\r
-        // First time Insert\r
-        if (!this._head && !this._tail) {\r
-            this._head = item;\r
-        }\r
-        else if (!this._tail) {\r
-            throw new Error('Invalid list');\r
-        }\r
-        else {\r
-            item.previous = this._tail;\r
-            this._tail.next = item;\r
-        }\r
-        this._tail = item;\r
-    }\r
-    removeItem(item) {\r
-        if (item === this._head && item === this._tail) {\r
-            this._head = undefined;\r
-            this._tail = undefined;\r
-        }\r
-        else if (item === this._head) {\r
-            this._head = item.next;\r
-        }\r
-        else if (item === this._tail) {\r
-            this._tail = item.previous;\r
-        }\r
-        else {\r
-            const next = item.next;\r
-            const previous = item.previous;\r
-            if (!next || !previous) {\r
-                throw new Error('Invalid list');\r
-            }\r
-            next.previous = previous;\r
-            previous.next = next;\r
-        }\r
-    }\r
-    touch(item, touch) {\r
-        if (!this._head || !this._tail) {\r
-            throw new Error('Invalid list');\r
-        }\r
-        if ((touch !== Touch.First && touch !== Touch.Last)) {\r
-            return;\r
-        }\r
-        if (touch === Touch.First) {\r
-            if (item === this._head) {\r
-                return;\r
-            }\r
-            const next = item.next;\r
-            const previous = item.previous;\r
-            // Unlink the item\r
-            if (item === this._tail) {\r
-                // previous must be defined since item was not head but is tail\r
-                // So there are more than on item in the map\r
-                previous.next = undefined;\r
-                this._tail = previous;\r
-            }\r
-            else {\r
-                // Both next and previous are not undefined since item was neither head nor tail.\r
-                next.previous = previous;\r
-                previous.next = next;\r
-            }\r
-            // Insert the node at head\r
-            item.previous = undefined;\r
-            item.next = this._head;\r
-            this._head.previous = item;\r
-            this._head = item;\r
-        }\r
-        else if (touch === Touch.Last) {\r
-            if (item === this._tail) {\r
-                return;\r
-            }\r
-            const next = item.next;\r
-            const previous = item.previous;\r
-            // Unlink the item.\r
-            if (item === this._head) {\r
-                // next must be defined since item was not tail but is head\r
-                // So there are more than on item in the map\r
-                next.previous = undefined;\r
-                this._head = next;\r
-            }\r
-            else {\r
-                // Both next and previous are not undefined since item was neither head nor tail.\r
-                next.previous = previous;\r
-                previous.next = next;\r
-            }\r
-            item.next = undefined;\r
-            item.previous = this._tail;\r
-            this._tail.next = item;\r
-            this._tail = item;\r
-        }\r
-    }\r
-}\r
-exports.LinkedMap = LinkedMap;\r
-
-
-/***/ }),
-/* 13 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const path_1 = __webpack_require__(1);\r
-const os_1 = __webpack_require__(14);\r
-const crypto_1 = __webpack_require__(15);\r
-const net_1 = __webpack_require__(16);\r
-const messageReader_1 = __webpack_require__(8);\r
-const messageWriter_1 = __webpack_require__(10);\r
-function generateRandomPipeName() {\r
-    const randomSuffix = crypto_1.randomBytes(21).toString('hex');\r
-    if (process.platform === 'win32') {\r
-        return `\\\\.\\pipe\\vscode-jsonrpc-${randomSuffix}-sock`;\r
-    }\r
-    else {\r
-        // Mac/Unix: use socket file\r
-        return path_1.join(os_1.tmpdir(), `vscode-${randomSuffix}.sock`);\r
-    }\r
-}\r
-exports.generateRandomPipeName = generateRandomPipeName;\r
-function createClientPipeTransport(pipeName, encoding = 'utf-8') {\r
-    let connectResolve;\r
-    let connected = new Promise((resolve, _reject) => {\r
-        connectResolve = resolve;\r
-    });\r
-    return new Promise((resolve, reject) => {\r
-        let server = net_1.createServer((socket) => {\r
-            server.close();\r
-            connectResolve([\r
-                new messageReader_1.SocketMessageReader(socket, encoding),\r
-                new messageWriter_1.SocketMessageWriter(socket, encoding)\r
-            ]);\r
-        });\r
-        server.on('error', reject);\r
-        server.listen(pipeName, () => {\r
-            server.removeListener('error', reject);\r
-            resolve({\r
-                onConnected: () => { return connected; }\r
-            });\r
-        });\r
-    });\r
-}\r
-exports.createClientPipeTransport = createClientPipeTransport;\r
-function createServerPipeTransport(pipeName, encoding = 'utf-8') {\r
-    const socket = net_1.createConnection(pipeName);\r
-    return [\r
-        new messageReader_1.SocketMessageReader(socket, encoding),\r
-        new messageWriter_1.SocketMessageWriter(socket, encoding)\r
-    ];\r
-}\r
-exports.createServerPipeTransport = createServerPipeTransport;\r
-
-
-/***/ }),
-/* 14 */
-/***/ (function(module, exports) {
-
-module.exports = require("os");
-
-/***/ }),
-/* 15 */
-/***/ (function(module, exports) {
-
-module.exports = require("crypto");
-
-/***/ }),
-/* 16 */
-/***/ (function(module, exports) {
-
-module.exports = require("net");
-
-/***/ }),
-/* 17 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const net_1 = __webpack_require__(16);\r
-const messageReader_1 = __webpack_require__(8);\r
-const messageWriter_1 = __webpack_require__(10);\r
-function createClientSocketTransport(port, encoding = 'utf-8') {\r
-    let connectResolve;\r
-    let connected = new Promise((resolve, _reject) => {\r
-        connectResolve = resolve;\r
-    });\r
-    return new Promise((resolve, reject) => {\r
-        let server = net_1.createServer((socket) => {\r
-            server.close();\r
-            connectResolve([\r
-                new messageReader_1.SocketMessageReader(socket, encoding),\r
-                new messageWriter_1.SocketMessageWriter(socket, encoding)\r
-            ]);\r
-        });\r
-        server.on('error', reject);\r
-        server.listen(port, '127.0.0.1', () => {\r
-            server.removeListener('error', reject);\r
-            resolve({\r
-                onConnected: () => { return connected; }\r
-            });\r
-        });\r
-    });\r
-}\r
-exports.createClientSocketTransport = createClientSocketTransport;\r
-function createServerSocketTransport(port, encoding = 'utf-8') {\r
-    const socket = net_1.createConnection(port, '127.0.0.1');\r
-    return [\r
-        new messageReader_1.SocketMessageReader(socket, encoding),\r
-        new messageWriter_1.SocketMessageWriter(socket, encoding)\r
-    ];\r
-}\r
-exports.createServerSocketTransport = createServerSocketTransport;\r
-
-
-/***/ }),
-/* 18 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Position", function() { return Position; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Range", function() { return Range; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Location", function() { return Location; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "LocationLink", function() { return LocationLink; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Color", function() { return Color; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ColorInformation", function() { return ColorInformation; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ColorPresentation", function() { return ColorPresentation; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FoldingRangeKind", function() { return FoldingRangeKind; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FoldingRange", function() { return FoldingRange; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DiagnosticRelatedInformation", function() { return DiagnosticRelatedInformation; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DiagnosticSeverity", function() { return DiagnosticSeverity; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DiagnosticTag", function() { return DiagnosticTag; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Diagnostic", function() { return Diagnostic; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Command", function() { return Command; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextEdit", function() { return TextEdit; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextDocumentEdit", function() { return TextDocumentEdit; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CreateFile", function() { return CreateFile; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RenameFile", function() { return RenameFile; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DeleteFile", function() { return DeleteFile; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "WorkspaceEdit", function() { return WorkspaceEdit; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "WorkspaceChange", function() { return WorkspaceChange; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextDocumentIdentifier", function() { return TextDocumentIdentifier; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VersionedTextDocumentIdentifier", function() { return VersionedTextDocumentIdentifier; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextDocumentItem", function() { return TextDocumentItem; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MarkupKind", function() { return MarkupKind; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MarkupContent", function() { return MarkupContent; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CompletionItemKind", function() { return CompletionItemKind; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InsertTextFormat", function() { return InsertTextFormat; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CompletionItemTag", function() { return CompletionItemTag; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CompletionItem", function() { return CompletionItem; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CompletionList", function() { return CompletionList; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MarkedString", function() { return MarkedString; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Hover", function() { return Hover; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ParameterInformation", function() { return ParameterInformation; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SignatureInformation", function() { return SignatureInformation; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DocumentHighlightKind", function() { return DocumentHighlightKind; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DocumentHighlight", function() { return DocumentHighlight; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SymbolKind", function() { return SymbolKind; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SymbolTag", function() { return SymbolTag; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SymbolInformation", function() { return SymbolInformation; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DocumentSymbol", function() { return DocumentSymbol; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CodeActionKind", function() { return CodeActionKind; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CodeActionContext", function() { return CodeActionContext; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CodeAction", function() { return CodeAction; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CodeLens", function() { return CodeLens; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormattingOptions", function() { return FormattingOptions; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DocumentLink", function() { return DocumentLink; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SelectionRange", function() { return SelectionRange; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EOL", function() { return EOL; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextDocument", function() { return TextDocument; });
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-/**\r
- * The Position namespace provides helper functions to work with\r
- * [Position](#Position) literals.\r
- */\r
-var Position;\r
-(function (Position) {\r
-    /**\r
-     * Creates a new Position literal from the given line and character.\r
-     * @param line The position's line.\r
-     * @param character The position's character.\r
-     */\r
-    function create(line, character) {\r
-        return { line: line, character: character };\r
-    }\r
-    Position.create = create;\r
-    /**\r
-     * Checks whether the given liternal conforms to the [Position](#Position) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.objectLiteral(candidate) && Is.number(candidate.line) && Is.number(candidate.character);\r
-    }\r
-    Position.is = is;\r
-})(Position || (Position = {}));\r
-/**\r
- * The Range namespace provides helper functions to work with\r
- * [Range](#Range) literals.\r
- */\r
-var Range;\r
-(function (Range) {\r
-    function create(one, two, three, four) {\r
-        if (Is.number(one) && Is.number(two) && Is.number(three) && Is.number(four)) {\r
-            return { start: Position.create(one, two), end: Position.create(three, four) };\r
-        }\r
-        else if (Position.is(one) && Position.is(two)) {\r
-            return { start: one, end: two };\r
-        }\r
-        else {\r
-            throw new Error("Range#create called with invalid arguments[" + one + ", " + two + ", " + three + ", " + four + "]");\r
-        }\r
-    }\r
-    Range.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [Range](#Range) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.objectLiteral(candidate) && Position.is(candidate.start) && Position.is(candidate.end);\r
-    }\r
-    Range.is = is;\r
-})(Range || (Range = {}));\r
-/**\r
- * The Location namespace provides helper functions to work with\r
- * [Location](#Location) literals.\r
- */\r
-var Location;\r
-(function (Location) {\r
-    /**\r
-     * Creates a Location literal.\r
-     * @param uri The location's uri.\r
-     * @param range The location's range.\r
-     */\r
-    function create(uri, range) {\r
-        return { uri: uri, range: range };\r
-    }\r
-    Location.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [Location](#Location) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.defined(candidate) && Range.is(candidate.range) && (Is.string(candidate.uri) || Is.undefined(candidate.uri));\r
-    }\r
-    Location.is = is;\r
-})(Location || (Location = {}));\r
-/**\r
- * The LocationLink namespace provides helper functions to work with\r
- * [LocationLink](#LocationLink) literals.\r
- */\r
-var LocationLink;\r
-(function (LocationLink) {\r
-    /**\r
-     * Creates a LocationLink literal.\r
-     * @param targetUri The definition's uri.\r
-     * @param targetRange The full range of the definition.\r
-     * @param targetSelectionRange The span of the symbol definition at the target.\r
-     * @param originSelectionRange The span of the symbol being defined in the originating source file.\r
-     */\r
-    function create(targetUri, targetRange, targetSelectionRange, originSelectionRange) {\r
-        return { targetUri: targetUri, targetRange: targetRange, targetSelectionRange: targetSelectionRange, originSelectionRange: originSelectionRange };\r
-    }\r
-    LocationLink.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [LocationLink](#LocationLink) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.defined(candidate) && Range.is(candidate.targetRange) && Is.string(candidate.targetUri)\r
-            && (Range.is(candidate.targetSelectionRange) || Is.undefined(candidate.targetSelectionRange))\r
-            && (Range.is(candidate.originSelectionRange) || Is.undefined(candidate.originSelectionRange));\r
-    }\r
-    LocationLink.is = is;\r
-})(LocationLink || (LocationLink = {}));\r
-/**\r
- * The Color namespace provides helper functions to work with\r
- * [Color](#Color) literals.\r
- */\r
-var Color;\r
-(function (Color) {\r
-    /**\r
-     * Creates a new Color literal.\r
-     */\r
-    function create(red, green, blue, alpha) {\r
-        return {\r
-            red: red,\r
-            green: green,\r
-            blue: blue,\r
-            alpha: alpha,\r
-        };\r
-    }\r
-    Color.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [Color](#Color) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.number(candidate.red)\r
-            && Is.number(candidate.green)\r
-            && Is.number(candidate.blue)\r
-            && Is.number(candidate.alpha);\r
-    }\r
-    Color.is = is;\r
-})(Color || (Color = {}));\r
-/**\r
- * The ColorInformation namespace provides helper functions to work with\r
- * [ColorInformation](#ColorInformation) literals.\r
- */\r
-var ColorInformation;\r
-(function (ColorInformation) {\r
-    /**\r
-     * Creates a new ColorInformation literal.\r
-     */\r
-    function create(range, color) {\r
-        return {\r
-            range: range,\r
-            color: color,\r
-        };\r
-    }\r
-    ColorInformation.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [ColorInformation](#ColorInformation) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Range.is(candidate.range) && Color.is(candidate.color);\r
-    }\r
-    ColorInformation.is = is;\r
-})(ColorInformation || (ColorInformation = {}));\r
-/**\r
- * The Color namespace provides helper functions to work with\r
- * [ColorPresentation](#ColorPresentation) literals.\r
- */\r
-var ColorPresentation;\r
-(function (ColorPresentation) {\r
-    /**\r
-     * Creates a new ColorInformation literal.\r
-     */\r
-    function create(label, textEdit, additionalTextEdits) {\r
-        return {\r
-            label: label,\r
-            textEdit: textEdit,\r
-            additionalTextEdits: additionalTextEdits,\r
-        };\r
-    }\r
-    ColorPresentation.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [ColorInformation](#ColorInformation) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.string(candidate.label)\r
-            && (Is.undefined(candidate.textEdit) || TextEdit.is(candidate))\r
-            && (Is.undefined(candidate.additionalTextEdits) || Is.typedArray(candidate.additionalTextEdits, TextEdit.is));\r
-    }\r
-    ColorPresentation.is = is;\r
-})(ColorPresentation || (ColorPresentation = {}));\r
-/**\r
- * Enum of known range kinds\r
- */\r
-var FoldingRangeKind;\r
-(function (FoldingRangeKind) {\r
-    /**\r
-     * Folding range for a comment\r
-     */\r
-    FoldingRangeKind["Comment"] = "comment";\r
-    /**\r
-     * Folding range for a imports or includes\r
-     */\r
-    FoldingRangeKind["Imports"] = "imports";\r
-    /**\r
-     * Folding range for a region (e.g. `#region`)\r
-     */\r
-    FoldingRangeKind["Region"] = "region";\r
-})(FoldingRangeKind || (FoldingRangeKind = {}));\r
-/**\r
- * The folding range namespace provides helper functions to work with\r
- * [FoldingRange](#FoldingRange) literals.\r
- */\r
-var FoldingRange;\r
-(function (FoldingRange) {\r
-    /**\r
-     * Creates a new FoldingRange literal.\r
-     */\r
-    function create(startLine, endLine, startCharacter, endCharacter, kind) {\r
-        var result = {\r
-            startLine: startLine,\r
-            endLine: endLine\r
-        };\r
-        if (Is.defined(startCharacter)) {\r
-            result.startCharacter = startCharacter;\r
-        }\r
-        if (Is.defined(endCharacter)) {\r
-            result.endCharacter = endCharacter;\r
-        }\r
-        if (Is.defined(kind)) {\r
-            result.kind = kind;\r
-        }\r
-        return result;\r
-    }\r
-    FoldingRange.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [FoldingRange](#FoldingRange) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.number(candidate.startLine) && Is.number(candidate.startLine)\r
-            && (Is.undefined(candidate.startCharacter) || Is.number(candidate.startCharacter))\r
-            && (Is.undefined(candidate.endCharacter) || Is.number(candidate.endCharacter))\r
-            && (Is.undefined(candidate.kind) || Is.string(candidate.kind));\r
-    }\r
-    FoldingRange.is = is;\r
-})(FoldingRange || (FoldingRange = {}));\r
-/**\r
- * The DiagnosticRelatedInformation namespace provides helper functions to work with\r
- * [DiagnosticRelatedInformation](#DiagnosticRelatedInformation) literals.\r
- */\r
-var DiagnosticRelatedInformation;\r
-(function (DiagnosticRelatedInformation) {\r
-    /**\r
-     * Creates a new DiagnosticRelatedInformation literal.\r
-     */\r
-    function create(location, message) {\r
-        return {\r
-            location: location,\r
-            message: message\r
-        };\r
-    }\r
-    DiagnosticRelatedInformation.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [DiagnosticRelatedInformation](#DiagnosticRelatedInformation) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.defined(candidate) && Location.is(candidate.location) && Is.string(candidate.message);\r
-    }\r
-    DiagnosticRelatedInformation.is = is;\r
-})(DiagnosticRelatedInformation || (DiagnosticRelatedInformation = {}));\r
-/**\r
- * The diagnostic's severity.\r
- */\r
-var DiagnosticSeverity;\r
-(function (DiagnosticSeverity) {\r
-    /**\r
-     * Reports an error.\r
-     */\r
-    DiagnosticSeverity.Error = 1;\r
-    /**\r
-     * Reports a warning.\r
-     */\r
-    DiagnosticSeverity.Warning = 2;\r
-    /**\r
-     * Reports an information.\r
-     */\r
-    DiagnosticSeverity.Information = 3;\r
-    /**\r
-     * Reports a hint.\r
-     */\r
-    DiagnosticSeverity.Hint = 4;\r
-})(DiagnosticSeverity || (DiagnosticSeverity = {}));\r
-/**\r
- * The diagnostic tags.\r
- *\r
- * @since 3.15.0\r
- */\r
-var DiagnosticTag;\r
-(function (DiagnosticTag) {\r
-    /**\r
-     * Unused or unnecessary code.\r
-     *\r
-     * Clients are allowed to render diagnostics with this tag faded out instead of having\r
-     * an error squiggle.\r
-     */\r
-    DiagnosticTag.Unnecessary = 1;\r
-    /**\r
-     * Deprecated or obsolete code.\r
-     *\r
-     * Clients are allowed to rendered diagnostics with this tag strike through.\r
-     */\r
-    DiagnosticTag.Deprecated = 2;\r
-})(DiagnosticTag || (DiagnosticTag = {}));\r
-/**\r
- * The Diagnostic namespace provides helper functions to work with\r
- * [Diagnostic](#Diagnostic) literals.\r
- */\r
-var Diagnostic;\r
-(function (Diagnostic) {\r
-    /**\r
-     * Creates a new Diagnostic literal.\r
-     */\r
-    function create(range, message, severity, code, source, relatedInformation) {\r
-        var result = { range: range, message: message };\r
-        if (Is.defined(severity)) {\r
-            result.severity = severity;\r
-        }\r
-        if (Is.defined(code)) {\r
-            result.code = code;\r
-        }\r
-        if (Is.defined(source)) {\r
-            result.source = source;\r
-        }\r
-        if (Is.defined(relatedInformation)) {\r
-            result.relatedInformation = relatedInformation;\r
-        }\r
-        return result;\r
-    }\r
-    Diagnostic.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [Diagnostic](#Diagnostic) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.defined(candidate)\r
-            && Range.is(candidate.range)\r
-            && Is.string(candidate.message)\r
-            && (Is.number(candidate.severity) || Is.undefined(candidate.severity))\r
-            && (Is.number(candidate.code) || Is.string(candidate.code) || Is.undefined(candidate.code))\r
-            && (Is.string(candidate.source) || Is.undefined(candidate.source))\r
-            && (Is.undefined(candidate.relatedInformation) || Is.typedArray(candidate.relatedInformation, DiagnosticRelatedInformation.is));\r
-    }\r
-    Diagnostic.is = is;\r
-})(Diagnostic || (Diagnostic = {}));\r
-/**\r
- * The Command namespace provides helper functions to work with\r
- * [Command](#Command) literals.\r
- */\r
-var Command;\r
-(function (Command) {\r
-    /**\r
-     * Creates a new Command literal.\r
-     */\r
-    function create(title, command) {\r
-        var args = [];\r
-        for (var _i = 2; _i < arguments.length; _i++) {\r
-            args[_i - 2] = arguments[_i];\r
-        }\r
-        var result = { title: title, command: command };\r
-        if (Is.defined(args) && args.length > 0) {\r
-            result.arguments = args;\r
-        }\r
-        return result;\r
-    }\r
-    Command.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [Command](#Command) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.defined(candidate) && Is.string(candidate.title) && Is.string(candidate.command);\r
-    }\r
-    Command.is = is;\r
-})(Command || (Command = {}));\r
-/**\r
- * The TextEdit namespace provides helper function to create replace,\r
- * insert and delete edits more easily.\r
- */\r
-var TextEdit;\r
-(function (TextEdit) {\r
-    /**\r
-     * Creates a replace text edit.\r
-     * @param range The range of text to be replaced.\r
-     * @param newText The new text.\r
-     */\r
-    function replace(range, newText) {\r
-        return { range: range, newText: newText };\r
-    }\r
-    TextEdit.replace = replace;\r
-    /**\r
-     * Creates a insert text edit.\r
-     * @param position The position to insert the text at.\r
-     * @param newText The text to be inserted.\r
-     */\r
-    function insert(position, newText) {\r
-        return { range: { start: position, end: position }, newText: newText };\r
-    }\r
-    TextEdit.insert = insert;\r
-    /**\r
-     * Creates a delete text edit.\r
-     * @param range The range of text to be deleted.\r
-     */\r
-    function del(range) {\r
-        return { range: range, newText: '' };\r
-    }\r
-    TextEdit.del = del;\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.objectLiteral(candidate)\r
-            && Is.string(candidate.newText)\r
-            && Range.is(candidate.range);\r
-    }\r
-    TextEdit.is = is;\r
-})(TextEdit || (TextEdit = {}));\r
-/**\r
- * The TextDocumentEdit namespace provides helper function to create\r
- * an edit that manipulates a text document.\r
- */\r
-var TextDocumentEdit;\r
-(function (TextDocumentEdit) {\r
-    /**\r
-     * Creates a new `TextDocumentEdit`\r
-     */\r
-    function create(textDocument, edits) {\r
-        return { textDocument: textDocument, edits: edits };\r
-    }\r
-    TextDocumentEdit.create = create;\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.defined(candidate)\r
-            && VersionedTextDocumentIdentifier.is(candidate.textDocument)\r
-            && Array.isArray(candidate.edits);\r
-    }\r
-    TextDocumentEdit.is = is;\r
-})(TextDocumentEdit || (TextDocumentEdit = {}));\r
-var CreateFile;\r
-(function (CreateFile) {\r
-    function create(uri, options) {\r
-        var result = {\r
-            kind: 'create',\r
-            uri: uri\r
-        };\r
-        if (options !== void 0 && (options.overwrite !== void 0 || options.ignoreIfExists !== void 0)) {\r
-            result.options = options;\r
-        }\r
-        return result;\r
-    }\r
-    CreateFile.create = create;\r
-    function is(value) {\r
-        var candidate = value;\r
-        return candidate && candidate.kind === 'create' && Is.string(candidate.uri) &&\r
-            (candidate.options === void 0 ||\r
-                ((candidate.options.overwrite === void 0 || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === void 0 || Is.boolean(candidate.options.ignoreIfExists))));\r
-    }\r
-    CreateFile.is = is;\r
-})(CreateFile || (CreateFile = {}));\r
-var RenameFile;\r
-(function (RenameFile) {\r
-    function create(oldUri, newUri, options) {\r
-        var result = {\r
-            kind: 'rename',\r
-            oldUri: oldUri,\r
-            newUri: newUri\r
-        };\r
-        if (options !== void 0 && (options.overwrite !== void 0 || options.ignoreIfExists !== void 0)) {\r
-            result.options = options;\r
-        }\r
-        return result;\r
-    }\r
-    RenameFile.create = create;\r
-    function is(value) {\r
-        var candidate = value;\r
-        return candidate && candidate.kind === 'rename' && Is.string(candidate.oldUri) && Is.string(candidate.newUri) &&\r
-            (candidate.options === void 0 ||\r
-                ((candidate.options.overwrite === void 0 || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === void 0 || Is.boolean(candidate.options.ignoreIfExists))));\r
-    }\r
-    RenameFile.is = is;\r
-})(RenameFile || (RenameFile = {}));\r
-var DeleteFile;\r
-(function (DeleteFile) {\r
-    function create(uri, options) {\r
-        var result = {\r
-            kind: 'delete',\r
-            uri: uri\r
-        };\r
-        if (options !== void 0 && (options.recursive !== void 0 || options.ignoreIfNotExists !== void 0)) {\r
-            result.options = options;\r
-        }\r
-        return result;\r
-    }\r
-    DeleteFile.create = create;\r
-    function is(value) {\r
-        var candidate = value;\r
-        return candidate && candidate.kind === 'delete' && Is.string(candidate.uri) &&\r
-            (candidate.options === void 0 ||\r
-                ((candidate.options.recursive === void 0 || Is.boolean(candidate.options.recursive)) && (candidate.options.ignoreIfNotExists === void 0 || Is.boolean(candidate.options.ignoreIfNotExists))));\r
-    }\r
-    DeleteFile.is = is;\r
-})(DeleteFile || (DeleteFile = {}));\r
-var WorkspaceEdit;\r
-(function (WorkspaceEdit) {\r
-    function is(value) {\r
-        var candidate = value;\r
-        return candidate &&\r
-            (candidate.changes !== void 0 || candidate.documentChanges !== void 0) &&\r
-            (candidate.documentChanges === void 0 || candidate.documentChanges.every(function (change) {\r
-                if (Is.string(change.kind)) {\r
-                    return CreateFile.is(change) || RenameFile.is(change) || DeleteFile.is(change);\r
-                }\r
-                else {\r
-                    return TextDocumentEdit.is(change);\r
-                }\r
-            }));\r
-    }\r
-    WorkspaceEdit.is = is;\r
-})(WorkspaceEdit || (WorkspaceEdit = {}));\r
-var TextEditChangeImpl = /** @class */ (function () {\r
-    function TextEditChangeImpl(edits) {\r
-        this.edits = edits;\r
-    }\r
-    TextEditChangeImpl.prototype.insert = function (position, newText) {\r
-        this.edits.push(TextEdit.insert(position, newText));\r
-    };\r
-    TextEditChangeImpl.prototype.replace = function (range, newText) {\r
-        this.edits.push(TextEdit.replace(range, newText));\r
-    };\r
-    TextEditChangeImpl.prototype.delete = function (range) {\r
-        this.edits.push(TextEdit.del(range));\r
-    };\r
-    TextEditChangeImpl.prototype.add = function (edit) {\r
-        this.edits.push(edit);\r
-    };\r
-    TextEditChangeImpl.prototype.all = function () {\r
-        return this.edits;\r
-    };\r
-    TextEditChangeImpl.prototype.clear = function () {\r
-        this.edits.splice(0, this.edits.length);\r
-    };\r
-    return TextEditChangeImpl;\r
-}());\r
-/**\r
- * A workspace change helps constructing changes to a workspace.\r
- */\r
-var WorkspaceChange = /** @class */ (function () {\r
-    function WorkspaceChange(workspaceEdit) {\r
-        var _this = this;\r
-        this._textEditChanges = Object.create(null);\r
-        if (workspaceEdit) {\r
-            this._workspaceEdit = workspaceEdit;\r
-            if (workspaceEdit.documentChanges) {\r
-                workspaceEdit.documentChanges.forEach(function (change) {\r
-                    if (TextDocumentEdit.is(change)) {\r
-                        var textEditChange = new TextEditChangeImpl(change.edits);\r
-                        _this._textEditChanges[change.textDocument.uri] = textEditChange;\r
-                    }\r
-                });\r
-            }\r
-            else if (workspaceEdit.changes) {\r
-                Object.keys(workspaceEdit.changes).forEach(function (key) {\r
-                    var textEditChange = new TextEditChangeImpl(workspaceEdit.changes[key]);\r
-                    _this._textEditChanges[key] = textEditChange;\r
-                });\r
-            }\r
-        }\r
-    }\r
-    Object.defineProperty(WorkspaceChange.prototype, "edit", {\r
-        /**\r
-         * Returns the underlying [WorkspaceEdit](#WorkspaceEdit) literal\r
-         * use to be returned from a workspace edit operation like rename.\r
-         */\r
-        get: function () {\r
-            return this._workspaceEdit;\r
-        },\r
-        enumerable: true,\r
-        configurable: true\r
-    });\r
-    WorkspaceChange.prototype.getTextEditChange = function (key) {\r
-        if (VersionedTextDocumentIdentifier.is(key)) {\r
-            if (!this._workspaceEdit) {\r
-                this._workspaceEdit = {\r
-                    documentChanges: []\r
-                };\r
-            }\r
-            if (!this._workspaceEdit.documentChanges) {\r
-                throw new Error('Workspace edit is not configured for document changes.');\r
-            }\r
-            var textDocument = key;\r
-            var result = this._textEditChanges[textDocument.uri];\r
-            if (!result) {\r
-                var edits = [];\r
-                var textDocumentEdit = {\r
-                    textDocument: textDocument,\r
-                    edits: edits\r
-                };\r
-                this._workspaceEdit.documentChanges.push(textDocumentEdit);\r
-                result = new TextEditChangeImpl(edits);\r
-                this._textEditChanges[textDocument.uri] = result;\r
-            }\r
-            return result;\r
-        }\r
-        else {\r
-            if (!this._workspaceEdit) {\r
-                this._workspaceEdit = {\r
-                    changes: Object.create(null)\r
-                };\r
-            }\r
-            if (!this._workspaceEdit.changes) {\r
-                throw new Error('Workspace edit is not configured for normal text edit changes.');\r
-            }\r
-            var result = this._textEditChanges[key];\r
-            if (!result) {\r
-                var edits = [];\r
-                this._workspaceEdit.changes[key] = edits;\r
-                result = new TextEditChangeImpl(edits);\r
-                this._textEditChanges[key] = result;\r
-            }\r
-            return result;\r
-        }\r
-    };\r
-    WorkspaceChange.prototype.createFile = function (uri, options) {\r
-        this.checkDocumentChanges();\r
-        this._workspaceEdit.documentChanges.push(CreateFile.create(uri, options));\r
-    };\r
-    WorkspaceChange.prototype.renameFile = function (oldUri, newUri, options) {\r
-        this.checkDocumentChanges();\r
-        this._workspaceEdit.documentChanges.push(RenameFile.create(oldUri, newUri, options));\r
-    };\r
-    WorkspaceChange.prototype.deleteFile = function (uri, options) {\r
-        this.checkDocumentChanges();\r
-        this._workspaceEdit.documentChanges.push(DeleteFile.create(uri, options));\r
-    };\r
-    WorkspaceChange.prototype.checkDocumentChanges = function () {\r
-        if (!this._workspaceEdit || !this._workspaceEdit.documentChanges) {\r
-            throw new Error('Workspace edit is not configured for document changes.');\r
-        }\r
-    };\r
-    return WorkspaceChange;\r
-}());\r
-\r
-/**\r
- * The TextDocumentIdentifier namespace provides helper functions to work with\r
- * [TextDocumentIdentifier](#TextDocumentIdentifier) literals.\r
- */\r
-var TextDocumentIdentifier;\r
-(function (TextDocumentIdentifier) {\r
-    /**\r
-     * Creates a new TextDocumentIdentifier literal.\r
-     * @param uri The document's uri.\r
-     */\r
-    function create(uri) {\r
-        return { uri: uri };\r
-    }\r
-    TextDocumentIdentifier.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [TextDocumentIdentifier](#TextDocumentIdentifier) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.defined(candidate) && Is.string(candidate.uri);\r
-    }\r
-    TextDocumentIdentifier.is = is;\r
-})(TextDocumentIdentifier || (TextDocumentIdentifier = {}));\r
-/**\r
- * The VersionedTextDocumentIdentifier namespace provides helper functions to work with\r
- * [VersionedTextDocumentIdentifier](#VersionedTextDocumentIdentifier) literals.\r
- */\r
-var VersionedTextDocumentIdentifier;\r
-(function (VersionedTextDocumentIdentifier) {\r
-    /**\r
-     * Creates a new VersionedTextDocumentIdentifier literal.\r
-     * @param uri The document's uri.\r
-     * @param uri The document's text.\r
-     */\r
-    function create(uri, version) {\r
-        return { uri: uri, version: version };\r
-    }\r
-    VersionedTextDocumentIdentifier.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [VersionedTextDocumentIdentifier](#VersionedTextDocumentIdentifier) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.defined(candidate) && Is.string(candidate.uri) && (candidate.version === null || Is.number(candidate.version));\r
-    }\r
-    VersionedTextDocumentIdentifier.is = is;\r
-})(VersionedTextDocumentIdentifier || (VersionedTextDocumentIdentifier = {}));\r
-/**\r
- * The TextDocumentItem namespace provides helper functions to work with\r
- * [TextDocumentItem](#TextDocumentItem) literals.\r
- */\r
-var TextDocumentItem;\r
-(function (TextDocumentItem) {\r
-    /**\r
-     * Creates a new TextDocumentItem literal.\r
-     * @param uri The document's uri.\r
-     * @param languageId The document's language identifier.\r
-     * @param version The document's version number.\r
-     * @param text The document's text.\r
-     */\r
-    function create(uri, languageId, version, text) {\r
-        return { uri: uri, languageId: languageId, version: version, text: text };\r
-    }\r
-    TextDocumentItem.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [TextDocumentItem](#TextDocumentItem) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.defined(candidate) && Is.string(candidate.uri) && Is.string(candidate.languageId) && Is.number(candidate.version) && Is.string(candidate.text);\r
-    }\r
-    TextDocumentItem.is = is;\r
-})(TextDocumentItem || (TextDocumentItem = {}));\r
-/**\r
- * Describes the content type that a client supports in various\r
- * result literals like `Hover`, `ParameterInfo` or `CompletionItem`.\r
- *\r
- * Please note that `MarkupKinds` must not start with a `$`. This kinds\r
- * are reserved for internal usage.\r
- */\r
-var MarkupKind;\r
-(function (MarkupKind) {\r
-    /**\r
-     * Plain text is supported as a content format\r
-     */\r
-    MarkupKind.PlainText = 'plaintext';\r
-    /**\r
-     * Markdown is supported as a content format\r
-     */\r
-    MarkupKind.Markdown = 'markdown';\r
-})(MarkupKind || (MarkupKind = {}));\r
-(function (MarkupKind) {\r
-    /**\r
-     * Checks whether the given value is a value of the [MarkupKind](#MarkupKind) type.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return candidate === MarkupKind.PlainText || candidate === MarkupKind.Markdown;\r
-    }\r
-    MarkupKind.is = is;\r
-})(MarkupKind || (MarkupKind = {}));\r
-var MarkupContent;\r
-(function (MarkupContent) {\r
-    /**\r
-     * Checks whether the given value conforms to the [MarkupContent](#MarkupContent) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.objectLiteral(value) && MarkupKind.is(candidate.kind) && Is.string(candidate.value);\r
-    }\r
-    MarkupContent.is = is;\r
-})(MarkupContent || (MarkupContent = {}));\r
-/**\r
- * The kind of a completion entry.\r
- */\r
-var CompletionItemKind;\r
-(function (CompletionItemKind) {\r
-    CompletionItemKind.Text = 1;\r
-    CompletionItemKind.Method = 2;\r
-    CompletionItemKind.Function = 3;\r
-    CompletionItemKind.Constructor = 4;\r
-    CompletionItemKind.Field = 5;\r
-    CompletionItemKind.Variable = 6;\r
-    CompletionItemKind.Class = 7;\r
-    CompletionItemKind.Interface = 8;\r
-    CompletionItemKind.Module = 9;\r
-    CompletionItemKind.Property = 10;\r
-    CompletionItemKind.Unit = 11;\r
-    CompletionItemKind.Value = 12;\r
-    CompletionItemKind.Enum = 13;\r
-    CompletionItemKind.Keyword = 14;\r
-    CompletionItemKind.Snippet = 15;\r
-    CompletionItemKind.Color = 16;\r
-    CompletionItemKind.File = 17;\r
-    CompletionItemKind.Reference = 18;\r
-    CompletionItemKind.Folder = 19;\r
-    CompletionItemKind.EnumMember = 20;\r
-    CompletionItemKind.Constant = 21;\r
-    CompletionItemKind.Struct = 22;\r
-    CompletionItemKind.Event = 23;\r
-    CompletionItemKind.Operator = 24;\r
-    CompletionItemKind.TypeParameter = 25;\r
-})(CompletionItemKind || (CompletionItemKind = {}));\r
-/**\r
- * Defines whether the insert text in a completion item should be interpreted as\r
- * plain text or a snippet.\r
- */\r
-var InsertTextFormat;\r
-(function (InsertTextFormat) {\r
-    /**\r
-     * The primary text to be inserted is treated as a plain string.\r
-     */\r
-    InsertTextFormat.PlainText = 1;\r
-    /**\r
-     * The primary text to be inserted is treated as a snippet.\r
-     *\r
-     * A snippet can define tab stops and placeholders with `$1`, `$2`\r
-     * and `${3:foo}`. `$0` defines the final tab stop, it defaults to\r
-     * the end of the snippet. Placeholders with equal identifiers are linked,\r
-     * that is typing in one will update others too.\r
-     *\r
-     * See also: https://github.com/Microsoft/vscode/blob/master/src/vs/editor/contrib/snippet/common/snippet.md\r
-     */\r
-    InsertTextFormat.Snippet = 2;\r
-})(InsertTextFormat || (InsertTextFormat = {}));\r
-/**\r
- * Completion item tags are extra annotations that tweak the rendering of a completion\r
- * item.\r
- *\r
- * @since 3.15.0\r
- */\r
-var CompletionItemTag;\r
-(function (CompletionItemTag) {\r
-    /**\r
-     * Render a completion as obsolete, usually using a strike-out.\r
-     */\r
-    CompletionItemTag.Deprecated = 1;\r
-})(CompletionItemTag || (CompletionItemTag = {}));\r
-/**\r
- * The CompletionItem namespace provides functions to deal with\r
- * completion items.\r
- */\r
-var CompletionItem;\r
-(function (CompletionItem) {\r
-    /**\r
-     * Create a completion item and seed it with a label.\r
-     * @param label The completion item's label\r
-     */\r
-    function create(label) {\r
-        return { label: label };\r
-    }\r
-    CompletionItem.create = create;\r
-})(CompletionItem || (CompletionItem = {}));\r
-/**\r
- * The CompletionList namespace provides functions to deal with\r
- * completion lists.\r
- */\r
-var CompletionList;\r
-(function (CompletionList) {\r
-    /**\r
-     * Creates a new completion list.\r
-     *\r
-     * @param items The completion items.\r
-     * @param isIncomplete The list is not complete.\r
-     */\r
-    function create(items, isIncomplete) {\r
-        return { items: items ? items : [], isIncomplete: !!isIncomplete };\r
-    }\r
-    CompletionList.create = create;\r
-})(CompletionList || (CompletionList = {}));\r
-var MarkedString;\r
-(function (MarkedString) {\r
-    /**\r
-     * Creates a marked string from plain text.\r
-     *\r
-     * @param plainText The plain text.\r
-     */\r
-    function fromPlainText(plainText) {\r
-        return plainText.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash\r
-    }\r
-    MarkedString.fromPlainText = fromPlainText;\r
-    /**\r
-     * Checks whether the given value conforms to the [MarkedString](#MarkedString) type.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.string(candidate) || (Is.objectLiteral(candidate) && Is.string(candidate.language) && Is.string(candidate.value));\r
-    }\r
-    MarkedString.is = is;\r
-})(MarkedString || (MarkedString = {}));\r
-var Hover;\r
-(function (Hover) {\r
-    /**\r
-     * Checks whether the given value conforms to the [Hover](#Hover) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return !!candidate && Is.objectLiteral(candidate) && (MarkupContent.is(candidate.contents) ||\r
-            MarkedString.is(candidate.contents) ||\r
-            Is.typedArray(candidate.contents, MarkedString.is)) && (value.range === void 0 || Range.is(value.range));\r
-    }\r
-    Hover.is = is;\r
-})(Hover || (Hover = {}));\r
-/**\r
- * The ParameterInformation namespace provides helper functions to work with\r
- * [ParameterInformation](#ParameterInformation) literals.\r
- */\r
-var ParameterInformation;\r
-(function (ParameterInformation) {\r
-    /**\r
-     * Creates a new parameter information literal.\r
-     *\r
-     * @param label A label string.\r
-     * @param documentation A doc string.\r
-     */\r
-    function create(label, documentation) {\r
-        return documentation ? { label: label, documentation: documentation } : { label: label };\r
-    }\r
-    ParameterInformation.create = create;\r
-})(ParameterInformation || (ParameterInformation = {}));\r
-/**\r
- * The SignatureInformation namespace provides helper functions to work with\r
- * [SignatureInformation](#SignatureInformation) literals.\r
- */\r
-var SignatureInformation;\r
-(function (SignatureInformation) {\r
-    function create(label, documentation) {\r
-        var parameters = [];\r
-        for (var _i = 2; _i < arguments.length; _i++) {\r
-            parameters[_i - 2] = arguments[_i];\r
-        }\r
-        var result = { label: label };\r
-        if (Is.defined(documentation)) {\r
-            result.documentation = documentation;\r
-        }\r
-        if (Is.defined(parameters)) {\r
-            result.parameters = parameters;\r
-        }\r
-        else {\r
-            result.parameters = [];\r
-        }\r
-        return result;\r
-    }\r
-    SignatureInformation.create = create;\r
-})(SignatureInformation || (SignatureInformation = {}));\r
-/**\r
- * A document highlight kind.\r
- */\r
-var DocumentHighlightKind;\r
-(function (DocumentHighlightKind) {\r
-    /**\r
-     * A textual occurrence.\r
-     */\r
-    DocumentHighlightKind.Text = 1;\r
-    /**\r
-     * Read-access of a symbol, like reading a variable.\r
-     */\r
-    DocumentHighlightKind.Read = 2;\r
-    /**\r
-     * Write-access of a symbol, like writing to a variable.\r
-     */\r
-    DocumentHighlightKind.Write = 3;\r
-})(DocumentHighlightKind || (DocumentHighlightKind = {}));\r
-/**\r
- * DocumentHighlight namespace to provide helper functions to work with\r
- * [DocumentHighlight](#DocumentHighlight) literals.\r
- */\r
-var DocumentHighlight;\r
-(function (DocumentHighlight) {\r
-    /**\r
-     * Create a DocumentHighlight object.\r
-     * @param range The range the highlight applies to.\r
-     */\r
-    function create(range, kind) {\r
-        var result = { range: range };\r
-        if (Is.number(kind)) {\r
-            result.kind = kind;\r
-        }\r
-        return result;\r
-    }\r
-    DocumentHighlight.create = create;\r
-})(DocumentHighlight || (DocumentHighlight = {}));\r
-/**\r
- * A symbol kind.\r
- */\r
-var SymbolKind;\r
-(function (SymbolKind) {\r
-    SymbolKind.File = 1;\r
-    SymbolKind.Module = 2;\r
-    SymbolKind.Namespace = 3;\r
-    SymbolKind.Package = 4;\r
-    SymbolKind.Class = 5;\r
-    SymbolKind.Method = 6;\r
-    SymbolKind.Property = 7;\r
-    SymbolKind.Field = 8;\r
-    SymbolKind.Constructor = 9;\r
-    SymbolKind.Enum = 10;\r
-    SymbolKind.Interface = 11;\r
-    SymbolKind.Function = 12;\r
-    SymbolKind.Variable = 13;\r
-    SymbolKind.Constant = 14;\r
-    SymbolKind.String = 15;\r
-    SymbolKind.Number = 16;\r
-    SymbolKind.Boolean = 17;\r
-    SymbolKind.Array = 18;\r
-    SymbolKind.Object = 19;\r
-    SymbolKind.Key = 20;\r
-    SymbolKind.Null = 21;\r
-    SymbolKind.EnumMember = 22;\r
-    SymbolKind.Struct = 23;\r
-    SymbolKind.Event = 24;\r
-    SymbolKind.Operator = 25;\r
-    SymbolKind.TypeParameter = 26;\r
-})(SymbolKind || (SymbolKind = {}));\r
-/**\r
- * Symbol tags are extra annotations that tweak the rendering of a symbol.\r
- * @since 3.15\r
- */\r
-var SymbolTag;\r
-(function (SymbolTag) {\r
-    /**\r
-     * Render a symbol as obsolete, usually using a strike-out.\r
-     */\r
-    SymbolTag.Deprecated = 1;\r
-})(SymbolTag || (SymbolTag = {}));\r
-var SymbolInformation;\r
-(function (SymbolInformation) {\r
-    /**\r
-     * Creates a new symbol information literal.\r
-     *\r
-     * @param name The name of the symbol.\r
-     * @param kind The kind of the symbol.\r
-     * @param range The range of the location of the symbol.\r
-     * @param uri The resource of the location of symbol, defaults to the current document.\r
-     * @param containerName The name of the symbol containing the symbol.\r
-     */\r
-    function create(name, kind, range, uri, containerName) {\r
-        var result = {\r
-            name: name,\r
-            kind: kind,\r
-            location: { uri: uri, range: range }\r
-        };\r
-        if (containerName) {\r
-            result.containerName = containerName;\r
-        }\r
-        return result;\r
-    }\r
-    SymbolInformation.create = create;\r
-})(SymbolInformation || (SymbolInformation = {}));\r
-var DocumentSymbol;\r
-(function (DocumentSymbol) {\r
-    /**\r
-     * Creates a new symbol information literal.\r
-     *\r
-     * @param name The name of the symbol.\r
-     * @param detail The detail of the symbol.\r
-     * @param kind The kind of the symbol.\r
-     * @param range The range of the symbol.\r
-     * @param selectionRange The selectionRange of the symbol.\r
-     * @param children Children of the symbol.\r
-     */\r
-    function create(name, detail, kind, range, selectionRange, children) {\r
-        var result = {\r
-            name: name,\r
-            detail: detail,\r
-            kind: kind,\r
-            range: range,\r
-            selectionRange: selectionRange\r
-        };\r
-        if (children !== void 0) {\r
-            result.children = children;\r
-        }\r
-        return result;\r
-    }\r
-    DocumentSymbol.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [DocumentSymbol](#DocumentSymbol) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return candidate &&\r
-            Is.string(candidate.name) && Is.number(candidate.kind) &&\r
-            Range.is(candidate.range) && Range.is(candidate.selectionRange) &&\r
-            (candidate.detail === void 0 || Is.string(candidate.detail)) &&\r
-            (candidate.deprecated === void 0 || Is.boolean(candidate.deprecated)) &&\r
-            (candidate.children === void 0 || Array.isArray(candidate.children));\r
-    }\r
-    DocumentSymbol.is = is;\r
-})(DocumentSymbol || (DocumentSymbol = {}));\r
-/**\r
- * A set of predefined code action kinds\r
- */\r
-var CodeActionKind;\r
-(function (CodeActionKind) {\r
-    /**\r
-     * Empty kind.\r
-     */\r
-    CodeActionKind.Empty = '';\r
-    /**\r
-     * Base kind for quickfix actions: 'quickfix'\r
-     */\r
-    CodeActionKind.QuickFix = 'quickfix';\r
-    /**\r
-     * Base kind for refactoring actions: 'refactor'\r
-     */\r
-    CodeActionKind.Refactor = 'refactor';\r
-    /**\r
-     * Base kind for refactoring extraction actions: 'refactor.extract'\r
-     *\r
-     * Example extract actions:\r
-     *\r
-     * - Extract method\r
-     * - Extract function\r
-     * - Extract variable\r
-     * - Extract interface from class\r
-     * - ...\r
-     */\r
-    CodeActionKind.RefactorExtract = 'refactor.extract';\r
-    /**\r
-     * Base kind for refactoring inline actions: 'refactor.inline'\r
-     *\r
-     * Example inline actions:\r
-     *\r
-     * - Inline function\r
-     * - Inline variable\r
-     * - Inline constant\r
-     * - ...\r
-     */\r
-    CodeActionKind.RefactorInline = 'refactor.inline';\r
-    /**\r
-     * Base kind for refactoring rewrite actions: 'refactor.rewrite'\r
-     *\r
-     * Example rewrite actions:\r
-     *\r
-     * - Convert JavaScript function to class\r
-     * - Add or remove parameter\r
-     * - Encapsulate field\r
-     * - Make method static\r
-     * - Move method to base class\r
-     * - ...\r
-     */\r
-    CodeActionKind.RefactorRewrite = 'refactor.rewrite';\r
-    /**\r
-     * Base kind for source actions: `source`\r
-     *\r
-     * Source code actions apply to the entire file.\r
-     */\r
-    CodeActionKind.Source = 'source';\r
-    /**\r
-     * Base kind for an organize imports source action: `source.organizeImports`\r
-     */\r
-    CodeActionKind.SourceOrganizeImports = 'source.organizeImports';\r
-    /**\r
-     * Base kind for auto-fix source actions: `source.fixAll`.\r
-     *\r
-     * Fix all actions automatically fix errors that have a clear fix that do not require user input.\r
-     * They should not suppress errors or perform unsafe fixes such as generating new types or classes.\r
-     *\r
-     * @since 3.15.0\r
-     */\r
-    CodeActionKind.SourceFixAll = 'source.fixAll';\r
-})(CodeActionKind || (CodeActionKind = {}));\r
-/**\r
- * The CodeActionContext namespace provides helper functions to work with\r
- * [CodeActionContext](#CodeActionContext) literals.\r
- */\r
-var CodeActionContext;\r
-(function (CodeActionContext) {\r
-    /**\r
-     * Creates a new CodeActionContext literal.\r
-     */\r
-    function create(diagnostics, only) {\r
-        var result = { diagnostics: diagnostics };\r
-        if (only !== void 0 && only !== null) {\r
-            result.only = only;\r
-        }\r
-        return result;\r
-    }\r
-    CodeActionContext.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [CodeActionContext](#CodeActionContext) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.defined(candidate) && Is.typedArray(candidate.diagnostics, Diagnostic.is) && (candidate.only === void 0 || Is.typedArray(candidate.only, Is.string));\r
-    }\r
-    CodeActionContext.is = is;\r
-})(CodeActionContext || (CodeActionContext = {}));\r
-var CodeAction;\r
-(function (CodeAction) {\r
-    function create(title, commandOrEdit, kind) {\r
-        var result = { title: title };\r
-        if (Command.is(commandOrEdit)) {\r
-            result.command = commandOrEdit;\r
-        }\r
-        else {\r
-            result.edit = commandOrEdit;\r
-        }\r
-        if (kind !== void 0) {\r
-            result.kind = kind;\r
-        }\r
-        return result;\r
-    }\r
-    CodeAction.create = create;\r
-    function is(value) {\r
-        var candidate = value;\r
-        return candidate && Is.string(candidate.title) &&\r
-            (candidate.diagnostics === void 0 || Is.typedArray(candidate.diagnostics, Diagnostic.is)) &&\r
-            (candidate.kind === void 0 || Is.string(candidate.kind)) &&\r
-            (candidate.edit !== void 0 || candidate.command !== void 0) &&\r
-            (candidate.command === void 0 || Command.is(candidate.command)) &&\r
-            (candidate.isPreferred === void 0 || Is.boolean(candidate.isPreferred)) &&\r
-            (candidate.edit === void 0 || WorkspaceEdit.is(candidate.edit));\r
-    }\r
-    CodeAction.is = is;\r
-})(CodeAction || (CodeAction = {}));\r
-/**\r
- * The CodeLens namespace provides helper functions to work with\r
- * [CodeLens](#CodeLens) literals.\r
- */\r
-var CodeLens;\r
-(function (CodeLens) {\r
-    /**\r
-     * Creates a new CodeLens literal.\r
-     */\r
-    function create(range, data) {\r
-        var result = { range: range };\r
-        if (Is.defined(data)) {\r
-            result.data = data;\r
-        }\r
-        return result;\r
-    }\r
-    CodeLens.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [CodeLens](#CodeLens) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.command) || Command.is(candidate.command));\r
-    }\r
-    CodeLens.is = is;\r
-})(CodeLens || (CodeLens = {}));\r
-/**\r
- * The FormattingOptions namespace provides helper functions to work with\r
- * [FormattingOptions](#FormattingOptions) literals.\r
- */\r
-var FormattingOptions;\r
-(function (FormattingOptions) {\r
-    /**\r
-     * Creates a new FormattingOptions literal.\r
-     */\r
-    function create(tabSize, insertSpaces) {\r
-        return { tabSize: tabSize, insertSpaces: insertSpaces };\r
-    }\r
-    FormattingOptions.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [FormattingOptions](#FormattingOptions) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.defined(candidate) && Is.number(candidate.tabSize) && Is.boolean(candidate.insertSpaces);\r
-    }\r
-    FormattingOptions.is = is;\r
-})(FormattingOptions || (FormattingOptions = {}));\r
-/**\r
- * The DocumentLink namespace provides helper functions to work with\r
- * [DocumentLink](#DocumentLink) literals.\r
- */\r
-var DocumentLink;\r
-(function (DocumentLink) {\r
-    /**\r
-     * Creates a new DocumentLink literal.\r
-     */\r
-    function create(range, target, data) {\r
-        return { range: range, target: target, data: data };\r
-    }\r
-    DocumentLink.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [DocumentLink](#DocumentLink) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.target) || Is.string(candidate.target));\r
-    }\r
-    DocumentLink.is = is;\r
-})(DocumentLink || (DocumentLink = {}));\r
-/**\r
- * The SelectionRange namespace provides helper function to work with\r
- * SelectionRange literals.\r
- */\r
-var SelectionRange;\r
-(function (SelectionRange) {\r
-    /**\r
-     * Creates a new SelectionRange\r
-     * @param range the range.\r
-     * @param parent an optional parent.\r
-     */\r
-    function create(range, parent) {\r
-        return { range: range, parent: parent };\r
-    }\r
-    SelectionRange.create = create;\r
-    function is(value) {\r
-        var candidate = value;\r
-        return candidate !== undefined && Range.is(candidate.range) && (candidate.parent === undefined || SelectionRange.is(candidate.parent));\r
-    }\r
-    SelectionRange.is = is;\r
-})(SelectionRange || (SelectionRange = {}));\r
-var EOL = ['\n', '\r\n', '\r'];\r
-/**\r
- * @deprecated Use the text document from the new vscode-languageserver-textdocument package.\r
- */\r
-var TextDocument;\r
-(function (TextDocument) {\r
-    /**\r
-     * Creates a new ITextDocument literal from the given uri and content.\r
-     * @param uri The document's uri.\r
-     * @param languageId  The document's language Id.\r
-     * @param content The document's content.\r
-     */\r
-    function create(uri, languageId, version, content) {\r
-        return new FullTextDocument(uri, languageId, version, content);\r
-    }\r
-    TextDocument.create = create;\r
-    /**\r
-     * Checks whether the given literal conforms to the [ITextDocument](#ITextDocument) interface.\r
-     */\r
-    function is(value) {\r
-        var candidate = value;\r
-        return Is.defined(candidate) && Is.string(candidate.uri) && (Is.undefined(candidate.languageId) || Is.string(candidate.languageId)) && Is.number(candidate.lineCount)\r
-            && Is.func(candidate.getText) && Is.func(candidate.positionAt) && Is.func(candidate.offsetAt) ? true : false;\r
-    }\r
-    TextDocument.is = is;\r
-    function applyEdits(document, edits) {\r
-        var text = document.getText();\r
-        var sortedEdits = mergeSort(edits, function (a, b) {\r
-            var diff = a.range.start.line - b.range.start.line;\r
-            if (diff === 0) {\r
-                return a.range.start.character - b.range.start.character;\r
-            }\r
-            return diff;\r
-        });\r
-        var lastModifiedOffset = text.length;\r
-        for (var i = sortedEdits.length - 1; i >= 0; i--) {\r
-            var e = sortedEdits[i];\r
-            var startOffset = document.offsetAt(e.range.start);\r
-            var endOffset = document.offsetAt(e.range.end);\r
-            if (endOffset <= lastModifiedOffset) {\r
-                text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length);\r
-            }\r
-            else {\r
-                throw new Error('Overlapping edit');\r
-            }\r
-            lastModifiedOffset = startOffset;\r
-        }\r
-        return text;\r
-    }\r
-    TextDocument.applyEdits = applyEdits;\r
-    function mergeSort(data, compare) {\r
-        if (data.length <= 1) {\r
-            // sorted\r
-            return data;\r
-        }\r
-        var p = (data.length / 2) | 0;\r
-        var left = data.slice(0, p);\r
-        var right = data.slice(p);\r
-        mergeSort(left, compare);\r
-        mergeSort(right, compare);\r
-        var leftIdx = 0;\r
-        var rightIdx = 0;\r
-        var i = 0;\r
-        while (leftIdx < left.length && rightIdx < right.length) {\r
-            var ret = compare(left[leftIdx], right[rightIdx]);\r
-            if (ret <= 0) {\r
-                // smaller_equal -> take left to preserve order\r
-                data[i++] = left[leftIdx++];\r
-            }\r
-            else {\r
-                // greater -> take right\r
-                data[i++] = right[rightIdx++];\r
-            }\r
-        }\r
-        while (leftIdx < left.length) {\r
-            data[i++] = left[leftIdx++];\r
-        }\r
-        while (rightIdx < right.length) {\r
-            data[i++] = right[rightIdx++];\r
-        }\r
-        return data;\r
-    }\r
-})(TextDocument || (TextDocument = {}));\r
-var FullTextDocument = /** @class */ (function () {\r
-    function FullTextDocument(uri, languageId, version, content) {\r
-        this._uri = uri;\r
-        this._languageId = languageId;\r
-        this._version = version;\r
-        this._content = content;\r
-        this._lineOffsets = undefined;\r
-    }\r
-    Object.defineProperty(FullTextDocument.prototype, "uri", {\r
-        get: function () {\r
-            return this._uri;\r
-        },\r
-        enumerable: true,\r
-        configurable: true\r
-    });\r
-    Object.defineProperty(FullTextDocument.prototype, "languageId", {\r
-        get: function () {\r
-            return this._languageId;\r
-        },\r
-        enumerable: true,\r
-        configurable: true\r
-    });\r
-    Object.defineProperty(FullTextDocument.prototype, "version", {\r
-        get: function () {\r
-            return this._version;\r
-        },\r
-        enumerable: true,\r
-        configurable: true\r
-    });\r
-    FullTextDocument.prototype.getText = function (range) {\r
-        if (range) {\r
-            var start = this.offsetAt(range.start);\r
-            var end = this.offsetAt(range.end);\r
-            return this._content.substring(start, end);\r
-        }\r
-        return this._content;\r
-    };\r
-    FullTextDocument.prototype.update = function (event, version) {\r
-        this._content = event.text;\r
-        this._version = version;\r
-        this._lineOffsets = undefined;\r
-    };\r
-    FullTextDocument.prototype.getLineOffsets = function () {\r
-        if (this._lineOffsets === undefined) {\r
-            var lineOffsets = [];\r
-            var text = this._content;\r
-            var isLineStart = true;\r
-            for (var i = 0; i < text.length; i++) {\r
-                if (isLineStart) {\r
-                    lineOffsets.push(i);\r
-                    isLineStart = false;\r
-                }\r
-                var ch = text.charAt(i);\r
-                isLineStart = (ch === '\r' || ch === '\n');\r
-                if (ch === '\r' && i + 1 < text.length && text.charAt(i + 1) === '\n') {\r
-                    i++;\r
-                }\r
-            }\r
-            if (isLineStart && text.length > 0) {\r
-                lineOffsets.push(text.length);\r
-            }\r
-            this._lineOffsets = lineOffsets;\r
-        }\r
-        return this._lineOffsets;\r
-    };\r
-    FullTextDocument.prototype.positionAt = function (offset) {\r
-        offset = Math.max(Math.min(offset, this._content.length), 0);\r
-        var lineOffsets = this.getLineOffsets();\r
-        var low = 0, high = lineOffsets.length;\r
-        if (high === 0) {\r
-            return Position.create(0, offset);\r
-        }\r
-        while (low < high) {\r
-            var mid = Math.floor((low + high) / 2);\r
-            if (lineOffsets[mid] > offset) {\r
-                high = mid;\r
-            }\r
-            else {\r
-                low = mid + 1;\r
-            }\r
-        }\r
-        // low is the least x for which the line offset is larger than the current offset\r
-        // or array.length if no line offset is larger than the current offset\r
-        var line = low - 1;\r
-        return Position.create(line, offset - lineOffsets[line]);\r
-    };\r
-    FullTextDocument.prototype.offsetAt = function (position) {\r
-        var lineOffsets = this.getLineOffsets();\r
-        if (position.line >= lineOffsets.length) {\r
-            return this._content.length;\r
-        }\r
-        else if (position.line < 0) {\r
-            return 0;\r
-        }\r
-        var lineOffset = lineOffsets[position.line];\r
-        var nextLineOffset = (position.line + 1 < lineOffsets.length) ? lineOffsets[position.line + 1] : this._content.length;\r
-        return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset);\r
-    };\r
-    Object.defineProperty(FullTextDocument.prototype, "lineCount", {\r
-        get: function () {\r
-            return this.getLineOffsets().length;\r
-        },\r
-        enumerable: true,\r
-        configurable: true\r
-    });\r
-    return FullTextDocument;\r
-}());\r
-var Is;\r
-(function (Is) {\r
-    var toString = Object.prototype.toString;\r
-    function defined(value) {\r
-        return typeof value !== 'undefined';\r
-    }\r
-    Is.defined = defined;\r
-    function undefined(value) {\r
-        return typeof value === 'undefined';\r
-    }\r
-    Is.undefined = undefined;\r
-    function boolean(value) {\r
-        return value === true || value === false;\r
-    }\r
-    Is.boolean = boolean;\r
-    function string(value) {\r
-        return toString.call(value) === '[object String]';\r
-    }\r
-    Is.string = string;\r
-    function number(value) {\r
-        return toString.call(value) === '[object Number]';\r
-    }\r
-    Is.number = number;\r
-    function func(value) {\r
-        return toString.call(value) === '[object Function]';\r
-    }\r
-    Is.func = func;\r
-    function objectLiteral(value) {\r
-        // Strictly speaking class instances pass this check as well. Since the LSP\r
-        // doesn't use classes we ignore this for now. If we do we need to add something\r
-        // like this: `Object.getPrototypeOf(Object.getPrototypeOf(x)) === null`\r
-        return value !== null && typeof value === 'object';\r
-    }\r
-    Is.objectLiteral = objectLiteral;\r
-    function typedArray(value, check) {\r
-        return Array.isArray(value) && value.every(check);\r
-    }\r
-    Is.typedArray = typedArray;\r
-})(Is || (Is = {}));\r
-
-
-/***/ }),
-/* 19 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const Is = __webpack_require__(20);\r
-const vscode_jsonrpc_1 = __webpack_require__(5);\r
-const messages_1 = __webpack_require__(21);\r
-const protocol_implementation_1 = __webpack_require__(22);\r
-exports.ImplementationRequest = protocol_implementation_1.ImplementationRequest;\r
-const protocol_typeDefinition_1 = __webpack_require__(23);\r
-exports.TypeDefinitionRequest = protocol_typeDefinition_1.TypeDefinitionRequest;\r
-const protocol_workspaceFolders_1 = __webpack_require__(24);\r
-exports.WorkspaceFoldersRequest = protocol_workspaceFolders_1.WorkspaceFoldersRequest;\r
-exports.DidChangeWorkspaceFoldersNotification = protocol_workspaceFolders_1.DidChangeWorkspaceFoldersNotification;\r
-const protocol_configuration_1 = __webpack_require__(25);\r
-exports.ConfigurationRequest = protocol_configuration_1.ConfigurationRequest;\r
-const protocol_colorProvider_1 = __webpack_require__(26);\r
-exports.DocumentColorRequest = protocol_colorProvider_1.DocumentColorRequest;\r
-exports.ColorPresentationRequest = protocol_colorProvider_1.ColorPresentationRequest;\r
-const protocol_foldingRange_1 = __webpack_require__(27);\r
-exports.FoldingRangeRequest = protocol_foldingRange_1.FoldingRangeRequest;\r
-const protocol_declaration_1 = __webpack_require__(28);\r
-exports.DeclarationRequest = protocol_declaration_1.DeclarationRequest;\r
-const protocol_selectionRange_1 = __webpack_require__(29);\r
-exports.SelectionRangeRequest = protocol_selectionRange_1.SelectionRangeRequest;\r
-const protocol_progress_1 = __webpack_require__(30);\r
-exports.WorkDoneProgress = protocol_progress_1.WorkDoneProgress;\r
-exports.WorkDoneProgressCreateRequest = protocol_progress_1.WorkDoneProgressCreateRequest;\r
-exports.WorkDoneProgressCancelNotification = protocol_progress_1.WorkDoneProgressCancelNotification;\r
-// @ts-ignore: to avoid inlining LocatioLink as dynamic import\r
-let __noDynamicImport;\r
-/**\r
- * The DocumentFilter namespace provides helper functions to work with\r
- * [DocumentFilter](#DocumentFilter) literals.\r
- */\r
-var DocumentFilter;\r
-(function (DocumentFilter) {\r
-    function is(value) {\r
-        const candidate = value;\r
-        return Is.string(candidate.language) || Is.string(candidate.scheme) || Is.string(candidate.pattern);\r
-    }\r
-    DocumentFilter.is = is;\r
-})(DocumentFilter = exports.DocumentFilter || (exports.DocumentFilter = {}));\r
-/**\r
- * The DocumentSelector namespace provides helper functions to work with\r
- * [DocumentSelector](#DocumentSelector)s.\r
- */\r
-var DocumentSelector;\r
-(function (DocumentSelector) {\r
-    function is(value) {\r
-        if (!Array.isArray(value)) {\r
-            return false;\r
-        }\r
-        for (let elem of value) {\r
-            if (!Is.string(elem) && !DocumentFilter.is(elem)) {\r
-                return false;\r
-            }\r
-        }\r
-        return true;\r
-    }\r
-    DocumentSelector.is = is;\r
-})(DocumentSelector = exports.DocumentSelector || (exports.DocumentSelector = {}));\r
-/**\r
- * The `client/registerCapability` request is sent from the server to the client to register a new capability\r
- * handler on the client side.\r
- */\r
-var RegistrationRequest;\r
-(function (RegistrationRequest) {\r
-    RegistrationRequest.type = new messages_1.ProtocolRequestType('client/registerCapability');\r
-})(RegistrationRequest = exports.RegistrationRequest || (exports.RegistrationRequest = {}));\r
-/**\r
- * The `client/unregisterCapability` request is sent from the server to the client to unregister a previously registered capability\r
- * handler on the client side.\r
- */\r
-var UnregistrationRequest;\r
-(function (UnregistrationRequest) {\r
-    UnregistrationRequest.type = new messages_1.ProtocolRequestType('client/unregisterCapability');\r
-})(UnregistrationRequest = exports.UnregistrationRequest || (exports.UnregistrationRequest = {}));\r
-var ResourceOperationKind;\r
-(function (ResourceOperationKind) {\r
-    /**\r
-     * Supports creating new files and folders.\r
-     */\r
-    ResourceOperationKind.Create = 'create';\r
-    /**\r
-     * Supports renaming existing files and folders.\r
-     */\r
-    ResourceOperationKind.Rename = 'rename';\r
-    /**\r
-     * Supports deleting existing files and folders.\r
-     */\r
-    ResourceOperationKind.Delete = 'delete';\r
-})(ResourceOperationKind = exports.ResourceOperationKind || (exports.ResourceOperationKind = {}));\r
-var FailureHandlingKind;\r
-(function (FailureHandlingKind) {\r
-    /**\r
-     * Applying the workspace change is simply aborted if one of the changes provided\r
-     * fails. All operations executed before the failing operation stay executed.\r
-     */\r
-    FailureHandlingKind.Abort = 'abort';\r
-    /**\r
-     * All operations are executed transactional. That means they either all\r
-     * succeed or no changes at all are applied to the workspace.\r
-     */\r
-    FailureHandlingKind.Transactional = 'transactional';\r
-    /**\r
-     * If the workspace edit contains only textual file changes they are executed transactional.\r
-     * If resource changes (create, rename or delete file) are part of the change the failure\r
-     * handling startegy is abort.\r
-     */\r
-    FailureHandlingKind.TextOnlyTransactional = 'textOnlyTransactional';\r
-    /**\r
-     * The client tries to undo the operations already executed. But there is no\r
-     * guarantee that this is succeeding.\r
-     */\r
-    FailureHandlingKind.Undo = 'undo';\r
-})(FailureHandlingKind = exports.FailureHandlingKind || (exports.FailureHandlingKind = {}));\r
-/**\r
- * The StaticRegistrationOptions namespace provides helper functions to work with\r
- * [StaticRegistrationOptions](#StaticRegistrationOptions) literals.\r
- */\r
-var StaticRegistrationOptions;\r
-(function (StaticRegistrationOptions) {\r
-    function hasId(value) {\r
-        const candidate = value;\r
-        return candidate && Is.string(candidate.id) && candidate.id.length > 0;\r
-    }\r
-    StaticRegistrationOptions.hasId = hasId;\r
-})(StaticRegistrationOptions = exports.StaticRegistrationOptions || (exports.StaticRegistrationOptions = {}));\r
-/**\r
- * The TextDocumentRegistrationOptions namespace provides helper functions to work with\r
- * [TextDocumentRegistrationOptions](#TextDocumentRegistrationOptions) literals.\r
- */\r
-var TextDocumentRegistrationOptions;\r
-(function (TextDocumentRegistrationOptions) {\r
-    function is(value) {\r
-        const candidate = value;\r
-        return candidate && (candidate.documentSelector === null || DocumentSelector.is(candidate.documentSelector));\r
-    }\r
-    TextDocumentRegistrationOptions.is = is;\r
-})(TextDocumentRegistrationOptions = exports.TextDocumentRegistrationOptions || (exports.TextDocumentRegistrationOptions = {}));\r
-/**\r
- * The WorkDoneProgressOptions namespace provides helper functions to work with\r
- * [WorkDoneProgressOptions](#WorkDoneProgressOptions) literals.\r
- */\r
-var WorkDoneProgressOptions;\r
-(function (WorkDoneProgressOptions) {\r
-    function is(value) {\r
-        const candidate = value;\r
-        return Is.objectLiteral(candidate) && (candidate.workDoneProgress === undefined || Is.boolean(candidate.workDoneProgress));\r
-    }\r
-    WorkDoneProgressOptions.is = is;\r
-    function hasWorkDoneProgress(value) {\r
-        const candidate = value;\r
-        return candidate && Is.boolean(candidate.workDoneProgress);\r
-    }\r
-    WorkDoneProgressOptions.hasWorkDoneProgress = hasWorkDoneProgress;\r
-})(WorkDoneProgressOptions = exports.WorkDoneProgressOptions || (exports.WorkDoneProgressOptions = {}));\r
-/**\r
- * The initialize request is sent from the client to the server.\r
- * It is sent once as the request after starting up the server.\r
- * The requests parameter is of type [InitializeParams](#InitializeParams)\r
- * the response if of type [InitializeResult](#InitializeResult) of a Thenable that\r
- * resolves to such.\r
- */\r
-var InitializeRequest;\r
-(function (InitializeRequest) {\r
-    InitializeRequest.type = new messages_1.ProtocolRequestType('initialize');\r
-})(InitializeRequest = exports.InitializeRequest || (exports.InitializeRequest = {}));\r
-/**\r
- * Known error codes for an `InitializeError`;\r
- */\r
-var InitializeError;\r
-(function (InitializeError) {\r
-    /**\r
-     * If the protocol version provided by the client can't be handled by the server.\r
-     * @deprecated This initialize error got replaced by client capabilities. There is\r
-     * no version handshake in version 3.0x\r
-     */\r
-    InitializeError.unknownProtocolVersion = 1;\r
-})(InitializeError = exports.InitializeError || (exports.InitializeError = {}));\r
-/**\r
- * The intialized notification is sent from the client to the\r
- * server after the client is fully initialized and the server\r
- * is allowed to send requests from the server to the client.\r
- */\r
-var InitializedNotification;\r
-(function (InitializedNotification) {\r
-    InitializedNotification.type = new messages_1.ProtocolNotificationType('initialized');\r
-})(InitializedNotification = exports.InitializedNotification || (exports.InitializedNotification = {}));\r
-//---- Shutdown Method ----\r
-/**\r
- * A shutdown request is sent from the client to the server.\r
- * It is sent once when the client decides to shutdown the\r
- * server. The only notification that is sent after a shutdown request\r
- * is the exit event.\r
- */\r
-var ShutdownRequest;\r
-(function (ShutdownRequest) {\r
-    ShutdownRequest.type = new messages_1.ProtocolRequestType0('shutdown');\r
-})(ShutdownRequest = exports.ShutdownRequest || (exports.ShutdownRequest = {}));\r
-//---- Exit Notification ----\r
-/**\r
- * The exit event is sent from the client to the server to\r
- * ask the server to exit its process.\r
- */\r
-var ExitNotification;\r
-(function (ExitNotification) {\r
-    ExitNotification.type = new messages_1.ProtocolNotificationType0('exit');\r
-})(ExitNotification = exports.ExitNotification || (exports.ExitNotification = {}));\r
-/**\r
- * The configuration change notification is sent from the client to the server\r
- * when the client's configuration has changed. The notification contains\r
- * the changed configuration as defined by the language client.\r
- */\r
-var DidChangeConfigurationNotification;\r
-(function (DidChangeConfigurationNotification) {\r
-    DidChangeConfigurationNotification.type = new messages_1.ProtocolNotificationType('workspace/didChangeConfiguration');\r
-})(DidChangeConfigurationNotification = exports.DidChangeConfigurationNotification || (exports.DidChangeConfigurationNotification = {}));\r
-//---- Message show and log notifications ----\r
-/**\r
- * The message type\r
- */\r
-var MessageType;\r
-(function (MessageType) {\r
-    /**\r
-     * An error message.\r
-     */\r
-    MessageType.Error = 1;\r
-    /**\r
-     * A warning message.\r
-     */\r
-    MessageType.Warning = 2;\r
-    /**\r
-     * An information message.\r
-     */\r
-    MessageType.Info = 3;\r
-    /**\r
-     * A log message.\r
-     */\r
-    MessageType.Log = 4;\r
-})(MessageType = exports.MessageType || (exports.MessageType = {}));\r
-/**\r
- * The show message notification is sent from a server to a client to ask\r
- * the client to display a particular message in the user interface.\r
- */\r
-var ShowMessageNotification;\r
-(function (ShowMessageNotification) {\r
-    ShowMessageNotification.type = new messages_1.ProtocolNotificationType('window/showMessage');\r
-})(ShowMessageNotification = exports.ShowMessageNotification || (exports.ShowMessageNotification = {}));\r
-/**\r
- * The show message request is sent from the server to the client to show a message\r
- * and a set of options actions to the user.\r
- */\r
-var ShowMessageRequest;\r
-(function (ShowMessageRequest) {\r
-    ShowMessageRequest.type = new messages_1.ProtocolRequestType('window/showMessageRequest');\r
-})(ShowMessageRequest = exports.ShowMessageRequest || (exports.ShowMessageRequest = {}));\r
-/**\r
- * The log message notification is sent from the server to the client to ask\r
- * the client to log a particular message.\r
- */\r
-var LogMessageNotification;\r
-(function (LogMessageNotification) {\r
-    LogMessageNotification.type = new messages_1.ProtocolNotificationType('window/logMessage');\r
-})(LogMessageNotification = exports.LogMessageNotification || (exports.LogMessageNotification = {}));\r
-//---- Telemetry notification\r
-/**\r
- * The telemetry event notification is sent from the server to the client to ask\r
- * the client to log telemetry data.\r
- */\r
-var TelemetryEventNotification;\r
-(function (TelemetryEventNotification) {\r
-    TelemetryEventNotification.type = new messages_1.ProtocolNotificationType('telemetry/event');\r
-})(TelemetryEventNotification = exports.TelemetryEventNotification || (exports.TelemetryEventNotification = {}));\r
-/**\r
- * Defines how the host (editor) should sync\r
- * document changes to the language server.\r
- */\r
-var TextDocumentSyncKind;\r
-(function (TextDocumentSyncKind) {\r
-    /**\r
-     * Documents should not be synced at all.\r
-     */\r
-    TextDocumentSyncKind.None = 0;\r
-    /**\r
-     * Documents are synced by always sending the full content\r
-     * of the document.\r
-     */\r
-    TextDocumentSyncKind.Full = 1;\r
-    /**\r
-     * Documents are synced by sending the full content on open.\r
-     * After that only incremental updates to the document are\r
-     * send.\r
-     */\r
-    TextDocumentSyncKind.Incremental = 2;\r
-})(TextDocumentSyncKind = exports.TextDocumentSyncKind || (exports.TextDocumentSyncKind = {}));\r
-/**\r
- * The document open notification is sent from the client to the server to signal\r
- * newly opened text documents. The document's truth is now managed by the client\r
- * and the server must not try to read the document's truth using the document's\r
- * uri. Open in this sense means it is managed by the client. It doesn't necessarily\r
- * mean that its content is presented in an editor. An open notification must not\r
- * be sent more than once without a corresponding close notification send before.\r
- * This means open and close notification must be balanced and the max open count\r
- * is one.\r
- */\r
-var DidOpenTextDocumentNotification;\r
-(function (DidOpenTextDocumentNotification) {\r
-    DidOpenTextDocumentNotification.method = 'textDocument/didOpen';\r
-    DidOpenTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidOpenTextDocumentNotification.method);\r
-})(DidOpenTextDocumentNotification = exports.DidOpenTextDocumentNotification || (exports.DidOpenTextDocumentNotification = {}));\r
-/**\r
- * The document change notification is sent from the client to the server to signal\r
- * changes to a text document.\r
- */\r
-var DidChangeTextDocumentNotification;\r
-(function (DidChangeTextDocumentNotification) {\r
-    DidChangeTextDocumentNotification.method = 'textDocument/didChange';\r
-    DidChangeTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidChangeTextDocumentNotification.method);\r
-})(DidChangeTextDocumentNotification = exports.DidChangeTextDocumentNotification || (exports.DidChangeTextDocumentNotification = {}));\r
-/**\r
- * The document close notification is sent from the client to the server when\r
- * the document got closed in the client. The document's truth now exists where\r
- * the document's uri points to (e.g. if the document's uri is a file uri the\r
- * truth now exists on disk). As with the open notification the close notification\r
- * is about managing the document's content. Receiving a close notification\r
- * doesn't mean that the document was open in an editor before. A close\r
- * notification requires a previous open notification to be sent.\r
- */\r
-var DidCloseTextDocumentNotification;\r
-(function (DidCloseTextDocumentNotification) {\r
-    DidCloseTextDocumentNotification.method = 'textDocument/didClose';\r
-    DidCloseTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidCloseTextDocumentNotification.method);\r
-})(DidCloseTextDocumentNotification = exports.DidCloseTextDocumentNotification || (exports.DidCloseTextDocumentNotification = {}));\r
-/**\r
- * The document save notification is sent from the client to the server when\r
- * the document got saved in the client.\r
- */\r
-var DidSaveTextDocumentNotification;\r
-(function (DidSaveTextDocumentNotification) {\r
-    DidSaveTextDocumentNotification.method = 'textDocument/didSave';\r
-    DidSaveTextDocumentNotification.type = new messages_1.ProtocolNotificationType(DidSaveTextDocumentNotification.method);\r
-})(DidSaveTextDocumentNotification = exports.DidSaveTextDocumentNotification || (exports.DidSaveTextDocumentNotification = {}));\r
-/**\r
- * Represents reasons why a text document is saved.\r
- */\r
-var TextDocumentSaveReason;\r
-(function (TextDocumentSaveReason) {\r
-    /**\r
-     * Manually triggered, e.g. by the user pressing save, by starting debugging,\r
-     * or by an API call.\r
-     */\r
-    TextDocumentSaveReason.Manual = 1;\r
-    /**\r
-     * Automatic after a delay.\r
-     */\r
-    TextDocumentSaveReason.AfterDelay = 2;\r
-    /**\r
-     * When the editor lost focus.\r
-     */\r
-    TextDocumentSaveReason.FocusOut = 3;\r
-})(TextDocumentSaveReason = exports.TextDocumentSaveReason || (exports.TextDocumentSaveReason = {}));\r
-/**\r
- * A document will save notification is sent from the client to the server before\r
- * the document is actually saved.\r
- */\r
-var WillSaveTextDocumentNotification;\r
-(function (WillSaveTextDocumentNotification) {\r
-    WillSaveTextDocumentNotification.method = 'textDocument/willSave';\r
-    WillSaveTextDocumentNotification.type = new messages_1.ProtocolNotificationType(WillSaveTextDocumentNotification.method);\r
-})(WillSaveTextDocumentNotification = exports.WillSaveTextDocumentNotification || (exports.WillSaveTextDocumentNotification = {}));\r
-/**\r
- * A document will save request is sent from the client to the server before\r
- * the document is actually saved. The request can return an array of TextEdits\r
- * which will be applied to the text document before it is saved. Please note that\r
- * clients might drop results if computing the text edits took too long or if a\r
- * server constantly fails on this request. This is done to keep the save fast and\r
- * reliable.\r
- */\r
-var WillSaveTextDocumentWaitUntilRequest;\r
-(function (WillSaveTextDocumentWaitUntilRequest) {\r
-    WillSaveTextDocumentWaitUntilRequest.method = 'textDocument/willSaveWaitUntil';\r
-    WillSaveTextDocumentWaitUntilRequest.type = new messages_1.ProtocolRequestType(WillSaveTextDocumentWaitUntilRequest.method);\r
-})(WillSaveTextDocumentWaitUntilRequest = exports.WillSaveTextDocumentWaitUntilRequest || (exports.WillSaveTextDocumentWaitUntilRequest = {}));\r
-/**\r
- * The watched files notification is sent from the client to the server when\r
- * the client detects changes to file watched by the language client.\r
- */\r
-var DidChangeWatchedFilesNotification;\r
-(function (DidChangeWatchedFilesNotification) {\r
-    DidChangeWatchedFilesNotification.type = new messages_1.ProtocolNotificationType('workspace/didChangeWatchedFiles');\r
-})(DidChangeWatchedFilesNotification = exports.DidChangeWatchedFilesNotification || (exports.DidChangeWatchedFilesNotification = {}));\r
-/**\r
- * The file event type\r
- */\r
-var FileChangeType;\r
-(function (FileChangeType) {\r
-    /**\r
-     * The file got created.\r
-     */\r
-    FileChangeType.Created = 1;\r
-    /**\r
-     * The file got changed.\r
-     */\r
-    FileChangeType.Changed = 2;\r
-    /**\r
-     * The file got deleted.\r
-     */\r
-    FileChangeType.Deleted = 3;\r
-})(FileChangeType = exports.FileChangeType || (exports.FileChangeType = {}));\r
-var WatchKind;\r
-(function (WatchKind) {\r
-    /**\r
-     * Interested in create events.\r
-     */\r
-    WatchKind.Create = 1;\r
-    /**\r
-     * Interested in change events\r
-     */\r
-    WatchKind.Change = 2;\r
-    /**\r
-     * Interested in delete events\r
-     */\r
-    WatchKind.Delete = 4;\r
-})(WatchKind = exports.WatchKind || (exports.WatchKind = {}));\r
-/**\r
- * Diagnostics notification are sent from the server to the client to signal\r
- * results of validation runs.\r
- */\r
-var PublishDiagnosticsNotification;\r
-(function (PublishDiagnosticsNotification) {\r
-    PublishDiagnosticsNotification.type = new messages_1.ProtocolNotificationType('textDocument/publishDiagnostics');\r
-})(PublishDiagnosticsNotification = exports.PublishDiagnosticsNotification || (exports.PublishDiagnosticsNotification = {}));\r
-/**\r
- * How a completion was triggered\r
- */\r
-var CompletionTriggerKind;\r
-(function (CompletionTriggerKind) {\r
-    /**\r
-     * Completion was triggered by typing an identifier (24x7 code\r
-     * complete), manual invocation (e.g Ctrl+Space) or via API.\r
-     */\r
-    CompletionTriggerKind.Invoked = 1;\r
-    /**\r
-     * Completion was triggered by a trigger character specified by\r
-     * the `triggerCharacters` properties of the `CompletionRegistrationOptions`.\r
-     */\r
-    CompletionTriggerKind.TriggerCharacter = 2;\r
-    /**\r
-     * Completion was re-triggered as current completion list is incomplete\r
-     */\r
-    CompletionTriggerKind.TriggerForIncompleteCompletions = 3;\r
-})(CompletionTriggerKind = exports.CompletionTriggerKind || (exports.CompletionTriggerKind = {}));\r
-/**\r
- * Request to request completion at a given text document position. The request's\r
- * parameter is of type [TextDocumentPosition](#TextDocumentPosition) the response\r
- * is of type [CompletionItem[]](#CompletionItem) or [CompletionList](#CompletionList)\r
- * or a Thenable that resolves to such.\r
- *\r
- * The request can delay the computation of the [`detail`](#CompletionItem.detail)\r
- * and [`documentation`](#CompletionItem.documentation) properties to the `completionItem/resolve`\r
- * request. However, properties that are needed for the initial sorting and filtering, like `sortText`,\r
- * `filterText`, `insertText`, and `textEdit`, must not be changed during resolve.\r
- */\r
-var CompletionRequest;\r
-(function (CompletionRequest) {\r
-    CompletionRequest.method = 'textDocument/completion';\r
-    CompletionRequest.type = new messages_1.ProtocolRequestType(CompletionRequest.method);\r
-    /** @deprecated Use CompletionRequest.type */\r
-    CompletionRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(CompletionRequest = exports.CompletionRequest || (exports.CompletionRequest = {}));\r
-/**\r
- * Request to resolve additional information for a given completion item.The request's\r
- * parameter is of type [CompletionItem](#CompletionItem) the response\r
- * is of type [CompletionItem](#CompletionItem) or a Thenable that resolves to such.\r
- */\r
-var CompletionResolveRequest;\r
-(function (CompletionResolveRequest) {\r
-    CompletionResolveRequest.method = 'completionItem/resolve';\r
-    CompletionResolveRequest.type = new messages_1.ProtocolRequestType(CompletionResolveRequest.method);\r
-})(CompletionResolveRequest = exports.CompletionResolveRequest || (exports.CompletionResolveRequest = {}));\r
-/**\r
- * Request to request hover information at a given text document position. The request's\r
- * parameter is of type [TextDocumentPosition](#TextDocumentPosition) the response is of\r
- * type [Hover](#Hover) or a Thenable that resolves to such.\r
- */\r
-var HoverRequest;\r
-(function (HoverRequest) {\r
-    HoverRequest.method = 'textDocument/hover';\r
-    HoverRequest.type = new messages_1.ProtocolRequestType(HoverRequest.method);\r
-})(HoverRequest = exports.HoverRequest || (exports.HoverRequest = {}));\r
-/**\r
- * How a signature help was triggered.\r
- *\r
- * @since 3.15.0\r
- */\r
-var SignatureHelpTriggerKind;\r
-(function (SignatureHelpTriggerKind) {\r
-    /**\r
-     * Signature help was invoked manually by the user or by a command.\r
-     */\r
-    SignatureHelpTriggerKind.Invoked = 1;\r
-    /**\r
-     * Signature help was triggered by a trigger character.\r
-     */\r
-    SignatureHelpTriggerKind.TriggerCharacter = 2;\r
-    /**\r
-     * Signature help was triggered by the cursor moving or by the document content changing.\r
-     */\r
-    SignatureHelpTriggerKind.ContentChange = 3;\r
-})(SignatureHelpTriggerKind = exports.SignatureHelpTriggerKind || (exports.SignatureHelpTriggerKind = {}));\r
-var SignatureHelpRequest;\r
-(function (SignatureHelpRequest) {\r
-    SignatureHelpRequest.method = 'textDocument/signatureHelp';\r
-    SignatureHelpRequest.type = new messages_1.ProtocolRequestType(SignatureHelpRequest.method);\r
-})(SignatureHelpRequest = exports.SignatureHelpRequest || (exports.SignatureHelpRequest = {}));\r
-/**\r
- * A request to resolve the definition location of a symbol at a given text\r
- * document position. The request's parameter is of type [TextDocumentPosition]\r
- * (#TextDocumentPosition) the response is of either type [Definition](#Definition)\r
- * or a typed array of [DefinitionLink](#DefinitionLink) or a Thenable that resolves\r
- * to such.\r
- */\r
-var DefinitionRequest;\r
-(function (DefinitionRequest) {\r
-    DefinitionRequest.method = 'textDocument/definition';\r
-    DefinitionRequest.type = new messages_1.ProtocolRequestType(DefinitionRequest.method);\r
-    /** @deprecated Use DefinitionRequest.type */\r
-    DefinitionRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(DefinitionRequest = exports.DefinitionRequest || (exports.DefinitionRequest = {}));\r
-/**\r
- * A request to resolve project-wide references for the symbol denoted\r
- * by the given text document position. The request's parameter is of\r
- * type [ReferenceParams](#ReferenceParams) the response is of type\r
- * [Location[]](#Location) or a Thenable that resolves to such.\r
- */\r
-var ReferencesRequest;\r
-(function (ReferencesRequest) {\r
-    ReferencesRequest.method = 'textDocument/references';\r
-    ReferencesRequest.type = new messages_1.ProtocolRequestType(ReferencesRequest.method);\r
-    /** @deprecated Use ReferencesRequest.type */\r
-    ReferencesRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(ReferencesRequest = exports.ReferencesRequest || (exports.ReferencesRequest = {}));\r
-/**\r
- * Request to resolve a [DocumentHighlight](#DocumentHighlight) for a given\r
- * text document position. The request's parameter is of type [TextDocumentPosition]\r
- * (#TextDocumentPosition) the request response is of type [DocumentHighlight[]]\r
- * (#DocumentHighlight) or a Thenable that resolves to such.\r
- */\r
-var DocumentHighlightRequest;\r
-(function (DocumentHighlightRequest) {\r
-    DocumentHighlightRequest.method = 'textDocument/documentHighlight';\r
-    DocumentHighlightRequest.type = new messages_1.ProtocolRequestType(DocumentHighlightRequest.method);\r
-    /** @deprecated Use DocumentHighlightRequest.type */\r
-    DocumentHighlightRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(DocumentHighlightRequest = exports.DocumentHighlightRequest || (exports.DocumentHighlightRequest = {}));\r
-/**\r
- * A request to list all symbols found in a given text document. The request's\r
- * parameter is of type [TextDocumentIdentifier](#TextDocumentIdentifier) the\r
- * response is of type [SymbolInformation[]](#SymbolInformation) or a Thenable\r
- * that resolves to such.\r
- */\r
-var DocumentSymbolRequest;\r
-(function (DocumentSymbolRequest) {\r
-    DocumentSymbolRequest.method = 'textDocument/documentSymbol';\r
-    DocumentSymbolRequest.type = new messages_1.ProtocolRequestType(DocumentSymbolRequest.method);\r
-    /** @deprecated Use DocumentSymbolRequest.type */\r
-    DocumentSymbolRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(DocumentSymbolRequest = exports.DocumentSymbolRequest || (exports.DocumentSymbolRequest = {}));\r
-/**\r
- * A request to provide commands for the given text document and range.\r
- */\r
-var CodeActionRequest;\r
-(function (CodeActionRequest) {\r
-    CodeActionRequest.method = 'textDocument/codeAction';\r
-    CodeActionRequest.type = new messages_1.ProtocolRequestType(CodeActionRequest.method);\r
-    /** @deprecated Use CodeActionRequest.type */\r
-    CodeActionRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(CodeActionRequest = exports.CodeActionRequest || (exports.CodeActionRequest = {}));\r
-/**\r
- * A request to list project-wide symbols matching the query string given\r
- * by the [WorkspaceSymbolParams](#WorkspaceSymbolParams). The response is\r
- * of type [SymbolInformation[]](#SymbolInformation) or a Thenable that\r
- * resolves to such.\r
- */\r
-var WorkspaceSymbolRequest;\r
-(function (WorkspaceSymbolRequest) {\r
-    WorkspaceSymbolRequest.method = 'workspace/symbol';\r
-    WorkspaceSymbolRequest.type = new messages_1.ProtocolRequestType(WorkspaceSymbolRequest.method);\r
-    /** @deprecated Use WorkspaceSymbolRequest.type */\r
-    WorkspaceSymbolRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(WorkspaceSymbolRequest = exports.WorkspaceSymbolRequest || (exports.WorkspaceSymbolRequest = {}));\r
-/**\r
- * A request to provide code lens for the given text document.\r
- */\r
-var CodeLensRequest;\r
-(function (CodeLensRequest) {\r
-    CodeLensRequest.type = new messages_1.ProtocolRequestType('textDocument/codeLens');\r
-    /** @deprecated Use CodeLensRequest.type */\r
-    CodeLensRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(CodeLensRequest = exports.CodeLensRequest || (exports.CodeLensRequest = {}));\r
-/**\r
- * A request to resolve a command for a given code lens.\r
- */\r
-var CodeLensResolveRequest;\r
-(function (CodeLensResolveRequest) {\r
-    CodeLensResolveRequest.type = new messages_1.ProtocolRequestType('codeLens/resolve');\r
-})(CodeLensResolveRequest = exports.CodeLensResolveRequest || (exports.CodeLensResolveRequest = {}));\r
-/**\r
- * A request to provide document links\r
- */\r
-var DocumentLinkRequest;\r
-(function (DocumentLinkRequest) {\r
-    DocumentLinkRequest.method = 'textDocument/documentLink';\r
-    DocumentLinkRequest.type = new messages_1.ProtocolRequestType(DocumentLinkRequest.method);\r
-    /** @deprecated Use DocumentLinkRequest.type */\r
-    DocumentLinkRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(DocumentLinkRequest = exports.DocumentLinkRequest || (exports.DocumentLinkRequest = {}));\r
-/**\r
- * Request to resolve additional information for a given document link. The request's\r
- * parameter is of type [DocumentLink](#DocumentLink) the response\r
- * is of type [DocumentLink](#DocumentLink) or a Thenable that resolves to such.\r
- */\r
-var DocumentLinkResolveRequest;\r
-(function (DocumentLinkResolveRequest) {\r
-    DocumentLinkResolveRequest.type = new messages_1.ProtocolRequestType('documentLink/resolve');\r
-})(DocumentLinkResolveRequest = exports.DocumentLinkResolveRequest || (exports.DocumentLinkResolveRequest = {}));\r
-/**\r
- * A request to to format a whole document.\r
- */\r
-var DocumentFormattingRequest;\r
-(function (DocumentFormattingRequest) {\r
-    DocumentFormattingRequest.method = 'textDocument/formatting';\r
-    DocumentFormattingRequest.type = new messages_1.ProtocolRequestType(DocumentFormattingRequest.method);\r
-})(DocumentFormattingRequest = exports.DocumentFormattingRequest || (exports.DocumentFormattingRequest = {}));\r
-/**\r
- * A request to to format a range in a document.\r
- */\r
-var DocumentRangeFormattingRequest;\r
-(function (DocumentRangeFormattingRequest) {\r
-    DocumentRangeFormattingRequest.method = 'textDocument/rangeFormatting';\r
-    DocumentRangeFormattingRequest.type = new messages_1.ProtocolRequestType(DocumentRangeFormattingRequest.method);\r
-})(DocumentRangeFormattingRequest = exports.DocumentRangeFormattingRequest || (exports.DocumentRangeFormattingRequest = {}));\r
-/**\r
- * A request to format a document on type.\r
- */\r
-var DocumentOnTypeFormattingRequest;\r
-(function (DocumentOnTypeFormattingRequest) {\r
-    DocumentOnTypeFormattingRequest.method = 'textDocument/onTypeFormatting';\r
-    DocumentOnTypeFormattingRequest.type = new messages_1.ProtocolRequestType(DocumentOnTypeFormattingRequest.method);\r
-})(DocumentOnTypeFormattingRequest = exports.DocumentOnTypeFormattingRequest || (exports.DocumentOnTypeFormattingRequest = {}));\r
-/**\r
- * A request to rename a symbol.\r
- */\r
-var RenameRequest;\r
-(function (RenameRequest) {\r
-    RenameRequest.method = 'textDocument/rename';\r
-    RenameRequest.type = new messages_1.ProtocolRequestType(RenameRequest.method);\r
-})(RenameRequest = exports.RenameRequest || (exports.RenameRequest = {}));\r
-/**\r
- * A request to test and perform the setup necessary for a rename.\r
- */\r
-var PrepareRenameRequest;\r
-(function (PrepareRenameRequest) {\r
-    PrepareRenameRequest.method = 'textDocument/prepareRename';\r
-    PrepareRenameRequest.type = new messages_1.ProtocolRequestType(PrepareRenameRequest.method);\r
-})(PrepareRenameRequest = exports.PrepareRenameRequest || (exports.PrepareRenameRequest = {}));\r
-/**\r
- * A request send from the client to the server to execute a command. The request might return\r
- * a workspace edit which the client will apply to the workspace.\r
- */\r
-var ExecuteCommandRequest;\r
-(function (ExecuteCommandRequest) {\r
-    ExecuteCommandRequest.type = new messages_1.ProtocolRequestType('workspace/executeCommand');\r
-})(ExecuteCommandRequest = exports.ExecuteCommandRequest || (exports.ExecuteCommandRequest = {}));\r
-/**\r
- * A request sent from the server to the client to modified certain resources.\r
- */\r
-var ApplyWorkspaceEditRequest;\r
-(function (ApplyWorkspaceEditRequest) {\r
-    ApplyWorkspaceEditRequest.type = new messages_1.ProtocolRequestType('workspace/applyEdit');\r
-})(ApplyWorkspaceEditRequest = exports.ApplyWorkspaceEditRequest || (exports.ApplyWorkspaceEditRequest = {}));\r
-
-
-/***/ }),
-/* 20 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-function boolean(value) {\r
-    return value === true || value === false;\r
-}\r
-exports.boolean = boolean;\r
-function string(value) {\r
-    return typeof value === 'string' || value instanceof String;\r
-}\r
-exports.string = string;\r
-function number(value) {\r
-    return typeof value === 'number' || value instanceof Number;\r
-}\r
-exports.number = number;\r
-function error(value) {\r
-    return value instanceof Error;\r
-}\r
-exports.error = error;\r
-function func(value) {\r
-    return typeof value === 'function';\r
-}\r
-exports.func = func;\r
-function array(value) {\r
-    return Array.isArray(value);\r
-}\r
-exports.array = array;\r
-function stringArray(value) {\r
-    return array(value) && value.every(elem => string(elem));\r
-}\r
-exports.stringArray = stringArray;\r
-function typedArray(value, check) {\r
-    return Array.isArray(value) && value.every(check);\r
-}\r
-exports.typedArray = typedArray;\r
-function objectLiteral(value) {\r
-    // Strictly speaking class instances pass this check as well. Since the LSP\r
-    // doesn't use classes we ignore this for now. If we do we need to add something\r
-    // like this: `Object.getPrototypeOf(Object.getPrototypeOf(x)) === null`\r
-    return value !== null && typeof value === 'object';\r
-}\r
-exports.objectLiteral = objectLiteral;\r
-
-
-/***/ }),
-/* 21 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(5);\r
-class ProtocolRequestType0 extends vscode_jsonrpc_1.RequestType0 {\r
-    constructor(method) {\r
-        super(method);\r
-    }\r
-}\r
-exports.ProtocolRequestType0 = ProtocolRequestType0;\r
-class ProtocolRequestType extends vscode_jsonrpc_1.RequestType {\r
-    constructor(method) {\r
-        super(method);\r
-    }\r
-}\r
-exports.ProtocolRequestType = ProtocolRequestType;\r
-class ProtocolNotificationType extends vscode_jsonrpc_1.NotificationType {\r
-    constructor(method) {\r
-        super(method);\r
-    }\r
-}\r
-exports.ProtocolNotificationType = ProtocolNotificationType;\r
-class ProtocolNotificationType0 extends vscode_jsonrpc_1.NotificationType0 {\r
-    constructor(method) {\r
-        super(method);\r
-    }\r
-}\r
-exports.ProtocolNotificationType0 = ProtocolNotificationType0;\r
-
-
-/***/ }),
-/* 22 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(5);\r
-const messages_1 = __webpack_require__(21);\r
-// @ts-ignore: to avoid inlining LocatioLink as dynamic import\r
-let __noDynamicImport;\r
-/**\r
- * A request to resolve the implementation locations of a symbol at a given text\r
- * document position. The request's parameter is of type [TextDocumentPositioParams]\r
- * (#TextDocumentPositionParams) the response is of type [Definition](#Definition) or a\r
- * Thenable that resolves to such.\r
- */\r
-var ImplementationRequest;\r
-(function (ImplementationRequest) {\r
-    ImplementationRequest.method = 'textDocument/implementation';\r
-    ImplementationRequest.type = new messages_1.ProtocolRequestType(ImplementationRequest.method);\r
-    /** @deprecated Use ImplementationRequest.type */\r
-    ImplementationRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(ImplementationRequest = exports.ImplementationRequest || (exports.ImplementationRequest = {}));\r
-
-
-/***/ }),
-/* 23 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(5);\r
-const messages_1 = __webpack_require__(21);\r
-// @ts-ignore: to avoid inlining LocatioLink as dynamic import\r
-let __noDynamicImport;\r
-/**\r
- * A request to resolve the type definition locations of a symbol at a given text\r
- * document position. The request's parameter is of type [TextDocumentPositioParams]\r
- * (#TextDocumentPositionParams) the response is of type [Definition](#Definition) or a\r
- * Thenable that resolves to such.\r
- */\r
-var TypeDefinitionRequest;\r
-(function (TypeDefinitionRequest) {\r
-    TypeDefinitionRequest.method = 'textDocument/typeDefinition';\r
-    TypeDefinitionRequest.type = new messages_1.ProtocolRequestType(TypeDefinitionRequest.method);\r
-    /** @deprecated Use TypeDefinitionRequest.type */\r
-    TypeDefinitionRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(TypeDefinitionRequest = exports.TypeDefinitionRequest || (exports.TypeDefinitionRequest = {}));\r
-
-
-/***/ }),
-/* 24 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const messages_1 = __webpack_require__(21);\r
-/**\r
- * The `workspace/workspaceFolders` is sent from the server to the client to fetch the open workspace folders.\r
- */\r
-var WorkspaceFoldersRequest;\r
-(function (WorkspaceFoldersRequest) {\r
-    WorkspaceFoldersRequest.type = new messages_1.ProtocolRequestType0('workspace/workspaceFolders');\r
-})(WorkspaceFoldersRequest = exports.WorkspaceFoldersRequest || (exports.WorkspaceFoldersRequest = {}));\r
-/**\r
- * The `workspace/didChangeWorkspaceFolders` notification is sent from the client to the server when the workspace\r
- * folder configuration changes.\r
- */\r
-var DidChangeWorkspaceFoldersNotification;\r
-(function (DidChangeWorkspaceFoldersNotification) {\r
-    DidChangeWorkspaceFoldersNotification.type = new messages_1.ProtocolNotificationType('workspace/didChangeWorkspaceFolders');\r
-})(DidChangeWorkspaceFoldersNotification = exports.DidChangeWorkspaceFoldersNotification || (exports.DidChangeWorkspaceFoldersNotification = {}));\r
-
-
-/***/ }),
-/* 25 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const messages_1 = __webpack_require__(21);\r
-/**\r
- * The 'workspace/configuration' request is sent from the server to the client to fetch a certain\r
- * configuration setting.\r
- *\r
- * This pull model replaces the old push model were the client signaled configuration change via an\r
- * event. If the server still needs to react to configuration changes (since the server caches the\r
- * result of `workspace/configuration` requests) the server should register for an empty configuration\r
- * change event and empty the cache if such an event is received.\r
- */\r
-var ConfigurationRequest;\r
-(function (ConfigurationRequest) {\r
-    ConfigurationRequest.type = new messages_1.ProtocolRequestType('workspace/configuration');\r
-})(ConfigurationRequest = exports.ConfigurationRequest || (exports.ConfigurationRequest = {}));\r
-
-
-/***/ }),
-/* 26 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(5);\r
-const messages_1 = __webpack_require__(21);\r
-/**\r
- * A request to list all color symbols found in a given text document. The request's\r
- * parameter is of type [DocumentColorParams](#DocumentColorParams) the\r
- * response is of type [ColorInformation[]](#ColorInformation) or a Thenable\r
- * that resolves to such.\r
- */\r
-var DocumentColorRequest;\r
-(function (DocumentColorRequest) {\r
-    DocumentColorRequest.method = 'textDocument/documentColor';\r
-    DocumentColorRequest.type = new messages_1.ProtocolRequestType(DocumentColorRequest.method);\r
-    /** @deprecated Use DocumentColorRequest.type */\r
-    DocumentColorRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(DocumentColorRequest = exports.DocumentColorRequest || (exports.DocumentColorRequest = {}));\r
-/**\r
- * A request to list all presentation for a color. The request's\r
- * parameter is of type [ColorPresentationParams](#ColorPresentationParams) the\r
- * response is of type [ColorInformation[]](#ColorInformation) or a Thenable\r
- * that resolves to such.\r
- */\r
-var ColorPresentationRequest;\r
-(function (ColorPresentationRequest) {\r
-    ColorPresentationRequest.type = new messages_1.ProtocolRequestType('textDocument/colorPresentation');\r
-})(ColorPresentationRequest = exports.ColorPresentationRequest || (exports.ColorPresentationRequest = {}));\r
-
-
-/***/ }),
-/* 27 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-\r
-/*---------------------------------------------------------------------------------------------\r
- *  Copyright (c) Microsoft Corporation. All rights reserved.\r
- *  Licensed under the MIT License. See License.txt in the project root for license information.\r
- *--------------------------------------------------------------------------------------------*/\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(5);\r
-const messages_1 = __webpack_require__(21);\r
-/**\r
- * Enum of known range kinds\r
- */\r
-var FoldingRangeKind;\r
-(function (FoldingRangeKind) {\r
-    /**\r
-     * Folding range for a comment\r
-     */\r
-    FoldingRangeKind["Comment"] = "comment";\r
-    /**\r
-     * Folding range for a imports or includes\r
-     */\r
-    FoldingRangeKind["Imports"] = "imports";\r
-    /**\r
-     * Folding range for a region (e.g. `#region`)\r
-     */\r
-    FoldingRangeKind["Region"] = "region";\r
-})(FoldingRangeKind = exports.FoldingRangeKind || (exports.FoldingRangeKind = {}));\r
-/**\r
- * A request to provide folding ranges in a document. The request's\r
- * parameter is of type [FoldingRangeParams](#FoldingRangeParams), the\r
- * response is of type [FoldingRangeList](#FoldingRangeList) or a Thenable\r
- * that resolves to such.\r
- */\r
-var FoldingRangeRequest;\r
-(function (FoldingRangeRequest) {\r
-    FoldingRangeRequest.method = 'textDocument/foldingRange';\r
-    FoldingRangeRequest.type = new messages_1.ProtocolRequestType(FoldingRangeRequest.method);\r
-    /** @deprecated Use FoldingRangeRequest.type */\r
-    FoldingRangeRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(FoldingRangeRequest = exports.FoldingRangeRequest || (exports.FoldingRangeRequest = {}));\r
-
-
-/***/ }),
-/* 28 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(5);\r
-const messages_1 = __webpack_require__(21);\r
-// @ts-ignore: to avoid inlining LocatioLink as dynamic import\r
-let __noDynamicImport;\r
-/**\r
- * A request to resolve the type definition locations of a symbol at a given text\r
- * document position. The request's parameter is of type [TextDocumentPositioParams]\r
- * (#TextDocumentPositionParams) the response is of type [Declaration](#Declaration)\r
- * or a typed array of [DeclarationLink](#DeclarationLink) or a Thenable that resolves\r
- * to such.\r
- */\r
-var DeclarationRequest;\r
-(function (DeclarationRequest) {\r
-    DeclarationRequest.method = 'textDocument/declaration';\r
-    DeclarationRequest.type = new messages_1.ProtocolRequestType(DeclarationRequest.method);\r
-    /** @deprecated Use DeclarationRequest.type */\r
-    DeclarationRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(DeclarationRequest = exports.DeclarationRequest || (exports.DeclarationRequest = {}));\r
-
-
-/***/ }),
-/* 29 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-\r
-/*---------------------------------------------------------------------------------------------\r
- *  Copyright (c) Microsoft Corporation. All rights reserved.\r
- *  Licensed under the MIT License. See License.txt in the project root for license information.\r
- *--------------------------------------------------------------------------------------------*/\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(5);\r
-const messages_1 = __webpack_require__(21);\r
-/**\r
- * A request to provide selection ranges in a document. The request's\r
- * parameter is of type [SelectionRangeParams](#SelectionRangeParams), the\r
- * response is of type [SelectionRange[]](#SelectionRange[]) or a Thenable\r
- * that resolves to such.\r
- */\r
-var SelectionRangeRequest;\r
-(function (SelectionRangeRequest) {\r
-    SelectionRangeRequest.method = 'textDocument/selectionRange';\r
-    SelectionRangeRequest.type = new messages_1.ProtocolRequestType(SelectionRangeRequest.method);\r
-    /** @deprecated  Use SelectionRangeRequest.type */\r
-    SelectionRangeRequest.resultType = new vscode_jsonrpc_1.ProgressType();\r
-})(SelectionRangeRequest = exports.SelectionRangeRequest || (exports.SelectionRangeRequest = {}));\r
-
-
-/***/ }),
-/* 30 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const vscode_jsonrpc_1 = __webpack_require__(5);\r
-const messages_1 = __webpack_require__(21);\r
-var WorkDoneProgress;\r
-(function (WorkDoneProgress) {\r
-    WorkDoneProgress.type = new vscode_jsonrpc_1.ProgressType();\r
-})(WorkDoneProgress = exports.WorkDoneProgress || (exports.WorkDoneProgress = {}));\r
-/**\r
- * The `window/workDoneProgress/create` request is sent from the server to the client to initiate progress\r
- * reporting from the server.\r
- */\r
-var WorkDoneProgressCreateRequest;\r
-(function (WorkDoneProgressCreateRequest) {\r
-    WorkDoneProgressCreateRequest.type = new messages_1.ProtocolRequestType('window/workDoneProgress/create');\r
-})(WorkDoneProgressCreateRequest = exports.WorkDoneProgressCreateRequest || (exports.WorkDoneProgressCreateRequest = {}));\r
-/**\r
- * The `window/workDoneProgress/cancel` notification is sent from  the client to the server to cancel a progress\r
- * initiated on the server side.\r
- */\r
-var WorkDoneProgressCancelNotification;\r
-(function (WorkDoneProgressCancelNotification) {\r
-    WorkDoneProgressCancelNotification.type = new messages_1.ProtocolNotificationType('window/workDoneProgress/cancel');\r
-})(WorkDoneProgressCancelNotification = exports.WorkDoneProgressCancelNotification || (exports.WorkDoneProgressCancelNotification = {}));\r
-
-
-/***/ }),
-/* 31 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) TypeFox and others. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const messages_1 = __webpack_require__(21);\r
-/**\r
- * A request to result a `CallHierarchyItem` in a document at a given position.\r
- * Can be used as an input to a incoming or outgoing call hierarchy.\r
- *\r
- * @since 3.16.0 - Proposed state\r
- */\r
-var CallHierarchyPrepareRequest;\r
-(function (CallHierarchyPrepareRequest) {\r
-    CallHierarchyPrepareRequest.method = 'textDocument/prepareCallHierarchy';\r
-    CallHierarchyPrepareRequest.type = new messages_1.ProtocolRequestType(CallHierarchyPrepareRequest.method);\r
-})(CallHierarchyPrepareRequest = exports.CallHierarchyPrepareRequest || (exports.CallHierarchyPrepareRequest = {}));\r
-/**\r
- * A request to resolve the incoming calls for a given `CallHierarchyItem`.\r
- *\r
- * @since 3.16.0 - Proposed state\r
- */\r
-var CallHierarchyIncomingCallsRequest;\r
-(function (CallHierarchyIncomingCallsRequest) {\r
-    CallHierarchyIncomingCallsRequest.method = 'callHierarchy/incomingCalls';\r
-    CallHierarchyIncomingCallsRequest.type = new messages_1.ProtocolRequestType(CallHierarchyIncomingCallsRequest.method);\r
-})(CallHierarchyIncomingCallsRequest = exports.CallHierarchyIncomingCallsRequest || (exports.CallHierarchyIncomingCallsRequest = {}));\r
-/**\r
- * A request to resolve the outgoing calls for a given `CallHierarchyItem`.\r
- *\r
- * @since 3.16.0 - Proposed state\r
- */\r
-var CallHierarchyOutgoingCallsRequest;\r
-(function (CallHierarchyOutgoingCallsRequest) {\r
-    CallHierarchyOutgoingCallsRequest.method = 'callHierarchy/outgoingCalls';\r
-    CallHierarchyOutgoingCallsRequest.type = new messages_1.ProtocolRequestType(CallHierarchyOutgoingCallsRequest.method);\r
-})(CallHierarchyOutgoingCallsRequest = exports.CallHierarchyOutgoingCallsRequest || (exports.CallHierarchyOutgoingCallsRequest = {}));\r
-
-
-/***/ }),
-/* 32 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* --------------------------------------------------------------------------------------------\r
- * Copyright (c) Microsoft Corporation. All rights reserved.\r
- * Licensed under the MIT License. See License.txt in the project root for license information.\r
- * ------------------------------------------------------------------------------------------ */\r
-\r
-Object.defineProperty(exports, "__esModule", { value: true });\r
-const messages_1 = __webpack_require__(21);\r
-/**\r
- * A set of predefined token types. This set is not fixed\r
- * an clients can specify additional token types via the\r
- * corresponding client capabilities.\r
- *\r
- * @since 3.16.0 - Proposed state\r
- */\r
-var SemanticTokenTypes;\r
-(function (SemanticTokenTypes) {\r
-    SemanticTokenTypes["comment"] = "comment";\r
-    SemanticTokenTypes["keyword"] = "keyword";\r
-    SemanticTokenTypes["string"] = "string";\r
-    SemanticTokenTypes["number"] = "number";\r
-    SemanticTokenTypes["regexp"] = "regexp";\r
-    SemanticTokenTypes["operator"] = "operator";\r
-    SemanticTokenTypes["namespace"] = "namespace";\r
-    SemanticTokenTypes["type"] = "type";\r
-    SemanticTokenTypes["struct"] = "struct";\r
-    SemanticTokenTypes["class"] = "class";\r
-    SemanticTokenTypes["interface"] = "interface";\r
-    SemanticTokenTypes["enum"] = "enum";\r
-    SemanticTokenTypes["typeParameter"] = "typeParameter";\r
-    SemanticTokenTypes["function"] = "function";\r
-    SemanticTokenTypes["member"] = "member";\r
-    SemanticTokenTypes["property"] = "property";\r
-    SemanticTokenTypes["macro"] = "macro";\r
-    SemanticTokenTypes["variable"] = "variable";\r
-    SemanticTokenTypes["parameter"] = "parameter";\r
-    SemanticTokenTypes["label"] = "label";\r
-})(SemanticTokenTypes = exports.SemanticTokenTypes || (exports.SemanticTokenTypes = {}));\r
-/**\r
- * A set of predefined token modifiers. This set is not fixed\r
- * an clients can specify additional token types via the\r
- * corresponding client capabilities.\r
- *\r
- * @since 3.16.0 - Proposed state\r
- */\r
-var SemanticTokenModifiers;\r
-(function (SemanticTokenModifiers) {\r
-    SemanticTokenModifiers["documentation"] = "documentation";\r
-    SemanticTokenModifiers["declaration"] = "declaration";\r
-    SemanticTokenModifiers["definition"] = "definition";\r
-    SemanticTokenModifiers["reference"] = "reference";\r
-    SemanticTokenModifiers["static"] = "static";\r
-    SemanticTokenModifiers["abstract"] = "abstract";\r
-    SemanticTokenModifiers["deprecated"] = "deprecated";\r
-    SemanticTokenModifiers["async"] = "async";\r
-    SemanticTokenModifiers["volatile"] = "volatile";\r
-    SemanticTokenModifiers["readonly"] = "readonly";\r
-})(SemanticTokenModifiers = exports.SemanticTokenModifiers || (exports.SemanticTokenModifiers = {}));\r
-/**\r
- * @since 3.16.0 - Proposed state\r
- */\r
-var SemanticTokens;\r
-(function (SemanticTokens) {\r
-    function is(value) {\r
-        const candidate = value;\r
-        return candidate !== undefined && (candidate.resultId === undefined || typeof candidate.resultId === 'string') &&\r
-            Array.isArray(candidate.data) && (candidate.data.length === 0 || typeof candidate.data[0] === 'number');\r
-    }\r
-    SemanticTokens.is = is;\r
-})(SemanticTokens = exports.SemanticTokens || (exports.SemanticTokens = {}));\r
-/**\r
- * @since 3.16.0 - Proposed state\r
- */\r
-var SemanticTokensRequest;\r
-(function (SemanticTokensRequest) {\r
-    SemanticTokensRequest.method = 'textDocument/semanticTokens';\r
-    SemanticTokensRequest.type = new messages_1.ProtocolRequestType(SemanticTokensRequest.method);\r
-})(SemanticTokensRequest = exports.SemanticTokensRequest || (exports.SemanticTokensRequest = {}));\r
-/**\r
- * @since 3.16.0 - Proposed state\r
- */\r
-var SemanticTokensEditsRequest;\r
-(function (SemanticTokensEditsRequest) {\r
-    SemanticTokensEditsRequest.method = 'textDocument/semanticTokens/edits';\r
-    SemanticTokensEditsRequest.type = new messages_1.ProtocolRequestType(SemanticTokensEditsRequest.method);\r
-})(SemanticTokensEditsRequest = exports.SemanticTokensEditsRequest || (exports.SemanticTokensEditsRequest = {}));\r
-/**\r
- * @since 3.16.0 - Proposed state\r
- */\r
-var SemanticTokensRangeRequest;\r
-(function (SemanticTokensRangeRequest) {\r
-    SemanticTokensRangeRequest.method = 'textDocument/semanticTokens/range';\r
-    SemanticTokensRangeRequest.type = new messages_1.ProtocolRequestType(SemanticTokensRangeRequest.method);\r
-})(SemanticTokensRangeRequest = exports.SemanticTokensRangeRequest || (exports.SemanticTokensRangeRequest = {}));\r
-
-
-/***/ }),
-/* 33 */
-/***/ (function(module) {
-
-module.exports = JSON.parse("{\"$schema\":\"https://json.schemastore.org/schema-catalog\",\"version\":1,\"schemas\":[{\"name\":\".angular-cli.json\",\"description\":\"Angular CLI configuration file\",\"fileMatch\":[\".angular-cli.json\",\"angular-cli.json\"],\"url\":\"https://raw.githubusercontent.com/angular/angular-cli/master/packages/angular/cli/lib/config/schema.json\"},{\"name\":\"Ansible Role\",\"description\":\"Ansible role task files\",\"url\":\"https://json.schemastore.org/ansible-role-2.9\",\"fileMatch\":[\"**/tasks/*.yml\",\"**/tasks/*.yaml\"],\"versions\":{\"2.0\":\"https://json.schemastore.org/ansible-role-2.0\",\"2.1\":\"https://json.schemastore.org/ansible-role-2.1\",\"2.2\":\"https://json.schemastore.org/ansible-role-2.2\",\"2.3\":\"https://json.schemastore.org/ansible-role-2.3\",\"2.4\":\"https://json.schemastore.org/ansible-role-2.4\",\"2.5\":\"https://json.schemastore.org/ansible-role-2.5\",\"2.6\":\"https://json.schemastore.org/ansible-role-2.6\",\"2.7\":\"https://json.schemastore.org/ansible-role-2.7\",\"2.9\":\"https://json.schemastore.org/ansible-role-2.9\"}},{\"name\":\"Ansible Playbook\",\"description\":\"Ansible playbook files\",\"url\":\"https://json.schemastore.org/ansible-playbook\",\"fileMatch\":[\"playbook.yml\",\"playbook.yaml\"]},{\"name\":\"Ansible Inventory\",\"description\":\"Ansible inventory files\",\"url\":\"https://json.schemastore.org/ansible-inventory\",\"fileMatch\":[\"inventory.yml\",\"inventory.yaml\"]},{\"name\":\"Ansible Collection Galaxy\",\"description\":\"Ansible Collection Galaxy metadata\",\"url\":\"https://json.schemastore.org/ansible-collection-galaxy\",\"fileMatch\":[\"galaxy.yml\",\"galaxy.yaml\"]},{\"name\":\"apple-app-site-association\",\"description\":\"Apple Universal Link, App Site Association\",\"fileMatch\":[\"apple-app-site-association\"],\"url\":\"https://json.schemastore.org/apple-app-site-association\"},{\"name\":\"appsscript.json\",\"description\":\"Google Apps Script manifest file\",\"fileMatch\":[\"appsscript.json\"],\"url\":\"https://json.schemastore.org/appsscript\"},{\"name\":\"appsettings.json\",\"description\":\"ASP.NET Core's configuration file\",\"fileMatch\":[\"appsettings.json\",\"appsettings.*.json\"],\"url\":\"https://json.schemastore.org/appsettings\"},{\"name\":\"appveyor.yml\",\"description\":\"AppVeyor CI configuration file\",\"fileMatch\":[\"appveyor.yml\"],\"url\":\"https://json.schemastore.org/appveyor\"},{\"name\":\"arc.json\",\"description\":\"A JSON schema for OpenJS Architect\",\"fileMatch\":[\"arc.json\",\"arc.yml\",\"arc.yaml\"],\"url\":\"https://raw.githubusercontent.com/architect/parser/master/schema.json\"},{\"name\":\"Avro Avsc\",\"description\":\"Avro Schema Avsc file\",\"fileMatch\":[\".avsc\"],\"url\":\"https://json.schemastore.org/avro-avsc\"},{\"name\":\"Azure IoT Edge deployment\",\"description\":\"Azure IoT Edge deployment schema\",\"url\":\"https://json.schemastore.org/azure-iot-edge-deployment-2.0\",\"versions\":{\"1.0\":\"https://json.schemastore.org/azure-iot-edge-deployment-1.0\",\"1.1\":\"https://json.schemastore.org/azure-iot-edge-deployment-2.0\"}},{\"name\":\"Azure IoT Edge deployment template\",\"description\":\"Azure IoT Edge deployment template schema\",\"fileMatch\":[\"deployment.template.json\",\"deployment.*.template.json\"],\"url\":\"https://json.schemastore.org/azure-iot-edge-deployment-template-2.0\",\"versions\":{\"1.0\":\"https://json.schemastore.org/azure-iot-edge-deployment-template-1.0\",\"1.1\":\"https://json.schemastore.org/azure-iot-edge-deployment-template-2.0\"}},{\"name\":\"Azure Pipelines\",\"description\":\"Azure Pipelines YAML pipelines definition\",\"fileMatch\":[\"azure-pipelines.yml\",\"azure-pipelines.yaml\"],\"url\":\"https://raw.githubusercontent.com/microsoft/azure-pipelines-vscode/master/service-schema.json\"},{\"name\":\"Foxx Manifest\",\"description\":\"ArangoDB Foxx service manifest file\",\"fileMatch\":[\"manifest.json\"],\"url\":\"https://json.schemastore.org/foxx-manifest\"},{\"name\":\".asmdef\",\"description\":\"Unity 3D assembly definition file\",\"fileMatch\":[\"*.asmdef\"],\"url\":\"https://json.schemastore.org/asmdef\"},{\"name\":\"babelrc.json\",\"description\":\"Babel configuration file\",\"fileMatch\":[\".babelrc\",\"babel.config.json\"],\"url\":\"https://json.schemastore.org/babelrc\"},{\"name\":\".backportrc.json\",\"description\":\"Backport configuration file\",\"fileMatch\":[\".backportrc.json\"],\"url\":\"https://json.schemastore.org/backportrc\"},{\"name\":\"batect.yml\",\"description\":\"batect configuration file\",\"fileMatch\":[\"batect.yml\",\"batect-bundle.yml\"],\"url\":\"https://batect.dev/configSchema.json\"},{\"name\":\"bamboo-spec\",\"description\":\"The Bamboo Specs allows you to define Bamboo configuration as code, and have corresponding plans/deployments created or updated automatically in Bamboo\",\"url\":\"https://json.schemastore.org/bamboo-spec\",\"fileMatch\":[\"bamboo.yaml\",\"bamboo.yml\"]},{\"name\":\"bitbucket-pipelines\",\"description\":\"Bitbucket Pipelines CI/CD manifest schema\",\"url\":\"https://bitbucket.org/atlassianlabs/atlascode/raw/main/resources/schemas/pipelines-schema.json\",\"fileMatch\":[\"bitbucket-pipelines.yml\",\"bitbucket-pipelines.yaml\"]},{\"name\":\".bootstraprc\",\"description\":\"Webpack bootstrap-loader configuration file\",\"fileMatch\":[\".bootstraprc\"],\"url\":\"https://json.schemastore.org/bootstraprc\"},{\"name\":\"bower.json\",\"description\":\"Bower package description file\",\"fileMatch\":[\"bower.json\",\".bower.json\"],\"url\":\"https://json.schemastore.org/bower\"},{\"name\":\".bowerrc\",\"description\":\"Bower configuration file\",\"fileMatch\":[\".bowerrc\"],\"url\":\"https://json.schemastore.org/bowerrc\"},{\"name\":\"behat.yml\",\"description\":\"Behat configuration file\",\"fileMatch\":[\"behat.yml\",\"*.behat.yml\"],\"url\":\"https://json.schemastore.org/behat\"},{\"name\":\"bozr.suite.json\",\"description\":\"Bozr test suite file\",\"fileMatch\":[\".suite.json\",\".xsuite.json\"],\"url\":\"https://json.schemastore.org/bozr\"},{\"name\":\"bucklescript\",\"description\":\"BuckleScript configuration file\",\"fileMatch\":[\"bsconfig.json\"],\"url\":\"https://bucklescript.github.io/bucklescript/docson/build-schema.json\"},{\"name\":\"Bukkit plugin.yml\",\"description\":\"Schema for Minecraft Bukkit plugin description files\",\"fileMatch\":[\"plugin.yml\"],\"url\":\"https://json.schemastore.org/bukkit-plugin\"},{\"name\":\"Buildkite\",\"description\":\"Schema for Buildkite pipeline.yml files\",\"fileMatch\":[\"buildkite.yml\",\"buildkite.yaml\",\"buildkite.json\",\"buildkite.*.yml\",\"buildkite.*.yaml\",\"buildkite.*.json\",\".buildkite/pipeline.yml\",\".buildkite/pipeline.yaml\",\".buildkite/pipeline.json\",\".buildkite/pipeline.*.yml\",\".buildkite/pipeline.*.yaml\",\".buildkite/pipeline.*.json\"],\"url\":\"https://raw.githubusercontent.com/buildkite/pipeline-schema/master/schema.json\"},{\"name\":\".build.yml\",\"description\":\"Sourcehut Build Manifest\",\"fileMatch\":[\".build.yml\"],\"url\":\"https://json.schemastore.org/sourcehut-build\"},{\"name\":\"bundleconfig.json\",\"description\":\"Schema for bundleconfig.json files\",\"fileMatch\":[\"bundleconfig.json\"],\"url\":\"https://json.schemastore.org/bundleconfig\"},{\"name\":\"BungeeCord plugin.yml\",\"description\":\"Schema for BungeeCord plugin description files\",\"fileMatch\":[\"plugin.yml\",\"bungee.yml\"],\"url\":\"https://json.schemastore.org/bungee-plugin\"},{\"name\":\"Camel K YAML DSL\",\"description\":\"Schema for Camel K YAML DSL\",\"fileMatch\":[\"*.camelk.yaml\"],\"url\":\"https://raw.githubusercontent.com/apache/camel-k-runtime/master/camel-k-loader-yaml/camel-k-loader-yaml/src/generated/resources/camel-yaml-dsl.json\"},{\"name\":\"Carafe\",\"description\":\"Schema for Carafe compatible JavaScript Bundles\",\"url\":\"https://carafe.fm/schema/draft-02/bundle.schema.json\",\"versions\":{\"draft-02\":\"https://carafe.fm/schema/draft-02/bundle.schema.json\",\"draft-01\":\"https://carafe.fm/schema/draft-01/bundle.schema.json\"}},{\"name\":\"CityJSON\",\"description\":\"Schema for the representation of 3D city models\",\"url\":\"https://raw.githubusercontent.com/cityjson/specs/master/schemas/cityjson.min.schema.json\"},{\"name\":\"CircleCI config.yml\",\"description\":\"Schema for CircleCI 2.0 config files\",\"fileMatch\":[\".circleci/config.yml\"],\"url\":\"https://json.schemastore.org/circleciconfig\"},{\"name\":\".cirrus.yml\",\"description\":\"Cirrus CI configuration files\",\"fileMatch\":[\".cirrus.yml\"],\"url\":\"https://json.schemastore.org/cirrus\"},{\"name\":\".clasp.json\",\"description\":\"Google Apps Script CLI project file\",\"fileMatch\":[\".clasp.json\"],\"url\":\"https://json.schemastore.org/clasp\"},{\"name\":\"cloudify\",\"description\":\"Cloudify Blueprint\",\"fileMatch\":[\"*.cfy.yaml\"],\"url\":\"https://json.schemastore.org/cloudify\"},{\"name\":\"JSON schema for Codecov configuration files\",\"description\":\"Schema for codecov.yml files.\",\"fileMatch\":[\".codecov.yml\",\"codecov.yml\"],\"url\":\"https://json.schemastore.org/codecov\"},{\"name\":\"compilerconfig.json\",\"description\":\"Schema for compilerconfig.json files\",\"fileMatch\":[\"compilerconfig.json\"],\"url\":\"https://json.schemastore.org/compilerconfig\"},{\"name\":\"compile_commands.json\",\"description\":\"LLVM compilation database\",\"fileMatch\":[\"compile_commands.json\"],\"url\":\"https://json.schemastore.org/compile-commands\"},{\"name\":\"cosmos.config.json\",\"description\":\"React Cosmos configuration file\",\"fileMatch\":[\"cosmos.config.json\"],\"url\":\"https://json.schemastore.org/cosmos-config\"},{\"name\":\"Chrome Extension\",\"description\":\"Google Chrome extension manifest file\",\"url\":\"https://json.schemastore.org/chrome-manifest\"},{\"name\":\"chutzpah.json\",\"description\":\"Chutzpah configuration file\",\"fileMatch\":[\"chutzpah.json\"],\"url\":\"https://json.schemastore.org/chutzpah\"},{\"name\":\"contentmanifest.json\",\"description\":\"Visual Studio manifest injection file\",\"fileMatch\":[\"contentmanifest.json\"],\"url\":\"https://json.schemastore.org/vsix-manifestinjection\"},{\"name\":\"cloud-sdk-pipeline-config-schema\",\"description\":\"SAP Cloud SDK Pipeline configuration\",\"fileMatch\":[\"pipeline_config.yml\"],\"url\":\"https://json.schemastore.org/cloud-sdk-pipeline-config-schema.json\"},{\"name\":\"cloudbuild.json\",\"description\":\"Google Cloud Build configuration file\",\"fileMatch\":[\"cloudbuild.json\",\"cloudbuild.yaml\",\"cloudbuild.yml\",\"*.cloudbuild.json\",\"*.cloudbuild.yaml\",\"*.cloudbuild.yml\"],\"url\":\"https://json.schemastore.org/cloudbuild\"},{\"name\":\"AWS CloudFormation\",\"description\":\"AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment.\",\"fileMatch\":[\"*.cf.json\",\"*.cf.yml\",\"*.cf.yaml\",\"cloudformation.json\",\"cloudformation.yml\",\"cloudformation.yaml\"],\"url\":\"https://raw.githubusercontent.com/awslabs/goformation/master/schema/cloudformation.schema.json\"},{\"name\":\"AWS CloudFormation Serverless Application Model (SAM)\",\"description\":\"The AWS Serverless Application Model (AWS SAM, previously known as Project Flourish) extends AWS CloudFormation to provide a simplified way of defining the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application.\",\"fileMatch\":[\"*.sam.json\",\"*.sam.yml\",\"*.sam.yaml\",\"sam.json\",\"sam.yml\",\"sam.yaml\"],\"url\":\"https://raw.githubusercontent.com/awslabs/goformation/master/schema/sam.schema.json\"},{\"name\":\"coffeelint.json\",\"description\":\"CoffeeLint configuration file\",\"fileMatch\":[\"coffeelint.json\"],\"url\":\"https://json.schemastore.org/coffeelint\"},{\"name\":\"composer.json\",\"description\":\"PHP Composer configuration file\",\"fileMatch\":[\"composer.json\"],\"url\":\"https://json.schemastore.org/composer\"},{\"name\":\"component.json\",\"description\":\"Web component file\",\"fileMatch\":[\"component.json\"],\"url\":\"https://json.schemastore.org/component\"},{\"name\":\"config.json\",\"description\":\"ASP.NET project config file\",\"fileMatch\":[\"config.json\"],\"url\":\"https://json.schemastore.org/config\"},{\"name\":\"contribute.json\",\"description\":\"A JSON schema for open-source project contribution data by Mozilla\",\"fileMatch\":[\"contribute.json\"],\"url\":\"https://json.schemastore.org/contribute\"},{\"name\":\"cypress.json\",\"description\":\"Cypress.io test runner configuration file\",\"fileMatch\":[\"cypress.json\"],\"url\":\"https://raw.githubusercontent.com/cypress-io/cypress/develop/cli/schema/cypress.schema.json\"},{\"name\":\".creatomic\",\"description\":\"A config for Atomic Design 4 React generator\",\"fileMatch\":[\".creatomic\"],\"url\":\"https://json.schemastore.org/creatomic\"},{\"name\":\"cspell\",\"description\":\"JSON schema for cspell configuration file\",\"fileMatch\":[\".cspell.json\",\"cspell.json\",\"cSpell.json\"],\"url\":\"https://raw.githubusercontent.com/streetsidesoftware/cspell/master/cspell.schema.json\"},{\"name\":\".csscomb.json\",\"description\":\"A JSON schema CSS Comb's configuration file\",\"fileMatch\":[\".csscomb.json\"],\"url\":\"https://json.schemastore.org/csscomb\"},{\"name\":\".csslintrc\",\"description\":\"A JSON schema CSS Lint's configuration file\",\"fileMatch\":[\".csslintrc\"],\"url\":\"https://json.schemastore.org/csslintrc\"},{\"name\":\"Dart build configuration\",\"description\":\"Configuration for Dart's build system\",\"url\":\"https://json.schemastore.org/dart-build\"},{\"name\":\"datalogic-scan2deploy-android\",\"description\":\"Datalogic Scan2Deploy Android file\",\"fileMatch\":[\".dla.json\"],\"url\":\"https://json.schemastore.org/datalogic-scan2deploy-android\"},{\"name\":\"datalogic-scan2deploy-ce\",\"description\":\"Datalogic Scan2Deploy CE file\",\"fileMatch\":[\".dlc.json\"],\"url\":\"https://json.schemastore.org/datalogic-scan2deploy-ce\"},{\"name\":\"debugsettings.json\",\"description\":\"A JSON schema for the ASP.NET DebugSettings.json files\",\"fileMatch\":[\"debugsettings.json\"],\"url\":\"https://json.schemastore.org/debugsettings\"},{\"name\":\"dependabot.json\",\"description\":\"A JSON schema for the Dependabot config.yml files\",\"fileMatch\":[\".dependabot/config.yml\"],\"url\":\"https://json.schemastore.org/dependabot\"},{\"name\":\"dependabot-v2.json\",\"description\":\"A JSON schema for the Github Action's dependabot.yml files\",\"fileMatch\":[\".github/dependabot.yml\"],\"url\":\"https://json.schemastore.org/dependabot-2.0\"},{\"name\":\"docfx.json\",\"description\":\"A JSON schema for DocFx configuraton files\",\"fileMatch\":[\"docfx.json\"],\"url\":\"https://json.schemastore.org/docfx\",\"versions\":{\"2.8.0\":\"https://json.schemastore.org/docfx-2.8.0\"}},{\"name\":\"Dolittle Artifacts\",\"description\":\"A JSON schema for a Dolittle bounded context's artifacts\",\"fileMatch\":[\".dolittle/artifacts.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/DotNET.SDK/master/Schemas/Artifacts.Configuration/artifacts.json\"},{\"name\":\"Dolittle Bounded Context Configuration\",\"description\":\"A JSON schema for Dolittle application's bounded context configuration\",\"fileMatch\":[\"bounded-context.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Applications.Configuration/bounded-context.json\"},{\"name\":\"Dolittle Event Horizons Configuration\",\"description\":\"A JSON schema for a Dolittle bounded context's event horizon configurations\",\"fileMatch\":[\".dolittle/event-horizons.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Events/event-horizons.json\"},{\"name\":\"Dolittle Resources Configuration\",\"description\":\"A JSON schema for a Dolittle bounded context's resource configurations\",\"fileMatch\":[\".dolittle/resources.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/DotNET.Fundamentals/master/Schemas/ResourceTypes.Configuration/resources.json\"},{\"name\":\"Dolittle Server Configuration\",\"description\":\"A JSON schema for a Dolittle bounded context's event horizon's interaction server configuration\",\"fileMatch\":[\".dolittle/server.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Server/server.json\"},{\"name\":\"Dolittle Tenants Configuration\",\"description\":\"A JSON schema for a Dolittle bounded context's tenant configuration\",\"fileMatch\":[\".dolittle/tenants.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Tenancy/tenants.json\"},{\"name\":\"Dolittle Tenant Map Configuration\",\"description\":\"A JSON schema for a Dolittle bounded context's tenant mapping configurations\",\"fileMatch\":[\".dolittle/tenant-map.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/DotNET.Fundamentals/master/Schemas/Tenancy.Configuration/tenant-map.json\"},{\"name\":\"Dolittle Topology\",\"description\":\"A JSON schema for a Dolittle bounded context's topology\",\"fileMatch\":[\".dolittle/topology.json\"],\"url\":\"https://raw.githubusercontent.com/dolittle/DotNET.SDK/master/Schemas/Applications.Configuration/topology.json\"},{\"name\":\"dotnetcli.host.json\",\"description\":\"JSON schema for .NET CLI template host files\",\"fileMatch\":[\"dotnetcli.host.json\"],\"url\":\"https://json.schemastore.org/dotnetcli.host\"},{\"name\":\"drone.json\",\"description\":\"Drone CI configuration file\",\"fileMatch\":[\".drone.yml\"],\"url\":\"https://json.schemastore.org/drone\"},{\"name\":\"Drush site aliases\",\"description\":\"JSON Schema for Drush 9 site aliases file\",\"fileMatch\":[\"sites/*.site.yml\"],\"url\":\"https://json.schemastore.org/drush.site.yml\"},{\"name\":\"dss-2.0.0.json\",\"description\":\"Digital Signature Service Core Protocols, Elements, and Bindings Version 2.0\",\"url\":\"https://json.schemastore.org/dss-2.0.0.json\"},{\"name\":\"dvc.yaml\",\"description\":\"JSON Schema for dvc.yaml file\",\"fileMatch\":[\"dvc.yaml\"],\"url\":\"https://raw.githubusercontent.com/iterative/dvcyaml-schema/master/schema.json\"},{\"name\":\"Eclipse Che Devfile\",\"description\":\"JSON schema for Eclipse Che Devfiles\",\"url\":\"https://raw.githubusercontent.com/eclipse/che/master/wsmaster/che-core-api-workspace/src/main/resources/schema/1.0.0/devfile.json\",\"fileMatch\":[\"devfile.yaml\",\".devfile.yaml\"]},{\"name\":\"Esquio\",\"description\":\"JSON schema for Esquio configuration files\",\"url\":\"https://json.schemastore.org/esquio\"},{\"name\":\"epr-manifest.json\",\"description\":\"Entry Point Regulation manifest file\",\"fileMatch\":[\"epr-manifest.json\"],\"url\":\"https://json.schemastore.org/epr-manifest\"},{\"name\":\"electron-builder configuration file.\",\"description\":\"JSON schema for electron-build configuration file.\",\"fileMatch\":[\"electron-builder.json\"],\"url\":\"https://json.schemastore.org/electron-builder\"},{\"name\":\"Expo SDK\",\"description\":\"JSON schema for Expo SDK app manifest\",\"fileMatch\":[\"app.json\"],\"url\":\"https://json.schemastore.org/expo-37.0.0.json\"},{\"name\":\".eslintrc\",\"description\":\"JSON schema for ESLint configuration files\",\"fileMatch\":[\".eslintrc\",\".eslintrc.json\",\".eslintrc.yml\",\".eslintrc.yaml\"],\"url\":\"https://json.schemastore.org/eslintrc\"},{\"name\":\"fabric.mod.json\",\"description\":\"Metadata file used by the Fabric mod loader\",\"fileMatch\":[\"fabric.mod.json\"],\"url\":\"https://json.schemastore.org/fabric.mod.json\"},{\"name\":\"function.json\",\"description\":\"JSON schema for Azure Functions function.json files\",\"fileMatch\":[\"function.json\"],\"url\":\"https://json.schemastore.org/function\"},{\"name\":\"geojson.json\",\"description\":\"GeoJSON format for representing geographic data.\",\"url\":\"https://json.schemastore.org/geojson\"},{\"name\":\"GitVersion\",\"description\":\"The output from the GitVersion tool\",\"fileMatch\":[\"gitversion.json\"],\"url\":\"https://json.schemastore.org/gitversion\"},{\"name\":\"GitHub Action\",\"description\":\"YAML schema for GitHub Actions\",\"fileMatch\":[\"action.yml\",\"action.yaml\"],\"url\":\"https://json.schemastore.org/github-action\"},{\"name\":\"GitHub Workflow\",\"description\":\"YAML schema for GitHub Workflow\",\"fileMatch\":[\".github/workflows/**.yml\",\".github/workflows/**.yaml\"],\"url\":\"https://json.schemastore.org/github-workflow\"},{\"name\":\"gitlab-ci\",\"description\":\"JSON schema for configuring Gitlab CI\",\"fileMatch\":[\".gitlab-ci.yml\"],\"url\":\"https://json.schemastore.org/gitlab-ci\"},{\"name\":\"Gitpod Configuration\",\"description\":\"JSON schema for configuring Gitpod.io\",\"fileMatch\":[\".gitpod.yml\"],\"url\":\"https://gitpod.io/schemas/gitpod-schema.json\"},{\"name\":\"global.json\",\"description\":\"ASP.NET global configuration file\",\"fileMatch\":[\"global.json\"],\"url\":\"https://json.schemastore.org/global\"},{\"name\":\"Grafana 5.x Dashboard\",\"description\":\"JSON Schema for Grafana 5.x Dashboards\",\"url\":\"https://json.schemastore.org/grafana-dashboard-5.x\"},{\"name\":\"GraphQL Mesh\",\"description\":\"JSON Schema for GraphQL Mesh config file\",\"url\":\"https://raw.githubusercontent.com/Urigo/graphql-mesh/master/packages/types/src/config-schema.json\",\"fileMatch\":[\".meshrc.yml\",\".meshrc.yaml\",\".meshrc.json\",\".meshrc.js\",\".graphql-mesh.yaml\",\".graphql-mesh.yml\"]},{\"name\":\"GraphQL Config\",\"description\":\"JSON Schema for GraphQL Config config file\",\"url\":\"https://raw.githubusercontent.com/kamilkisiela/graphql-config/master/config-schema.json\",\"fileMatch\":[\"graphql.config.json\",\"graphql.config.js\",\"graphql.config.yaml\",\"graphql.config.yml\",\".graphqlrc\",\".graphqlrc.json\",\".graphqlrc.yaml\",\".graphqlrc.yml\",\".graphqlrc.js\"]},{\"name\":\"GraphQL Code Generator\",\"description\":\"JSON Schema for GraphQL Code Generator config file\",\"url\":\"https://raw.githubusercontent.com/dotansimha/graphql-code-generator/master/website/static/config.schema.json\",\"fileMatch\":[\"codegen.yml\",\"codegen.yaml\",\"codegen.json\",\"codegen.js\",\".codegen.yml\",\".codegen.yaml\",\".codegen.json\",\".codegen.js\"]},{\"name\":\"Grunt copy task\",\"description\":\"Grunt copy task configuration file\",\"fileMatch\":[\"copy.json\"],\"url\":\"https://json.schemastore.org/grunt-copy-task\"},{\"name\":\"Grunt clean task\",\"description\":\"Grunt clean task configuration file\",\"fileMatch\":[\"clean.json\"],\"url\":\"https://json.schemastore.org/grunt-clean-task\"},{\"name\":\"Grunt cssmin task\",\"description\":\"Grunt cssmin task configuration file\",\"fileMatch\":[\"cssmin.json\"],\"url\":\"https://json.schemastore.org/grunt-cssmin-task\"},{\"name\":\"Grunt JSHint task\",\"description\":\"Grunt JSHint task configuration file\",\"fileMatch\":[\"jshint.json\"],\"url\":\"https://json.schemastore.org/grunt-jshint-task\"},{\"name\":\"Grunt Watch task\",\"description\":\"Grunt Watch task configuration file\",\"fileMatch\":[\"watch.json\"],\"url\":\"https://json.schemastore.org/grunt-watch-task\"},{\"name\":\"Grunt base task\",\"description\":\"Schema for standard Grunt tasks\",\"fileMatch\":[\"grunt/*.json\",\"*-tasks.json\"],\"url\":\"https://json.schemastore.org/grunt-task\"},{\"name\":\"haxelib.json\",\"description\":\"Haxelib manifest\",\"fileMatch\":[\"haxelib.json\"],\"url\":\"https://json.schemastore.org/haxelib\"},{\"name\":\"host.json\",\"description\":\"JSON schema for Azure Functions host.json files\",\"fileMatch\":[\"host.json\"],\"url\":\"https://json.schemastore.org/host\"},{\"name\":\"host-meta.json\",\"description\":\"Schema for host-meta JDR files\",\"fileMatch\":[\"host-meta.json\"],\"url\":\"https://json.schemastore.org/host-meta\"},{\"name\":\".htmlhintrc\",\"description\":\"HTML Hint configuration file\",\"fileMatch\":[\".htmlhintrc\"],\"url\":\"https://json.schemastore.org/htmlhint\"},{\"name\":\"hydra.yml\",\"description\":\"ORY Hydra configuration file\",\"fileMatch\":[\"hydra.json\",\"hydra.yml\",\"hydra.yaml\",\"hydra.toml\"],\"url\":\"https://raw.githubusercontent.com/ory/hydra/master/.schema/version.schema.json\"},{\"name\":\"imageoptimizer.json\",\"description\":\"Schema for imageoptimizer.json files\",\"fileMatch\":[\"imageoptimizer.json\"],\"url\":\"https://json.schemastore.org/imageoptimizer\"},{\"name\":\"Jekyll configuration\",\"description\":\"Schema for Jekyll _config.yml\",\"fileMatch\":[\"_config.yml\"],\"url\":\"https://json.schemastore.org/jekyll\"},{\"name\":\"Jenkins X Pipelines\",\"description\":\"Jenkins X Pipeline YAML configuration files\",\"fileMatch\":[\"jenkins-x*.yml\"],\"url\":\"https://jenkins-x.io/schemas/jx-schema.json\"},{\"name\":\"Jenkins X Requirements\",\"description\":\"Jenkins X Requirements YAML configuration file\",\"fileMatch\":[\"jx-requirements.yml\"],\"url\":\"https://jenkins-x.io/schemas/jx-requirements.json\"},{\"name\":\"Jovo Language Models\",\"description\":\"JSON Schema for Jovo language Models (https://www.jovo.tech/docs/model)\",\"url\":\"http://json.schemastore.org/jovo-language-model\"},{\"name\":\".jsbeautifyrc\",\"description\":\"js-beautify configuration file\",\"fileMatch\":[\".jsbeautifyrc\"],\"url\":\"https://json.schemastore.org/jsbeautifyrc\"},{\"name\":\".jsbeautifyrc-nested\",\"description\":\"js-beautify configuration file allowing nested `js`, `css`, and `html` attributes\",\"fileMatch\":[\".jsbeautifyrc\"],\"url\":\"https://json.schemastore.org/jsbeautifyrc-nested\"},{\"name\":\".jscsrc\",\"description\":\"JSCS configuration file\",\"fileMatch\":[\".jscsrc\",\"jscsrc.json\"],\"url\":\"https://json.schemastore.org/jscsrc\"},{\"name\":\".jshintrc\",\"description\":\"JSHint configuration file\",\"fileMatch\":[\".jshintrc\"],\"url\":\"https://json.schemastore.org/jshintrc\"},{\"name\":\".jsinspectrc\",\"description\":\"JSInspect configuration file\",\"fileMatch\":[\".jsinspectrc\"],\"url\":\"https://json.schemastore.org/jsinspectrc\"},{\"name\":\"JSON-API\",\"description\":\"JSON API document\",\"fileMatch\":[\"*.schema.json\"],\"url\":\"https://jsonapi.org/schema\"},{\"name\":\"JSON Document Transform\",\"description\":\"JSON Document Transofrm\",\"url\":\"https://json.schemastore.org/jdt\"},{\"name\":\"JSON Feed\",\"description\":\"JSON schema for the JSON Feed format\",\"fileMatch\":[\"feed.json\"],\"url\":\"https://json.schemastore.org/feed\",\"versions\":{\"1\":\"http://json.schemastore.org/feed-1\",\"1.1\":\"http://json.schemastore.org/feed\"}},{\"name\":\"*.jsonld\",\"description\":\"JSON Linked Data files\",\"fileMatch\":[\"*.jsonld\"],\"url\":\"https://json.schemastore.org/jsonld\"},{\"name\":\"JSONPatch\",\"description\":\"JSONPatch files\",\"fileMatch\":[\"*.patch\"],\"url\":\"https://json.schemastore.org/json-patch\"},{\"name\":\"jsconfig.json\",\"description\":\"JavaScript project configuration file\",\"fileMatch\":[\"jsconfig.json\"],\"url\":\"https://json.schemastore.org/jsconfig\"},{\"name\":\"keto.yml\",\"description\":\"ORY Keto configuration file\",\"fileMatch\":[\"keto.json\",\"keto.yml\",\"keto.yaml\",\"keto.toml\"],\"url\":\"https://raw.githubusercontent.com/ory/keto/master/.schema/version.schema.json\"},{\"name\":\"kustomization.yaml\",\"description\":\"Kubernetes native configuration management\",\"fileMatch\":[\"kustomization.yaml\",\"kustomization.yml\"],\"url\":\"https://json.schemastore.org/kustomization\"},{\"name\":\"launchsettings.json\",\"description\":\"A JSON schema for the ASP.NET LaunchSettings.json files\",\"fileMatch\":[\"launchsettings.json\"],\"url\":\"https://json.schemastore.org/launchsettings\"},{\"name\":\"lerna.json\",\"description\":\"A JSON schema for lerna.json files\",\"fileMatch\":[\"lerna.json\"],\"url\":\"https://json.schemastore.org/lerna\"},{\"name\":\"libman.json\",\"description\":\"JSON schema for client-side library config files\",\"fileMatch\":[\"libman.json\"],\"url\":\"https://json.schemastore.org/libman\"},{\"name\":\"localazy.json\",\"description\":\"JSON schema for Localazy CLI configuration file. More info at https://localazy.com/docs/cli\",\"fileMatch\":[\"localazy.json\"],\"url\":\"https://raw.githubusercontent.com/localazy/cli-schema/master/localazy.json\"},{\"name\":\"lsdlschema.json\",\"description\":\"JSON schema for Linguistic Schema Definition Language files\",\"fileMatch\":[\"*.lsdl.yaml\",\"*.lsdl.json\"],\"url\":\"https://json.schemastore.org/lsdlschema\"},{\"name\":\"Microsoft Band Web Tile\",\"description\":\"Microsoft Band Web Tile manifest file\",\"url\":\"https://json.schemastore.org/band-manifest\"},{\"name\":\"mimetypes.json\",\"description\":\"JSON Schema for mime type collections\",\"fileMatch\":[\"mimetypes.json\"],\"url\":\"https://json.schemastore.org/mimetypes\"},{\"name\":\".mocharc\",\"description\":\"JSON schema for MochaJS configuration files\",\"fileMatch\":[\".mocharc.json\",\".mocharc.jsonc\",\".mocharc.yml\",\".mocharc.yaml\"],\"url\":\"https://json.schemastore.org/mocharc\"},{\"name\":\".modernizrrc\",\"description\":\"Webpack modernizr-loader configuration file\",\"fileMatch\":[\".modernizrrc\"],\"url\":\"https://json.schemastore.org/modernizrrc\"},{\"name\":\"mycode.json\",\"description\":\"JSON schema for mycode.js files\",\"fileMatch\":[\"mycode.json\"],\"url\":\"https://json.schemastore.org/mycode\"},{\"name\":\"Netlify config schema\",\"description\":\"This schema describes the YAML config that Netlify uses\",\"fileMatch\":[\"admin/config*.yml\"],\"url\":\"http://json.schemastore.org/netlify.json\"},{\"name\":\"ninjs (News in JSON)\",\"description\":\"A JSON Schema for ninjs by the IPTC. News and publishing information. See https://iptc.org/standards/ninjs/\",\"url\":\"https://json.schemastore.org/ninjs-1.3.json\",\"versions\":{\"1.3\":\"https://json.schemastore.org/ninjs-1.3.json\",\"1.2\":\"https://json.schemastore.org/ninjs-1.2.json\",\"1.1\":\"https://json.schemastore.org/ninjs-1.1.json\",\"1.0\":\"https://json.schemastore.org/ninjs-1.0.json\"}},{\"name\":\"nest-cli\",\"description\":\"A progressive Node.js framework for building efficient and scalable server-side applications 🚀.\",\"url\":\"https://json.schemastore.org/nest-cli\",\"fileMatch\":[\".nestcli.json\",\".nest-cli.json\",\"nest-cli.json\",\"nest.json\"]},{\"name\":\".nodehawkrc\",\"description\":\"JSON schema for .nodehawkrc configuration files.\",\"url\":\"https://json.schemastore.org/nodehawkrc\",\"fileMatch\":[\".nodehawkrc\"]},{\"name\":\"nodemon.json\",\"description\":\"JSON schema for nodemon.json configuration files.\",\"url\":\"https://json.schemastore.org/nodemon\",\"fileMatch\":[\"nodemon.json\"]},{\"name\":\".npmpackagejsonlintrc\",\"description\":\"Configuration file for npm-package-json-lint\",\"fileMatch\":[\".npmpackagejsonlintrc\",\"npmpackagejsonlintrc.json\",\".npmpackagejsonlintrc.json\"],\"url\":\"https://json.schemastore.org/npmpackagejsonlintrc\"},{\"name\":\"nuget-project.json\",\"description\":\"JSON schema for NuGet project.json files.\",\"url\":\"https://json.schemastore.org/nuget-project\",\"versions\":{\"3.3.0\":\"https://json.schemastore.org/nuget-project-3.3.0\"}},{\"name\":\"nswag.json\",\"description\":\"JSON schema for nswag configuration\",\"url\":\"https://json.schemastore.org/nswag\",\"fileMatch\":[\"nswag.json\"]},{\"name\":\"oathkeeper.yml\",\"description\":\"ORY Oathkeeper configuration file\",\"fileMatch\":[\"oathkeeper.json\",\"oathkeeper.yml\",\"oathkeeper.yaml\",\"oathkeeper.toml\"],\"url\":\"https://raw.githubusercontent.com/ory/oathkeeper/master/.schema/version.schema.json\"},{\"name\":\"ocelot.json\",\"description\":\"JSON schema for the Ocelot Api Gateway.\",\"fileMatch\":[\"ocelot.json\"],\"url\":\"https://json.schemastore.org/ocelot\"},{\"name\":\"omnisharp.json\",\"description\":\"Omnisharp Configuration file\",\"fileMatch\":[\"omnisharp.json\"],\"url\":\"https://json.schemastore.org/omnisharp\"},{\"name\":\"openapi.json\",\"description\":\"A JSON schema for Open API documentation files\",\"fileMatch\":[\"openapi.json\",\"openapi.yml\",\"openapi.yaml\"],\"url\":\"https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v3.0/schema.json\"},{\"name\":\"openfin.json\",\"description\":\"OpenFin application configuration file\",\"url\":\"https://json.schemastore.org/openfin\"},{\"name\":\"kratos.yml\",\"description\":\"ORY Kratos configuration file\",\"fileMatch\":[\"kratos.json\",\"kratos.yml\",\"kratos.yaml\"],\"url\":\"https://raw.githubusercontent.com/ory/kratos/master/.schema/version.schema.json\"},{\"name\":\"package.json\",\"description\":\"NPM configuration file\",\"fileMatch\":[\"package.json\"],\"url\":\"https://json.schemastore.org/package\"},{\"name\":\"package.manifest\",\"description\":\"Umbraco package configuration file\",\"fileMatch\":[\"package.manifest\"],\"url\":\"https://json.schemastore.org/package.manifest\",\"versions\":{\"8.0.0\":\"https://json.schemastore.org/package.manifest-8.0.0\",\"7.0.0\":\"https://json.schemastore.org/package.manifest-7.0.0\"}},{\"name\":\"Packer\",\"description\":\"Packer template JSON configuration\",\"fileMatch\":[\"packer.json\"],\"url\":\"https://json.schemastore.org/packer\"},{\"name\":\"pattern.json\",\"description\":\"Patternplate pattern manifest file\",\"fileMatch\":[\"pattern.json\"],\"url\":\"https://json.schemastore.org/pattern\"},{\"name\":\".pmbot.yml\",\"description\":\"Pmbot configuration file\",\"fileMatch\":[\".pmbot.yml\"],\"url\":\"https://raw.githubusercontent.com/pmbot-io/config/master/pmbot.yml.schema.json\"},{\"name\":\"PocketMine plugin.yml\",\"description\":\"PocketMine plugin manifest file\",\"fileMatch\":[\"plugin.yml\"],\"url\":\"https://json.schemastore.org/pocketmine-plugin\"},{\"name\":\".pre-commit-config.yml\",\"description\":\"pre-commit configuration file\",\"fileMatch\":[\".pre-commit-config.yml\",\".pre-commit-config.yaml\"],\"url\":\"https://json.schemastore.org/pre-commit-config\"},{\"name\":\".phraseapp.yml\",\"description\":\"PhraseApp configuration file\",\"fileMatch\":[\".phraseapp.yml\"],\"url\":\"https://json.schemastore.org/phraseapp\"},{\"name\":\"prettierrc.json\",\"description\":\".prettierrc configuration file\",\"fileMatch\":[\".prettierrc\",\".prettierrc.json\",\".prettierrc.yml\",\".prettierrc.yaml\"],\"url\":\"https://json.schemastore.org/prettierrc\",\"versions\":{\"1.8.2\":\"https://json.schemastore.org/prettierrc-1.8.2\"}},{\"name\":\"prisma.yml\",\"description\":\"prisma.yml service definition file\",\"fileMatch\":[\"prisma.yml\"],\"url\":\"https://json.schemastore.org/prisma\"},{\"name\":\"project.json\",\"description\":\"ASP.NET vNext project configuration file\",\"fileMatch\":[\"project.json\"],\"url\":\"https://json.schemastore.org/project\",\"versions\":{\"1.0.0-beta3\":\"https://json.schemastore.org/project-1.0.0-beta3\",\"1.0.0-beta4\":\"https://json.schemastore.org/project-1.0.0-beta4\",\"1.0.0-beta5\":\"https://json.schemastore.org/project-1.0.0-beta5\",\"1.0.0-beta6\":\"https://json.schemastore.org/project-1.0.0-beta6\",\"1.0.0-beta8\":\"https://json.schemastore.org/project-1.0.0-beta8\",\"1.0.0-rc1\":\"https://json.schemastore.org/project-1.0.0-rc1\",\"1.0.0-rc1-update1\":\"https://json.schemastore.org/project-1.0.0-rc1\",\"1.0.0-rc2\":\"https://json.schemastore.org/project-1.0.0-rc2\"}},{\"name\":\"project-1.0.0-beta3.json\",\"description\":\"ASP.NET vNext project configuration file\",\"url\":\"https://json.schemastore.org/project-1.0.0-beta3\"},{\"name\":\"project-1.0.0-beta4.json\",\"description\":\"ASP.NET vNext project configuration file\",\"url\":\"https://json.schemastore.org/project-1.0.0-beta4\"},{\"name\":\"project-1.0.0-beta5.json\",\"description\":\"ASP.NET vNext project configuration file\",\"url\":\"https://json.schemastore.org/project-1.0.0-beta5\"},{\"name\":\"project-1.0.0-beta6.json\",\"description\":\"ASP.NET vNext project configuration file\",\"url\":\"https://json.schemastore.org/project-1.0.0-beta6\"},{\"name\":\"project-1.0.0-beta8.json\",\"description\":\"ASP.NET vNext project configuration file\",\"url\":\"https://json.schemastore.org/project-1.0.0-beta8\"},{\"name\":\"project-1.0.0-rc1.json\",\"description\":\"ASP.NET vNext project configuration file\",\"url\":\"https://json.schemastore.org/project-1.0.0-rc1\"},{\"name\":\"project-1.0.0-rc2.json\",\"description\":\".NET Core project configuration file\",\"url\":\"https://json.schemastore.org/project-1.0.0-rc2\"},{\"name\":\"prometheus.json\",\"description\":\"Prometheus configuration file\",\"fileMatch\":[\"prometheus.yml\"],\"url\":\"https://json.schemastore.org/prometheus\"},{\"name\":\"prometheus.rules.json\",\"description\":\"Prometheus rules file\",\"fileMatch\":[\"*.rules\"],\"url\":\"https://json.schemastore.org/prometheus.rules\"},{\"name\":\"proxies.json\",\"description\":\"JSON schema for Azure Function Proxies proxies.json files\",\"fileMatch\":[\"proxies.json\"],\"url\":\"https://json.schemastore.org/proxies\"},{\"name\":\"pubspec.yaml\",\"description\":\"Schema for pubspecs, the format used by Dart's dependency manager\",\"fileMatch\":[\"pubspec.yaml\"],\"url\":\"https://json.schemastore.org/pubspec\"},{\"name\":\"pyrseas-0.8.json\",\"description\":\"Pyrseas database schema versioning for Postgres databases, v0.8\",\"fileMatch\":[\"pyrseas-0.8.json\"],\"url\":\"https://json.schemastore.org/pyrseas-0.8\"},{\"name\":\"Red-DiscordBot Сog\",\"description\":\"Red-DiscordBot Сog metadata file\",\"fileMatch\":[\"info.json\"],\"url\":\"https://raw.githubusercontent.com/Cog-Creators/Red-DiscordBot/V3/develop/schema/red_cog.schema.json\"},{\"name\":\"Red-DiscordBot Сog Repo\",\"description\":\"Red-DiscordBot Сog Repo metadata file\",\"fileMatch\":[\"info.json\"],\"url\":\"https://raw.githubusercontent.com/Cog-Creators/Red-DiscordBot/V3/develop/schema/red_cog_repo.schema.json\"},{\"name\":\"*.resjson\",\"description\":\"Windows App localization file\",\"fileMatch\":[\"*.resjson\"],\"url\":\"https://json.schemastore.org/resjson\"},{\"name\":\"JSON Resume\",\"description\":\"A JSON format to describe resumes\",\"fileMatch\":[\"resume.json\"],\"url\":\"https://json.schemastore.org/resume\"},{\"name\":\"Renovate\",\"description\":\"Renovate config file (https://github.com/renovatebot/renovate)\",\"fileMatch\":[\"renovate.json\",\"renovate.json5\",\".github/renovate.json\",\".github/renovate.json5\",\".renovaterc\",\".renovaterc.json\"],\"url\":\"https://docs.renovatebot.com/renovate-schema.json\"},{\"name\":\"RoadRunner\",\"description\":\"Spiral Roadrunner config schema\",\"fileMatch\":[\".rr.yml\",\".rr.yaml\"],\"url\":\"https://json.schemastore.org/roadrunner\"},{\"name\":\"sarif-1.0.0.json\",\"description\":\"Static Analysis Results Interchange Format (SARIF) version 1\",\"url\":\"https://json.schemastore.org/sarif-1.0.0.json\"},{\"name\":\"sarif-2.0.0.json\",\"description\":\"Static Analysis Results Interchange Format (SARIF) version 2\",\"url\":\"https://json.schemastore.org/sarif-2.0.0.json\"},{\"name\":\"2.0.0-csd.2.beta.2018-10-10\",\"description\":\"Static Analysis Results Format (SARIF) Version 2.0.0-csd.2.beta-2018-10-10\",\"url\":\"https://json.schemastore.org/2.0.0-csd.2.beta.2018-10-10.json\"},{\"name\":\"sarif-2.1.0-rtm.2\",\"description\":\"Static Analysis Results Format (SARIF), Version 2.1.0-rtm.2\",\"url\":\"https://json.schemastore.org/sarif-2.1.0-rtm.2.json\"},{\"name\":\"sarif-external-property-file-2.1.0-rtm.2\",\"description\":\"Static Analysis Results Format (SARIF) External Property File Format, Version 2.1.0-rtm.2\",\"url\":\"https://json.schemastore.org/sarif-external-property-file-2.1.0-rtm.2.json\"},{\"name\":\"sarif-2.1.0-rtm.3\",\"description\":\"Static Analysis Results Format (SARIF), Version 2.1.0-rtm.3\",\"url\":\"https://json.schemastore.org/sarif-2.1.0-rtm.3.json\"},{\"name\":\"sarif-external-property-file-2.1.0-rtm.3\",\"description\":\"Static Analysis Results Format (SARIF) External Property File Format, Version 2.1.0-rtm.3\",\"url\":\"https://json.schemastore.org/sarif-external-property-file-2.1.0-rtm.3.json\"},{\"name\":\"sarif-2.1.0-rtm.4\",\"description\":\"Static Analysis Results Format (SARIF), Version 2.1.0-rtm.4\",\"url\":\"https://json.schemastore.org/sarif-2.1.0-rtm.4.json\"},{\"name\":\"sarif-external-property-file-2.1.0-rtm.4\",\"description\":\"Static Analysis Results Format (SARIF) External Property File Format, Version 2.1.0-rtm.4\",\"url\":\"https://json.schemastore.org/sarif-external-property-file-2.1.0-rtm.4.json\"},{\"name\":\"sarif-2.1.0-rtm.5\",\"description\":\"Static Analysis Results Format (SARIF), Version 2.1.0-rtm.5\",\"url\":\"https://json.schemastore.org/sarif-2.1.0-rtm.5.json\"},{\"name\":\"sarif-external-property-file-2.1.0-rtm.5\",\"description\":\"Static Analysis Results Format (SARIF) External Property File Format, Version 2.1.0-rtm.5\",\"url\":\"https://json.schemastore.org/sarif-external-property-file-2.1.0-rtm.5.json\"},{\"name\":\"Schema Catalog\",\"description\":\"JSON Schema catalog files compatible with SchemaStore.org\",\"url\":\"https://json.schemastore.org/schema-catalog\"},{\"name\":\"schema.org - Action\",\"description\":\"JSON Schema for Action as defined by schema.org\",\"url\":\"https://json.schemastore.org/schema-org-action\"},{\"name\":\"schema.org - ContactPoint\",\"description\":\"JSON Schema for ContactPoint as defined by schema.org\",\"url\":\"https://json.schemastore.org/schema-org-contact-point\"},{\"name\":\"schema.org - Place\",\"description\":\"JSON Schema for Place as defined by schema.org\",\"url\":\"https://json.schemastore.org/schema-org-place\"},{\"name\":\"schema.org - Thing\",\"description\":\"JSON Schema for Thing as defined by schema.org\",\"url\":\"https://json.schemastore.org/schema-org-thing\"},{\"name\":\"settings.job\",\"description\":\"Azure Webjob settings file\",\"fileMatch\":[\"settings.job\"],\"url\":\"https://json.schemastore.org/settings.job\"},{\"name\":\"skyuxconfig.json\",\"description\":\"SKY UX CLI configuration file\",\"fileMatch\":[\"skyuxconfig.json\",\"skyuxconfig.*.json\"],\"url\":\"https://raw.githubusercontent.com/blackbaud/skyux-builder/master/skyuxconfig-schema.json\"},{\"name\":\"snapcraft\",\"description\":\"snapcraft project  (https://snapcraft.io)\",\"fileMatch\":[\".snapcraft.yaml\",\"snapcraft.yaml\"],\"url\":\"https://raw.githubusercontent.com/snapcore/snapcraft/master/schema/snapcraft.json\"},{\"name\":\"Solidarity\",\"description\":\"CLI config for enforcing environment settings\",\"fileMatch\":[\".solidarity\",\".solidarity.json\"],\"url\":\"https://json.schemastore.org/solidaritySchema\"},{\"name\":\"Source Maps v3\",\"description\":\"Source Map files version 3\",\"fileMatch\":[\"*.map\"],\"url\":\"https://json.schemastore.org/sourcemap-v3\"},{\"name\":\"Sponge Mixin configuration\",\"description\":\"Configuration file for SpongePowered's Mixin library\",\"fileMatch\":[\"*.mixins.json\"],\"url\":\"https://json.schemastore.org/sponge-mixins\"},{\"name\":\".sprite files\",\"description\":\"Schema for image sprite generation files\",\"fileMatch\":[\"*.sprite\"],\"url\":\"https://json.schemastore.org/sprite\"},{\"name\":\"Stryker Mutator\",\"description\":\"Configuration file for Stryker Mutator, the mutation testing framework for JavaScript and friends. See https://stryker-mutator.io.\",\"fileMatch\":[\"stryker.conf.json\",\"stryker-*.conf.json\"],\"url\":\"https://raw.githubusercontent.com/stryker-mutator/stryker/master/packages/api/schema/stryker-core.json\"},{\"name\":\"StyleCop Analyzers Configuration\",\"description\":\"Configuration file for StyleCop Analyzers\",\"fileMatch\":[\"stylecop.json\"],\"url\":\"https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json\"},{\"name\":\".stylelintrc\",\"description\":\"Configuration file for stylelint\",\"fileMatch\":[\".stylelintrc\",\"stylelintrc.json\",\".stylelintrc.json\"],\"url\":\"https://json.schemastore.org/stylelintrc\"},{\"name\":\"Swagger API 2.0\",\"description\":\"Swagger API 2.0 schema\",\"fileMatch\":[\"swagger.json\"],\"url\":\"https://json.schemastore.org/swagger-2.0\"},{\"name\":\"Taurus\",\"description\":\"Taurus bzt cli framework config\",\"fileMatch\":[\"bzt.yml\",\"bzt.yaml\",\"taurus.yml\",\"taurus.yaml\"],\"url\":\"https://json.schemastore.org/taurus\"},{\"name\":\"template.json\",\"description\":\"JSON schema .NET template files\",\"fileMatch\":[\".template.config/template.json\"],\"url\":\"https://json.schemastore.org/template\"},{\"name\":\"templatsources.json\",\"description\":\"SideWaffle template source schema\",\"fileMatch\":[\"templatesources.json\"],\"url\":\"https://json.schemastore.org/templatesources\"},{\"name\":\"tmLanguage\",\"description\":\"Language grammar description files in Textmate and compatible editors\",\"fileMatch\":[\"*.tmLanguage.json\"],\"url\":\"https://raw.githubusercontent.com/Septh/tmlanguage/master/tmLanguage.schema.json\"},{\"name\":\".travis.yml\",\"description\":\"Travis CI configuration file\",\"fileMatch\":[\".travis.yml\"],\"url\":\"https://json.schemastore.org/travis\"},{\"name\":\"Traefik v2\",\"description\":\"Traefik v2 YAML configuration file\",\"fileMatch\":[\"traefik.yml\",\"traefik.yaml\"],\"url\":\"https://json.schemastore.org/traefik-v2\"},{\"name\":\"tsconfig.json\",\"description\":\"TypeScript compiler configuration file\",\"fileMatch\":[\"tsconfig.json\"],\"url\":\"https://json.schemastore.org/tsconfig\"},{\"name\":\"tsd.json\",\"description\":\"JSON schema for DefinatelyTyped description manager (TSD)\",\"fileMatch\":[\"tsd.json\"],\"url\":\"https://json.schemastore.org/tsd\"},{\"name\":\"tsdrc.json\",\"description\":\"TypeScript Definition manager (tsd) global settings file\",\"fileMatch\":[\".tsdrc\"],\"url\":\"https://json.schemastore.org/tsdrc\"},{\"name\":\"ts-force-config.json\",\"description\":\"Generated Typescript classes for Salesforce\",\"fileMatch\":[\"ts-force-config.json\"],\"url\":\"https://json.schemastore.org/ts-force-config\"},{\"name\":\"tslint.json\",\"description\":\"TypeScript Lint configuration file\",\"fileMatch\":[\"tslint.json\",\"tslint.yaml\",\"tslint.yml\"],\"url\":\"https://json.schemastore.org/tslint\"},{\"name\":\"typewiz.json\",\"description\":\"Typewiz configuration file\",\"fileMatch\":[\"typewiz.json\"],\"url\":\"https://json.schemastore.org/typewiz\"},{\"name\":\"typings.json\",\"description\":\"Typings TypeScript definitions manager definition file\",\"fileMatch\":[\"typings.json\"],\"url\":\"https://json.schemastore.org/typings\"},{\"name\":\"typingsrc.json\",\"description\":\"Typings TypeScript definitions manager configuration file\",\"fileMatch\":[\".typingsrc\"],\"url\":\"https://json.schemastore.org/typingsrc\"},{\"name\":\"up.json\",\"description\":\"Up configuration file\",\"fileMatch\":[\"up.json\"],\"url\":\"https://json.schemastore.org/up.json\"},{\"name\":\"ui5-manifest\",\"description\":\"UI5/OPENUI5 descriptor file\",\"fileMatch\":[\".manifest\"],\"url\":\"https://json.schemastore.org/ui5-manifest\"},{\"name\":\"UI5 Manifest\",\"description\":\"UI5 Manifest (manifest.json)\",\"fileMatch\":[\"webapp/manifest.json\",\"src/main/webapp/manifest.json\"],\"url\":\"https://raw.githubusercontent.com/SAP/ui5-manifest/master/schema.json\"},{\"name\":\"ui5.yaml\",\"description\":\"UI5 Tooling Configuration File (ui5.yaml)\",\"fileMatch\":[\"ui5.yaml\",\"*-ui5.yaml\",\"*.ui5.yaml\"],\"url\":\"https://sap.github.io/ui5-tooling/schema/ui5.yaml.json\"},{\"name\":\"vega.json\",\"description\":\"Vega visualization specification file\",\"fileMatch\":[\"*.vg\",\"*.vg.json\"],\"url\":\"https://json.schemastore.org/vega\"},{\"name\":\"vega-lite.json\",\"description\":\"Vega-Lite visualization specification file\",\"fileMatch\":[\"*.vl\",\"*.vl.json\"],\"url\":\"https://json.schemastore.org/vega-lite\"},{\"name\":\"Vela Pipeline Configuration\",\"description\":\"Vela Pipeline Configuration File\",\"fileMatch\":[\".vela.yml\",\".vela.yaml\"],\"url\":\"https://github.com/go-vela/types/releases/latest/download/schema.json\"},{\"name\":\"version.json\",\"description\":\"A project version descriptor file used by Nerdbank.GitVersioning\",\"fileMatch\":[\"version.json\"],\"url\":\"https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json\"},{\"name\":\"vim-addon-info\",\"description\":\"JSON schema for vim plugin addon-info.json metadata files\",\"fileMatch\":[\"*vim*/addon-info.json\"],\"url\":\"https://json.schemastore.org/vim-addon-info\"},{\"name\":\"vsls.json\",\"description\":\"Visual Studio Live Share configuration file\",\"fileMatch\":[\".vsls.json\"],\"url\":\"https://json.schemastore.org/vsls\"},{\"name\":\"vs-2017.3.host.json\",\"description\":\"JSON schema for Visual Studio template host file\",\"fileMatch\":[\"vs-2017.3.host.json\"],\"url\":\"https://json.schemastore.org/vs-2017.3.host\"},{\"name\":\"vs-nesting.json\",\"description\":\"JSON schema for Visual Studio's file nesting feature\",\"fileMatch\":[\"*.filenesting.json\",\".filenesting.json\"],\"url\":\"https://json.schemastore.org/vs-nesting\"},{\"name\":\".vsconfig\",\"description\":\"JSON schema for Visual Studio component configuration files\",\"fileMatch\":[\"*.vsconfig\"],\"url\":\"https://json.schemastore.org/vsconfig\"},{\"name\":\".vsext\",\"description\":\"JSON schema for Visual Studio extension pack manifests\",\"fileMatch\":[\"*.vsext\"],\"url\":\"https://json.schemastore.org/vsext\"},{\"name\":\"VSIX CLI publishing\",\"description\":\"JSON schema for Visual Studio extension publishing\",\"fileMatch\":[\"vs-publish.json\"],\"url\":\"https://json.schemastore.org/vsix-publish\"},{\"name\":\"vss-extension.json\",\"description\":\"JSON Schema for Azure DevOps Extensions\",\"fileMatch\":[\"vss-extension.json\"],\"url\":\"https://json.schemastore.org/vss-extension\"},{\"name\":\"WebExtensions\",\"description\":\"JSON schema for WebExtension manifest files\",\"fileMatch\":[\"manifest.json\"],\"url\":\"https://json.schemastore.org/webextension\"},{\"name\":\"Web App Manifest\",\"description\":\"Web Application manifest file\",\"fileMatch\":[\"manifest.json\",\"*.webmanifest\"],\"url\":\"https://json.schemastore.org/web-manifest-combined\"},{\"name\":\"webjobs-list.json\",\"description\":\"Azure Webjob list file\",\"fileMatch\":[\"webjobs-list.json\"],\"url\":\"https://json.schemastore.org/webjobs-list\"},{\"name\":\"webjobpublishsettings.json\",\"description\":\"Azure Webjobs publish settings file\",\"fileMatch\":[\"webjobpublishsettings.json\"],\"url\":\"https://json.schemastore.org/webjob-publish-settings\"},{\"name\":\"Web types\",\"description\":\"JSON standard for web component libraries metadata\",\"fileMatch\":[\"web-types.json\",\"*.web-types.json\"],\"url\":\"https://json.schemastore.org/web-types\"},{\"name\":\"JSON-stat 2.0\",\"description\":\"JSON-stat 2.0 Schema\",\"url\":\"https://json-stat.org/format/schema/2.0/\"},{\"name\":\"KSP-AVC\",\"description\":\"The .version file format for KSP-AVC\",\"fileMatch\":[\"*.version\"],\"url\":\"https://raw.githubusercontent.com/linuxgurugamer/KSPAddonVersionChecker/master/KSP-AVC.schema.json\"},{\"name\":\"KSP-CKAN\",\"description\":\"Metadata spec for KSP-CKAN\",\"fileMatch\":[\"*.ckan\"],\"url\":\"https://raw.githubusercontent.com/KSP-CKAN/CKAN/master/CKAN.schema\"},{\"name\":\"JSON Schema Draft 4\",\"description\":\"Meta-validation schema for JSON Schema Draft 4\",\"url\":\"https://json-schema.org/draft-04/schema\"},{\"name\":\"JSON Schema Draft 7\",\"description\":\"Meta-validation schema for JSON Schema Draft 7\",\"url\":\"https://json-schema.org/draft-07/schema\"},{\"name\":\"JSON Schema Draft 8\",\"description\":\"Meta-validation schema for JSON Schema Draft 8\",\"url\":\"https://json-schema.org/draft/2019-09/schema\"},{\"name\":\"xunit.runner.json\",\"description\":\"xUnit.net runner configuration file\",\"fileMatch\":[\"xunit.runner.json\"],\"url\":\"https://json.schemastore.org/xunit.runner.schema\"},{\"name\":\"servicehub.service.json\",\"description\":\"Microsoft ServiceHub Service\",\"fileMatch\":[\"*.servicehub.service.json\"],\"url\":\"https://json.schemastore.org/servicehub.service.schema\"},{\"name\":\"servicehub.config.json\",\"description\":\"Microsoft ServiceHub Configuration\",\"fileMatch\":[\"servicehub.config.json\"],\"url\":\"https://json.schemastore.org/servicehub.config.schema\"},{\"name\":\".cryproj engine-5.2\",\"description\":\"A JSON schema for CRYENGINE projects (.cryproj files)\",\"fileMatch\":[\"*.cryproj\"],\"url\":\"https://json.schemastore.org/cryproj.52.schema\"},{\"name\":\".cryproj engine-5.3\",\"description\":\"A JSON schema for CRYENGINE projects (.cryproj files)\",\"fileMatch\":[\"*.cryproj\"],\"url\":\"https://json.schemastore.org/cryproj.53.schema\"},{\"name\":\".cryproj engine-5.4\",\"description\":\"A JSON schema for CRYENGINE projects (.cryproj files)\",\"fileMatch\":[\"*.cryproj\"],\"url\":\"https://json.schemastore.org/cryproj.54.schema\"},{\"name\":\".cryproj engine-5.5\",\"description\":\"A JSON schema for CRYENGINE projects (.cryproj files)\",\"fileMatch\":[\"*.cryproj\"],\"url\":\"https://json.schemastore.org/cryproj.55.schema\"},{\"name\":\".cryproj engine-dev\",\"description\":\"A JSON schema for CRYENGINE projects (.cryproj files)\",\"fileMatch\":[\"*.cryproj\"],\"url\":\"https://json.schemastore.org/cryproj.dev.schema\"},{\"name\":\".cryproj (generic)\",\"description\":\"A JSON schema for CRYENGINE projects (.cryproj files)\",\"fileMatch\":[\"*.cryproj\"],\"url\":\"https://json.schemastore.org/cryproj\"},{\"name\":\"typedoc.json\",\"description\":\"A JSON schema for the Typedoc configuration file\",\"fileMatch\":[\"typedoc.json\"],\"url\":\"https://json.schemastore.org/typedoc\"},{\"name\":\"huskyrc\",\"description\":\"Husky can prevent bad `git commit`, `git push` and more 🐶 woof!\",\"fileMatch\":[\".huskyrc\",\".huskyrc.json\"],\"url\":\"https://json.schemastore.org/huskyrc\"},{\"name\":\".lintstagedrc\",\"description\":\"JSON schema for lint-staged config\",\"fileMatch\":[\".lintstagedrc\",\".lintstagedrc.json\"],\"url\":\"https://json.schemastore.org/lintstagedrc.schema\"},{\"name\":\"mta.yaml\",\"description\":\"A JSON schema for MTA projects v3.3\",\"fileMatch\":[\"mta.yaml\",\"mta.yml\"],\"url\":\"https://json.schemastore.org/mta\"},{\"name\":\"mtad.yaml\",\"description\":\"A JSON schema for MTA deployment descriptors v3.3\",\"fileMatch\":[\"mtad.yaml\",\"mtad.yml\"],\"url\":\"https://json.schemastore.org/mtad\"},{\"name\":\".mtaext\",\"description\":\"A JSON schema for MTA extension descriptors v3.3\",\"fileMatch\":[\"*.mtaext\"],\"url\":\"https://json.schemastore.org/mtaext\"},{\"name\":\"xs-app.json\",\"description\":\"JSON schema for the SAP Application Router v8.2.2\",\"fileMatch\":[\"xs-app.json\"],\"url\":\"https://json.schemastore.org/xs-app.json\"},{\"name\":\"Opctl\",\"description\":\"Opctl schema for describing an op\",\"url\":\"https://json.schemastore.org/opspec-io-0.1.7\",\"fileMatch\":[\".opspec/*/*.yml\",\".opspec/*/*.yaml\"]},{\"name\":\"HEMTT\",\"description\":\"HEMTT Project File\",\"url\":\"https://json.schemastore.org/hemtt-0.6.2\",\"fileMatch\":[\"hemtt.json\",\"hemtt.toml\"],\"versions\":{\"0.6.2\":\"https://json.schemastore.org/hemtt-0.6.2\"}},{\"name\":\"now\",\"description\":\"ZEIT Now project configuration file\",\"fileMatch\":[\"now.json\"],\"url\":\"https://json.schemastore.org/now\"},{\"name\":\"taskcat\",\"description\":\"taskcat\",\"fileMatch\":[\".taskcat.yml\"],\"url\":\"https://raw.githubusercontent.com/aws-quickstart/taskcat/master/taskcat/cfg/config_schema.json\"},{\"name\":\"BizTalkServerApplicationSchema\",\"description\":\"BizTalk server application inventory json file.\",\"fileMatch\":[\"BizTalkServerInventory.json\"],\"url\":\"https://json.schemastore.org/BizTalkServerApplicationSchema\"},{\"name\":\"httpmockrc\",\"description\":\"Http-mocker is a tool for mock local requests or proxy remote requests.\",\"fileMatch\":[\".httpmockrc\",\".httpmock.json\"],\"url\":\"https://json.schemastore.org/httpmockrc\"},{\"name\":\"neoload\",\"description\":\"Neotys as-code load test specification, more at: https://github.com/Neotys-Labs/neoload-cli\",\"fileMatch\":[\".nl.yaml\",\".nl.yml\",\".nl.json\",\".neoload.yaml\",\".neoload.yml\",\".neoload.json\"],\"url\":\"https://raw.githubusercontent.com/Neotys-Labs/neoload-cli/master/resources/as-code.latest.schema.json\"},{\"name\":\"release drafter\",\"description\":\"Release Drafter configuration file\",\"fileMatch\":[\".github/release-drafter.yml\"],\"url\":\"https://raw.githubusercontent.com/release-drafter/release-drafter/master/schema.json\"},{\"name\":\"zuul\",\"description\":\"Zuul CI configuration file\",\"fileMatch\":[\"*zuul.d/*.yaml\",\"*/.zuul.yaml\"],\"url\":\"https://raw.githubusercontent.com/pycontribs/zuul-lint/master/zuul_lint/zuul-schema.json\"},{\"name\":\"Briefcase\",\"description\":\"Microsoft Briefcase configuration file\",\"fileMatch\":[\"briefcase.yaml\"],\"url\":\"https://raw.githubusercontent.com/microsoft/Briefcase/master/mlbriefcase/briefcase-schema.json\"},{\"name\":\"httparchive\",\"description\":\"HTTP Archive\",\"fileMatch\":[\"*.har\"],\"url\":\"https://raw.githubusercontent.com/ahmadnassri/har-schema/master/lib/har.json\"},{\"name\":\"jsdoc\",\"description\":\"JSDoc configuration file\",\"fileMatch\":[\"conf.js*\",\"jsdoc.js*\"],\"url\":\"https://json.schemastore.org/jsdoc-1.0.0\"},{\"name\":\"Ray\",\"description\":\"Ray autocluster configuration file\",\"fileMatch\":[\"ray-*-cluster.yaml\"],\"url\":\"https://raw.githubusercontent.com/ray-project/ray/master/python/ray/autoscaler/ray-schema.json\"},{\"name\":\"Hadolint\",\"description\":\"A smarter Dockerfile linter that helps you build best practice Docker images.\",\"fileMatch\":[\".hadolint.yaml\",\"hadolint.yaml\"],\"url\":\"https://json.schemastore.org/hadolint\"},{\"name\":\"helmfile\",\"description\":\"Helmfile is a declarative spec for deploying helm charts\",\"fileMatch\":[\"helmfile.yaml\",\"helmfile.d/**/*.yaml\"],\"url\":\"https://json.schemastore.org/helmfile\"},{\"name\":\"Container Structure Test\",\"description\":\"The Container Structure Tests provide a powerful framework to validate the structure of a container image.\",\"fileMatch\":[\"container-structure-test.yaml\",\"structure-test.yaml\"],\"url\":\"https://json.schemastore.org/container-structure-test\"},{\"name\":\"Žinoma\",\"description\":\"Žinoma incremental build configuration\",\"fileMatch\":[\"zinoma.yml\"],\"url\":\"https://github.com/fbecart/zinoma/releases/latest/download/zinoma-schema.json\"},{\"name\":\"Windows Package Manager\",\"description\":\"Windows Package Manager Manifest file\",\"url\":\"http://json.schemastore.org/winget-pkgs\",\"fileMatch\":[\"manifests/*/*/*.yaml\"]},{\"name\":\".commitlintrc\",\"description\":\"JSON schema for commitlint configuration files\",\"fileMatch\":[\".commitlintrc\",\".commitlintrc.json\"],\"url\":\"https://json.schemastore.org/commitlintrc\"},{\"name\":\"Uniswap Token List\",\"description\":\"A list of tokens compatible with the Uniswap Interface\",\"fileMatch\":[\"*.tokenlist.json\"],\"url\":\"https://uniswap.org/tokenlist.schema.json\"},{\"name\":\"Yippee-Ki-JSON configuration YML\",\"description\":\"Action and rule configuration descriptor for Yippee-Ki-JSON transformations.\",\"fileMatch\":[\"**/yippee-*.yml\",\"**/*.yippee.yml\"],\"url\":\"https://raw.githubusercontent.com/nagyesta/yippee-ki-json/main/schema/yippee-ki-json_config_schema.json\",\"versions\":{\"1.1.2\":\"https://raw.githubusercontent.com/nagyesta/yippee-ki-json/v1.1.2/schema/yippee-ki-json_config_schema.json\",\"latest\":\"https://raw.githubusercontent.com/nagyesta/yippee-ki-json/main/schema/yippee-ki-json_config_schema.json\"}},{\"name\":\"docker-compose.yml\",\"description\":\"The Compose specification establishes a standard for the definition of multi-container platform-agnostic applications. \",\"fileMatch\":[\"**/docker-compose.yml\",\"**/docker-compose.yaml\",\"**/docker-compose.*.yml\",\"**/docker-compose.*.yaml\",\"**/compose.yml\",\"**/compose.yaml\",\"**/compose.*.yml\",\"**/compose.*.yaml\"],\"url\":\"https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json\"},{\"name\":\"devinit\",\"description\":\"Devinit configuration file schema.\",\"url\":\"https://json.schemastore.org/devinit.schema-2.0\",\"fileMatch\":[\"**/*devinit*.json\"],\"versions\":{\"1.0\":\"https://json.schemastore.org/devinit.schema-1.0\",\"2.0\":\"https://json.schemastore.org/devinit.schema-2.0\"}},{\"name\":\"tsoa\",\"description\":\"JSON Schema for the tsoa configuration file\",\"url\":\"https://json.schemastore.org/tsoa\",\"fileMatch\":[\"**/tsoa.json\"]},{\"name\":\"API Builder\",\"description\":\"apibuilder.io schema\",\"fileMatch\":[\"**/api.json\"],\"url\":\"http://json.schemastore.org/apibuilder.json\"}]}");
-
-/***/ }),
-/* 34 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/*---------------------------------------------------------------------------------------------
- *  Copyright (c) Microsoft Corporation. All rights reserved.
- *  Licensed under the MIT License. See License.txt in the project root for license information.
- *--------------------------------------------------------------------------------------------*/
-
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.hash = void 0;
-/**
- * Return a hash value for an object.
- */
-function hash(obj, hashVal = 0) {
-    switch (typeof obj) {
-        case 'object':
-            if (obj === null) {
-                return numberHash(349, hashVal);
-            }
-            else if (Array.isArray(obj)) {
-                return arrayHash(obj, hashVal);
-            }
-            return objectHash(obj, hashVal);
-        case 'string':
-            return stringHash(obj, hashVal);
-        case 'boolean':
-            return booleanHash(obj, hashVal);
-        case 'number':
-            return numberHash(obj, hashVal);
-        case 'undefined':
-            return numberHash(obj, 937);
-        default:
-            return numberHash(obj, 617);
-    }
-}
-exports.hash = hash;
-function numberHash(val, initialHashVal) {
-    return (((initialHashVal << 5) - initialHashVal) + val) | 0;
-}
-function booleanHash(b, initialHashVal) {
-    return numberHash(b ? 433 : 863, initialHashVal);
-}
-function stringHash(s, hashVal) {
-    hashVal = numberHash(149417, hashVal);
-    for (let i = 0, length = s.length; i < length; i++) {
-        hashVal = numberHash(s.charCodeAt(i), hashVal);
-    }
-    return hashVal;
-}
-function arrayHash(arr, initialHashVal) {
-    initialHashVal = numberHash(104579, initialHashVal);
-    return arr.reduce((hashVal, item) => hash(item, hashVal), initialHashVal);
-}
-function objectHash(obj, initialHashVal) {
-    initialHashVal = numberHash(181387, initialHashVal);
-    return Object.keys(obj).sort().reduce((hashVal, key) => {
-        hashVal = stringHash(key, hashVal);
-        return hash(obj[key], hashVal);
-    }, initialHashVal);
-}
-
-
-/***/ }),
-/* 35 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "URI", function() { return URI; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "uriToFsPath", function() { return uriToFsPath; });
-/*---------------------------------------------------------------------------------------------
- *  Copyright (c) Microsoft Corporation. All rights reserved.
- *  Licensed under the MIT License. See License.txt in the project root for license information.
- *--------------------------------------------------------------------------------------------*/
-
-var __extends = (undefined && undefined.__extends) || (function () {
-    var extendStatics = function (d, b) {
-        extendStatics = Object.setPrototypeOf ||
-            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
-            function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
-        return extendStatics(d, b);
-    };
-    return function (d, b) {
-        extendStatics(d, b);
-        function __() { this.constructor = d; }
-        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
-    };
-})();
-var _a;
-var isWindows;
-if (typeof process === 'object') {
-    isWindows = process.platform === 'win32';
-}
-else if (typeof navigator === 'object') {
-    var userAgent = navigator.userAgent;
-    isWindows = userAgent.indexOf('Windows') >= 0;
-}
-function isHighSurrogate(charCode) {
-    return (0xD800 <= charCode && charCode <= 0xDBFF);
-}
-function isLowSurrogate(charCode) {
-    return (0xDC00 <= charCode && charCode <= 0xDFFF);
-}
-function isLowerAsciiHex(code) {
-    return code >= 97 /* a */ && code <= 102 /* f */;
-}
-function isLowerAsciiLetter(code) {
-    return code >= 97 /* a */ && code <= 122 /* z */;
-}
-function isUpperAsciiLetter(code) {
-    return code >= 65 /* A */ && code <= 90 /* Z */;
-}
-function isAsciiLetter(code) {
-    return isLowerAsciiLetter(code) || isUpperAsciiLetter(code);
-}
-//#endregion
-var _schemePattern = /^\w[\w\d+.-]*$/;
-var _singleSlashStart = /^\//;
-var _doubleSlashStart = /^\/\//;
-function _validateUri(ret, _strict) {
-    // scheme, must be set
-    if (!ret.scheme && _strict) {
-        throw new Error("[UriError]: Scheme is missing: {scheme: \"\", authority: \"" + ret.authority + "\", path: \"" + ret.path + "\", query: \"" + ret.query + "\", fragment: \"" + ret.fragment + "\"}");
-    }
-    // scheme, https://tools.ietf.org/html/rfc3986#section-3.1
-    // ALPHA *( ALPHA / DIGIT / "+" / "-" / "." )
-    if (ret.scheme && !_schemePattern.test(ret.scheme)) {
-        throw new Error('[UriError]: Scheme contains illegal characters.');
-    }
-    // path, http://tools.ietf.org/html/rfc3986#section-3.3
-    // If a URI contains an authority component, then the path component
-    // must either be empty or begin with a slash ("/") character.  If a URI
-    // does not contain an authority component, then the path cannot begin
-    // with two slash characters ("//").
-    if (ret.path) {
-        if (ret.authority) {
-            if (!_singleSlashStart.test(ret.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 (_doubleSlashStart.test(ret.path)) {
-                throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")');
-            }
-        }
-    }
-}
-// for a while we allowed uris *without* schemes and this is the migration
-// for them, e.g. an uri without scheme and without strict-mode warns and falls
-// back to the file-scheme. that should cause the least carnage and still be a
-// clear warning
-function _schemeFix(scheme, _strict) {
-    if (!scheme && !_strict) {
-        return 'file';
-    }
-    return scheme;
-}
-// implements a bit of https://tools.ietf.org/html/rfc3986#section-5
-function _referenceResolution(scheme, path) {
-    // the slash-character is our 'default base' as we don't
-    // support constructing URIs relative to other URIs. This
-    // also means that we alter and potentially break paths.
-    // see https://tools.ietf.org/html/rfc3986#section-5.1.4
-    switch (scheme) {
-        case 'https':
-        case 'http':
-        case 'file':
-            if (!path) {
-                path = _slash;
-            }
-            else if (path[0] !== _slash) {
-                path = _slash + path;
-            }
-            break;
-    }
-    return path;
-}
-var _empty = '';
-var _slash = '/';
-var _regexp = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;
-/**
- * Uniform Resource Identifier (URI) http://tools.ietf.org/html/rfc3986.
- * This class is a simple parser which creates the basic component parts
- * (http://tools.ietf.org/html/rfc3986#section-3) with minimal validation
- * and encoding.
- *
- * ```txt
- *       foo://example.com:8042/over/there?name=ferret#nose
- *       \_/   \______________/\_________/ \_________/ \__/
- *        |           |            |            |        |
- *     scheme     authority       path        query   fragment
- *        |   _____________________|__
- *       / \ /                        \
- *       urn:example:animal:ferret:nose
- * ```
- */
-var URI = /** @class */ (function () {
-    /**
-     * @internal
-     */
-    function URI(schemeOrData, authority, path, query, fragment, _strict) {
-        if (_strict === void 0) { _strict = false; }
-        if (typeof schemeOrData === 'object') {
-            this.scheme = schemeOrData.scheme || _empty;
-            this.authority = schemeOrData.authority || _empty;
-            this.path = schemeOrData.path || _empty;
-            this.query = schemeOrData.query || _empty;
-            this.fragment = schemeOrData.fragment || _empty;
-            // no validation because it's this URI
-            // that creates uri components.
-            // _validateUri(this);
-        }
-        else {
-            this.scheme = _schemeFix(schemeOrData, _strict);
-            this.authority = authority || _empty;
-            this.path = _referenceResolution(this.scheme, path || _empty);
-            this.query = query || _empty;
-            this.fragment = fragment || _empty;
-            _validateUri(this, _strict);
-        }
-    }
-    URI.isUri = function (thing) {
-        if (thing instanceof URI) {
-            return true;
-        }
-        if (!thing) {
-            return false;
-        }
-        return typeof thing.authority === 'string'
-            && typeof thing.fragment === 'string'
-            && typeof thing.path === 'string'
-            && typeof thing.query === 'string'
-            && typeof thing.scheme === 'string'
-            && typeof thing.fsPath === 'function'
-            && typeof thing.with === 'function'
-            && typeof thing.toString === 'function';
-    };
-    Object.defineProperty(URI.prototype, "fsPath", {
-        // ---- filesystem path -----------------------
-        /**
-         * Returns a string representing the corresponding file system path of this URI.
-         * Will handle UNC paths, normalizes windows drive letters to lower-case, and uses the
-         * platform specific path separator.
-         *
-         * * Will *not* validate the path for invalid characters and semantics.
-         * * Will *not* look at the scheme of this URI.
-         * * The result shall *not* be used for display purposes but for accessing a file on disk.
-         *
-         *
-         * The *difference* to `URI#path` is the use of the platform specific separator and the handling
-         * of UNC paths. See the below sample of a file-uri with an authority (UNC path).
-         *
-         * ```ts
-            const u = URI.parse('file://server/c$/folder/file.txt')
-            u.authority === 'server'
-            u.path === '/shares/c$/file.txt'
-            u.fsPath === '\\server\c$\folder\file.txt'
-        ```
-         *
-         * Using `URI#path` to read a file (using fs-apis) would not be enough because parts of the path,
-         * namely the server name, would be missing. Therefore `URI#fsPath` exists - it's sugar to ease working
-         * with URIs that represent files on disk (`file` scheme).
-         */
-        get: function () {
-            // if (this.scheme !== 'file') {
-            //         console.warn(`[UriError] calling fsPath with scheme ${this.scheme}`);
-            // }
-            return uriToFsPath(this, false);
-        },
-        enumerable: true,
-        configurable: true
-    });
-    // ---- modify to new -------------------------
-    URI.prototype.with = function (change) {
-        if (!change) {
-            return this;
-        }
-        var scheme = change.scheme, authority = change.authority, path = change.path, query = change.query, fragment = change.fragment;
-        if (scheme === undefined) {
-            scheme = this.scheme;
-        }
-        else if (scheme === null) {
-            scheme = _empty;
-        }
-        if (authority === undefined) {
-            authority = this.authority;
-        }
-        else if (authority === null) {
-            authority = _empty;
-        }
-        if (path === undefined) {
-            path = this.path;
-        }
-        else if (path === null) {
-            path = _empty;
-        }
-        if (query === undefined) {
-            query = this.query;
-        }
-        else if (query === null) {
-            query = _empty;
-        }
-        if (fragment === undefined) {
-            fragment = this.fragment;
-        }
-        else if (fragment === null) {
-            fragment = _empty;
-        }
-        if (scheme === this.scheme
-            && authority === this.authority
-            && path === this.path
-            && query === this.query
-            && fragment === this.fragment) {
-            return this;
-        }
-        return new _URI(scheme, authority, path, query, fragment);
-    };
-    // ---- parse & validate ------------------------
-    /**
-     * Creates a new URI from a string, e.g. `http://www.msft.com/some/path`,
-     * `file:///usr/home`, or `scheme:with/path`.
-     *
-     * @param value A string which represents an URI (see `URI#toString`).
-     */
-    URI.parse = function (value, _strict) {
-        if (_strict === void 0) { _strict = false; }
-        var match = _regexp.exec(value);
-        if (!match) {
-            return new _URI(_empty, _empty, _empty, _empty, _empty);
-        }
-        return new _URI(match[2] || _empty, percentDecode(match[4] || _empty), percentDecode(match[5] || _empty), percentDecode(match[7] || _empty), percentDecode(match[9] || _empty), _strict);
-    };
-    /**
-     * Creates a new URI from a file system path, e.g. `c:\my\files`,
-     * `/usr/home`, or `\\server\share\some\path`.
-     *
-     * The *difference* between `URI#parse` and `URI#file` is that the latter treats the argument
-     * as path, not as stringified-uri. E.g. `URI.file(path)` is **not the same as**
-     * `URI.parse('file://' + path)` because the path might contain characters that are
-     * interpreted (# and ?). See the following sample:
-     * ```ts
-    const good = URI.file('/coding/c#/project1');
-    good.scheme === 'file';
-    good.path === '/coding/c#/project1';
-    good.fragment === '';
-    const bad = URI.parse('file://' + '/coding/c#/project1');
-    bad.scheme === 'file';
-    bad.path === '/coding/c'; // path is now broken
-    bad.fragment === '/project1';
-    ```
-     *
-     * @param path A file system path (see `URI#fsPath`)
-     */
-    URI.file = function (path) {
-        var authority = _empty;
-        // normalize to fwd-slashes on windows,
-        // on other systems bwd-slashes are valid
-        // filename character, eg /f\oo/ba\r.txt
-        if (isWindows) {
-            path = path.replace(/\\/g, _slash);
-        }
-        // check for authority as used in UNC shares
-        // or use the path as given
-        if (path[0] === _slash && path[1] === _slash) {
-            var idx = path.indexOf(_slash, 2);
-            if (idx === -1) {
-                authority = path.substring(2);
-                path = _slash;
-            }
-            else {
-                authority = path.substring(2, idx);
-                path = path.substring(idx) || _slash;
-            }
-        }
-        return new _URI('file', authority, path, _empty, _empty);
-    };
-    URI.from = function (components) {
-        return new _URI(components.scheme, components.authority, components.path, components.query, components.fragment);
-    };
-    // /**
-    //  * Join a URI path with path fragments and normalizes the resulting path.
-    //  *
-    //  * @param uri The input URI.
-    //  * @param pathFragment The path fragment to add to the URI path.
-    //  * @returns The resulting URI.
-    //  */
-    // static joinPath(uri: URI, ...pathFragment: string[]): URI {
-    //         if (!uri.path) {
-    //                 throw new Error(`[UriError]: cannot call joinPaths on URI without path`);
-    //         }
-    //         let newPath: string;
-    //         if (isWindows && uri.scheme === 'file') {
-    //                 newPath = URI.file(paths.win32.join(uriToFsPath(uri, true), ...pathFragment)).path;
-    //         } else {
-    //                 newPath = paths.posix.join(uri.path, ...pathFragment);
-    //         }
-    //         return uri.with({ path: newPath });
-    // }
-    // ---- printing/externalize ---------------------------
-    /**
-     * Creates a string representation for this URI. It's guaranteed that calling
-     * `URI.parse` with the result of this function creates an URI which is equal
-     * to this URI.
-     *
-     * * The result shall *not* be used for display purposes but for externalization or transport.
-     * * The result will be encoded using the percentage encoding and encoding happens mostly
-     * ignore the scheme-specific encoding rules.
-     *
-     * @param skipEncoding Do not encode the result, default is `false`
-     */
-    URI.prototype.toString = function (skipEncoding) {
-        if (skipEncoding === void 0) { skipEncoding = false; }
-        return _asFormatted(this, skipEncoding);
-    };
-    URI.prototype.toJSON = function () {
-        return this;
-    };
-    URI.revive = function (data) {
-        if (!data) {
-            return data;
-        }
-        else if (data instanceof URI) {
-            return data;
-        }
-        else {
-            var result = new _URI(data);
-            result._formatted = data.external;
-            result._fsPath = data._sep === _pathSepMarker ? data.fsPath : null;
-            return result;
-        }
-    };
-    return URI;
-}());
-
-var _pathSepMarker = isWindows ? 1 : undefined;
-// eslint-disable-next-line @typescript-eslint/class-name-casing
-var _URI = /** @class */ (function (_super) {
-    __extends(_URI, _super);
-    function _URI() {
-        var _this = _super !== null && _super.apply(this, arguments) || this;
-        _this._formatted = null;
-        _this._fsPath = null;
-        return _this;
-    }
-    Object.defineProperty(_URI.prototype, "fsPath", {
-        get: function () {
-            if (!this._fsPath) {
-                this._fsPath = uriToFsPath(this, false);
-            }
-            return this._fsPath;
-        },
-        enumerable: true,
-        configurable: true
-    });
-    _URI.prototype.toString = function (skipEncoding) {
-        if (skipEncoding === void 0) { skipEncoding = false; }
-        if (!skipEncoding) {
-            if (!this._formatted) {
-                this._formatted = _asFormatted(this, false);
-            }
-            return this._formatted;
-        }
-        else {
-            // we don't cache that
-            return _asFormatted(this, true);
-        }
-    };
-    _URI.prototype.toJSON = function () {
-        var res = {
-            $mid: 1
-        };
-        // cached state
-        if (this._fsPath) {
-            res.fsPath = this._fsPath;
-            res._sep = _pathSepMarker;
-        }
-        if (this._formatted) {
-            res.external = this._formatted;
-        }
-        // uri components
-        if (this.path) {
-            res.path = this.path;
-        }
-        if (this.scheme) {
-            res.scheme = this.scheme;
-        }
-        if (this.authority) {
-            res.authority = this.authority;
-        }
-        if (this.query) {
-            res.query = this.query;
-        }
-        if (this.fragment) {
-            res.fragment = this.fragment;
-        }
-        return res;
-    };
-    return _URI;
-}(URI));
-// reserved characters: https://tools.ietf.org/html/rfc3986#section-2.2
-var encodeTable = (_a = {},
-    _a[58 /* Colon */] = '%3A',
-    _a[47 /* Slash */] = '%2F',
-    _a[63 /* QuestionMark */] = '%3F',
-    _a[35 /* Hash */] = '%23',
-    _a[91 /* OpenSquareBracket */] = '%5B',
-    _a[93 /* CloseSquareBracket */] = '%5D',
-    _a[64 /* AtSign */] = '%40',
-    _a[33 /* ExclamationMark */] = '%21',
-    _a[36 /* DollarSign */] = '%24',
-    _a[38 /* Ampersand */] = '%26',
-    _a[39 /* SingleQuote */] = '%27',
-    _a[40 /* OpenParen */] = '%28',
-    _a[41 /* CloseParen */] = '%29',
-    _a[42 /* Asterisk */] = '%2A',
-    _a[43 /* Plus */] = '%2B',
-    _a[44 /* Comma */] = '%2C',
-    _a[59 /* Semicolon */] = '%3B',
-    _a[61 /* Equals */] = '%3D',
-    _a[32 /* Space */] = '%20',
-    _a);
-function encodeURIComponentFast(uriComponent, allowSlash) {
-    var res = undefined;
-    var nativeEncodePos = -1;
-    for (var pos = 0; pos < uriComponent.length; pos++) {
-        var code = uriComponent.charCodeAt(pos);
-        // unreserved characters: https://tools.ietf.org/html/rfc3986#section-2.3
-        if ((code >= 97 /* a */ && code <= 122 /* z */)
-            || (code >= 65 /* A */ && code <= 90 /* Z */)
-            || (code >= 48 /* Digit0 */ && code <= 57 /* Digit9 */)
-            || code === 45 /* Dash */
-            || code === 46 /* Period */
-            || code === 95 /* Underline */
-            || code === 126 /* Tilde */
-            || (allowSlash && code === 47 /* Slash */)) {
-            // check if we are delaying native encode
-            if (nativeEncodePos !== -1) {
-                res += encodeURIComponent(uriComponent.substring(nativeEncodePos, pos));
-                nativeEncodePos = -1;
-            }
-            // check if we write into a new string (by default we try to return the param)
-            if (res !== undefined) {
-                res += uriComponent.charAt(pos);
-            }
-        }
-        else {
-            // encoding needed, we need to allocate a new string
-            if (res === undefined) {
-                res = uriComponent.substr(0, pos);
-            }
-            // check with default table first
-            var escaped = encodeTable[code];
-            if (escaped !== undefined) {
-                // check if we are delaying native encode
-                if (nativeEncodePos !== -1) {
-                    res += encodeURIComponent(uriComponent.substring(nativeEncodePos, pos));
-                    nativeEncodePos = -1;
-                }
-                // append escaped variant to result
-                res += escaped;
-            }
-            else if (nativeEncodePos === -1) {
-                // use native encode only when needed
-                nativeEncodePos = pos;
-            }
-        }
-    }
-    if (nativeEncodePos !== -1) {
-        res += encodeURIComponent(uriComponent.substring(nativeEncodePos));
-    }
-    return res !== undefined ? res : uriComponent;
-}
-function encodeURIComponentMinimal(path) {
-    var res = undefined;
-    for (var pos = 0; pos < path.length; pos++) {
-        var code = path.charCodeAt(pos);
-        if (code === 35 /* Hash */ || code === 63 /* QuestionMark */) {
-            if (res === undefined) {
-                res = path.substr(0, pos);
-            }
-            res += encodeTable[code];
-        }
-        else {
-            if (res !== undefined) {
-                res += path[pos];
-            }
-        }
-    }
-    return res !== undefined ? res : path;
-}
-/**
- * Compute `fsPath` for the given uri
- */
-function uriToFsPath(uri, keepDriveLetterCasing) {
-    var value;
-    if (uri.authority && uri.path.length > 1 && uri.scheme === 'file') {
-        // unc path: file://shares/c$/far/boo
-        value = "//" + uri.authority + uri.path;
-    }
-    else if (uri.path.charCodeAt(0) === 47 /* Slash */
-        && (uri.path.charCodeAt(1) >= 65 /* A */ && uri.path.charCodeAt(1) <= 90 /* Z */ || uri.path.charCodeAt(1) >= 97 /* a */ && uri.path.charCodeAt(1) <= 122 /* z */)
-        && uri.path.charCodeAt(2) === 58 /* Colon */) {
-        if (!keepDriveLetterCasing) {
-            // windows drive letter: file:///c:/far/boo
-            value = uri.path[1].toLowerCase() + uri.path.substr(2);
-        }
-        else {
-            value = uri.path.substr(1);
-        }
-    }
-    else {
-        // other path
-        value = uri.path;
-    }
-    if (isWindows) {
-        value = value.replace(/\//g, '\\');
-    }
-    return value;
-}
-/**
- * Create the external version of a uri
- */
-function _asFormatted(uri, skipEncoding) {
-    var encoder = !skipEncoding
-        ? encodeURIComponentFast
-        : encodeURIComponentMinimal;
-    var res = '';
-    var scheme = uri.scheme, authority = uri.authority, path = uri.path, query = uri.query, fragment = uri.fragment;
-    if (scheme) {
-        res += scheme;
-        res += ':';
-    }
-    if (authority || scheme === 'file') {
-        res += _slash;
-        res += _slash;
-    }
-    if (authority) {
-        var idx = authority.indexOf('@');
-        if (idx !== -1) {
-            // <user>@<auth>
-            var userinfo = authority.substr(0, idx);
-            authority = authority.substr(idx + 1);
-            idx = userinfo.indexOf(':');
-            if (idx === -1) {
-                res += encoder(userinfo, false);
-            }
-            else {
-                // <user>:<pass>@<auth>
-                res += encoder(userinfo.substr(0, idx), false);
-                res += ':';
-                res += encoder(userinfo.substr(idx + 1), false);
-            }
-            res += '@';
-        }
-        authority = authority.toLowerCase();
-        idx = authority.indexOf(':');
-        if (idx === -1) {
-            res += encoder(authority, false);
-        }
-        else {
-            // <auth>:<port>
-            res += encoder(authority.substr(0, idx), false);
-            res += authority.substr(idx);
-        }
-    }
-    if (path) {
-        // lower-case windows drive letters in /C:/fff or C:/fff
-        if (path.length >= 3 && path.charCodeAt(0) === 47 /* Slash */ && path.charCodeAt(2) === 58 /* Colon */) {
-            var code = path.charCodeAt(1);
-            if (code >= 65 /* A */ && code <= 90 /* Z */) {
-                path = "/" + String.fromCharCode(code + 32) + ":" + path.substr(3); // "/c:".length === 3
-            }
-        }
-        else if (path.length >= 2 && path.charCodeAt(1) === 58 /* Colon */) {
-            var code = path.charCodeAt(0);
-            if (code >= 65 /* A */ && code <= 90 /* Z */) {
-                path = String.fromCharCode(code + 32) + ":" + path.substr(2); // "/c:".length === 3
-            }
-        }
-        // encode the rest of the path
-        res += encoder(path, true);
-    }
-    if (query) {
-        res += '?';
-        res += encoder(query, false);
-    }
-    if (fragment) {
-        res += '#';
-        res += !skipEncoding ? encodeURIComponentFast(fragment, false) : fragment;
-    }
-    return res;
-}
-// --- decode
-function decodeURIComponentGraceful(str) {
-    try {
-        return decodeURIComponent(str);
-    }
-    catch (_a) {
-        if (str.length > 3) {
-            return str.substr(0, 3) + decodeURIComponentGraceful(str.substr(3));
-        }
-        else {
-            return str;
-        }
-    }
-}
-var _rEncodedAsHex = /(%[0-9A-Za-z][0-9A-Za-z])+/g;
-function percentDecode(str) {
-    if (!str.match(_rEncodedAsHex)) {
-        return str;
-    }
-    return str.replace(_rEncodedAsHex, function (match) { return decodeURIComponentGraceful(match); });
-}
-
-
-/***/ }),
-/* 36 */
-/***/ (function(module, exports) {
-
-module.exports = require("coc.nvim");
-
-/***/ }),
-/* 37 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.joinPath = exports.normalizePath = exports.resolvePath = exports.isAbsolutePath = exports.basename = exports.dirname = exports.getScheme = void 0;
-function getScheme(uri) {
-    return uri.substr(0, uri.indexOf(':'));
-}
-exports.getScheme = getScheme;
-function dirname(uri) {
-    const lastIndexOfSlash = uri.lastIndexOf('/');
-    return lastIndexOfSlash !== -1 ? uri.substr(0, lastIndexOfSlash) : '';
-}
-exports.dirname = dirname;
-function basename(uri) {
-    const lastIndexOfSlash = uri.lastIndexOf('/');
-    return uri.substr(lastIndexOfSlash + 1);
-}
-exports.basename = basename;
-const Slash = '/'.charCodeAt(0);
-const Dot = '.'.charCodeAt(0);
-function isAbsolutePath(path) {
-    return path.charCodeAt(0) === Slash;
-}
-exports.isAbsolutePath = isAbsolutePath;
-function resolvePath(uri, path) {
-    if (isAbsolutePath(path)) {
-        return uri.with({ path: normalizePath(path.split('/')) });
-    }
-    return joinPath(uri, path);
-}
-exports.resolvePath = resolvePath;
-function normalizePath(parts) {
-    const newParts = [];
-    for (const part of parts) {
-        if (part.length === 0 || part.length === 1 && part.charCodeAt(0) === Dot) {
-            // ignore
-        }
-        else if (part.length === 2 && part.charCodeAt(0) === Dot && part.charCodeAt(1) === Dot) {
-            newParts.pop();
-        }
-        else {
-            newParts.push(part);
-        }
-    }
-    if (parts.length > 1 && parts[parts.length - 1].length === 0) {
-        newParts.push('');
-    }
-    let res = newParts.join('/');
-    if (parts[0].length === 0) {
-        res = '/' + res;
-    }
-    return res;
-}
-exports.normalizePath = normalizePath;
-function joinPath(uri, ...paths) {
-    const parts = uri.path.split('/');
-    for (let path of paths) {
-        parts.push(...path.split('/'));
-    }
-    return uri.with({ path: normalizePath(parts) });
-}
-exports.joinPath = joinPath;
-
-
-/***/ }),
-/* 38 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-module.exports = string => {
-       if (typeof string !== 'string') {
-               throw new TypeError(`Expected a string, got ${typeof string}`);
-       }
-
-       // Catches EFBBBF (UTF-8 BOM) because the buffer-to-string
-       // conversion translates it to FEFF (UTF-16 BOM)
-       if (string.charCodeAt(0) === 0xFEFF) {
-               return string.slice(1);
-       }
-
-       return string;
-};
-
-
-/***/ })
-/******/ ])));
\ No newline at end of file
+`)),l){let j=a.error?` Request failed: ${a.error.message} (${a.error.code}).`:"";D.log(`Received response '${l.method} - (${a.id})' in ${Date.now()-l.timerStart}ms.${j}`,d)}else D.log(`Received response ${a.id} without active response promise.`,d)}else He("receive-response",a)}function He(a,l){if(!D||O===U.Off)return;let d={isLSPMessage:!0,type:a,message:l,timestamp:Date.now()};D.log(d)}function lt(){if(xr())throw new ze($t.Closed,"Connection is closed.");if(Ue())throw new ze($t.Disposed,"Connection is disposed.")}function ss(){if(Nr())throw new ze($t.AlreadyListening,"Connection is already listening")}function as(){if(!Nr())throw new Error("Call listen() first.")}function ft(a){return a===void 0?null:a}function Dr(a){if(a!==null)return a}function Er(a){return a!=null&&!Array.isArray(a)&&typeof a=="object"}function sn(a,l){switch(a){case S.ParameterStructures.auto:if(Er(l))return Dr(l);return[ft(l)];break;case S.ParameterStructures.byName:if(!Er(l))throw new Error("Recevied parameters by name but param is not an object literal.");return Dr(l);case S.ParameterStructures.byPosition:return[ft(l)];default:throw new Error(`Unknown parameter structure ${a.toString()}`)}}function Ar(a,l){let d,j=a.numberOfParams;switch(j){case 0:d=void 0;break;case 1:d=sn(a.parameterStructures,l[0]);break;default:d=[];for(let P=0;P<l.length&&P<j;P++)d.push(ft(l[P]));if(l.length<j)for(let P=l.length;P<j;P++)d.push(null);break}return d}let Ge={sendNotification:(a,...l)=>{lt();let d,j;if(Q.string(a)){d=a;let z=l[0],G=0,Y=S.ParameterStructures.auto;S.ParameterStructures.is(z)&&(G=1,Y=z);let N=l.length,$=N-G;switch($){case 0:j=void 0;break;case 1:j=sn(Y,l[G]);break;default:if(Y===S.ParameterStructures.byName)throw new Error(`Recevied ${$} parameters for 'by Name' notification parameter structure.`);j=l.slice(G,N).map(x=>ft(x));break}}else{let z=l;d=a.method,j=Ar(a,z)}let P={jsonrpc:g,method:d,params:j};ns(P),t.write(P)},onNotification:(a,l)=>{lt();let d;return Q.func(a)?_=a:l&&(Q.string(a)?(d=a,R[a]={type:void 0,handler:l}):(d=a.method,R[a.method]={type:a,handler:l})),{dispose:()=>{d!==void 0?delete R[d]:_=void 0}}},onProgress:(a,l,d)=>{if(h.has(l))throw new Error(`Progress handler for token ${l} already registered`);return h.set(l,d),{dispose:()=>{h.delete(l)}}},sendProgress:(a,l,d)=>{Ge.sendNotification(zt.type,{token:l,value:d})},onUnhandledProgress:Ae.event,sendRequest:(a,...l)=>{lt(),as();let d,j,P;if(Q.string(a)){d=a;let N=l[0],$=l[l.length-1],x=0,V=S.ParameterStructures.auto;S.ParameterStructures.is(N)&&(x=1,V=N);let se=l.length;_n.CancellationToken.is($)&&(se=se-1,P=$);let Ie=se-x;switch(Ie){case 0:j=void 0;break;case 1:j=sn(V,l[x]);break;default:if(V===S.ParameterStructures.byName)throw new Error(`Recevied ${Ie} parameters for 'by Name' request parameter structure.`);j=l.slice(x,se).map(Ne=>ft(Ne));break}}else{let N=l;d=a.method,j=Ar(a,N);let $=a.numberOfParams;P=_n.CancellationToken.is(N[$])?N[$]:void 0}let z=s++,G;return P&&(G=P.onCancellationRequested(()=>{Se.sender.sendCancellation(Ge,z)})),new Promise((N,$)=>{let x={jsonrpc:g,id:z,method:d,params:j},V=Ne=>{N(Ne),Se.sender.cleanup(z),G==null||G.dispose()},se=Ne=>{$(Ne),Se.sender.cleanup(z),G==null||G.dispose()},Ie={method:d,timerStart:Date.now(),resolve:V,reject:se};ts(x);try{t.write(x)}catch(Ne){Ie.reject(new S.ResponseError(S.ErrorCodes.MessageWriteError,Ne.message?Ne.message:"Unknown reason")),Ie=null}Ie&&(C[String(z)]=Ie)})},onRequest:(a,l)=>{lt();let d=null;return kn.is(a)?(d=void 0,m=a):Q.string(a)?(d=null,l!==void 0&&(d=a,b[a]={handler:l,type:void 0})):l!==void 0&&(d=a.method,b[a.method]={type:a,handler:l}),{dispose:()=>{d!==null&&(d!==void 0?delete b[d]:m=void 0)}}},trace:(a,l,d)=>{let j=!1,P=le.Text;d!==void 0&&(Q.boolean(d)?j=d:(j=d.sendNotification||!1,P=d.traceFormat||le.Text)),O=a,oe=P,O===U.Off?D=void 0:D=l,j&&!xr()&&!Ue()&&Ge.sendNotification(Io.type,{value:U.toString(a)})},onError:ce.event,onClose:ye.event,onUnhandledNotification:Ee.event,onDispose:ve.event,end:()=>{t.end()},dispose:()=>{if(Ue())return;ie=fe.Disposed,ve.fire(void 0);let a=new Error("Connection got disposed.");Object.keys(C).forEach(l=>{C[l].reject(a)}),C=Object.create(null),F=Object.create(null),q=new Eo.LinkedMap,Q.func(t.dispose)&&t.dispose(),Q.func(e.dispose)&&e.dispose()},listen:()=>{lt(),ss(),ie=fe.Listening,e.listen(Qi)},inspect:()=>{Do.default().console.log("inspect")}};return Ge.onNotification(Mn.type,a=>{O===U.Off||!D||D.log(a.message,O===U.Verbose?a.verbose:void 0)}),Ge.onNotification(zt.type,a=>{let l=h.get(a.token);l?l(a.value):Ae.fire(a)}),Ge}w.createMessageConnection=Ls});var qn=M(f=>{"use strict";Object.defineProperty(f,"__esModule",{value:!0});f.CancellationSenderStrategy=f.CancellationReceiverStrategy=f.ConnectionError=f.ConnectionErrors=f.LogTraceNotification=f.SetTraceNotification=f.TraceFormat=f.Trace=f.ProgressType=f.createMessageConnection=f.NullLogger=f.ConnectionOptions=f.ConnectionStrategy=f.WriteableStreamMessageWriter=f.AbstractMessageWriter=f.MessageWriter=f.ReadableStreamMessageReader=f.AbstractMessageReader=f.MessageReader=f.CancellationToken=f.CancellationTokenSource=f.Emitter=f.Event=f.Disposable=f.ParameterStructures=f.NotificationType9=f.NotificationType8=f.NotificationType7=f.NotificationType6=f.NotificationType5=f.NotificationType4=f.NotificationType3=f.NotificationType2=f.NotificationType1=f.NotificationType0=f.NotificationType=f.ErrorCodes=f.ResponseError=f.RequestType9=f.RequestType8=f.RequestType7=f.RequestType6=f.RequestType5=f.RequestType4=f.RequestType3=f.RequestType2=f.RequestType1=f.RequestType0=f.RequestType=f.RAL=void 0;f.CancellationStrategy=void 0;var L=pn();Object.defineProperty(f,"RequestType",{enumerable:!0,get:function(){return L.RequestType}});Object.defineProperty(f,"RequestType0",{enumerable:!0,get:function(){return L.RequestType0}});Object.defineProperty(f,"RequestType1",{enumerable:!0,get:function(){return L.RequestType1}});Object.defineProperty(f,"RequestType2",{enumerable:!0,get:function(){return L.RequestType2}});Object.defineProperty(f,"RequestType3",{enumerable:!0,get:function(){return L.RequestType3}});Object.defineProperty(f,"RequestType4",{enumerable:!0,get:function(){return L.RequestType4}});Object.defineProperty(f,"RequestType5",{enumerable:!0,get:function(){return L.RequestType5}});Object.defineProperty(f,"RequestType6",{enumerable:!0,get:function(){return L.RequestType6}});Object.defineProperty(f,"RequestType7",{enumerable:!0,get:function(){return L.RequestType7}});Object.defineProperty(f,"RequestType8",{enumerable:!0,get:function(){return L.RequestType8}});Object.defineProperty(f,"RequestType9",{enumerable:!0,get:function(){return L.RequestType9}});Object.defineProperty(f,"ResponseError",{enumerable:!0,get:function(){return L.ResponseError}});Object.defineProperty(f,"ErrorCodes",{enumerable:!0,get:function(){return L.ErrorCodes}});Object.defineProperty(f,"NotificationType",{enumerable:!0,get:function(){return L.NotificationType}});Object.defineProperty(f,"NotificationType0",{enumerable:!0,get:function(){return L.NotificationType0}});Object.defineProperty(f,"NotificationType1",{enumerable:!0,get:function(){return L.NotificationType1}});Object.defineProperty(f,"NotificationType2",{enumerable:!0,get:function(){return L.NotificationType2}});Object.defineProperty(f,"NotificationType3",{enumerable:!0,get:function(){return L.NotificationType3}});Object.defineProperty(f,"NotificationType4",{enumerable:!0,get:function(){return L.NotificationType4}});Object.defineProperty(f,"NotificationType5",{enumerable:!0,get:function(){return L.NotificationType5}});Object.defineProperty(f,"NotificationType6",{enumerable:!0,get:function(){return L.NotificationType6}});Object.defineProperty(f,"NotificationType7",{enumerable:!0,get:function(){return L.NotificationType7}});Object.defineProperty(f,"NotificationType8",{enumerable:!0,get:function(){return L.NotificationType8}});Object.defineProperty(f,"NotificationType9",{enumerable:!0,get:function(){return L.NotificationType9}});Object.defineProperty(f,"ParameterStructures",{enumerable:!0,get:function(){return L.ParameterStructures}});var Fs=ln();Object.defineProperty(f,"Disposable",{enumerable:!0,get:function(){return Fs.Disposable}});var Jo=Qe();Object.defineProperty(f,"Event",{enumerable:!0,get:function(){return Jo.Event}});Object.defineProperty(f,"Emitter",{enumerable:!0,get:function(){return Jo.Emitter}});var Wo=yn();Object.defineProperty(f,"CancellationTokenSource",{enumerable:!0,get:function(){return Wo.CancellationTokenSource}});Object.defineProperty(f,"CancellationToken",{enumerable:!0,get:function(){return Wo.CancellationToken}});var Nn=_o();Object.defineProperty(f,"MessageReader",{enumerable:!0,get:function(){return Nn.MessageReader}});Object.defineProperty(f,"AbstractMessageReader",{enumerable:!0,get:function(){return Nn.AbstractMessageReader}});Object.defineProperty(f,"ReadableStreamMessageReader",{enumerable:!0,get:function(){return Nn.ReadableStreamMessageReader}});var xn=xo();Object.defineProperty(f,"MessageWriter",{enumerable:!0,get:function(){return xn.MessageWriter}});Object.defineProperty(f,"AbstractMessageWriter",{enumerable:!0,get:function(){return xn.AbstractMessageWriter}});Object.defineProperty(f,"WriteableStreamMessageWriter",{enumerable:!0,get:function(){return xn.WriteableStreamMessageWriter}});var ae=Fo();Object.defineProperty(f,"ConnectionStrategy",{enumerable:!0,get:function(){return ae.ConnectionStrategy}});Object.defineProperty(f,"ConnectionOptions",{enumerable:!0,get:function(){return ae.ConnectionOptions}});Object.defineProperty(f,"NullLogger",{enumerable:!0,get:function(){return ae.NullLogger}});Object.defineProperty(f,"createMessageConnection",{enumerable:!0,get:function(){return ae.createMessageConnection}});Object.defineProperty(f,"ProgressType",{enumerable:!0,get:function(){return ae.ProgressType}});Object.defineProperty(f,"Trace",{enumerable:!0,get:function(){return ae.Trace}});Object.defineProperty(f,"TraceFormat",{enumerable:!0,get:function(){return ae.TraceFormat}});Object.defineProperty(f,"SetTraceNotification",{enumerable:!0,get:function(){return ae.SetTraceNotification}});Object.defineProperty(f,"LogTraceNotification",{enumerable:!0,get:function(){return ae.LogTraceNotification}});Object.defineProperty(f,"ConnectionErrors",{enumerable:!0,get:function(){return ae.ConnectionErrors}});Object.defineProperty(f,"ConnectionError",{enumerable:!0,get:function(){return ae.ConnectionError}});Object.defineProperty(f,"CancellationReceiverStrategy",{enumerable:!0,get:function(){return ae.CancellationReceiverStrategy}});Object.defineProperty(f,"CancellationSenderStrategy",{enumerable:!0,get:function(){return ae.CancellationSenderStrategy}});Object.defineProperty(f,"CancellationStrategy",{enumerable:!0,get:function(){return ae.CancellationStrategy}});var Js=Re();f.RAL=Js.default});var tt=M(T=>{"use strict";var Ws=T&&T.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),zs=T&&T.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&Ws(t,e,r)};Object.defineProperty(T,"__esModule",{value:!0});T.createMessageConnection=T.createServerSocketTransport=T.createClientSocketTransport=T.createServerPipeTransport=T.createClientPipeTransport=T.generateRandomPipeName=T.StreamMessageWriter=T.StreamMessageReader=T.SocketMessageWriter=T.SocketMessageReader=T.IPCMessageWriter=T.IPCMessageReader=void 0;var Ze=Gr();Ze.default.install();var je=qn(),zo=require("path"),$s=require("os"),Bs=require("crypto"),Bt=require("net");zs(qn(),T);var $o=class extends je.AbstractMessageReader{constructor(t){super();this.process=t;let r=this.process;r.on("error",n=>this.fireError(n)),r.on("close",()=>this.fireClose())}listen(t){return this.process.on("message",t),je.Disposable.create(()=>this.process.off("message",t))}};T.IPCMessageReader=$o;var Bo=class extends je.AbstractMessageWriter{constructor(t){super();this.process=t,this.errorCount=0;let r=this.process;r.on("error",n=>this.fireError(n)),r.on("close",()=>this.fireClose)}write(t){try{return typeof this.process.send=="function"&&this.process.send(t,void 0,void 0,r=>{r?(this.errorCount++,this.handleError(r,t)):this.errorCount=0}),Promise.resolve()}catch(r){return this.handleError(r,t),Promise.reject(r)}}handleError(t,r){this.errorCount++,this.fireError(t,r,this.errorCount)}end(){}};T.IPCMessageWriter=Bo;var Ke=class extends je.ReadableStreamMessageReader{constructor(t,r="utf-8"){super(Ze.default().stream.asReadableStream(t),r)}};T.SocketMessageReader=Ke;var et=class extends je.WriteableStreamMessageWriter{constructor(t,r){super(Ze.default().stream.asWritableStream(t),r);this.socket=t}dispose(){super.dispose(),this.socket.destroy()}};T.SocketMessageWriter=et;var On=class extends je.ReadableStreamMessageReader{constructor(t,r){super(Ze.default().stream.asReadableStream(t),r)}};T.StreamMessageReader=On;var Dn=class extends je.WriteableStreamMessageWriter{constructor(t,r){super(Ze.default().stream.asWritableStream(t),r)}};T.StreamMessageWriter=Dn;var Uo=process.env.XDG_RUNTIME_DIR,Us=new Map([["linux",107],["darwin",103]]);function Hs(){let e=Bs.randomBytes(21).toString("hex");if(process.platform==="win32")return`\\\\.\\pipe\\vscode-jsonrpc-${e}-sock`;let t;Uo?t=zo.join(Uo,`vscode-ipc-${e}.sock`):t=zo.join($s.tmpdir(),`vscode-${e}.sock`);let r=Us.get(process.platform);return r!==void 0&&t.length>=r&&Ze.default().console.warn(`WARNING: IPC handle "${t}" is longer than ${r} characters.`),t}T.generateRandomPipeName=Hs;function Gs(e,t="utf-8"){let r,n=new Promise((o,s)=>{r=o});return new Promise((o,s)=>{let c=Bt.createServer(p=>{c.close(),r([new Ke(p,t),new et(p,t)])});c.on("error",s),c.listen(e,()=>{c.removeListener("error",s),o({onConnected:()=>n})})})}T.createClientPipeTransport=Gs;function Vs(e,t="utf-8"){let r=Bt.createConnection(e);return[new Ke(r,t),new et(r,t)]}T.createServerPipeTransport=Vs;function Ys(e,t="utf-8"){let r,n=new Promise((o,s)=>{r=o});return new Promise((o,s)=>{let c=Bt.createServer(p=>{c.close(),r([new Ke(p,t),new et(p,t)])});c.on("error",s),c.listen(e,"127.0.0.1",()=>{c.removeListener("error",s),o({onConnected:()=>n})})})}T.createClientSocketTransport=Ys;function Qs(e,t="utf-8"){let r=Bt.createConnection(e,"127.0.0.1");return[new Ke(r,t),new et(r,t)]}T.createServerSocketTransport=Qs;function Xs(e){let t=e;return t.read!==void 0&&t.addListener!==void 0}function Zs(e){let t=e;return t.write!==void 0&&t.addListener!==void 0}function Ks(e,t,r,n){r||(r=je.NullLogger);let o=Xs(e)?new On(e):e,s=Zs(t)?new Dn(t):t;return je.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),je.createMessageConnection(o,s,r,n)}T.createMessageConnection=Ks});var En=M((ll,Ho)=>{"use strict";Ho.exports=tt()});var Vo=M(ea=>{Lr(ea,{AnnotatedTextEdit:()=>Ce,ChangeAnnotation:()=>$e,ChangeAnnotationIdentifier:()=>ee,CodeAction:()=>dr,CodeActionContext:()=>fr,CodeActionKind:()=>lr,CodeDescription:()=>Bn,CodeLens:()=>pr,Color:()=>Ht,ColorInformation:()=>Ln,ColorPresentation:()=>Fn,Command:()=>nt,CompletionItem:()=>Kn,CompletionItemKind:()=>Vn,CompletionItemTag:()=>Qn,CompletionList:()=>er,CreateFile:()=>rt,DeleteFile:()=>it,Diagnostic:()=>bt,DiagnosticRelatedInformation:()=>Gt,DiagnosticSeverity:()=>zn,DiagnosticTag:()=>$n,DocumentHighlight:()=>ir,DocumentHighlightKind:()=>or,DocumentLink:()=>mr,DocumentSymbol:()=>ur,EOL:()=>na,FoldingRange:()=>Wn,FoldingRangeKind:()=>Jn,FormattingOptions:()=>hr,Hover:()=>tr,InsertReplaceEdit:()=>Xn,InsertTextFormat:()=>Yn,InsertTextMode:()=>Zn,Location:()=>Ut,LocationLink:()=>In,MarkedString:()=>Rt,MarkupContent:()=>Qt,MarkupKind:()=>st,OptionalVersionedTextDocumentIdentifier:()=>St,ParameterInformation:()=>nr,Position:()=>de,Range:()=>X,RenameFile:()=>ot,SelectionRange:()=>gr,SignatureInformation:()=>rr,SymbolInformation:()=>cr,SymbolKind:()=>sr,SymbolTag:()=>ar,TextDocument:()=>yr,TextDocumentEdit:()=>vt,TextDocumentIdentifier:()=>Un,TextDocumentItem:()=>Gn,TextEdit:()=>Me,VersionedTextDocumentIdentifier:()=>Hn,WorkspaceChange:()=>ta,WorkspaceEdit:()=>Vt,integer:()=>An,uinteger:()=>jt});"use strict";var An;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647})(An||(An={}));var jt;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647})(jt||(jt={}));var de;(function(e){function t(n,o){return n===Number.MAX_VALUE&&(n=jt.MAX_VALUE),o===Number.MAX_VALUE&&(o=jt.MAX_VALUE),{line:n,character:o}}e.create=t;function r(n){var o=n;return u.objectLiteral(o)&&u.uinteger(o.line)&&u.uinteger(o.character)}e.is=r})(de||(de={}));var X;(function(e){function t(n,o,s,c){if(u.uinteger(n)&&u.uinteger(o)&&u.uinteger(s)&&u.uinteger(c))return{start:de.create(n,o),end:de.create(s,c)};if(de.is(n)&&de.is(o))return{start:n,end:o};throw new Error("Range#create called with invalid arguments["+n+", "+o+", "+s+", "+c+"]")}e.create=t;function r(n){var o=n;return u.objectLiteral(o)&&de.is(o.start)&&de.is(o.end)}e.is=r})(X||(X={}));var Ut;(function(e){function t(n,o){return{uri:n,range:o}}e.create=t;function r(n){var o=n;return u.defined(o)&&X.is(o.range)&&(u.string(o.uri)||u.undefined(o.uri))}e.is=r})(Ut||(Ut={}));var In;(function(e){function t(n,o,s,c){return{targetUri:n,targetRange:o,targetSelectionRange:s,originSelectionRange:c}}e.create=t;function r(n){var o=n;return u.defined(o)&&X.is(o.targetRange)&&u.string(o.targetUri)&&(X.is(o.targetSelectionRange)||u.undefined(o.targetSelectionRange))&&(X.is(o.originSelectionRange)||u.undefined(o.originSelectionRange))}e.is=r})(In||(In={}));var Ht;(function(e){function t(n,o,s,c){return{red:n,green:o,blue:s,alpha:c}}e.create=t;function r(n){var o=n;return u.numberRange(o.red,0,1)&&u.numberRange(o.green,0,1)&&u.numberRange(o.blue,0,1)&&u.numberRange(o.alpha,0,1)}e.is=r})(Ht||(Ht={}));var Ln;(function(e){function t(n,o){return{range:n,color:o}}e.create=t;function r(n){var o=n;return X.is(o.range)&&Ht.is(o.color)}e.is=r})(Ln||(Ln={}));var Fn;(function(e){function t(n,o,s){return{label:n,textEdit:o,additionalTextEdits:s}}e.create=t;function r(n){var o=n;return u.string(o.label)&&(u.undefined(o.textEdit)||Me.is(o))&&(u.undefined(o.additionalTextEdits)||u.typedArray(o.additionalTextEdits,Me.is))}e.is=r})(Fn||(Fn={}));var Jn;(function(e){e.Comment="comment",e.Imports="imports",e.Region="region"})(Jn||(Jn={}));var Wn;(function(e){function t(n,o,s,c,p){var g={startLine:n,endLine:o};return u.defined(s)&&(g.startCharacter=s),u.defined(c)&&(g.endCharacter=c),u.defined(p)&&(g.kind=p),g}e.create=t;function r(n){var o=n;return u.uinteger(o.startLine)&&u.uinteger(o.startLine)&&(u.undefined(o.startCharacter)||u.uinteger(o.startCharacter))&&(u.undefined(o.endCharacter)||u.uinteger(o.endCharacter))&&(u.undefined(o.kind)||u.string(o.kind))}e.is=r})(Wn||(Wn={}));var Gt;(function(e){function t(n,o){return{location:n,message:o}}e.create=t;function r(n){var o=n;return u.defined(o)&&Ut.is(o.location)&&u.string(o.message)}e.is=r})(Gt||(Gt={}));var zn;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(zn||(zn={}));var $n;(function(e){e.Unnecessary=1,e.Deprecated=2})($n||($n={}));var Bn;(function(e){function t(r){var n=r;return n!=null&&u.string(n.href)}e.is=t})(Bn||(Bn={}));var bt;(function(e){function t(n,o,s,c,p,g){var m={range:n,message:o};return u.defined(s)&&(m.severity=s),u.defined(c)&&(m.code=c),u.defined(p)&&(m.source=p),u.defined(g)&&(m.relatedInformation=g),m}e.create=t;function r(n){var o,s=n;return u.defined(s)&&X.is(s.range)&&u.string(s.message)&&(u.number(s.severity)||u.undefined(s.severity))&&(u.integer(s.code)||u.string(s.code)||u.undefined(s.code))&&(u.undefined(s.codeDescription)||u.string((o=s.codeDescription)===null||o===void 0?void 0:o.href))&&(u.string(s.source)||u.undefined(s.source))&&(u.undefined(s.relatedInformation)||u.typedArray(s.relatedInformation,Gt.is))}e.is=r})(bt||(bt={}));var nt;(function(e){function t(n,o){for(var s=[],c=2;c<arguments.length;c++)s[c-2]=arguments[c];var p={title:n,command:o};return u.defined(s)&&s.length>0&&(p.arguments=s),p}e.create=t;function r(n){var o=n;return u.defined(o)&&u.string(o.title)&&u.string(o.command)}e.is=r})(nt||(nt={}));var Me;(function(e){function t(s,c){return{range:s,newText:c}}e.replace=t;function r(s,c){return{range:{start:s,end:s},newText:c}}e.insert=r;function n(s){return{range:s,newText:""}}e.del=n;function o(s){var c=s;return u.objectLiteral(c)&&u.string(c.newText)&&X.is(c.range)}e.is=o})(Me||(Me={}));var $e;(function(e){function t(n,o,s){var c={label:n};return o!==void 0&&(c.needsConfirmation=o),s!==void 0&&(c.description=s),c}e.create=t;function r(n){var o=n;return o!==void 0&&u.objectLiteral(o)&&u.string(o.label)&&(u.boolean(o.needsConfirmation)||o.needsConfirmation===void 0)&&(u.string(o.description)||o.description===void 0)}e.is=r})($e||($e={}));var ee;(function(e){function t(r){var n=r;return typeof n=="string"}e.is=t})(ee||(ee={}));var Ce;(function(e){function t(s,c,p){return{range:s,newText:c,annotationId:p}}e.replace=t;function r(s,c,p){return{range:{start:s,end:s},newText:c,annotationId:p}}e.insert=r;function n(s,c){return{range:s,newText:"",annotationId:c}}e.del=n;function o(s){var c=s;return Me.is(c)&&($e.is(c.annotationId)||ee.is(c.annotationId))}e.is=o})(Ce||(Ce={}));var vt;(function(e){function t(n,o){return{textDocument:n,edits:o}}e.create=t;function r(n){var o=n;return u.defined(o)&&St.is(o.textDocument)&&Array.isArray(o.edits)}e.is=r})(vt||(vt={}));var rt;(function(e){function t(n,o,s){var c={kind:"create",uri:n};return o!==void 0&&(o.overwrite!==void 0||o.ignoreIfExists!==void 0)&&(c.options=o),s!==void 0&&(c.annotationId=s),c}e.create=t;function r(n){var o=n;return o&&o.kind==="create"&&u.string(o.uri)&&(o.options===void 0||(o.options.overwrite===void 0||u.boolean(o.options.overwrite))&&(o.options.ignoreIfExists===void 0||u.boolean(o.options.ignoreIfExists)))&&(o.annotationId===void 0||ee.is(o.annotationId))}e.is=r})(rt||(rt={}));var ot;(function(e){function t(n,o,s,c){var p={kind:"rename",oldUri:n,newUri:o};return s!==void 0&&(s.overwrite!==void 0||s.ignoreIfExists!==void 0)&&(p.options=s),c!==void 0&&(p.annotationId=c),p}e.create=t;function r(n){var o=n;return o&&o.kind==="rename"&&u.string(o.oldUri)&&u.string(o.newUri)&&(o.options===void 0||(o.options.overwrite===void 0||u.boolean(o.options.overwrite))&&(o.options.ignoreIfExists===void 0||u.boolean(o.options.ignoreIfExists)))&&(o.annotationId===void 0||ee.is(o.annotationId))}e.is=r})(ot||(ot={}));var it;(function(e){function t(n,o,s){var c={kind:"delete",uri:n};return o!==void 0&&(o.recursive!==void 0||o.ignoreIfNotExists!==void 0)&&(c.options=o),s!==void 0&&(c.annotationId=s),c}e.create=t;function r(n){var o=n;return o&&o.kind==="delete"&&u.string(o.uri)&&(o.options===void 0||(o.options.recursive===void 0||u.boolean(o.options.recursive))&&(o.options.ignoreIfNotExists===void 0||u.boolean(o.options.ignoreIfNotExists)))&&(o.annotationId===void 0||ee.is(o.annotationId))}e.is=r})(it||(it={}));var Vt;(function(e){function t(r){var n=r;return n&&(n.changes!==void 0||n.documentChanges!==void 0)&&(n.documentChanges===void 0||n.documentChanges.every(function(o){return u.string(o.kind)?rt.is(o)||ot.is(o)||it.is(o):vt.is(o)}))}e.is=t})(Vt||(Vt={}));var Yt=function(){function e(t,r){this.edits=t,this.changeAnnotations=r}return e.prototype.insert=function(t,r,n){var o,s;if(n===void 0?o=Me.insert(t,r):ee.is(n)?(s=n,o=Ce.insert(t,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(n),o=Ce.insert(t,r,s)),this.edits.push(o),s!==void 0)return s},e.prototype.replace=function(t,r,n){var o,s;if(n===void 0?o=Me.replace(t,r):ee.is(n)?(s=n,o=Ce.replace(t,r,n)):(this.assertChangeAnnotations(this.changeAnnotations),s=this.changeAnnotations.manage(n),o=Ce.replace(t,r,s)),this.edits.push(o),s!==void 0)return s},e.prototype.delete=function(t,r){var n,o;if(r===void 0?n=Me.del(t):ee.is(r)?(o=r,n=Ce.del(t,r)):(this.assertChangeAnnotations(this.changeAnnotations),o=this.changeAnnotations.manage(r),n=Ce.del(t,o)),this.edits.push(n),o!==void 0)return o},e.prototype.add=function(t){this.edits.push(t)},e.prototype.all=function(){return this.edits},e.prototype.clear=function(){this.edits.splice(0,this.edits.length)},e.prototype.assertChangeAnnotations=function(t){if(t===void 0)throw new Error("Text edit change is not configured to manage change annotations.")},e}(),Go=function(){function e(t){this._annotations=t===void 0?Object.create(null):t,this._counter=0,this._size=0}return e.prototype.all=function(){return this._annotations},Object.defineProperty(e.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),e.prototype.manage=function(t,r){var n;if(ee.is(t)?n=t:(n=this.nextId(),r=t),this._annotations[n]!==void 0)throw new Error("Id "+n+" is already in use.");if(r===void 0)throw new Error("No annotation provided for id "+n);return this._annotations[n]=r,this._size++,n},e.prototype.nextId=function(){return this._counter++,this._counter.toString()},e}(),ta=function(){function e(t){var r=this;this._textEditChanges=Object.create(null),t!==void 0?(this._workspaceEdit=t,t.documentChanges?(this._changeAnnotations=new Go(t.changeAnnotations),t.changeAnnotations=this._changeAnnotations.all(),t.documentChanges.forEach(function(n){if(vt.is(n)){var o=new Yt(n.edits,r._changeAnnotations);r._textEditChanges[n.textDocument.uri]=o}})):t.changes&&Object.keys(t.changes).forEach(function(n){var o=new Yt(t.changes[n]);r._textEditChanges[n]=o})):this._workspaceEdit={}}return Object.defineProperty(e.prototype,"edit",{get:function(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),e.prototype.getTextEditChange=function(t){if(St.is(t)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var r={uri:t.uri,version:t.version},n=this._textEditChanges[r.uri];if(!n){var o=[],s={textDocument:r,edits:o};this._workspaceEdit.documentChanges.push(s),n=new Yt(o,this._changeAnnotations),this._textEditChanges[r.uri]=n}return n}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");var n=this._textEditChanges[t];if(!n){var o=[];this._workspaceEdit.changes[t]=o,n=new Yt(o),this._textEditChanges[t]=n}return n}},e.prototype.initDocumentChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new Go,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},e.prototype.initChanges=function(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))},e.prototype.createFile=function(t,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var o;$e.is(r)||ee.is(r)?o=r:n=r;var s,c;if(o===void 0?s=rt.create(t,n):(c=ee.is(o)?o:this._changeAnnotations.manage(o),s=rt.create(t,n,c)),this._workspaceEdit.documentChanges.push(s),c!==void 0)return c},e.prototype.renameFile=function(t,r,n,o){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var s;$e.is(n)||ee.is(n)?s=n:o=n;var c,p;if(s===void 0?c=ot.create(t,r,o):(p=ee.is(s)?s:this._changeAnnotations.manage(s),c=ot.create(t,r,o,p)),this._workspaceEdit.documentChanges.push(c),p!==void 0)return p},e.prototype.deleteFile=function(t,r,n){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");var o;$e.is(r)||ee.is(r)?o=r:n=r;var s,c;if(o===void 0?s=it.create(t,n):(c=ee.is(o)?o:this._changeAnnotations.manage(o),s=it.create(t,n,c)),this._workspaceEdit.documentChanges.push(s),c!==void 0)return c},e}(),Un;(function(e){function t(n){return{uri:n}}e.create=t;function r(n){var o=n;return u.defined(o)&&u.string(o.uri)}e.is=r})(Un||(Un={}));var Hn;(function(e){function t(n,o){return{uri:n,version:o}}e.create=t;function r(n){var o=n;return u.defined(o)&&u.string(o.uri)&&u.integer(o.version)}e.is=r})(Hn||(Hn={}));var St;(function(e){function t(n,o){return{uri:n,version:o}}e.create=t;function r(n){var o=n;return u.defined(o)&&u.string(o.uri)&&(o.version===null||u.integer(o.version))}e.is=r})(St||(St={}));var Gn;(function(e){function t(n,o,s,c){return{uri:n,languageId:o,version:s,text:c}}e.create=t;function r(n){var o=n;return u.defined(o)&&u.string(o.uri)&&u.string(o.languageId)&&u.integer(o.version)&&u.string(o.text)}e.is=r})(Gn||(Gn={}));var st;(function(e){e.PlainText="plaintext",e.Markdown="markdown"})(st||(st={}));(function(e){function t(r){var n=r;return n===e.PlainText||n===e.Markdown}e.is=t})(st||(st={}));var Qt;(function(e){function t(r){var n=r;return u.objectLiteral(r)&&st.is(n.kind)&&u.string(n.value)}e.is=t})(Qt||(Qt={}));var Vn;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(Vn||(Vn={}));var Yn;(function(e){e.PlainText=1,e.Snippet=2})(Yn||(Yn={}));var Qn;(function(e){e.Deprecated=1})(Qn||(Qn={}));var Xn;(function(e){function t(n,o,s){return{newText:n,insert:o,replace:s}}e.create=t;function r(n){var o=n;return o&&u.string(o.newText)&&X.is(o.insert)&&X.is(o.replace)}e.is=r})(Xn||(Xn={}));var Zn;(function(e){e.asIs=1,e.adjustIndentation=2})(Zn||(Zn={}));var Kn;(function(e){function t(r){return{label:r}}e.create=t})(Kn||(Kn={}));var er;(function(e){function t(r,n){return{items:r||[],isIncomplete:!!n}}e.create=t})(er||(er={}));var Rt;(function(e){function t(n){return n.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}e.fromPlainText=t;function r(n){var o=n;return u.string(o)||u.objectLiteral(o)&&u.string(o.language)&&u.string(o.value)}e.is=r})(Rt||(Rt={}));var tr;(function(e){function t(r){var n=r;return!!n&&u.objectLiteral(n)&&(Qt.is(n.contents)||Rt.is(n.contents)||u.typedArray(n.contents,Rt.is))&&(r.range===void 0||X.is(r.range))}e.is=t})(tr||(tr={}));var nr;(function(e){function t(r,n){return n?{label:r,documentation:n}:{label:r}}e.create=t})(nr||(nr={}));var rr;(function(e){function t(r,n){for(var o=[],s=2;s<arguments.length;s++)o[s-2]=arguments[s];var c={label:r};return u.defined(n)&&(c.documentation=n),u.defined(o)?c.parameters=o:c.parameters=[],c}e.create=t})(rr||(rr={}));var or;(function(e){e.Text=1,e.Read=2,e.Write=3})(or||(or={}));var ir;(function(e){function t(r,n){var o={range:r};return u.number(n)&&(o.kind=n),o}e.create=t})(ir||(ir={}));var sr;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(sr||(sr={}));var ar;(function(e){e.Deprecated=1})(ar||(ar={}));var cr;(function(e){function t(r,n,o,s,c){var p={name:r,kind:n,location:{uri:s,range:o}};return c&&(p.containerName=c),p}e.create=t})(cr||(cr={}));var ur;(function(e){function t(n,o,s,c,p,g){var m={name:n,detail:o,kind:s,range:c,selectionRange:p};return g!==void 0&&(m.children=g),m}e.create=t;function r(n){var o=n;return o&&u.string(o.name)&&u.number(o.kind)&&X.is(o.range)&&X.is(o.selectionRange)&&(o.detail===void 0||u.string(o.detail))&&(o.deprecated===void 0||u.boolean(o.deprecated))&&(o.children===void 0||Array.isArray(o.children))&&(o.tags===void 0||Array.isArray(o.tags))}e.is=r})(ur||(ur={}));var lr;(function(e){e.Empty="",e.QuickFix="quickfix",e.Refactor="refactor",e.RefactorExtract="refactor.extract",e.RefactorInline="refactor.inline",e.RefactorRewrite="refactor.rewrite",e.Source="source",e.SourceOrganizeImports="source.organizeImports",e.SourceFixAll="source.fixAll"})(lr||(lr={}));var fr;(function(e){function t(n,o){var s={diagnostics:n};return o!=null&&(s.only=o),s}e.create=t;function r(n){var o=n;return u.defined(o)&&u.typedArray(o.diagnostics,bt.is)&&(o.only===void 0||u.typedArray(o.only,u.string))}e.is=r})(fr||(fr={}));var dr;(function(e){function t(n,o,s){var c={title:n},p=!0;return typeof o=="string"?(p=!1,c.kind=o):nt.is(o)?c.command=o:c.edit=o,p&&s!==void 0&&(c.kind=s),c}e.create=t;function r(n){var o=n;return o&&u.string(o.title)&&(o.diagnostics===void 0||u.typedArray(o.diagnostics,bt.is))&&(o.kind===void 0||u.string(o.kind))&&(o.edit!==void 0||o.command!==void 0)&&(o.command===void 0||nt.is(o.command))&&(o.isPreferred===void 0||u.boolean(o.isPreferred))&&(o.edit===void 0||Vt.is(o.edit))}e.is=r})(dr||(dr={}));var pr;(function(e){function t(n,o){var s={range:n};return u.defined(o)&&(s.data=o),s}e.create=t;function r(n){var o=n;return u.defined(o)&&X.is(o.range)&&(u.undefined(o.command)||nt.is(o.command))}e.is=r})(pr||(pr={}));var hr;(function(e){function t(n,o){return{tabSize:n,insertSpaces:o}}e.create=t;function r(n){var o=n;return u.defined(o)&&u.uinteger(o.tabSize)&&u.boolean(o.insertSpaces)}e.is=r})(hr||(hr={}));var mr;(function(e){function t(n,o,s){return{range:n,target:o,data:s}}e.create=t;function r(n){var o=n;return u.defined(o)&&X.is(o.range)&&(u.undefined(o.target)||u.string(o.target))}e.is=r})(mr||(mr={}));var gr;(function(e){function t(n,o){return{range:n,parent:o}}e.create=t;function r(n){var o=n;return o!==void 0&&X.is(o.range)&&(o.parent===void 0||e.is(o.parent))}e.is=r})(gr||(gr={}));var na=[`
+`,`\r
+`,"\r"],yr;(function(e){function t(s,c,p,g){return new ra(s,c,p,g)}e.create=t;function r(s){var c=s;return!!(u.defined(c)&&u.string(c.uri)&&(u.undefined(c.languageId)||u.string(c.languageId))&&u.uinteger(c.lineCount)&&u.func(c.getText)&&u.func(c.positionAt)&&u.func(c.offsetAt))}e.is=r;function n(s,c){for(var p=s.getText(),g=o(c,function(A,q){var C=A.range.start.line-q.range.start.line;return C===0?A.range.start.character-q.range.start.character:C}),m=p.length,b=g.length-1;b>=0;b--){var _=g[b],R=s.offsetAt(_.range.start),h=s.offsetAt(_.range.end);if(h<=m)p=p.substring(0,R)+_.newText+p.substring(h,p.length);else throw new Error("Overlapping edit");m=R}return p}e.applyEdits=n;function o(s,c){if(s.length<=1)return s;var p=s.length/2|0,g=s.slice(0,p),m=s.slice(p);o(g,c),o(m,c);for(var b=0,_=0,R=0;b<g.length&&_<m.length;){var h=c(g[b],m[_]);h<=0?s[R++]=g[b++]:s[R++]=m[_++]}for(;b<g.length;)s[R++]=g[b++];for(;_<m.length;)s[R++]=m[_++];return s}})(yr||(yr={}));var ra=function(){function e(t,r,n,o){this._uri=t,this._languageId=r,this._version=n,this._content=o,this._lineOffsets=void 0}return Object.defineProperty(e.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),e.prototype.getText=function(t){if(t){var r=this.offsetAt(t.start),n=this.offsetAt(t.end);return this._content.substring(r,n)}return this._content},e.prototype.update=function(t,r){this._content=t.text,this._version=r,this._lineOffsets=void 0},e.prototype.getLineOffsets=function(){if(this._lineOffsets===void 0){for(var t=[],r=this._content,n=!0,o=0;o<r.length;o++){n&&(t.push(o),n=!1);var s=r.charAt(o);n=s==="\r"||s===`
+`,s==="\r"&&o+1<r.length&&r.charAt(o+1)===`
+`&&o++}n&&r.length>0&&t.push(r.length),this._lineOffsets=t}return this._lineOffsets},e.prototype.positionAt=function(t){t=Math.max(Math.min(t,this._content.length),0);var r=this.getLineOffsets(),n=0,o=r.length;if(o===0)return de.create(0,t);for(;n<o;){var s=Math.floor((n+o)/2);r[s]>t?o=s:n=s+1}var c=n-1;return de.create(c,t-r[c])},e.prototype.offsetAt=function(t){var r=this.getLineOffsets();if(t.line>=r.length)return this._content.length;if(t.line<0)return 0;var n=r[t.line],o=t.line+1<r.length?r[t.line+1]:this._content.length;return Math.max(Math.min(n+t.character,o),n)},Object.defineProperty(e.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),e}(),u;(function(e){var t=Object.prototype.toString;function r(h){return typeof h!="undefined"}e.defined=r;function n(h){return typeof h=="undefined"}e.undefined=n;function o(h){return h===!0||h===!1}e.boolean=o;function s(h){return t.call(h)==="[object String]"}e.string=s;function c(h){return t.call(h)==="[object Number]"}e.number=c;function p(h,A,q){return t.call(h)==="[object Number]"&&A<=h&&h<=q}e.numberRange=p;function g(h){return t.call(h)==="[object Number]"&&-2147483648<=h&&h<=2147483647}e.integer=g;function m(h){return t.call(h)==="[object Number]"&&0<=h&&h<=2147483647}e.uinteger=m;function b(h){return t.call(h)==="[object Function]"}e.func=b;function _(h){return h!==null&&typeof h=="object"}e.objectLiteral=_;function R(h,A){return Array.isArray(h)&&h.every(A)}e.typedArray=R})(u||(u={}))});var Z=M(ue=>{"use strict";Object.defineProperty(ue,"__esModule",{value:!0});ue.ProtocolNotificationType=ue.ProtocolNotificationType0=ue.ProtocolRequestType=ue.ProtocolRequestType0=ue.RegistrationType=void 0;var at=tt(),Yo=class{constructor(t){this.method=t}};ue.RegistrationType=Yo;var Qo=class extends at.RequestType0{constructor(t){super(t)}};ue.ProtocolRequestType0=Qo;var Xo=class extends at.RequestType{constructor(t){super(t,at.ParameterStructures.byName)}};ue.ProtocolRequestType=Xo;var Zo=class extends at.NotificationType0{constructor(t){super(t)}};ue.ProtocolNotificationType0=Zo;var Ko=class extends at.NotificationType{constructor(t){super(t,at.ParameterStructures.byName)}};ue.ProtocolNotificationType=Ko});var ni=M(H=>{"use strict";Object.defineProperty(H,"__esModule",{value:!0});H.objectLiteral=H.typedArray=H.stringArray=H.array=H.func=H.error=H.number=H.string=H.boolean=void 0;function oa(e){return e===!0||e===!1}H.boolean=oa;function ei(e){return typeof e=="string"||e instanceof String}H.string=ei;function ia(e){return typeof e=="number"||e instanceof Number}H.number=ia;function sa(e){return e instanceof Error}H.error=sa;function aa(e){return typeof e=="function"}H.func=aa;function ti(e){return Array.isArray(e)}H.array=ti;function ca(e){return ti(e)&&e.every(t=>ei(t))}H.stringArray=ca;function ua(e,t){return Array.isArray(e)&&e.every(t)}H.typedArray=ua;function la(e){return e!==null&&typeof e=="object"}H.objectLiteral=la});var ri=M(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.ImplementationRequest=void 0;var fa=Z(),da;(function(e){e.method="textDocument/implementation",e.type=new fa.ProtocolRequestType(e.method)})(da=wt.ImplementationRequest||(wt.ImplementationRequest={}))});var oi=M(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.TypeDefinitionRequest=void 0;var pa=Z(),ha;(function(e){e.method="textDocument/typeDefinition",e.type=new pa.ProtocolRequestType(e.method)})(ha=_t.TypeDefinitionRequest||(_t.TypeDefinitionRequest={}))});var si=M(xe=>{"use strict";Object.defineProperty(xe,"__esModule",{value:!0});xe.DidChangeWorkspaceFoldersNotification=xe.WorkspaceFoldersRequest=void 0;var ii=Z(),ma;(function(e){e.type=new ii.ProtocolRequestType0("workspace/workspaceFolders")})(ma=xe.WorkspaceFoldersRequest||(xe.WorkspaceFoldersRequest={}));var ga;(function(e){e.type=new ii.ProtocolNotificationType("workspace/didChangeWorkspaceFolders")})(ga=xe.DidChangeWorkspaceFoldersNotification||(xe.DidChangeWorkspaceFoldersNotification={}))});var ai=M(kt=>{"use strict";Object.defineProperty(kt,"__esModule",{value:!0});kt.ConfigurationRequest=void 0;var ya=Z(),ja;(function(e){e.type=new ya.ProtocolRequestType("workspace/configuration")})(ja=kt.ConfigurationRequest||(kt.ConfigurationRequest={}))});var ui=M(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.ColorPresentationRequest=qe.DocumentColorRequest=void 0;var ci=Z(),ba;(function(e){e.method="textDocument/documentColor",e.type=new ci.ProtocolRequestType(e.method)})(ba=qe.DocumentColorRequest||(qe.DocumentColorRequest={}));var va;(function(e){e.type=new ci.ProtocolRequestType("textDocument/colorPresentation")})(va=qe.ColorPresentationRequest||(qe.ColorPresentationRequest={}))});var li=M(Oe=>{"use strict";Object.defineProperty(Oe,"__esModule",{value:!0});Oe.FoldingRangeRequest=Oe.FoldingRangeKind=void 0;var Sa=Z(),Ra;(function(e){e.Comment="comment",e.Imports="imports",e.Region="region"})(Ra=Oe.FoldingRangeKind||(Oe.FoldingRangeKind={}));var wa;(function(e){e.method="textDocument/foldingRange",e.type=new Sa.ProtocolRequestType(e.method)})(wa=Oe.FoldingRangeRequest||(Oe.FoldingRangeRequest={}))});var fi=M(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.DeclarationRequest=void 0;var _a=Z(),ka;(function(e){e.method="textDocument/declaration",e.type=new _a.ProtocolRequestType(e.method)})(ka=Mt.DeclarationRequest||(Mt.DeclarationRequest={}))});var di=M(Ct=>{"use strict";Object.defineProperty(Ct,"__esModule",{value:!0});Ct.SelectionRangeRequest=void 0;var Ma=Z(),Ca;(function(e){e.method="textDocument/selectionRange",e.type=new Ma.ProtocolRequestType(e.method)})(Ca=Ct.SelectionRangeRequest||(Ct.SelectionRangeRequest={}))});var hi=M(pe=>{"use strict";Object.defineProperty(pe,"__esModule",{value:!0});pe.WorkDoneProgressCancelNotification=pe.WorkDoneProgressCreateRequest=pe.WorkDoneProgress=void 0;var Pa=tt(),pi=Z(),Ta;(function(e){e.type=new Pa.ProgressType;function t(r){return r===e.type}e.is=t})(Ta=pe.WorkDoneProgress||(pe.WorkDoneProgress={}));var Na;(function(e){e.type=new pi.ProtocolRequestType("window/workDoneProgress/create")})(Na=pe.WorkDoneProgressCreateRequest||(pe.WorkDoneProgressCreateRequest={}));var xa;(function(e){e.type=new pi.ProtocolNotificationType("window/workDoneProgress/cancel")})(xa=pe.WorkDoneProgressCancelNotification||(pe.WorkDoneProgressCancelNotification={}))});var mi=M(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.CallHierarchyOutgoingCallsRequest=he.CallHierarchyIncomingCallsRequest=he.CallHierarchyPrepareRequest=void 0;var jr=Z(),qa;(function(e){e.method="textDocument/prepareCallHierarchy",e.type=new jr.ProtocolRequestType(e.method)})(qa=he.CallHierarchyPrepareRequest||(he.CallHierarchyPrepareRequest={}));var Oa;(function(e){e.method="callHierarchy/incomingCalls",e.type=new jr.ProtocolRequestType(e.method)})(Oa=he.CallHierarchyIncomingCallsRequest||(he.CallHierarchyIncomingCallsRequest={}));var Da;(function(e){e.method="callHierarchy/outgoingCalls",e.type=new jr.ProtocolRequestType(e.method)})(Da=he.CallHierarchyOutgoingCallsRequest||(he.CallHierarchyOutgoingCallsRequest={}))});var gi=M(E=>{"use strict";Object.defineProperty(E,"__esModule",{value:!0});E.SemanticTokensRefreshRequest=E.SemanticTokensRangeRequest=E.SemanticTokensDeltaRequest=E.SemanticTokensRequest=E.SemanticTokensRegistrationType=E.TokenFormat=E.SemanticTokens=E.SemanticTokenModifiers=E.SemanticTokenTypes=void 0;var Pt=Z(),Ea;(function(e){e.namespace="namespace",e.type="type",e.class="class",e.enum="enum",e.interface="interface",e.struct="struct",e.typeParameter="typeParameter",e.parameter="parameter",e.variable="variable",e.property="property",e.enumMember="enumMember",e.event="event",e.function="function",e.method="method",e.macro="macro",e.keyword="keyword",e.modifier="modifier",e.comment="comment",e.string="string",e.number="number",e.regexp="regexp",e.operator="operator"})(Ea=E.SemanticTokenTypes||(E.SemanticTokenTypes={}));var Aa;(function(e){e.declaration="declaration",e.definition="definition",e.readonly="readonly",e.static="static",e.deprecated="deprecated",e.abstract="abstract",e.async="async",e.modification="modification",e.documentation="documentation",e.defaultLibrary="defaultLibrary"})(Aa=E.SemanticTokenModifiers||(E.SemanticTokenModifiers={}));var Ia;(function(e){function t(r){let n=r;return n!==void 0&&(n.resultId===void 0||typeof n.resultId=="string")&&Array.isArray(n.data)&&(n.data.length===0||typeof n.data[0]=="number")}e.is=t})(Ia=E.SemanticTokens||(E.SemanticTokens={}));var La;(function(e){e.Relative="relative"})(La=E.TokenFormat||(E.TokenFormat={}));var Fa;(function(e){e.method="textDocument/semanticTokens",e.type=new Pt.RegistrationType(e.method)})(Fa=E.SemanticTokensRegistrationType||(E.SemanticTokensRegistrationType={}));var Ja;(function(e){e.method="textDocument/semanticTokens/full",e.type=new Pt.ProtocolRequestType(e.method)})(Ja=E.SemanticTokensRequest||(E.SemanticTokensRequest={}));var Wa;(function(e){e.method="textDocument/semanticTokens/full/delta",e.type=new Pt.ProtocolRequestType(e.method)})(Wa=E.SemanticTokensDeltaRequest||(E.SemanticTokensDeltaRequest={}));var za;(function(e){e.method="textDocument/semanticTokens/range",e.type=new Pt.ProtocolRequestType(e.method)})(za=E.SemanticTokensRangeRequest||(E.SemanticTokensRangeRequest={}));var $a;(function(e){e.method="workspace/semanticTokens/refresh",e.type=new Pt.ProtocolRequestType0(e.method)})($a=E.SemanticTokensRefreshRequest||(E.SemanticTokensRefreshRequest={}))});var yi=M(Tt=>{"use strict";Object.defineProperty(Tt,"__esModule",{value:!0});Tt.ShowDocumentRequest=void 0;var Ba=Z(),Ua;(function(e){e.method="window/showDocument",e.type=new Ba.ProtocolRequestType(e.method)})(Ua=Tt.ShowDocumentRequest||(Tt.ShowDocumentRequest={}))});var ji=M(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.LinkedEditingRangeRequest=void 0;var Ha=Z(),Ga;(function(e){e.method="textDocument/linkedEditingRange",e.type=new Ha.ProtocolRequestType(e.method)})(Ga=Nt.LinkedEditingRangeRequest||(Nt.LinkedEditingRangeRequest={}))});var bi=M(W=>{"use strict";Object.defineProperty(W,"__esModule",{value:!0});W.WillDeleteFilesRequest=W.DidDeleteFilesNotification=W.DidRenameFilesNotification=W.WillRenameFilesRequest=W.DidCreateFilesNotification=W.WillCreateFilesRequest=W.FileOperationPatternKind=void 0;var ct=Z(),Va;(function(e){e.file="file",e.folder="folder"})(Va=W.FileOperationPatternKind||(W.FileOperationPatternKind={}));var Ya;(function(e){e.method="workspace/willCreateFiles",e.type=new ct.ProtocolRequestType(e.method)})(Ya=W.WillCreateFilesRequest||(W.WillCreateFilesRequest={}));var Qa;(function(e){e.method="workspace/didCreateFiles",e.type=new ct.ProtocolNotificationType(e.method)})(Qa=W.DidCreateFilesNotification||(W.DidCreateFilesNotification={}));var Xa;(function(e){e.method="workspace/willRenameFiles",e.type=new ct.ProtocolRequestType(e.method)})(Xa=W.WillRenameFilesRequest||(W.WillRenameFilesRequest={}));var Za;(function(e){e.method="workspace/didRenameFiles",e.type=new ct.ProtocolNotificationType(e.method)})(Za=W.DidRenameFilesNotification||(W.DidRenameFilesNotification={}));var Ka;(function(e){e.method="workspace/didDeleteFiles",e.type=new ct.ProtocolNotificationType(e.method)})(Ka=W.DidDeleteFilesNotification||(W.DidDeleteFilesNotification={}));var ec;(function(e){e.method="workspace/willDeleteFiles",e.type=new ct.ProtocolRequestType(e.method)})(ec=W.WillDeleteFilesRequest||(W.WillDeleteFilesRequest={}))});var vi=M(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.MonikerRequest=me.MonikerKind=me.UniquenessLevel=void 0;var tc=Z(),nc;(function(e){e.document="document",e.project="project",e.group="group",e.scheme="scheme",e.global="global"})(nc=me.UniquenessLevel||(me.UniquenessLevel={}));var rc;(function(e){e.import="import",e.export="export",e.local="local"})(rc=me.MonikerKind||(me.MonikerKind={}));var oc;(function(e){e.method="textDocument/moniker",e.type=new tc.ProtocolRequestType(e.method)})(oc=me.MonikerRequest||(me.MonikerRequest={}))});var ki=M(i=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0});i.DocumentLinkRequest=i.CodeLensRefreshRequest=i.CodeLensResolveRequest=i.CodeLensRequest=i.WorkspaceSymbolRequest=i.CodeActionResolveRequest=i.CodeActionRequest=i.DocumentSymbolRequest=i.DocumentHighlightRequest=i.ReferencesRequest=i.DefinitionRequest=i.SignatureHelpRequest=i.SignatureHelpTriggerKind=i.HoverRequest=i.CompletionResolveRequest=i.CompletionRequest=i.CompletionTriggerKind=i.PublishDiagnosticsNotification=i.WatchKind=i.FileChangeType=i.DidChangeWatchedFilesNotification=i.WillSaveTextDocumentWaitUntilRequest=i.WillSaveTextDocumentNotification=i.TextDocumentSaveReason=i.DidSaveTextDocumentNotification=i.DidCloseTextDocumentNotification=i.DidChangeTextDocumentNotification=i.TextDocumentContentChangeEvent=i.DidOpenTextDocumentNotification=i.TextDocumentSyncKind=i.TelemetryEventNotification=i.LogMessageNotification=i.ShowMessageRequest=i.ShowMessageNotification=i.MessageType=i.DidChangeConfigurationNotification=i.ExitNotification=i.ShutdownRequest=i.InitializedNotification=i.InitializeError=i.InitializeRequest=i.WorkDoneProgressOptions=i.TextDocumentRegistrationOptions=i.StaticRegistrationOptions=i.FailureHandlingKind=i.ResourceOperationKind=i.UnregistrationRequest=i.RegistrationRequest=i.DocumentSelector=i.DocumentFilter=void 0;i.MonikerRequest=i.MonikerKind=i.UniquenessLevel=i.WillDeleteFilesRequest=i.DidDeleteFilesNotification=i.WillRenameFilesRequest=i.DidRenameFilesNotification=i.WillCreateFilesRequest=i.DidCreateFilesNotification=i.FileOperationPatternKind=i.LinkedEditingRangeRequest=i.ShowDocumentRequest=i.SemanticTokensRegistrationType=i.SemanticTokensRefreshRequest=i.SemanticTokensRangeRequest=i.SemanticTokensDeltaRequest=i.SemanticTokensRequest=i.TokenFormat=i.SemanticTokens=i.SemanticTokenModifiers=i.SemanticTokenTypes=i.CallHierarchyPrepareRequest=i.CallHierarchyOutgoingCallsRequest=i.CallHierarchyIncomingCallsRequest=i.WorkDoneProgressCancelNotification=i.WorkDoneProgressCreateRequest=i.WorkDoneProgress=i.SelectionRangeRequest=i.DeclarationRequest=i.FoldingRangeRequest=i.ColorPresentationRequest=i.DocumentColorRequest=i.ConfigurationRequest=i.DidChangeWorkspaceFoldersNotification=i.WorkspaceFoldersRequest=i.TypeDefinitionRequest=i.ImplementationRequest=i.ApplyWorkspaceEditRequest=i.ExecuteCommandRequest=i.PrepareRenameRequest=i.RenameRequest=i.PrepareSupportDefaultBehavior=i.DocumentOnTypeFormattingRequest=i.DocumentRangeFormattingRequest=i.DocumentFormattingRequest=i.DocumentLinkResolveRequest=void 0;var De=ni(),k=Z(),ic=ri();Object.defineProperty(i,"ImplementationRequest",{enumerable:!0,get:function(){return ic.ImplementationRequest}});var sc=oi();Object.defineProperty(i,"TypeDefinitionRequest",{enumerable:!0,get:function(){return sc.TypeDefinitionRequest}});var Si=si();Object.defineProperty(i,"WorkspaceFoldersRequest",{enumerable:!0,get:function(){return Si.WorkspaceFoldersRequest}});Object.defineProperty(i,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:function(){return Si.DidChangeWorkspaceFoldersNotification}});var ac=ai();Object.defineProperty(i,"ConfigurationRequest",{enumerable:!0,get:function(){return ac.ConfigurationRequest}});var Ri=ui();Object.defineProperty(i,"DocumentColorRequest",{enumerable:!0,get:function(){return Ri.DocumentColorRequest}});Object.defineProperty(i,"ColorPresentationRequest",{enumerable:!0,get:function(){return Ri.ColorPresentationRequest}});var cc=li();Object.defineProperty(i,"FoldingRangeRequest",{enumerable:!0,get:function(){return cc.FoldingRangeRequest}});var uc=fi();Object.defineProperty(i,"DeclarationRequest",{enumerable:!0,get:function(){return uc.DeclarationRequest}});var lc=di();Object.defineProperty(i,"SelectionRangeRequest",{enumerable:!0,get:function(){return lc.SelectionRangeRequest}});var br=hi();Object.defineProperty(i,"WorkDoneProgress",{enumerable:!0,get:function(){return br.WorkDoneProgress}});Object.defineProperty(i,"WorkDoneProgressCreateRequest",{enumerable:!0,get:function(){return br.WorkDoneProgressCreateRequest}});Object.defineProperty(i,"WorkDoneProgressCancelNotification",{enumerable:!0,get:function(){return br.WorkDoneProgressCancelNotification}});var vr=mi();Object.defineProperty(i,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:function(){return vr.CallHierarchyIncomingCallsRequest}});Object.defineProperty(i,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:function(){return vr.CallHierarchyOutgoingCallsRequest}});Object.defineProperty(i,"CallHierarchyPrepareRequest",{enumerable:!0,get:function(){return vr.CallHierarchyPrepareRequest}});var Pe=gi();Object.defineProperty(i,"SemanticTokenTypes",{enumerable:!0,get:function(){return Pe.SemanticTokenTypes}});Object.defineProperty(i,"SemanticTokenModifiers",{enumerable:!0,get:function(){return Pe.SemanticTokenModifiers}});Object.defineProperty(i,"SemanticTokens",{enumerable:!0,get:function(){return Pe.SemanticTokens}});Object.defineProperty(i,"TokenFormat",{enumerable:!0,get:function(){return Pe.TokenFormat}});Object.defineProperty(i,"SemanticTokensRequest",{enumerable:!0,get:function(){return Pe.SemanticTokensRequest}});Object.defineProperty(i,"SemanticTokensDeltaRequest",{enumerable:!0,get:function(){return Pe.SemanticTokensDeltaRequest}});Object.defineProperty(i,"SemanticTokensRangeRequest",{enumerable:!0,get:function(){return Pe.SemanticTokensRangeRequest}});Object.defineProperty(i,"SemanticTokensRefreshRequest",{enumerable:!0,get:function(){return Pe.SemanticTokensRefreshRequest}});Object.defineProperty(i,"SemanticTokensRegistrationType",{enumerable:!0,get:function(){return Pe.SemanticTokensRegistrationType}});var fc=yi();Object.defineProperty(i,"ShowDocumentRequest",{enumerable:!0,get:function(){return fc.ShowDocumentRequest}});var dc=ji();Object.defineProperty(i,"LinkedEditingRangeRequest",{enumerable:!0,get:function(){return dc.LinkedEditingRangeRequest}});var Be=bi();Object.defineProperty(i,"FileOperationPatternKind",{enumerable:!0,get:function(){return Be.FileOperationPatternKind}});Object.defineProperty(i,"DidCreateFilesNotification",{enumerable:!0,get:function(){return Be.DidCreateFilesNotification}});Object.defineProperty(i,"WillCreateFilesRequest",{enumerable:!0,get:function(){return Be.WillCreateFilesRequest}});Object.defineProperty(i,"DidRenameFilesNotification",{enumerable:!0,get:function(){return Be.DidRenameFilesNotification}});Object.defineProperty(i,"WillRenameFilesRequest",{enumerable:!0,get:function(){return Be.WillRenameFilesRequest}});Object.defineProperty(i,"DidDeleteFilesNotification",{enumerable:!0,get:function(){return Be.DidDeleteFilesNotification}});Object.defineProperty(i,"WillDeleteFilesRequest",{enumerable:!0,get:function(){return Be.WillDeleteFilesRequest}});var Sr=vi();Object.defineProperty(i,"UniquenessLevel",{enumerable:!0,get:function(){return Sr.UniquenessLevel}});Object.defineProperty(i,"MonikerKind",{enumerable:!0,get:function(){return Sr.MonikerKind}});Object.defineProperty(i,"MonikerRequest",{enumerable:!0,get:function(){return Sr.MonikerRequest}});var wi;(function(e){function t(r){let n=r;return De.string(n.language)||De.string(n.scheme)||De.string(n.pattern)}e.is=t})(wi=i.DocumentFilter||(i.DocumentFilter={}));var _i;(function(e){function t(r){if(!Array.isArray(r))return!1;for(let n of r)if(!De.string(n)&&!wi.is(n))return!1;return!0}e.is=t})(_i=i.DocumentSelector||(i.DocumentSelector={}));var pc;(function(e){e.type=new k.ProtocolRequestType("client/registerCapability")})(pc=i.RegistrationRequest||(i.RegistrationRequest={}));var hc;(function(e){e.type=new k.ProtocolRequestType("client/unregisterCapability")})(hc=i.UnregistrationRequest||(i.UnregistrationRequest={}));var mc;(function(e){e.Create="create",e.Rename="rename",e.Delete="delete"})(mc=i.ResourceOperationKind||(i.ResourceOperationKind={}));var gc;(function(e){e.Abort="abort",e.Transactional="transactional",e.TextOnlyTransactional="textOnlyTransactional",e.Undo="undo"})(gc=i.FailureHandlingKind||(i.FailureHandlingKind={}));var yc;(function(e){function t(r){let n=r;return n&&De.string(n.id)&&n.id.length>0}e.hasId=t})(yc=i.StaticRegistrationOptions||(i.StaticRegistrationOptions={}));var jc;(function(e){function t(r){let n=r;return n&&(n.documentSelector===null||_i.is(n.documentSelector))}e.is=t})(jc=i.TextDocumentRegistrationOptions||(i.TextDocumentRegistrationOptions={}));var bc;(function(e){function t(n){let o=n;return De.objectLiteral(o)&&(o.workDoneProgress===void 0||De.boolean(o.workDoneProgress))}e.is=t;function r(n){let o=n;return o&&De.boolean(o.workDoneProgress)}e.hasWorkDoneProgress=r})(bc=i.WorkDoneProgressOptions||(i.WorkDoneProgressOptions={}));var vc;(function(e){e.type=new k.ProtocolRequestType("initialize")})(vc=i.InitializeRequest||(i.InitializeRequest={}));var Sc;(function(e){e.unknownProtocolVersion=1})(Sc=i.InitializeError||(i.InitializeError={}));var Rc;(function(e){e.type=new k.ProtocolNotificationType("initialized")})(Rc=i.InitializedNotification||(i.InitializedNotification={}));var wc;(function(e){e.type=new k.ProtocolRequestType0("shutdown")})(wc=i.ShutdownRequest||(i.ShutdownRequest={}));var _c;(function(e){e.type=new k.ProtocolNotificationType0("exit")})(_c=i.ExitNotification||(i.ExitNotification={}));var kc;(function(e){e.type=new k.ProtocolNotificationType("workspace/didChangeConfiguration")})(kc=i.DidChangeConfigurationNotification||(i.DidChangeConfigurationNotification={}));var Mc;(function(e){e.Error=1,e.Warning=2,e.Info=3,e.Log=4})(Mc=i.MessageType||(i.MessageType={}));var Cc;(function(e){e.type=new k.ProtocolNotificationType("window/showMessage")})(Cc=i.ShowMessageNotification||(i.ShowMessageNotification={}));var Pc;(function(e){e.type=new k.ProtocolRequestType("window/showMessageRequest")})(Pc=i.ShowMessageRequest||(i.ShowMessageRequest={}));var Tc;(function(e){e.type=new k.ProtocolNotificationType("window/logMessage")})(Tc=i.LogMessageNotification||(i.LogMessageNotification={}));var Nc;(function(e){e.type=new k.ProtocolNotificationType("telemetry/event")})(Nc=i.TelemetryEventNotification||(i.TelemetryEventNotification={}));var xc;(function(e){e.None=0,e.Full=1,e.Incremental=2})(xc=i.TextDocumentSyncKind||(i.TextDocumentSyncKind={}));var qc;(function(e){e.method="textDocument/didOpen",e.type=new k.ProtocolNotificationType(e.method)})(qc=i.DidOpenTextDocumentNotification||(i.DidOpenTextDocumentNotification={}));var Oc;(function(e){function t(n){let o=n;return o!=null&&typeof o.text=="string"&&o.range!==void 0&&(o.rangeLength===void 0||typeof o.rangeLength=="number")}e.isIncremental=t;function r(n){let o=n;return o!=null&&typeof o.text=="string"&&o.range===void 0&&o.rangeLength===void 0}e.isFull=r})(Oc=i.TextDocumentContentChangeEvent||(i.TextDocumentContentChangeEvent={}));var Dc;(function(e){e.method="textDocument/didChange",e.type=new k.ProtocolNotificationType(e.method)})(Dc=i.DidChangeTextDocumentNotification||(i.DidChangeTextDocumentNotification={}));var Ec;(function(e){e.method="textDocument/didClose",e.type=new k.ProtocolNotificationType(e.method)})(Ec=i.DidCloseTextDocumentNotification||(i.DidCloseTextDocumentNotification={}));var Ac;(function(e){e.method="textDocument/didSave",e.type=new k.ProtocolNotificationType(e.method)})(Ac=i.DidSaveTextDocumentNotification||(i.DidSaveTextDocumentNotification={}));var Ic;(function(e){e.Manual=1,e.AfterDelay=2,e.FocusOut=3})(Ic=i.TextDocumentSaveReason||(i.TextDocumentSaveReason={}));var Lc;(function(e){e.method="textDocument/willSave",e.type=new k.ProtocolNotificationType(e.method)})(Lc=i.WillSaveTextDocumentNotification||(i.WillSaveTextDocumentNotification={}));var Fc;(function(e){e.method="textDocument/willSaveWaitUntil",e.type=new k.ProtocolRequestType(e.method)})(Fc=i.WillSaveTextDocumentWaitUntilRequest||(i.WillSaveTextDocumentWaitUntilRequest={}));var Jc;(function(e){e.type=new k.ProtocolNotificationType("workspace/didChangeWatchedFiles")})(Jc=i.DidChangeWatchedFilesNotification||(i.DidChangeWatchedFilesNotification={}));var Wc;(function(e){e.Created=1,e.Changed=2,e.Deleted=3})(Wc=i.FileChangeType||(i.FileChangeType={}));var zc;(function(e){e.Create=1,e.Change=2,e.Delete=4})(zc=i.WatchKind||(i.WatchKind={}));var $c;(function(e){e.type=new k.ProtocolNotificationType("textDocument/publishDiagnostics")})($c=i.PublishDiagnosticsNotification||(i.PublishDiagnosticsNotification={}));var Bc;(function(e){e.Invoked=1,e.TriggerCharacter=2,e.TriggerForIncompleteCompletions=3})(Bc=i.CompletionTriggerKind||(i.CompletionTriggerKind={}));var Uc;(function(e){e.method="textDocument/completion",e.type=new k.ProtocolRequestType(e.method)})(Uc=i.CompletionRequest||(i.CompletionRequest={}));var Hc;(function(e){e.method="completionItem/resolve",e.type=new k.ProtocolRequestType(e.method)})(Hc=i.CompletionResolveRequest||(i.CompletionResolveRequest={}));var Gc;(function(e){e.method="textDocument/hover",e.type=new k.ProtocolRequestType(e.method)})(Gc=i.HoverRequest||(i.HoverRequest={}));var Vc;(function(e){e.Invoked=1,e.TriggerCharacter=2,e.ContentChange=3})(Vc=i.SignatureHelpTriggerKind||(i.SignatureHelpTriggerKind={}));var Yc;(function(e){e.method="textDocument/signatureHelp",e.type=new k.ProtocolRequestType(e.method)})(Yc=i.SignatureHelpRequest||(i.SignatureHelpRequest={}));var Qc;(function(e){e.method="textDocument/definition",e.type=new k.ProtocolRequestType(e.method)})(Qc=i.DefinitionRequest||(i.DefinitionRequest={}));var Xc;(function(e){e.method="textDocument/references",e.type=new k.ProtocolRequestType(e.method)})(Xc=i.ReferencesRequest||(i.ReferencesRequest={}));var Zc;(function(e){e.method="textDocument/documentHighlight",e.type=new k.ProtocolRequestType(e.method)})(Zc=i.DocumentHighlightRequest||(i.DocumentHighlightRequest={}));var Kc;(function(e){e.method="textDocument/documentSymbol",e.type=new k.ProtocolRequestType(e.method)})(Kc=i.DocumentSymbolRequest||(i.DocumentSymbolRequest={}));var eu;(function(e){e.method="textDocument/codeAction",e.type=new k.ProtocolRequestType(e.method)})(eu=i.CodeActionRequest||(i.CodeActionRequest={}));var tu;(function(e){e.method="codeAction/resolve",e.type=new k.ProtocolRequestType(e.method)})(tu=i.CodeActionResolveRequest||(i.CodeActionResolveRequest={}));var nu;(function(e){e.method="workspace/symbol",e.type=new k.ProtocolRequestType(e.method)})(nu=i.WorkspaceSymbolRequest||(i.WorkspaceSymbolRequest={}));var ru;(function(e){e.method="textDocument/codeLens",e.type=new k.ProtocolRequestType(e.method)})(ru=i.CodeLensRequest||(i.CodeLensRequest={}));var ou;(function(e){e.method="codeLens/resolve",e.type=new k.ProtocolRequestType(e.method)})(ou=i.CodeLensResolveRequest||(i.CodeLensResolveRequest={}));var iu;(function(e){e.method="workspace/codeLens/refresh",e.type=new k.ProtocolRequestType0(e.method)})(iu=i.CodeLensRefreshRequest||(i.CodeLensRefreshRequest={}));var su;(function(e){e.method="textDocument/documentLink",e.type=new k.ProtocolRequestType(e.method)})(su=i.DocumentLinkRequest||(i.DocumentLinkRequest={}));var au;(function(e){e.method="documentLink/resolve",e.type=new k.ProtocolRequestType(e.method)})(au=i.DocumentLinkResolveRequest||(i.DocumentLinkResolveRequest={}));var cu;(function(e){e.method="textDocument/formatting",e.type=new k.ProtocolRequestType(e.method)})(cu=i.DocumentFormattingRequest||(i.DocumentFormattingRequest={}));var uu;(function(e){e.method="textDocument/rangeFormatting",e.type=new k.ProtocolRequestType(e.method)})(uu=i.DocumentRangeFormattingRequest||(i.DocumentRangeFormattingRequest={}));var lu;(function(e){e.method="textDocument/onTypeFormatting",e.type=new k.ProtocolRequestType(e.method)})(lu=i.DocumentOnTypeFormattingRequest||(i.DocumentOnTypeFormattingRequest={}));var fu;(function(e){e.Identifier=1})(fu=i.PrepareSupportDefaultBehavior||(i.PrepareSupportDefaultBehavior={}));var du;(function(e){e.method="textDocument/rename",e.type=new k.ProtocolRequestType(e.method)})(du=i.RenameRequest||(i.RenameRequest={}));var pu;(function(e){e.method="textDocument/prepareRename",e.type=new k.ProtocolRequestType(e.method)})(pu=i.PrepareRenameRequest||(i.PrepareRenameRequest={}));var hu;(function(e){e.type=new k.ProtocolRequestType("workspace/executeCommand")})(hu=i.ExecuteCommandRequest||(i.ExecuteCommandRequest={}));var mu;(function(e){e.type=new k.ProtocolRequestType("workspace/applyEdit")})(mu=i.ApplyWorkspaceEditRequest||(i.ApplyWorkspaceEditRequest={}))});var Ci=M(Xt=>{"use strict";Object.defineProperty(Xt,"__esModule",{value:!0});Xt.createProtocolConnection=void 0;var Mi=tt();function gu(e,t,r,n){return Mi.ConnectionStrategy.is(n)&&(n={connectionStrategy:n}),Mi.createMessageConnection(e,t,r,n)}Xt.createProtocolConnection=gu});var Pi=M(re=>{"use strict";var yu=re&&re.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Zt=re&&re.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&yu(t,e,r)};Object.defineProperty(re,"__esModule",{value:!0});re.LSPErrorCodes=re.createProtocolConnection=void 0;Zt(tt(),re);Zt(Vo(),re);Zt(Z(),re);Zt(ki(),re);var ju=Ci();Object.defineProperty(re,"createProtocolConnection",{enumerable:!0,get:function(){return ju.createProtocolConnection}});var bu;(function(e){e.lspReservedErrorRangeStart=-32899,e.ContentModified=-32801,e.RequestCancelled=-32800,e.lspReservedErrorRangeEnd=-32800})(bu=re.LSPErrorCodes||(re.LSPErrorCodes={}))});var Ni=M(be=>{"use strict";var vu=be&&be.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),Ti=be&&be.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&vu(t,e,r)};Object.defineProperty(be,"__esModule",{value:!0});be.createProtocolConnection=void 0;var Su=En();Ti(En(),be);Ti(Pi(),be);function Ru(e,t,r,n){return Su.createMessageConnection(e,t,r,n)}be.createProtocolConnection=Ru});Lr(exports,{activate:()=>Uu});var v=Ve(require("coc.nvim")),zi=Ve(require("fs")),Ot=Ve(require("path")),$i=Ve(Jr()),Bi=Ve(require("util")),nn=Ve(Ni());"use strict";var wu=function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,o){n.__proto__=o}||function(n,o){for(var s in o)o.hasOwnProperty(s)&&(n[s]=o[s])},e(t,r)};return function(t,r){e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}(),B,xt;typeof process=="object"?xt=process.platform==="win32":typeof navigator=="object"&&(xi=navigator.userAgent,xt=xi.indexOf("Windows")>=0);var xi;var _u=/^\w[\w\d+.-]*$/,ku=/^\//,Mu=/^\/\//;function Cu(e,t){if(!e.scheme&&t)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'+e.authority+'", path: "'+e.path+'", query: "'+e.query+'", fragment: "'+e.fragment+'"}');if(e.scheme&&!_u.test(e.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(e.path){if(e.authority){if(!ku.test(e.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(Mu.test(e.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function Pu(e,t){return!e&&!t?"file":e}function Tu(e,t){switch(e){case"https":case"http":case"file":t?t[0]!==ge&&(t=ge+t):t=ge;break}return t}var I="",ge="/",Nu=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,qt=function(){function e(t,r,n,o,s,c){c===void 0&&(c=!1),typeof t=="object"?(this.scheme=t.scheme||I,this.authority=t.authority||I,this.path=t.path||I,this.query=t.query||I,this.fragment=t.fragment||I):(this.scheme=Pu(t,c),this.authority=r||I,this.path=Tu(this.scheme,n||I),this.query=o||I,this.fragment=s||I,Cu(this,c))}return e.isUri=function(t){return t instanceof e?!0:t?typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="function"&&typeof t.with=="function"&&typeof t.toString=="function":!1},Object.defineProperty(e.prototype,"fsPath",{get:function(){return Oi(this,!1)},enumerable:!0,configurable:!0}),e.prototype.with=function(t){if(!t)return this;var r=t.scheme,n=t.authority,o=t.path,s=t.query,c=t.fragment;return r===void 0?r=this.scheme:r===null&&(r=I),n===void 0?n=this.authority:n===null&&(n=I),o===void 0?o=this.path:o===null&&(o=I),s===void 0?s=this.query:s===null&&(s=I),c===void 0?c=this.fragment:c===null&&(c=I),r===this.scheme&&n===this.authority&&o===this.path&&s===this.query&&c===this.fragment?this:new ut(r,n,o,s,c)},e.parse=function(t,r){r===void 0&&(r=!1);var n=Nu.exec(t);return n?new ut(n[2]||I,Kt(n[4]||I),Kt(n[5]||I),Kt(n[7]||I),Kt(n[9]||I),r):new ut(I,I,I,I,I)},e.file=function(t){var r=I;if(xt&&(t=t.replace(/\\/g,ge)),t[0]===ge&&t[1]===ge){var n=t.indexOf(ge,2);n===-1?(r=t.substring(2),t=ge):(r=t.substring(2,n),t=t.substring(n)||ge)}return new ut("file",r,t,I,I)},e.from=function(t){return new ut(t.scheme,t.authority,t.path,t.query,t.fragment)},e.prototype.toString=function(t){return t===void 0&&(t=!1),Rr(this,t)},e.prototype.toJSON=function(){return this},e.revive=function(t){if(t){if(t instanceof e)return t;var r=new ut(t);return r._formatted=t.external,r._fsPath=t._sep===qi?t.fsPath:null,r}else return t},e}();var qi=xt?1:void 0,ut=function(e){wu(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r._formatted=null,r._fsPath=null,r}return Object.defineProperty(t.prototype,"fsPath",{get:function(){return this._fsPath||(this._fsPath=Oi(this,!1)),this._fsPath},enumerable:!0,configurable:!0}),t.prototype.toString=function(r){return r===void 0&&(r=!1),r?Rr(this,!0):(this._formatted||(this._formatted=Rr(this,!1)),this._formatted)},t.prototype.toJSON=function(){var r={$mid:1};return this._fsPath&&(r.fsPath=this._fsPath,r._sep=qi),this._formatted&&(r.external=this._formatted),this.path&&(r.path=this.path),this.scheme&&(r.scheme=this.scheme),this.authority&&(r.authority=this.authority),this.query&&(r.query=this.query),this.fragment&&(r.fragment=this.fragment),r},t}(qt),Di=(B={},B[58]="%3A",B[47]="%2F",B[63]="%3F",B[35]="%23",B[91]="%5B",B[93]="%5D",B[64]="%40",B[33]="%21",B[36]="%24",B[38]="%26",B[39]="%27",B[40]="%28",B[41]="%29",B[42]="%2A",B[43]="%2B",B[44]="%2C",B[59]="%3B",B[61]="%3D",B[32]="%20",B);function Ei(e,t){for(var r=void 0,n=-1,o=0;o<e.length;o++){var s=e.charCodeAt(o);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||s===45||s===46||s===95||s===126||t&&s===47)n!==-1&&(r+=encodeURIComponent(e.substring(n,o)),n=-1),r!==void 0&&(r+=e.charAt(o));else{r===void 0&&(r=e.substr(0,o));var c=Di[s];c!==void 0?(n!==-1&&(r+=encodeURIComponent(e.substring(n,o)),n=-1),r+=c):n===-1&&(n=o)}}return n!==-1&&(r+=encodeURIComponent(e.substring(n))),r!==void 0?r:e}function xu(e){for(var t=void 0,r=0;r<e.length;r++){var n=e.charCodeAt(r);n===35||n===63?(t===void 0&&(t=e.substr(0,r)),t+=Di[n]):t!==void 0&&(t+=e[r])}return t!==void 0?t:e}function Oi(e,t){var r;return e.authority&&e.path.length>1&&e.scheme==="file"?r="//"+e.authority+e.path:e.path.charCodeAt(0)===47&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&e.path.charCodeAt(2)===58?t?r=e.path.substr(1):r=e.path[1].toLowerCase()+e.path.substr(2):r=e.path,xt&&(r=r.replace(/\//g,"\\")),r}function Rr(e,t){var r=t?xu:Ei,n="",o=e.scheme,s=e.authority,c=e.path,p=e.query,g=e.fragment;if(o&&(n+=o,n+=":"),(s||o==="file")&&(n+=ge,n+=ge),s){var m=s.indexOf("@");if(m!==-1){var b=s.substr(0,m);s=s.substr(m+1),m=b.indexOf(":"),m===-1?n+=r(b,!1):(n+=r(b.substr(0,m),!1),n+=":",n+=r(b.substr(m+1),!1)),n+="@"}s=s.toLowerCase(),m=s.indexOf(":"),m===-1?n+=r(s,!1):(n+=r(s.substr(0,m),!1),n+=s.substr(m))}if(c){if(c.length>=3&&c.charCodeAt(0)===47&&c.charCodeAt(2)===58){var _=c.charCodeAt(1);_>=65&&_<=90&&(c="/"+String.fromCharCode(_+32)+":"+c.substr(3))}else if(c.length>=2&&c.charCodeAt(1)===58){var _=c.charCodeAt(0);_>=65&&_<=90&&(c=String.fromCharCode(_+32)+":"+c.substr(2))}n+=r(c,!0)}return p&&(n+="?",n+=r(p,!1)),g&&(n+="#",n+=t?g:Ei(g,!1)),n}function Ai(e){try{return decodeURIComponent(e)}catch(t){return e.length>3?e.substr(0,3)+Ai(e.substr(3)):e}}var Ii=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function Kt(e){return e.match(Ii)?e.replace(Ii,function(t){return Ai(t)}):e}var qu="https://json.schemastore.org/schema-catalog",Ou=1,Du=[{name:".angular-cli.json",description:"Angular CLI configuration file",fileMatch:[".angular-cli.json","angular-cli.json"],url:"https://raw.githubusercontent.com/angular/angular-cli/master/packages/angular/cli/lib/config/schema.json"},{name:"Ansible Role",description:"Ansible role task files",url:"https://json.schemastore.org/ansible-role-2.9",fileMatch:["**/tasks/*.yml","**/tasks/*.yaml"],versions:{"2.0":"https://json.schemastore.org/ansible-role-2.0","2.1":"https://json.schemastore.org/ansible-role-2.1","2.2":"https://json.schemastore.org/ansible-role-2.2","2.3":"https://json.schemastore.org/ansible-role-2.3","2.4":"https://json.schemastore.org/ansible-role-2.4","2.5":"https://json.schemastore.org/ansible-role-2.5","2.6":"https://json.schemastore.org/ansible-role-2.6","2.7":"https://json.schemastore.org/ansible-role-2.7","2.9":"https://json.schemastore.org/ansible-role-2.9"}},{name:"Ansible Playbook",description:"Ansible playbook files",url:"https://json.schemastore.org/ansible-playbook",fileMatch:["playbook.yml","playbook.yaml"]},{name:"Ansible Inventory",description:"Ansible inventory files",url:"https://json.schemastore.org/ansible-inventory",fileMatch:["inventory.yml","inventory.yaml"]},{name:"Ansible Collection Galaxy",description:"Ansible Collection Galaxy metadata",url:"https://json.schemastore.org/ansible-collection-galaxy",fileMatch:["galaxy.yml","galaxy.yaml"]},{name:"apple-app-site-association",description:"Apple Universal Link, App Site Association",fileMatch:["apple-app-site-association"],url:"https://json.schemastore.org/apple-app-site-association"},{name:"appsscript.json",description:"Google Apps Script manifest file",fileMatch:["appsscript.json"],url:"https://json.schemastore.org/appsscript"},{name:"appsettings.json",description:"ASP.NET Core's configuration file",fileMatch:["appsettings.json","appsettings.*.json"],url:"https://json.schemastore.org/appsettings"},{name:"appveyor.yml",description:"AppVeyor CI configuration file",fileMatch:["appveyor.yml"],url:"https://json.schemastore.org/appveyor"},{name:"arc.json",description:"A JSON schema for OpenJS Architect",fileMatch:["arc.json","arc.yml","arc.yaml"],url:"https://raw.githubusercontent.com/architect/parser/master/arc-schema.json"},{name:"Avro Avsc",description:"Avro Schema Avsc file",fileMatch:[".avsc"],url:"https://json.schemastore.org/avro-avsc"},{name:"Azure IoT Edge deployment",description:"Azure IoT Edge deployment schema",url:"https://json.schemastore.org/azure-iot-edge-deployment-2.0",versions:{"1.0":"https://json.schemastore.org/azure-iot-edge-deployment-1.0","1.1":"https://json.schemastore.org/azure-iot-edge-deployment-2.0"}},{name:"Azure IoT Edge deployment template",description:"Azure IoT Edge deployment template schema",fileMatch:["deployment.template.json","deployment.*.template.json"],url:"https://json.schemastore.org/azure-iot-edge-deployment-template-2.0",versions:{"1.0":"https://json.schemastore.org/azure-iot-edge-deployment-template-1.0","1.1":"https://json.schemastore.org/azure-iot-edge-deployment-template-2.0"}},{name:"Azure Pipelines",description:"Azure Pipelines YAML pipelines definition",fileMatch:["azure-pipelines.yml","azure-pipelines.yaml"],url:"https://raw.githubusercontent.com/microsoft/azure-pipelines-vscode/master/service-schema.json"},{name:"Foxx Manifest",description:"ArangoDB Foxx service manifest file",fileMatch:["manifest.json"],url:"https://json.schemastore.org/foxx-manifest"},{name:".asmdef",description:"Unity 3D assembly definition file",fileMatch:["*.asmdef"],url:"https://json.schemastore.org/asmdef"},{name:"babelrc.json",description:"Babel configuration file",fileMatch:[".babelrc","babel.config.json"],url:"https://json.schemastore.org/babelrc"},{name:".backportrc.json",description:"Backport configuration file",fileMatch:[".backportrc.json"],url:"https://json.schemastore.org/backportrc"},{name:"batect.yml",description:"batect configuration file",fileMatch:["batect.yml","batect-bundle.yml"],url:"https://batect.dev/configSchema.json"},{name:"bamboo-spec",description:"The Bamboo Specs allows you to define Bamboo configuration as code, and have corresponding plans/deployments created or updated automatically in Bamboo",url:"https://json.schemastore.org/bamboo-spec",fileMatch:["bamboo.yaml","bamboo.yml"]},{name:"bitbucket-pipelines",description:"Bitbucket Pipelines CI/CD manifest schema",url:"https://bitbucket.org/atlassianlabs/atlascode/raw/main/resources/schemas/pipelines-schema.json",fileMatch:["bitbucket-pipelines.yml","bitbucket-pipelines.yaml"]},{name:".bootstraprc",description:"Webpack bootstrap-loader configuration file",fileMatch:[".bootstraprc"],url:"https://json.schemastore.org/bootstraprc"},{name:"bower.json",description:"Bower package description file",fileMatch:["bower.json",".bower.json"],url:"https://json.schemastore.org/bower"},{name:".bowerrc",description:"Bower configuration file",fileMatch:[".bowerrc"],url:"https://json.schemastore.org/bowerrc"},{name:"behat.yml",description:"Behat configuration file",fileMatch:["behat.yml","*.behat.yml"],url:"https://json.schemastore.org/behat"},{name:"bozr.suite.json",description:"Bozr test suite file",fileMatch:[".suite.json",".xsuite.json"],url:"https://json.schemastore.org/bozr"},{name:"bucklescript",description:"BuckleScript configuration file",fileMatch:["bsconfig.json"],url:"https://bucklescript.github.io/bucklescript/docson/build-schema.json"},{name:"Bukkit plugin.yml",description:"Schema for Minecraft Bukkit plugin description files",fileMatch:["plugin.yml"],url:"https://json.schemastore.org/bukkit-plugin"},{name:"Buildkite",description:"Schema for Buildkite pipeline.yml files",fileMatch:["buildkite.yml","buildkite.yaml","buildkite.json","buildkite.*.yml","buildkite.*.yaml","buildkite.*.json",".buildkite/pipeline.yml",".buildkite/pipeline.yaml",".buildkite/pipeline.json",".buildkite/pipeline.*.yml",".buildkite/pipeline.*.yaml",".buildkite/pipeline.*.json"],url:"https://raw.githubusercontent.com/buildkite/pipeline-schema/master/schema.json"},{name:".build.yml",description:"Sourcehut Build Manifest",fileMatch:[".build.yml"],url:"https://json.schemastore.org/sourcehut-build"},{name:"bundleconfig.json",description:"Schema for bundleconfig.json files",fileMatch:["bundleconfig.json"],url:"https://json.schemastore.org/bundleconfig"},{name:"BungeeCord plugin.yml",description:"Schema for BungeeCord plugin description files",fileMatch:["plugin.yml","bungee.yml"],url:"https://json.schemastore.org/bungee-plugin"},{name:"Camel K YAML DSL",description:"Schema for Camel K YAML DSL",fileMatch:["*.camelk.yaml"],url:"https://raw.githubusercontent.com/apache/camel-k-runtime/master/camel-k-loader-yaml/camel-k-loader-yaml/src/generated/resources/camel-yaml-dsl.json"},{name:"Carafe",description:"Schema for Carafe compatible JavaScript Bundles",url:"https://carafe.fm/schema/draft-02/bundle.schema.json",versions:{"draft-02":"https://carafe.fm/schema/draft-02/bundle.schema.json","draft-01":"https://carafe.fm/schema/draft-01/bundle.schema.json"}},{name:"CityJSON",description:"Schema for the representation of 3D city models",url:"https://raw.githubusercontent.com/cityjson/specs/master/schemas/cityjson.min.schema.json"},{name:"CircleCI config.yml",description:"Schema for CircleCI 2.0 config files",fileMatch:[".circleci/config.yml"],url:"https://json.schemastore.org/circleciconfig"},{name:".cirrus.yml",description:"Cirrus CI configuration files",fileMatch:[".cirrus.yml"],url:"https://json.schemastore.org/cirrus"},{name:".clasp.json",description:"Google Apps Script CLI project file",fileMatch:[".clasp.json"],url:"https://json.schemastore.org/clasp"},{name:"cloudify",description:"Cloudify Blueprint",fileMatch:["*.cfy.yaml"],url:"https://json.schemastore.org/cloudify"},{name:"JSON schema for Codecov configuration files",description:"Schema for codecov.yml files.",fileMatch:[".codecov.yml","codecov.yml"],url:"https://json.schemastore.org/codecov"},{name:"compilerconfig.json",description:"Schema for compilerconfig.json files",fileMatch:["compilerconfig.json"],url:"https://json.schemastore.org/compilerconfig"},{name:"compile_commands.json",description:"LLVM compilation database",fileMatch:["compile_commands.json"],url:"https://json.schemastore.org/compile-commands"},{name:"cosmos.config.json",description:"React Cosmos configuration file",fileMatch:["cosmos.config.json"],url:"https://json.schemastore.org/cosmos-config"},{name:"Chrome Extension",description:"Google Chrome extension manifest file",url:"https://json.schemastore.org/chrome-manifest"},{name:"chutzpah.json",description:"Chutzpah configuration file",fileMatch:["chutzpah.json"],url:"https://json.schemastore.org/chutzpah"},{name:"contentmanifest.json",description:"Visual Studio manifest injection file",fileMatch:["contentmanifest.json"],url:"https://json.schemastore.org/vsix-manifestinjection"},{name:"cloud-sdk-pipeline-config-schema",description:"SAP Cloud SDK Pipeline configuration",fileMatch:["pipeline_config.yml"],url:"https://json.schemastore.org/cloud-sdk-pipeline-config-schema.json"},{name:"cloudbuild.json",description:"Google Cloud Build configuration file",fileMatch:["cloudbuild.json","cloudbuild.yaml","cloudbuild.yml","*.cloudbuild.json","*.cloudbuild.yaml","*.cloudbuild.yml"],url:"https://json.schemastore.org/cloudbuild"},{name:"AWS CloudFormation",description:"AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment.",fileMatch:["*.cf.json","*.cf.yml","*.cf.yaml","cloudformation.json","cloudformation.yml","cloudformation.yaml"],url:"https://raw.githubusercontent.com/awslabs/goformation/master/schema/cloudformation.schema.json"},{name:"AWS CloudFormation Serverless Application Model (SAM)",description:"The AWS Serverless Application Model (AWS SAM, previously known as Project Flourish) extends AWS CloudFormation to provide a simplified way of defining the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application.",fileMatch:["*.sam.json","*.sam.yml","*.sam.yaml","sam.json","sam.yml","sam.yaml"],url:"https://raw.githubusercontent.com/awslabs/goformation/master/schema/sam.schema.json"},{name:"coffeelint.json",description:"CoffeeLint configuration file",fileMatch:["coffeelint.json"],url:"https://json.schemastore.org/coffeelint"},{name:"composer.json",description:"PHP Composer configuration file",fileMatch:["composer.json"],url:"https://raw.githubusercontent.com/composer/composer/master/res/composer-schema.json"},{name:"component.json",description:"Web component file",fileMatch:["component.json"],url:"https://json.schemastore.org/component"},{name:"config.json",description:"ASP.NET project config file",fileMatch:["config.json"],url:"https://json.schemastore.org/config"},{name:"contribute.json",description:"A JSON schema for open-source project contribution data by Mozilla",fileMatch:["contribute.json"],url:"https://json.schemastore.org/contribute"},{name:"cypress.json",description:"Cypress.io test runner configuration file",fileMatch:["cypress.json"],url:"https://raw.githubusercontent.com/cypress-io/cypress/develop/cli/schema/cypress.schema.json"},{name:".creatomic",description:"A config for Atomic Design 4 React generator",fileMatch:[".creatomic"],url:"https://json.schemastore.org/creatomic"},{name:"cspell",description:"JSON schema for cspell configuration file",fileMatch:[".cspell.json","cspell.json","cSpell.json"],url:"https://raw.githubusercontent.com/streetsidesoftware/cspell/master/cspell.schema.json"},{name:".csscomb.json",description:"A JSON schema CSS Comb's configuration file",fileMatch:[".csscomb.json"],url:"https://json.schemastore.org/csscomb"},{name:".csslintrc",description:"A JSON schema CSS Lint's configuration file",fileMatch:[".csslintrc"],url:"https://json.schemastore.org/csslintrc"},{name:"Dart build configuration",description:"Configuration for Dart's build system",url:"https://json.schemastore.org/dart-build"},{name:"datalogic-scan2deploy-android",description:"Datalogic Scan2Deploy Android file",fileMatch:[".dla.json"],url:"https://json.schemastore.org/datalogic-scan2deploy-android"},{name:"datalogic-scan2deploy-ce",description:"Datalogic Scan2Deploy CE file",fileMatch:[".dlc.json"],url:"https://json.schemastore.org/datalogic-scan2deploy-ce"},{name:"debugsettings.json",description:"A JSON schema for the ASP.NET DebugSettings.json files",fileMatch:["debugsettings.json"],url:"https://json.schemastore.org/debugsettings"},{name:"dependabot.json",description:"A JSON schema for the Dependabot config.yml files",fileMatch:[".dependabot/config.yml"],url:"https://json.schemastore.org/dependabot"},{name:"dependabot-v2.json",description:"A JSON schema for the Github Action's dependabot.yml files",fileMatch:[".github/dependabot.yml"],url:"https://json.schemastore.org/dependabot-2.0"},{name:"docfx.json",description:"A JSON schema for DocFx configuraton files",fileMatch:["docfx.json"],url:"https://json.schemastore.org/docfx",versions:{"2.8.0":"https://json.schemastore.org/docfx-2.8.0"}},{name:"Dolittle Artifacts",description:"A JSON schema for a Dolittle bounded context's artifacts",fileMatch:[".dolittle/artifacts.json"],url:"https://raw.githubusercontent.com/dolittle/DotNET.SDK/master/Schemas/Artifacts.Configuration/artifacts.json"},{name:"Dolittle Bounded Context Configuration",description:"A JSON schema for Dolittle application's bounded context configuration",fileMatch:["bounded-context.json"],url:"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Applications.Configuration/bounded-context.json"},{name:"Dolittle Event Horizons Configuration",description:"A JSON schema for a Dolittle bounded context's event horizon configurations",fileMatch:[".dolittle/event-horizons.json"],url:"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Events/event-horizons.json"},{name:"Dolittle Resources Configuration",description:"A JSON schema for a Dolittle bounded context's resource configurations",fileMatch:[".dolittle/resources.json"],url:"https://raw.githubusercontent.com/dolittle/DotNET.Fundamentals/master/Schemas/ResourceTypes.Configuration/resources.json"},{name:"Dolittle Server Configuration",description:"A JSON schema for a Dolittle bounded context's event horizon's interaction server configuration",fileMatch:[".dolittle/server.json"],url:"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Server/server.json"},{name:"Dolittle Tenants Configuration",description:"A JSON schema for a Dolittle bounded context's tenant configuration",fileMatch:[".dolittle/tenants.json"],url:"https://raw.githubusercontent.com/dolittle/Runtime/master/Schemas/Tenancy/tenants.json"},{name:"Dolittle Tenant Map Configuration",description:"A JSON schema for a Dolittle bounded context's tenant mapping configurations",fileMatch:[".dolittle/tenant-map.json"],url:"https://raw.githubusercontent.com/dolittle/DotNET.Fundamentals/master/Schemas/Tenancy.Configuration/tenant-map.json"},{name:"Dolittle Topology",description:"A JSON schema for a Dolittle bounded context's topology",fileMatch:[".dolittle/topology.json"],url:"https://raw.githubusercontent.com/dolittle/DotNET.SDK/master/Schemas/Applications.Configuration/topology.json"},{name:"dotnetcli.host.json",description:"JSON schema for .NET CLI template host files",fileMatch:["dotnetcli.host.json"],url:"https://json.schemastore.org/dotnetcli.host"},{name:"drone.json",description:"Drone CI configuration file",fileMatch:[".drone.yml"],url:"https://json.schemastore.org/drone"},{name:"Drush site aliases",description:"JSON Schema for Drush 9 site aliases file",fileMatch:["sites/*.site.yml"],url:"https://json.schemastore.org/drush.site.yml"},{name:"dss-2.0.0.json",description:"Digital Signature Service Core Protocols, Elements, and Bindings Version 2.0",url:"https://json.schemastore.org/dss-2.0.0.json"},{name:"dvc.yaml",description:"JSON Schema for dvc.yaml file",fileMatch:["dvc.yaml"],url:"https://raw.githubusercontent.com/iterative/dvcyaml-schema/master/schema.json"},{name:"Eclipse Che Devfile",description:"JSON schema for Eclipse Che Devfiles",url:"https://raw.githubusercontent.com/eclipse/che/master/wsmaster/che-core-api-workspace/src/main/resources/schema/1.0.0/devfile.json",fileMatch:["devfile.yaml",".devfile.yaml"]},{name:"Esquio",description:"JSON schema for Esquio configuration files",url:"https://json.schemastore.org/esquio"},{name:"epr-manifest.json",description:"Entry Point Regulation manifest file",fileMatch:["epr-manifest.json"],url:"https://json.schemastore.org/epr-manifest"},{name:"electron-builder configuration file.",description:"JSON schema for electron-build configuration file.",fileMatch:["electron-builder.json"],url:"https://json.schemastore.org/electron-builder"},{name:"Expo SDK",description:"JSON schema for Expo SDK app manifest",fileMatch:["app.json"],url:"https://json.schemastore.org/expo-37.0.0.json"},{name:".eslintrc",description:"JSON schema for ESLint configuration files",fileMatch:[".eslintrc",".eslintrc.json",".eslintrc.yml",".eslintrc.yaml"],url:"https://json.schemastore.org/eslintrc"},{name:"fabric.mod.json",description:"Metadata file used by the Fabric mod loader",fileMatch:["fabric.mod.json"],url:"https://json.schemastore.org/fabric.mod.json"},{name:"function.json",description:"JSON schema for Azure Functions function.json files",fileMatch:["function.json"],url:"https://json.schemastore.org/function"},{name:"geojson.json",description:"GeoJSON format for representing geographic data.",url:"https://json.schemastore.org/geojson"},{name:"GitVersion",description:"The output from the GitVersion tool",fileMatch:["gitversion.json"],url:"https://json.schemastore.org/gitversion"},{name:"GitHub Action",description:"YAML schema for GitHub Actions",fileMatch:["action.yml","action.yaml"],url:"https://json.schemastore.org/github-action"},{name:"GitHub Workflow",description:"YAML schema for GitHub Workflow",fileMatch:[".github/workflows/**.yml",".github/workflows/**.yaml"],url:"https://json.schemastore.org/github-workflow"},{name:"gitlab-ci",description:"JSON schema for configuring Gitlab CI",fileMatch:[".gitlab-ci.yml"],url:"https://json.schemastore.org/gitlab-ci"},{name:"Gitpod Configuration",description:"JSON schema for configuring Gitpod.io",fileMatch:[".gitpod.yml"],url:"https://gitpod.io/schemas/gitpod-schema.json"},{name:"global.json",description:"ASP.NET global configuration file",fileMatch:["global.json"],url:"https://json.schemastore.org/global"},{name:"Grafana 5.x Dashboard",description:"JSON Schema for Grafana 5.x Dashboards",url:"https://json.schemastore.org/grafana-dashboard-5.x"},{name:"GraphQL Mesh",description:"JSON Schema for GraphQL Mesh config file",url:"https://raw.githubusercontent.com/Urigo/graphql-mesh/master/packages/types/src/config-schema.json",fileMatch:[".meshrc.yml",".meshrc.yaml",".meshrc.json",".meshrc.js",".graphql-mesh.yaml",".graphql-mesh.yml"]},{name:"GraphQL Config",description:"JSON Schema for GraphQL Config config file",url:"https://raw.githubusercontent.com/kamilkisiela/graphql-config/master/config-schema.json",fileMatch:["graphql.config.json","graphql.config.js","graphql.config.yaml","graphql.config.yml",".graphqlrc",".graphqlrc.json",".graphqlrc.yaml",".graphqlrc.yml",".graphqlrc.js"]},{name:"GraphQL Code Generator",description:"JSON Schema for GraphQL Code Generator config file",url:"https://raw.githubusercontent.com/dotansimha/graphql-code-generator/master/website/static/config.schema.json",fileMatch:["codegen.yml","codegen.yaml","codegen.json","codegen.js",".codegen.yml",".codegen.yaml",".codegen.json",".codegen.js"]},{name:"Grunt copy task",description:"Grunt copy task configuration file",fileMatch:["copy.json"],url:"https://json.schemastore.org/grunt-copy-task"},{name:"Grunt clean task",description:"Grunt clean task configuration file",fileMatch:["clean.json"],url:"https://json.schemastore.org/grunt-clean-task"},{name:"Grunt cssmin task",description:"Grunt cssmin task configuration file",fileMatch:["cssmin.json"],url:"https://json.schemastore.org/grunt-cssmin-task"},{name:"Grunt JSHint task",description:"Grunt JSHint task configuration file",fileMatch:["jshint.json"],url:"https://json.schemastore.org/grunt-jshint-task"},{name:"Grunt Watch task",description:"Grunt Watch task configuration file",fileMatch:["watch.json"],url:"https://json.schemastore.org/grunt-watch-task"},{name:"Grunt base task",description:"Schema for standard Grunt tasks",fileMatch:["grunt/*.json","*-tasks.json"],url:"https://json.schemastore.org/grunt-task"},{name:"haxelib.json",description:"Haxelib manifest",fileMatch:["haxelib.json"],url:"https://json.schemastore.org/haxelib"},{name:"host.json",description:"JSON schema for Azure Functions host.json files",fileMatch:["host.json"],url:"https://json.schemastore.org/host"},{name:"host-meta.json",description:"Schema for host-meta JDR files",fileMatch:["host-meta.json"],url:"https://json.schemastore.org/host-meta"},{name:".htmlhintrc",description:"HTML Hint configuration file",fileMatch:[".htmlhintrc"],url:"https://json.schemastore.org/htmlhint"},{name:"hydra.yml",description:"ORY Hydra configuration file",fileMatch:["hydra.json","hydra.yml","hydra.yaml","hydra.toml"],url:"https://raw.githubusercontent.com/ory/hydra/master/.schema/version.schema.json"},{name:"imageoptimizer.json",description:"Schema for imageoptimizer.json files",fileMatch:["imageoptimizer.json"],url:"https://json.schemastore.org/imageoptimizer"},{name:"Jekyll configuration",description:"Schema for Jekyll _config.yml",fileMatch:["_config.yml"],url:"https://json.schemastore.org/jekyll"},{name:"Jenkins X Pipelines",description:"Jenkins X Pipeline YAML configuration files",fileMatch:["jenkins-x*.yml"],url:"https://jenkins-x.io/schemas/jx-schema.json"},{name:"Jenkins X Requirements",description:"Jenkins X Requirements YAML configuration file",fileMatch:["jx-requirements.yml"],url:"https://jenkins-x.io/schemas/jx-requirements.json"},{name:"Jovo Language Models",description:"JSON Schema for Jovo language Models (https://www.jovo.tech/docs/model)",url:"http://json.schemastore.org/jovo-language-model"},{name:".jsbeautifyrc",description:"js-beautify configuration file",fileMatch:[".jsbeautifyrc"],url:"https://json.schemastore.org/jsbeautifyrc"},{name:".jsbeautifyrc-nested",description:"js-beautify configuration file allowing nested `js`, `css`, and `html` attributes",fileMatch:[".jsbeautifyrc"],url:"https://json.schemastore.org/jsbeautifyrc-nested"},{name:".jscsrc",description:"JSCS configuration file",fileMatch:[".jscsrc","jscsrc.json"],url:"https://json.schemastore.org/jscsrc"},{name:".jshintrc",description:"JSHint configuration file",fileMatch:[".jshintrc"],url:"https://json.schemastore.org/jshintrc"},{name:".jsinspectrc",description:"JSInspect configuration file",fileMatch:[".jsinspectrc"],url:"https://json.schemastore.org/jsinspectrc"},{name:"JSON-API",description:"JSON API document",fileMatch:["*.schema.json"],url:"https://jsonapi.org/schema"},{name:"JSON Document Transform",description:"JSON Document Transofrm",url:"https://json.schemastore.org/jdt"},{name:"JSON Feed",description:"JSON schema for the JSON Feed format",fileMatch:["feed.json"],url:"https://json.schemastore.org/feed",versions:{"1":"http://json.schemastore.org/feed-1","1.1":"http://json.schemastore.org/feed"}},{name:"*.jsonld",description:"JSON Linked Data files",fileMatch:["*.jsonld"],url:"https://json.schemastore.org/jsonld"},{name:"JSONPatch",description:"JSONPatch files",fileMatch:["*.patch"],url:"https://json.schemastore.org/json-patch"},{name:"jsconfig.json",description:"JavaScript project configuration file",fileMatch:["jsconfig.json"],url:"https://json.schemastore.org/jsconfig"},{name:"keto.yml",description:"ORY Keto configuration file",fileMatch:["keto.json","keto.yml","keto.yaml","keto.toml"],url:"https://raw.githubusercontent.com/ory/keto/master/.schema/version.schema.json"},{name:"kustomization.yaml",description:"Kubernetes native configuration management",fileMatch:["kustomization.yaml","kustomization.yml"],url:"https://json.schemastore.org/kustomization"},{name:"launchsettings.json",description:"A JSON schema for the ASP.NET LaunchSettings.json files",fileMatch:["launchsettings.json"],url:"https://json.schemastore.org/launchsettings"},{name:"lerna.json",description:"A JSON schema for lerna.json files",fileMatch:["lerna.json"],url:"https://json.schemastore.org/lerna"},{name:"libman.json",description:"JSON schema for client-side library config files",fileMatch:["libman.json"],url:"https://json.schemastore.org/libman"},{name:"localazy.json",description:"JSON schema for Localazy CLI configuration file. More info at https://localazy.com/docs/cli",fileMatch:["localazy.json"],url:"https://raw.githubusercontent.com/localazy/cli-schema/master/localazy.json"},{name:"lsdlschema.json",description:"JSON schema for Linguistic Schema Definition Language files",fileMatch:["*.lsdl.yaml","*.lsdl.json"],url:"https://json.schemastore.org/lsdlschema"},{name:"Microsoft Band Web Tile",description:"Microsoft Band Web Tile manifest file",url:"https://json.schemastore.org/band-manifest"},{name:"mimetypes.json",description:"JSON Schema for mime type collections",fileMatch:["mimetypes.json"],url:"https://json.schemastore.org/mimetypes"},{name:".mocharc",description:"JSON schema for MochaJS configuration files",fileMatch:[".mocharc.json",".mocharc.jsonc",".mocharc.yml",".mocharc.yaml"],url:"https://json.schemastore.org/mocharc"},{name:".modernizrrc",description:"Webpack modernizr-loader configuration file",fileMatch:[".modernizrrc"],url:"https://json.schemastore.org/modernizrrc"},{name:"mycode.json",description:"JSON schema for mycode.js files",fileMatch:["mycode.json"],url:"https://json.schemastore.org/mycode"},{name:"Netlify config schema",description:"This schema describes the YAML config that Netlify uses",fileMatch:["admin/config*.yml"],url:"http://json.schemastore.org/netlify.json"},{name:"ninjs (News in JSON)",description:"A JSON Schema for ninjs by the IPTC. News and publishing information. See https://iptc.org/standards/ninjs/",url:"https://json.schemastore.org/ninjs-1.3.json",versions:{"1.3":"https://json.schemastore.org/ninjs-1.3.json","1.2":"https://json.schemastore.org/ninjs-1.2.json","1.1":"https://json.schemastore.org/ninjs-1.1.json","1.0":"https://json.schemastore.org/ninjs-1.0.json"}},{name:"nest-cli",description:"A progressive Node.js framework for building efficient and scalable server-side applications \u{1F680}.",url:"https://json.schemastore.org/nest-cli",fileMatch:[".nestcli.json",".nest-cli.json","nest-cli.json","nest.json"]},{name:".nodehawkrc",description:"JSON schema for .nodehawkrc configuration files.",url:"https://json.schemastore.org/nodehawkrc",fileMatch:[".nodehawkrc"]},{name:"nodemon.json",description:"JSON schema for nodemon.json configuration files.",url:"https://json.schemastore.org/nodemon",fileMatch:["nodemon.json"]},{name:".npmpackagejsonlintrc",description:"Configuration file for npm-package-json-lint",fileMatch:[".npmpackagejsonlintrc","npmpackagejsonlintrc.json",".npmpackagejsonlintrc.json"],url:"https://json.schemastore.org/npmpackagejsonlintrc"},{name:"nuget-project.json",description:"JSON schema for NuGet project.json files.",url:"https://json.schemastore.org/nuget-project",versions:{"3.3.0":"https://json.schemastore.org/nuget-project-3.3.0"}},{name:"nswag.json",description:"JSON schema for nswag configuration",url:"https://json.schemastore.org/nswag",fileMatch:["nswag.json"]},{name:"oathkeeper.yml",description:"ORY Oathkeeper configuration file",fileMatch:["oathkeeper.json","oathkeeper.yml","oathkeeper.yaml","oathkeeper.toml"],url:"https://raw.githubusercontent.com/ory/oathkeeper/master/.schema/version.schema.json"},{name:"ocelot.json",description:"JSON schema for the Ocelot Api Gateway.",fileMatch:["ocelot.json"],url:"https://json.schemastore.org/ocelot"},{name:"omnisharp.json",description:"Omnisharp Configuration file",fileMatch:["omnisharp.json"],url:"https://json.schemastore.org/omnisharp"},{name:"openapi.json",description:"A JSON schema for Open API documentation files",fileMatch:["openapi.json","openapi.yml","openapi.yaml"],url:"https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v3.0/schema.json"},{name:"openfin.json",description:"OpenFin application configuration file",url:"https://json.schemastore.org/openfin"},{name:"kratos.yml",description:"ORY Kratos configuration file",fileMatch:["kratos.json","kratos.yml","kratos.yaml"],url:"https://raw.githubusercontent.com/ory/kratos/master/.schema/version.schema.json"},{name:"package.json",description:"NPM configuration file",fileMatch:["package.json"],url:"https://json.schemastore.org/package"},{name:"coc extension package.json",description:"coc extension contributes",fileMatch:["package.json"],url:"vscode://schemas/vscode-extensions"},{name:"package.manifest",description:"Umbraco package configuration file",fileMatch:["package.manifest"],url:"https://json.schemastore.org/package.manifest",versions:{"8.0.0":"https://json.schemastore.org/package.manifest-8.0.0","7.0.0":"https://json.schemastore.org/package.manifest-7.0.0"}},{name:"Packer",description:"Packer template JSON configuration",fileMatch:["packer.json"],url:"https://json.schemastore.org/packer"},{name:"pattern.json",description:"Patternplate pattern manifest file",fileMatch:["pattern.json"],url:"https://json.schemastore.org/pattern"},{name:".pmbot.yml",description:"Pmbot configuration file",fileMatch:[".pmbot.yml"],url:"https://raw.githubusercontent.com/pmbot-io/config/master/pmbot.yml.schema.json"},{name:"PocketMine plugin.yml",description:"PocketMine plugin manifest file",fileMatch:["plugin.yml"],url:"https://json.schemastore.org/pocketmine-plugin"},{name:".pre-commit-config.yml",description:"pre-commit configuration file",fileMatch:[".pre-commit-config.yml",".pre-commit-config.yaml"],url:"https://json.schemastore.org/pre-commit-config"},{name:".phraseapp.yml",description:"PhraseApp configuration file",fileMatch:[".phraseapp.yml"],url:"https://json.schemastore.org/phraseapp"},{name:"prettierrc.json",description:".prettierrc configuration file",fileMatch:[".prettierrc",".prettierrc.json",".prettierrc.yml",".prettierrc.yaml"],url:"https://json.schemastore.org/prettierrc",versions:{"1.8.2":"https://json.schemastore.org/prettierrc-1.8.2"}},{name:"prisma.yml",description:"prisma.yml service definition file",fileMatch:["prisma.yml"],url:"https://json.schemastore.org/prisma"},{name:"project.json",description:"ASP.NET vNext project configuration file",fileMatch:["project.json"],url:"https://json.schemastore.org/project",versions:{"1.0.0-beta3":"https://json.schemastore.org/project-1.0.0-beta3","1.0.0-beta4":"https://json.schemastore.org/project-1.0.0-beta4","1.0.0-beta5":"https://json.schemastore.org/project-1.0.0-beta5","1.0.0-beta6":"https://json.schemastore.org/project-1.0.0-beta6","1.0.0-beta8":"https://json.schemastore.org/project-1.0.0-beta8","1.0.0-rc1":"https://json.schemastore.org/project-1.0.0-rc1","1.0.0-rc1-update1":"https://json.schemastore.org/project-1.0.0-rc1","1.0.0-rc2":"https://json.schemastore.org/project-1.0.0-rc2"}},{name:"project-1.0.0-beta3.json",description:"ASP.NET vNext project configuration file",url:"https://json.schemastore.org/project-1.0.0-beta3"},{name:"project-1.0.0-beta4.json",description:"ASP.NET vNext project configuration file",url:"https://json.schemastore.org/project-1.0.0-beta4"},{name:"project-1.0.0-beta5.json",description:"ASP.NET vNext project configuration file",url:"https://json.schemastore.org/project-1.0.0-beta5"},{name:"project-1.0.0-beta6.json",description:"ASP.NET vNext project configuration file",url:"https://json.schemastore.org/project-1.0.0-beta6"},{name:"project-1.0.0-beta8.json",description:"ASP.NET vNext project configuration file",url:"https://json.schemastore.org/project-1.0.0-beta8"},{name:"project-1.0.0-rc1.json",description:"ASP.NET vNext project configuration file",url:"https://json.schemastore.org/project-1.0.0-rc1"},{name:"project-1.0.0-rc2.json",description:".NET Core project configuration file",url:"https://json.schemastore.org/project-1.0.0-rc2"},{name:"prometheus.json",description:"Prometheus configuration file",fileMatch:["prometheus.yml"],url:"https://json.schemastore.org/prometheus"},{name:"prometheus.rules.json",description:"Prometheus rules file",fileMatch:["*.rules"],url:"https://json.schemastore.org/prometheus.rules"},{name:"proxies.json",description:"JSON schema for Azure Function Proxies proxies.json files",fileMatch:["proxies.json"],url:"https://json.schemastore.org/proxies"},{name:"pubspec.yaml",description:"Schema for pubspecs, the format used by Dart's dependency manager",fileMatch:["pubspec.yaml"],url:"https://json.schemastore.org/pubspec"},{name:"pyrseas-0.8.json",description:"Pyrseas database schema versioning for Postgres databases, v0.8",fileMatch:["pyrseas-0.8.json"],url:"https://json.schemastore.org/pyrseas-0.8"},{name:"Red-DiscordBot \u0421og",description:"Red-DiscordBot \u0421og metadata file",fileMatch:["info.json"],url:"https://raw.githubusercontent.com/Cog-Creators/Red-DiscordBot/V3/develop/schema/red_cog.schema.json"},{name:"Red-DiscordBot \u0421og Repo",description:"Red-DiscordBot \u0421og Repo metadata file",fileMatch:["info.json"],url:"https://raw.githubusercontent.com/Cog-Creators/Red-DiscordBot/V3/develop/schema/red_cog_repo.schema.json"},{name:"*.resjson",description:"Windows App localization file",fileMatch:["*.resjson"],url:"https://json.schemastore.org/resjson"},{name:"JSON Resume",description:"A JSON format to describe resumes",fileMatch:["resume.json"],url:"https://json.schemastore.org/resume"},{name:"Renovate",description:"Renovate config file (https://github.com/renovatebot/renovate)",fileMatch:["renovate.json","renovate.json5",".github/renovate.json",".github/renovate.json5",".renovaterc",".renovaterc.json"],url:"https://docs.renovatebot.com/renovate-schema.json"},{name:"RoadRunner",description:"Spiral Roadrunner config schema",fileMatch:[".rr.yml",".rr.yaml"],url:"https://json.schemastore.org/roadrunner"},{name:"sarif-1.0.0.json",description:"Static Analysis Results Interchange Format (SARIF) version 1",url:"https://json.schemastore.org/sarif-1.0.0.json"},{name:"sarif-2.0.0.json",description:"Static Analysis Results Interchange Format (SARIF) version 2",url:"https://json.schemastore.org/sarif-2.0.0.json"},{name:"2.0.0-csd.2.beta.2018-10-10",description:"Static Analysis Results Format (SARIF) Version 2.0.0-csd.2.beta-2018-10-10",url:"https://json.schemastore.org/2.0.0-csd.2.beta.2018-10-10.json"},{name:"sarif-2.1.0-rtm.2",description:"Static Analysis Results Format (SARIF), Version 2.1.0-rtm.2",url:"https://json.schemastore.org/sarif-2.1.0-rtm.2.json"},{name:"sarif-external-property-file-2.1.0-rtm.2",description:"Static Analysis Results Format (SARIF) External Property File Format, Version 2.1.0-rtm.2",url:"https://json.schemastore.org/sarif-external-property-file-2.1.0-rtm.2.json"},{name:"sarif-2.1.0-rtm.3",description:"Static Analysis Results Format (SARIF), Version 2.1.0-rtm.3",url:"https://json.schemastore.org/sarif-2.1.0-rtm.3.json"},{name:"sarif-external-property-file-2.1.0-rtm.3",description:"Static Analysis Results Format (SARIF) External Property File Format, Version 2.1.0-rtm.3",url:"https://json.schemastore.org/sarif-external-property-file-2.1.0-rtm.3.json"},{name:"sarif-2.1.0-rtm.4",description:"Static Analysis Results Format (SARIF), Version 2.1.0-rtm.4",url:"https://json.schemastore.org/sarif-2.1.0-rtm.4.json"},{name:"sarif-external-property-file-2.1.0-rtm.4",description:"Static Analysis Results Format (SARIF) External Property File Format, Version 2.1.0-rtm.4",url:"https://json.schemastore.org/sarif-external-property-file-2.1.0-rtm.4.json"},{name:"sarif-2.1.0-rtm.5",description:"Static Analysis Results Format (SARIF), Version 2.1.0-rtm.5",url:"https://json.schemastore.org/sarif-2.1.0-rtm.5.json"},{name:"sarif-external-property-file-2.1.0-rtm.5",description:"Static Analysis Results Format (SARIF) External Property File Format, Version 2.1.0-rtm.5",url:"https://json.schemastore.org/sarif-external-property-file-2.1.0-rtm.5.json"},{name:"Schema Catalog",description:"JSON Schema catalog files compatible with SchemaStore.org",url:"https://json.schemastore.org/schema-catalog"},{name:"schema.org - Action",description:"JSON Schema for Action as defined by schema.org",url:"https://json.schemastore.org/schema-org-action"},{name:"schema.org - ContactPoint",description:"JSON Schema for ContactPoint as defined by schema.org",url:"https://json.schemastore.org/schema-org-contact-point"},{name:"schema.org - Place",description:"JSON Schema for Place as defined by schema.org",url:"https://json.schemastore.org/schema-org-place"},{name:"schema.org - Thing",description:"JSON Schema for Thing as defined by schema.org",url:"https://json.schemastore.org/schema-org-thing"},{name:"settings.job",description:"Azure Webjob settings file",fileMatch:["settings.job"],url:"https://json.schemastore.org/settings.job"},{name:"skyuxconfig.json",description:"SKY UX CLI configuration file",fileMatch:["skyuxconfig.json","skyuxconfig.*.json"],url:"https://raw.githubusercontent.com/blackbaud/skyux-builder/master/skyuxconfig-schema.json"},{name:"snapcraft",description:"snapcraft project  (https://snapcraft.io)",fileMatch:[".snapcraft.yaml","snapcraft.yaml"],url:"https://raw.githubusercontent.com/snapcore/snapcraft/master/schema/snapcraft.json"},{name:"Solidarity",description:"CLI config for enforcing environment settings",fileMatch:[".solidarity",".solidarity.json"],url:"https://json.schemastore.org/solidaritySchema"},{name:"Source Maps v3",description:"Source Map files version 3",fileMatch:["*.map"],url:"https://json.schemastore.org/sourcemap-v3"},{name:"Sponge Mixin configuration",description:"Configuration file for SpongePowered's Mixin library",fileMatch:["*.mixins.json"],url:"https://json.schemastore.org/sponge-mixins"},{name:".sprite files",description:"Schema for image sprite generation files",fileMatch:["*.sprite"],url:"https://json.schemastore.org/sprite"},{name:"Stryker Mutator",description:"Configuration file for Stryker Mutator, the mutation testing framework for JavaScript and friends. See https://stryker-mutator.io.",fileMatch:["stryker.conf.json","stryker-*.conf.json"],url:"https://raw.githubusercontent.com/stryker-mutator/stryker/master/packages/api/schema/stryker-core.json"},{name:"StyleCop Analyzers Configuration",description:"Configuration file for StyleCop Analyzers",fileMatch:["stylecop.json"],url:"https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json"},{name:".stylelintrc",description:"Configuration file for stylelint",fileMatch:[".stylelintrc","stylelintrc.json",".stylelintrc.json"],url:"https://json.schemastore.org/stylelintrc"},{name:"Swagger API 2.0",description:"Swagger API 2.0 schema",fileMatch:["swagger.json"],url:"https://json.schemastore.org/swagger-2.0"},{name:"Taurus",description:"Taurus bzt cli framework config",fileMatch:["bzt.yml","bzt.yaml","taurus.yml","taurus.yaml"],url:"https://json.schemastore.org/taurus"},{name:"template.json",description:"JSON schema .NET template files",fileMatch:[".template.config/template.json"],url:"https://json.schemastore.org/template"},{name:"templatsources.json",description:"SideWaffle template source schema",fileMatch:["templatesources.json"],url:"https://json.schemastore.org/templatesources"},{name:"tmLanguage",description:"Language grammar description files in Textmate and compatible editors",fileMatch:["*.tmLanguage.json"],url:"https://raw.githubusercontent.com/Septh/tmlanguage/master/tmLanguage.schema.json"},{name:".travis.yml",description:"Travis CI configuration file",fileMatch:[".travis.yml"],url:"https://json.schemastore.org/travis"},{name:"Traefik v2",description:"Traefik v2 YAML configuration file",fileMatch:["traefik.yml","traefik.yaml"],url:"https://json.schemastore.org/traefik-v2"},{name:"tsconfig.json",description:"TypeScript compiler configuration file",fileMatch:["tsconfig.json"],url:"https://json.schemastore.org/tsconfig"},{name:"tsd.json",description:"JSON schema for DefinatelyTyped description manager (TSD)",fileMatch:["tsd.json"],url:"https://json.schemastore.org/tsd"},{name:"tsdrc.json",description:"TypeScript Definition manager (tsd) global settings file",fileMatch:[".tsdrc"],url:"https://json.schemastore.org/tsdrc"},{name:"ts-force-config.json",description:"Generated Typescript classes for Salesforce",fileMatch:["ts-force-config.json"],url:"https://json.schemastore.org/ts-force-config"},{name:"tslint.json",description:"TypeScript Lint configuration file",fileMatch:["tslint.json","tslint.yaml","tslint.yml"],url:"https://json.schemastore.org/tslint"},{name:"typewiz.json",description:"Typewiz configuration file",fileMatch:["typewiz.json"],url:"https://json.schemastore.org/typewiz"},{name:"typings.json",description:"Typings TypeScript definitions manager definition file",fileMatch:["typings.json"],url:"https://json.schemastore.org/typings"},{name:"typingsrc.json",description:"Typings TypeScript definitions manager configuration file",fileMatch:[".typingsrc"],url:"https://json.schemastore.org/typingsrc"},{name:"up.json",description:"Up configuration file",fileMatch:["up.json"],url:"https://json.schemastore.org/up.json"},{name:"ui5-manifest",description:"UI5/OPENUI5 descriptor file",fileMatch:[".manifest"],url:"https://json.schemastore.org/ui5-manifest"},{name:"UI5 Manifest",description:"UI5 Manifest (manifest.json)",fileMatch:["webapp/manifest.json","src/main/webapp/manifest.json"],url:"https://raw.githubusercontent.com/SAP/ui5-manifest/master/schema.json"},{name:"ui5.yaml",description:"UI5 Tooling Configuration File (ui5.yaml)",fileMatch:["ui5.yaml","*-ui5.yaml","*.ui5.yaml"],url:"https://sap.github.io/ui5-tooling/schema/ui5.yaml.json"},{name:"vega.json",description:"Vega visualization specification file",fileMatch:["*.vg","*.vg.json"],url:"https://json.schemastore.org/vega"},{name:"vega-lite.json",description:"Vega-Lite visualization specification file",fileMatch:["*.vl","*.vl.json"],url:"https://json.schemastore.org/vega-lite"},{name:"Vela Pipeline Configuration",description:"Vela Pipeline Configuration File",fileMatch:[".vela.yml",".vela.yaml"],url:"https://github.com/go-vela/types/releases/latest/download/schema.json"},{name:"version.json",description:"A project version descriptor file used by Nerdbank.GitVersioning",fileMatch:["version.json"],url:"https://raw.githubusercontent.com/dotnet/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json"},{name:"vim-addon-info",description:"JSON schema for vim plugin addon-info.json metadata files",fileMatch:["*vim*/addon-info.json"],url:"https://json.schemastore.org/vim-addon-info"},{name:"vsls.json",description:"Visual Studio Live Share configuration file",fileMatch:[".vsls.json"],url:"https://json.schemastore.org/vsls"},{name:"vs-2017.3.host.json",description:"JSON schema for Visual Studio template host file",fileMatch:["vs-2017.3.host.json"],url:"https://json.schemastore.org/vs-2017.3.host"},{name:"vs-nesting.json",description:"JSON schema for Visual Studio's file nesting feature",fileMatch:["*.filenesting.json",".filenesting.json"],url:"https://json.schemastore.org/vs-nesting"},{name:".vsconfig",description:"JSON schema for Visual Studio component configuration files",fileMatch:["*.vsconfig"],url:"https://json.schemastore.org/vsconfig"},{name:".vsext",description:"JSON schema for Visual Studio extension pack manifests",fileMatch:["*.vsext"],url:"https://json.schemastore.org/vsext"},{name:"VSIX CLI publishing",description:"JSON schema for Visual Studio extension publishing",fileMatch:["vs-publish.json"],url:"https://json.schemastore.org/vsix-publish"},{name:"vss-extension.json",description:"JSON Schema for Azure DevOps Extensions",fileMatch:["vss-extension.json"],url:"https://json.schemastore.org/vss-extension"},{name:"WebExtensions",description:"JSON schema for WebExtension manifest files",fileMatch:["manifest.json"],url:"https://json.schemastore.org/webextension"},{name:"Web App Manifest",description:"Web Application manifest file",fileMatch:["manifest.json","*.webmanifest"],url:"https://json.schemastore.org/web-manifest-combined"},{name:"webjobs-list.json",description:"Azure Webjob list file",fileMatch:["webjobs-list.json"],url:"https://json.schemastore.org/webjobs-list"},{name:"webjobpublishsettings.json",description:"Azure Webjobs publish settings file",fileMatch:["webjobpublishsettings.json"],url:"https://json.schemastore.org/webjob-publish-settings"},{name:"Web types",description:"JSON standard for web component libraries metadata",fileMatch:["web-types.json","*.web-types.json"],url:"https://json.schemastore.org/web-types"},{name:"JSON-stat 2.0",description:"JSON-stat 2.0 Schema",url:"https://json-stat.org/format/schema/2.0/"},{name:"KSP-AVC",description:"The .version file format for KSP-AVC",fileMatch:["*.version"],url:"https://raw.githubusercontent.com/linuxgurugamer/KSPAddonVersionChecker/master/KSP-AVC.schema.json"},{name:"KSP-CKAN",description:"Metadata spec for KSP-CKAN",fileMatch:["*.ckan"],url:"https://raw.githubusercontent.com/KSP-CKAN/CKAN/master/CKAN.schema"},{name:"JSON Schema Draft 4",description:"Meta-validation schema for JSON Schema Draft 4",url:"https://json-schema.org/draft-04/schema"},{name:"JSON Schema Draft 7",description:"Meta-validation schema for JSON Schema Draft 7",url:"https://json-schema.org/draft-07/schema"},{name:"JSON Schema Draft 8",description:"Meta-validation schema for JSON Schema Draft 8",url:"https://json-schema.org/draft/2019-09/schema"},{name:"xunit.runner.json",description:"xUnit.net runner configuration file",fileMatch:["xunit.runner.json"],url:"https://json.schemastore.org/xunit.runner.schema"},{name:"servicehub.service.json",description:"Microsoft ServiceHub Service",fileMatch:["*.servicehub.service.json"],url:"https://json.schemastore.org/servicehub.service.schema"},{name:"servicehub.config.json",description:"Microsoft ServiceHub Configuration",fileMatch:["servicehub.config.json"],url:"https://json.schemastore.org/servicehub.config.schema"},{name:".cryproj engine-5.2",description:"A JSON schema for CRYENGINE projects (.cryproj files)",fileMatch:["*.cryproj"],url:"https://json.schemastore.org/cryproj.52.schema"},{name:".cryproj engine-5.3",description:"A JSON schema for CRYENGINE projects (.cryproj files)",fileMatch:["*.cryproj"],url:"https://json.schemastore.org/cryproj.53.schema"},{name:".cryproj engine-5.4",description:"A JSON schema for CRYENGINE projects (.cryproj files)",fileMatch:["*.cryproj"],url:"https://json.schemastore.org/cryproj.54.schema"},{name:".cryproj engine-5.5",description:"A JSON schema for CRYENGINE projects (.cryproj files)",fileMatch:["*.cryproj"],url:"https://json.schemastore.org/cryproj.55.schema"},{name:".cryproj engine-dev",description:"A JSON schema for CRYENGINE projects (.cryproj files)",fileMatch:["*.cryproj"],url:"https://json.schemastore.org/cryproj.dev.schema"},{name:".cryproj (generic)",description:"A JSON schema for CRYENGINE projects (.cryproj files)",fileMatch:["*.cryproj"],url:"https://json.schemastore.org/cryproj"},{name:"typedoc.json",description:"A JSON schema for the Typedoc configuration file",fileMatch:["typedoc.json"],url:"https://json.schemastore.org/typedoc"},{name:"huskyrc",description:"Husky can prevent bad `git commit`, `git push` and more \u{1F436} woof!",fileMatch:[".huskyrc",".huskyrc.json"],url:"https://json.schemastore.org/huskyrc"},{name:".lintstagedrc",description:"JSON schema for lint-staged config",fileMatch:[".lintstagedrc",".lintstagedrc.json"],url:"https://json.schemastore.org/lintstagedrc.schema"},{name:"mta.yaml",description:"A JSON schema for MTA projects v3.3",fileMatch:["mta.yaml","mta.yml"],url:"https://json.schemastore.org/mta"},{name:"mtad.yaml",description:"A JSON schema for MTA deployment descriptors v3.3",fileMatch:["mtad.yaml","mtad.yml"],url:"https://json.schemastore.org/mtad"},{name:".mtaext",description:"A JSON schema for MTA extension descriptors v3.3",fileMatch:["*.mtaext"],url:"https://json.schemastore.org/mtaext"},{name:"xs-app.json",description:"JSON schema for the SAP Application Router v8.2.2",fileMatch:["xs-app.json"],url:"https://json.schemastore.org/xs-app.json"},{name:"Opctl",description:"Opctl schema for describing an op",url:"https://json.schemastore.org/opspec-io-0.1.7",fileMatch:[".opspec/*/*.yml",".opspec/*/*.yaml"]},{name:"HEMTT",description:"HEMTT Project File",url:"https://json.schemastore.org/hemtt-0.6.2",fileMatch:["hemtt.json","hemtt.toml"],versions:{"0.6.2":"https://json.schemastore.org/hemtt-0.6.2"}},{name:"now",description:"ZEIT Now project configuration file",fileMatch:["now.json"],url:"https://json.schemastore.org/now"},{name:"taskcat",description:"taskcat",fileMatch:[".taskcat.yml"],url:"https://raw.githubusercontent.com/aws-quickstart/taskcat/master/taskcat/cfg/config_schema.json"},{name:"BizTalkServerApplicationSchema",description:"BizTalk server application inventory json file.",fileMatch:["BizTalkServerInventory.json"],url:"https://json.schemastore.org/BizTalkServerApplicationSchema"},{name:"httpmockrc",description:"Http-mocker is a tool for mock local requests or proxy remote requests.",fileMatch:[".httpmockrc",".httpmock.json"],url:"https://json.schemastore.org/httpmockrc"},{name:"neoload",description:"Neotys as-code load test specification, more at: https://github.com/Neotys-Labs/neoload-cli",fileMatch:[".nl.yaml",".nl.yml",".nl.json",".neoload.yaml",".neoload.yml",".neoload.json"],url:"https://raw.githubusercontent.com/Neotys-Labs/neoload-cli/master/resources/as-code.latest.schema.json"},{name:"release drafter",description:"Release Drafter configuration file",fileMatch:[".github/release-drafter.yml"],url:"https://raw.githubusercontent.com/release-drafter/release-drafter/master/schema.json"},{name:"zuul",description:"Zuul CI configuration file",fileMatch:["*zuul.d/*.yaml","*/.zuul.yaml"],url:"https://raw.githubusercontent.com/pycontribs/zuul-lint/master/zuul_lint/zuul-schema.json"},{name:"Briefcase",description:"Microsoft Briefcase configuration file",fileMatch:["briefcase.yaml"],url:"https://raw.githubusercontent.com/microsoft/Briefcase/master/mlbriefcase/briefcase-schema.json"},{name:"httparchive",description:"HTTP Archive",fileMatch:["*.har"],url:"https://raw.githubusercontent.com/ahmadnassri/har-schema/master/lib/har.json"},{name:"jsdoc",description:"JSDoc configuration file",fileMatch:["conf.js*","jsdoc.js*"],url:"https://json.schemastore.org/jsdoc-1.0.0"},{name:"Ray",description:"Ray autocluster configuration file",fileMatch:["ray-*-cluster.yaml"],url:"https://raw.githubusercontent.com/ray-project/ray/master/python/ray/autoscaler/ray-schema.json"},{name:"Hadolint",description:"A smarter Dockerfile linter that helps you build best practice Docker images.",fileMatch:[".hadolint.yaml","hadolint.yaml"],url:"https://json.schemastore.org/hadolint"},{name:"helmfile",description:"Helmfile is a declarative spec for deploying helm charts",fileMatch:["helmfile.yaml","helmfile.d/**/*.yaml"],url:"https://json.schemastore.org/helmfile"},{name:"Container Structure Test",description:"The Container Structure Tests provide a powerful framework to validate the structure of a container image.",fileMatch:["container-structure-test.yaml","structure-test.yaml"],url:"https://json.schemastore.org/container-structure-test"},{name:"\u017Dinoma",description:"\u017Dinoma incremental build configuration",fileMatch:["zinoma.yml"],url:"https://github.com/fbecart/zinoma/releases/latest/download/zinoma-schema.json"},{name:"Windows Package Manager",description:"Windows Package Manager Manifest file",url:"http://json.schemastore.org/winget-pkgs",fileMatch:["manifests/*/*/*.yaml"]},{name:".commitlintrc",description:"JSON schema for commitlint configuration files",fileMatch:[".commitlintrc",".commitlintrc.json"],url:"https://json.schemastore.org/commitlintrc"},{name:"Uniswap Token List",description:"A list of tokens compatible with the Uniswap Interface",fileMatch:["*.tokenlist.json"],url:"https://uniswap.org/tokenlist.schema.json"},{name:"Yippee-Ki-JSON configuration YML",description:"Action and rule configuration descriptor for Yippee-Ki-JSON transformations.",fileMatch:["**/yippee-*.yml","**/*.yippee.yml"],url:"https://raw.githubusercontent.com/nagyesta/yippee-ki-json/main/schema/yippee-ki-json_config_schema.json",versions:{"1.1.2":"https://raw.githubusercontent.com/nagyesta/yippee-ki-json/v1.1.2/schema/yippee-ki-json_config_schema.json",latest:"https://raw.githubusercontent.com/nagyesta/yippee-ki-json/main/schema/yippee-ki-json_config_schema.json"}},{name:"docker-compose.yml",description:"The Compose specification establishes a standard for the definition of multi-container platform-agnostic applications. ",fileMatch:["**/docker-compose.yml","**/docker-compose.yaml","**/docker-compose.*.yml","**/docker-compose.*.yaml","**/compose.yml","**/compose.yaml","**/compose.*.yml","**/compose.*.yaml"],url:"https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json"},{name:"devinit",description:"Devinit configuration file schema.",url:"https://json.schemastore.org/devinit.schema-2.0",fileMatch:["**/*devinit*.json"],versions:{"1.0":"https://json.schemastore.org/devinit.schema-1.0","2.0":"https://json.schemastore.org/devinit.schema-2.0"}},{name:"tsoa",description:"JSON Schema for the tsoa configuration file",url:"https://json.schemastore.org/tsoa",fileMatch:["**/tsoa.json"]},{name:"API Builder",description:"apibuilder.io schema",fileMatch:["**/api.json"],url:"http://json.schemastore.org/apibuilder.json"}],Li={$schema:qu,version:Ou,schemas:Du};var Al="/".charCodeAt(0),_r=".".charCodeAt(0);function Eu(e){let t=[];for(let n of e)n.length===0||n.length===1&&n.charCodeAt(0)===_r||(n.length===2&&n.charCodeAt(0)===_r&&n.charCodeAt(1)===_r?t.pop():t.push(n));e.length>1&&e[e.length-1].length===0&&t.push("");let r=t.join("/");return e[0].length===0&&(r="/"+r),r}function Fi(e,...t){let r=e.path.split("/");for(let n of t)r.push(...n.split("/"));return e.with({path:Eu(r)})}var Au="http://json-schema.org/draft-07/schema#",Iu="object",Lu={configurationEntry:{defaultSnippets:[{body:{title:"${1}",properties:{}}}],properties:{title:{type:"string",description:"A summary of the settings."},properties:{description:"Description of the configuration properties.",type:"object",propertyNames:{pattern:"\\S+",patternErrorMessage:"Property should not be empty."},additionalProperties:{anyOf:[{$ref:"http://json-schema.org/draft-07/schema#"},{type:"object",properties:{scope:{type:"string",enum:["application","machine","window","resource","language-overridable","machine-overridable"],default:"window",enumDescriptions:["Configuration that can be configured only in the user settings.","Configuration that can be configured only in the user settings or only in the remote settings.","Configuration that can be configured in the user, remote or workspace settings.","Configuration that can be configured in the user, remote, workspace or folder settings.","Resource configuration that can be configured in language specific settings.","Machine configuration that can be configured also in workspace or folder settings."],description:"Scope in which the configuration is applicable. Available scopes are `application`, `machine`, `window`, `resource`, and `machine-overridable`."},enumDescriptions:{type:"array",items:{type:"string"},description:"Descriptions for enum values"},markdownEnumDescriptions:{type:"array",items:{type:"string"},description:"Descriptions for enum values in the markdown format."},markdownDescription:{type:"string",description:"The description in the markdown format."},deprecationMessage:{type:"string",description:"If set, the property is marked as deprecated and the given message is shown as an explanation."},markdownDeprecationMessage:{type:"string",description:"If set, the property is marked as deprecated and the given message is shown as an explanation in the markdown format."}}}]}}}}},Fu={engines:{type:"object",properties:{coc:{type:"string",defaultSnippets:[{body:"^${1:version}"},{body:">=${1:version}"}]}}},activationEvents:{type:"array",items:{type:"string",defaultSnippets:[{body:"onLanguage:${1:language}"},{body:"onCommand:${1:command}"},{body:"workspaceContains${1:filepath}"},{body:"onFileSystem${1:scheme}"},{body:"*"}]}},contributes:{type:"object",description:"Extension contributes definitions, including commands, configuration and jsonValidation.",properties:{rootPatterns:{type:"array",items:{type:"object",defaultSnippets:[{body:{filetype:"${1:filetype}",patterns:[]}}],properties:{filetype:{type:"string"},patterns:{type:"array",items:{type:"string"}}},required:["filetype","patterns"]}},commands:{type:"array",description:"Contributes extension commands.",items:{type:"object",defaultSnippets:[{body:{title:"${1:Title}",command:"${2:command}"}}],properties:{title:{type:"string",description:"Command title."},command:{type:"string",description:"Command id."}}}},configuration:{type:"object",description:"Contributes configuration settings.",oneOf:[{$ref:"#/definitions/configurationEntry"},{type:"array",items:{$ref:"#/definitions/configurationEntry"}}]},jsonValidation:{type:"array",description:"Contributes json schema configuration.",items:{type:"object",defaultSnippets:[{body:{fileMatch:"${1:file.json}",url:"${2:url}"}}],properties:{fileMatch:{type:["string","array"],description:"The file pattern (or an array of patterns) to match, for example 'package.json' or '*.launch'. Exclusion patterns start with '!'",items:{type:["string"]}},url:{description:"A schema URL ('http:', 'https:') or relative path to the extension folder ('./').",type:"string"}}}}}}},Ji={$schema:Au,type:Iu,definitions:Lu,properties:Fu};"use strict";function tn(e,t=0){switch(typeof e){case"object":return e===null?Te(349,t):Array.isArray(e)?Wu(e,t):zu(e,t);case"string":return Wi(e,t);case"boolean":return Ju(e,t);case"number":return Te(e,t);case"undefined":return Te(e,937);default:return Te(e,617)}}function Te(e,t){return(t<<5)-t+e|0}function Ju(e,t){return Te(e?433:863,t)}function Wi(e,t){t=Te(149417,t);for(let r=0,n=e.length;r<n;r++)t=Te(e.charCodeAt(r),t);return t}function Wu(e,t){return t=Te(104579,t),e.reduce((r,n)=>tn(n,r),t)}function zu(e,t){return t=Te(181387,t),Object.keys(e).sort().reduce((r,n)=>(r=Wi(n,r),tn(e[n],r)),t)}var kr;(function(t){t.type=new v.RequestType("json/validate")})(kr||(kr={}));var Mr;(function(t){t.type=new v.RequestType("vscode/content")})(Mr||(Mr={}));var Cr;(function(t){t.type=new v.NotificationType("json/schemaContent")})(Cr||(Cr={}));var Dt;(function(t){t.type=new v.NotificationType("json/schemaAssociations")})(Dt||(Dt={}));var rn;(function(n){n.enableFormatter="json.format.enable",n.enableSchemaDownload="json.schemaDownload.enable",n.maxItemsComputed="json.maxItemsComputed"})(rn||(rn={}));async function Uu(e){let{subscriptions:t,logger:r}=e,n=Bu(),o=v.workspace.getConfiguration().get("json",{});if(!o.enable)return;let s=e.asAbsolutePath(Ot.default.join("node_modules","vscode-json-languageserver","out","node","jsonServerMain.js")),c=["json","jsonc"],p=new Map;v.events.on("BufEnter",R=>{let h=v.workspace.getDocument(R);if(!h)return;let A=p.get(h.uri);A&&b.outputChannel.appendLine(`Schema error: ${A}`)},null,t);let g={module:s,transport:v.TransportKind.ipc,options:{cwd:v.workspace.root,execArgv:o.execArgv}},m={documentSelector:c,synchronize:{configurationSection:["json","http"],fileEvents:v.workspace.createFileSystemWatcher("**/*.json")},initializationOptions:{handledSchemaProtocols:["file"],customCapabilities:{rangeFormatting:{editLimit:1e3}}},outputChannelName:"json",diagnosticCollectionName:"json",middleware:{workspace:{didChangeConfiguration:()=>b.sendNotification(nn.DidChangeConfigurationNotification.type,{settings:$u()})},handleDiagnostics:(R,h,A)=>{let q=h.findIndex(O=>O.code===768);if(R.endsWith("coc-settings.json")&&(h=h.filter(O=>O.code!=521)),q===-1)return p.delete(R.toString()),A(R,h);let C=h[q];p.set(R.toString(),C.message);let F=v.workspace.getDocument(R);F&&F.uri==R&&b.outputChannel.appendLine(`Schema error: ${C.message}`),A(R,h)},resolveCompletionItem:(R,h,A)=>Promise.resolve(A(R,h)).then(q=>(q.data.detail&&(q.detail=q.data.detail),q)),provideCompletionItem:(R,h,A,q,C)=>Promise.resolve(C(R,h,A,q)).then(F=>{let O=v.workspace.getDocument(R.uri);if(!O)return[];let oe=F.hasOwnProperty("isIncomplete")?F.items:F,D=O.getline(h.line);for(let ce of oe){let{textEdit:ye,insertText:Ee,label:Ae,filterText:ve}=ce;if(ce.insertText=null,ye&&ye.newText){let Se=Ee||ye.newText;ye.newText=Se;let{start:Et,end:on}=ye.range;D[Et.character]&&D[on.character-1]&&/^".*"$/.test(Ae)&&(ce.label=ce.label.slice(1,-1))}ve&&/^".*"$/.test(ve)&&(ce.filterText=ve.slice(1,-1))}let ie={isIncomplete:!1,items:oe};return oe.length&&oe.every(ce=>ce.kind==v.CompletionItemKind.Property)&&(ie.startcol=O.fixStartcol(h,["."])),ie})}},b=new v.LanguageClient("json","Json language server",g,m);t.push(v.services.registLanguageClient(b)),b.onReady().then(()=>{b.sendNotification(Dt.type,Pr(e)),v.extensions.onDidUnloadExtension(()=>{b.sendNotification(Dt.type,Pr(e))},null,t),v.extensions.onDidLoadExtension(()=>{b.sendNotification(Dt.type,Pr(e))},null,t);let R=!0;function h(){R=v.workspace.getConfiguration().get(rn.enableSchemaDownload)!==!1}h(),v.workspace.onDidChangeConfiguration(C=>{C.affectsConfiguration(rn.enableSchemaDownload)&&h()},null,t);let A={};b.onRequest(Mr.type,async C=>{let F=qt.parse(C);if(F.scheme==="untitled")return Promise.reject(new nn.ResponseError(3,`Unable to load ${F.scheme}`));if(C=="vscode://settings"){let O=await Bi.promisify(zi.default.readFile)(Ot.default.join(v.workspace.pluginRoot,"data/schema.json"),"utf8"),oe=JSON.parse(O),D=Object.assign({},oe);D.properties=D.properties||{};let ie=v.extensions.schemes;return ie&&Object.assign(D.properties,ie),v.extensions.all.forEach(ce=>{let{packageJSON:ye}=ce,{contributes:Ee}=ye;if(!Ee)return;let{configuration:Ae}=Ee;if(Ae){let{properties:ve,definitions:Se}=Ae;ve&&Object.assign(D.properties,ve),Se&&Object.assign(D.definitions,Se)}}),JSON.stringify(D)}if(C=="vscode://schemas/vscode-extensions")return JSON.stringify(Ji);if(F.scheme!=="http"&&F.scheme!=="https"){let O=await v.workspace.loadFile(C);return A[F.toString()]=!0,O.getDocumentContent()}else{if(R)return await Promise.resolve(n.getContent(C));r.warn("Schema download disabled!")}return"{}"});let q=C=>A[C]?(b.sendNotification(Cr.type,C),!0):!1;v.workspace.onDidChangeTextDocument(C=>q(C.textDocument.uri)),v.workspace.onDidCloseTextDocument(C=>{let F=C.uri;q(F)&&delete A[F],p.delete(C.uri)},null,t)},R=>{});let _=v.window.createStatusBarItem(0,{progress:!0});t.push(_),t.push(v.commands.registerCommand("json.retryResolveSchema",async()=>{let R=await v.workspace.document;!R||["json","jsonc"].indexOf(R.filetype)==-1||(_.isProgress=!0,_.text="loading schema",_.show(),b.sendRequest(kr.type,R.uri).then(h=>{_.text="\u26A0\uFE0F",_.isProgress=!1;let A=h.findIndex(q=>q.code===768);if(A!==-1){let q=h[A];p.set(R.uri,q.message),_.show()}else _.hide()},()=>{_.show(),_.isProgress=!1,_.text="\u26A0\uFE0F"}))}))}function $u(){let e=v.workspace.getConfiguration("http"),t={http:{proxy:e.get("proxy"),proxyStrictSSL:e.get("proxyStrictSSL")},json:{format:v.workspace.getConfiguration("json").get("format"),schemas:[]}},r=Object.create(null),n=(s,c,p)=>{for(let g of s){let m=Hu(g,c);if(!m)continue;let b=r[m];b||(b=r[m]={url:m,fileMatch:[]},t.json.schemas.push(b));let _=g.fileMatch,R=b.fileMatch;if(Array.isArray(_))if(p)for(let h of _)h[0]==="/"?(R.push(p+h),R.push(p+"/*"+h)):(R.push(p+"/"+h),R.push(p+"/*/"+h));else R.push(..._);g.schema&&(b.schema=g.schema)}},o=v.workspace.getConfiguration("json",null).get("schemas");return Array.isArray(o)&&n(o,v.workspace.root),t}function Hu(e,t){let r=e.url;return r?t&&(r[0]==="."||r[0]==="/")&&(r=qt.file(Ot.default.normalize(Ot.default.join(t,r))).toString()):e.schema&&(r=e.schema.id||`vscode://schemas/custom/${encodeURIComponent(tn(e.schema).toString(16))}`),r}function Bu(){return{getContent(e,t){return v.fetch(e,{headers:{"Accept-Encoding":"gzip, deflate"}}).then(n=>typeof n=="string"?n:Buffer.isBuffer(n)?$i.default(n.toString("utf8")):JSON.stringify(n))}}}function Pr(e){let t=[];t.push({fileMatch:["coc-settings.json"],uri:"vscode://settings"});for(let r of Li.schemas){let{fileMatch:n,url:o}=r;Array.isArray(n)?t.push({fileMatch:n,uri:o}):typeof n=="string"&&t.push({fileMatch:[n],uri:o})}return v.extensions.all.forEach(r=>{let n=r.packageJSON;if(n&&n.contributes&&n.contributes.jsonValidation){let o=n.contributes.jsonValidation;Array.isArray(o)&&o.forEach(s=>{let{fileMatch:c,url:p}=s;if(typeof c=="string"&&(c=[c]),Array.isArray(c)&&typeof p=="string"){let g=p;g[0]==="."&&g[1]==="/"&&(g=Fi(qt.file(r.extensionPath),g).toString()),c=c.map(m=>(m[0]==="%"?(m=m.replace(/%APP_SETTINGS_HOME%/,"/User"),m=m.replace(/%MACHINE_SETTINGS_HOME%/,"/Machine"),m=m.replace(/%APP_WORKSPACES_HOME%/,"/Workspaces")):m.match(/^(\w+:\/\/|\/|!)/)||(m="/"+m),m)),t.push({fileMatch:c,uri:g})}})}}),typeof v.languages.registerDocumentSemanticTokensProvider=="undefined"?[t]:t}
+//# sourceMappingURL=index.js.map