/*!--------------------------------------------------------
 * Copyright (C) Microsoft Corporation. All rights reserved.
 *--------------------------------------------------------*/
/******************************************************************************
Copyright (c) Microsoft Corporation.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */

var extendStatics = function(d, b) {
    extendStatics = Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
    return extendStatics(d, b);
};

export function __extends(d, b) {
    if (typeof b !== "function" && b !== null)
        throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
    extendStatics(d, b);
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}

export var __assign = function() {
    __assign = Object.assign || function __assign(t) {
        for (var s, i = 1, n = arguments.length; i < n; i++) {
            s = arguments[i];
            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
        }
        return t;
    }
    return __assign.apply(this, arguments);
}

export function __rest(s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                t[p[i]] = s[p[i]];
        }
    return t;
}

export function __decorate(decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
}

export function __param(paramIndex, decorator) {
    return function (target, key) { decorator(target, key, paramIndex); }
}

export function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
    function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
    var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
    var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
    var _, done = false;
    for (var i = decorators.length - 1; i >= 0; i--) {
        var context = {};
        for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
        for (var p in contextIn.access) context.access[p] = contextIn.access[p];
        context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
        var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
        if (kind === "accessor") {
            if (result === void 0) continue;
            if (result === null || typeof result !== "object") throw new TypeError("Object expected");
            if (_ = accept(result.get)) descriptor.get = _;
            if (_ = accept(result.set)) descriptor.set = _;
            if (_ = accept(result.init)) initializers.unshift(_);
        }
        else if (_ = accept(result)) {
            if (kind === "field") initializers.unshift(_);
            else descriptor[key] = _;
        }
    }
    if (target) Object.defineProperty(target, contextIn.name, descriptor);
    done = true;
};

export function __runInitializers(thisArg, initializers, value) {
    var useValue = arguments.length > 2;
    for (var i = 0; i < initializers.length; i++) {
        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
    }
    return useValue ? value : void 0;
};

export function __propKey(x) {
    return typeof x === "symbol" ? x : "".concat(x);
};

export function __setFunctionName(f, name, prefix) {
    if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
    return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
};

export function __metadata(metadataKey, metadataValue) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
}

export function __awaiter(thisArg, _arguments, P, generator) {
    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
}

export function __generator(thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
    return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (g && (g = 0, op[0] && (_ = 0)), _) try {
            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [op[0] & 2, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
}

export var __createBinding = Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
        desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
});

export function __exportStar(m, o) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
}

export function __values(o) {
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
    if (m) return m.call(o);
    if (o && typeof o.length === "number") return {
        next: function () {
            if (o && i >= o.length) o = void 0;
            return { value: o && o[i++], done: !o };
        }
    };
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
}

export function __read(o, n) {
    var m = typeof Symbol === "function" && o[Symbol.iterator];
    if (!m) return o;
    var i = m.call(o), r, ar = [], e;
    try {
        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
    }
    catch (error) { e = { error: error }; }
    finally {
        try {
            if (r && !r.done && (m = i["return"])) m.call(i);
        }
        finally { if (e) throw e.error; }
    }
    return ar;
}

/** @deprecated */
export function __spread() {
    for (var ar = [], i = 0; i < arguments.length; i++)
        ar = ar.concat(__read(arguments[i]));
    return ar;
}

/** @deprecated */
export function __spreadArrays() {
    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
    for (var r = Array(s), k = 0, i = 0; i < il; i++)
        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
            r[k] = a[j];
    return r;
}

export function __spreadArray(to, from, pack) {
    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
        if (ar || !(i in from)) {
            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
            ar[i] = from[i];
        }
    }
    return to.concat(ar || Array.prototype.slice.call(from));
}

export function __await(v) {
    return this instanceof __await ? (this.v = v, this) : new __await(v);
}

export function __asyncGenerator(thisArg, _arguments, generator) {
    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
    var g = generator.apply(thisArg, _arguments || []), i, q = [];
    return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
    function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
    function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
    function fulfill(value) { resume("next", value); }
    function reject(value) { resume("throw", value); }
    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
}

export function __asyncDelegator(o) {
    var i, p;
    return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
}

export function __asyncValues(o) {
    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
    var m = o[Symbol.asyncIterator], i;
    return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
}

export function __makeTemplateObject(cooked, raw) {
    if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
    return cooked;
};

var __setModuleDefault = Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
};

var ownKeys = function(o) {
    ownKeys = Object.getOwnPropertyNames || function (o) {
        var ar = [];
        for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
        return ar;
    };
    return ownKeys(o);
};

export function __importStar(mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
    __setModuleDefault(result, mod);
    return result;
}

export function __importDefault(mod) {
    return (mod && mod.__esModule) ? mod : { default: mod };
}

export function __classPrivateFieldGet(receiver, state, kind, f) {
    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
}

export function __classPrivateFieldSet(receiver, state, value, kind, f) {
    if (kind === "m") throw new TypeError("Private method is not writable");
    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
}

export function __classPrivateFieldIn(state, receiver) {
    if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
    return typeof state === "function" ? receiver === state : state.has(receiver);
}

export function __addDisposableResource(env, value, async) {
    if (value !== null && value !== void 0) {
        if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
        var dispose, inner;
        if (async) {
            if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
            dispose = value[Symbol.asyncDispose];
        }
        if (dispose === void 0) {
            if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
            dispose = value[Symbol.dispose];
            if (async) inner = dispose;
        }
        if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
        if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
        env.stack.push({ value: value, dispose: dispose, async: async });
    }
    else if (async) {
        env.stack.push({ async: true });
    }
    return value;

}

var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
    var e = new Error(message);
    return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
};

export function __disposeResources(env) {
    function fail(e) {
        env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
        env.hasError = true;
    }
    var r, s = 0;
    function next() {
        while (r = env.stack.pop()) {
            try {
                if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
                if (r.dispose) {
                    var result = r.dispose.call(r.value);
                    if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
                }
                else s |= 1;
            }
            catch (e) {
                fail(e);
            }
        }
        if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
        if (env.hasError) throw env.error;
    }
    return next();
}

export function __rewriteRelativeImportExtension(path, preserveJsx) {
    if (typeof path === "string" && /^\.\.?\//.test(path)) {
        return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
            return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
        });
    }
    return path;
}

export default {
    __extends: __extends,
    __assign: __assign,
    __rest: __rest,
    __decorate: __decorate,
    __param: __param,
    __esDecorate: __esDecorate,
    __runInitializers: __runInitializers,
    __propKey: __propKey,
    __setFunctionName: __setFunctionName,
    __metadata: __metadata,
    __awaiter: __awaiter,
    __generator: __generator,
    __createBinding: __createBinding,
    __exportStar: __exportStar,
    __values: __values,
    __read: __read,
    __spread: __spread,
    __spreadArrays: __spreadArrays,
    __spreadArray: __spreadArray,
    __await: __await,
    __asyncGenerator: __asyncGenerator,
    __asyncDelegator: __asyncDelegator,
    __asyncValues: __asyncValues,
    __makeTemplateObject: __makeTemplateObject,
    __importStar: __importStar,
    __importDefault: __importDefault,
    __classPrivateFieldGet: __classPrivateFieldGet,
    __classPrivateFieldSet: __classPrivateFieldSet,
    __classPrivateFieldIn: __classPrivateFieldIn,
    __addDisposableResource: __addDisposableResource,
    __disposeResources: __disposeResources,
    __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,
};

var Qs=Object.defineProperty;var Js=Object.getOwnPropertyDescriptor;var zr=(n,e,t,r)=>{for(var i=r>1?void 0:r?Js(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(i=(r?o(e,t,i):o(i))||i);return r&&i&&Qs(e,t,i),i};function Ys(n,e,t=0,r=n.length){let i=t,s=r;for(;i<s;){let o=Math.floor((i+s)/2);e(n[o])?i=o+1:s=o}return i-1}var Gr=class n{constructor(e){this._array=e;this._findLastMonotonousLastIdx=0}static{this.assertInvariants=!1}findLastMonotonous(e){if(n.assertInvariants){if(this._prevFindLastPredicate){for(let r of this._array)if(this._prevFindLastPredicate(r)&&!e(r))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=e}let t=Ys(this._array,e,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=t+1,t===-1?void 0:this._array[t]}};var Nn=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Se.isErrorNoTelemetry(e)?new Se(e.message+`

`+e.stack):new Error(e.message+`

`+e.stack):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)}},Qr=new Nn;function ge(n){Mn(n)||Qr.onUnexpectedError(n)}function Jr(n){Mn(n)||Qr.onUnexpectedExternalError(n)}var Cn="Canceled";function Mn(n){return n instanceof se?!0:n instanceof Error&&n.name===Cn&&n.message===Cn}var se=class extends Error{constructor(){super(Cn),this.name=this.message}},Hr=class n extends Error{static{this._name="PendingMigrationError"}static is(e){return e instanceof n||e instanceof Error&&e.name===n._name}constructor(e){super(e),this.name=n._name}};var Se=class n extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof n)return e;let t=new n;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}},Ae=class n extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,n.prototype)}};function Zr(n,e,t=(r,i)=>r===i){if(n===e)return!0;if(!n||!e||n.length!==e.length)return!1;for(let r=0,i=n.length;r<i;r++)if(!t(n[r],e[r]))return!1;return!0}function ei(n){return n.filter(e=>!!e)}function qn(n,e){let t;if(typeof e=="number"){let r=e;t=()=>{let i=Math.sin(r++)*179426549;return i-Math.floor(i)}}else t=Math.random;for(let r=n.length-1;r>0;r-=1){let i=Math.floor(t()*(r+1)),s=n[r];n[r]=n[i],n[i]=s}}function ti(n){return n[Math.floor(Math.random()*n.length)]}var ni;(a=>{function n(l){return l<0}a.isLessThan=n;function e(l){return l<=0}a.isLessThanOrEqual=e;function t(l){return l>0}a.isGreaterThan=t;function r(l){return l===0}a.isNeitherLessOrGreaterThan=r,a.greaterThan=1,a.lessThan=-1,a.neitherLessOrGreaterThan=0})(ni||={});function ri(n,e){return(t,r)=>e(n(t),n(r))}var ii=(n,e)=>n-e;var Xr=class n{constructor(e){this.iterate=e}static{this.empty=new n(e=>{})}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new n(t=>this.iterate(r=>e(r)?t(r):!0))}map(e){return new n(t=>this.iterate(r=>t(e(r))))}some(e){let t=!1;return this.iterate(r=>(t=e(r),!t)),t}findFirst(e){let t;return this.iterate(r=>e(r)?(t=r,!1):!0),t}findLast(e){let t;return this.iterate(r=>(e(r)&&(t=r),!0)),t}findLastMaxBy(e){let t,r=!0;return this.iterate(i=>((r||ni.isGreaterThan(e(i,t)))&&(r=!1,t=i),!0)),t}};function li(n,e){let t=Object.create(null);for(let r of n){let i=e(r),s=t[i];s||(s=t[i]=[]),s.push(r)}return t}var oi,ai,si=class{constructor(e,t){this.toKey=t;this._map=new Map;this[oi]="SetWithKey";for(let r of e)this.add(r)}get size(){return this._map.size}add(e){let t=this.toKey(e);return this._map.set(t,e),this}delete(e){return this._map.delete(this.toKey(e))}has(e){return this._map.has(this.toKey(e))}*entries(){for(let e of this._map.values())yield[e,e]}keys(){return this.values()}*values(){for(let e of this._map.values())yield e}clear(){this._map.clear()}forEach(e,t){this._map.forEach(r=>e.call(t,r,r,this))}[(ai=Symbol.iterator,oi=Symbol.toStringTag,ai)](){return this.values()}};var Bn=class{constructor(e,t){this.uri=e;this.value=t}};function Zs(n){return Array.isArray(n)}var ci,Tt=class n{constructor(e,t){this[ci]="ResourceMap";if(e instanceof n)this.map=new Map(e.map),this.toKey=t??n.defaultToKey;else if(Zs(e)){this.map=new Map,this.toKey=t??n.defaultToKey;for(let[r,i]of e)this.set(r,i)}else this.map=new Map,this.toKey=e??n.defaultToKey}static{this.defaultToKey=e=>e.toString()}set(e,t){return this.map.set(this.toKey(e),new Bn(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){typeof t<"u"&&(e=e.bind(t));for(let[r,i]of this.map)e(i.value,i.uri,this)}*values(){for(let e of this.map.values())yield e.value}*keys(){for(let e of this.map.values())yield e.uri}*entries(){for(let e of this.map.values())yield[e.uri,e.value]}*[(ci=Symbol.toStringTag,Symbol.iterator)](){for(let[,e]of this.map)yield[e.uri,e.value]}},di,ui=class{constructor(e,t){this[di]="ResourceSet";!e||typeof e=="function"?this._map=new Tt(e):(this._map=new Tt(t),e.forEach(this.add,this))}get size(){return this._map.size}add(e){return this._map.set(e,e),this}clear(){this._map.clear()}delete(e){return this._map.delete(e)}forEach(e,t){this._map.forEach((r,i)=>e.call(t,i,i,this))}has(e){return this._map.has(e)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(di=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}};var fi,$n=class{constructor(){this[fi]="LinkedMap";this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){let r=this._map.get(e);if(r)return t!==0&&this.touch(r,t),r.value}set(e,t,r=0){let i=this._map.get(e);if(i)i.value=t,r!==0&&this.touch(i,r);else{switch(i={key:e,value:t,next:void 0,previous:void 0},r){case 0:this.addItemLast(i);break;case 1:this.addItemFirst(i);break;case 2:this.addItemLast(i);break;default:this.addItemLast(i);break}this._map.set(e,i),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let r=this._state,i=this._head;for(;i;){if(t?e.bind(t)(i.value,i.key,this):e(i.value,i.key,this),this._state!==r)throw new Error("LinkedMap got modified during iteration.");i=i.next}}keys(){let e=this,t=this._state,r=this._head,i={[Symbol.iterator](){return i},[Symbol.dispose](){},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let s={value:r.key,done:!1};return r=r.next,s}else return{value:void 0,done:!0}}};return i}values(){let e=this,t=this._state,r=this._head,i={[Symbol.iterator](){return i},[Symbol.dispose](){},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let s={value:r.value,done:!1};return r=r.next,s}else return{value:void 0,done:!0}}};return i}entries(){let e=this,t=this._state,r=this._head,i={[Symbol.iterator](){return i},[Symbol.dispose](){},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(r){let s={value:[r.key,r.value],done:!1};return r=r.next,s}else return{value:void 0,done:!0}}};return i}[(fi=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.next,r--;this._head=t,this._size=r,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._tail,r=this.size;for(;t&&r>e;)this._map.delete(t.key),t=t.previous,r--;this._tail=t,this._size=r,t&&(t.next=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw new Error("Invalid list");this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw new Error("Invalid list");this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw new Error("Invalid list");e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw new Error("Invalid list");e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,r=e.previous;if(!t||!r)throw new Error("Invalid list");t.previous=r,r.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;let r=e.next,i=e.previous;e===this._tail?(i.next=void 0,this._tail=i):(r.previous=i,i.next=r),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;let r=e.next,i=e.previous;e===this._head?(r.previous=void 0,this._head=r):(r.previous=i,i.next=r),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,r)=>{e.push([r,t])}),e}fromJSON(e){this.clear();for(let[t,r]of e)this.set(t,r)}},Vn=class extends $n{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get ratio(){return this._ratio}set ratio(e){this._ratio=Math.min(Math.max(0,e),1),this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}},ke=class extends Vn{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}};var Bt=class{constructor(){this.map=new Map}add(e,t){let r=this.map.get(e);r||(r=new Set,this.map.set(e,r)),r.add(t)}delete(e,t){let r=this.map.get(e);r&&(r.delete(t),r.size===0&&this.map.delete(e))}forEach(e,t){let r=this.map.get(e);r&&r.forEach(t)}get(e){let t=this.map.get(e);return t||new Set}};function yt(n,e){let t=this,r=!1,i;return function(){if(r)return i;if(r=!0,e)try{i=n.apply(t,arguments)}finally{e()}else i=n.apply(t,arguments);return i}}function $t(n,e="unexpected state"){if(!n)throw typeof e=="string"?new Ae(`Assertion Failed: ${e}`):e}function Kn(n){return typeof n=="string"}function jn(n){return typeof n=="number"&&!isNaN(n)}function pi(n){return!!n&&typeof n[Symbol.iterator]=="function"}function eo(n){return typeof n>"u"}function zn(n){return eo(n)||n===null}function hi(n,e){if(!n)throw new Error(e?`Unexpected type, expected '${e}'`:"Unexpected type")}function Gn(n){return typeof n=="function"}var Hn;(Wn=>{function n(_){return!!_&&typeof _=="object"&&typeof _[Symbol.iterator]=="function"}Wn.is=n;let e=Object.freeze([]);function t(){return e}Wn.empty=t;function*r(_){yield _}Wn.single=r;function i(_){return n(_)?_:r(_)}Wn.wrap=i;function s(_){return _??e}Wn.from=s;function*o(_){for(let R=_.length-1;R>=0;R--)yield _[R]}Wn.reverse=o;function a(_){return!_||_[Symbol.iterator]().next().done===!0}Wn.isEmpty=a;function l(_){return _[Symbol.iterator]().next().value}Wn.first=l;function u(_,R){let L=0;for(let ee of _)if(R(ee,L++))return!0;return!1}Wn.some=u;function d(_,R){let L=0;for(let ee of _)if(!R(ee,L++))return!1;return!0}Wn.every=d;function c(_,R){for(let L of _)if(R(L))return L}Wn.find=c;function*f(_,R){for(let L of _)R(L)&&(yield L)}Wn.filter=f;function*h(_,R){let L=0;for(let ee of _)yield R(ee,L++)}Wn.map=h;function*m(_,R){let L=0;for(let ee of _)yield*R(ee,L++)}Wn.flatMap=m;function*y(..._){for(let R of _)pi(R)?yield*R:yield R}Wn.concat=y;function S(_,R,L){let ee=L;for(let $e of _)ee=R(ee,$e);return ee}Wn.reduce=S;function F(_){let R=0;for(let L of _)R++;return R}Wn.length=F;function*ie(_,R,L=_.length){for(R<-_.length&&(R=0),R<0&&(R+=_.length),L<0?L+=_.length:L>_.length&&(L=_.length);R<L;R++)yield _[R]}Wn.slice=ie;function Y(_,R=Number.POSITIVE_INFINITY){let L=[];if(R===0)return[L,_];let ee=_[Symbol.iterator]();for(let $e=0;$e<R;$e++){let qt=ee.next();if(qt.done)return[L,Wn.empty()];L.push(qt.value)}return[L,{[Symbol.iterator](){return ee}}]}Wn.consume=Y;async function ye(_){let R=[];for await(let L of _)R.push(L);return R}Wn.asyncToArray=ye;async function M(_){let R=[];for await(let L of _)R=R.concat(L);return R}Wn.asyncToArrayFlat=M})(Hn||={});var to=!1,it=null;var gi=class n{constructor(){this.livingDisposables=new Map}static{this.idx=0}getDisposableData(e){let t=this.livingDisposables.get(e);return t||(t={parent:null,source:null,isSingleton:!1,value:e,idx:n.idx++},this.livingDisposables.set(e,t)),t}trackDisposable(e){let t=this.getDisposableData(e);t.source||(t.source=new Error().stack)}setParent(e,t){let r=this.getDisposableData(e);r.parent=t}markAsDisposed(e){this.livingDisposables.delete(e)}markAsSingleton(e){this.getDisposableData(e).isSingleton=!0}getRootParent(e,t){let r=t.get(e);if(r)return r;let i=e.parent?this.getRootParent(this.getDisposableData(e.parent),t):e;return t.set(e,i),i}getTrackedDisposables(){let e=new Map;return[...this.livingDisposables.entries()].filter(([,r])=>r.source!==null&&!this.getRootParent(r,e).isSingleton).flatMap(([r])=>r)}computeLeakingDisposables(e=10,t){let r;if(t)r=t;else{let l=new Map,u=[...this.livingDisposables.values()].filter(c=>c.source!==null&&!this.getRootParent(c,l).isSingleton);if(u.length===0)return;let d=new Set(u.map(c=>c.value));if(r=u.filter(c=>!(c.parent&&d.has(c.parent))),r.length===0)throw new Error("There are cyclic diposable chains!")}if(!r)return;function i(l){function u(c,f){for(;c.length>0&&f.some(h=>typeof h=="string"?h===c[0]:c[0].match(h));)c.shift()}let d=l.source.split(`
`).map(c=>c.trim().replace("at ","")).filter(c=>c!=="");return u(d,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),d.reverse()}let s=new Bt;for(let l of r){let u=i(l);for(let d=0;d<=u.length;d++)s.add(u.slice(0,d).join(`
`),l)}r.sort(ri(l=>l.idx,ii));let o="",a=0;for(let l of r.slice(0,e)){a++;let u=i(l),d=[];for(let c=0;c<u.length;c++){let f=u[c];f=`(shared with ${s.get(u.slice(0,c+1).join(`
`)).size}/${r.length} leaks) at ${f}`;let m=s.get(u.slice(0,c).join(`
`)),y=li([...m].map(S=>i(S)[c]),S=>S);delete y[u[c]];for(let[S,F]of Object.entries(y))F&&d.unshift(`    - stacktraces of ${F.length} other leaks continue with ${S}`);d.unshift(f)}o+=`


==================== Leaking disposable ${a}/${r.length}: ${l.value.constructor.name} ====================
${d.join(`
`)}
============================================================

`}return r.length>e&&(o+=`


... and ${r.length-e} more leaking disposables

`),{leaks:r,details:o}}};function no(n){it=n}if(to){let n="__is_disposable_tracked__";no(new class{trackDisposable(e){let t=new Error("Potentially leaked disposable").stack;setTimeout(()=>{e[n]||console.log(t)},3e3)}setParent(e,t){if(e&&e!==B.None)try{e[n]=!0}catch{}}markAsDisposed(e){if(e&&e!==B.None)try{e[n]=!0}catch{}}markAsSingleton(e){}})}function _t(n){return it?.trackDisposable(n),n}function It(n){it?.markAsDisposed(n)}function je(n,e){it?.setParent(n,e)}function ro(n,e){if(it)for(let t of n)it.setParent(t,e)}function bi(n){return typeof n=="object"&&n!==null&&typeof n.dispose=="function"&&n.dispose.length===0}function ze(n){if(Hn.is(n)){let e=[];for(let t of n)if(t)try{t.dispose()}catch(r){e.push(r)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}function vi(...n){let e=$(()=>ze(n));return ro(n,e),e}var Qn=class{constructor(e){this._isDisposed=!1,this._fn=e,_t(this)}dispose(){if(!this._isDisposed){if(!this._fn)throw new Error("Unbound disposable context: Need to use an arrow function to preserve the value of this");this._isDisposed=!0,It(this),this._fn()}}};function $(n){return new Qn(n)}var q=class n{constructor(){this._toDispose=new Set;this._isDisposed=!1;_t(this)}static{this.DISABLE_DISPOSED_WARNING=!1}dispose(){this._isDisposed||(It(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{ze(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e||e===B.None)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return je(e,this),this._isDisposed?n.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.delete(e)&&je(e,null)}assertNotDisposed(){this._isDisposed&&ge(new Ae("Object disposed"))}},B=class{constructor(){this._store=new q;_t(this),je(this._store,this)}static{this.None=Object.freeze({dispose(){}})}dispose(){It(this),this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}},Fe=class{constructor(){this._isDisposed=!1;_t(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&je(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,It(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&je(e,null),e}};var Le=class{constructor(e=new Map){this._isDisposed=!1;this._store=e,_t(this)}dispose(){It(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{ze(this._store.values())}finally{this._store.clear()}}has(e){return this._store.has(e)}get size(){return this._store.size}get(e){return this._store.get(e)}set(e,t,r=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),r||this._store.get(e)?.dispose(),this._store.set(e,t),je(t,this)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}deleteAndLeak(e){let t=this._store.get(e);return t&&je(t,null),this._store.delete(e),t}keys(){return this._store.keys()}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}};function Jn(n,e){return n.then(t=>(e.isDisposed?t.dispose():e.add(t),t))}var Ti=class n{static{this.Undefined=new n(void 0)}constructor(e){this.element=e,this.next=n.Undefined,this.prev=n.Undefined}};function io(){return globalThis._VSCODE_NLS_MESSAGES}function Yn(){return globalThis._VSCODE_NLS_LANGUAGE}var so=Yn()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0;function yi(n,e){let t;return e.length===0?t=n:t=n.replace(/\{(\d+)\}/g,(r,i)=>{let s=i[0],o=e[s],a=r;return typeof o=="string"?a=o:(typeof o=="number"||typeof o=="boolean"||o===void 0||o===null)&&(a=String(o)),a}),so&&(t="\uFF3B"+t.replace(/[aouei]/g,"$&$&")+"\uFF3D"),t}function ce(n,e,...t){return yi(typeof n=="number"?oo(n,e):e,t)}function oo(n,e){let t=io()?.[n];if(typeof t!="string"){if(typeof e=="string")return e;throw new Error(`!!! NLS MISSING: ${n} !!!`)}return t}var st="en",jt=!1,zt=!1,xt=!1,ao=!1,xi=!1,Zn=!1,lo=!1,uo=!1,co=!1,fo=!1,Vt,Kt=st,Ii=st,po,Ie,xe=globalThis,oe;typeof xe.vscode<"u"&&typeof xe.vscode.process<"u"?oe=xe.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(oe=process);var Ei=typeof oe?.versions?.electron=="string",ho=Ei&&oe?.type==="renderer";if(typeof oe=="object"){jt=oe.platform==="win32",zt=oe.platform==="darwin",xt=oe.platform==="linux",ao=xt&&!!oe.env.SNAP&&!!oe.env.SNAP_REVISION,lo=Ei,co=!!oe.env.CI||!!oe.env.BUILD_ARTIFACTSTAGINGDIRECTORY||!!oe.env.GITHUB_WORKSPACE,Vt=st,Kt=st;let n=oe.env.VSCODE_NLS_CONFIG;if(n)try{let e=JSON.parse(n);Vt=e.userLocale,Ii=e.osLocale,Kt=e.resolvedLanguage||st,po=e.languagePack?.translationsConfigFile}catch{}xi=!0}else typeof navigator=="object"&&!ho?(Ie=navigator.userAgent,jt=Ie.indexOf("Windows")>=0,zt=Ie.indexOf("Macintosh")>=0,uo=(Ie.indexOf("Macintosh")>=0||Ie.indexOf("iPad")>=0||Ie.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,xt=Ie.indexOf("Linux")>=0,fo=Ie?.indexOf("Mobi")>=0,Zn=!0,Kt=Yn()||st,Vt=navigator.language.toLowerCase(),Ii=Vt):console.error("Unable to resolve platform.");var Xn=0;zt?Xn=1:jt?Xn=3:xt&&(Xn=2);var j=jt,be=zt,C=xt;var Ri=xi;var er=Zn,mo=Zn&&typeof xe.importScripts=="function",wi=mo?xe.origin:void 0;var de=Ie,Ue=Kt,go;(r=>{function n(){return Ue}r.value=n;function e(){return Ue.length===2?Ue==="en":Ue.length>=3?Ue[0]==="e"&&Ue[1]==="n"&&Ue[2]==="-":!1}r.isDefaultVariant=e;function t(){return Ue==="en"}r.isDefault=t})(go||={});var bo=typeof xe.postMessage=="function"&&!xe.importScripts,Pi=(()=>{if(bo){let n=[];xe.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let r=0,i=n.length;r<i;r++){let s=n[r];if(s.id===t.data.vscodeScheduleAsyncWork){n.splice(r,1),s.callback();return}}});let e=0;return t=>{let r=++e;n.push({id:r,callback:t}),xe.postMessage({vscodeScheduleAsyncWork:r},"*")}}return n=>setTimeout(n)})();var vo=!!(de&&de.indexOf("Chrome")>=0),Ml=!!(de&&de.indexOf("Firefox")>=0),ql=!!(!vo&&de&&de.indexOf("Safari")>=0),Bl=!!(de&&de.indexOf("Edg/")>=0),$l=!!(de&&de.indexOf("Android")>=0),Vl=!!(de&&de.indexOf("Electron")>=0);var Ge,tr=globalThis.vscode;if(typeof tr<"u"&&typeof tr.process<"u"){let n=tr.process;Ge={get platform(){return n.platform},get arch(){return n.arch},get env(){return n.env},cwd(){return n.cwd()}}}else typeof process<"u"&&typeof process?.versions?.node=="string"?Ge={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:Ge={get platform(){return j?"win32":be?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};var ot=Ge.cwd,Et=Ge.env,Si=Ge.platform,zl=Ge.arch;var To=globalThis.performance.now.bind(globalThis.performance),Gt=class n{static create(e){return new n(e)}constructor(e){this._now=e===!1?Date.now:To,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}};var ki=!1,yo=!1,_o=100,Fi=6e4;function Li(){return!!Et.VSCODE_DEV}var U;(Ve=>{Ve.None=()=>B.None;function e(v){if(yo){let{onDidAddListener:p}=v,g=lt.create(),b=0;v.onDidAddListener=()=>{++b===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),g.print()),p?.()}}}function t(v,p,g){return h(v,()=>{},0,void 0,p??!0,void 0,g)}Ve.defer=t;function r(v){return(p,g=null,b)=>{let T=!1,I;return I=v(w=>{if(!T)return I?I.dispose():T=!0,p.call(g,w)},null,b),T&&I.dispose(),I}}Ve.once=r;function i(v,p){return Ve.once(Ve.filter(v,p))}Ve.onceIf=i;function s(v,p,g){return c((b,T=null,I)=>v(w=>b.call(T,p(w)),null,I),g)}Ve.map=s;function o(v,p,g){return c((b,T=null,I)=>v(w=>{p(w),b.call(T,w)},null,I),g)}Ve.forEach=o;function a(v,p,g){return c((b,T=null,I)=>v(w=>p(w)&&b.call(T,w),null,I),g)}Ve.filter=a;function l(v){return v}Ve.signal=l;function u(...v){return(p,g=null,b)=>{let T=vi(...v.map(I=>I(w=>p.call(g,w))));return f(T,b)}}Ve.any=u;function d(v,p,g,b){let T=g;return s(v,I=>(T=p(T,I),T),b)}Ve.reduce=d;function c(v,p){let g,b={onWillAddFirstListener(){g=v(T.fire,T)},onDidRemoveLastListener(){g?.dispose()}};p||e(b);let T=new A(b);return p?.add(T),T.event}function f(v,p){return p instanceof Array?p.push(v):p&&p.add(v),v}function h(v,p,g=100,b=!1,T=!1,I,w){let H,W,X,Q=0,te,_e={leakWarningThreshold:I,onWillAddFirstListener(){H=v(Kr=>{Q++,W=p(W,Kr),b&&!X&&(Ke.fire(W),W=void 0),te=()=>{let jr=W;W=void 0,X=void 0,(!b||Q>1)&&Ke.fire(jr),Q=0},typeof g=="number"?(X&&clearTimeout(X),X=setTimeout(te,g)):X===void 0&&(X=null,queueMicrotask(te))})},onWillRemoveListener(){T&&Q>0&&te?.()},onDidRemoveLastListener(){te=void 0,H.dispose()}};w||e(_e);let Ke=new A(_e);return w?.add(Ke),Ke.event}Ve.debounce=h;function m(v,p=0,g,b){return Ve.debounce(v,(T,I)=>T?(T.push(I),T):[I],p,void 0,g??!0,void 0,b)}Ve.accumulate=m;function y(v,p,g=100,b=!0,T=!0,I,w){let H,W,X,Q=0,te={leakWarningThreshold:I,onWillAddFirstListener(){H=v(Ke=>{Q++,W=p(W,Ke),X===void 0&&(b&&(_e.fire(W),W=void 0,Q=0),typeof g=="number"?X=setTimeout(()=>{T&&Q>0&&_e.fire(W),W=void 0,X=void 0,Q=0},g):(X=0,queueMicrotask(()=>{T&&Q>0&&_e.fire(W),W=void 0,X=void 0,Q=0})))})},onDidRemoveLastListener(){H.dispose()}};w||e(te);let _e=new A(te);return w?.add(_e),_e.event}Ve.throttle=y;function S(v,p=(b,T)=>b===T,g){let b=!0,T;return a(v,I=>{let w=b||!p(I,T);return b=!1,T=I,w},g)}Ve.latch=S;function F(v,p,g){return[Ve.filter(v,p,g),Ve.filter(v,b=>!p(b),g)]}Ve.split=F;function ie(v,p,g=!1,b=[],T){let I=b.slice(),w;Li()&&(w={stack:lt.create(),timerId:setTimeout(()=>{I&&I.length>0&&w&&!w.warned&&(w.warned=!0,console.warn(`[Event.buffer][${p}] potential LEAK detected: ${I.length} events buffered for ${Fi/1e3}s without being consumed. Buffered here:`),w.stack.print())},Fi),warned:!1},T&&T.add($(()=>clearTimeout(w.timerId))));let H=()=>{w&&clearTimeout(w.timerId)},W=v(te=>{I?(I.push(te),Li()&&w&&!w.warned&&I.length>=_o&&(w.warned=!0,console.warn(`[Event.buffer][${p}] potential LEAK detected: ${I.length} events buffered without being consumed. Buffered here:`),w.stack.print())):Q.fire(te)});T&&T.add(W);let X=()=>{I?.forEach(te=>Q.fire(te)),I=null,H()},Q=new A({onWillAddFirstListener(){W||(W=v(te=>Q.fire(te)),T&&T.add(W))},onDidAddFirstListener(){I&&(g?setTimeout(X):X())},onDidRemoveLastListener(){W&&W.dispose(),W=null,H()}});return T&&T.add(Q),Q.event}Ve.buffer=ie;function Y(v,p){return(b,T,I)=>{let w=p(new M);return v(function(H){let W=w.evaluate(H);W!==ye&&b.call(T,W)},void 0,I)}}Ve.chain=Y;let ye=Symbol("HaltChainable");class M{constructor(){this.steps=[]}map(p){return this.steps.push(p),this}forEach(p){return this.steps.push(g=>(p(g),g)),this}filter(p){return this.steps.push(g=>p(g)?g:ye),this}reduce(p,g){let b=g;return this.steps.push(T=>(b=p(b,T),b)),this}latch(p=(g,b)=>g===b){let g=!0,b;return this.steps.push(T=>{let I=g||!p(T,b);return g=!1,b=T,I?T:ye}),this}evaluate(p){for(let g of this.steps)if(p=g(p),p===ye)break;return p}}function Wn(v,p,g=b=>b){let b=(...H)=>w.fire(g(...H)),T=()=>v.on(p,b),I=()=>v.removeListener(p,b),w=new A({onWillAddFirstListener:T,onDidRemoveLastListener:I});return w.event}Ve.fromNodeEventEmitter=Wn;function _(v,p,g=b=>b){let b=(...H)=>w.fire(g(...H)),T=()=>v.addEventListener(p,b),I=()=>v.removeEventListener(p,b),w=new A({onWillAddFirstListener:T,onDidRemoveLastListener:I});return w.event}Ve.fromDOMEventEmitter=_;function R(v,p){let g,b,T=new Promise(I=>{b=r(v)(I),or(b,p),g=()=>{Oi(b,p)}});return T.cancel=g,p&&T.finally(()=>Oi(b,p)),T}Ve.toPromise=R;function L(v,p){return v(g=>p.fire(g))}Ve.forward=L;function ee(v,p,g){return p(g),v(b=>p(b))}Ve.runAndSubscribe=ee;class $e{constructor(p,g){this._observable=p;this._counter=0;this._hasChanged=!1;let b={onWillAddFirstListener:()=>{p.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{p.removeObserver(this)}};g||e(b),this.emitter=new A(b),g&&g.add(this.emitter)}beginUpdate(p){this._counter++}handlePossibleChange(p){}handleChange(p,g){this._hasChanged=!0}endUpdate(p){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function qt(v,p){return new $e(v,p).emitter.event}Ve.fromObservable=qt;function Hs(v){return(p,g,b)=>{let T=0,I=!1,w={beginUpdate(){T++},endUpdate(){T--,T===0&&(v.reportChanges(),I&&(I=!1,p.call(g)))},handlePossibleChange(){},handleChange(){I=!0}};v.addObserver(w),v.reportChanges();let H={dispose(){v.removeObserver(w)}};return or(H,b),H}}Ve.fromObservableLight=Hs})(U||={});var nr=class n{constructor(e){this.listenerCount=0;this.invocationCount=0;this.elapsedOverall=0;this.durations=[];this.name=`${e}_${n._idPool++}`,n.all.add(this)}static{this.all=new Set}static{this._idPool=0}start(e){this._stopWatch=new Gt,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}},Ui=-1;var Io=1;function Wi(){return(Io++).toString(16).padStart(3,"0")}var rr=class{constructor(e,t,r=Wi()){this._errorHandler=e;this.threshold=t;this.name=r;this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){let r=this.threshold;if(r<=0||t<r)return;this._stacks||(this._stacks=new Map);let i=e.value,s=this._stacks.get(i)||0;if(this._stacks.set(i,s+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=r*.5;let[o,a]=this.getMostFrequentStack(),l=/^[0-9a-f]+$/i.test(this.name)?void 0:this.name,u=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${a}):`;console.warn(u),console.warn(o);let d=a/t>.3?"dominated":"popular",c=new Ht(d,u,o,t,l);this._errorHandler(c)}return()=>{let o=this._stacks.get(i)||0;o<=1?this._stacks.delete(i):this._stacks.set(i,o-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[r,i]of this._stacks)(!e||t<i)&&(e=[r,i],t=i);return e}},lt=class n{constructor(e){this.value=e}static create(){let e=new Error;return new n(e.stack??"")}print(){console.warn(this.value.split(`
`).slice(2).join(`
`))}},Ht=class n extends Error{constructor(e,t,r,i,s){super(s?`[${s}] potential listener LEAK detected, ${e}`:`potential listener LEAK detected, ${e}`),this.name="ListenerLeakError",this.kind=e,this.listenerCount=i,this.details=t,this.stack=r}static is(e){return e instanceof n||e instanceof Error&&typeof e.kind=="string"&&typeof e.listenerCount=="number"}},ir=class extends Ht{constructor(e,t,r,i,s){super(e,t,r,i,s),this.name="ListenerRefusalError"}},xo=0,at=class{constructor(e){this.value=e;this.id=xo++}},Eo=2,Ro=(n,e)=>{if(n instanceof at)e(n);else for(let t=0;t<n.length;t++){let r=n[t];r&&e(r)}},A=class{constructor(e){this._size=0;this._options=e,(Ui>0||this._options?.leakWarningThreshold)&&(this._leakWarningThreshold=this._options?.leakWarningThreshold??Ui,this._leakWarningName=this._options?.leakWarningName??Wi(),this._leakWarningErrorHandler=this._options?.onListenerError??ge),this._perfMon=this._options?._profName?new nr(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}_getLeakageMonitor(){if(!(this._leakWarningThreshold===void 0||this._leakWarningName===void 0||this._leakWarningErrorHandler===void 0))return this._leakageMon??=new rr(this._leakWarningErrorHandler,this._leakWarningThreshold,this._leakWarningName)}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(ki){let e=this._listeners;queueMicrotask(()=>{Ro(e,t=>t.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(e,t,r)=>{if(this._leakWarningThreshold!==void 0&&this._size>this._leakWarningThreshold**2){let l=this._getLeakageMonitor();if(l){let u=`[${l.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${l.threshold})`;console.warn(u);let d=l.getMostFrequentStack()??["UNKNOWN stack",-1],c=d[1]/this._size>.3?"dominated":"popular",f=new ir(c,`${u}. HINT: Stack shows most frequent listener (${d[1]}-times)`,d[0],this._size,this._options?.leakWarningName);return(this._options?.onListenerError||ge)(f),B.None}}if(this._disposed)return B.None;t&&(e=e.bind(t));let i=new at(e),s,o;if(this._leakWarningThreshold!==void 0&&this._size>=Math.ceil(this._leakWarningThreshold*.2)){let l=this._getLeakageMonitor();l&&(i.stack=lt.create(),s=l.check(i.stack,this._size+1))}ki&&(i.stack=o??lt.create()),this._listeners?this._listeners instanceof at?(this._deliveryQueue??=new sr,this._listeners=[this._listeners,i]):this._listeners.push(i):(this._options?.onWillAddFirstListener?.(this),this._listeners=i,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;let a=$(()=>{s?.(),this._removeListener(i)});return or(a,r),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let t=this._listeners,r=t.indexOf(e);if(r===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[r]=void 0;let i=this._deliveryQueue.current===this;if(this._size*Eo<=t.length){let s=0;for(let o=0;o<t.length;o++)t[o]?t[s++]=t[o]:i&&s<this._deliveryQueue.end&&(this._deliveryQueue.end--,s<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=s}}_deliver(e,t){if(!e)return;let r=this._options?.onListenerError||ge;if(!r){e.value(t);return}try{e.value(t)}catch(i){r(i)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof at)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}this._perfMon?.stop()}hasListeners(){return this._size>0}};var sr=class{constructor(){this.i=-1;this.end=0}enqueue(e,t,r){this.i=0,this.end=r,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}};var Qt=class{constructor(){this.hasListeners=!1;this.events=[];this.emitter=new A({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){let t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),$(yt(()=>{this.hasListeners&&this.unhook(t);let i=this.events.indexOf(t);this.events.splice(i,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(t=>this.emitter.fire(t))}unhook(e){e.listener?.dispose(),e.listener=null}dispose(){this.emitter.dispose();for(let e of this.events)e.listener?.dispose();this.events=[]}};var Jt=class{constructor(){this.listening=!1;this.inputEvent=U.None;this.inputEventListener=B.None;this.emitter=new A({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}});this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}};function or(n,e){e instanceof q?e.add(n):Array.isArray(e)&&e.push(n)}function Oi(n,e){if(e instanceof q)e.delete(n);else if(Array.isArray(e)){let t=e.indexOf(n);t!==-1&&e.splice(t,1)}n.dispose()}var Ni=Object.freeze(function(n,e){let t=setTimeout(n.bind(e),0);return{dispose(){clearTimeout(t)}}}),He;(r=>{function n(i){return i===r.None||i===r.Cancelled||i instanceof ut?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}r.isCancellationToken=n,r.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:U.None}),r.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Ni})})(He||={});var ut=class{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?Ni:(this._emitter||(this._emitter=new A),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},re=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 ut),this._token}cancel(){this._token?this._token instanceof ut&&this._token.cancel():this._token=He.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof ut&&this._token.dispose():this._token=He.None}};var wo=65,Po=97,Do=90,So=122,Qe=46,J=47,ae=92,Ee=58,Ao=63,Yt=class extends Error{constructor(e,t,r){let i;typeof t=="string"&&t.indexOf("not ")===0?(i="must not be",t=t.replace(/^not /,"")):i="must be";let s=e.indexOf(".")!==-1?"property":"argument",o=`The "${e}" ${s} ${i} of type ${t}`;o+=`. Received type ${typeof r}`,super(o),this.code="ERR_INVALID_ARG_TYPE"}};function ko(n,e){if(n===null||typeof n!="object")throw new Yt(e,"Object",n)}function V(n,e){if(typeof n!="string")throw new Yt(e,"string",n)}var le=Si==="win32";function P(n){return n===J||n===ae}function ar(n){return n===J}function Re(n){return n>=wo&&n<=Do||n>=Po&&n<=So}function Xt(n,e,t,r){let i="",s=0,o=-1,a=0,l=0;for(let u=0;u<=n.length;++u){if(u<n.length)l=n.charCodeAt(u);else{if(r(l))break;l=J}if(r(l)){if(!(o===u-1||a===1))if(a===2){if(i.length<2||s!==2||i.charCodeAt(i.length-1)!==Qe||i.charCodeAt(i.length-2)!==Qe){if(i.length>2){let d=i.lastIndexOf(t);d===-1?(i="",s=0):(i=i.slice(0,d),s=i.length-1-i.lastIndexOf(t)),o=u,a=0;continue}else if(i.length!==0){i="",s=0,o=u,a=0;continue}}e&&(i+=i.length>0?`${t}..`:"..",s=2)}else i.length>0?i+=`${t}${n.slice(o+1,u)}`:i=n.slice(o+1,u),s=u-o-1;o=u,a=0}else l===Qe&&a!==-1?++a:a=-1}return i}function Fo(n){return n?`${n[0]==="."?"":"."}${n}`:""}function Ci(n,e){ko(e,"pathObject");let t=e.dir||e.root,r=e.base||`${e.name||""}${Fo(e.ext)}`;return t?t===e.root?`${t}${r}`:`${t}${n}${r}`:r}var K={resolve(...n){let e="",t="",r=!1;for(let i=n.length-1;i>=-1;i--){let s;if(i>=0){if(s=n[i],V(s,`paths[${i}]`),s.length===0)continue}else e.length===0?s=ot():(s=Et[`=${e}`]||ot(),(s===void 0||s.slice(0,2).toLowerCase()!==e.toLowerCase()&&s.charCodeAt(2)===ae)&&(s=`${e}\\`));let o=s.length,a=0,l="",u=!1,d=s.charCodeAt(0);if(o===1)P(d)&&(a=1,u=!0);else if(P(d))if(u=!0,P(s.charCodeAt(1))){let c=2,f=c;for(;c<o&&!P(s.charCodeAt(c));)c++;if(c<o&&c!==f){let h=s.slice(f,c);for(f=c;c<o&&P(s.charCodeAt(c));)c++;if(c<o&&c!==f){for(f=c;c<o&&!P(s.charCodeAt(c));)c++;(c===o||c!==f)&&(l=`\\\\${h}\\${s.slice(f,c)}`,a=c)}}}else a=1;else Re(d)&&s.charCodeAt(1)===Ee&&(l=s.slice(0,2),a=2,o>2&&P(s.charCodeAt(2))&&(u=!0,a=3));if(l.length>0)if(e.length>0){if(l.toLowerCase()!==e.toLowerCase())continue}else e=l;if(r){if(e.length>0)break}else if(t=`${s.slice(a)}\\${t}`,r=u,u&&e.length>0)break}return t=Xt(t,!r,"\\",P),r?`${e}\\${t}`:`${e}${t}`||"."},normalize(n){V(n,"path");let e=n.length;if(e===0)return".";let t=0,r,i=!1,s=n.charCodeAt(0);if(e===1)return ar(s)?"\\":n;if(P(s))if(i=!0,P(n.charCodeAt(1))){let a=2,l=a;for(;a<e&&!P(n.charCodeAt(a));)a++;if(a<e&&a!==l){let u=n.slice(l,a);for(l=a;a<e&&P(n.charCodeAt(a));)a++;if(a<e&&a!==l){for(l=a;a<e&&!P(n.charCodeAt(a));)a++;if(a===e)return`\\\\${u}\\${n.slice(l)}\\`;a!==l&&(r=`\\\\${u}\\${n.slice(l,a)}`,t=a)}}}else t=1;else Re(s)&&n.charCodeAt(1)===Ee&&(r=n.slice(0,2),t=2,e>2&&P(n.charCodeAt(2))&&(i=!0,t=3));let o=t<e?Xt(n.slice(t),!i,"\\",P):"";if(o.length===0&&!i&&(o="."),o.length>0&&P(n.charCodeAt(e-1))&&(o+="\\"),!i&&r===void 0&&n.includes(":")){if(o.length>=2&&Re(o.charCodeAt(0))&&o.charCodeAt(1)===Ee)return`.\\${o}`;let a=n.indexOf(":");do if(a===e-1||P(n.charCodeAt(a+1)))return`.\\${o}`;while((a=n.indexOf(":",a+1))!==-1)}return r===void 0?i?`\\${o}`:o:i?`${r}\\${o}`:`${r}${o}`},isAbsolute(n){V(n,"path");let e=n.length;if(e===0)return!1;let t=n.charCodeAt(0);return P(t)||e>2&&Re(t)&&n.charCodeAt(1)===Ee&&P(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let e,t;for(let s=0;s<n.length;++s){let o=n[s];V(o,"path"),o.length>0&&(e===void 0?e=t=o:e+=`\\${o}`)}if(e===void 0)return".";let r=!0,i=0;if(typeof t=="string"&&P(t.charCodeAt(0))){++i;let s=t.length;s>1&&P(t.charCodeAt(1))&&(++i,s>2&&(P(t.charCodeAt(2))?++i:r=!1))}if(r){for(;i<e.length&&P(e.charCodeAt(i));)i++;i>=2&&(e=`\\${e.slice(i)}`)}return K.normalize(e)},relative(n,e){if(V(n,"from"),V(e,"to"),n===e)return"";let t=K.resolve(n),r=K.resolve(e);if(t===r||(n=t.toLowerCase(),e=r.toLowerCase(),n===e))return"";if(t.length!==n.length||r.length!==e.length){let m=t.split("\\"),y=r.split("\\");m[m.length-1]===""&&m.pop(),y[y.length-1]===""&&y.pop();let S=m.length,F=y.length,ie=S<F?S:F,Y;for(Y=0;Y<ie&&m[Y].toLowerCase()===y[Y].toLowerCase();Y++);return Y===0?r:Y===ie?F>ie?y.slice(Y).join("\\"):S>ie?"..\\".repeat(S-1-Y)+"..":"":"..\\".repeat(S-Y)+y.slice(Y).join("\\")}let i=0;for(;i<n.length&&n.charCodeAt(i)===ae;)i++;let s=n.length;for(;s-1>i&&n.charCodeAt(s-1)===ae;)s--;let o=s-i,a=0;for(;a<e.length&&e.charCodeAt(a)===ae;)a++;let l=e.length;for(;l-1>a&&e.charCodeAt(l-1)===ae;)l--;let u=l-a,d=o<u?o:u,c=-1,f=0;for(;f<d;f++){let m=n.charCodeAt(i+f);if(m!==e.charCodeAt(a+f))break;m===ae&&(c=f)}if(f!==d){if(c===-1)return r}else{if(u>d){if(e.charCodeAt(a+f)===ae)return r.slice(a+f+1);if(f===2)return r.slice(a+f)}o>d&&(n.charCodeAt(i+f)===ae?c=f:f===2&&(c=3)),c===-1&&(c=0)}let h="";for(f=i+c+1;f<=s;++f)(f===s||n.charCodeAt(f)===ae)&&(h+=h.length===0?"..":"\\..");return a+=c,h.length>0?`${h}${r.slice(a,l)}`:(r.charCodeAt(a)===ae&&++a,r.slice(a,l))},toNamespacedPath(n){if(typeof n!="string"||n.length===0)return n;let e=K.resolve(n);if(e.length<=2)return n;if(e.charCodeAt(0)===ae){if(e.charCodeAt(1)===ae){let t=e.charCodeAt(2);if(t!==Ao&&t!==Qe)return`\\\\?\\UNC\\${e.slice(2)}`}}else if(Re(e.charCodeAt(0))&&e.charCodeAt(1)===Ee&&e.charCodeAt(2)===ae)return`\\\\?\\${e}`;return e},dirname(n){V(n,"path");let e=n.length;if(e===0)return".";let t=-1,r=0,i=n.charCodeAt(0);if(e===1)return P(i)?n:".";if(P(i)){if(t=r=1,P(n.charCodeAt(1))){let a=2,l=a;for(;a<e&&!P(n.charCodeAt(a));)a++;if(a<e&&a!==l){for(l=a;a<e&&P(n.charCodeAt(a));)a++;if(a<e&&a!==l){for(l=a;a<e&&!P(n.charCodeAt(a));)a++;if(a===e)return n;a!==l&&(t=r=a+1)}}}}else Re(i)&&n.charCodeAt(1)===Ee&&(t=e>2&&P(n.charCodeAt(2))?3:2,r=t);let s=-1,o=!0;for(let a=e-1;a>=r;--a)if(P(n.charCodeAt(a))){if(!o){s=a;break}}else o=!1;if(s===-1){if(t===-1)return".";s=t}return n.slice(0,s)},basename(n,e){e!==void 0&&V(e,"suffix"),V(n,"path");let t=0,r=-1,i=!0,s;if(n.length>=2&&Re(n.charCodeAt(0))&&n.charCodeAt(1)===Ee&&(t=2),e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let o=e.length-1,a=-1;for(s=n.length-1;s>=t;--s){let l=n.charCodeAt(s);if(P(l)){if(!i){t=s+1;break}}else a===-1&&(i=!1,a=s+1),o>=0&&(l===e.charCodeAt(o)?--o===-1&&(r=s):(o=-1,r=a))}return t===r?r=a:r===-1&&(r=n.length),n.slice(t,r)}for(s=n.length-1;s>=t;--s)if(P(n.charCodeAt(s))){if(!i){t=s+1;break}}else r===-1&&(i=!1,r=s+1);return r===-1?"":n.slice(t,r)},extname(n){V(n,"path");let e=0,t=-1,r=0,i=-1,s=!0,o=0;n.length>=2&&n.charCodeAt(1)===Ee&&Re(n.charCodeAt(0))&&(e=r=2);for(let a=n.length-1;a>=e;--a){let l=n.charCodeAt(a);if(P(l)){if(!s){r=a+1;break}continue}i===-1&&(s=!1,i=a+1),l===Qe?t===-1?t=a:o!==1&&(o=1):t!==-1&&(o=-1)}return t===-1||i===-1||o===0||o===1&&t===i-1&&t===r+1?"":n.slice(t,i)},format:Ci.bind(null,"\\"),parse(n){V(n,"path");let e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;let t=n.length,r=0,i=n.charCodeAt(0);if(t===1)return P(i)?(e.root=e.dir=n,e):(e.base=e.name=n,e);if(P(i)){if(r=1,P(n.charCodeAt(1))){let c=2,f=c;for(;c<t&&!P(n.charCodeAt(c));)c++;if(c<t&&c!==f){for(f=c;c<t&&P(n.charCodeAt(c));)c++;if(c<t&&c!==f){for(f=c;c<t&&!P(n.charCodeAt(c));)c++;c===t?r=c:c!==f&&(r=c+1)}}}}else if(Re(i)&&n.charCodeAt(1)===Ee){if(t<=2)return e.root=e.dir=n,e;if(r=2,P(n.charCodeAt(2))){if(t===3)return e.root=e.dir=n,e;r=3}}r>0&&(e.root=n.slice(0,r));let s=-1,o=r,a=-1,l=!0,u=n.length-1,d=0;for(;u>=r;--u){if(i=n.charCodeAt(u),P(i)){if(!l){o=u+1;break}continue}a===-1&&(l=!1,a=u+1),i===Qe?s===-1?s=u:d!==1&&(d=1):s!==-1&&(d=-1)}return a!==-1&&(s===-1||d===0||d===1&&s===a-1&&s===o+1?e.base=e.name=n.slice(o,a):(e.name=n.slice(o,s),e.base=n.slice(o,a),e.ext=n.slice(s,a))),o>0&&o!==r?e.dir=n.slice(0,o-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},Lo=(()=>{if(le){let n=/\\/g;return()=>{let e=ot().replace(n,"/");return e.slice(e.indexOf("/"))}}return()=>ot()})(),D={resolve(...n){let e="",t=!1;for(let r=n.length-1;r>=0&&!t;r--){let i=n[r];V(i,`paths[${r}]`),i.length!==0&&(e=`${i}/${e}`,t=i.charCodeAt(0)===J)}if(!t){let r=Lo();e=`${r}/${e}`,t=r.charCodeAt(0)===J}return e=Xt(e,!t,"/",ar),t?`/${e}`:e.length>0?e:"."},normalize(n){if(V(n,"path"),n.length===0)return".";let e=n.charCodeAt(0)===J,t=n.charCodeAt(n.length-1)===J;return n=Xt(n,!e,"/",ar),n.length===0?e?"/":t?"./":".":(t&&(n+="/"),e?`/${n}`:n)},isAbsolute(n){return V(n,"path"),n.length>0&&n.charCodeAt(0)===J},join(...n){if(n.length===0)return".";let e=[];for(let t=0;t<n.length;++t){let r=n[t];V(r,"path"),r.length>0&&e.push(r)}return e.length===0?".":D.normalize(e.join("/"))},relative(n,e){if(V(n,"from"),V(e,"to"),n===e||(n=D.resolve(n),e=D.resolve(e),n===e))return"";let t=1,r=n.length,i=r-t,s=1,o=e.length-s,a=i<o?i:o,l=-1,u=0;for(;u<a;u++){let c=n.charCodeAt(t+u);if(c!==e.charCodeAt(s+u))break;c===J&&(l=u)}if(u===a)if(o>a){if(e.charCodeAt(s+u)===J)return e.slice(s+u+1);if(u===0)return e.slice(s+u)}else i>a&&(n.charCodeAt(t+u)===J?l=u:u===0&&(l=0));let d="";for(u=t+l+1;u<=r;++u)(u===r||n.charCodeAt(u)===J)&&(d+=d.length===0?"..":"/..");return`${d}${e.slice(s+l)}`},toNamespacedPath(n){return n},dirname(n){if(V(n,"path"),n.length===0)return".";let e=n.charCodeAt(0)===J,t=-1,r=!0;for(let i=n.length-1;i>=1;--i)if(n.charCodeAt(i)===J){if(!r){t=i;break}}else r=!1;return t===-1?e?"/":".":e&&t===1?"//":n.slice(0,t)},basename(n,e){e!==void 0&&V(e,"suffix"),V(n,"path");let t=0,r=-1,i=!0,s;if(e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let o=e.length-1,a=-1;for(s=n.length-1;s>=0;--s){let l=n.charCodeAt(s);if(l===J){if(!i){t=s+1;break}}else a===-1&&(i=!1,a=s+1),o>=0&&(l===e.charCodeAt(o)?--o===-1&&(r=s):(o=-1,r=a))}return t===r?r=a:r===-1&&(r=n.length),n.slice(t,r)}for(s=n.length-1;s>=0;--s)if(n.charCodeAt(s)===J){if(!i){t=s+1;break}}else r===-1&&(i=!1,r=s+1);return r===-1?"":n.slice(t,r)},extname(n){V(n,"path");let e=-1,t=0,r=-1,i=!0,s=0;for(let o=n.length-1;o>=0;--o){let a=n[o];if(a==="/"){if(!i){t=o+1;break}continue}r===-1&&(i=!1,r=o+1),a==="."?e===-1?e=o:s!==1&&(s=1):e!==-1&&(s=-1)}return e===-1||r===-1||s===0||s===1&&e===r-1&&e===t+1?"":n.slice(e,r)},format:Ci.bind(null,"/"),parse(n){V(n,"path");let e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;let t=n.charCodeAt(0)===J,r;t?(e.root="/",r=1):r=0;let i=-1,s=0,o=-1,a=!0,l=n.length-1,u=0;for(;l>=r;--l){let d=n.charCodeAt(l);if(d===J){if(!a){s=l+1;break}continue}o===-1&&(a=!1,o=l+1),d===Qe?i===-1?i=l:u!==1&&(u=1):i!==-1&&(u=-1)}if(o!==-1){let d=s===0&&t?1:s;i===-1||u===0||u===1&&i===o-1&&i===s+1?e.base=e.name=n.slice(d,o):(e.name=n.slice(d,i),e.base=n.slice(d,o),e.ext=n.slice(i,o))}return s>0?e.dir=n.slice(0,s-1):t&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};D.win32=K.win32=K;D.posix=K.posix=D;var ve=le?K.normalize:D.normalize,Zt=le?K.isAbsolute:D.isAbsolute,Z=le?K.join:D.join,Mi=le?K.resolve:D.resolve,qi=le?K.relative:D.relative,Je=le?K.dirname:D.dirname,Ye=le?K.basename:D.basename,Bi=le?K.extname:D.extname,c1=le?K.format:D.format,d1=le?K.parse:D.parse,f1=le?K.toNamespacedPath:D.toNamespacedPath,ne=le?K.sep:D.sep,Uo=le?K.delimiter:D.delimiter;function Oo(n){return n}var tn=class{constructor(e,t){this.lastCache=void 0;this.lastArgKey=void 0;typeof e=="function"?(this._fn=e,this._computeKey=Oo):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){let t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}};var ue=class{constructor(e){this.executor=e;this._state=0}get hasValue(){return this._state===2}get value(){if(this._state===0){this._state=1;try{this._value=this.executor()}catch(e){this._error=e}finally{this._state=2}}else if(this._state===1)throw new Error("Cannot read the value of a lazy that is being initialized");if(this._error)throw this._error;return this._value}get rawValue(){return this._value}};function lr(n){return n.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function zi(n,e){if(!n||!e)return n;let t=e.length,r=0;if(t===1){let i=e.charCodeAt(0);for(;r<n.length&&n.charCodeAt(r)===i;)r++}else for(;n.startsWith(e,r);)r+=t;return n.substring(r)}function ur(n,e){if(!n||!e)return n;let t=e.length,r=n.length;if(t===1){let s=r,o=e.charCodeAt(0);for(;s>0&&n.charCodeAt(s-1)===o;)s--;return n.substring(0,s)}let i=r;for(;i>0&&n.endsWith(e,i);)i-=t;return n.substring(0,i)}function wt(n,e){return n<e?-1:n>e?1:0}function nn(n,e,t=0,r=n.length,i=0,s=e.length){for(;t<r&&i<s;t++,i++){let l=n.charCodeAt(t),u=e.charCodeAt(i);if(l<u)return-1;if(l>u)return 1}let o=r-t,a=s-i;return o<a?-1:o>a?1:0}function cr(n,e){return Xe(n,e,0,n.length,0,e.length)}function Xe(n,e,t=0,r=n.length,i=0,s=e.length){for(;t<r&&i<s;t++,i++){let l=n.charCodeAt(t),u=e.charCodeAt(i);if(l===u)continue;if(l>=128||u>=128)return nn(n.toLowerCase(),e.toLowerCase(),t,r,i,s);$i(l)&&(l-=32),$i(u)&&(u-=32);let d=l-u;if(d!==0)return d}let o=r-t,a=s-i;return o<a?-1:o>a?1:0}function $i(n){return n>=97&&n<=122}function dr(n){return n>=65&&n<=90}function Ze(n,e){return n.length===e.length&&Xe(n,e)===0}function Pt(n,e){let t=e.length;return t<=n.length&&Xe(n,e,0,t)===0}function Gi(n,e){let t=n.length,r=t-e.length;return r>=0&&Xe(n,e,r,t)===0}function Hi(n){return 55296<=n&&n<=56319}function fr(n){return 56320<=n&&n<=57343}function Qi(n,e){return(n-55296<<10)+(e-56320)+65536}var Wo=/(?:\x1b\[|\x9b)[=?>!]?[\d;:]*["$#'* ]?[a-zA-Z@^`{}|~]/,No=/(?:\x1b\]|\x9d).*?(?:\x1b\\|\x07|\x9c)/,Co=/\x1b(?:[ #%\(\)\*\+\-\.\/]?[a-zA-Z0-9\|}~@])/,x1=new RegExp("(?:"+[Wo.source,No.source,Co.source].join("|")+")","g");var E1=String.fromCharCode(65279);var Vi=class n{static{this._INSTANCE=null}static getInstance(){return n._INSTANCE||(n._INSTANCE=new n),n._INSTANCE}constructor(){this._data=Mo()}getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)return 0;let t=this._data,r=t.length/3,i=1;for(;i<=r;)if(e<t[3*i])i=2*i;else if(e>t[3*i+1])i=2*i+1;else return t[3*i+2];return 0}};function Mo(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}var Ki=class n{constructor(e){this.confusableDictionary=e}static{this.ambiguousCharacterData=new ue(()=>JSON.parse('{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,1523,96,8242,96,1370,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,118002,50,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,118003,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,118004,52,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,118005,53,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,118006,54,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,118007,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,118008,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,118009,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,117974,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,117975,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71913,67,71922,67,65315,67,8557,67,8450,67,8493,67,117976,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,117977,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,117978,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,117979,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,117980,71,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,117981,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,117983,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,117984,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,118001,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,117982,108,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,117985,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,117986,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,117987,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,118000,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,117988,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,117989,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,117990,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,117991,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,117992,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,117993,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,117994,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,117995,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71910,87,71919,87,117996,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,117997,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,117998,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,71909,90,66293,90,65338,90,8484,90,8488,90,117999,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65283,35,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"cs":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"es":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"fr":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"it":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ja":[8211,45,8218,44,65281,33,8216,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65292,44,65297,49,65307,59],"ko":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pt-BR":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ru":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"zh-hans":[160,32,65374,126,8218,44,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65297,49],"zh-hant":[8211,45,65374,126,8218,44,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89]}'))}static{this.cache=new tn(e=>{let t=e.split(",");function r(c){let f=new Map;for(let h=0;h<c.length;h+=2)f.set(c[h],c[h+1]);return f}function i(c,f){let h=new Map(c);for(let[m,y]of f)h.set(m,y);return h}function s(c,f){if(!c)return f;let h=new Map;for(let[m,y]of c)f.has(m)&&h.set(m,y);return h}let o=this.ambiguousCharacterData.value,a=t.filter(c=>!c.startsWith("_")&&Object.hasOwn(o,c));a.length===0&&(a=["_default"]);let l;for(let c of a){let f=r(o[c]);l=s(l,f)}let u=r(o._common),d=i(u,l);return new n(d)})}static getInstance(e){return n.cache.get(Array.from(e).join(","))}static{this._locales=new ue(()=>Object.keys(n.ambiguousCharacterData.value).filter(e=>!e.startsWith("_")))}static getLocales(){return n._locales.value}isAmbiguous(e){return this.confusableDictionary.has(e)}containsAmbiguousCharacter(e){for(let t=0;t<e.length;t++){let r=e.codePointAt(t);if(typeof r=="number"&&this.isAmbiguous(r))return!0}return!1}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}},ji=class n{static getRawData(){return JSON.parse('{"_common":[11,12,13,127,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999],"cs":[173,8203,12288],"de":[173,8203,12288],"es":[8203,12288],"fr":[173,8203,12288],"it":[160,173,12288],"ja":[173],"ko":[173,12288],"pl":[173,8203,12288],"pt-BR":[173,8203,12288],"qps-ploc":[160,173,8203,12288],"ru":[173,12288],"tr":[160,173,8203,12288],"zh-hans":[160,173,8203,12288],"zh-hant":[173,12288]}')}static{this._data=void 0}static getData(){return this._data||(this._data=new Set([...Object.values(n.getRawData())].flat())),this._data}static isInvisibleCharacter(e){return n.getData().has(e)}static containsInvisibleCharacter(e){for(let t=0;t<e.length;t++){let r=e.codePointAt(t);if(typeof r=="number"&&(n.isInvisibleCharacter(r)||r===32))return!0}return!1}static get codePoints(){return n.getData()}};function Oe(n){return n===47||n===92}function pr(n){return n.replace(/[\\/]/g,D.sep)}function Yi(n){return n.indexOf("/")===-1&&(n=pr(n)),/^[a-zA-Z]:(\/|$)/.test(n)&&(n="/"+n),n}function hr(n,e=D.sep){if(!n)return"";let t=n.length,r=n.charCodeAt(0);if(Oe(r)){if(Oe(n.charCodeAt(1))&&!Oe(n.charCodeAt(2))){let s=3,o=s;for(;s<t&&!Oe(n.charCodeAt(s));s++);if(o!==s&&!Oe(n.charCodeAt(s+1))){for(s+=1;s<t;s++)if(Oe(n.charCodeAt(s)))return n.slice(0,s+1).replace(/[\\/]/g,e)}}return e}else if(Xi(r)&&n.charCodeAt(1)===58)return Oe(n.charCodeAt(2))?n.slice(0,2)+e:n.slice(0,2);let i=n.indexOf("://");if(i!==-1){for(i+=3;i<t;i++)if(Oe(n.charCodeAt(i)))return n.slice(0,i+1)}return""}function Dt(n,e,t){let r=n===e;return!t||r?r:!n||!e?!1:Ze(n,e)}function pe(n,e,t,r=!1){let i=r?D.sep:ne;if(n===e)return!0;if(!n||!e||((n.indexOf("..")>=0||e.indexOf("..")>=0)&&(n=r?D.normalize(n):ve(n),e=r?D.normalize(e):ve(e)),e.length>n.length))return!1;if(t){if(!Pt(n,e))return!1;if(e.length===n.length)return!0;let o=e.length;return e.charAt(e.length-1)===i&&o--,n.charAt(o)===i}return e.charAt(e.length-1)!==i&&(e+=i),n.indexOf(e)===0}function Xi(n){return n>=65&&n<=90||n>=97&&n<=122}function mr(n){let e=ve(n);return j?n.length>3?!1:qo(e)&&(n.length===2||e.charCodeAt(2)===92):e===D.sep}function qo(n,e=j){return e?Xi(n.charCodeAt(0))&&n.charCodeAt(1)===58:!1}var Bo="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",$o="BDEFGHIJKMOQRSTUVWXYZbdefghijkmoqrstuvwxyz0123456789";function rn(n,e,t=8){let r="";for(let s=0;s<t;s++){let o;s===0&&j&&!e&&(t===3||t===4)?o=$o:o=Bo,r+=o.charAt(Math.floor(Math.random()*o.length))}let i;return e?i=`${e}-${r}`:i=r,n?Z(n,i):i}var jo=/^\w[\w\d+.-]*$/,zo=/^\//,Go=/^\/\//;function Ho(n,e){if(!n.scheme&&e)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${n.authority}", path: "${n.path}", query: "${n.query}", fragment: "${n.fragment}"}`);if(n.scheme&&!jo.test(n.scheme)){let t=[...n.scheme.matchAll(/[^\w\d+.-]/gu)],r=t.length>0?` Found '${t[0][0]}' at index ${t[0].index} (${t.length} total)`:"";throw new Error(`[UriError]: Scheme contains illegal characters.${r} (len:${n.scheme.length})`)}if(n.path){if(n.authority){if(!zo.test(n.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(Go.test(n.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function Qo(n,e){return!n&&!e?"file":n}function Jo(n,e){switch(n){case"https":case"http":case"file":e?e[0]!==he&&(e=he+e):e=he;break}return e}var N="",he="/",Yo=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,O=class n{static isUri(e){return e instanceof n?!0:!e||typeof e!="object"?!1:typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function"}constructor(e,t,r,i,s,o=!1){typeof e=="object"?(this.scheme=e.scheme||N,this.authority=e.authority||N,this.path=e.path||N,this.query=e.query||N,this.fragment=e.fragment||N):(this.scheme=Qo(e,o),this.authority=t||N,this.path=Jo(this.scheme,r||N),this.query=i||N,this.fragment=s||N,Ho(this,o))}get fsPath(){return St(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:r,path:i,query:s,fragment:o}=e;return t===void 0?t=this.scheme:t===null&&(t=N),r===void 0?r=this.authority:r===null&&(r=N),i===void 0?i=this.path:i===null&&(i=N),s===void 0?s=this.query:s===null&&(s=N),o===void 0?o=this.fragment:o===null&&(o=N),t===this.scheme&&r===this.authority&&i===this.path&&s===this.query&&o===this.fragment?this:new We(t,r,i,s,o)}static parse(e,t=!1){let r=Yo.exec(e);return r?new We(r[2]||N,sn(r[4]||N),sn(r[5]||N),sn(r[7]||N),sn(r[9]||N),t):new We(N,N,N,N,N)}static file(e){let t=N;if(j&&(e=e.replace(/\\/g,he)),e[0]===he&&e[1]===he){let r=e.indexOf(he,2);r===-1?(t=e.substring(2),e=he):(t=e.substring(2,r),e=e.substring(r)||he)}return new We("file",t,e,N,N)}static from(e,t){return new We(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error(`[UriError]: cannot call joinPath on URI without path: ${e.toString()}`);let r;return j&&e.scheme==="file"?r=n.file(K.join(St(e,!0),...t)).path:r=D.join(e.path,...t),e.with({path:r})}toString(e=!1){return gr(this,e)}toJSON(){return this}static revive(e){if(e){if(e instanceof n)return e;{let t=new We(e);return t._formatted=e.external??null,t._fsPath=e._sep===ts?e.fsPath??null:null,t}}else return e}[Symbol.for("debug.description")](){return`URI(${this.toString()})`}};var ts=j?1:void 0,We=class extends O{constructor(){super(...arguments);this._formatted=null;this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=St(this,!1)),this._fsPath}toString(t=!1){return t?gr(this,!0):(this._formatted||(this._formatted=gr(this,!1)),this._formatted)}toJSON(){let t={$mid:1};return this._fsPath&&(t.fsPath=this._fsPath,t._sep=ts),this._formatted&&(t.external=this._formatted),this.path&&(t.path=this.path),this.scheme&&(t.scheme=this.scheme),this.authority&&(t.authority=this.authority),this.query&&(t.query=this.query),this.fragment&&(t.fragment=this.fragment),t}},ns={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function Zi(n,e,t){let r,i=-1;for(let s=0;s<n.length;s++){let o=n.charCodeAt(s);if(o>=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||o===45||o===46||o===95||o===126||e&&o===47||t&&o===91||t&&o===93||t&&o===58)i!==-1&&(r+=encodeURIComponent(n.substring(i,s)),i=-1),r!==void 0&&(r+=n.charAt(s));else{r===void 0&&(r=n.substr(0,s));let a=ns[o];a!==void 0?(i!==-1&&(r+=encodeURIComponent(n.substring(i,s)),i=-1),r+=a):i===-1&&(i=s)}}return i!==-1&&(r+=encodeURIComponent(n.substring(i))),r!==void 0?r:n}function Xo(n){let e;for(let t=0;t<n.length;t++){let r=n.charCodeAt(t);r===35||r===63?(e===void 0&&(e=n.substr(0,t)),e+=ns[r]):e!==void 0&&(e+=n[t])}return e!==void 0?e:n}function St(n,e){let t;return n.authority&&n.path.length>1&&n.scheme==="file"?t=`//${n.authority}${n.path}`:n.path.charCodeAt(0)===47&&(n.path.charCodeAt(1)>=65&&n.path.charCodeAt(1)<=90||n.path.charCodeAt(1)>=97&&n.path.charCodeAt(1)<=122)&&n.path.charCodeAt(2)===58?e?t=n.path.substr(1):t=n.path[1].toLowerCase()+n.path.substr(2):t=n.path,j&&(t=t.replace(/\//g,"\\")),t}function gr(n,e){let t=e?Xo:Zi,r="",{scheme:i,authority:s,path:o,query:a,fragment:l}=n;if(i&&(r+=i,r+=":"),(s||i==="file")&&(r+=he,r+=he),s){let u=s.indexOf("@");if(u!==-1){let d=s.substr(0,u);s=s.substr(u+1),u=d.lastIndexOf(":"),u===-1?r+=t(d,!1,!1):(r+=t(d.substr(0,u),!1,!1),r+=":",r+=t(d.substr(u+1),!1,!0)),r+="@"}s=s.toLowerCase(),u=s.lastIndexOf(":"),u===-1?r+=t(s,!1,!0):(r+=t(s.substr(0,u),!1,!0),r+=s.substr(u))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){let u=o.charCodeAt(1);u>=65&&u<=90&&(o=`/${String.fromCharCode(u+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){let u=o.charCodeAt(0);u>=65&&u<=90&&(o=`${String.fromCharCode(u+32)}:${o.substr(2)}`)}r+=t(o,!0,!1)}return a&&(r+="?",r+=t(a,!1,!1)),l&&(r+="#",r+=e?l:Zi(l,!1,!1)),r}function rs(n){try{return decodeURIComponent(n)}catch{return n.length>3?n.substr(0,3)+rs(n.substr(3)):n}}var es=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function sn(n){return n.match(es)?n.replace(es,e=>rs(e)):n}var G;(E=>(E.inMemory="inmemory",E.vscode="vscode",E.internal="private",E.walkThrough="walkThrough",E.walkThroughSnippet="walkThroughSnippet",E.http="http",E.https="https",E.file="file",E.mailto="mailto",E.untitled="untitled",E.data="data",E.command="command",E.vscodeRemote="vscode-remote",E.vscodeRemoteResource="vscode-remote-resource",E.vscodeManagedRemoteResource="vscode-managed-remote-resource",E.vscodeUserData="vscode-userdata",E.vscodeCustomEditor="vscode-custom-editor",E.vscodeNotebookCell="vscode-notebook-cell",E.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",E.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",E.vscodeNotebookCellOutput="vscode-notebook-cell-output",E.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",E.vscodeNotebookMetadata="vscode-notebook-metadata",E.vscodeInteractiveInput="vscode-interactive-input",E.vscodeSettings="vscode-settings",E.vscodeWorkspaceTrust="vscode-workspace-trust",E.vscodeTerminal="vscode-terminal",E.vscodeImageCarousel="vscode-image-carousel",E.vscodeChatCodeBlock="vscode-chat-code-block",E.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",E.vscodeChatEditor="vscode-chat-editor",E.vscodeChatInput="chatSessionInput",E.vscodeLocalChatSession="vscode-chat-session",E.webviewPanel="webview-panel",E.vscodeWebview="vscode-webview",E.vscodeBrowser="vscode-browser",E.extension="extension",E.vscodeFileResource="vscode-file",E.tmp="tmp",E.vsls="vsls",E.vscodeSourceControl="vscode-scm",E.commentsInput="comment",E.codeSetting="code-setting",E.outputChannel="output",E.accessibleView="accessible-view",E.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",E.chatEditingModel="chat-editing-text-model",E.copilotPr="copilot-pr"))(G||={});var Zo="tkn",br=class{constructor(){this._hosts=Object.create(null);this._ports=Object.create(null);this._connectionTokens=Object.create(null);this._preferredWebSchema="http";this._delegate=null;this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}setDelegate(e){this._delegate=e}setServerRootPath(e,t){this._serverRootPath=D.join(t??"/",ta(e))}getServerRootPath(){return this._serverRootPath}get _remoteResourcesPath(){return D.join(this._serverRootPath,G.vscodeRemoteResource)}set(e,t,r){this._hosts[e]=t,this._ports[e]=r}setConnectionToken(e,t){this._connectionTokens[e]=t}getPreferredWebSchema(){return this._preferredWebSchema}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(a){return Jr(a),e}let t=e.authority,r=this._hosts[t];r&&r.indexOf(":")!==-1&&r.indexOf("[")===-1&&(r=`[${r}]`);let i=this._ports[t],s=this._connectionTokens[t],o=`path=${encodeURIComponent(e.path)}`;return typeof s=="string"&&(o+=`&${Zo}=${encodeURIComponent(s)}`),O.from({scheme:er?this._preferredWebSchema:G.vscodeRemoteResource,authority:`${r}:${i}`,path:this._remoteResourcesPath,query:o})}},ea=new br;function ta(n){return`${n.quality??"oss"}-${n.commit??"dev"}`}var na="vscode-app",vr=class n{static{this.FALLBACK_AUTHORITY=na}asBrowserUri(e){let t=this.toUri(e);return this.uriToBrowserUri(t)}uriToBrowserUri(e){return e.scheme===G.vscodeRemote?ea.rewrite(e):e.scheme===G.file&&(Ri||wi===`${G.vscodeFileResource}://${n.FALLBACK_AUTHORITY}`)?e.with({scheme:G.vscodeFileResource,authority:e.authority||n.FALLBACK_AUTHORITY,query:null,fragment:null}):e}asFileUri(e){let t=this.toUri(e);return this.uriToFileUri(t)}uriToFileUri(e){return e.scheme===G.vscodeFileResource?e.with({scheme:G.file,authority:e.authority!==n.FALLBACK_AUTHORITY?e.authority:null,query:null,fragment:null}):e}toUri(e){if(O.isUri(e))return e;if(globalThis._VSCODE_FILE_ROOT){let t=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(t))return O.joinPath(O.parse(t,!0),e);let r=Z(t,e);return O.file(r)}throw new Error("Cannot determine URI for module id!")}},ra=new vr,N1=Object.freeze({"Cache-Control":"no-cache, no-store"}),C1=Object.freeze({"Document-Policy":"include-js-call-stacks-in-crash-reports"}),ia;(s=>{let n=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);s.CoopAndCoep=Object.freeze(n.get("3"));let t="vscode-coi";function r(o){let a;typeof o=="string"?a=new URL(o).searchParams:o instanceof URL?a=o.searchParams:O.isUri(o)&&(a=new URL(o.toString(!0)).searchParams);let l=a?.get(t);if(l)return n.get(l)}s.getHeadersFromQuery=r;function i(o,a,l){if(!globalThis.crossOriginIsolated)return;let u=a&&l?"3":l?"2":"1";o instanceof URLSearchParams?o.set(t,u):o[t]=u}s.addSearchParam=i})(ia||={});function we(n){return St(n,!0)}var At=class{constructor(e){this._ignorePathCasing=e}compare(e,t,r=!1){return e===t?0:wt(this.getComparisonKey(e,r),this.getComparisonKey(t,r))}isEqual(e,t,r=!1){return e===t?!0:!e||!t?!1:this.getComparisonKey(e,r)===this.getComparisonKey(t,r)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}ignorePathCasing(e){return this._ignorePathCasing(e)}isEqualOrParent(e,t,r=!1){if(e.scheme===t.scheme){if(e.scheme===G.file)return pe(we(e),we(t),this._ignorePathCasing(e))&&e.query===t.query&&(r||e.fragment===t.fragment);if(is(e.authority,t.authority))return pe(e.path,t.path,this._ignorePathCasing(e),!0)&&e.query===t.query&&(r||e.fragment===t.fragment)}return!1}joinPath(e,...t){return O.joinPath(e,...t)}basenameOrAuthority(e){return sa(e)||e.authority}basename(e,t){return D.basename(e.path,t)}extname(e){return D.extname(e.path)}dirname(e){if(e.path.length===0)return e;let t;return e.scheme===G.file?t=O.file(Je(we(e))).path:(t=D.dirname(e.path),e.authority&&t.length&&t.charCodeAt(0)!==47&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t="/")),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return e.scheme===G.file?t=O.file(ve(we(e))).path:t=D.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!is(e.authority,t.authority))return;if(e.scheme===G.file){let s=qi(we(e),we(t));return j?pr(s):s}let r=e.path||"/",i=t.path||"/";if(this._ignorePathCasing(e)){let s=0;for(let o=Math.min(r.length,i.length);s<o&&!(r.charCodeAt(s)!==i.charCodeAt(s)&&r.charAt(s).toLowerCase()!==i.charAt(s).toLowerCase());s++);r=i.substr(0,s)+r.substr(s)}return D.relative(r,i)}resolvePath(e,t){if(e.scheme===G.file){let r=O.file(Mi(we(e),t));return e.with({authority:r.authority,path:r.path})}return t=Yi(t),e.with({path:D.resolve(e.path,t)})}isAbsolutePath(e){return!!e.path&&e.path[0]==="/"}isEqualAuthority(e,t){return e===t||e!==void 0&&t!==void 0&&Ze(e,t)}hasTrailingPathSeparator(e,t=ne){if(e.scheme===G.file){let r=we(e);return r.length>hr(r).length&&r[r.length-1]===t}else{let r=e.path;return r.length>1&&r.charCodeAt(r.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=ne){return ss(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=ne){let r=!1;if(e.scheme===G.file){let i=we(e);r=i!==void 0&&i.length===hr(i).length&&i[i.length-1]===t}else{t="/";let i=e.path;r=i.length===1&&i.charCodeAt(i.length-1)===47}return!r&&!ss(e,t)?e.with({path:e.path+"/"}):e}},k=new At(()=>!1),os=new At(n=>n.scheme===G.file?!C:!0),j1=new At(n=>!0),z1=k.isEqual.bind(k),G1=k.isEqualOrParent.bind(k),H1=k.getComparisonKey.bind(k),Q1=k.basenameOrAuthority.bind(k),sa=k.basename.bind(k),J1=k.extname.bind(k),Y1=k.dirname.bind(k),Tr=k.joinPath.bind(k),X1=k.normalizePath.bind(k),Z1=k.relativePath.bind(k),eu=k.resolvePath.bind(k),tu=k.isAbsolutePath.bind(k),is=k.isEqualAuthority.bind(k),ss=k.hasTrailingPathSeparator.bind(k),nu=k.removeTrailingPathSeparator.bind(k),ru=k.addTrailingPathSeparator.bind(k);var oa;(s=>{s.META_DATA_LABEL="label",s.META_DATA_DESCRIPTION="description",s.META_DATA_SIZE="size",s.META_DATA_MIME="mime";function i(o){let a=new Map;o.path.substring(o.path.indexOf(";")+1,o.path.lastIndexOf(";")).split(";").forEach(d=>{let[c,f]=d.split(":");c&&f&&a.set(c,f)});let u=o.path.substring(0,o.path.indexOf(";"));return u&&a.set(s.META_DATA_MIME,u),a}s.parseMetaData=i})(oa||={});var as=Symbol("MicrotaskDelay");function un(n){return!!n&&typeof n.then=="function"}function kt(n){let e=new re,t=n(e.token),r=!1,i=new Promise((s,o)=>{let a=e.token.onCancellationRequested(()=>{r=!0,a.dispose(),o(new se)});Promise.resolve(t).then(l=>{a.dispose(),e.dispose(),r?bi(l)&&l.dispose():s(l)},l=>{a.dispose(),e.dispose(),o(l)})});return new class{cancel(){e.cancel(),e.dispose()}then(s,o){return i.then(s,o)}catch(s){return this.then(void 0,s)}finally(s){return i.finally(s)}}}var _r=class{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null,this.cancellationTokenSource=new re}queue(e){if(this.cancellationTokenSource.token.isCancellationRequested)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){let t=()=>{if(this.queuedPromise=null,this.cancellationTokenSource.token.isCancellationRequested)return;let r=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,r};this.queuedPromise=new Promise(r=>{this.activePromise.then(t,t).then(r)})}return new Promise((t,r)=>{this.queuedPromise.then(t,r)})}return this.activePromise=e(this.cancellationTokenSource.token),new Promise((t,r)=>{this.activePromise.then(i=>{this.activePromise=null,t(i)},i=>{this.activePromise=null,r(i)})})}dispose(){this.cancellationTokenSource.cancel()}};var aa=(n,e)=>{let t=!0,r=setTimeout(()=>{t=!1,e()},n);return{isTriggered:()=>t,dispose:()=>{clearTimeout(r),t=!1}}},la=n=>{let e=!0;return queueMicrotask(()=>{e&&(e=!1,n())}),{isTriggered:()=>e,dispose:()=>{e=!1}}},on=class{constructor(e){this.defaultDelay=e;this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((i,s)=>{this.doResolve=i,this.doReject=s}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){let i=this.task;return this.task=null,i()}}));let r=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=t===as?la(r):aa(t,r),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new se),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}},an=class{constructor(e){this.delayer=new on(e),this.throttler=new _r}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(),this.throttler.dispose()}};function cn(n,e){return e?new Promise((t,r)=>{let i=setTimeout(()=>{s.dispose(),t()},n),s=e.onCancellationRequested(()=>{clearTimeout(i),s.dispose(),r(new se)})}):kt(t=>cn(n,t))}var vu=2**31-1;var Ir=class{constructor(e){this._size=0;this._isDisposed=!1;this.maxDegreeOfParalellism=e,this.outstandingPromises=[],this.runningPromises=0,this._onDrained=new A}whenIdle(){return this.size>0?U.toPromise(this.onDrained):Promise.resolve()}get onDrained(){return this._onDrained.event}get size(){return this._size}queue(e){if(this._isDisposed)throw new Error("Object has been disposed");return this._size++,new Promise((t,r)=>{this.outstandingPromises.push({factory:e,c:t,e:r}),this.consume()})}consume(){for(;this.outstandingPromises.length&&this.runningPromises<this.maxDegreeOfParalellism;){let e=this.outstandingPromises.shift();this.runningPromises++;let t=e.factory();t.then(e.c,e.e),t.then(()=>this.consumed(),()=>this.consumed())}}consumed(){this._isDisposed||(this.runningPromises--,--this._size===0&&this._onDrained.fire(),this.outstandingPromises.length>0&&this.consume())}clear(){if(this._isDisposed)throw new Error("Object has been disposed");this.outstandingPromises.length=0,this._size=this.runningPromises}dispose(){this._isDisposed=!0,this.outstandingPromises.length=0,this._size=0,this._onDrained.dispose()}},xr=class extends Ir{constructor(){super(1)}};var ln=class{constructor(){this.queues=new Map;this.drainers=new Set;this.drainListeners=void 0;this.drainListenerCount=0}async whenDrained(){if(this.isDrained())return;let e=new fe;return this.drainers.add(e),e.p}isDrained(){for(let[,e]of this.queues)if(e.size>0)return!1;return!0}queueSize(e,t=k){let r=t.getComparisonKey(e);return this.queues.get(r)?.size??0}queueFor(e,t,r=k){let i=r.getComparisonKey(e),s=this.queues.get(i);if(!s){s=new xr;let o=this.drainListenerCount++,a=U.once(s.onDrained)(()=>{s?.dispose(),this.queues.delete(i),this.onDidQueueDrain(),this.drainListeners?.deleteAndDispose(o),this.drainListeners?.size===0&&(this.drainListeners.dispose(),this.drainListeners=void 0)});this.drainListeners||(this.drainListeners=new Le),this.drainListeners.set(o,a),this.queues.set(i,s)}return s.queue(t)}onDidQueueDrain(){this.isDrained()&&this.releaseDrainers()}releaseDrainers(){for(let e of this.drainers)e.complete();this.drainers.clear()}dispose(){for(let[,e]of this.queues)e.dispose();this.queues.clear(),this.releaseDrainers(),this.drainListeners?.dispose()}};var et=class{constructor(e,t){this.timeoutToken=void 0,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=void 0)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return this.timeoutToken!==void 0}flush(){this.isScheduled()&&(this.cancel(),this.doRun())}onTimeout(){this.timeoutToken=void 0,this.runner&&this.doRun()}doRun(){this.runner?.()}};var tt=class extends et{constructor(t,r){super(t,r);this.units=[]}work(t){this.units.push(t),this.isScheduled()||this.schedule()}doRun(){let t=this.units;this.units=[],this.runner?.(t)}dispose(){this.units=[],super.dispose()}},Ne=class extends B{constructor(t,r){super();this.options=t;this.handler=r;this.pendingWork=[];this.throttler=this._register(new Fe);this.disposed=!1;this.lastExecutionTime=0}get pending(){return this.pendingWork.length}work(t){if(this.disposed)return!1;if(typeof this.options.maxBufferedWork=="number"){if(this.throttler.value){if(this.pending+t.length>this.options.maxBufferedWork)return!1}else if(this.pending+t.length-this.options.maxWorkChunkSize>this.options.maxBufferedWork)return!1}for(let i of t)this.pendingWork.push(i);let r=Date.now()-this.lastExecutionTime;return!this.throttler.value&&(!this.options.waitThrottleDelayBetweenWorkUnits||r>=this.options.throttleDelay)?this.doWork():!this.throttler.value&&this.options.waitThrottleDelayBetweenWorkUnits&&this.scheduleThrottler(Math.max(this.options.throttleDelay-r,0)),!0}doWork(){this.lastExecutionTime=Date.now(),this.handler(this.pendingWork.splice(0,this.options.maxWorkChunkSize)),this.pendingWork.length>0&&this.scheduleThrottler()}scheduleThrottler(t=this.options.throttleDelay){this.throttler.value=new et(()=>{this.throttler.clear(),this.doWork()},t),this.throttler.value.schedule()}dispose(){super.dispose(),this.pendingWork.length=0,this.disposed=!0}},ua,yr;(function(){let n=globalThis;typeof n.requestIdleCallback!="function"||typeof n.cancelIdleCallback!="function"?yr=(e,t,r)=>{Pi(()=>{if(i)return;let s=Date.now()+15;t(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,s-Date.now())}}))});let i=!1;return{dispose(){i||(i=!0)}}}:yr=(e,t,r)=>{let i=e.requestIdleCallback(t,typeof r=="number"?{timeout:r}:void 0),s=!1;return{dispose(){s||(s=!0,e.cancelIdleCallback(i))}}},ua=(e,t)=>yr(globalThis,e,t)})();var fe=class n{static fromPromise(e){let t=new n;return t.settleWith(e),t}get isRejected(){return this.outcome?.outcome===1}get isResolved(){return this.outcome?.outcome===0}get isSettled(){return!!this.outcome}get value(){return this.outcome?.outcome===0?this.outcome?.value:void 0}constructor(){this.p=new Promise((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return this.isSettled?Promise.resolve():new Promise(t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()})}error(e){return this.isSettled?Promise.resolve():new Promise(t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()})}settleWith(e){return e.then(t=>this.complete(t),t=>this.error(t))}cancel(){return this.error(new se)}},dn;(t=>{async function n(r){let i,s=await Promise.all(r.map(o=>o.then(a=>a,a=>{i||(i=a)})));if(typeof i<"u")throw i;return s}t.settled=n;function e(r){return new Promise(async(i,s)=>{try{await r(i,s)}catch(o){s(o)}})}t.withAsyncBody=e})(dn||={});var ls=class n{static fromArray(e){return new n(t=>{t.emitMany(e)})}static fromPromise(e){return new n(async t=>{t.emitMany(await e)})}static fromPromisesResolveOrder(e){return new n(async t=>{await Promise.all(e.map(async r=>t.emitOne(await r)))})}static merge(e){return new n(async t=>{await Promise.all(e.map(async r=>{for await(let i of r)t.emitOne(i)}))})}static{this.EMPTY=n.fromArray([])}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new A,queueMicrotask(async()=>{let r={emitOne:i=>this.emitOne(i),emitMany:i=>this.emitMany(i),reject:i=>this.reject(i)};try{await Promise.resolve(e(r)),this.resolve()}catch(i){this.reject(i)}finally{r.emitOne=()=>{},r.emitMany=()=>{},r.reject=()=>{}}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(this._state===1)return{done:!0,value:void 0};await U.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(e,t){return new n(async r=>{for await(let i of e)r.emitOne(t(i))})}map(e){return n.map(this,e)}static filter(e,t){return new n(async r=>{for await(let i of e)t(i)&&r.emitOne(i)})}filter(e){return n.filter(this,e)}static coalesce(e){return n.filter(e,t=>!!t)}coalesce(){return n.coalesce(this)}static async toPromise(e){let t=[];for await(let r of e)t.push(r);return t}toPromise(){return n.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};var Er=class{constructor(){this._unsatisfiedConsumers=[];this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(e){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){let t=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(t,e)}else this._unconsumedValues.push(e)}produceFinal(e){this._ensureNoFinalValue(),this._finalValue=e;for(let t of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(t,e);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new Ae("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(e,t){t.ok?e.complete(t.value):e.error(t.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){let e=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return e.ok?Promise.resolve(e.value):Promise.reject(e.error)}else{let e=new fe;return this._unsatisfiedConsumers.push(e),e.p}}},us=class n{constructor(e,t){this._onReturn=t;this._producerConsumer=new Er;this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async e=>(this._finishError(e),{done:!0,value:void 0})};queueMicrotask(async()=>{let r=e({emitOne:i=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:i}}),emitMany:i=>{for(let s of i)this._producerConsumer.produce({ok:!0,value:{done:!1,value:s}})},reject:i=>this._finishError(i)});if(!this._producerConsumer.hasFinalValue)try{await r,this._finishOk()}catch(i){this._finishError(i)}})}static fromArray(e){return new n(t=>{t.emitMany(e)})}static fromPromise(e){return new n(async t=>{t.emitMany(await e)})}static fromPromisesResolveOrder(e){return new n(async t=>{await Promise.all(e.map(async r=>t.emitOne(await r)))})}static merge(e){return new n(async t=>{await Promise.all(e.map(async r=>{for await(let i of r)t.emitOne(i)}))})}static{this.EMPTY=n.fromArray([])}static map(e,t){return new n(async r=>{for await(let i of e)r.emitOne(t(i))})}static tee(e){let t,r,i=new fe,s=async()=>{if(!(!t||!r))try{for await(let l of e)t.emitOne(l),r.emitOne(l)}catch(l){t.reject(l),r.reject(l)}finally{i.complete()}},o=new n(async l=>(t=l,s(),i.p)),a=new n(async l=>(r=l,s(),i.p));return[o,a]}map(e){return n.map(this,e)}static coalesce(e){return n.filter(e,t=>!!t)}coalesce(){return n.coalesce(this)}static filter(e,t){return new n(async r=>{for await(let i of e)t(i)&&r.emitOne(i)})}filter(e){return n.filter(this,e)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(e){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:e})}[Symbol.asyncIterator](){return this._iterator}};var Ft=typeof Buffer<"u",da=new ue(()=>new Uint8Array(256)),Rr,wr,z=class n{static alloc(e){return Ft?new n(Buffer.allocUnsafe(e)):new n(new Uint8Array(e))}static wrap(e){return Ft&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new n(e)}static fromString(e,t){return!(t?.dontUseNodeBuffer||!1)&&Ft?new n(Buffer.from(e)):(Rr||(Rr=new TextEncoder),new n(Rr.encode(e)))}static fromByteArray(e){let t=n.alloc(e.length);for(let r=0,i=e.length;r<i;r++)t.buffer[r]=e[r];return t}static concat(e,t){if(typeof t>"u"){t=0;for(let s=0,o=e.length;s<o;s++)t+=e[s].byteLength}let r=n.alloc(t),i=0;for(let s=0,o=e.length;s<o;s++){let a=e[s];r.set(a,i),i+=a.byteLength}return r}static isNativeBuffer(e){return Ft&&Buffer.isBuffer(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}clone(){let e=n.alloc(this.byteLength);return e.set(this),e}toString(){return Ft?this.buffer.toString():(wr||(wr=new TextDecoder(void 0,{ignoreBOM:!0})),wr.decode(this.buffer))}slice(e,t){return new n(this.buffer.subarray(e,t))}set(e,t){if(e instanceof n)this.buffer.set(e.buffer,t);else if(e instanceof Uint8Array)this.buffer.set(e,t);else if(e instanceof ArrayBuffer)this.buffer.set(new Uint8Array(e),t);else if(ArrayBuffer.isView(e))this.buffer.set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),t);else throw new Error("Unknown argument 'array'")}readUInt32BE(e){return pa(this.buffer,e)}writeUInt32BE(e,t){ha(this.buffer,e,t)}readUInt32LE(e){return ma(this.buffer,e)}writeUInt32LE(e,t){ga(this.buffer,e,t)}readUInt8(e){return ba(this.buffer,e)}writeUInt8(e,t){va(this.buffer,e,t)}indexOf(e,t=0){return fa(this.buffer,e instanceof n?e.buffer:e,t)}equals(e){return this===e?!0:this.byteLength!==e.byteLength?!1:this.buffer.every((t,r)=>t===e.buffer[r])}};function fa(n,e,t=0){let r=e.byteLength,i=n.byteLength;if(r===0)return 0;if(r===1)return n.indexOf(e[0],t);if(r>i-t)return-1;let s=da.value;s.fill(e.length);for(let u=0;u<e.length;u++)s[e[u]]=e.length-u-1;let o=t+e.length-1,a=o,l=-1;for(;o<i;)if(n[o]===e[a]){if(a===0){l=o;break}o--,a--}else o+=Math.max(e.length-a,s[n[o]]),a=e.length-1;return l}function pa(n,e){return n[e]*2**24+n[e+1]*2**16+n[e+2]*2**8+n[e+3]}function ha(n,e,t){n[t+3]=e,e=e>>>8,n[t+2]=e,e=e>>>8,n[t+1]=e,e=e>>>8,n[t]=e}function ma(n,e){return n[e+0]<<0>>>0|n[e+1]<<8>>>0|n[e+2]<<16>>>0|n[e+3]<<24>>>0}function ga(n,e,t){n[t+0]=e&255,e=e>>>8,n[t+1]=e&255,e=e>>>8,n[t+2]=e&255,e=e>>>8,n[t+3]=e&255}function ba(n,e){return n[e]}function va(n,e,t){n[t]=e}var cs="0123456789abcdef";function ds({buffer:n}){let e="";for(let t=0;t<n.length;t++){let r=n[t];e+=cs[r>>>4],e+=cs[r&15]}return e}function fs(n,e,t){let r=null,i=null;if(typeof t.value=="function"?(r="value",i=t.value,i.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof t.get=="function"&&(r="get",i=t.get),!i)throw new Error("not supported");let s=`$memoize$${e}`;t[r]=function(...o){return this.hasOwnProperty(s)||Object.defineProperty(this,s,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,o)}),this[s]}}function Lt(n,e=0){if(!n||e>200)return n;if(typeof n=="object"){switch(n.$mid){case 1:return O.revive(n);case 2:return new RegExp(n.source,n.flags);case 17:return new Date(n.source)}if(n instanceof z||n instanceof Uint8Array)return n;if(Array.isArray(n))for(let t=0;t<n.length;++t)n[t]=Lt(n[t],e+1);else for(let t in n)Object.hasOwnProperty.call(n,t)&&(n[t]=Lt(n[t],e+1))}return n}function ft(n){switch(n){case 100:return"req";case 101:return"cancel";case 102:return"subscribe";case 103:return"unsubscribe"}}function fn(n){switch(n){case 200:return"init";case 201:return"reply:";case 202:case 203:return"replyErr:";case 204:return"event:"}}function ct(n){let e=0;for(let t=0;;t+=7){let r=n.read(1);if(e|=(r.buffer[0]&127)<<t,!(r.buffer[0]&128))return e}}var Ta=Ce(0);function dt(n,e){if(e===0){n.write(Ta);return}let t=0;for(let i=e;i!==0;i=i>>>7)t++;let r=z.alloc(t);for(let i=0;e!==0;i++)r.buffer[i]=e&127,e=e>>>7,e>0&&(r.buffer[i]|=128);n.write(r)}var Ot=class{constructor(e){this.buffer=e;this.pos=0}read(e){let t=this.buffer.slice(this.pos,this.pos+e);return this.pos+=t.byteLength,t}},pn=class{constructor(){this.buffers=[]}get buffer(){return z.concat(this.buffers)}write(e){this.buffers.push(e)}dispose(){this.buffers.length=0}};function Ce(n){let e=z.alloc(1);return e.writeUInt8(n,0),e}var nt={Undefined:Ce(0),String:Ce(1),Buffer:Ce(2),VSBuffer:Ce(3),Array:Ce(4),Object:Ce(5),Uint:Ce(6)};function Wt(n,e){if(typeof e>"u")n.write(nt.Undefined);else if(typeof e=="string"){let t=z.fromString(e);n.write(nt.String),dt(n,t.byteLength),n.write(t)}else if(z.isNativeBuffer(e)){let t=z.wrap(e);n.write(nt.Buffer),dt(n,t.byteLength),n.write(t)}else if(e instanceof z)n.write(nt.VSBuffer),dt(n,e.byteLength),n.write(e);else if(Array.isArray(e)){n.write(nt.Array),dt(n,e.length);for(let t of e)Wt(n,t)}else if(typeof e=="number"&&(e|0)===e)n.write(nt.Uint),dt(n,e);else{let t=z.fromString(JSON.stringify(e));n.write(nt.Object),dt(n,t.byteLength),n.write(t)}}function pt(n){switch(n.read(1).readUInt8(0)){case 0:return;case 1:return n.read(ct(n)).toString();case 2:return n.read(ct(n)).buffer;case 3:return n.read(ct(n));case 4:{let t=ct(n),r=[];for(let i=0;i<t;i++)r.push(pt(n));return r}case 5:return JSON.parse(n.read(ct(n)).toString());case 6:return ct(n)}}var Nt=class{constructor(e,t,r=null,i=1e3){this.protocol=e;this.ctx=t;this.logger=r;this.timeoutDelay=i;this.channels=new Map;this.activeRequests=new Map;this.pendingRequests=new Map;this.protocolListener=this.protocol.onMessage(s=>this.onRawMessage(s)),this.sendResponse({type:200})}registerChannel(e,t){this.channels.set(e,t),setTimeout(()=>this.flushPendingRequests(e),0)}sendResponse(e){switch(e.type){case 200:{let t=this.send([e.type]);this.logger?.logOutgoing(t,0,1,fn(e.type));return}case 201:case 202:case 204:case 203:{let t=this.send([e.type,e.id],e.data);this.logger?.logOutgoing(t,e.id,1,fn(e.type),e.data);return}}}send(e,t=void 0){let r=new pn;try{return Wt(r,e),Wt(r,t),this.sendBuffer(r.buffer)}finally{r.dispose()}}sendBuffer(e){try{return this.protocol.send(e),e.byteLength}catch{return 0}}onRawMessage(e){let t=new Ot(e),r=pt(t),i=pt(t),s=r[0];switch(s){case 100:return this.logger?.logIncoming(e.byteLength,r[1],1,`${ft(s)}: ${r[2]}.${r[3]}`,i),this.onPromise({type:s,id:r[1],channelName:r[2],name:r[3],arg:i});case 102:return this.logger?.logIncoming(e.byteLength,r[1],1,`${ft(s)}: ${r[2]}.${r[3]}`,i),this.onEventListen({type:s,id:r[1],channelName:r[2],name:r[3],arg:i});case 101:return this.logger?.logIncoming(e.byteLength,r[1],1,`${ft(s)}`),this.disposeActiveRequest({type:s,id:r[1]});case 103:return this.logger?.logIncoming(e.byteLength,r[1],1,`${ft(s)}`),this.disposeActiveRequest({type:s,id:r[1]})}}onPromise(e){let t=this.channels.get(e.channelName);if(!t){this.collectPendingRequest(e);return}let r=new re,i;try{i=t.call(this.ctx,e.name,e.arg,r.token)}catch(a){i=Promise.reject(a)}let s=e.id;i.then(a=>{this.sendResponse({id:s,data:a,type:201})},a=>{a instanceof Error?this.sendResponse({id:s,data:{message:a.message,name:a.name,stack:a.stack?a.stack.split(`
`):void 0},type:202}):this.sendResponse({id:s,data:a,type:203})}).finally(()=>{o.dispose(),this.activeRequests.delete(e.id)});let o=$(()=>r.cancel());this.activeRequests.set(e.id,o)}onEventListen(e){let t=this.channels.get(e.channelName);if(!t){this.collectPendingRequest(e);return}let r=e.id,s=t.listen(this.ctx,e.name,e.arg)(o=>this.sendResponse({id:r,data:o,type:204}));this.activeRequests.set(e.id,s)}disposeActiveRequest(e){let 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));let r=setTimeout(()=>{console.error(`Unknown channel: ${e.channelName}`),e.type===100&&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:r})}flushPendingRequests(e){let t=this.pendingRequests.get(e);if(t){for(let r of t)switch(clearTimeout(r.timeoutTimer),r.request.type){case 100:this.onPromise(r.request);break;case 102:this.onEventListen(r.request);break}this.pendingRequests.delete(e)}}dispose(){this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),ze(this.activeRequests.values()),this.activeRequests.clear()}};var Ut=class{constructor(e,t=null){this.protocol=e;this.isDisposed=!1;this.state=0;this.activeRequests=new Set;this.handlers=new Map;this.lastRequestId=0;this._onDidInitialize=new A;this.onDidInitialize=this._onDidInitialize.event;this.protocolListener=this.protocol.onMessage(r=>this.onBuffer(r)),this.logger=t}getChannel(e){let t=this;return{call(r,i,s){return t.isDisposed?Promise.reject(new se):t.requestPromise(e,r,i,s)},listen(r,i){return t.isDisposed?U.None:t.requestEvent(e,r,i)}}}requestPromise(e,t,r,i=He.None){let s=this.lastRequestId++,a={id:s,type:100,channelName:e,name:t,arg:r};if(i.isCancellationRequested)return Promise.reject(new se);let l,u;return new Promise((c,f)=>{if(i.isCancellationRequested)return f(new se);let h=()=>{let S=F=>{switch(F.type){case 201:this.handlers.delete(s),c(F.data);break;case 202:{this.handlers.delete(s);let ie=new Error(F.data.message);ie.stack=Array.isArray(F.data.stack)?F.data.stack.join(`
`):F.data.stack,ie.name=F.data.name,f(ie);break}case 203:this.handlers.delete(s),f(F.data);break}};this.handlers.set(s,S);try{this.sendRequest(a)}catch(F){this.handlers.delete(s),f(F)}},m=null;this.state===1?h():(m=kt(S=>this.whenInitialized()),m.then(()=>{m=null,h()}));let y=()=>{m?(m.cancel(),m=null):this.sendRequest({id:s,type:101}),f(new se)};l=i.onCancellationRequested(y),u={dispose:yt(()=>{y(),l.dispose()})},this.activeRequests.add(u)}).finally(()=>{l?.dispose(),this.activeRequests.delete(u)})}requestEvent(e,t,r){let i=this.lastRequestId++,o={id:i,type:102,channelName:e,name:t,arg:r},a=null,l=new A({onWillAddFirstListener:()=>{let u=c=>l.fire(c.data);this.handlers.set(i,u);let d=()=>{this.activeRequests.add(l),this.sendRequest(o)};this.state===1?d():(a=kt(c=>this.whenInitialized()),a.then(()=>{a=null,d()}))},onDidRemoveLastListener:()=>{a?(a.cancel(),a=null):(this.activeRequests.delete(l),this.sendRequest({id:i,type:103})),this.handlers.delete(i)}});return l.event}sendRequest(e){switch(e.type){case 100:case 102:{let t=this.send([e.type,e.id,e.channelName,e.name],e.arg);this.logger?.logOutgoing(t,e.id,0,`${ft(e.type)}: ${e.channelName}.${e.name}`,e.arg);return}case 101:case 103:{let t=this.send([e.type,e.id]);this.logger?.logOutgoing(t,e.id,0,ft(e.type));return}}}send(e,t=void 0){let r=new pn;try{return Wt(r,e),Wt(r,t),this.sendBuffer(r.buffer)}finally{r.dispose()}}sendBuffer(e){try{return this.protocol.send(e),e.byteLength}catch{return 0}}onBuffer(e){let t=new Ot(e),r=pt(t),i=pt(t),s=r[0];switch(s){case 200:return this.logger?.logIncoming(e.byteLength,0,0,fn(s)),this.onResponse({type:r[0]});case 201:case 202:case 204:case 203:return this.logger?.logIncoming(e.byteLength,r[1],0,fn(s),i),this.onResponse({type:r[0],id:r[1],data:i})}}onResponse(e){if(e.type===200){this.state=1,this._onDidInitialize.fire();return}this.handlers.get(e.id)?.(e)}get onDidInitializePromise(){return U.toPromise(this.onDidInitialize)}whenInitialized(){return this.state===1?Promise.resolve():this.onDidInitializePromise}dispose(){this.isDisposed=!0,this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),ze(this.activeRequests.values()),this.activeRequests.clear(),this._onDidInitialize.dispose()}};zr([fs],Ut.prototype,"onDidInitializePromise",1);var hn=class{constructor(e,t,r){this.channels=new Map;this._connections=new Set;this._onDidAddConnection=new A;this.onDidAddConnection=this._onDidAddConnection.event;this._onDidRemoveConnection=new A;this.onDidRemoveConnection=this._onDidRemoveConnection.event;this.disposables=new q;this.disposables.add(e(({protocol:i,onDidClientDisconnect:s})=>{let o=U.once(i.onMessage),a=new q,l=o(u=>{let d=new Ot(u),c=pt(d),f=new Nt(i,c,t,r),h=new Ut(i,t);this.channels.forEach((y,S)=>f.registerChannel(S,y));let m={channelServer:f,channelClient:h,ctx:c};this._connections.add(m),this._onDidAddConnection.fire(m),a.add(s(()=>{f.dispose(),h.dispose(),this._connections.delete(m),this._onDidRemoveConnection.fire(m),this.disposables.delete(a),a.dispose()}))});a.add(l),this.disposables.add(a)}))}get connections(){let e=[];return this._connections.forEach(t=>e.push(t)),e}getChannel(e,t){let r=this;return{call(i,s,o){let a;if(Gn(t)){let u=ti(r.connections.filter(t));a=u?Promise.resolve(u):U.toPromise(U.filter(r.onDidAddConnection,t))}else a=t.routeCall(r,i,s);let l=a.then(u=>u.channelClient.getChannel(e));return ps(l).call(i,s,o)},listen(i,s){if(Gn(t))return r.getMulticastEvent(e,t,i,s);let o=t.routeEvent(r,i,s).then(a=>a.channelClient.getChannel(e));return ps(o).listen(i,s)}}}getMulticastEvent(e,t,r,i){let s=this,o,a=new A({onWillAddFirstListener:()=>{o=new q;let l=new Qt,u=new Map,d=f=>{let m=f.channelClient.getChannel(e).listen(r,i),y=l.add(m);u.set(f,y)},c=f=>{let h=u.get(f);h&&(h.dispose(),u.delete(f))};s.connections.filter(t).forEach(d),U.filter(s.onDidAddConnection,t)(d,void 0,o),s.onDidRemoveConnection(c,void 0,o),l.event(a.fire,a,o),o.add(l)},onDidRemoveLastListener:()=>{o?.dispose(),o=void 0}});return s.disposables.add(a),a.event}registerChannel(e,t){this.channels.set(e,t);for(let r of this._connections)r.channelServer.registerChannel(e,t)}dispose(){this.disposables.dispose();for(let e of this._connections)e.channelClient.dispose(),e.channelServer.dispose();this._connections.clear(),this.channels.clear(),this._onDidAddConnection.dispose(),this._onDidRemoveConnection.dispose()}};function ps(n){return{call(e,t,r){return n.then(i=>i.call(e,t,r))},listen(e,t){let r=new Jt;return n.then(i=>r.input=i.listen(e,t)),r.event}}}var Pr;(i=>{function n(s,o,a){let l=s,u=a?.disableMarshalling,d=a?.unbufferedEvents?new Set(a.unbufferedEvents):void 0,c=new Map;for(let f in l)t(f)&&!d?.has(f)&&c.set(f,U.buffer(l[f],f,!0,void 0,o));return new class{listen(f,h,m){let y=c.get(h);if(y)return y;let S=l[h];if(typeof S=="function"){if(r(h))return S.call(l,m);if(t(h))return d?.has(h)?l[h]:(c.set(h,U.buffer(l[h],h,!0,void 0,o)),c.get(h))}throw new Se(`Event not found: ${h}`)}call(f,h,m){let y=l[h];if(typeof y=="function"){if(!u&&Array.isArray(m))for(let F=0;F<m.length;F++)m[F]=Lt(m[F]);let S=y.apply(l,m);return S instanceof Promise||(S=Promise.resolve(S)),S}throw new Se(`Method not found: ${h}`)}}}i.fromService=n;function e(s,o){let a=o?.disableMarshalling;return new Proxy({},{get(l,u){if(typeof u=="string")return o?.properties?.has(u)?o.properties.get(u):r(u)?function(d){return s.listen(u,d)}:t(u)?s.listen(u):async function(...d){let c;o&&!zn(o.context)?c=[o.context,...d]:c=d;let f=await s.call(u,c);return a?f:Lt(f)};throw new Se(`Property not found: ${String(u)}`)}})}i.toService=e;function t(s){return s[0]==="o"&&s[1]==="n"&&dr(s.charCodeAt(2))}function r(s){return/^onDynamic/.test(s)&&dr(s.charCodeAt(9))}})(Pr||={});import{fork as Xc}from"child_process";import*as Ba from"child_process";import{promises as Oc}from"fs";import*as x from"fs";import{tmpdir as Ea}from"os";import{promisify as Ct}from"util";var ya=new ke(1e4);function rt(n){return hs(n,"NFC",ya)}var _a=new ke(1e4);function Ia(n){return hs(n,"NFD",_a)}var xa=/[^\u0000-\u0080]/;function hs(n,e,t){if(!n)return n;let r=t.get(n);if(r)return r;let i;return xa.test(n)?i=n.normalize(e):i=n,t.set(n,i),i}var bc=(function(){let n=new ke(1e4),e=/[\u0300-\u036f]/g;return function(t){let r=n.get(t);if(r)return r;let i=Ia(t).replace(e,""),s=(i.length===t.length?i:t).toLowerCase();return n.set(t,s),s}})();async function bs(n,e=0,t){if(mr(n))throw new Error("rimraf - will refuse to recursively delete root");return e===0?Dr(n):Ra(n,t)}async function Ra(n,e=rn(Ea())){try{try{await x.promises.rename(n,e)}catch(t){return t.code==="ENOENT"?void 0:Dr(n)}Dr(e).catch(()=>{})}catch(t){if(t.code!=="ENOENT")throw t}}async function Dr(n){return x.promises.rm(n,{recursive:!0,force:!0,maxRetries:3})}async function gn(n,e){try{return await ms(n,e)}catch(t){if(t.code==="ENOENT"&&j&&mr(n))try{return await ms(`${n}.`,e)}catch{}throw t}}async function ms(n,e){return Pa(await(e?wa(n):x.promises.readdir(n)))}async function wa(n){try{return await x.promises.readdir(n,{withFileTypes:!0})}catch(r){r.code!=="ENOENT"&&console.warn("[node.js fs] readdir with filetypes failed with error: ",r)}let e=[],t=await gn(n);for(let r of t){let i=!1,s=!1,o=!1;try{let a=await x.promises.lstat(Z(n,r));i=a.isFile(),s=a.isDirectory(),o=a.isSymbolicLink()}catch(a){a.code!=="ENOENT"&&console.warn("[node.js fs] unexpected error from lstat after readdir: ",a)}e.push({name:r,isFile:()=>i,isDirectory:()=>s,isSymbolicLink:()=>o})}return e}function Pa(n){return n.map(e=>typeof e=="string"?be?rt(e):e:(e.name=be?rt(e.name):e.name,e))}async function Da(n){let e=await gn(n),t=[];for(let r of e)await bn.existsDirectory(Z(n,r))&&t.push(r);return t}var bn;(r=>{async function n(i){let s;try{if(s=await x.promises.lstat(i),!s.isSymbolicLink())return{stat:s}}catch{}try{return{stat:await x.promises.stat(i),symbolicLink:s?.isSymbolicLink()?{dangling:!1}:void 0}}catch(o){if(o.code==="ENOENT"&&s)return{stat:s,symbolicLink:{dangling:!0}};if(j&&o.code==="EACCES")try{return{stat:await x.promises.stat(await x.promises.readlink(i)),symbolicLink:{dangling:!1}}}catch(a){if(a.code==="ENOENT"&&s)return{stat:s,symbolicLink:{dangling:!0}};throw a}throw o}}r.stat=n;async function e(i){try{let{stat:s,symbolicLink:o}=await r.stat(i);return s.isFile()&&o?.dangling!==!0}catch{}return!1}r.existsFile=e;async function t(i){try{let{stat:s,symbolicLink:o}=await r.stat(i);return s.isDirectory()&&o?.dangling!==!0}catch{}return!1}r.existsDirectory=t})(bn||={});var Sa=new ln;function Aa(n,e,t){return Sa.queueFor(O.file(n),()=>{let r=La(t);return new Promise((i,s)=>Fa(n,e,r,o=>o?s(o):i()))},os)}var vs=!0;function ka(n){vs=n}function Fa(n,e,t,r){if(!vs)return x.writeFile(n,e,{mode:t.mode,flag:t.flag},r);x.open(n,t.flag,t.mode,(i,s)=>{if(i)return r(i);x.writeFile(s,e,o=>{if(o)return x.close(s,()=>r(o));x.fdatasync(s,a=>(a&&(console.warn("[node.js fs] fdatasync is now disabled for this session because it failed: ",a),ka(!1)),x.close(s,l=>r(l))))})})}function La(n){return n?{mode:typeof n.mode=="number"?n.mode:438,flag:typeof n.flag=="string"?n.flag:"w"}:{mode:438,flag:"w"}}async function Ua(n,e,t=6e4){if(n!==e)try{j&&typeof t=="number"?await Ts(n,e,Date.now(),t):await x.promises.rename(n,e)}catch(r){if(n.toLowerCase()!==e.toLowerCase()&&r.code==="EXDEV"||n.endsWith("."))await ys(n,e,{preserveSymlinks:!1}),await bs(n,1);else throw r}}async function Ts(n,e,t,r,i=0){try{return await x.promises.rename(n,e)}catch(s){if(s.code!=="EACCES"&&s.code!=="EPERM"&&s.code!=="EBUSY")throw s;if(Date.now()-t>=r)throw console.error(`[node.js fs] rename failed after ${i} retries with error: ${s}`),s;if(i===0){let o=!1;try{let{stat:a}=await bn.stat(e);a.isFile()||(o=!0)}catch{}if(o)throw s}return await cn(Math.min(100,i*10)),Ts(n,e,t,r,i+1)}}async function ys(n,e,t){return _s(n,e,{root:{source:n,target:e},options:t,handledSourcePaths:new Set})}var gs=511;async function _s(n,e,t){if(t.handledSourcePaths.has(n))return;t.handledSourcePaths.add(n);let{stat:r,symbolicLink:i}=await bn.stat(n);if(i){if(t.options.preserveSymlinks)try{return await Na(n,e,t)}catch{}if(i.dangling)return}return r.isDirectory()?Oa(n,e,r.mode&gs,t):Wa(n,e,r.mode&gs)}async function Oa(n,e,t,r){await x.promises.mkdir(e,{recursive:!0,mode:t});let i=await gn(n);for(let s of i)await _s(Z(n,s),Z(e,s),r)}async function Wa(n,e,t){await x.promises.copyFile(n,e),await x.promises.chmod(e,t)}async function Na(n,e,t){let r=await x.promises.readlink(n);pe(r,t.root.source,!C)&&(r=Z(t.root.target,r.substr(t.root.source.length+1))),await x.promises.symlink(r,e)}async function mn(n,e){if(C)return n;let t=Je(n);if(n===t)return n;let r=(Ye(n)||n).toLowerCase();try{if(e?.isCancellationRequested)return null;let s=(await me.readdir(t)).filter(o=>o.toLowerCase()===r);if(s.length===1){let o=await mn(t,e);if(o)return Z(o,s[0])}else if(s.length>1){let o=s.indexOf(r);if(o>=0){let a=await mn(t,e);if(a)return Z(a,s[o])}}}catch{}return null}async function Ca(n){try{return await Ct(x.realpath)(n)}catch{let e=Ma(n);return await x.promises.access(e,x.constants.R_OK),e}}function Ma(n){return ur(ve(n),ne)}var me=new class{get read(){return(n,e,t,r,i)=>new Promise((s,o)=>{x.read(n,e,t,r,i,(a,l,u)=>a?o(a):s({bytesRead:l,buffer:u}))})}get write(){return(n,e,t,r,i)=>new Promise((s,o)=>{x.write(n,e,t,r,i,(a,l,u)=>a?o(a):s({bytesWritten:l,buffer:u}))})}get fdatasync(){return Ct(x.fdatasync)}get open(){return Ct(x.open)}get close(){return Ct(x.close)}get ftruncate(){return Ct(x.ftruncate)}async exists(n){try{return await x.promises.access(n),!0}catch{return!1}}get readdir(){return gn}get readDirsInDir(){return Da}get writeFile(){return Aa}get rm(){return bs}get rename(){return Ua}get copy(){return ys}get realpath(){return Ca}};var vn=class extends Nt{constructor(e){super({send:t=>{try{process.send?.(t.buffer.toString("base64"))}catch{}},onMessage:U.fromNodeEventEmitter(process,"message",t=>z.wrap(Buffer.from(t,"base64")))},e),process.once("disconnect",()=>this.dispose())}};function Tn(n){return!!n.parentPort}var Sr=class{constructor(e){this.port=e;this.onMessage=U.fromNodeEventEmitter(this.port,"message",t=>t.data?z.wrap(t.data):z.alloc(0)),e.start()}send(e){this.port.postMessage(e.buffer)}disconnect(){this.port.close()}},yn=class n extends hn{static getOnDidClientConnect(e){hi(Tn(process),"Electron Utility Process");let t=new A;return process.parentPort.on("message",r=>{if(e?.handledClientConnection(r))return;let i=r.ports.at(0);i&&t.fire(i)}),U.map(t.event,r=>({protocol:new Sr(r),onDidClientDisconnect:U.fromNodeEventEmitter(r,"close")}))}constructor(e){super(n.getOnDidClientConnect(e))}};var Me="**",Is="/",_n="[/\\\\]",In="[^/\\\\]",$a=/\//g;function xs(n,e){switch(n){case 0:return"";case 1:return`${In}*?`;default:return`(?:${_n}|${In}+${_n}${e?`|${_n}${In}+`:""})*?`}}function Es(n,e){if(!n)return[];let t=[],r=!1,i=!1,s="";for(let o of n){switch(o){case e:if(!r&&!i){t.push(s),s="";continue}break;case"{":r=!0;break;case"}":r=!1;break;case"[":i=!0;break;case"]":i=!1;break}s+=o}return s&&t.push(s),t}function Ss(n){if(!n)return"";let e="",t=Es(n,Is);if(t.every(r=>r===Me))e=".*";else{let r=!1;t.forEach((i,s)=>{if(i===Me){if(r)return;e+=xs(2,s===t.length-1)}else{let o=!1,a="",l=!1,u="";for(let d of i){if(d!=="}"&&o){a+=d;continue}if(l&&(d!=="]"||!u)){let c;d==="-"?c=d:(d==="^"||d==="!")&&!u?c="^":d===Is?c="":c=lr(d),u+=c;continue}switch(d){case"{":o=!0;continue;case"[":l=!0;continue;case"}":{let f=`(?:${Es(a,",").map(h=>Ss(h)).join("|")})`;e+=f,o=!1,a="";break}case"]":{e+="["+u+"]",l=!1,u="";break}case"?":e+=In;continue;case"*":e+=xs(1);continue;default:e+=lr(d)}}s<t.length-1&&(t[s+1]!==Me||s+2<t.length)&&(e+=_n)}r=i===Me})}return e}var Va=/^\*\*\/\*\.[\w\.-]+$/,Ka=/^\*\*\/([\w\.-]+)\/?$/,ja=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,za=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,Ga=/^\*\*((\/[\w\.-]+)+)\/?$/,Ha=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,Rs=new ke(1e4),ws=function(){return!1},Te=function(){return null};function kr(n,e){if(!n)return Te;let t;typeof n!="string"?t=n.pattern:t=n,t=t.trim();let r=e.ignoreCase??!1,i={...e,equals:r?Ze:(l,u)=>l===u,endsWith:r?Gi:(l,u)=>l.endsWith(u),isEqualOrParent:(l,u)=>pe(l,u,e.ignoreCase??!C)},s=`${r?t.toLowerCase():t}_${!!e.trimForExclusions}_${r}`,o=Rs.get(s);if(o)return Ps(o,n,i);let a;return Va.test(t)?o=Qa(t.substring(4),t,i):(a=Ka.exec(Ar(t,i)))?o=Ja(a[1],t,i):(e.trimForExclusions?za:ja).test(t)?o=Ya(t,i):(a=Ga.exec(Ar(t,i)))?o=Ds(a[1].substring(1),t,!0,i):(a=Ha.exec(Ar(t,i)))?o=Ds(a[1],t,!1,i):o=Xa(t,i),Rs.set(s,o),Ps(o,n,i)}function Ps(n,e,t){if(typeof e=="string")return n;let r=function(i,s){return t.isEqualOrParent(i,e.base)?n(zi(i.substring(e.base.length),ne),s):null};return r.allBasenames=n.allBasenames,r.allPaths=n.allPaths,r.basenames=n.basenames,r.patterns=n.patterns,r}function Ar(n,e){return e.trimForExclusions&&n.endsWith("/**")?n.substring(0,n.length-2):n}function Qa(n,e,t){return function(r,i){return typeof r=="string"&&t.endsWith(r,n)?e:null}}function Ja(n,e,t){let r=`/${n}`,i=`\\${n}`,s=function(a,l){return typeof a!="string"?null:l?t.equals(l,n)?e:null:t.equals(a,n)||t.endsWith(a,r)||t.endsWith(a,i)?e:null},o=[n];return s.basenames=o,s.patterns=[e],s.allBasenames=o,s}function Ya(n,e){let t=ks(n.slice(1,-1).split(",").map(a=>kr(a,e)).filter(a=>a!==Te),n),r=t.length;if(!r)return Te;if(r===1)return t[0];let i=function(a,l){for(let u=0,d=t.length;u<d;u++)if(t[u](a,l))return n;return null},s=t.find(a=>!!a.allBasenames);s&&(i.allBasenames=s.allBasenames);let o=t.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return o.length&&(i.allPaths=o),i}function Ds(n,e,t,r){let i=ne===D.sep,s=i?n:n.replace($a,ne),o=ne+s,a=D.sep+n,l;return t?l=function(u,d){return typeof u=="string"&&(r.equals(u,s)||r.endsWith(u,o)||!i&&(r.equals(u,n)||r.endsWith(u,a)))?e:null}:l=function(u,d){return typeof u=="string"&&(r.equals(u,s)||!i&&r.equals(u,n))?e:null},l.allPaths=[(t?"*/":"./")+n],l}function Xa(n,e){try{let t=new RegExp(`^${Ss(n)}$`,e.ignoreCase?"i":void 0);return function(r){return t.lastIndex=0,typeof r=="string"&&t.test(r)?n:null}}catch{return Te}}function As(n,e={}){if(!n)return ws;if(typeof n=="string"||Za(n)){let t=kr(n,e);if(t===Te)return ws;let r=function(i,s){return!!t(i,s)};return t.allBasenames&&(r.allBasenames=t.allBasenames),t.allPaths&&(r.allPaths=t.allPaths),r}return el(n,e)}function Za(n){let e=n;return e?typeof e.base=="string"&&typeof e.pattern=="string":!1}function el(n,e){let t=ks(Object.getOwnPropertyNames(n).map(a=>tl(a,n[a],e)).filter(a=>a!==Te)),r=t.length;if(!r)return Te;if(!t.some(a=>!!a.requiresSiblings)){if(r===1)return t[0];let a=function(d,c){let f;for(let h=0,m=t.length;h<m;h++){let y=t[h](d,c);if(typeof y=="string")return y;un(y)&&(f||(f=[]),f.push(y))}return f?(async()=>{for(let h of f){let m=await h;if(typeof m=="string")return m}return null})():null},l=t.find(d=>!!d.allBasenames);l&&(a.allBasenames=l.allBasenames);let u=t.reduce((d,c)=>c.allPaths?d.concat(c.allPaths):d,[]);return u.length&&(a.allPaths=u),a}let i=function(a,l,u){let d,c;for(let f=0,h=t.length;f<h;f++){let m=t[f];m.requiresSiblings&&u&&(l||(l=Ye(a)),d||(d=l.substring(0,l.length-Bi(a).length)));let y=m(a,l,d,u);if(typeof y=="string")return y;un(y)&&(c||(c=[]),c.push(y))}return c?(async()=>{for(let f of c){let h=await f;if(typeof h=="string")return h}return null})():null},s=t.find(a=>!!a.allBasenames);s&&(i.allBasenames=s.allBasenames);let o=t.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return o.length&&(i.allPaths=o),i}function tl(n,e,t){if(e===!1)return Te;let r=kr(n,t);if(r===Te)return Te;if(typeof e=="boolean")return r;if(e){let i=e.when;if(typeof i=="string"){let s=(o,a,l,u)=>{if(!u||!r(o,a))return null;let d=i.replace("$(basename)",()=>l),c=u(d);return un(c)?c.then(f=>f?n:null):c?n:null};return s.requiresSiblings=!0,s}}return r}function ks(n,e){let t=n.filter(a=>!!a.basenames);if(t.length<2)return n;let r=t.reduce((a,l)=>{let u=l.basenames;return u?a.concat(u):a},[]),i;if(e){i=[];for(let a=0,l=r.length;a<l;a++)i.push(e)}else i=t.reduce((a,l)=>{let u=l.patterns;return u?a.concat(u):a},[]);let s=function(a,l){if(typeof a!="string")return null;if(!l){let d;for(d=a.length;d>0;d--){let c=a.charCodeAt(d-1);if(c===47||c===92)break}l=a.substring(d)}let u=r.indexOf(l);return u!==-1?i[u]:null};s.basenames=r,s.patterns=i,s.allBasenames=r;let o=n.filter(a=>!a.basenames);return o.push(s),o}function ht(n,e){return Zr(n,e,(t,r)=>typeof t=="string"&&typeof r=="string"?t===r:typeof t!="string"&&typeof r!="string"?t.base===r.base&&t.pattern===r.pattern:!1)}var Fr=class{constructor(){this._value="";this._pos=0}reset(e){return this._value=e,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos<this._value.length-1}cmp(e){let t=e.charCodeAt(0),r=this._value.charCodeAt(this._pos);return t-r}value(){return this._value[this._pos]}},Lr=class{constructor(e=!0){this._caseSensitive=e}reset(e){return this._value=e,this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let e=!0;for(;this._to<this._value.length;this._to++)if(this._value.charCodeAt(this._to)===46)if(e)this._from++;else break;else e=!1;return this}cmp(e){return this._caseSensitive?nn(e,this._value,0,e.length,this._from,this._to):Xe(e,this._value,0,e.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},xn=class{constructor(e=!0,t=!0){this._splitOnBackslash=e;this._caseSensitive=t}reset(e){this._from=0,this._to=0,this._value=e,this._valueLen=e.length;for(let t=e.length-1;t>=0;t--,this._valueLen--){let r=this._value.charCodeAt(t);if(!(r===47||this._splitOnBackslash&&r===92))break}return this.next()}hasNext(){return this._to<this._valueLen}next(){this._from=this._to;let e=!0;for(;this._to<this._valueLen;this._to++){let t=this._value.charCodeAt(this._to);if(t===47||this._splitOnBackslash&&t===92)if(e)this._from++;else break;else e=!1}return this}cmp(e){return this._caseSensitive?nn(e,this._value,0,e.length,this._from,this._to):Xe(e,this._value,0,e.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}};var Ur=class{constructor(e,t){this._ignorePathCasing=e;this._ignoreQueryAndFragment=t;this._states=[];this._stateIdx=0}reset(e){return this._value=e,this._states=[],this._value.scheme&&this._states.push(1),this._value.authority&&this._states.push(2),this._value.path&&(this._pathIterator=new xn(!1,!this._ignorePathCasing(e)),this._pathIterator.reset(e.path),this._pathIterator.value()&&this._states.push(3)),this._ignoreQueryAndFragment(e)||(this._value.query&&this._states.push(4),this._value.fragment&&this._states.push(5)),this._stateIdx=0,this}next(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()?this._pathIterator.next():this._stateIdx+=1,this}hasNext(){return this._states[this._stateIdx]===3&&this._pathIterator.hasNext()||this._stateIdx<this._states.length-1}cmp(e){if(this._states[this._stateIdx]===1)return cr(e,this._value.scheme);if(this._states[this._stateIdx]===2)return cr(e,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(e);if(this._states[this._stateIdx]===4)return wt(e,this._value.query);if(this._states[this._stateIdx]===5)return wt(e,this._value.fragment);throw new Error}value(){if(this._states[this._stateIdx]===1)return this._value.scheme;if(this._states[this._stateIdx]===2)return this._value.authority;if(this._states[this._stateIdx]===3)return this._pathIterator.value();if(this._states[this._stateIdx]===4)return this._value.query;if(this._states[this._stateIdx]===5)return this._value.fragment;throw new Error}},Pe=class n{static{this.Val=Symbol("undefined_placeholder")}static wrap(e){return e===void 0?n.Val:e}static unwrap(e){return e===n.Val?void 0:e}},mt=class{constructor(){this.height=1;this.value=void 0;this.key=void 0;this.left=void 0;this.mid=void 0;this.right=void 0}isEmpty(){return!this.left&&!this.mid&&!this.right&&this.value===void 0}rotateLeft(){let e=this.right;return this.right=e.left,e.left=this,this.updateHeight(),e.updateHeight(),e}rotateRight(){let e=this.left;return this.left=e.right,e.right=this,this.updateHeight(),e.updateHeight(),e}updateHeight(){this.height=1+Math.max(this.heightLeft,this.heightRight)}balanceFactor(){return this.heightRight-this.heightLeft}get heightLeft(){return this.left?.height??0}get heightRight(){return this.right?.height??0}};var qe=class n{static forUris(e=()=>!1,t=()=>!1){return new n(new Ur(e,t))}static forPaths(e=!1){return new n(new xn(void 0,!e))}static forStrings(){return new n(new Fr)}static forConfigKeys(){return new n(new Lr)}constructor(e){this._iter=e}clear(){this._root=void 0}fill(e,t){if(t){let r=t.slice(0);qn(r);for(let i of r)this.set(i,e)}else{let r=e.slice(0);qn(r);for(let i of r)this.set(i[0],i[1])}}set(e,t){let r=this._iter.reset(e),i;this._root||(this._root=new mt,this._root.segment=r.value());let s=[];for(i=this._root;;){let a=r.cmp(i.segment);if(a>0)i.left||(i.left=new mt,i.left.segment=r.value()),s.push([-1,i]),i=i.left;else if(a<0)i.right||(i.right=new mt,i.right.segment=r.value()),s.push([1,i]),i=i.right;else if(r.hasNext())r.next(),i.mid||(i.mid=new mt,i.mid.segment=r.value()),s.push([0,i]),i=i.mid;else break}let o=Pe.unwrap(i.value);i.value=Pe.wrap(t),i.key=e;for(let a=s.length-1;a>=0;a--){let l=s[a][1];l.updateHeight();let u=l.balanceFactor();if(u<-1||u>1){let d=s[a][0],c=s[a+1][0];if(d===1&&c===1)s[a][1]=l.rotateLeft();else if(d===-1&&c===-1)s[a][1]=l.rotateRight();else if(d===1&&c===-1)l.right=s[a+1][1]=s[a+1][1].rotateRight(),s[a][1]=l.rotateLeft();else if(d===-1&&c===1)l.left=s[a+1][1]=s[a+1][1].rotateLeft(),s[a][1]=l.rotateRight();else throw new Error;if(a>0)switch(s[a-1][0]){case-1:s[a-1][1].left=s[a][1];break;case 1:s[a-1][1].right=s[a][1];break;case 0:s[a-1][1].mid=s[a][1];break}else this._root=s[0][1]}}return o}get(e){return Pe.unwrap(this._getNode(e)?.value)}_getNode(e){let t=this._iter.reset(e),r=this._root;for(;r;){let i=t.cmp(r.segment);if(i>0)r=r.left;else if(i<0)r=r.right;else if(t.hasNext())t.next(),r=r.mid;else break}return r}has(e){let t=this._getNode(e);return!(t?.value===void 0&&t?.mid===void 0)}delete(e){return this._delete(e,!1)}deleteSuperstr(e){return this._delete(e,!0)}_delete(e,t){let r=this._iter.reset(e),i=[],s=this._root;for(;s;){let o=r.cmp(s.segment);if(o>0)i.push([-1,s]),s=s.left;else if(o<0)i.push([1,s]),s=s.right;else if(r.hasNext())r.next(),i.push([0,s]),s=s.mid;else break}if(s){if(t?(s.left=void 0,s.mid=void 0,s.right=void 0,s.height=1):(s.key=void 0,s.value=void 0),!s.mid&&!s.value)if(s.left&&s.right){let o=[[1,s]],a=this._min(s.right,o);if(a.key){s.key=a.key,s.value=a.value,s.segment=a.segment;let l=a.right;if(o.length>1){let[d,c]=o[o.length-1];switch(d){case-1:c.left=l;break;case 0:$t(!1);case 1:$t(!1)}}else s.right=l;let u=this._balanceByStack(o);if(i.length>0){let[d,c]=i[i.length-1];switch(d){case-1:c.left=u;break;case 0:c.mid=u;break;case 1:c.right=u;break}}else this._root=u}}else{let o=s.left??s.right;if(i.length>0){let[a,l]=i[i.length-1];switch(a){case-1:l.left=o;break;case 0:l.mid=o;break;case 1:l.right=o;break}}else this._root=o}this._root=this._balanceByStack(i)??this._root}}_min(e,t){for(;e.left;)t.push([-1,e]),e=e.left;return e}_balanceByStack(e){for(let t=e.length-1;t>=0;t--){let r=e[t][1];r.updateHeight();let i=r.balanceFactor();if(i>1?(r.right.balanceFactor()>=0||(r.right=r.right.rotateRight()),e[t][1]=r.rotateLeft()):i<-1&&(r.left.balanceFactor()<=0||(r.left=r.left.rotateLeft()),e[t][1]=r.rotateRight()),t>0)switch(e[t-1][0]){case-1:e[t-1][1].left=e[t][1];break;case 1:e[t-1][1].right=e[t][1];break;case 0:e[t-1][1].mid=e[t][1];break}else return e[0][1]}}findSubstr(e){let t=this._iter.reset(e),r=this._root,i;for(;r;){let s=t.cmp(r.segment);if(s>0)r=r.left;else if(s<0)r=r.right;else if(t.hasNext())t.next(),i=Pe.unwrap(r.value)||i,r=r.mid;else break}return r&&Pe.unwrap(r.value)||i}findSuperstr(e){return this._findSuperstrOrElement(e,!1)}_findSuperstrOrElement(e,t){let r=this._iter.reset(e),i=this._root;for(;i;){let s=r.cmp(i.segment);if(s>0)i=i.left;else if(s<0)i=i.right;else if(r.hasNext())r.next(),i=i.mid;else return i.mid?this._entries(i.mid):t?Pe.unwrap(i.value):void 0}}hasElementOrSubtree(e){return this._findSuperstrOrElement(e,!0)!==void 0}forEach(e){for(let[t,r]of this)e(r,t)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(e){let t=[];return this._dfsEntries(e,t),t[Symbol.iterator]()}_dfsEntries(e,t){e&&(e.left&&this._dfsEntries(e.left,t),e.value!==void 0&&t.push([e.key,Pe.unwrap(e.value)]),e.mid&&this._dfsEntries(e.mid,t),e.right&&this._dfsEntries(e.right,t))}_isBalanced(){let e=t=>{if(!t)return!0;let r=t.balanceFactor();return r<-1||r>1?!1:e(t.left)&&e(t.right)};return e(this._root)}};var Be;(i=>{i.serviceIds=new Map,i.DI_TARGET="$di$target",i.DI_DEPENDENCIES="$di$dependencies";function r(s){return s[i.DI_DEPENDENCIES]||[]}i.getServiceDependencies=r})(Be||={});var Md=Or("instantiationService");function nl(n,e,t){e[Be.DI_TARGET]===e?e[Be.DI_DEPENDENCIES].push({id:n,index:t}):(e[Be.DI_DEPENDENCIES]=[{id:n,index:t}],e[Be.DI_TARGET]=e)}function Or(n){if(Be.serviceIds.has(n))return Be.serviceIds.get(n);let e=function(t,r,i){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");nl(e,t,i)};return e.toString=()=>n,Be.serviceIds.set(n,e),e}var Yd=Or("fileService");var Fs=class n{constructor(e,t){this.ignorePathCasing=t;this.correlationId=void 0;this.added=new ue(()=>{let e=qe.forUris(()=>this.ignorePathCasing);return e.fill(this.rawAdded.map(t=>[t,!0])),e});this.updated=new ue(()=>{let e=qe.forUris(()=>this.ignorePathCasing);return e.fill(this.rawUpdated.map(t=>[t,!0])),e});this.deleted=new ue(()=>{let e=qe.forUris(()=>this.ignorePathCasing);return e.fill(this.rawDeleted.map(t=>[t,!0])),e});this.rawAdded=[];this.rawUpdated=[];this.rawDeleted=[];for(let r of e){switch(r.type){case 1:this.rawAdded.push(r.resource);break;case 0:this.rawUpdated.push(r.resource);break;case 2:this.rawDeleted.push(r.resource);break}this.correlationId!==n.MIXED_CORRELATION&&(typeof r.cId=="number"?this.correlationId===void 0?this.correlationId=r.cId:this.correlationId!==r.cId&&(this.correlationId=n.MIXED_CORRELATION):this.correlationId!==void 0&&(this.correlationId=n.MIXED_CORRELATION))}}static{this.MIXED_CORRELATION=null}contains(e,...t){return this.doContains(e,{includeChildren:!1},...t)}affects(e,...t){return this.doContains(e,{includeChildren:!0},...t)}doContains(e,t,...r){if(!e)return!1;let i=r.length>0;return!!((!i||r.includes(1))&&(this.added.value.get(e)||t.includeChildren&&this.added.value.findSuperstr(e))||(!i||r.includes(0))&&(this.updated.value.get(e)||t.includeChildren&&this.updated.value.findSuperstr(e))||(!i||r.includes(2))&&(this.deleted.value.findSubstr(e)||t.includeChildren&&this.deleted.value.findSuperstr(e)))}gotAdded(){return this.rawAdded.length>0}gotDeleted(){return this.rawDeleted.length>0}gotUpdated(){return this.rawUpdated.length>0}correlates(e){return this.correlationId===e}hasCorrelation(){return typeof this.correlationId=="number"}};function Us(n,e,t){return!n||!e||n===e||e.length>n.length?!1:(e.charAt(e.length-1)!==ne&&(e+=ne),t?Pt(n,e):n.indexOf(e)===0)}var Ls=class n{static{this.KB=1024}static{this.MB=n.KB*n.KB}static{this.GB=n.MB*n.KB}static{this.TB=n.GB*n.KB}static formatSize(e){return jn(e)||(e=0),e<n.KB?ce(2890,null,e.toFixed(0)):e<n.MB?ce(2892,null,(e/n.KB).toFixed(2)):e<n.GB?ce(2893,null,(e/n.MB).toFixed(2)):e<n.TB?ce(2891,null,(e/n.GB).toFixed(2)):ce(2894,null,(e/n.TB).toFixed(2))}};function En(n){return typeof n.correlationId=="number"}function gt(n){return n.recursive===!0}var Os=class n extends B{constructor(t,r,i,s){super();this.onFileChanges=t;this.onLogMessage=r;this.verboseLogging=i;this.options=s;this.watcherDisposables=this._register(new Fe);this.requests=void 0;this.restartCounter=0}static{this.MAX_RESTARTS=5}init(){let t=new q;this.watcherDisposables.value=t,this.watcher=this.createWatcher(t),this.watcher.setVerboseLogging(this.verboseLogging),t.add(this.watcher.onDidChangeFile(r=>this.onFileChanges(r))),t.add(this.watcher.onDidLogMessage(r=>this.onLogMessage(r))),t.add(this.watcher.onDidError(r=>this.onError(r.error,r.request)))}onError(t,r){this.canRestart(t,r)?this.restartCounter<n.MAX_RESTARTS&&this.requests?(this.error(`restarting watcher after unexpected error: ${t}`),this.restart(this.requests)):this.error(`gave up attempting to restart watcher after unexpected error: ${t}`):this.error(t)}canRestart(t,r){return!(!this.options.restartOnError||r||t.indexOf("No space left on device")!==-1||t.indexOf("EMFILE")!==-1)}restart(t){this.restartCounter++,this.init(),this.watch(t)}async watch(t){this.requests=t,await this.watcher?.watch(t)}async setVerboseLogging(t){this.verboseLogging=t,await this.watcher?.setVerboseLogging(t)}error(t){this.onLogMessage({type:"error",message:`[File Watcher (${this.options.type})] ${t}`})}trace(t){this.onLogMessage({type:"trace",message:`[File Watcher (${this.options.type})] ${t}`})}dispose(){return this.watcher=void 0,super.dispose()}};function Rn(n){let e=new Wr;for(let t of n)e.processEvent(t);return e.coalesce()}function rl(n,e){return typeof e=="string"&&!e.startsWith(Me)&&!Zt(e)?{base:n,pattern:e}:e}function bt(n,e,t){let r=[];for(let i of e)r.push(As(rl(n,i),{ignoreCase:t}));return r}var Wr=class{constructor(){this.coalesced=new Set;this.mapPathToChange=new Map}toKey(e){return C?e.resource.fsPath:e.resource.fsPath.toLowerCase()}processEvent(e){let t=this.mapPathToChange.get(this.toKey(e)),r=!1;if(t){let i=t.type,s=e.type;t.resource.fsPath!==e.resource.fsPath&&(e.type===2||e.type===1)?r=!0:i===1&&s===2?(this.mapPathToChange.delete(this.toKey(e)),this.coalesced.delete(t)):i===2&&s===1?t.type=0:i===1&&s===0||(t.type=s)}else r=!0;r&&(this.coalesced.add(e),this.mapPathToChange.set(this.toKey(e),e))}coalesce(){let e=[],t=[];return Array.from(this.coalesced).filter(r=>r.type!==2?(e.push(r),!1):!0).sort((r,i)=>r.resource.fsPath.length-i.resource.fsPath.length).filter(r=>t.some(i=>Us(r.resource.fsPath,i,!C))?!1:(t.push(r.resource.fsPath),!0)).concat(e)}};function wn(n,e){if(typeof e=="number")switch(n.type){case 1:return(e&4)===0;case 2:return(e&8)===0;case 0:return(e&2)===0}return!1}function Pn(n){if(typeof n=="number"){let e=[];return n&4&&e.push("Added"),n&8&&e.push("Deleted"),n&2&&e.push("Updated"),e.length===0?"<all>":`[${e.join(", ")}]`}return"<none>"}import Bs from"@parcel/watcher";import{promises as Br}from"fs";import{tmpdir as ul,homedir as cl}from"os";function Cr(n,e){return e&&(n.stack||n.stacktrace)?ce(116,null,Ns(n),Ws(n.stack)||Ws(n.stacktrace)):Ns(n)}function Ws(n){return Array.isArray(n)?n.join(`
`):n}function Ns(n){return n.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${n.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof n.code=="string"&&typeof n.errno=="number"&&typeof n.syscall=="string"?ce(115,null,n.message):n.message||ce(113,null)}function Dn(n=null,e=!1){if(!n)return ce(113,null);if(Array.isArray(n)){let t=ei(n),r=Dn(t[0],e);return t.length>1?ce(114,null,r,t.length):r}if(Kn(n))return n;if(n.detail){let t=n.detail;if(t.error)return Cr(t.error,e);if(t.exception)return Cr(t.exception,e)}return n.stack?Cr(n,e):n.message?n.message:ce(113,null)}import{watchFile as al,unwatchFile as ll}from"fs";function Ms(n){return qr(n,0)}function qr(n,e){switch(typeof n){case"object":return n===null?De(349,e):Array.isArray(n)?sl(n,e):ol(n,e);case"string":return qs(n,e);case"boolean":return il(n,e);case"number":return De(n,e);case"undefined":return De(937,e);default:return De(617,e)}}function De(n,e){return(e<<5)-e+n|0}function il(n,e){return De(n?433:863,e)}function qs(n,e){e=De(149417,e);for(let t=0,r=n.length;t<r;t++)e=De(n.charCodeAt(t),e);return e}function sl(n,e){return e=De(104579,e),n.reduce((t,r)=>qr(r,t),e)}function ol(n,e){return e=De(181387,e),Object.keys(n).sort().reduce((t,r)=>(t=qs(r,t),qr(n[r],t)),e)}function Mr(n,e,t=32){let r=t-e,i=~((1<<r)-1);return(n<<e|(i&n)>>>r)>>>0}function Mt(n,e=32){return n instanceof ArrayBuffer?ds(z.wrap(new Uint8Array(n))):(n>>>0).toString(16).padStart(e/4,"0")}var Cs=class n{constructor(){this._h0=1732584193;this._h1=4023233417;this._h2=2562383102;this._h3=271733878;this._h4=3285377520;this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}static{this._bigBlock32=new DataView(new ArrayBuffer(320))}update(e){let t=e.length;if(t===0)return;let r=this._buff,i=this._buffLen,s=this._leftoverHighSurrogate,o,a;for(s!==0?(o=s,a=-1,s=0):(o=e.charCodeAt(0),a=0);;){let l=o;if(Hi(o))if(a+1<t){let u=e.charCodeAt(a+1);fr(u)?(a++,l=Qi(o,u)):l=65533}else{s=o;break}else fr(o)&&(l=65533);if(i=this._push(r,i,l),a++,a<t)o=e.charCodeAt(a);else break}this._buffLen=i,this._leftoverHighSurrogate=s}_push(e,t,r){return r<128?e[t++]=r:r<2048?(e[t++]=192|(r&1984)>>>6,e[t++]=128|(r&63)>>>0):r<65536?(e[t++]=224|(r&61440)>>>12,e[t++]=128|(r&4032)>>>6,e[t++]=128|(r&63)>>>0):(e[t++]=240|(r&1835008)>>>18,e[t++]=128|(r&258048)>>>12,e[t++]=128|(r&4032)>>>6,e[t++]=128|(r&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),Mt(this._h0)+Mt(this._h1)+Mt(this._h2)+Mt(this._h3)+Mt(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,this._buff.subarray(this._buffLen).fill(0),this._buffLen>56&&(this._step(),this._buff.fill(0));let e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){let e=n._bigBlock32,t=this._buffDV;for(let c=0;c<64;c+=4)e.setUint32(c,t.getUint32(c,!1),!1);for(let c=64;c<320;c+=4)e.setUint32(c,Mr(e.getUint32(c-12,!1)^e.getUint32(c-32,!1)^e.getUint32(c-56,!1)^e.getUint32(c-64,!1),1),!1);let r=this._h0,i=this._h1,s=this._h2,o=this._h3,a=this._h4,l,u,d;for(let c=0;c<80;c++)c<20?(l=i&s|~i&o,u=1518500249):c<40?(l=i^s^o,u=1859775393):c<60?(l=i&s|i&o|s&o,u=2400959708):(l=i^s^o,u=3395469782),d=Mr(r,5)+l+a+u+e.getUint32(c*4,!1)&4294967295,a=o,o=s,s=Mr(i,30),i=r,r=d;this._h0=this._h0+r&4294967295,this._h1=this._h1+i&4294967295,this._h2=this._h2+s&4294967295,this._h3=this._h3+o&4294967295,this._h4=this._h4+a&4294967295}};var vt=class extends B{constructor(){super();this._onDidChangeFile=this._register(new A);this.onDidChangeFile=this._onDidChangeFile.event;this._onDidLogMessage=this._register(new A);this.onDidLogMessage=this._onDidLogMessage.event;this._onDidWatchFail=this._register(new A);this.onDidWatchFail=this._onDidWatchFail.event;this.correlatedWatchRequests=new Map;this.nonCorrelatedWatchRequests=new Map;this.suspendedWatchRequests=this._register(new Le);this.suspendedWatchRequestsWithPolling=new Set;this.updateWatchersDelayer=this._register(new an(this.getUpdateWatchersDelay()));this.suspendedWatchRequestPollingInterval=5007;this.joinWatch=new fe;this.verboseLogging=!1;this._register(this.onDidWatchFail(t=>this.suspendWatchRequest({id:this.computeId(t),correlationId:this.isCorrelated(t)?t.correlationId:void 0,path:t.path})))}isCorrelated(t){return En(t)}computeId(t){return this.isCorrelated(t)?t.correlationId:Ms(t)}async watch(t){this.joinWatch.isSettled||this.joinWatch.complete(),this.joinWatch=new fe;try{this.correlatedWatchRequests.clear(),this.nonCorrelatedWatchRequests.clear();for(let r of t)this.isCorrelated(r)?this.correlatedWatchRequests.set(r.correlationId,r):this.nonCorrelatedWatchRequests.set(this.computeId(r),r);for(let[r]of this.suspendedWatchRequests)!this.nonCorrelatedWatchRequests.has(r)&&!this.correlatedWatchRequests.has(r)&&(this.suspendedWatchRequests.deleteAndDispose(r),this.suspendedWatchRequestsWithPolling.delete(r));return await this.updateWatchers(!1)}finally{this.joinWatch.complete()}}updateWatchers(t){let r=[];for(let[i,s]of[...this.nonCorrelatedWatchRequests,...this.correlatedWatchRequests])this.suspendedWatchRequests.has(i)||r.push(s);return this.updateWatchersDelayer.trigger(()=>this.doWatch(r),t?this.getUpdateWatchersDelay():0).catch(i=>ge(i))}getUpdateWatchersDelay(){return 800}isSuspended(t){let r=this.computeId(t);return this.suspendedWatchRequestsWithPolling.has(r)?"polling":this.suspendedWatchRequests.has(r)}async suspendWatchRequest(t){if(this.suspendedWatchRequests.has(t.id))return;let r=new q;this.suspendedWatchRequests.set(t.id,r),await this.joinWatch.p,!r.isDisposed&&(this.monitorSuspendedWatchRequest(t,r),this.updateWatchers(!0))}resumeWatchRequest(t){this.suspendedWatchRequests.deleteAndDispose(t.id),this.suspendedWatchRequestsWithPolling.delete(t.id),this.updateWatchers(!1)}monitorSuspendedWatchRequest(t,r){this.doMonitorWithExistingWatcher(t,r)?(this.trace(`reusing an existing recursive watcher to monitor ${t.path}`),this.suspendedWatchRequestsWithPolling.delete(t.id)):(this.doMonitorWithNodeJS(t,r),this.suspendedWatchRequestsWithPolling.add(t.id))}doMonitorWithExistingWatcher(t,r){let i=this.recursiveWatcher?.subscribe(t.path,(s,o)=>{r.isDisposed||(s?this.monitorSuspendedWatchRequest(t,r):o?.type===1&&this.onMonitoredPathAdded(t))});return i?(r.add(i),!0):!1}doMonitorWithNodeJS(t,r){let i=!1,s=(o,a)=>{if(r.isDisposed)return;let l=this.isPathNotFound(o),u=this.isPathNotFound(a),d=i;i=l,!l&&(u||d)&&this.onMonitoredPathAdded(t)};this.trace(`starting fs.watchFile() on ${t.path} (correlationId: ${t.correlationId})`);try{al(t.path,{persistent:!1,interval:this.suspendedWatchRequestPollingInterval},s)}catch(o){this.warn(`fs.watchFile() failed with error ${o} on path ${t.path} (correlationId: ${t.correlationId})`)}r.add($(()=>{this.trace(`stopping fs.watchFile() on ${t.path} (correlationId: ${t.correlationId})`);try{ll(t.path,s)}catch(o){this.warn(`fs.unwatchFile() failed with error ${o} on path ${t.path} (correlationId: ${t.correlationId})`)}}))}onMonitoredPathAdded(t){this.trace(`detected ${t.path} exists again, resuming watcher (correlationId: ${t.correlationId})`);let r={resource:O.file(t.path),type:1,cId:t.correlationId};this._onDidChangeFile.fire([r]),this.traceEvent(r,t),this.resumeWatchRequest(t)}isPathNotFound(t){return t.ctimeMs===0&&t.ino===0}async stop(){this.suspendedWatchRequests.clearAndDisposeAll(),this.suspendedWatchRequestsWithPolling.clear()}traceEvent(t,r){if(this.verboseLogging){let i=` >> normalized ${t.type===1?"[ADDED]":t.type===2?"[DELETED]":"[CHANGED]"} ${t.resource.fsPath}`;this.traceWithCorrelation(i,r)}}traceWithCorrelation(t,r){this.verboseLogging&&this.trace(`${t}${typeof r.correlationId=="number"?` <${r.correlationId}> `:""}`)}requestToString(t){return`${t.path} (excludes: ${t.excludes.length>0?t.excludes:"<none>"}, includes: ${t.includes&&t.includes.length>0?JSON.stringify(t.includes):"<all>"}, filter: ${Pn(t.filter)}, correlationId: ${typeof t.correlationId=="number"?t.correlationId:"<none>"})`}async setVerboseLogging(t){this.verboseLogging=t}};var Sn=class extends B{constructor(t,r,i,s,o,a){super();this.ready=t;this.request=r;this.restarts=i;this.token=s;this.worker=o;this.stopFn=a;this._onDidStop=this._register(new A);this.onDidStop=this._onDidStop.event;this._onDidFail=this._register(new A);this.onDidFail=this._onDidFail.event;this.didFail=!1;this.didStop=!1;this.subscriptions=new Map;let l=!C;this.includes=this.request.includes?bt(this.request.path,this.request.includes,l):void 0,this.excludes=this.request.excludes?bt(this.request.path,this.request.excludes,l):void 0,this._register($(()=>this.subscriptions.clear()))}get failed(){return this.didFail}get stopped(){return this.didStop}subscribe(t,r){t=O.file(t).fsPath;let i=this.subscriptions.get(t);return i||(i=new Set,this.subscriptions.set(t,i)),i.add(r),$(()=>{let s=this.subscriptions.get(t);s&&(s.delete(r),s.size===0&&this.subscriptions.delete(t))})}get subscriptionsCount(){return this.subscriptions.size}notifyFileChange(t,r){let i=this.subscriptions.get(t);if(i)for(let s of i)s(r)}notifyWatchFailed(){this.didFail=!0,this._onDidFail.fire()}include(t){return!this.includes||this.includes.length===0?!0:this.includes.some(r=>r(t))}exclude(t){return!!this.excludes?.some(r=>r(t))}async stop(t){this.didStop=!0;try{await this.stopFn()}finally{this._onDidStop.fire({joinRestart:t}),this.dispose()}}},An=class n extends vt{constructor(){super();this._onDidError=this._register(new A);this.onDidError=this._onDidError.event;this._watchers=new Map;this.throttledFileChangesEmitter=this._register(new Ne({maxWorkChunkSize:500,throttleDelay:200,maxBufferedWork:3e4},t=>this._onDidChangeFile.fire(t)));this.enospcErrorLogged=!1;this.registerListeners()}static{this.MAP_PARCEL_WATCHER_ACTION_TO_FILE_CHANGE=new Map([["create",1],["update",0],["delete",2]])}static{this.PREDEFINED_EXCLUDES={win32:[],darwin:[Z(cl(),"Library","Containers")],linux:[]}}static{this.PARCEL_WATCHER_BACKEND=j?"windows":C?"inotify":"fs-events"}get watchers(){return this._watchers.values()}static{this.FILE_CHANGES_HANDLER_DELAY=75}registerListeners(){let t=i=>this.onUnexpectedError(i),r=i=>this.onUnexpectedError(i);process.on("uncaughtException",t),process.on("unhandledRejection",r),this._register($(()=>{process.off("uncaughtException",t),process.off("unhandledRejection",r)}))}async doWatch(t){t=await this.removeDuplicateRequests(t);let r=[],i=new Set(Array.from(this.watchers));for(let s of t){let o=this._watchers.get(this.requestToWatcherKey(s));o&&ht(o.request.excludes,s.excludes)&&ht(o.request.includes,s.includes)&&o.request.pollingInterval===s.pollingInterval?i.delete(o):r.push(s)}r.length&&this.trace(`Request to start watching: ${r.map(s=>this.requestToString(s)).join(",")}`),i.size&&this.trace(`Request to stop watching: ${Array.from(i).map(s=>this.requestToString(s.request)).join(",")}`);for(let s of i)await this.stopWatching(s);for(let s of r)s.pollingInterval?await this.startPolling(s,s.pollingInterval):await this.startWatching(s)}requestToWatcherKey(t){return typeof t.correlationId=="number"?t.correlationId:this.pathToWatcherKey(t.path)}pathToWatcherKey(t){return C?t:t.toLowerCase()}async startPolling(t,r,i=0){let s=new re,o=new fe,a=rn(ul(),"vscode-watcher-snapshot"),l=new Sn(o.p,t,i,s.token,new tt(m=>this.handleParcelEvents(m,l),n.FILE_CHANGES_HANDLER_DELAY),async()=>{s.dispose(!0),l.worker.flush(),l.worker.dispose(),h.dispose(),await Br.unlink(a)});this._watchers.set(this.requestToWatcherKey(t),l);let{realPath:u,realPathDiffers:d,realPathLength:c}=await this.normalizePath(t);this.trace(`Started watching: '${u}' with polling interval '${r}'`);let f=0,h=new et(async()=>{if(f++,s.token.isCancellationRequested)return;let m=Bs;try{if(f>1){let y=await m.getEventsSince(u,a,{ignore:this.addPredefinedExcludes(t.excludes),backend:n.PARCEL_WATCHER_BACKEND});if(s.token.isCancellationRequested)return;this.onParcelEvents(y,l,d,c)}await m.writeSnapshot(u,a,{ignore:this.addPredefinedExcludes(t.excludes),backend:n.PARCEL_WATCHER_BACKEND})}catch(y){this.onUnexpectedError(y,t)}f===1&&o.complete(),!s.token.isCancellationRequested&&h.schedule()},r);h.schedule(0)}async startWatching(t,r=0){let i=new re,s=new fe,o=new Sn(s.p,t,r,i.token,new tt(d=>this.handleParcelEvents(d,o),n.FILE_CHANGES_HANDLER_DELAY),async()=>{i.dispose(!0),o.worker.flush(),o.worker.dispose(),await(await s.p)?.unsubscribe()});this._watchers.set(this.requestToWatcherKey(t),o);let{realPath:a,realPathDiffers:l,realPathLength:u}=await this.normalizePath(t);try{let c=await Bs.subscribe(a,(f,h)=>{o.token.isCancellationRequested||(f&&this.onUnexpectedError(f,t),this.onParcelEvents(h,o,l,u))},{backend:n.PARCEL_WATCHER_BACKEND,ignore:this.addPredefinedExcludes(o.request.excludes)});this.trace(`Started watching: '${a}' with backend '${n.PARCEL_WATCHER_BACKEND}'`),s.complete(c)}catch(d){this.onUnexpectedError(d,t),s.complete(void 0),o.notifyWatchFailed(),this._onDidWatchFail.fire(t)}}addPredefinedExcludes(t){let r=[...t],i=n.PREDEFINED_EXCLUDES[process.platform];if(Array.isArray(i))for(let s of i)r.includes(s)||r.push(s);return r}onParcelEvents(t,r,i,s){if(t.length===0)return;this.normalizeEvents(t,r.request,i,s);let o=this.handleIncludes(r,t);for(let a of o)r.worker.work(a)}handleIncludes(t,r){let i=[];for(let{path:s,type:o}of r){let a=n.MAP_PARCEL_WATCHER_ACTION_TO_FILE_CHANGE.get(o);this.verboseLogging&&this.traceWithCorrelation(`${a===1?"[ADDED]":a===2?"[DELETED]":"[CHANGED]"} ${s}`,t.request),t.include(s)?i.push({type:a,resource:O.file(s),cId:t.request.correlationId}):this.verboseLogging&&this.traceWithCorrelation(` >> ignored (not included) ${s}`,t.request)}return i}handleParcelEvents(t,r){let i=Rn(t),{events:s,rootDeleted:o}=this.filterEvents(i,r);this.emitEvents(s,r),o&&this.onWatchedPathDeleted(r)}emitEvents(t,r){if(t.length===0)return;this.throttledFileChangesEmitter.work(t)?this.throttledFileChangesEmitter.pending>0&&this.trace(`started throttling events due to large amount of file change events at once (pending: ${this.throttledFileChangesEmitter.pending}, most recent change: ${t[0].resource.fsPath}). Use 'files.watcherExclude' setting to exclude folders with lots of changing files (e.g. compilation output).`,r):this.warn(`started ignoring events due to too many file change events at once (incoming: ${t.length}, most recent change: ${t[0].resource.fsPath}). Use 'files.watcherExclude' setting to exclude folders with lots of changing files (e.g. compilation output).`)}async normalizePath(t){let r=t.path,i=!1,s=t.path.length;try{r=await me.realpath(t.path),t.path===r&&(r=await mn(t.path)??t.path),t.path!==r&&(s=r.length,i=!0,this.trace(`correcting a path to watch that seems to be a symbolic link or wrong casing (original: ${t.path}, real: ${r})`))}catch{}return{realPath:r,realPathDiffers:i,realPathLength:s}}normalizeEvents(t,r,i,s){for(let o of t)be&&(o.path=rt(o.path)),j&&r.path.length<=3&&(o.path=ve(o.path)),i&&(o.path=r.path+o.path.substr(s))}filterEvents(t,r){let i=[],s=!1,o=this.isCorrelated(r.request)?r.request.filter:void 0;for(let a of t){if(r.subscriptionsCount>0&&r.notifyFileChange(a.resource.fsPath,a),s=a.type===2&&Dt(a.resource.fsPath,r.request.path,!C),wn(a,o)){this.verboseLogging&&this.traceWithCorrelation(` >> ignored (filtered) ${a.resource.fsPath}`,r.request);continue}this.traceEvent(a,r.request),i.push(a)}return{events:i,rootDeleted:s}}onWatchedPathDeleted(t){this.warn("Watcher shutdown because watched path got deleted",t),t.notifyWatchFailed(),this._onDidWatchFail.fire(t.request)}onUnexpectedError(t,r){let i=Dn(t);i.indexOf("No space left on device")!==-1?this.enospcErrorLogged||(this.error("Inotify limit reached (ENOSPC)",r),this.enospcErrorLogged=!0):i.indexOf("File system must be re-scanned")!==-1?this.error(i,r):(this.error(`Unexpected error: ${i} (EUNKNOWN)`,r),this._onDidError.fire({request:r,error:i}))}async stop(){await super.stop();for(let t of this.watchers)await this.stopWatching(t)}restartWatching(t,r=800){let i=new et(async()=>{if(t.token.isCancellationRequested)return;let s=new fe;try{await this.stopWatching(t,s.p),t.request.pollingInterval?await this.startPolling(t.request,t.request.pollingInterval,t.restarts+1):await this.startWatching(t.request,t.restarts+1)}finally{s.complete()}},r);i.schedule(),t.token.onCancellationRequested(()=>i.dispose())}async stopWatching(t,r){this.trace("stopping file watcher",t),this._watchers.delete(this.requestToWatcherKey(t.request));try{await t.stop(r)}catch(i){this.error(`Unexpected error stopping watcher: ${Dn(i)}`,t.request)}}async removeDuplicateRequests(t,r=!0){t.sort((o,a)=>o.path.length-a.path.length);let i=new Map;for(let o of t){if(o.excludes.includes(Me))continue;let a=i.get(o.correlationId);a||(a=new Map,i.set(o.correlationId,a));let l=this.pathToWatcherKey(o.path);a.has(l)&&this.trace(`ignoring a request for watching who's path is already watched: ${this.requestToString(o)}`),a.set(l,o)}let s=[];for(let o of i.values()){let a=qe.forPaths(!C);for(let l of o.values()){if(a.findSubstr(l.path))if(a.has(l.path))this.trace(`ignoring a request for watching who's path is already watched: ${this.requestToString(l)}`);else try{if(!(await Br.lstat(l.path)).isSymbolicLink()){this.trace(`ignoring a request for watching who's parent is already watched: ${this.requestToString(l)}`);continue}}catch(u){this.trace(`ignoring a request for watching who's lstat failed to resolve: ${this.requestToString(l)} (error: ${u})`),this._onDidWatchFail.fire(l);continue}if(r&&!await this.isPathValid(l.path)){this._onDidWatchFail.fire(l);continue}a.set(l.path,l)}s.push(...Array.from(a).map(([,l])=>l))}return s}async isPathValid(t){try{if(!(await Br.stat(t)).isDirectory())return this.trace(`ignoring a path for watching that is a file and not a folder: ${t}`),!1}catch(r){return this.trace(`ignoring a path for watching who's stat info failed to resolve: ${t} (error: ${r})`),!1}return!0}subscribe(t,r){for(let i of this.watchers){if(i.failed||!pe(t,i.request.path,!C)||i.exclude(t)||!i.include(t))continue;let s=new q;return s.add(U.once(i.onDidStop)(async o=>{await o.joinRestart,!s.isDisposed&&r(!0)})),s.add(U.once(i.onDidFail)(()=>r(!0))),s.add(i.subscribe(t,o=>r(null,o))),s}}trace(t,r){this.verboseLogging&&this._onDidLogMessage.fire({type:"trace",message:this.toMessage(t,r?.request)})}warn(t,r){this._onDidLogMessage.fire({type:"warn",message:this.toMessage(t,r?.request)})}error(t,r){this._onDidLogMessage.fire({type:"error",message:this.toMessage(t,r)})}toMessage(t,r){return r?`[File Watcher ('parcel')] ${t} (path: ${r.path})`:`[File Watcher ('parcel')] ${t}`}get recursiveWatcher(){return this}};import{watch as dl,promises as fl}from"fs";var kn=class n extends B{constructor(t,r,i,s,o,a){super();this.request=t;this.recursiveWatcher=r;this.onDidFilesChange=i;this.onDidWatchFail=s;this.onLogMessage=o;this.verboseLogging=a;this.throttledFileChangesEmitter=this._register(new Ne({maxWorkChunkSize:100,throttleDelay:200,maxBufferedWork:1e4},t=>this.onDidFilesChange(t)));this.fileChangesAggregator=this._register(new tt(t=>this.handleFileChanges(t),n.FILE_CHANGES_HANDLER_DELAY));this.cts=new re;this.realPath=new ue(async()=>{let t=this.request.path;try{t=await me.realpath(this.request.path),this.request.path!==t&&this.trace(`correcting a path to watch that seems to be a symbolic link (original: ${this.request.path}, real: ${t})`)}catch{}return t});this._isReusingRecursiveWatcher=!1;this.didFail=!1;let l=!C;this.excludes=bt(this.request.path,this.request.excludes,l),this.includes=this.request.includes?bt(this.request.path,this.request.includes,l):void 0,this.filter=En(this.request)?this.request.filter:void 0,this.ready=this.watch()}static{this.FILE_DELETE_HANDLER_DELAY=100}static{this.FILE_CHANGES_HANDLER_DELAY=75}get isReusingRecursiveWatcher(){return this._isReusingRecursiveWatcher}get failed(){return this.didFail}async watch(){try{let t=await fl.stat(this.request.path);if(this.cts.token.isCancellationRequested)return;await Jn(this.doWatch(t.isDirectory()),this._store)}catch(t){t.code!=="ENOENT"?this.error(t):this.trace(`ignoring a path for watching who's stat info failed to resolve: ${this.request.path} (error: ${t})`),this.notifyWatchFailed()}}notifyWatchFailed(){this.didFail=!0,this.onDidWatchFail?.()}async doWatch(t){let r=new q;return this.doWatchWithExistingWatcher(t,r)?(this.trace(`reusing an existing recursive watcher for ${this.request.path}`),this._isReusingRecursiveWatcher=!0):(this._isReusingRecursiveWatcher=!1,await this.doWatchWithNodeJS(t,r)),r}doWatchWithExistingWatcher(t,r){if(t)return!1;let i=O.file(this.request.path),s=this.recursiveWatcher?.subscribe(this.request.path,async(o,a)=>{r.isDisposed||(o?await Jn(this.doWatch(t),r):a&&(typeof a.cId=="number"||typeof this.request.correlationId=="number")&&this.onFileChange({resource:i,type:a.type,cId:this.request.correlationId},!0))});return s?(r.add(s),!0):!1}async doWatchWithNodeJS(t,r){let i=await this.realPath.value;if(this.cts.token.isCancellationRequested)return;if(be&&pe(i,"/Volumes/",!0)){this.error(`Refusing to watch ${i} for changes using fs.watch() for possibly being a network share where watching is unreliable and unstable.`);return}let s=new re(this.cts.token);r.add($(()=>s.dispose(!0)));let o=new q;r.add(o);try{let a=O.file(this.request.path),l=Ye(i),u=dl(i);o.add($(()=>{u.removeAllListeners(),u.close()})),this.trace(`Started watching: '${i}'`);let d=new Set;if(t)try{for(let f of await me.readdir(i))d.add(f)}catch(f){this.error(f)}if(s.token.isCancellationRequested)return;let c=new Map;o.add($(()=>{for(let[,f]of c)f.dispose();c.clear()})),u.on("error",(f,h)=>{s.token.isCancellationRequested||(this.error(`Failed to watch ${i} for changes using fs.watch() (${f}, ${h})`),this.notifyWatchFailed())}),u.on("change",(f,h)=>{if(s.token.isCancellationRequested)return;this.verboseLogging&&this.traceWithCorrelation(`[raw] ["${f}"] ${h}`);let m="";if(h&&(m=h.toString(),be&&(m=rt(m))),!(!m||f!=="change"&&f!=="rename"))if(t)if(f==="rename"){c.get(m)?.dispose();let y=setTimeout(async()=>{if(c.delete(m),Dt(m,l,!C)&&!await me.exists(i)){this.onWatchedPathDeleted(a);return}if(s.token.isCancellationRequested)return;let S=await this.existsChildStrictCase(Z(i,m));if(s.token.isCancellationRequested)return;let F;S?d.has(m)?F=0:(F=1,d.add(m)):(d.delete(m),F=2),this.onFileChange({resource:Tr(a,m),type:F,cId:this.request.correlationId})},n.FILE_DELETE_HANDLER_DELAY);c.set(m,$(()=>clearTimeout(y)))}else{let y;d.has(m)?y=0:(y=1,d.add(m)),this.onFileChange({resource:Tr(a,m),type:y,cId:this.request.correlationId})}else if(f==="rename"||!Dt(m,l,!C)){let y=setTimeout(async()=>{let S=await me.exists(i);s.token.isCancellationRequested||(S?(this.onFileChange({resource:a,type:0,cId:this.request.correlationId},!0),o.add(await this.doWatch(!1))):this.onWatchedPathDeleted(a))},n.FILE_DELETE_HANDLER_DELAY);o.clear(),o.add($(()=>clearTimeout(y)))}else this.onFileChange({resource:a,type:0,cId:this.request.correlationId},!0)})}catch(a){if(s.token.isCancellationRequested)return;this.error(`Failed to watch ${i} for changes using fs.watch() (${a.toString()})`),this.notifyWatchFailed()}}onWatchedPathDeleted(t){this.warn("Watcher shutdown because watched path got deleted"),this.onFileChange({resource:t,type:2,cId:this.request.correlationId},!0),this.fileChangesAggregator.flush(),this.notifyWatchFailed()}onFileChange(t,r=!1){this.cts.token.isCancellationRequested||(this.verboseLogging&&this.traceWithCorrelation(`${t.type===1?"[ADDED]":t.type===2?"[DELETED]":"[CHANGED]"} ${t.resource.fsPath}`),!r&&this.excludes.some(i=>i(t.resource.fsPath))?this.verboseLogging&&this.traceWithCorrelation(` >> ignored (excluded) ${t.resource.fsPath}`):!r&&this.includes&&this.includes.length>0&&!this.includes.some(i=>i(t.resource.fsPath))?this.verboseLogging&&this.traceWithCorrelation(` >> ignored (not included) ${t.resource.fsPath}`):this.fileChangesAggregator.work(t))}handleFileChanges(t){let r=Rn(t),i=[];for(let o of r){if(wn(o,this.filter)){this.verboseLogging&&this.traceWithCorrelation(` >> ignored (filtered) ${o.resource.fsPath}`);continue}i.push(o)}if(i.length===0)return;if(this.verboseLogging)for(let o of i)this.traceWithCorrelation(` >> normalized ${o.type===1?"[ADDED]":o.type===2?"[DELETED]":"[CHANGED]"} ${o.resource.fsPath}`);this.throttledFileChangesEmitter.work(i)?this.throttledFileChangesEmitter.pending>0&&this.trace(`started throttling events due to large amount of file change events at once (pending: ${this.throttledFileChangesEmitter.pending}, most recent change: ${i[0].resource.fsPath}). Use 'files.watcherExclude' setting to exclude folders with lots of changing files (e.g. compilation output).`):this.warn(`started ignoring events due to too many file change events at once (incoming: ${i.length}, most recent change: ${i[0].resource.fsPath}). Use 'files.watcherExclude' setting to exclude folders with lots of changing files (e.g. compilation output).`)}async existsChildStrictCase(t){if(C)return me.exists(t);try{let r=Ye(t);return(await me.readdir(Je(t))).some(s=>s===r)}catch(r){return this.trace(r),!1}}setVerboseLogging(t){this.verboseLogging=t}error(t){this.cts.token.isCancellationRequested||this.onLogMessage?.({type:"error",message:`[File Watcher (node.js)] ${t}`})}warn(t){this.cts.token.isCancellationRequested||this.onLogMessage?.({type:"warn",message:`[File Watcher (node.js)] ${t}`})}trace(t){!this.cts.token.isCancellationRequested&&this.verboseLogging&&this.onLogMessage?.({type:"trace",message:`[File Watcher (node.js)] ${t}`})}traceWithCorrelation(t){!this.cts.token.isCancellationRequested&&this.verboseLogging&&this.trace(`${t}${typeof this.request.correlationId=="number"?` <${this.request.correlationId}> `:""}`)}dispose(){this.cts.dispose(!0),super.dispose()}};var Fn=class extends vt{constructor(t){super();this.recursiveWatcher=t;this.onDidError=U.None;this._watchers=new Map;this.worker=this._register(new Fe)}get watchers(){return this._watchers.values()}async doWatch(t){t=this.removeDuplicateRequests(t);let r=[],i=new Set(Array.from(this.watchers));for(let s of t){let o=this._watchers.get(this.requestToWatcherKey(s));o&&ht(o.request.excludes,s.excludes)&&ht(o.request.includes,s.includes)?i.delete(o):r.push(s)}r.length&&this.trace(`Request to start watching: ${r.map(s=>this.requestToString(s)).join(",")}`),i.size&&this.trace(`Request to stop watching: ${Array.from(i).map(s=>this.requestToString(s.request)).join(",")}`),this.worker.clear();for(let s of i)this.stopWatching(s);this.createWatchWorker().work(r)}createWatchWorker(){return this.worker.value=new Ne({maxWorkChunkSize:100,throttleDelay:100,maxBufferedWork:Number.MAX_VALUE},t=>{for(let r of t)this.startWatching(r)}),this.worker.value}requestToWatcherKey(t){return typeof t.correlationId=="number"?t.correlationId:this.pathToWatcherKey(t.path)}pathToWatcherKey(t){return C?t:t.toLowerCase()}startWatching(t){let r=new kn(t,this.recursiveWatcher,s=>this._onDidChangeFile.fire(s),()=>this._onDidWatchFail.fire(t),s=>this._onDidLogMessage.fire(s),this.verboseLogging),i={request:t,instance:r};this._watchers.set(this.requestToWatcherKey(t),i)}async stop(){await super.stop();for(let t of this.watchers)this.stopWatching(t)}stopWatching(t){this.trace("stopping file watcher",t),this._watchers.delete(this.requestToWatcherKey(t.request)),t.instance.dispose()}removeDuplicateRequests(t){let r=new Map;for(let i of t){let s=r.get(i.correlationId);s||(s=new Map,r.set(i.correlationId,s));let o=this.pathToWatcherKey(i.path);s.has(o)&&this.trace(`ignoring a request for watching who's path is already watched: ${this.requestToString(i)}`),s.set(o,i)}return Array.from(r.values()).flatMap(i=>Array.from(i.values()))}async setVerboseLogging(t){super.setVerboseLogging(t);for(let r of this.watchers)r.instance.setVerboseLogging(t)}trace(t,r){this.verboseLogging&&this._onDidLogMessage.fire({type:"trace",message:this.toMessage(t,r)})}warn(t){this._onDidLogMessage.fire({type:"warn",message:this.toMessage(t)})}toMessage(t,r){return r?`[File Watcher (node.js)] ${t} (${this.requestToString(r.request)})`:`[File Watcher (node.js)] ${t}`}};function js(n,e,t,r){let i=[],s=Un(n.filter(M=>gt(M))),o=s.filter(M=>t.isSuspended(M)===!1),a=s.filter(M=>t.isSuspended(M)==="polling"),l=s.filter(M=>t.isSuspended(M)===!0),u=$s(s,t),d=zs(t),c=Un(n.filter(M=>!gt(M))),f=c.filter(M=>r.isSuspended(M)===!1),h=c.filter(M=>r.isSuspended(M)==="polling"),m=c.filter(M=>r.isSuspended(M)===!0),y=$s(c,r),S=Gs(r);i.push("[Summary]"),i.push(`- Recursive Requests:     total: ${s.length}, suspended: ${u.suspended}, polling: ${u.polling}, failed: ${e}`),i.push(`- Non-Recursive Requests: total: ${c.length}, suspended: ${y.suspended}, polling: ${y.polling}`),i.push(`- Recursive Watchers:     total: ${Array.from(t.watchers).length}, active: ${d.active}, failed: ${d.failed}, stopped: ${d.stopped}`),i.push(`- Non-Recursive Watchers: total: ${Array.from(r.watchers).length}, active: ${S.active}, failed: ${S.failed}, reusing: ${S.reusing}`),i.push(`- I/O Handles Impact:     total: ${u.polling+y.polling+d.active+S.active}`),i.push(`
[Recursive Requests (${s.length}, suspended: ${u.suspended}, polling: ${u.polling})]:`);let F=[];for(let M of[o,a,l].flat())Ks(F,M,t);i.push(...Ln(F));let ie=[];pl(ie,t),i.push(...Ln(ie)),i.push(`
[Non-Recursive Requests (${c.length}, suspended: ${y.suspended}, polling: ${y.polling})]:`);let Y=[];for(let M of[f,h,m].flat())Ks(Y,M,r);i.push(...Ln(Y));let ye=[];return hl(ye,r),i.push(...Ln(ye)),`

[File Watcher] request stats:

${i.join(`
`)}

`}function Ln(n){let e=0;for(let t of n)e=Math.max(e,t.split("	")[0].length);for(let t=0;t<n.length;t++){let i=n[t].split("	");if(i.length===2){let s=" ".repeat(e-i[0].length);n[t]=`${i[0]}${s}	${i[1]}`}}return n}function $s(n,e){let t=0,r=0;for(let i of n){let s=e.isSuspended(i);s!==!1&&(r++,s==="polling"&&t++)}return{suspended:r,polling:t}}function zs(n){let e=0,t=0,r=0;for(let i of n.watchers)!i.failed&&!i.stopped&&e++,i.failed&&t++,i.stopped&&r++;return{active:e,failed:t,stopped:r}}function Gs(n){let e=0,t=0,r=0;for(let i of n.watchers)!i.instance.failed&&!i.instance.isReusingRecursiveWatcher&&e++,i.instance.failed&&t++,i.instance.isReusingRecursiveWatcher&&r++;return{active:e,failed:t,reusing:r}}function Un(n){return n.sort((e,t)=>{let r=Vs(e)?e.path:e.request.path,i=Vs(t)?t.path:t.request.path,s=Math.min(r.length,i.length);for(let o=0;o<s;o++)if(r[o]!==i[o])return r[o]<i[o]?-1:1;return r.length-i.length}),n}function Vs(n){return typeof n?.path=="string"}function Ks(n,e,t){let r=[],i=t.isSuspended(e);i!==!1&&(i==="polling"?r.push("[SUSPENDED <polling>]"):r.push("[SUSPENDED <non-polling>]")),n.push(` ${e.path}	${r.length>0?r.join(" ")+" ":""}(${$r(e)})`)}function $r(n){return`excludes: ${n.excludes.length>0?n.excludes:"<none>"}, includes: ${n.includes&&n.includes.length>0?JSON.stringify(n.includes):"<all>"}, filter: ${Pn(n.filter)}, correlationId: ${typeof n.correlationId=="number"?n.correlationId:"<none>"}`}function pl(n,e){let t=Un(Array.from(e.watchers)),{active:r,failed:i,stopped:s}=zs(e);n.push(`
[Recursive Watchers (${t.length}, active: ${r}, failed: ${i}, stopped: ${s})]:`);for(let o of t){let a=[];o.failed&&a.push("[FAILED]"),o.stopped&&a.push("[STOPPED]"),o.subscriptionsCount>0&&a.push(`[SUBSCRIBED:${o.subscriptionsCount}]`),o.restarts>0&&a.push(`[RESTARTED:${o.restarts}]`),n.push(` ${o.request.path}	${a.length>0?a.join(" ")+" ":""}(${$r(o.request)})`)}}function hl(n,e){let t=Un(Array.from(e.watchers)),r=t.filter(u=>!u.instance.failed&&!u.instance.isReusingRecursiveWatcher),i=t.filter(u=>u.instance.failed),s=t.filter(u=>u.instance.isReusingRecursiveWatcher),{active:o,failed:a,reusing:l}=Gs(e);n.push(`
[Non-Recursive Watchers (${t.length}, active: ${o}, failed: ${a}, reusing: ${l})]:`);for(let u of[r,i,s].flat()){let d=[];u.instance.failed&&d.push("[FAILED]"),u.instance.isReusingRecursiveWatcher&&d.push("[REUSING]"),n.push(` ${u.request.path}	${d.length>0?d.join(" ")+" ":""}(${$r(u.request)})`)}}var On=class extends B{constructor(){super();this.recursiveWatcher=this._register(new An);this.nonRecursiveWatcher=this._register(new Fn(this.recursiveWatcher));this.onDidChangeFile=U.any(this.recursiveWatcher.onDidChangeFile,this.nonRecursiveWatcher.onDidChangeFile);this.onDidError=U.any(this.recursiveWatcher.onDidError,this.nonRecursiveWatcher.onDidError);this._onDidLogMessage=this._register(new A);this.onDidLogMessage=U.any(this._onDidLogMessage.event,this.recursiveWatcher.onDidLogMessage,this.nonRecursiveWatcher.onDidLogMessage);this.requests=[];this.failedRecursiveRequests=0;this._register(this.recursiveWatcher.onDidError(t=>{t.request&&this.failedRecursiveRequests++}))}async watch(t){this.requests=t,this.failedRecursiveRequests=0;let r;try{await this.recursiveWatcher.watch(t.filter(i=>gt(i)))}catch(i){r=i}try{await this.nonRecursiveWatcher.watch(t.filter(i=>!gt(i)))}catch(i){r||(r=i)}if(r)throw r}async setVerboseLogging(t){t&&this.requests.length>0&&this._onDidLogMessage.fire({type:"trace",message:js(this.requests,this.failedRecursiveRequests,this.recursiveWatcher,this.nonRecursiveWatcher)}),await dn.settled([this.recursiveWatcher.setVerboseLogging(t),this.nonRecursiveWatcher.setVerboseLogging(t)])}async stop(){await dn.settled([this.recursiveWatcher.stop(),this.nonRecursiveWatcher.stop()])}};var Vr;Tn(process)?Vr=new yn:Vr=new vn("watcher");var ml=new On;Vr.registerChannel("watcher",Pr.fromService(ml,new q));
//# sourceMappingURL=https://main.vscode-cdn.net/sourcemaps/a5b500951314efd502d07465bd138dfbd714a960/core/vs/platform/files/node/watcher/watcherMain.js.map
