/*!--------------------------------------------------------
 * Copyright (C) Microsoft Corporation. All rights reserved.
 *--------------------------------------------------------*/
(function(){var e=["exports","require","vs/base/common/lifecycle","vs/base/common/event","vs/base/common/errors","vs/base/common/buffer","vs/base/common/functional","vs/base/parts/ipc/common/ipc","vs/base/common/cancellation","vs/base/common/process","vs/base/common/platform","vs/base/common/iterator","vs/base/common/async","vs/base/common/stream","vs/base/common/strings","vs/base/common/linkedList","vs/base/common/uuid","vs/base/common/path","vs/base/parts/ipc/common/ipc.net","vs/base/parts/ipc/node/ipc.net","net","os","vs/platform/driver/node/driver"],t=function(t){for(var n=[],s=0,i=t.length;s<i;s++)n[s]=e[t[s]];return n};define(e[4],t([1,0]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{if(e.stack)throw new Error(e.message+"\n\n"+e.stack);throw e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}
_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}t.ErrorHandler=n,t.errorHandler=new n,t.setUnexpectedErrorHandler=function(e){t.errorHandler.setUnexpectedErrorHandler(e)},t.onUnexpectedError=function(e){i(e)||t.errorHandler.onUnexpectedError(e)},t.onUnexpectedExternalError=function(e){i(e)||t.errorHandler.onUnexpectedExternalError(e)},t.transformErrorForSerialization=function(e){if(e instanceof Error){let{name:t,message:n}=e;return{$isError:!0,name:t,message:n,stack:e.stacktrace||e.stack}}return e};const s="Canceled";function i(e){return e instanceof Error&&e.name===s&&e.message===s}t.isPromiseCanceledError=i,t.canceled=function(){const e=new Error(s);return e.name=e.message,e},t.illegalArgument=function(e){
return e?new Error(`Illegal argument: ${e}`):new Error("Illegal argument")},t.illegalState=function(e){return e?new Error(`Illegal state: ${e}`):new Error("Illegal state")},t.readonly=function(e){return e?new Error(`readonly property '${e} cannot be changed'`):new Error("readonly property cannot be changed")},t.disposed=function(e){const t=new Error(`${e} has been disposed`);return t.name="DISPOSED",t},t.getErrorMessage=function(e){return e?e.message?e.message:e.stack?e.stack.split("\n")[0]:String(e):"Error"};class r extends Error{constructor(e){super("NotImplemented"),e&&(this.message=e)}}t.NotImplementedError=r})),define(e[6],t([1,0]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.once=function(e){const t=this;let n,s=!1;return function(){return s?n:(s=!0,n=e.apply(t,arguments))}}})),define(e[11],t([1,0]),(function(e,t){"use strict";var n;Object.defineProperty(t,"__esModule",{value:!0}),t.FIN={done:!0,value:void 0},function(e){const n={next:()=>t.FIN};e.empty=function(){
return n},e.single=function(e){let n=!1;return{next:()=>n?t.FIN:(n=!0,{done:!1,value:e})}},e.fromArray=function(e,n=0,s=e.length){return{next:()=>n>=s?t.FIN:{done:!1,value:e[n++]}}},e.fromNativeIterator=function(e){return{next(){const n=e.next();return n.done?t.FIN:{done:!1,value:n.value}}}},e.from=function(t){return t?Array.isArray(t)?e.fromArray(t):t:e.empty()},e.map=function(e,n){return{next(){const s=e.next();return s.done?t.FIN:{done:!1,value:n(s.value)}}}},e.filter=function(e,n){return{next(){for(;;){const s=e.next();if(s.done)return t.FIN;if(n(s.value))return{done:!1,value:s.value}}}}},e.forEach=function(e,t){for(let n=e.next();!n.done;n=e.next())t(n.value)},e.collect=function(e,t=Number.POSITIVE_INFINITY){const n=[];if(0===t)return n;let s=0;for(let i=e.next();!i.done&&(n.push(i.value),!(++s>=t));i=e.next());return n},e.concat=function(...e){let n=0;return{next(){if(n>=e.length)return t.FIN;const s=e[n].next();return s.done?(n++,this.next()):s}}},e.chain=function(e){return new s(e)}
}(n=t.Iterator||(t.Iterator={}));class s{constructor(e){this.it=e}next(){return this.it.next()}map(e){return new s(n.map(this.it,e))}filter(e){return new s(n.filter(this.it,e))}}t.ChainableIterator=s,t.getSequenceIterator=function(e){return Array.isArray(e)?n.fromArray(e):e||n.empty()};class i{constructor(e,t=0,n=e.length,s=t-1){this.items=e,this.start=t,this.end=n,this.index=s}first(){return this.index=this.start,this.current()}next(){return this.index=Math.min(this.index+1,this.end),this.current()}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}}t.ArrayIterator=i;t.ArrayNavigator=class extends i{constructor(e,t=0,n=e.length,s=t-1){super(e,t,n,s)}current(){return super.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}parent(){return null}};class r{constructor(e,t){this.iterator=e,this.fn=t}next(){
return this.fn(this.iterator.next())}}t.MappedIterator=r;t.MappedNavigator=class extends r{constructor(e,t){super(e,t),this.navigator=e}current(){return this.fn(this.navigator.current())}previous(){return this.fn(this.navigator.previous())}parent(){return this.fn(this.navigator.parent())}first(){return this.fn(this.navigator.first())}last(){return this.fn(this.navigator.last())}next(){return this.fn(this.navigator.next())}}})),define(e[2],t([1,0,6]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=!1,i="__is_disposable_tracked__";function r(e){if(s&&e&&e!==h.None)try{e[i]=!0}catch(e){}}function o(e){if(!s)return e;const t=new Error("Potentially leaked disposable").stack;return setTimeout(()=>{e[i]||console.log(t)},3e3),e}function a(e){return Array.isArray(e)?(e.forEach(e=>{e&&(r(e),e.dispose())}),[]):e?(r(e),e.dispose(),e):void 0}t.isDisposable=function(e){return"function"==typeof e.dispose&&0===e.dispose.length},t.dispose=a,t.combinedDisposable=function(...e){
return e.forEach(r),o({dispose:()=>a(e)})},t.toDisposable=function(e){const t=o({dispose:()=>{r(t),e()}});return t};class c{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(r(this),this._isDisposed=!0,this.clear())}clear(){this._toDispose.forEach(e=>e.dispose()),this._toDispose.clear()}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return r(e),this._isDisposed?console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}}t.DisposableStore=c;class h{constructor(){this._store=new c,o(this)}dispose(){r(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}t.Disposable=h,h.None=Object.freeze({dispose(){}});t.MutableDisposable=class{constructor(){this._isDisposed=!1,o(this)}get value(){return this._isDisposed?void 0:this._value}
set value(e){this._isDisposed||e===this._value||(this._value&&this._value.dispose(),e&&r(e),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,r(this),this._value&&this._value.dispose(),this._value=void 0}};t.ReferenceCollection=class{constructor(){this.references=new Map}acquire(e){let t=this.references.get(e);t||(t={counter:0,object:this.createReferencedObject(e)},this.references.set(e,t));const{object:s}=t,i=n.once(()=>{0==--t.counter&&(this.destroyReferencedObject(e,t.object),this.references.delete(e))});return t.counter++,{object:s,dispose:i}}};t.ImmortalReference=class{constructor(e){this.object=e}dispose(){}}})),define(e[15],t([1,0,11]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class s{constructor(e){this.element=e,this.next=s.Undefined,this.prev=s.Undefined}}s.Undefined=new s(void 0);t.LinkedList=class{constructor(){this._first=s.Undefined,this._last=s.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===s.Undefined
}clear(){this._first=s.Undefined,this._last=s.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){const n=new s(e);if(this._first===s.Undefined)this._first=n,this._last=n;else if(t){const e=this._last;this._last=n,n.prev=e,e.next=n}else{const e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let i=!1;return()=>{i||(i=!0,this._remove(n))}}shift(){if(this._first!==s.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==s.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==s.Undefined&&e.next!==s.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===s.Undefined&&e.next===s.Undefined?(this._first=s.Undefined,this._last=s.Undefined):e.next===s.Undefined?(this._last=this._last.prev,this._last.next=s.Undefined):e.prev===s.Undefined&&(this._first=this._first.next,this._first.prev=s.Undefined);this._size-=1}iterator(){let e,t=this._first;return{
next:()=>t===s.Undefined?n.FIN:(e?e.value=t.element:e={done:!1,value:t.element},t=t.next,e)}}toArray(){const e=[];for(let t=this._first;t!==s.Undefined;t=t.next)e.push(t.element);return e}}})),define(e[3],t([1,0,4,6,2,15]),(function(e,t,n,s,i,r){"use strict";var o;Object.defineProperty(t,"__esModule",{value:!0}),function(e){function t(e){return(t,n=null,s)=>{let i,r=!1;return i=e(e=>{if(!r)return i?i.dispose():r=!0,t.call(n,e)},null,s),r&&i.dispose(),i}}function n(e,t){return a((n,s=null,i)=>e(e=>n.call(s,t(e)),null,i))}function s(e,t){return a((n,s=null,i)=>e(e=>{t(e),n.call(s,e)},null,i))}function r(e,t){return a((n,s=null,i)=>e(e=>t(e)&&n.call(s,e),null,i))}function o(e,t,s){let i=s;return n(e,e=>i=t(i,e))}function a(e){let t;const n=new h({onFirstListenerAdd(){t=e(n.fire,n)},onLastListenerRemove(){t.dispose()}});return n.event}function c(e,t,n=100,s=!1,i){let r,o=void 0,a=void 0,c=0;const l=new h({leakWarningThreshold:i,onFirstListenerAdd(){r=e(e=>{c++,o=t(o,e),s&&!a&&l.fire(o),clearTimeout(a),
a=setTimeout(()=>{const e=o;o=void 0,a=void 0,(!s||c>1)&&l.fire(e),c=0},n)})},onLastListenerRemove(){r.dispose()}});return l.event}function l(e){let t,n=!0;return r(e,e=>{const s=n||e!==t;return n=!1,t=e,s})}e.None=()=>i.Disposable.None,e.once=t,e.map=n,e.forEach=s,e.filter=r,e.signal=function(e){return e},e.any=function(...e){return(t,n=null,s)=>i.combinedDisposable(...e.map(e=>e(e=>t.call(n,e),null,s)))},e.reduce=o,e.snapshot=a,e.debounce=c,e.stopwatch=function(e){const s=(new Date).getTime();return n(t(e),e=>(new Date).getTime()-s)},e.latch=l,e.buffer=function(e,t=!1,n=[]){let s=n.slice(),i=e(e=>{s?s.push(e):o.fire(e)});const r=()=>{s&&s.forEach(e=>o.fire(e)),s=null},o=new h({onFirstListenerAdd(){i||(i=e(e=>o.fire(e)))},onFirstListenerDidAdd(){s&&(t?setTimeout(r):r())},onLastListenerRemove(){i&&i.dispose(),i=null}});return o.event};class u{constructor(e){this.event=e}map(e){return new u(n(this.event,e))}forEach(e){return new u(s(this.event,e))}filter(e){return new u(r(this.event,e))}reduce(e,t){
return new u(o(this.event,e,t))}latch(){return new u(l(this.event))}debounce(e,t=100,n=!1,s){return new u(c(this.event,e,t,n,s))}on(e,t,n){return this.event(e,t,n)}once(e,n,s){return t(this.event)(e,n,s)}}e.chain=function(e){return new u(e)},e.fromNodeEventEmitter=function(e,t,n=(e=>e)){const s=(...e)=>i.fire(n(...e)),i=new h({onFirstListenerAdd:()=>e.on(t,s),onLastListenerRemove:()=>e.removeListener(t,s)});return i.event},e.fromDOMEventEmitter=function(e,t,n=(e=>e)){const s=(...e)=>i.fire(n(...e)),i=new h({onFirstListenerAdd:()=>e.addEventListener(t,s),onLastListenerRemove:()=>e.removeEventListener(t,s)});return i.event},e.fromPromise=function(e){const t=new h;let n=!1;return e.then(void 0,()=>null).then(()=>{n?t.fire(void 0):setTimeout(()=>t.fire(void 0),0)}),n=!0,t.event},e.toPromise=function(e){return new Promise(n=>t(e)(n))}}(o=t.Event||(t.Event={}));let a=-1;t.setGlobalLeakWarningThreshold=function(e){const t=a;return a=e,{dispose(){a=t}}};class c{constructor(e,t=Math.random().toString(18).slice(2,5)){
this.customThreshold=e,this.name=t,this._warnCountdown=0}dispose(){this._stacks&&this._stacks.clear()}check(e){let t=a;if("number"==typeof this.customThreshold&&(t=this.customThreshold),t<=0||e<t)return;this._stacks||(this._stacks=new Map);const n=(new Error).stack.split("\n").slice(3).join("\n"),s=this._stacks.get(n)||0;if(this._stacks.set(n,s+1),this._warnCountdown-=1,this._warnCountdown<=0){let n;this._warnCountdown=.5*t;let s=0;this._stacks.forEach((e,t)=>{(!n||s<e)&&(n=t,s=e)}),console.warn(`[${this.name}] potential listener LEAK detected, having ${e} listeners already. MOST frequent listener (${s}):`),console.warn(n)}return()=>{const e=this._stacks.get(n)||0;this._stacks.set(n,e-1)}}}class h{constructor(e){this._disposed=!1,this._options=e,this._leakageMon=a>0?new c(this._options&&this._options.leakWarningThreshold):void 0}get event(){return this._event||(this._event=(e,t,n)=>{this._listeners||(this._listeners=new r.LinkedList);const s=this._listeners.isEmpty()
;s&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const o=this._listeners.push(t?[e,t]:e);let a,c;return s&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,e,t),this._leakageMon&&(a=this._leakageMon.check(this._listeners.size)),c={dispose:()=>{if(a&&a(),c.dispose=h._noop,!this._disposed&&(o(),this._options&&this._options.onLastListenerRemove)){this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)}}},n instanceof i.DisposableStore?n.add(c):Array.isArray(n)&&n.push(c),c}),this._event}fire(e){if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new r.LinkedList);for(let t=this._listeners.iterator(),n=t.next();!n.done;n=t.next())this._deliveryQueue.push([n.value,e]);for(;this._deliveryQueue.size>0;){const[e,t]=this._deliveryQueue.shift();try{"function"==typeof e?e.call(void 0,t):e[0].call(e[1],t)
}catch(e){n.onUnexpectedError(e)}}}}dispose(){this._listeners&&this._listeners.clear(),this._deliveryQueue&&this._deliveryQueue.clear(),this._leakageMon&&this._leakageMon.dispose(),this._disposed=!0}}t.Emitter=h,h._noop=function(){};t.PauseableEmitter=class extends h{constructor(e){super(e),this._isPaused=0,this._eventQueue=new r.LinkedList,this._mergeFn=e&&e.merge}pause(){this._isPaused++}resume(){if(0!==this._isPaused&&0==--this._isPaused)if(this._mergeFn){const e=this._eventQueue.toArray();this._eventQueue.clear(),super.fire(this._mergeFn(e))}else for(;!this._isPaused&&0!==this._eventQueue.size;)super.fire(this._eventQueue.shift())}fire(e){this._listeners&&(0!==this._isPaused?this._eventQueue.push(e):super.fire(e))}};t.AsyncEmitter=class extends h{async fireAsync(e,t,s){if(this._listeners){this._asyncDeliveryQueue||(this._asyncDeliveryQueue=new r.LinkedList);for(let t=this._listeners.iterator(),n=t.next();!n.done;n=t.next())this._asyncDeliveryQueue.push([n.value,e])
;for(;this._asyncDeliveryQueue.size>0&&!t.isCancellationRequested;){const[e,t]=this._asyncDeliveryQueue.shift(),i=[],r=Object.assign(Object.assign({},t),{waitUntil:t=>{if(Object.isFrozen(i))throw new Error("waitUntil can NOT be called asynchronous");s&&(t=s(t,"function"==typeof e?e:e[0])),i.push(t)}});try{"function"==typeof e?e.call(void 0,r):e[0].call(e[1],r)}catch(e){n.onUnexpectedError(e);continue}Object.freeze(i),await Promise.all(i).catch(e=>n.onUnexpectedError(e))}}}};t.EventMultiplexer=class{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new h({onFirstListenerAdd:()=>this.onFirstListenerAdd(),onLastListenerRemove:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};this.events.push(t),this.hasListeners&&this.hook(t);return i.toDisposable(s.once(()=>{this.hasListeners&&this.unhook(t);const e=this.events.indexOf(t);this.events.splice(e,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}
onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(e=>this.emitter.fire(e))}unhook(e){e.listener&&e.listener.dispose(),e.listener=null}dispose(){this.emitter.dispose()}};t.EventBufferer=class{constructor(){this.buffers=[]}wrapEvent(e){return(t,n,s)=>e(e=>{const s=this.buffers[this.buffers.length-1];s?s.push(()=>t.call(n,e)):t.call(n,e)},void 0,s)}bufferEvents(e){const t=[];this.buffers.push(t);const n=e();return this.buffers.pop(),t.forEach(e=>e()),n}};t.Relay=class{constructor(){this.listening=!1,this.inputEvent=o.None,this.inputEventListener=i.Disposable.None,this.emitter=new h({onFirstListenerDidAdd:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onLastListenerRemove:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}
dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}})),define(e[8],t([1,0,3]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=Object.freeze((function(e,t){const n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}));var i;!function(e){e.isCancellationToken=function(t){return t===e.None||t===e.Cancelled||(t instanceof r||!(!t||"object"!=typeof t)&&("boolean"==typeof t.isCancellationRequested&&"function"==typeof t.onCancellationRequested))},e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:s})}(i=t.CancellationToken||(t.CancellationToken={}));class r{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){
return this._isCancelled?s:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}t.CancellationTokenSource=class{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new r),this._token}cancel(){this._token?this._token instanceof r&&this._token.cancel():this._token=i.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener&&this._parentListener.dispose(),this._token?this._token instanceof r&&this._token.dispose():this._token=i.None}}})),define(e[12],t([1,0,8,4,3,2]),(function(e,t,n,s,i,r){"use strict";function o(e){return e&&"function"==typeof e.then}function a(e){const t=new n.CancellationTokenSource,i=e(t.token),r=new Promise((e,n)=>{t.token.onCancellationRequested(()=>{n(s.canceled())}),Promise.resolve(i).then(n=>{t.dispose(),e(n)},e=>{t.dispose(),n(e)})});return new class{cancel(){t.cancel()}
then(e,t){return r.then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return r.finally(e)}}}Object.defineProperty(t,"__esModule",{value:!0}),t.isThenable=o,t.createCancelablePromise=a,t.raceCancellation=function(e,t,n){return Promise.race([e,new Promise(e=>t.onCancellationRequested(()=>e(n)))])},t.asPromise=function(e){return new Promise((t,n)=>{const s=e();o(s)?s.then(t,n):t(s)})};class c{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const e=()=>{this.queuedPromise=null;const e=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,e};this.queuedPromise=new Promise(t=>{this.activePromise.then(e,e).then(t)})}return new Promise((e,t)=>{this.queuedPromise.then(e,t)})}return this.activePromise=e(),new Promise((e,t)=>{this.activePromise.then(t=>{this.activePromise=null,e(t)},e=>{this.activePromise=null,t(e)})})}}t.Throttler=c;t.Sequencer=class{constructor(){
this.current=Promise.resolve(null)}queue(e){return this.current=this.current.then(()=>e())}};class h{constructor(e){this.defaultDelay=e,this.timeout=null,this.completionPromise=null,this.doResolve=null,this.task=null}trigger(e,t=this.defaultDelay){return this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((e,t)=>{this.doResolve=e,this.doReject=t}).then(()=>{this.completionPromise=null,this.doResolve=null;const e=this.task;return this.task=null,e()})),this.timeout=setTimeout(()=>{this.timeout=null,this.doResolve(null)},t),this.completionPromise}isTriggered(){return null!==this.timeout}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject(s.canceled()),this.completionPromise=null)}cancelTimeout(){null!==this.timeout&&(clearTimeout(this.timeout),this.timeout=null)}dispose(){this.cancelTimeout()}}t.Delayer=h;t.ThrottledDelayer=class{constructor(e){this.delayer=new h(e),this.throttler=new c}trigger(e,t){
return this.delayer.trigger(()=>this.throttler.queue(e),t)}isTriggered(){return this.delayer.isTriggered()}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose()}};function l(e,t){return t?new Promise((n,i)=>{const r=setTimeout(n,e);t.onCancellationRequested(()=>{clearTimeout(r),i(s.canceled())})}):a(t=>l(e,t))}t.Barrier=class{constructor(){this._isOpen=!1,this._promise=new Promise((e,t)=>{this._completePromise=e})}isOpen(){return this._isOpen}open(){this._isOpen=!0,this._completePromise(!0)}wait(){return this._promise}},t.timeout=l,t.disposableTimeout=function(e,t=0){const n=setTimeout(e,t);return r.toDisposable(()=>clearTimeout(n))},t.ignoreErrors=function(e){return e.then(void 0,e=>void 0)},t.sequence=function(e){const t=[];let n=0;const s=e.length;return Promise.resolve(null).then((function i(r){null!=r&&t.push(r);const o=n<s?e[n++]():null;return o?o.then(i):Promise.resolve(t)}))},t.first=function(e,t=(e=>!!e),n=null){let s=0;const i=e.length,r=()=>{if(s>=i)return Promise.resolve(n)
;const o=e[s++];return Promise.resolve(o()).then(e=>t(e)?Promise.resolve(e):r())};return r()};class u{constructor(e){this._size=0,this.maxDegreeOfParalellism=e,this.outstandingPromises=[],this.runningPromises=0,this._onFinished=new i.Emitter}get onFinished(){return this._onFinished.event}get size(){return this._size}queue(e){return this._size++,new Promise((t,n)=>{this.outstandingPromises.push({factory:e,c:t,e:n}),this.consume()})}consume(){for(;this.outstandingPromises.length&&this.runningPromises<this.maxDegreeOfParalellism;){const e=this.outstandingPromises.shift();this.runningPromises++;const t=e.factory();t.then(e.c,e.e),t.then(()=>this.consumed(),()=>this.consumed())}}consumed(){this._size--,this.runningPromises--,this.outstandingPromises.length>0?this.consume():this._onFinished.fire()}dispose(){this._onFinished.dispose()}}t.Limiter=u;class d extends u{constructor(){super(1)}}t.Queue=d;t.ResourceQueue=class{constructor(){this.queues=new Map}queueFor(e){const t=e.toString();if(!this.queues.has(t)){
const e=new d;e.onFinished(()=>{e.dispose(),this.queues.delete(t)}),this.queues.set(t,e)}return this.queues.get(t)}};t.TimeoutTimer=class{constructor(e,t){this._token=-1,"function"==typeof e&&"number"==typeof t&&this.setIfNotSet(e,t)}dispose(){this.cancel()}cancel(){-1!==this._token&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){-1===this._token&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}};t.IntervalTimer=class{constructor(){this._token=-1}dispose(){this.cancel()}cancel(){-1!==this._token&&(clearInterval(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setInterval(()=>{e()},t)}};class f{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),
this.timeoutToken=setTimeout(this.timeoutHandler,e)}isScheduled(){return-1!==this.timeoutToken}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){this.runner&&this.runner()}}t.RunOnceScheduler=f;t.RunOnceWorker=class extends f{constructor(e,t){super(e,t),this.units=[]}work(e){this.units.push(e),this.isScheduled()||this.schedule()}doRun(){const e=this.units;this.units=[],this.runner&&this.runner(e)}dispose(){this.units=[],super.dispose()}},function(){if("function"!=typeof requestIdleCallback||"function"!=typeof cancelIdleCallback){const e=Object.freeze({didTimeout:!0,timeRemaining:()=>15});t.runWhenIdle=t=>{const n=setTimeout(()=>t(e));let s=!1;return{dispose(){s||(s=!0,clearTimeout(n))}}}}else t.runWhenIdle=(e,t)=>{const n=requestIdleCallback(e,"number"==typeof t?{timeout:t}:void 0);let s=!1;return{dispose(){s||(s=!0,cancelIdleCallback(n))}}}}();t.IdleValue=class{constructor(e){this._didRun=!1,this._executor=()=>{try{this._value=e()}catch(e){this._error=e}finally{this._didRun=!0}},
this._handle=t.runWhenIdle(()=>this._executor())}dispose(){this._handle.dispose()}getValue(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}},t.retry=async function(e,t,n){let s;for(let i=0;i<n;i++)try{return await e()}catch(e){s=e,await l(t)}throw s}})),define(e[10],t([1,0]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let n=!1,s=!1,i=!1,r=!1,o=!1,a=!1,c=void 0,h="en",l=void 0,u=void 0;const d="undefined"!=typeof process&&void 0!==process.versions&&void 0!==process.versions.electron&&"renderer"===process.type;if("object"!=typeof navigator||d){if("object"==typeof process){n="win32"===process.platform,s="darwin"===process.platform,i="linux"===process.platform,c="en",h="en";const e=process.env.VSCODE_NLS_CONFIG;if(e)try{const t=JSON.parse(e),n=t.availableLanguages["*"];c=t.locale,h=n||"en",l=t._translationsConfigFile}catch(e){}r=!0}}else u=navigator.userAgent,n=u.indexOf("Windows")>=0,s=u.indexOf("Macintosh")>=0,
a=u.indexOf("Macintosh")>=0&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,i=u.indexOf("Linux")>=0,o=!0,h=c=navigator.language;!function(e){e[e.Web=0]="Web",e[e.Mac=1]="Mac",e[e.Linux=2]="Linux",e[e.Windows=3]="Windows"}(t.Platform||(t.Platform={})),t.PlatformToString=function(e){switch(e){case 0:return"Web";case 1:return"Mac";case 2:return"Linux";case 3:return"Windows"}};let f=0;s?f=1:n?f=3:i&&(f=2),t.isWindows=n,t.isMacintosh=s,t.isLinux=i,t.isNative=r,t.isWeb=o,t.isIOS=a,t.platform=f,t.userAgent=u,t.isRootUser=function(){return r&&!n&&0===process.getuid()},t.language=h,function(e){e.value=function(){return t.language},e.isDefaultVariant=function(){return 2===t.language.length?"en"===t.language:t.language.length>=3&&("e"===t.language[0]&&"n"===t.language[1]&&"-"===t.language[2])},e.isDefault=function(){return"en"===t.language}}(t.Language||(t.Language={})),t.locale=c,t.translationsConfigFile=l;const g="object"==typeof self?self:"object"==typeof global?global:{};t.globals=g,
t.setImmediate=function(){if(t.globals.setImmediate)return t.globals.setImmediate.bind(t.globals);if("function"==typeof t.globals.postMessage&&!t.globals.importScripts){let e=[];t.globals.addEventListener("message",t=>{if(t.data&&t.data.vscodeSetImmediateId)for(let n=0,s=e.length;n<s;n++){const s=e[n];if(s.id===t.data.vscodeSetImmediateId)return e.splice(n,1),void s.callback()}});let n=0;return s=>{const i=++n;e.push({id:i,callback:s}),t.globals.postMessage({vscodeSetImmediateId:i},"*")}}if("undefined"!=typeof process&&"function"==typeof process.nextTick)return process.nextTick.bind(process);const e=Promise.resolve();return t=>e.then(t)}(),function(e){e[e.Windows=1]="Windows",e[e.Macintosh=2]="Macintosh",e[e.Linux=3]="Linux"}(t.OperatingSystem||(t.OperatingSystem={})),t.OS=s?2:n?1:3})),define(e[9],t([1,0,10]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s="undefined"==typeof process?{cwd:()=>"/",env:Object.create(null),get platform(){
return n.isWindows?"win32":n.isMacintosh?"darwin":"linux"},nextTick:e=>n.setImmediate(e)}:process;t.cwd=s.cwd,t.env=s.env,t.platform=s.platform,t.nextTick=s.nextTick})),define(e[17],t([1,0,9]),(function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=65,i=97,r=90,o=122,a=46,c=47,h=92;class l extends Error{constructor(e,t,n){let s;"string"==typeof t&&0===t.indexOf("not ")?(s="must not be",t=t.replace(/^not /,"")):s="must be";const i=-1!==e.indexOf(".")?"property":"argument";let r=`The "${e}" ${i} ${s} of type ${t}`;super(r+=`. Received type ${typeof n}`),this.code="ERR_INVALID_ARG_TYPE"}}function u(e,t){if("string"!=typeof e)throw new l(t,"string",e)}function d(e){return e===c||e===h}function f(e){return e===c}function g(e){return e>=s&&e<=r||e>=i&&e<=o}function p(e,t,n,s){let i,r="",o=0,h=-1,l=0;for(let u=0;u<=e.length;++u){if(u<e.length)i=e.charCodeAt(u);else{if(s(i))break;i=c}if(s(i)){if(h===u-1||1===l);else if(h!==u-1&&2===l){
if(r.length<2||2!==o||r.charCodeAt(r.length-1)!==a||r.charCodeAt(r.length-2)!==a){if(r.length>2){const e=r.lastIndexOf(n);-1===e?(r="",o=0):o=(r=r.slice(0,e)).length-1-r.lastIndexOf(n),h=u,l=0;continue}if(2===r.length||1===r.length){r="",o=0,h=u,l=0;continue}}t&&(r.length>0?r+=`${n}..`:r="..",o=2)}else r.length>0?r+=n+e.slice(h+1,u):r=e.slice(h+1,u),o=u-h-1;h=u,l=0}else i===a&&-1!==l?++l:l=-1}return r}function m(e,t){const n=t.dir||t.root,s=t.base||(t.name||"")+(t.ext||"");return n?n===t.root?n+s:n+e+s:s}t.win32={resolve(...e){let t="",s="",i=!1;for(let r=e.length-1;r>=-1;r--){let o;if(r>=0?o=e[r]:t?void 0!==(o=n.env["="+t]||n.cwd())&&o.slice(0,3).toLowerCase()===t.toLowerCase()+"\\"||(o=t+"\\"):o=n.cwd(),u(o,"path"),0===o.length)continue;const a=o.length;let c=0,h="",l=!1;const f=o.charCodeAt(0);if(a>1)if(d(f))if(l=!0,d(o.charCodeAt(1))){let e=2,t=e;for(;e<a&&!d(o.charCodeAt(e));++e);if(e<a&&e!==t){const n=o.slice(t,e);for(t=e;e<a&&d(o.charCodeAt(e));++e);if(e<a&&e!==t){for(t=e;e<a&&!d(o.charCodeAt(e));++e);
e===a?(h="\\\\"+n+"\\"+o.slice(t),c=e):e!==t&&(h="\\\\"+n+"\\"+o.slice(t,e),c=e)}}}else c=1;else g(f)&&58===o.charCodeAt(1)&&(h=o.slice(0,2),c=2,a>2&&d(o.charCodeAt(2))&&(l=!0,c=3));else d(f)&&(c=1,l=!0);if(!(h.length>0&&t.length>0&&h.toLowerCase()!==t.toLowerCase())&&(0===t.length&&h.length>0&&(t=h),i||(s=o.slice(c)+"\\"+s,i=l),t.length>0&&i))break}return t+(i?"\\":"")+(s=p(s,!i,"\\",d))||"."},normalize(e){u(e,"path");const t=e.length;if(0===t)return".";let n,s=0,i=!1;const r=e.charCodeAt(0);if(t>1)if(d(r))if(i=!0,d(e.charCodeAt(1))){let i=2,r=i;for(;i<t&&!d(e.charCodeAt(i));++i);if(i<t&&i!==r){const o=e.slice(r,i);for(r=i;i<t&&d(e.charCodeAt(i));++i);if(i<t&&i!==r){for(r=i;i<t&&!d(e.charCodeAt(i));++i);if(i===t)return"\\\\"+o+"\\"+e.slice(r)+"\\";i!==r&&(n="\\\\"+o+"\\"+e.slice(r,i),s=i)}}}else s=1;else g(r)&&58===e.charCodeAt(1)&&(n=e.slice(0,2),s=2,t>2&&d(e.charCodeAt(2))&&(i=!0,s=3));else if(d(r))return"\\";let o;return 0!==(o=s<t?p(e.slice(s),!i,"\\",d):"").length||i||(o="."),
o.length>0&&d(e.charCodeAt(t-1))&&(o+="\\"),void 0===n?i?o.length>0?"\\"+o:"\\":o.length>0?o:"":i?o.length>0?n+"\\"+o:n+"\\":o.length>0?n+o:n},isAbsolute(e){u(e,"path");const t=e.length;if(0===t)return!1;const n=e.charCodeAt(0);return!!d(n)||!!(g(n)&&t>2&&58===e.charCodeAt(1)&&d(e.charCodeAt(2)))},join(...e){if(0===e.length)return".";let n,s;for(let t=0;t<e.length;++t){const i=e[t];u(i,"path"),i.length>0&&(void 0===n?n=s=i:n+="\\"+i)}if(void 0===n)return".";let i=!0,r=0;if("string"==typeof s&&d(s.charCodeAt(0))){++r;const e=s.length;e>1&&d(s.charCodeAt(1))&&(++r,e>2&&(d(s.charCodeAt(2))?++r:i=!1))}if(i){for(;r<n.length&&d(n.charCodeAt(r));++r);r>=2&&(n="\\"+n.slice(r))}return t.win32.normalize(n)},relative(e,n){if(u(e,"from"),u(n,"to"),e===n)return"";const s=t.win32.resolve(e),i=t.win32.resolve(n);if(s===i)return"";if((e=s.toLowerCase())===(n=i.toLowerCase()))return"";let r=0;for(;r<e.length&&e.charCodeAt(r)===h;++r);let o=e.length;for(;o-1>r&&e.charCodeAt(o-1)===h;--o);const a=o-r;let c=0
;for(;c<n.length&&n.charCodeAt(c)===h;++c);let l=n.length;for(;l-1>c&&n.charCodeAt(l-1)===h;--l);const d=l-c,f=a<d?a:d;let g=-1,p=0;for(;p<=f;++p){if(p===f){if(d>f){if(n.charCodeAt(c+p)===h)return i.slice(c+p+1);if(2===p)return i.slice(c+p)}a>f&&(e.charCodeAt(r+p)===h?g=p:2===p&&(g=3));break}const t=e.charCodeAt(r+p);if(t!==n.charCodeAt(c+p))break;t===h&&(g=p)}if(p!==f&&-1===g)return i;let m="";for(-1===g&&(g=0),p=r+g+1;p<=o;++p)p!==o&&e.charCodeAt(p)!==h||(0===m.length?m+="..":m+="\\..");return m.length>0?m+i.slice(c+g,l):(c+=g,i.charCodeAt(c)===h&&++c,i.slice(c,l))},toNamespacedPath(e){if("string"!=typeof e)return e;if(0===e.length)return"";const n=t.win32.resolve(e);if(n.length>=3)if(n.charCodeAt(0)===h){if(n.charCodeAt(1)===h){const e=n.charCodeAt(2);if(63!==e&&e!==a)return"\\\\?\\UNC\\"+n.slice(2)}}else if(g(n.charCodeAt(0))&&58===n.charCodeAt(1)&&n.charCodeAt(2)===h)return"\\\\?\\"+n;return e},dirname(e){u(e,"path");const t=e.length;if(0===t)return".";let n=-1,s=-1,i=!0,r=0;const o=e.charCodeAt(0)
;if(t>1)if(d(o)){if(n=r=1,d(e.charCodeAt(1))){let s=2,i=s;for(;s<t&&!d(e.charCodeAt(s));++s);if(s<t&&s!==i){for(i=s;s<t&&d(e.charCodeAt(s));++s);if(s<t&&s!==i){for(i=s;s<t&&!d(e.charCodeAt(s));++s);if(s===t)return e;s!==i&&(n=r=s+1)}}}}else g(o)&&58===e.charCodeAt(1)&&(n=r=2,t>2&&d(e.charCodeAt(2))&&(n=r=3));else if(d(o))return e;for(let n=t-1;n>=r;--n)if(d(e.charCodeAt(n))){if(!i){s=n;break}}else i=!1;if(-1===s){if(-1===n)return".";s=n}return e.slice(0,s)},basename(e,t){void 0!==t&&u(t,"ext"),u(e,"path");let n,s=0,i=-1,r=!0;if(e.length>=2){g(e.charCodeAt(0))&&58===e.charCodeAt(1)&&(s=2)}if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=s;--n){const c=e.charCodeAt(n);if(d(c)){if(!r){s=n+1;break}}else-1===a&&(r=!1,a=n+1),o>=0&&(c===t.charCodeAt(o)?-1==--o&&(i=n):(o=-1,i=a))}return s===i?i=a:-1===i&&(i=e.length),e.slice(s,i)}for(n=e.length-1;n>=s;--n)if(d(e.charCodeAt(n))){if(!r){s=n+1;break}}else-1===i&&(r=!1,i=n+1)
;return-1===i?"":e.slice(s,i)},extname(e){u(e,"path");let t=0,n=-1,s=0,i=-1,r=!0,o=0;e.length>=2&&58===e.charCodeAt(1)&&g(e.charCodeAt(0))&&(t=s=2);for(let c=e.length-1;c>=t;--c){const t=e.charCodeAt(c);if(d(t)){if(!r){s=c+1;break}}else-1===i&&(r=!1,i=c+1),t===a?-1===n?n=c:1!==o&&(o=1):-1!==n&&(o=-1)}return-1===n||-1===i||0===o||1===o&&n===i-1&&n===s+1?"":e.slice(n,i)},format(e){if(null===e||"object"!=typeof e)throw new l("pathObject","Object",e);return m("\\",e)},parse(e){u(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.length;let s=0,i=e.charCodeAt(0);if(n>1){if(d(i)){if(s=1,d(e.charCodeAt(1))){let t=2,i=t;for(;t<n&&!d(e.charCodeAt(t));++t);if(t<n&&t!==i){for(i=t;t<n&&d(e.charCodeAt(t));++t);if(t<n&&t!==i){for(i=t;t<n&&!d(e.charCodeAt(t));++t);t===n?s=t:t!==i&&(s=t+1)}}}}else if(g(i)&&58===e.charCodeAt(1)){if(s=2,!(n>2))return t.root=t.dir=e,t;if(d(e.charCodeAt(2))){if(3===n)return t.root=t.dir=e,t;s=3}}}else if(d(i))return t.root=t.dir=e,t
;s>0&&(t.root=e.slice(0,s));let r=-1,o=s,c=-1,h=!0,l=e.length-1,f=0;for(;l>=s;--l)if(d(i=e.charCodeAt(l))){if(!h){o=l+1;break}}else-1===c&&(h=!1,c=l+1),i===a?-1===r?r=l:1!==f&&(f=1):-1!==r&&(f=-1);return-1===r||-1===c||0===f||1===f&&r===c-1&&r===o+1?-1!==c&&(t.base=t.name=e.slice(o,c)):(t.name=e.slice(o,r),t.base=e.slice(o,c),t.ext=e.slice(r,c)),t.dir=o>0&&o!==s?e.slice(0,o-1):t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},t.posix={resolve(...e){let t="",s=!1;for(let i=e.length-1;i>=-1&&!s;i--){let r;u(r=i>=0?e[i]:n.cwd(),"path"),0!==r.length&&(t=r+"/"+t,s=r.charCodeAt(0)===c)}return t=p(t,!s,"/",f),s?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize(e){if(u(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===c,n=e.charCodeAt(e.length-1)===c;return 0!==(e=p(e,!t,"/",f)).length||t||(e="."),e.length>0&&n&&(e+="/"),t?"/"+e:e},isAbsolute:e=>(u(e,"path"),e.length>0&&e.charCodeAt(0)===c),join(...e){if(0===e.length)return".";let n;for(let t=0;t<e.length;++t){const e=arguments[t];u(e,"path"),
e.length>0&&(void 0===n?n=e:n+="/"+e)}return void 0===n?".":t.posix.normalize(n)},relative(e,n){if(u(e,"from"),u(n,"to"),e===n)return"";if((e=t.posix.resolve(e))===(n=t.posix.resolve(n)))return"";let s=1;for(;s<e.length&&e.charCodeAt(s)===c;++s);const i=e.length,r=i-s;let o=1;for(;o<n.length&&n.charCodeAt(o)===c;++o);const a=n.length-o,h=r<a?r:a;let l=-1,d=0;for(;d<=h;++d){if(d===h){if(a>h){if(n.charCodeAt(o+d)===c)return n.slice(o+d+1);if(0===d)return n.slice(o+d)}else r>h&&(e.charCodeAt(s+d)===c?l=d:0===d&&(l=0));break}const t=e.charCodeAt(s+d);if(t!==n.charCodeAt(o+d))break;t===c&&(l=d)}let f="";for(d=s+l+1;d<=i;++d)d!==i&&e.charCodeAt(d)!==c||(0===f.length?f+="..":f+="/..");return f.length>0?f+n.slice(o+l):(o+=l,n.charCodeAt(o)===c&&++o,n.slice(o))},toNamespacedPath:e=>e,dirname(e){if(u(e,"path"),0===e.length)return".";const t=e.charCodeAt(0)===c;let n=-1,s=!0;for(let t=e.length-1;t>=1;--t)if(e.charCodeAt(t)===c){if(!s){n=t;break}}else s=!1;return-1===n?t?"/":".":t&&1===n?"//":e.slice(0,n)},basename(e,t){
void 0!==t&&u(t,"ext"),u(e,"path");let n,s=0,i=-1,r=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";let o=t.length-1,a=-1;for(n=e.length-1;n>=0;--n){const h=e.charCodeAt(n);if(h===c){if(!r){s=n+1;break}}else-1===a&&(r=!1,a=n+1),o>=0&&(h===t.charCodeAt(o)?-1==--o&&(i=n):(o=-1,i=a))}return s===i?i=a:-1===i&&(i=e.length),e.slice(s,i)}for(n=e.length-1;n>=0;--n)if(e.charCodeAt(n)===c){if(!r){s=n+1;break}}else-1===i&&(r=!1,i=n+1);return-1===i?"":e.slice(s,i)},extname(e){u(e,"path");let t=-1,n=0,s=-1,i=!0,r=0;for(let o=e.length-1;o>=0;--o){const h=e.charCodeAt(o);if(h!==c)-1===s&&(i=!1,s=o+1),h===a?-1===t?t=o:1!==r&&(r=1):-1!==t&&(r=-1);else if(!i){n=o+1;break}}return-1===t||-1===s||0===r||1===r&&t===s-1&&t===n+1?"":e.slice(t,s)},format(e){if(null===e||"object"!=typeof e)throw new l("pathObject","Object",e);return m("/",e)},parse(e){u(e,"path");const t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;const n=e.charCodeAt(0)===c;let s;n?(t.root="/",s=1):s=0
;let i=-1,r=0,o=-1,h=!0,l=e.length-1,d=0;for(;l>=s;--l){const t=e.charCodeAt(l);if(t!==c)-1===o&&(h=!1,o=l+1),t===a?-1===i?i=l:1!==d&&(d=1):-1!==i&&(d=-1);else if(!h){r=l+1;break}}return-1===i||-1===o||0===d||1===d&&i===o-1&&i===r+1?-1!==o&&(t.base=t.name=0===r&&n?e.slice(1,o):e.slice(r,o)):(0===r&&n?(t.name=e.slice(1,i),t.base=e.slice(1,o)):(t.name=e.slice(r,i),t.base=e.slice(r,o)),t.ext=e.slice(i,o)),r>0?t.dir=e.slice(0,r-1):n&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null},t.posix.win32=t.win32.win32=t.win32,t.posix.posix=t.win32.posix=t.posix,t.normalize="win32"===n.platform?t.win32.normalize:t.posix.normalize,t.isAbsolute="win32"===n.platform?t.win32.isAbsolute:t.posix.isAbsolute,t.join="win32"===n.platform?t.win32.join:t.posix.join,t.resolve="win32"===n.platform?t.win32.resolve:t.posix.resolve,t.relative="win32"===n.platform?t.win32.relative:t.posix.relative,t.dirname="win32"===n.platform?t.win32.dirname:t.posix.dirname,t.basename="win32"===n.platform?t.win32.basename:t.posix.basename,
t.extname="win32"===n.platform?t.win32.extname:t.posix.extname,t.format="win32"===n.platform?t.win32.format:t.posix.format,t.parse="win32"===n.platform?t.win32.parse:t.posix.parse,t.toNamespacedPath="win32"===n.platform?t.win32.toNamespacedPath:t.posix.toNamespacedPath,t.sep="win32"===n.platform?t.win32.sep:t.posix.sep,t.delimiter="win32"===n.platform?t.win32.delimiter:t.posix.delimiter})),define(e[13],t([1,0]),(function(e,t){"use strict";function n(e){return new s(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.isReadableStream=function(e){const t=e;return t&&[t.on,t.pause,t.resume,t.destroy].every(e=>"function"==typeof e)},t.newWriteableStream=n;class s{constructor(e){this.reducer=e,this.state={flowing:!1,ended:!1,destroyed:!1},this.buffer={data:[],error:[]},this.listeners={data:[],error:[],end:[]}}pause(){this.state.destroyed||(this.state.flowing=!1)}resume(){this.state.destroyed||this.state.flowing||(this.state.flowing=!0,this.flowData(),this.flowErrors(),this.flowEnd())}write(e){
this.state.destroyed||(this.state.flowing?this.listeners.data.forEach(t=>t(e)):this.buffer.data.push(e))}error(e){this.state.destroyed||(this.state.flowing?this.listeners.error.forEach(t=>t(e)):this.buffer.error.push(e))}end(e){this.state.destroyed||(e instanceof Error?this.error(e):e&&this.write(e),this.state.flowing?(this.listeners.end.forEach(e=>e()),this.destroy()):this.state.ended=!0)}on(e,t){if(!this.state.destroyed)switch(e){case"data":this.listeners.data.push(t),this.resume();break;case"end":this.listeners.end.push(t),this.state.flowing&&this.flowEnd()&&this.destroy();break;case"error":this.listeners.error.push(t),this.state.flowing&&this.flowErrors()}}flowData(){if(this.buffer.data.length>0){const e=this.reducer(this.buffer.data);this.listeners.data.forEach(t=>t(e)),this.buffer.data.length=0}}flowErrors(){if(this.listeners.error.length>0){for(const e of this.buffer.error)this.listeners.error.forEach(t=>t(e));this.buffer.error.length=0}}flowEnd(){
return!!this.state.ended&&(this.listeners.end.forEach(e=>e()),this.listeners.end.length>0)}destroy(){this.state.destroyed||(this.state.destroyed=!0,this.state.ended=!0,this.buffer.data.length=0,this.buffer.error.length=0,this.listeners.data.length=0,this.listeners.error.length=0,this.listeners.end.length=0)}}t.consumeReadable=function(e,t){const n=[];let s;for(;null!==(s=e.read());)n.push(s);return t(n)},t.consumeReadableWithLimit=function(e,t,n){const s=[];let i=void 0;for(;null!==(i=e.read())&&s.length<n;)s.push(i);return null===i&&s.length>0?t(s):{read:()=>{if(s.length>0)return s.shift();if(void 0!==i){const e=i;return i=void 0,e}return e.read()}}},t.consumeStream=function(e,t){return new Promise((n,s)=>{const i=[];e.on("data",e=>i.push(e)),e.on("error",e=>s(e)),e.on("end",()=>n(t(i)))})},t.consumeStreamWithLimit=function(e,t,s){return new Promise((i,r)=>{const o=[];let a=void 0;e.on("data",e=>{if(!a&&o.length===s){for(a=n(t);o.length;)a.write(o.shift());return a.write(e),i(a)}a?a.write(e):o.push(e)}),
e.on("error",e=>{if(!a)return r(e);a.error(e)}),e.on("end",()=>{if(!a)return i(t(o));for(;o.length;)a.write(o.shift());a.end()})})},t.toStream=function(e,t){const s=n(t);return s.end(e),s},t.toReadable=function(e){let t=!1;return{read:()=>t?null:(t=!0,e)}},t.transform=function(e,t,s){const i=n(s);return e.on("data",e=>i.write(t.data(e))),e.on("end",()=>i.end()),e.on("error",e=>i.error(t.error?t.error(e):e)),i}})),define(e[14],t([1,0]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isFalsyOrWhitespace=function(e){return!e||"string"!=typeof e||0===e.trim().length},t.pad=function(e,t,n="0"){const s=""+e,i=[s];for(let e=s.length;e<t;e++)i.push(n);return i.reverse().join("")};const n=/{(\d+)}/g;function s(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function i(e,t){if(!e||!t)return e;const n=t.length;if(0===n||0===e.length)return e;let s=0;for(;e.indexOf(t,s)===s;)s+=n;return e.substring(s)}function r(e,t){if(!e||!t)return e;const n=t.length,s=e.length
;if(0===n||0===s)return e;let i=s,r=-1;for(;-1!==(r=e.lastIndexOf(t,i-1))&&r+n===i;){if(0===r)return"";i=r}return e.substring(0,i)}function o(e,t){return e<t?-1:e>t?1:0}function a(e){return e>=97&&e<=122}function c(e){return e>=65&&e<=90}function h(e){return a(e)||c(e)}function l(e,t,n=e.length){for(let s=0;s<n;s++){const n=e.charCodeAt(s),i=t.charCodeAt(s);if(n!==i)if(h(n)&&h(i)){const e=Math.abs(n-i);if(0!==e&&32!==e)return!1}else if(String.fromCharCode(n).toLowerCase()!==String.fromCharCode(i).toLowerCase())return!1}return!0}function u(e,t,n,s,i,r){for(;t<n&&i<r;){if(e[t]!==s[i])return!1;t+=1,i+=1}return!0}function d(e){return 55296<=e&&e<=56319}function f(e){return 56320<=e&&e<=57343}function g(e,t,n){const s=e.charCodeAt(n);if(d(s)&&n+1<t){const t=e.charCodeAt(n+1);if(f(t))return t-56320+(s-55296<<10)+65536}return s}function p(e,t){const n=e.charCodeAt(t-1);if(f(n)&&t>1){const s=e.charCodeAt(t-2);if(d(s))return n-56320+(s-55296<<10)+65536}return n}function m(e,t){
const n=x.getInstance(),s=e.length,i=t,r=g(e,s,t),o=n.getGraphemeBreakType(r);t+=r>=65536?2:1;let a=o;for(;t<s;){const i=g(e,s,t),r=n.getGraphemeBreakType(i);if(E(a,r))break;t+=i>=65536?2:1,a=r}const c=t;for(t=i,a=o;t>0;){const s=p(e,t),i=n.getGraphemeBreakType(s);if(E(i,a))break;t-=s>=65536?2:1,a=i}return[t,c]}t.format=function(e,...t){return 0===t.length?e:e.replace(n,(function(e,n){const s=parseInt(n,10);return isNaN(s)||s<0||s>=t.length?e:t[s]}))},t.escape=function(e){return e.replace(/[<>&]/g,(function(e){switch(e){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";default:return e}}))},t.escapeRegExpCharacters=s,t.trim=function(e,t=" "){return r(i(e,t),t)},t.ltrim=i,t.rtrim=r,t.convertSimple2RegExpPattern=function(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")},t.stripWildcards=function(e){return e.replace(/\*/g,"")},t.startsWith=function(e,t){if(e.length<t.length)return!1;if(e===t)return!0;for(let n=0;n<t.length;n++)if(e[n]!==t[n])return!1
;return!0},t.endsWith=function(e,t){const n=e.length-t.length;return n>0?e.indexOf(t,n)===n:0===n&&e===t},t.createRegExp=function(e,t,n={}){if(!e)throw new Error("Cannot create regex from empty string");t||(e=s(e)),n.wholeWord&&(/\B/.test(e.charAt(0))||(e="\\b"+e),/\B/.test(e.charAt(e.length-1))||(e+="\\b"));let i="";return n.global&&(i+="g"),n.matchCase||(i+="i"),n.multiline&&(i+="m"),n.unicode&&(i+="u"),new RegExp(e,i)},t.regExpLeadsToEndlessLoop=function(e){return"^"!==e.source&&"^$"!==e.source&&"$"!==e.source&&"^\\s*$"!==e.source&&!(!e.exec("")||0!==e.lastIndex)},t.regExpContainsBackreference=function(e){return!!e.match(/([^\\]|^)(\\\\)*\\\d+/)},t.regExpFlags=function(e){return(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")},t.firstNonWhitespaceIndex=function(e){for(let t=0,n=e.length;t<n;t++){const n=e.charCodeAt(t);if(32!==n&&9!==n)return t}return-1},t.getLeadingWhitespace=function(e,t=0,n=e.length){for(let s=t;s<n;s++){const n=e.charCodeAt(s)
;if(32!==n&&9!==n)return e.substring(t,s)}return e.substring(t,n)},t.lastNonWhitespaceIndex=function(e,t=e.length-1){for(let n=t;n>=0;n--){const t=e.charCodeAt(n);if(32!==t&&9!==t)return n}return-1},t.compare=o,t.compareIgnoreCase=function(e,t){const n=Math.min(e.length,t.length);for(let s=0;s<n;s++){let n=e.charCodeAt(s),i=t.charCodeAt(s);if(n===i)continue;c(n)&&(n+=32),c(i)&&(i+=32);const r=n-i;if(0!==r)return a(n)&&a(i)?r:o(e.toLowerCase(),t.toLowerCase())}return e.length<t.length?-1:e.length>t.length?1:0},t.isLowerAsciiLetter=a,t.isUpperAsciiLetter=c,t.equalsIgnoreCase=function(e,t){return e.length===t.length&&l(e,t)},t.startsWithIgnoreCase=function(e,t){const n=t.length;return!(t.length>e.length)&&l(e,t,n)},t.commonPrefixLength=function(e,t){let n,s=Math.min(e.length,t.length);for(n=0;n<s;n++)if(e.charCodeAt(n)!==t.charCodeAt(n))return n;return s},t.commonSuffixLength=function(e,t){let n,s=Math.min(e.length,t.length);const i=e.length-1,r=t.length-1
;for(n=0;n<s;n++)if(e.charCodeAt(i-n)!==t.charCodeAt(r-n))return n;return s},t.overlap=function(e,t){const n=e.length;let s=t.length,i=n-s;if(0===i)return e===t?n:0;for(i<0&&(s+=i,i=0);i<n&&s>0;){if(u(e,i,n,t,0,s))return s;s-=1,i+=1}return 0},t.isHighSurrogate=d,t.isLowSurrogate=f,t.getNextCodePoint=g,t.nextCharLength=function(e,t){const n=x.getInstance(),s=t,i=e.length,r=g(e,i,t);t+=r>=65536?2:1;let o=n.getGraphemeBreakType(r);for(;t<i;){const s=g(e,i,t),r=n.getGraphemeBreakType(s);if(E(o,r))break;t+=s>=65536?2:1,o=r}return t-s},t.prevCharLength=function(e,t){const n=x.getInstance(),s=t,i=p(e,t);t-=i>=65536?2:1;let r=n.getGraphemeBreakType(i);for(;t>0;){const s=p(e,t),i=n.getGraphemeBreakType(s);if(E(i,r))break;t-=s>=65536?2:1,r=i}return s-t},t.getCharContainingOffset=function(e,t){return t>0&&f(e.charCodeAt(t))?m(e,t-1):m(e,t)},t.encodeUTF8=function(e){const t=e.length;let n=0,s=0;for(;s<t;){const i=g(e,t,s);s+=i>=65536?2:1,n+=i<128?1:i<2048?2:i<65536?3:4}const i=new Uint8Array(n);s=0;let r=0;for(;s<t;){
const n=g(e,t,s);s+=n>=65536?2:1,n<128?i[r++]=n:n<2048?(i[r++]=192|(1984&n)>>>6,i[r++]=128|(63&n)>>>0):n<65536?(i[r++]=224|(61440&n)>>>12,i[r++]=128|(4032&n)>>>6,i[r++]=128|(63&n)>>>0):(i[r++]=240|(1835008&n)>>>18,i[r++]=128|(258048&n)>>>12,i[r++]=128|(4032&n)>>>6,i[r++]=128|(63&n)>>>0)}return i},t.decodeUTF8=function(e){const t=e.byteLength,n=[];let s=0;for(;s<t;){const i=e[s];let r;if((r=i>=240&&s+3<t?(7&e[s++])<<18>>>0|(63&e[s++])<<12>>>0|(63&e[s++])<<6>>>0|(63&e[s++])<<0>>>0:i>=224&&s+2<t?(15&e[s++])<<12>>>0|(63&e[s++])<<6>>>0|(63&e[s++])<<0>>>0:i>=192&&s+1<t?(31&e[s++])<<6>>>0|(63&e[s++])<<0>>>0:e[s++])>=0&&r<=55295||r>=57344&&r<=65535)n.push(String.fromCharCode(r));else if(r>=65536&&r<=1114111){const e=r-65536,t=55296+((1047552&e)>>>10),s=56320+((1023&e)>>>0);n.push(String.fromCharCode(t)),n.push(String.fromCharCode(s))}else n.push(String.fromCharCode(65533))}return n.join("")}
;const _=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u08BD\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE33\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDCFF]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD50-\uDFFF]|\uD83B[\uDC00-\uDEBB])/;t.containsRTL=function(e){return _.test(e)};const v=/(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD00-\uDDFF\uDE70-\uDE73\uDE78-\uDE82\uDE90-\uDE95])/;t.containsEmoji=function(e){return v.test(e)};const w=/^[\t\n\r\x20-\x7E]*$/;function k(e){return(e=+e)>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}t.isBasicASCII=function(e){return w.test(e)},t.containsFullWidthCharacter=function(e){
for(let t=0,n=e.length;t<n;t++)if(k(e.charCodeAt(t)))return!0;return!1},t.isFullWidthCharacter=k,t.isEmojiImprecise=function(e){return e>=127462&&e<=127487||e>=9728&&e<=10175||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129003||e>=129280&&e<=129535||e>=129648&&e<=129651||e>=129656&&e<=129666||e>=129680&&e<=129685},t.lcut=function(e,t){if(e.length<t)return e;const n=/\b/g;let s=0;for(;n.test(e)&&!(e.length-n.lastIndex<t);)s=n.lastIndex,n.lastIndex+=1;return e.substring(s).replace(/^\s/,"")};const C=/\x1B\x5B[12]?K/g,b=/\x1b\[\d+m/g,y=/\x1b\[0?m/g;function A(e){return!!(e&&e.length>0&&65279===e.charCodeAt(0))}function E(e,t){return 0===e?5!==t&&7!==t:(2!==e||3!==t)&&(4===e||2===e||3===e||(4===t||2===t||3===t||(8!==e||8!==t&&9!==t&&11!==t&&12!==t)&&((11!==e&&9!==e||9!==t&&10!==t)&&((12!==e&&10!==e||10!==t)&&(5!==t&&13!==t&&(7!==t&&(1!==e&&((13!==e||14!==t)&&(6!==e||6!==t)))))))))}t.removeAnsiEscapeCodes=function(e){return e&&(e=(e=(e=e.replace(C,"")).replace(b,"")).replace(y,"")),e},
t.removeAccents=function(){if("function"!=typeof String.prototype.normalize)return function(e){return e};{const e=/[\u0300-\u036f]/g;return function(t){return t.normalize("NFD").replace(e,"")}}}(),t.UTF8_BOM_CHARACTER=String.fromCharCode(65279),t.startsWithUTF8BOM=A,t.stripUTF8BOM=function(e){return A(e)?e.substr(1):e},t.safeBtoa=function(e){return btoa(encodeURIComponent(e))},t.repeat=function(e,t){let n="";for(let s=0;s<t;s++)n+=e;return n},t.fuzzyContains=function(e,t){if(!e||!t)return!1;if(e.length<t.length)return!1;const n=t.length,s=e.toLowerCase();let i=0,r=-1;for(;i<n;){const e=s.indexOf(t[i],r+1);if(e<0)return!1;r=e,i++}return!0},t.containsUppercaseCharacter=function(e,t=!1){return!!e&&(t&&(e=e.replace(/\\./g,"")),e.toLowerCase()!==e)},t.uppercaseFirstLetter=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},t.getNLines=function(e,t=1){if(0===t)return"";let n=-1;do{n=e.indexOf("\n",n+1),t--}while(t>0&&n>=0);return n>=0?e.substr(0,n):e},t.singleLetterHash=function(e){
return(e%=52)<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)},t.getGraphemeBreakType=function(e){return x.getInstance().getGraphemeBreakType(e)},t.breakBetweenGraphemeBreakType=E,function(e){e[e.Other=0]="Other",e[e.Prepend=1]="Prepend",e[e.CR=2]="CR",e[e.LF=3]="LF",e[e.Control=4]="Control",e[e.Extend=5]="Extend",e[e.Regional_Indicator=6]="Regional_Indicator",e[e.SpacingMark=7]="SpacingMark",e[e.L=8]="L",e[e.V=9]="V",e[e.T=10]="T",e[e.LV=11]="LV",e[e.LVT=12]="LVT",e[e.ZWJ=13]="ZWJ",e[e.Extended_Pictographic=14]="Extended_Pictographic"}(t.GraphemeBreakType||(t.GraphemeBreakType={}));class x{constructor(){
this._data=JSON.parse("[0,0,0,51592,51592,11,44424,44424,11,72251,72254,5,7150,7150,7,48008,48008,11,55176,55176,11,128420,128420,14,3276,3277,5,9979,9980,14,46216,46216,11,49800,49800,11,53384,53384,11,70726,70726,5,122915,122916,5,129320,129327,14,2558,2558,5,5906,5908,5,9762,9763,14,43360,43388,8,45320,45320,11,47112,47112,11,48904,48904,11,50696,50696,11,52488,52488,11,54280,54280,11,70082,70083,1,71350,71350,7,73111,73111,5,127892,127893,14,128726,128727,14,129473,129474,14,2027,2035,5,2901,2902,5,3784,3789,5,6754,6754,5,8418,8420,5,9877,9877,14,11088,11088,14,44008,44008,5,44872,44872,11,45768,45768,11,46664,46664,11,47560,47560,11,48456,48456,11,49352,49352,11,50248,50248,11,51144,51144,11,52040,52040,11,52936,52936,11,53832,53832,11,54728,54728,11,69811,69814,5,70459,70460,5,71096,71099,7,71998,71998,5,72874,72880,5,119149,119149,7,127374,127374,14,128335,128335,14,128482,128482,14,128765,128767,14,129399,129400,14,129680,129685,14,1476,1477,5,2377,2380,7,2759,2760,5,3137,3140,7,3458,3459,7,4153,4154,5,6432,6434,5,6978,6978,5,7675,7679,5,9723,9726,14,9823,9823,14,9919,9923,14,10035,10036,14,42736,42737,5,43596,43596,5,44200,44200,11,44648,44648,11,45096,45096,11,45544,45544,11,45992,45992,11,46440,46440,11,46888,46888,11,47336,47336,11,47784,47784,11,48232,48232,11,48680,48680,11,49128,49128,11,49576,49576,11,50024,50024,11,50472,50472,11,50920,50920,11,51368,51368,11,51816,51816,11,52264,52264,11,52712,52712,11,53160,53160,11,53608,53608,11,54056,54056,11,54504,54504,11,54952,54952,11,68108,68111,5,69933,69940,5,70197,70197,7,70498,70499,7,70845,70845,5,71229,71229,5,71727,71735,5,72154,72155,5,72344,72345,5,73023,73029,5,94095,94098,5,121403,121452,5,126981,127182,14,127538,127546,14,127990,127990,14,128391,128391,14,128445,128449,14,128500,128505,14,128752,128752,14,129160,129167,14,129356,129356,14,129432,129442,14,129648,129651,14,129751,131069,14,173,173,4,1757,1757,1,2274,2274,1,2494,2494,5,2641,2641,5,2876,2876,5,3014,3016,7,3262,3262,7,3393,3396,5,3570,3571,7,3968,3972,5,4228,4228,7,6086,6086,5,6679,6680,5,6912,6915,5,7080,7081,5,7380,7392,5,8252,8252,14,9096,9096,14,9748,9749,14,9784,9786,14,9833,9850,14,9890,9894,14,9938,9938,14,9999,9999,14,10085,10087,14,12349,12349,14,43136,43137,7,43454,43456,7,43755,43755,7,44088,44088,11,44312,44312,11,44536,44536,11,44760,44760,11,44984,44984,11,45208,45208,11,45432,45432,11,45656,45656,11,45880,45880,11,46104,46104,11,46328,46328,11,46552,46552,11,46776,46776,11,47000,47000,11,47224,47224,11,47448,47448,11,47672,47672,11,47896,47896,11,48120,48120,11,48344,48344,11,48568,48568,11,48792,48792,11,49016,49016,11,49240,49240,11,49464,49464,11,49688,49688,11,49912,49912,11,50136,50136,11,50360,50360,11,50584,50584,11,50808,50808,11,51032,51032,11,51256,51256,11,51480,51480,11,51704,51704,11,51928,51928,11,52152,52152,11,52376,52376,11,52600,52600,11,52824,52824,11,53048,53048,11,53272,53272,11,53496,53496,11,53720,53720,11,53944,53944,11,54168,54168,11,54392,54392,11,54616,54616,11,54840,54840,11,55064,55064,11,65438,65439,5,69633,69633,5,69837,69837,1,70018,70018,7,70188,70190,7,70368,70370,7,70465,70468,7,70712,70719,5,70835,70840,5,70850,70851,5,71132,71133,5,71340,71340,7,71458,71461,5,71985,71989,7,72002,72002,7,72193,72202,5,72281,72283,5,72766,72766,7,72885,72886,5,73104,73105,5,92912,92916,5,113824,113827,4,119173,119179,5,121505,121519,5,125136,125142,5,127279,127279,14,127489,127490,14,127570,127743,14,127900,127901,14,128254,128254,14,128369,128370,14,128400,128400,14,128425,128432,14,128468,128475,14,128489,128494,14,128715,128720,14,128745,128745,14,128759,128760,14,129004,129023,14,129296,129304,14,129340,129342,14,129388,129392,14,129404,129407,14,129454,129455,14,129485,129487,14,129659,129663,14,129719,129727,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2363,2363,7,2402,2403,5,2507,2508,7,2622,2624,7,2691,2691,7,2786,2787,5,2881,2884,5,3006,3006,5,3072,3072,5,3170,3171,5,3267,3268,7,3330,3331,7,3406,3406,1,3538,3540,5,3655,3662,5,3897,3897,5,4038,4038,5,4184,4185,5,4352,4447,8,6068,6069,5,6155,6157,5,6448,6449,7,6742,6742,5,6783,6783,5,6966,6970,5,7042,7042,7,7143,7143,7,7212,7219,5,7412,7412,5,8206,8207,4,8294,8303,4,8596,8601,14,9410,9410,14,9742,9742,14,9757,9757,14,9770,9770,14,9794,9794,14,9828,9828,14,9855,9855,14,9882,9882,14,9900,9903,14,9929,9933,14,9963,9967,14,9987,9988,14,10006,10006,14,10062,10062,14,10175,10175,14,11744,11775,5,42607,42607,5,43043,43044,7,43263,43263,5,43444,43445,7,43569,43570,5,43698,43700,5,43766,43766,5,44032,44032,11,44144,44144,11,44256,44256,11,44368,44368,11,44480,44480,11,44592,44592,11,44704,44704,11,44816,44816,11,44928,44928,11,45040,45040,11,45152,45152,11,45264,45264,11,45376,45376,11,45488,45488,11,45600,45600,11,45712,45712,11,45824,45824,11,45936,45936,11,46048,46048,11,46160,46160,11,46272,46272,11,46384,46384,11,46496,46496,11,46608,46608,11,46720,46720,11,46832,46832,11,46944,46944,11,47056,47056,11,47168,47168,11,47280,47280,11,47392,47392,11,47504,47504,11,47616,47616,11,47728,47728,11,47840,47840,11,47952,47952,11,48064,48064,11,48176,48176,11,48288,48288,11,48400,48400,11,48512,48512,11,48624,48624,11,48736,48736,11,48848,48848,11,48960,48960,11,49072,49072,11,49184,49184,11,49296,49296,11,49408,49408,11,49520,49520,11,49632,49632,11,49744,49744,11,49856,49856,11,49968,49968,11,50080,50080,11,50192,50192,11,50304,50304,11,50416,50416,11,50528,50528,11,50640,50640,11,50752,50752,11,50864,50864,11,50976,50976,11,51088,51088,11,51200,51200,11,51312,51312,11,51424,51424,11,51536,51536,11,51648,51648,11,51760,51760,11,51872,51872,11,51984,51984,11,52096,52096,11,52208,52208,11,52320,52320,11,52432,52432,11,52544,52544,11,52656,52656,11,52768,52768,11,52880,52880,11,52992,52992,11,53104,53104,11,53216,53216,11,53328,53328,11,53440,53440,11,53552,53552,11,53664,53664,11,53776,53776,11,53888,53888,11,54000,54000,11,54112,54112,11,54224,54224,11,54336,54336,11,54448,54448,11,54560,54560,11,54672,54672,11,54784,54784,11,54896,54896,11,55008,55008,11,55120,55120,11,64286,64286,5,66272,66272,5,68900,68903,5,69762,69762,7,69817,69818,5,69927,69931,5,70003,70003,5,70070,70078,5,70094,70094,7,70194,70195,7,70206,70206,5,70400,70401,5,70463,70463,7,70475,70477,7,70512,70516,5,70722,70724,5,70832,70832,5,70842,70842,5,70847,70848,5,71088,71089,7,71102,71102,7,71219,71226,5,71231,71232,5,71342,71343,7,71453,71455,5,71463,71467,5,71737,71738,5,71995,71996,5,72000,72000,7,72145,72147,7,72160,72160,5,72249,72249,7,72273,72278,5,72330,72342,5,72752,72758,5,72850,72871,5,72882,72883,5,73018,73018,5,73031,73031,5,73109,73109,5,73461,73462,7,94031,94031,5,94192,94193,7,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,126976,126979,14,127184,127231,14,127344,127345,14,127405,127461,14,127514,127514,14,127561,127567,14,127778,127779,14,127896,127896,14,127985,127986,14,127995,127999,5,128326,128328,14,128360,128366,14,128378,128378,14,128394,128397,14,128405,128406,14,128422,128423,14,128435,128443,14,128453,128464,14,128479,128480,14,128484,128487,14,128496,128498,14,128640,128709,14,128723,128724,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129096,129103,14,129292,129292,14,129311,129311,14,129329,129330,14,129344,129349,14,129360,129374,14,129394,129394,14,129402,129402,14,129413,129425,14,129445,129450,14,129466,129471,14,129483,129483,14,129511,129535,14,129653,129655,14,129667,129670,14,129705,129711,14,129731,129743,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2307,2307,7,2366,2368,7,2382,2383,7,2434,2435,7,2497,2500,5,2519,2519,5,2563,2563,7,2631,2632,5,2677,2677,5,2750,2752,7,2763,2764,7,2817,2817,5,2879,2879,5,2891,2892,7,2914,2915,5,3008,3008,5,3021,3021,5,3076,3076,5,3146,3149,5,3202,3203,7,3264,3265,7,3271,3272,7,3298,3299,5,3390,3390,5,3402,3404,7,3426,3427,5,3535,3535,5,3544,3550,7,3635,3635,7,3763,3763,7,3893,3893,5,3953,3966,5,3981,3991,5,4145,4145,7,4157,4158,5,4209,4212,5,4237,4237,5,4520,4607,10,5970,5971,5,6071,6077,5,6089,6099,5,6277,6278,5,6439,6440,5,6451,6456,7,6683,6683,5,6744,6750,5,6765,6770,7,6846,6846,5,6964,6964,5,6972,6972,5,7019,7027,5,7074,7077,5,7083,7085,5,7146,7148,7,7154,7155,7,7222,7223,5,7394,7400,5,7416,7417,5,8204,8204,5,8233,8233,4,8288,8292,4,8413,8416,5,8482,8482,14,8986,8987,14,9193,9203,14,9654,9654,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9775,14,9792,9792,14,9800,9811,14,9825,9826,14,9831,9831,14,9852,9853,14,9872,9873,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9936,9936,14,9941,9960,14,9974,9974,14,9982,9985,14,9992,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10145,10145,14,11013,11015,14,11503,11505,5,12334,12335,5,12951,12951,14,42612,42621,5,43014,43014,5,43047,43047,7,43204,43205,5,43335,43345,5,43395,43395,7,43450,43451,7,43561,43566,5,43573,43574,5,43644,43644,5,43710,43711,5,43758,43759,7,44005,44005,5,44012,44012,7,44060,44060,11,44116,44116,11,44172,44172,11,44228,44228,11,44284,44284,11,44340,44340,11,44396,44396,11,44452,44452,11,44508,44508,11,44564,44564,11,44620,44620,11,44676,44676,11,44732,44732,11,44788,44788,11,44844,44844,11,44900,44900,11,44956,44956,11,45012,45012,11,45068,45068,11,45124,45124,11,45180,45180,11,45236,45236,11,45292,45292,11,45348,45348,11,45404,45404,11,45460,45460,11,45516,45516,11,45572,45572,11,45628,45628,11,45684,45684,11,45740,45740,11,45796,45796,11,45852,45852,11,45908,45908,11,45964,45964,11,46020,46020,11,46076,46076,11,46132,46132,11,46188,46188,11,46244,46244,11,46300,46300,11,46356,46356,11,46412,46412,11,46468,46468,11,46524,46524,11,46580,46580,11,46636,46636,11,46692,46692,11,46748,46748,11,46804,46804,11,46860,46860,11,46916,46916,11,46972,46972,11,47028,47028,11,47084,47084,11,47140,47140,11,47196,47196,11,47252,47252,11,47308,47308,11,47364,47364,11,47420,47420,11,47476,47476,11,47532,47532,11,47588,47588,11,47644,47644,11,47700,47700,11,47756,47756,11,47812,47812,11,47868,47868,11,47924,47924,11,47980,47980,11,48036,48036,11,48092,48092,11,48148,48148,11,48204,48204,11,48260,48260,11,48316,48316,11,48372,48372,11,48428,48428,11,48484,48484,11,48540,48540,11,48596,48596,11,48652,48652,11,48708,48708,11,48764,48764,11,48820,48820,11,48876,48876,11,48932,48932,11,48988,48988,11,49044,49044,11,49100,49100,11,49156,49156,11,49212,49212,11,49268,49268,11,49324,49324,11,49380,49380,11,49436,49436,11,49492,49492,11,49548,49548,11,49604,49604,11,49660,49660,11,49716,49716,11,49772,49772,11,49828,49828,11,49884,49884,11,49940,49940,11,49996,49996,11,50052,50052,11,50108,50108,11,50164,50164,11,50220,50220,11,50276,50276,11,50332,50332,11,50388,50388,11,50444,50444,11,50500,50500,11,50556,50556,11,50612,50612,11,50668,50668,11,50724,50724,11,50780,50780,11,50836,50836,11,50892,50892,11,50948,50948,11,51004,51004,11,51060,51060,11,51116,51116,11,51172,51172,11,51228,51228,11,51284,51284,11,51340,51340,11,51396,51396,11,51452,51452,11,51508,51508,11,51564,51564,11,51620,51620,11,51676,51676,11,51732,51732,11,51788,51788,11,51844,51844,11,51900,51900,11,51956,51956,11,52012,52012,11,52068,52068,11,52124,52124,11,52180,52180,11,52236,52236,11,52292,52292,11,52348,52348,11,52404,52404,11,52460,52460,11,52516,52516,11,52572,52572,11,52628,52628,11,52684,52684,11,52740,52740,11,52796,52796,11,52852,52852,11,52908,52908,11,52964,52964,11,53020,53020,11,53076,53076,11,53132,53132,11,53188,53188,11,53244,53244,11,53300,53300,11,53356,53356,11,53412,53412,11,53468,53468,11,53524,53524,11,53580,53580,11,53636,53636,11,53692,53692,11,53748,53748,11,53804,53804,11,53860,53860,11,53916,53916,11,53972,53972,11,54028,54028,11,54084,54084,11,54140,54140,11,54196,54196,11,54252,54252,11,54308,54308,11,54364,54364,11,54420,54420,11,54476,54476,11,54532,54532,11,54588,54588,11,54644,54644,11,54700,54700,11,54756,54756,11,54812,54812,11,54868,54868,11,54924,54924,11,54980,54980,11,55036,55036,11,55092,55092,11,55148,55148,11,55216,55238,9,65056,65071,5,65529,65531,4,68097,68099,5,68159,68159,5,69446,69456,5,69688,69702,5,69808,69810,7,69815,69816,7,69821,69821,1,69888,69890,5,69932,69932,7,69957,69958,7,70016,70017,5,70067,70069,7,70079,70080,7,70089,70092,5,70095,70095,5,70191,70193,5,70196,70196,5,70198,70199,5,70367,70367,5,70371,70378,5,70402,70403,7,70462,70462,5,70464,70464,5,70471,70472,7,70487,70487,5,70502,70508,5,70709,70711,7,70720,70721,7,70725,70725,7,70750,70750,5,70833,70834,7,70841,70841,7,70843,70844,7,70846,70846,7,70849,70849,7,71087,71087,5,71090,71093,5,71100,71101,5,71103,71104,5,71216,71218,7,71227,71228,7,71230,71230,7,71339,71339,5,71341,71341,5,71344,71349,5,71351,71351,5,71456,71457,7,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123628,123631,5,125252,125258,5,126980,126980,14,127183,127183,14,127245,127247,14,127340,127343,14,127358,127359,14,127377,127386,14,127462,127487,6,127491,127503,14,127535,127535,14,127548,127551,14,127568,127569,14,127744,127777,14,127780,127891,14,127894,127895,14,127897,127899,14,127902,127984,14,127987,127989,14,127991,127994,14,128000,128253,14,128255,128317,14,128329,128334,14,128336,128359,14,128367,128368,14,128371,128377,14,128379,128390,14,128392,128393,14,128398,128399,14,128401,128404,14,128407,128419,14,128421,128421,14,128424,128424,14,128433,128434,14,128444,128444,14,128450,128452,14,128465,128467,14,128476,128478,14,128481,128481,14,128483,128483,14,128488,128488,14,128495,128495,14,128499,128499,14,128506,128591,14,128710,128714,14,128721,128722,14,128725,128725,14,128728,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129664,129666,14,129671,129679,14,129686,129704,14,129712,129718,14,129728,129730,14,129744,129750,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2259,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3134,3136,5,3142,3144,5,3157,3158,5,3201,3201,5,3260,3260,5,3263,3263,5,3266,3266,5,3270,3270,5,3274,3275,7,3285,3286,5,3328,3329,5,3387,3388,5,3391,3392,7,3398,3400,7,3405,3405,5,3415,3415,5,3457,3457,5,3530,3530,5,3536,3537,7,3542,3542,5,3551,3551,5,3633,3633,5,3636,3642,5,3761,3761,5,3764,3772,5,3864,3865,5,3895,3895,5,3902,3903,7,3967,3967,7,3974,3975,5,3993,4028,5,4141,4144,5,4146,4151,5,4155,4156,7,4182,4183,7,4190,4192,5,4226,4226,5,4229,4230,5,4253,4253,5,4448,4519,9,4957,4959,5,5938,5940,5,6002,6003,5,6070,6070,7,6078,6085,7,6087,6088,7,6109,6109,5,6158,6158,4,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6848,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7673,5,8203,8203,4,8205,8205,13,8232,8232,4,8234,8238,4,8265,8265,14,8293,8293,4,8400,8412,5,8417,8417,5,8421,8432,5,8505,8505,14,8617,8618,14,9000,9000,14,9167,9167,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9776,9783,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9935,14,9937,9937,14,9939,9940,14,9961,9962,14,9968,9973,14,9975,9978,14,9981,9981,14,9986,9986,14,9989,9989,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10084,14,10133,10135,14,10160,10160,14,10548,10549,14,11035,11036,14,11093,11093,14,11647,11647,5,12330,12333,5,12336,12336,14,12441,12442,5,12953,12953,14,42608,42610,5,42654,42655,5,43010,43010,5,43019,43019,5,43045,43046,5,43052,43052,5,43188,43203,7,43232,43249,5,43302,43309,5,43346,43347,7,43392,43394,5,43443,43443,5,43446,43449,5,43452,43453,5,43493,43493,5,43567,43568,7,43571,43572,7,43587,43587,5,43597,43597,7,43696,43696,5,43703,43704,5,43713,43713,5,43756,43757,5,43765,43765,7,44003,44004,7,44006,44007,7,44009,44010,7,44013,44013,5,44033,44059,12,44061,44087,12,44089,44115,12,44117,44143,12,44145,44171,12,44173,44199,12,44201,44227,12,44229,44255,12,44257,44283,12,44285,44311,12,44313,44339,12,44341,44367,12,44369,44395,12,44397,44423,12,44425,44451,12,44453,44479,12,44481,44507,12,44509,44535,12,44537,44563,12,44565,44591,12,44593,44619,12,44621,44647,12,44649,44675,12,44677,44703,12,44705,44731,12,44733,44759,12,44761,44787,12,44789,44815,12,44817,44843,12,44845,44871,12,44873,44899,12,44901,44927,12,44929,44955,12,44957,44983,12,44985,45011,12,45013,45039,12,45041,45067,12,45069,45095,12,45097,45123,12,45125,45151,12,45153,45179,12,45181,45207,12,45209,45235,12,45237,45263,12,45265,45291,12,45293,45319,12,45321,45347,12,45349,45375,12,45377,45403,12,45405,45431,12,45433,45459,12,45461,45487,12,45489,45515,12,45517,45543,12,45545,45571,12,45573,45599,12,45601,45627,12,45629,45655,12,45657,45683,12,45685,45711,12,45713,45739,12,45741,45767,12,45769,45795,12,45797,45823,12,45825,45851,12,45853,45879,12,45881,45907,12,45909,45935,12,45937,45963,12,45965,45991,12,45993,46019,12,46021,46047,12,46049,46075,12,46077,46103,12,46105,46131,12,46133,46159,12,46161,46187,12,46189,46215,12,46217,46243,12,46245,46271,12,46273,46299,12,46301,46327,12,46329,46355,12,46357,46383,12,46385,46411,12,46413,46439,12,46441,46467,12,46469,46495,12,46497,46523,12,46525,46551,12,46553,46579,12,46581,46607,12,46609,46635,12,46637,46663,12,46665,46691,12,46693,46719,12,46721,46747,12,46749,46775,12,46777,46803,12,46805,46831,12,46833,46859,12,46861,46887,12,46889,46915,12,46917,46943,12,46945,46971,12,46973,46999,12,47001,47027,12,47029,47055,12,47057,47083,12,47085,47111,12,47113,47139,12,47141,47167,12,47169,47195,12,47197,47223,12,47225,47251,12,47253,47279,12,47281,47307,12,47309,47335,12,47337,47363,12,47365,47391,12,47393,47419,12,47421,47447,12,47449,47475,12,47477,47503,12,47505,47531,12,47533,47559,12,47561,47587,12,47589,47615,12,47617,47643,12,47645,47671,12,47673,47699,12,47701,47727,12,47729,47755,12,47757,47783,12,47785,47811,12,47813,47839,12,47841,47867,12,47869,47895,12,47897,47923,12,47925,47951,12,47953,47979,12,47981,48007,12,48009,48035,12,48037,48063,12,48065,48091,12,48093,48119,12,48121,48147,12,48149,48175,12,48177,48203,12,48205,48231,12,48233,48259,12,48261,48287,12,48289,48315,12,48317,48343,12,48345,48371,12,48373,48399,12,48401,48427,12,48429,48455,12,48457,48483,12,48485,48511,12,48513,48539,12,48541,48567,12,48569,48595,12,48597,48623,12,48625,48651,12,48653,48679,12,48681,48707,12,48709,48735,12,48737,48763,12,48765,48791,12,48793,48819,12,48821,48847,12,48849,48875,12,48877,48903,12,48905,48931,12,48933,48959,12,48961,48987,12,48989,49015,12,49017,49043,12,49045,49071,12,49073,49099,12,49101,49127,12,49129,49155,12,49157,49183,12,49185,49211,12,49213,49239,12,49241,49267,12,49269,49295,12,49297,49323,12,49325,49351,12,49353,49379,12,49381,49407,12,49409,49435,12,49437,49463,12,49465,49491,12,49493,49519,12,49521,49547,12,49549,49575,12,49577,49603,12,49605,49631,12,49633,49659,12,49661,49687,12,49689,49715,12,49717,49743,12,49745,49771,12,49773,49799,12,49801,49827,12,49829,49855,12,49857,49883,12,49885,49911,12,49913,49939,12,49941,49967,12,49969,49995,12,49997,50023,12,50025,50051,12,50053,50079,12,50081,50107,12,50109,50135,12,50137,50163,12,50165,50191,12,50193,50219,12,50221,50247,12,50249,50275,12,50277,50303,12,50305,50331,12,50333,50359,12,50361,50387,12,50389,50415,12,50417,50443,12,50445,50471,12,50473,50499,12,50501,50527,12,50529,50555,12,50557,50583,12,50585,50611,12,50613,50639,12,50641,50667,12,50669,50695,12,50697,50723,12,50725,50751,12,50753,50779,12,50781,50807,12,50809,50835,12,50837,50863,12,50865,50891,12,50893,50919,12,50921,50947,12,50949,50975,12,50977,51003,12,51005,51031,12,51033,51059,12,51061,51087,12,51089,51115,12,51117,51143,12,51145,51171,12,51173,51199,12,51201,51227,12,51229,51255,12,51257,51283,12,51285,51311,12,51313,51339,12,51341,51367,12,51369,51395,12,51397,51423,12,51425,51451,12,51453,51479,12,51481,51507,12,51509,51535,12,51537,51563,12,51565,51591,12,51593,51619,12,51621,51647,12,51649,51675,12,51677,51703,12,51705,51731,12,51733,51759,12,51761,51787,12,51789,51815,12,51817,51843,12,51845,51871,12,51873,51899,12,51901,51927,12,51929,51955,12,51957,51983,12,51985,52011,12,52013,52039,12,52041,52067,12,52069,52095,12,52097,52123,12,52125,52151,12,52153,52179,12,52181,52207,12,52209,52235,12,52237,52263,12,52265,52291,12,52293,52319,12,52321,52347,12,52349,52375,12,52377,52403,12,52405,52431,12,52433,52459,12,52461,52487,12,52489,52515,12,52517,52543,12,52545,52571,12,52573,52599,12,52601,52627,12,52629,52655,12,52657,52683,12,52685,52711,12,52713,52739,12,52741,52767,12,52769,52795,12,52797,52823,12,52825,52851,12,52853,52879,12,52881,52907,12,52909,52935,12,52937,52963,12,52965,52991,12,52993,53019,12,53021,53047,12,53049,53075,12,53077,53103,12,53105,53131,12,53133,53159,12,53161,53187,12,53189,53215,12,53217,53243,12,53245,53271,12,53273,53299,12,53301,53327,12,53329,53355,12,53357,53383,12,53385,53411,12,53413,53439,12,53441,53467,12,53469,53495,12,53497,53523,12,53525,53551,12,53553,53579,12,53581,53607,12,53609,53635,12,53637,53663,12,53665,53691,12,53693,53719,12,53721,53747,12,53749,53775,12,53777,53803,12,53805,53831,12,53833,53859,12,53861,53887,12,53889,53915,12,53917,53943,12,53945,53971,12,53973,53999,12,54001,54027,12,54029,54055,12,54057,54083,12,54085,54111,12,54113,54139,12,54141,54167,12,54169,54195,12,54197,54223,12,54225,54251,12,54253,54279,12,54281,54307,12,54309,54335,12,54337,54363,12,54365,54391,12,54393,54419,12,54421,54447,12,54449,54475,12,54477,54503,12,54505,54531,12,54533,54559,12,54561,54587,12,54589,54615,12,54617,54643,12,54645,54671,12,54673,54699,12,54701,54727,12,54729,54755,12,54757,54783,12,54785,54811,12,54813,54839,12,54841,54867,12,54869,54895,12,54897,54923,12,54925,54951,12,54953,54979,12,54981,55007,12,55009,55035,12,55037,55063,12,55065,55091,12,55093,55119,12,55121,55147,12,55149,55175,12,55177,55203,12,55243,55291,10,65024,65039,5,65279,65279,4,65520,65528,4,66045,66045,5,66422,66426,5,68101,68102,5,68152,68154,5,68325,68326,5,69291,69292,5,69632,69632,7,69634,69634,7,69759,69761,5]")
}static getInstance(){return x._INSTANCE||(x._INSTANCE=new x),x._INSTANCE}getGraphemeBreakType(e){if(e<32)return 10===e?3:13===e?2:4;if(e<127)return 0;const t=this._data,n=t.length/3;let s=1;for(;s<=n;)if(e<t[3*s])s*=2;else{if(!(e>t[3*s+1]))return t[3*s+2];s=2*s+1}return 0}}x._INSTANCE=null})),define(e[5],t([1,0,14,13]),(function(e,t,n,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const i="undefined"!=typeof Buffer,r="undefined"!=typeof TextEncoder,o="undefined"!=typeof TextDecoder;let a,c;class h{constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}static alloc(e){return new h(i?Buffer.allocUnsafe(e):new Uint8Array(e))}static wrap(e){return i&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new h(e)}static fromString(e){return i?new h(Buffer.from(e)):r?(a||(a=new TextEncoder),new h(a.encode(e))):new h(n.encodeUTF8(e))}static concat(e,t){if(void 0===t){t=0;for(let n=0,s=e.length;n<s;n++)t+=e[n].byteLength}const n=h.alloc(t);let s=0
;for(let t=0,i=e.length;t<i;t++){const i=e[t];n.set(i,s),s+=i.byteLength}return n}toString(){return i?this.buffer.toString():o?(c||(c=new TextDecoder),c.decode(this.buffer)):n.decodeUTF8(this.buffer)}slice(e,t){return new h(this.buffer.subarray(e,t))}set(e,t){this.buffer.set(e.buffer,t)}readUInt32BE(e){return l(this.buffer,e)}writeUInt32BE(e,t){u(this.buffer,e,t)}readUInt8(e){return function(e,t){return e[t]}(this.buffer,e)}writeUInt8(e,t){!function(e,t,n){e[n]=t}(this.buffer,e,t)}}function l(e,t){return e[t]*2**24+65536*e[t+1]+256*e[t+2]+e[t+3]}function u(e,t,n){e[n+3]=t,t>>>=8,e[n+2]=t,t>>>=8,e[n+1]=t,t>>>=8,e[n]=t}t.VSBuffer=h,t.readUInt32BE=l,t.writeUInt32BE=u,t.readableToBuffer=function(e){return s.consumeReadable(e,e=>h.concat(e))},t.bufferToReadable=function(e){return s.toReadable(e)},t.streamToBuffer=function(e){return s.consumeStream(e,e=>h.concat(e))},t.bufferToStream=function(e){return s.toStream(e,e=>h.concat(e))},t.streamToBufferReadableStream=function(e){return s.transform(e,{
data:e=>"string"==typeof e?h.fromString(e):h.wrap(e)},e=>h.concat(e))},t.newWriteableBufferStream=function(){return s.newWriteableStream(e=>h.concat(e))}})),define(e[16],t([1,0]),(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class n{constructor(e){this._value=e}asHex(){return this._value}}class s extends n{constructor(){super([s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),"-",s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),"-","4",s._randomHex(),s._randomHex(),s._randomHex(),"-",s._oneOf(s._timeHighBits),s._randomHex(),s._randomHex(),s._randomHex(),"-",s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex(),s._randomHex()].join(""))}static _oneOf(e){return e[Math.floor(e.length*Math.random())]}static _randomHex(){return s._oneOf(s._chars)}}function i(){return new s}
s._chars=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"],s._timeHighBits=["8","9","a","b"],t.v4=i;const r=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function o(e){return r.test(e)}t.isUUID=o,t.parse=function(e){if(!o(e))throw new Error("invalid uuid");return new n(e)},t.generateUuid=function(){return i().asHex()}})),define(e[7],t([1,0,3,2,12,8,4,5]),(function(e,t,n,s,i,r,o,a){"use strict";var c,h;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.Promise=100]="Promise",e[e.PromiseCancel=101]="PromiseCancel",e[e.EventListen=102]="EventListen",e[e.EventDispose=103]="EventDispose"}(t.RequestType||(t.RequestType={})),function(e){e[e.Initialize=200]="Initialize",e[e.PromiseSuccess=201]="PromiseSuccess",e[e.PromiseError=202]="PromiseError",e[e.PromiseErrorObj=203]="PromiseErrorObj",e[e.EventFire=204]="EventFire"}(t.ResponseType||(t.ResponseType={})),function(e){e[e.Uninitialized=0]="Uninitialized",e[e.Idle=1]="Idle"}(c||(c={}));class l{constructor(e){
this.buffer=e,this.pos=0}read(e){const t=this.buffer.slice(this.pos,this.pos+e);return this.pos+=t.byteLength,t}}class u{constructor(){this.buffers=[]}get buffer(){return a.VSBuffer.concat(this.buffers)}write(e){this.buffers.push(e)}}function d(e){const t=a.VSBuffer.alloc(4);return t.writeUInt32BE(e,0),t}function f(e){return e.read(4).readUInt32BE(0)}function g(e){const t=a.VSBuffer.alloc(1);return t.writeUInt8(e,0),t}!function(e){e[e.Undefined=0]="Undefined",e[e.String=1]="String",e[e.Buffer=2]="Buffer",e[e.VSBuffer=3]="VSBuffer",e[e.Array=4]="Array",e[e.Object=5]="Object"}(h||(h={}));const p={Undefined:g(h.Undefined),String:g(h.String),Buffer:g(h.Buffer),VSBuffer:g(h.VSBuffer),Array:g(h.Array),Object:g(h.Object)},m="undefined"!=typeof Buffer;function _(e,t){if(void 0===t)e.write(p.Undefined);else if("string"==typeof t){const n=a.VSBuffer.fromString(t);e.write(p.String),e.write(d(n.byteLength)),e.write(n)}else if(m&&Buffer.isBuffer(t)){const n=a.VSBuffer.wrap(t);e.write(p.Buffer),e.write(d(n.byteLength)),
e.write(n)}else if(t instanceof a.VSBuffer)e.write(p.VSBuffer),e.write(d(t.byteLength)),e.write(t);else if(Array.isArray(t)){e.write(p.Array),e.write(d(t.length));for(const n of t)_(e,n)}else{const n=a.VSBuffer.fromString(JSON.stringify(t));e.write(p.Object),e.write(d(n.byteLength)),e.write(n)}}function v(e){switch(e.read(1).readUInt8(0)){case h.Undefined:return;case h.String:return e.read(f(e)).toString();case h.Buffer:return e.read(f(e)).buffer;case h.VSBuffer:return e.read(f(e));case h.Array:{const t=f(e),n=[];for(let s=0;s<t;s++)n.push(v(e));return n}case h.Object:return JSON.parse(e.read(f(e)).toString())}}class w{constructor(e,t,n=1e3){this.protocol=e,this.ctx=t,this.timeoutDelay=n,this.channels=new Map,this.activeRequests=new Map,this.pendingRequests=new Map,this.protocolListener=this.protocol.onMessage(e=>this.onRawMessage(e)),this.sendResponse({type:200})}registerChannel(e,t){this.channels.set(e,t),setTimeout(()=>this.flushPendingRequests(e),0)}sendResponse(e){switch(e.type){case 200:
return this.send([e.type]);case 201:case 202:case 204:case 203:return this.send([e.type,e.id],e.data)}}send(e,t){const n=new u;_(n,e),_(n,t),this.sendBuffer(n.buffer)}sendBuffer(e){try{this.protocol.send(e)}catch(e){}}onRawMessage(e){const t=new l(e),n=v(t),s=v(t),i=n[0];switch(i){case 100:return this.onPromise({type:i,id:n[1],channelName:n[2],name:n[3],arg:s});case 102:return this.onEventListen({type:i,id:n[1],channelName:n[2],name:n[3],arg:s});case 101:case 103:return this.disposeActiveRequest({type:i,id:n[1]})}}onPromise(e){const t=this.channels.get(e.channelName);if(!t)return void this.collectPendingRequest(e);const n=new r.CancellationTokenSource;let i;try{i=t.call(this.ctx,e.name,e.arg,n.token)}catch(e){i=Promise.reject(e)}const o=e.id;i.then(t=>{this.sendResponse({id:o,data:t,type:201}),this.activeRequests.delete(e.id)},t=>{t instanceof Error?this.sendResponse({id:o,data:{message:t.message,name:t.name,stack:t.stack?t.stack.split?t.stack.split("\n"):t.stack:void 0},type:202}):this.sendResponse({id:o,
data:t,type:203}),this.activeRequests.delete(e.id)});const a=s.toDisposable(()=>n.cancel());this.activeRequests.set(e.id,a)}onEventListen(e){const t=this.channels.get(e.channelName);if(!t)return void this.collectPendingRequest(e);const n=e.id,s=t.listen(this.ctx,e.name,e.arg)(e=>this.sendResponse({id:n,data:e,type:204}));this.activeRequests.set(e.id,s)}disposeActiveRequest(e){const t=this.activeRequests.get(e.id);t&&(t.dispose(),this.activeRequests.delete(e.id))}collectPendingRequest(e){let t=this.pendingRequests.get(e.channelName);t||(t=[],this.pendingRequests.set(e.channelName,t));const n=setTimeout(()=>{console.error(`Unknown channel: ${e.channelName}`),100===e.type&&this.sendResponse({id:e.id,data:{name:"Unknown channel",message:`Channel name '${e.channelName}' timed out after ${this.timeoutDelay}ms`,stack:void 0},type:202})},this.timeoutDelay);t.push({request:e,timeoutTimer:n})}flushPendingRequests(e){const t=this.pendingRequests.get(e);if(t){for(const e of t)switch(clearTimeout(e.timeoutTimer),
e.request.type){case 100:this.onPromise(e.request);break;case 102:this.onEventListen(e.request)}this.pendingRequests.delete(e)}}dispose(){this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),this.activeRequests.forEach(e=>e.dispose()),this.activeRequests.clear()}}t.ChannelServer=w;class k{constructor(e){this.protocol=e,this.state=c.Uninitialized,this.activeRequests=new Set,this.handlers=new Map,this.lastRequestId=0,this._onDidInitialize=new n.Emitter,this.onDidInitialize=this._onDidInitialize.event,this.protocolListener=this.protocol.onMessage(e=>this.onBuffer(e))}getChannel(e){const t=this;return{call:(n,s,i)=>t.requestPromise(e,n,s,i),listen:(n,s)=>t.requestEvent(e,n,s)}}requestPromise(e,t,n,a=r.CancellationToken.None){const c=this.lastRequestId++,h={id:c,type:100,channelName:e,name:t,arg:n};if(a.isCancellationRequested)return Promise.reject(o.canceled());let l;return new Promise((e,t)=>{if(a.isCancellationRequested)return t(o.canceled())
;let n=i.createCancelablePromise(e=>this.whenInitialized());n.then(()=>{n=null;this.handlers.set(c,n=>{switch(n.type){case 201:this.handlers.delete(c),e(n.data);break;case 202:this.handlers.delete(c);const s=new Error(n.data.message);s.stack=n.data.stack,s.name=n.data.name,t(s);break;case 203:this.handlers.delete(c),t(n.data)}}),this.sendRequest(h)});const r=()=>{n?(n.cancel(),n=null):this.sendRequest({id:c,type:101}),t(o.canceled())},u=a.onCancellationRequested(r);l=s.combinedDisposable(s.toDisposable(r),u),this.activeRequests.add(l)}).finally(()=>this.activeRequests.delete(l))}requestEvent(e,t,s){const r=this.lastRequestId++,o={id:r,type:102,channelName:e,name:t,arg:s};let a=null;const c=new n.Emitter({onFirstListenerAdd:()=>{(a=i.createCancelablePromise(e=>this.whenInitialized())).then(()=>{a=null,this.activeRequests.add(c),this.sendRequest(o)})},onLastListenerRemove:()=>{a?(a.cancel(),a=null):(this.activeRequests.delete(c),this.sendRequest({id:r,type:103}))}})
;return this.handlers.set(r,e=>c.fire(e.data)),c.event}sendRequest(e){switch(e.type){case 100:case 102:return this.send([e.type,e.id,e.channelName,e.name],e.arg);case 101:case 103:return this.send([e.type,e.id])}}send(e,t){const n=new u;_(n,e),_(n,t),this.sendBuffer(n.buffer)}sendBuffer(e){try{this.protocol.send(e)}catch(e){}}onBuffer(e){const t=new l(e),n=v(t),s=v(t);switch(n[0]){case 200:return this.onResponse({type:n[0]});case 201:case 202:case 204:case 203:return this.onResponse({type:n[0],id:n[1],data:s})}}onResponse(e){if(200===e.type)return this.state=c.Idle,void this._onDidInitialize.fire();const t=this.handlers.get(e.id);t&&t(e)}whenInitialized(){return this.state===c.Idle?Promise.resolve():n.Event.toPromise(this.onDidInitialize)}dispose(){this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),this.activeRequests.forEach(e=>e.dispose()),this.activeRequests.clear()}}t.ChannelClient=k;t.IPCServer=class{constructor(e){this.channels=new Map,this._connections=new Set,
this._onDidChangeConnections=new n.Emitter,this.onDidChangeConnections=this._onDidChangeConnections.event,e(({protocol:e,onDidClientDisconnect:t})=>{n.Event.once(e.onMessage)(n=>{const s=v(new l(n)),i=new w(e,s),r=new k(e);this.channels.forEach((e,t)=>i.registerChannel(t,e));const o={channelServer:i,channelClient:r,ctx:s};this._connections.add(o),this._onDidChangeConnections.fire(o),t(()=>{i.dispose(),r.dispose(),this._connections.delete(o)})})})}get connections(){const e=[];return this._connections.forEach(t=>e.push(t)),e}getChannel(e,t){const n=this;return{call:(s,i,r)=>C(t.routeCall(n,s,i).then(t=>t.channelClient.getChannel(e))).call(s,i,r),listen:(s,i)=>C(t.routeEvent(n,s,i).then(t=>t.channelClient.getChannel(e))).listen(s,i)}}registerChannel(e,t){this.channels.set(e,t),this._connections.forEach(n=>{n.channelServer.registerChannel(e,t)})}dispose(){this.channels.clear(),this._connections.clear(),this._onDidChangeConnections.dispose()}};function C(e){return{call:(t,n,s)=>e.then(e=>e.call(t,n,s)),
listen(t,s){const i=new n.Relay;return e.then(e=>i.input=e.listen(t,s)),i.event}}}t.IPCClient=class{constructor(e,t){const n=new u;_(n,t),e.send(n.buffer),this.channelClient=new k(e),this.channelServer=new w(e,t)}getChannel(e){return this.channelClient.getChannel(e)}registerChannel(e,t){this.channelServer.registerChannel(e,t)}dispose(){this.channelClient.dispose(),this.channelServer.dispose()}},t.getDelayedChannel=C,t.getNextTickChannel=function(e){let t=!1;return{call:(n,s,r)=>t?e.call(n,s,r):i.timeout(0).then(()=>t=!0).then(()=>e.call(n,s,r)),listen(s,r){if(t)return e.listen(s,r);const o=new n.Relay;return i.timeout(0).then(()=>t=!0).then(()=>o.input=e.listen(s,r)),o.event}}};t.StaticRouter=class{constructor(e){this.fn=e}routeCall(e){return this.route(e)}routeEvent(e){return this.route(e)}async route(e){for(const t of e.connections)if(await Promise.resolve(this.fn(t.ctx)))return Promise.resolve(t);return await n.Event.toPromise(e.onDidChangeConnections),await this.route(e)}}})),
define(e[18],t([1,0,3,7,2,5,10,9]),(function(e,t,n,s,i,r,o,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});let c=null;function h(){return c||(c=r.VSBuffer.alloc(0)),c}class l{constructor(){this._chunks=[],this._totalLength=0}get byteLength(){return this._totalLength}acceptChunk(e){this._chunks.push(e),this._totalLength+=e.byteLength}read(e){return this._read(e,!0)}peek(e){return this._read(e,!1)}_read(e,t){if(0===e)return h();if(e>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===e){const n=this._chunks[0];return t&&(this._chunks.shift(),this._totalLength-=e),n}if(this._chunks[0].byteLength>e){const n=this._chunks[0].slice(0,e);return t&&(this._chunks[0]=this._chunks[0].slice(e),this._totalLength-=e),n}let n=r.VSBuffer.alloc(e),s=0,i=0;for(;e>0;){const r=this._chunks[i];if(r.byteLength>e){const o=r.slice(0,e);n.set(o,s),s+=e,t&&(this._chunks[i]=r.slice(e),this._totalLength-=e),e-=e}else n.set(r,s),s+=r.byteLength,t?(this._chunks.shift(),
this._totalLength-=r.byteLength):i++,e-=r.byteLength}return n}}var u;t.ChunkStream=l,function(e){e[e.None=0]="None",e[e.Regular=1]="Regular",e[e.Control=2]="Control",e[e.Ack=3]="Ack",e[e.KeepAlive=4]="KeepAlive",e[e.Disconnect=5]="Disconnect"}(u||(u={})),function(e){e[e.HeaderLength=13]="HeaderLength",e[e.AcknowledgeTime=2e3]="AcknowledgeTime",e[e.AcknowledgeTimeoutTime=2e4]="AcknowledgeTimeoutTime",e[e.KeepAliveTime=5e3]="KeepAliveTime",e[e.KeepAliveTimeoutTime=2e4]="KeepAliveTimeoutTime",e[e.ReconnectionGraceTime=108e5]="ReconnectionGraceTime",e[e.ReconnectionShortGraceTime=3e5]="ReconnectionShortGraceTime"}(t.ProtocolConstants||(t.ProtocolConstants={}));class d{constructor(e,t,n,s){this.type=e,this.id=t,this.ack=n,this.data=s,this.writtenTime=0}get size(){return this.data.byteLength}}class f extends i.Disposable{constructor(e){super(),this._onMessage=this._register(new n.Emitter),this.onMessage=this._onMessage.event,this._state={readHead:!0,readLen:13,messageType:0,id:0,ack:0},this._socket=e,
this._isDisposed=!1,this._incomingData=new l,this._register(this._socket.onData(e=>this.acceptChunk(e))),this.lastReadTime=Date.now()}acceptChunk(e){if(e&&0!==e.byteLength)for(this.lastReadTime=Date.now(),this._incomingData.acceptChunk(e);this._incomingData.byteLength>=this._state.readLen;){const e=this._incomingData.read(this._state.readLen);if(this._state.readHead)this._state.readHead=!1,this._state.readLen=e.readUInt32BE(9),this._state.messageType=e.readUInt8(0),this._state.id=e.readUInt32BE(1),this._state.ack=e.readUInt32BE(5);else{const t=this._state.messageType,n=this._state.id,s=this._state.ack;if(this._state.readHead=!0,this._state.readLen=13,this._state.messageType=0,this._state.id=0,this._state.ack=0,this._onMessage.fire(new d(t,n,s,e)),this._isDisposed)break}}}readEntireBuffer(){return this._incomingData.read(this._incomingData.byteLength)}dispose(){this._isDisposed=!0,super.dispose()}}class g{constructor(e){this._isDisposed=!1,this._socket=e,this._data=[],this._totalLength=0,this.lastWriteTime=0}
dispose(){this.flush(),this._isDisposed=!0}flush(){this._writeNow()}write(e){if(this._isDisposed)return;e.writtenTime=Date.now(),this.lastWriteTime=Date.now();const t=r.VSBuffer.alloc(13);t.writeUInt8(e.type,0),t.writeUInt32BE(e.id,1),t.writeUInt32BE(e.ack,5),t.writeUInt32BE(e.data.byteLength,9),this._writeSoon(t,e.data)}_bufferAdd(e,t){const n=0===this._totalLength;return this._data.push(e,t),this._totalLength+=e.byteLength+t.byteLength,n}_bufferTake(){const e=r.VSBuffer.concat(this._data,this._totalLength);return this._data.length=0,this._totalLength=0,e}_writeSoon(e,t){this._bufferAdd(e,t)&&o.setImmediate(()=>{this._writeNow()})}_writeNow(){0!==this._totalLength&&this._socket.write(this._bufferTake())}}class p extends i.Disposable{constructor(e){super(),this._onMessage=new n.Emitter,this.onMessage=this._onMessage.event,this._onClose=new n.Emitter,this.onClose=this._onClose.event,this._socket=e,this._socketWriter=this._register(new g(this._socket)),this._socketReader=this._register(new f(this._socket)),
this._register(this._socketReader.onMessage(e=>{1===e.type&&this._onMessage.fire(e.data)})),this._register(this._socket.onClose(()=>this._onClose.fire()))}getSocket(){return this._socket}sendDisconnect(){}send(e){this._socketWriter.write(new d(1,0,0,e))}}t.Protocol=p;class m extends s.IPCClient{constructor(e,t){super(e,t),this.protocol=e}static fromSocket(e,t){return new m(new p(e),t)}get onClose(){return this.protocol.onClose}dispose(){super.dispose();const e=this.protocol.getSocket();this.protocol.sendDisconnect(),this.protocol.dispose(),e.end()}}t.Client=m;class _{constructor(){this._hasListeners=!1,this._isDeliveringMessages=!1,this._bufferedMessages=[],this._emitter=new n.Emitter({onFirstListenerAdd:()=>{this._hasListeners=!0,a.nextTick(()=>this._deliverMessages())},onLastListenerRemove:()=>{this._hasListeners=!1}}),this.event=this._emitter.event}_deliverMessages(){if(!this._isDeliveringMessages){
for(this._isDeliveringMessages=!0;this._hasListeners&&this._bufferedMessages.length>0;)this._emitter.fire(this._bufferedMessages.shift());this._isDeliveringMessages=!1}}fire(e){this._hasListeners?this._bufferedMessages.length>0?this._bufferedMessages.push(e):this._emitter.fire(e):this._bufferedMessages.push(e)}flushBuffer(){this._bufferedMessages=[]}}t.BufferedEmitter=_;class v{constructor(e){this.data=e,this.next=null}}class w{constructor(){this._first=null,this._last=null}peek(){return this._first?this._first.data:null}toArray(){let e=[],t=0,n=this._first;for(;n;)e[t++]=n.data,n=n.next;return e}pop(){if(this._first)return this._first===this._last?(this._first=null,void(this._last=null)):void(this._first=this._first.next)}push(e){const t=new v(e);if(!this._first)return this._first=t,void(this._last=t);this._last.next=t,this._last=t}}t.PersistentProtocol=class{constructor(e,t=null){this._onControlMessage=new _,this.onControlMessage=this._onControlMessage.event,this._onMessage=new _,
this.onMessage=this._onMessage.event,this._onClose=new _,this.onClose=this._onClose.event,this._onSocketClose=new _,this.onSocketClose=this._onSocketClose.event,this._onSocketTimeout=new _,this.onSocketTimeout=this._onSocketTimeout.event,this._isReconnecting=!1,this._outgoingUnackMsg=new w,this._outgoingMsgId=0,this._outgoingAckId=0,this._outgoingAckTimeout=null,this._incomingMsgId=0,this._incomingAckId=0,this._incomingMsgLastTime=0,this._incomingAckTimeout=null,this._outgoingKeepAliveTimeout=null,this._incomingKeepAliveTimeout=null,this._socketDisposables=[],this._socket=e,this._socketWriter=new g(this._socket),this._socketDisposables.push(this._socketWriter),this._socketReader=new f(this._socket),this._socketDisposables.push(this._socketReader),this._socketDisposables.push(this._socketReader.onMessage(e=>this._receiveMessage(e))),this._socketDisposables.push(this._socket.onClose(()=>this._onSocketClose.fire())),t&&this._socketReader.acceptChunk(t),this._sendKeepAliveCheck(),this._recvKeepAliveCheck()}
get unacknowledgedCount(){return this._outgoingMsgId-this._outgoingAckId}dispose(){this._outgoingAckTimeout&&(clearTimeout(this._outgoingAckTimeout),this._outgoingAckTimeout=null),this._incomingAckTimeout&&(clearTimeout(this._incomingAckTimeout),this._incomingAckTimeout=null),this._outgoingKeepAliveTimeout&&(clearTimeout(this._outgoingKeepAliveTimeout),this._outgoingKeepAliveTimeout=null),this._incomingKeepAliveTimeout&&(clearTimeout(this._incomingKeepAliveTimeout),this._incomingKeepAliveTimeout=null),this._socketDisposables=i.dispose(this._socketDisposables)}sendDisconnect(){const e=new d(5,0,0,h());this._socketWriter.write(e),this._socketWriter.flush()}_sendKeepAliveCheck(){if(this._outgoingKeepAliveTimeout)return;const e=Date.now()-this._socketWriter.lastWriteTime;if(e>=5e3){const e=new d(4,0,0,h());return this._socketWriter.write(e),void this._sendKeepAliveCheck()}this._outgoingKeepAliveTimeout=setTimeout(()=>{this._outgoingKeepAliveTimeout=null,this._sendKeepAliveCheck()},5e3-e+5)}_recvKeepAliveCheck(){
if(this._incomingKeepAliveTimeout)return;const e=Date.now()-this._socketReader.lastReadTime;e>=2e4?this._onSocketTimeout.fire(void 0):this._incomingKeepAliveTimeout=setTimeout(()=>{this._incomingKeepAliveTimeout=null,this._recvKeepAliveCheck()},2e4-e+5)}getSocket(){return this._socket}beginAcceptReconnection(e,t){this._isReconnecting=!0,this._socketDisposables=i.dispose(this._socketDisposables),this._onControlMessage.flushBuffer(),this._onSocketClose.flushBuffer(),this._onSocketTimeout.flushBuffer(),this._socket.dispose(),this._socket=e,this._socketWriter=new g(this._socket),this._socketDisposables.push(this._socketWriter),this._socketReader=new f(this._socket),this._socketDisposables.push(this._socketReader),this._socketDisposables.push(this._socketReader.onMessage(e=>this._receiveMessage(e))),this._socketDisposables.push(this._socket.onClose(()=>this._onSocketClose.fire())),this._socketReader.acceptChunk(t)}endAcceptReconnection(){this._isReconnecting=!1;const e=this._outgoingUnackMsg.toArray()
;for(let t=0,n=e.length;t<n;t++)this._socketWriter.write(e[t]);this._recvAckCheck(),this._sendKeepAliveCheck(),this._recvKeepAliveCheck()}acceptDisconnect(){this._onClose.fire()}_receiveMessage(e){if(e.ack>this._outgoingAckId)for(this._outgoingAckId=e.ack;;){const t=this._outgoingUnackMsg.peek();if(!(t&&t.id<=e.ack))break;this._outgoingUnackMsg.pop()}1===e.type?e.id>this._incomingMsgId&&(e.id!==this._incomingMsgId+1&&console.error(`PROTOCOL CORRUPTION, LAST SAW MSG ${this._incomingMsgId} AND HAVE NOW RECEIVED MSG ${e.id}`),this._incomingMsgId=e.id,this._incomingMsgLastTime=Date.now(),this._sendAckCheck(),this._onMessage.fire(e.data)):2===e.type?this._onControlMessage.fire(e.data):5===e.type&&this._onClose.fire()}readEntireBuffer(){return this._socketReader.readEntireBuffer()}flush(){this._socketWriter.flush()}send(e){const t=++this._outgoingMsgId;this._incomingAckId=this._incomingMsgId;const n=new d(1,t,this._incomingAckId,e);this._outgoingUnackMsg.push(n),this._isReconnecting||(this._socketWriter.write(n),
this._recvAckCheck())}sendControl(e){const t=new d(2,0,0,e);this._socketWriter.write(t)}_sendAckCheck(){if(this._incomingMsgId<=this._incomingAckId)return;if(this._incomingAckTimeout)return;const e=Date.now()-this._incomingMsgLastTime;e>=2e3?this._sendAck():this._incomingAckTimeout=setTimeout(()=>{this._incomingAckTimeout=null,this._sendAckCheck()},2e3-e+5)}_recvAckCheck(){if(this._outgoingMsgId<=this._outgoingAckId)return;if(this._outgoingAckTimeout)return;const e=this._outgoingUnackMsg.peek(),t=Date.now()-e.writtenTime;t>=2e4?this._onSocketTimeout.fire(void 0):this._outgoingAckTimeout=setTimeout(()=>{this._outgoingAckTimeout=null,this._recvAckCheck()},2e4-t+5)}_sendAck(){if(this._incomingMsgId<=this._incomingAckId)return;this._incomingAckId=this._incomingMsgId;const e=new d(3,0,this._incomingAckId,h());this._socketWriter.write(e)}}})),define(e[19],t([1,0,20,3,7,17,21,16,2,5,18]),(function(e,t,n,s,i,r,o,a,c,h,l){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class u{constructor(e){
this.socket=e}dispose(){this.socket.destroy()}onData(e){const t=t=>e(h.VSBuffer.wrap(t));return this.socket.on("data",t),{dispose:()=>this.socket.off("data",t)}}onClose(e){return this.socket.on("close",e),{dispose:()=>this.socket.off("close",e)}}onEnd(e){return this.socket.on("end",e),{dispose:()=>this.socket.off("end",e)}}write(e){this.socket.destroyed||this.socket.write(e.buffer)}end(){this.socket.end()}}var d,f;t.NodeSocket=u,function(e){e[e.MinHeaderByteSize=2]="MinHeaderByteSize"}(d||(d={})),function(e){e[e.PeekHeader=1]="PeekHeader",e[e.ReadHeader=2]="ReadHeader",e[e.ReadBody=3]="ReadBody",e[e.Fin=4]="Fin"}(f||(f={}));class g extends c.Disposable{constructor(e){super(),this._onData=this._register(new s.Emitter),this._state={state:1,readLen:2,mask:0},this.socket=e,this._incomingData=new l.ChunkStream,this._register(this.socket.onData(e=>this._acceptChunk(e)))}dispose(){this.socket.dispose()}onData(e){return this._onData.event(e)}onClose(e){return this.socket.onClose(e)}onEnd(e){
return this.socket.onEnd(e)}write(e){let t=2;e.byteLength<126?t+=0:e.byteLength<65536?t+=2:t+=8;const n=h.VSBuffer.alloc(t);if(n.writeUInt8(130,0),e.byteLength<126)n.writeUInt8(e.byteLength,1);else if(e.byteLength<65536){n.writeUInt8(126,1);let t=1;n.writeUInt8(e.byteLength>>>8&255,++t),n.writeUInt8(e.byteLength>>>0&255,++t)}else{n.writeUInt8(127,1);let t=1;n.writeUInt8(0,++t),n.writeUInt8(0,++t),n.writeUInt8(0,++t),n.writeUInt8(0,++t),n.writeUInt8(e.byteLength>>>24&255,++t),n.writeUInt8(e.byteLength>>>16&255,++t),n.writeUInt8(e.byteLength>>>8&255,++t),n.writeUInt8(e.byteLength>>>0&255,++t)}this.socket.write(h.VSBuffer.concat([n,e]))}end(){this.socket.end()}_acceptChunk(e){if(0!==e.byteLength)for(this._incomingData.acceptChunk(e);this._incomingData.byteLength>=this._state.readLen;)if(1===this._state.state){const e=this._incomingData.peek(this._state.readLen).readUInt8(1),t=(128&e)>>>7,n=127&e;this._state.state=2,this._state.readLen=2+(t?4:0)+(126===n?2:0)+(127===n?8:0),this._state.mask=0
}else if(2===this._state.state){const e=this._incomingData.read(this._state.readLen),t=e.readUInt8(1),n=(128&t)>>>7;let s=127&t,i=1;126===s?s=256*e.readUInt8(++i)+e.readUInt8(++i):127===s&&(s=0*e.readUInt8(++i)+0*e.readUInt8(++i)+0*e.readUInt8(++i)+0*e.readUInt8(++i)+e.readUInt8(++i)*2**24+65536*e.readUInt8(++i)+256*e.readUInt8(++i)+e.readUInt8(++i));let r=0;n&&(r=e.readUInt8(++i)*2**24+65536*e.readUInt8(++i)+256*e.readUInt8(++i)+e.readUInt8(++i)),this._state.state=3,this._state.readLen=s,this._state.mask=r}else if(3===this._state.state){const e=this._incomingData.read(this._state.readLen);p(e,this._state.mask),this._state.state=1,this._state.readLen=2,this._state.mask=0,this._onData.fire(e)}}}function p(e,t){if(0===t)return;let n=e.byteLength>>>2;for(let s=0;s<n;s++){const n=e.readUInt32BE(4*s);e.writeUInt32BE(n^t,4*s)}let s=4*n,i=e.byteLength-s;const r=t>>>24&255,o=t>>>16&255,a=t>>>8&255;i>=1&&e.writeUInt8(e.readUInt8(s)^r,s),i>=2&&e.writeUInt8(e.readUInt8(s+1)^o,s+1),
i>=3&&e.writeUInt8(e.readUInt8(s+2)^a,s+2)}t.WebSocketNodeSocket=g,t.generateRandomPipeName=function(){const e=a.generateUuid();return"win32"===process.platform?`\\\\.\\pipe\\vscode-ipc-${e}-sock`:r.join(o.tmpdir(),`vscode-ipc-${e}.sock`)};class m extends i.IPCServer{constructor(e){super(m.toClientConnectionEvent(e)),this.server=e}static toClientConnectionEvent(e){const t=s.Event.fromNodeEventEmitter(e,"connection");return s.Event.map(t,e=>({protocol:new l.Protocol(new u(e)),onDidClientDisconnect:s.Event.once(s.Event.fromNodeEventEmitter(e,"close"))}))}dispose(){super.dispose(),this.server&&(this.server.close(),this.server=null)}}t.Server=m,t.serve=function(e){return new Promise((t,s)=>{const i=n.createServer();i.on("error",s),i.listen(e,()=>{i.removeListener("error",s),t(new m(i))})})},t.connect=function(e,t){return new Promise((s,i)=>{const r=n.createConnection(e,()=>{r.removeListener("error",i),s(l.Client.fromSocket(new u(r),t))});r.once("error",i)})}})),define(e[22],t([1,0,19]),(function(e,t,n){
"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.DriverChannel=class{constructor(e){this.driver=e}listen(e,t){throw new Error("No event found")}call(e,t,n){switch(t){case"getWindowIds":return this.driver.getWindowIds();case"capturePage":return this.driver.capturePage(n);case"reloadWindow":return this.driver.reloadWindow(n);case"exitApplication":return this.driver.exitApplication();case"dispatchKeybinding":return this.driver.dispatchKeybinding(n[0],n[1]);case"click":return this.driver.click(n[0],n[1],n[2],n[3]);case"doubleClick":return this.driver.doubleClick(n[0],n[1]);case"setValue":return this.driver.setValue(n[0],n[1],n[2]);case"getTitle":return this.driver.getTitle(n[0]);case"isActiveElement":return this.driver.isActiveElement(n[0],n[1]);case"getElements":return this.driver.getElements(n[0],n[1],n[2]);case"getElementXY":return this.driver.getElementXY(n[0],n[1],n[2]);case"typeInEditor":return this.driver.typeInEditor(n[0],n[1],n[2]);case"getTerminalBuffer":
return this.driver.getTerminalBuffer(n[0],n[1]);case"writeInTerminal":return this.driver.writeInTerminal(n[0],n[1],n[2])}throw new Error(`Call not found: ${t}`)}};class s{constructor(e){this.channel=e}getWindowIds(){return this.channel.call("getWindowIds")}capturePage(e){return this.channel.call("capturePage",e)}reloadWindow(e){return this.channel.call("reloadWindow",e)}exitApplication(){return this.channel.call("exitApplication")}dispatchKeybinding(e,t){return this.channel.call("dispatchKeybinding",[e,t])}click(e,t,n,s){return this.channel.call("click",[e,t,n,s])}doubleClick(e,t){return this.channel.call("doubleClick",[e,t])}setValue(e,t,n){return this.channel.call("setValue",[e,t,n])}getTitle(e){return this.channel.call("getTitle",[e])}isActiveElement(e,t){return this.channel.call("isActiveElement",[e,t])}getElements(e,t,n){return this.channel.call("getElements",[e,t,n])}getElementXY(e,t,n,s){return this.channel.call("getElementXY",[e,t,n,s])}typeInEditor(e,t,n){
return this.channel.call("typeInEditor",[e,t,n])}getTerminalBuffer(e,t){return this.channel.call("getTerminalBuffer",[e,t])}writeInTerminal(e,t,n){return this.channel.call("writeInTerminal",[e,t,n])}}t.DriverChannelClient=s;t.WindowDriverRegistryChannel=class{constructor(e){this.registry=e}listen(e,t){throw new Error(`Event not found: ${t}`)}call(e,t,n){switch(t){case"registerWindowDriver":return this.registry.registerWindowDriver(n);case"reloadWindowDriver":return this.registry.reloadWindowDriver(n)}throw new Error(`Call not found: ${t}`)}};t.WindowDriverRegistryChannelClient=class{constructor(e){this.channel=e}registerWindowDriver(e){return this.channel.call("registerWindowDriver",e)}reloadWindowDriver(e){return this.channel.call("reloadWindowDriver",e)}};t.WindowDriverChannel=class{constructor(e){this.driver=e}listen(e,t){throw new Error(`No event found: ${t}`)}call(e,t,n){switch(t){case"click":return this.driver.click(n[0],n[1],n[2]);case"doubleClick":return this.driver.doubleClick(n);case"setValue":
return this.driver.setValue(n[0],n[1]);case"getTitle":return this.driver.getTitle();case"isActiveElement":return this.driver.isActiveElement(n);case"getElements":return this.driver.getElements(n[0],n[1]);case"getElementXY":return this.driver.getElementXY(n[0],n[1],n[2]);case"typeInEditor":return this.driver.typeInEditor(n[0],n[1]);case"getTerminalBuffer":return this.driver.getTerminalBuffer(n);case"writeInTerminal":return this.driver.writeInTerminal(n[0],n[1])}throw new Error(`Call not found: ${t}`)}};t.WindowDriverChannelClient=class{constructor(e){this.channel=e}click(e,t,n){return this.channel.call("click",[e,t,n])}doubleClick(e){return this.channel.call("doubleClick",e)}setValue(e,t){return this.channel.call("setValue",[e,t])}getTitle(){return this.channel.call("getTitle")}isActiveElement(e){return this.channel.call("isActiveElement",e)}getElements(e,t){return this.channel.call("getElements",[e,t])}getElementXY(e,t,n){return this.channel.call("getElementXY",[e,t,n])}typeInEditor(e,t){
return this.channel.call("typeInEditor",[e,t])}getTerminalBuffer(e){return this.channel.call("getTerminalBuffer",e)}writeInTerminal(e,t){return this.channel.call("writeInTerminal",[e,t])}},t.connect=async function(e){const t=await n.connect(e,"driverClient"),i=t.getChannel("driver");return{client:t,driver:new s(i)}}}))}).call(this);
//# sourceMappingURL=https://ticino.blob.core.windows.net/sourcemaps/9579eda04fdb3a9bba2750f15193e5fafe16b959/core/vs/platform/driver/node/driver.js.map
