UNPKG

code-server

Version:

Run VS Code on a remote server.

840 lines • 1.59 MB
/*!--------------------------------------------------------
 * 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 z7=Object.create;var qh=Object.defineProperty;var V1=Object.getOwnPropertyDescriptor;var G7=Object.getOwnPropertyNames;var K7=Object.getPrototypeOf,j7=Object.prototype.hasOwnProperty;var H1=r=>{throw TypeError(r)};var y=(r,t)=>()=>(r&&(t=r(r=0)),t);var Q7=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),J7=(r,t)=>{for(var e in t)qh(r,e,{get:t[e],enumerable:!0})},Y7=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of G7(t))!j7.call(r,o)&&o!==e&&qh(r,o,{get:()=>t[o],enumerable:!(n=V1(t,o))||n.enumerable});return r};var W1=(r,t,e)=>(e=r!=null?z7(K7(r)):{},Y7(t||!r||!r.__esModule?qh(e,"default",{value:r,enumerable:!0}):e,r));var C=(r,t,e,n)=>{for(var o=n>1?void 0:n?V1(t,e):t,i=r.length-1,s;i>=0;i--)(s=r[i])&&(o=(n?s(t,e,o):s(o))||o);return n&&o&&qh(t,e,o),o},I=(r,t)=>(e,n)=>t(e,n,r);var wC=(r,t,e)=>t.has(r)||H1("Cannot "+e);var an=(r,t,e)=>(wC(r,t,"read from private field"),e?e.call(r):t.get(r)),Qc=(r,t,e)=>t.has(r)?H1("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(r):t.set(r,e),tm=(r,t,e,n)=>(wC(r,t,"write to private field"),n?n.call(r,e):t.set(r,e),e),nm=(r,t,e)=>(wC(r,t,"access private method"),e);var TC=Q7((wY,q1)=>{"use strict";function X7(r,t){var e=r;t.slice(0,-1).forEach(function(o){e=e[o]||{}});var n=t[t.length-1];return n in e}function B1(r){return typeof r=="number"||/^0x[0-9a-f]+$/i.test(r)?!0:/^[-+]?(?:\d+(?:\.\d*)?|\.\d+)(e[-+]?\d+)?$/.test(r)}function $1(r,t){return t==="constructor"&&typeof r[t]=="function"||t==="__proto__"}q1.exports=function(r,t){t||(t={});var e={bools:{},strings:{},unknownFn:null};typeof t.unknown=="function"&&(e.unknownFn=t.unknown),typeof t.boolean=="boolean"&&t.boolean?e.allBools=!0:[].concat(t.boolean).filter(Boolean).forEach(function(P){e.bools[P]=!0});var n={};function o(P){return n[P].some(function(U){return e.bools[U]})}Object.keys(t.alias||{}).forEach(function(P){n[P]=[].concat(t.alias[P]),n[P].forEach(function(U){n[U]=[P].concat(n[P].filter(function(xe){return U!==xe}))})}),[].concat(t.string).filter(Boolean).forEach(function(P){e.strings[P]=!0,n[P]&&[].concat(n[P]).forEach(function(U){e.strings[U]=!0})});var i=t.default||{},s={_:[]};function a(P,U){return e.allBools&&/^--[^=]+$/.test(U)||e.strings[P]||e.bools[P]||n[P]}function l(P,U,xe){for(var V=P,ae=0;ae<U.length-1;ae++){var j=U[ae];if($1(V,j))return;V[j]===void 0&&(V[j]={}),(V[j]===Object.prototype||V[j]===Number.prototype||V[j]===String.prototype)&&(V[j]={}),V[j]===Array.prototype&&(V[j]=[]),V=V[j]}var z=U[U.length-1];$1(V,z)||((V===Object.prototype||V===Number.prototype||V===String.prototype)&&(V={}),V===Array.prototype&&(V=[]),V[z]===void 0||e.bools[z]||typeof V[z]=="boolean"?V[z]=xe:Array.isArray(V[z])?V[z].push(xe):V[z]=[V[z],xe])}function c(P,U,xe){if(!(xe&&e.unknownFn&&!a(P,xe)&&e.unknownFn(xe)===!1)){var V=!e.strings[P]&&B1(U)?Number(U):U;l(s,P.split("."),V),(n[P]||[]).forEach(function(ae){l(s,ae.split("."),V)})}}Object.keys(e.bools).forEach(function(P){c(P,i[P]===void 0?!1:i[P])});var u=[];r.indexOf("--")!==-1&&(u=r.slice(r.indexOf("--")+1),r=r.slice(0,r.indexOf("--")));for(var p=0;p<r.length;p++){var m=r[p],g,h;if(/^--.+=/.test(m)){var v=m.match(/^--([^=]+)=([\s\S]*)$/);g=v[1];var S=v[2];e.bools[g]&&(S=S!=="false"),c(g,S,m)}else if(/^--no-.+/.test(m))g=m.match(/^--no-(.+)/)[1],c(g,!1,m);else if(/^--.+/.test(m))g=m.match(/^--(.+)/)[1],h=r[p+1],h!==void 0&&!/^(-|--)[^-]/.test(h)&&!e.bools[g]&&!e.allBools&&(!n[g]||!o(g))?(c(g,h,m),p+=1):/^(true|false)$/.test(h)?(c(g,h==="true",m),p+=1):c(g,e.strings[g]?"":!0,m);else if(/^-[^-]+/.test(m)){for(var T=m.slice(1,-1).split(""),E=!1,k=0;k<T.length;k++){if(h=m.slice(k+2),h==="-"){c(T[k],h,m);continue}if(/[A-Za-z]/.test(T[k])&&h[0]==="="){c(T[k],h.slice(1),m),E=!0;break}if(/[A-Za-z]/.test(T[k])&&/-?\d+(\.\d*)?(e-?\d+)?$/.test(h)){c(T[k],h,m),E=!0;break}if(T[k+1]&&T[k+1].match(/\W/)){c(T[k],m.slice(k+2),m),E=!0;break}else c(T[k],e.strings[T[k]]?"":!0,m)}g=m.slice(-1)[0],!E&&g!=="-"&&(r[p+1]&&!/^(-|--)[^-]/.test(r[p+1])&&!e.bools[g]&&(!n[g]||!o(g))?(c(g,r[p+1],m),p+=1):r[p+1]&&/^(true|false)$/.test(r[p+1])?(c(g,r[p+1]==="true",m),p+=1):c(g,e.strings[g]?"":!0,m))}else if((!e.unknownFn||e.unknownFn(m)!==!1)&&s._.push(e.strings._||!B1(m)?m:Number(m)),t.stopEarly){s._.push.apply(s._,r.slice(p+1));break}}return Object.keys(i).forEach(function(P){X7(s,P.split("."))||(l(s,P.split("."),i[P]),(n[P]||[]).forEach(function(U){l(s,U.split("."),i[P])}))}),t["--"]?s["--"]=u.slice():u.forEach(function(P){s._.push(P)}),s}});function DC(r){let t=[];typeof r=="number"&&t.push("code/timeOrigin",r);function e(i,s){t.push(i,s?.startTime??Date.now())}function n(){let i=[];for(let s=0;s<t.length;s+=2)i.push({name:t[s],startTime:t[s+1]});return i}function o(i){if(typeof i>"u"){let s=t.length>=2&&t[0]==="code/timeOrigin",a=s?t[1]:void 0;t.length=0,s&&t.push("code/timeOrigin",a)}else for(let s=t.length-2;s>=0;s-=2)t[s]===i&&t.splice(s,2)}return{mark:e,getMarks:n,clearMarks:o}}function r9(){if(typeof performance=="object"&&typeof performance.mark=="function"&&!performance.nodeTiming)return typeof performance.timeOrigin!="number"&&!performance.timing?DC():{mark(r,t){performance.mark(r,t)},clearMarks(r){performance.clearMarks(r)},getMarks(){let r=performance.timeOrigin;typeof r!="number"&&(r=(performance.timing.navigationStart||performance.timing.redirectStart||performance.timing.fetchStart)??0);let t=[{name:"code/timeOrigin",startTime:Math.round(r)}];for(let e of performance.getEntriesByType("mark"))t.push({name:e.name,startTime:Math.round(r+e.startTime)});return t}};if(typeof process=="object"){let r=performance?.timeOrigin;return DC(r)}else return console.trace("perf-util loaded in UNKNOWN environment"),DC()}function i9(r){return r.MonacoPerformanceMarks||(r.MonacoPerformanceMarks=r9()),r.MonacoPerformanceMarks}var _C,Vt,s9,J1,Wr=y(()=>{_C=i9(globalThis),Vt=_C.mark,s9=_C.clearMarks,J1=_C.getMarks});function m9(){return globalThis._VSCODE_NLS_MESSAGES}function AC(){return globalThis._VSCODE_NLS_LANGUAGE}function Gh(r,t){let e;return t.length===0?e=r:e=r.replace(/\{(\d+)\}/g,(n,o)=>{let i=parseInt(o,10),s=t[i],a=n;return typeof s=="string"?a=s:(typeof s=="number"||typeof s=="boolean"||s===void 0||s===null)&&(a=String(s)),a}),g9&&(e="\uFF3B"+e.replace(/[aouei]/g,"$&$&")+"\uFF3D"),e}function d(r,t,...e){return Gh(typeof r=="number"?X1(r,t):t,e)}function X1(r,t){let e=m9()?.[r];if(typeof e!="string"){if(typeof t=="string")return t;throw new Error(`!!! NLS MISSING: ${r} !!!`)}return e}function rm(r,t,...e){let n;typeof r=="number"?n=X1(r,t):n=t;let o=Gh(n,e);return{value:o,original:t===n?o:Gh(t,e)}}var g9,le=y(()=>{g9=AC()==="pseudo"||typeof document<"u"&&document.location&&typeof document.location.hash=="string"&&document.location.hash.indexOf("pseudo=true")>=0});function Jh(r){switch(r){case 0:return"Web";case 1:return"Mac";case 2:return"Linux";case 3:return"Windows"}}var hs,sm,am,im,eM,tM,LC,nM,OC,f9,oM,Kh,jh,Z1,h9,fs,vs,nr,rM,v9,Qh,te,ut,qe,iM,lm,sM,pn,UC,aM,lM,cM,di,Br,Gn,y9,I9,dM,or,cm,uM,pM,Yh,UY,mM,me=y(()=>{le();hs="en",sm=!1,am=!1,im=!1,eM=!1,tM=!1,LC=!1,nM=!1,OC=!1,f9=!1,oM=!1,jh=hs,Z1=hs,vs=globalThis;typeof vs.vscode<"u"&&typeof vs.vscode.process<"u"?nr=vs.vscode.process:typeof process<"u"&&typeof process?.versions?.node=="string"&&(nr=process);rM=typeof nr?.versions?.electron=="string",v9=rM&&nr?.type==="renderer";if(typeof nr=="object"){sm=nr.platform==="win32",am=nr.platform==="darwin",im=nr.platform==="linux",eM=im&&!!nr.env.SNAP&&!!nr.env.SNAP_REVISION,nM=rM,f9=!!nr.env.CI||!!nr.env.BUILD_ARTIFACTSTAGINGDIRECTORY||!!nr.env.GITHUB_WORKSPACE,Kh=hs,jh=hs;let r=nr.env.VSCODE_NLS_CONFIG;if(r)try{let t=JSON.parse(r);Kh=t.userLocale,Z1=t.osLocale,jh=t.resolvedLanguage||hs,h9=t.languagePack?.translationsConfigFile}catch{}tM=!0}else typeof navigator=="object"&&!v9?(fs=navigator.userAgent,sm=fs.indexOf("Windows")>=0,am=fs.indexOf("Macintosh")>=0,OC=(fs.indexOf("Macintosh")>=0||fs.indexOf("iPad")>=0||fs.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,im=fs.indexOf("Linux")>=0,oM=fs?.indexOf("Mobi")>=0,LC=!0,jh=AC()||hs,Kh=navigator.language.toLowerCase(),Z1=Kh):console.error("Unable to resolve platform.");Qh=0;am?Qh=1:sm?Qh=3:im&&(Qh=2);te=sm,ut=am,qe=im,iM=eM,lm=tM,sM=nM,pn=LC,UC=LC&&typeof vs.importScripts=="function",aM=UC?vs.origin:void 0,lM=OC,cM=oM,di=Qh,Br=fs,Gn=jh;(n=>{function r(){return Gn}n.value=r;function t(){return Gn.length===2?Gn==="en":Gn.length>=3?Gn[0]==="e"&&Gn[1]==="n"&&Gn[2]==="-":!1}n.isDefaultVariant=t;function e(){return Gn==="en"}n.isDefault=e})(y9||={});I9=typeof vs.postMessage=="function"&&!vs.importScripts,dM=(()=>{if(I9){let r=[];vs.addEventListener("message",e=>{if(e.data&&e.data.vscodeScheduleAsyncWork)for(let n=0,o=r.length;n<o;n++){let i=r[n];if(i.id===e.data.vscodeScheduleAsyncWork){r.splice(n,1),i.callback();return}}});let t=0;return e=>{let n=++t;r.push({id:n,callback:e}),vs.postMessage({vscodeScheduleAsyncWork:n},"*")}}return r=>setTimeout(r)})(),or=am||OC?2:sm?1:3,cm=!!(Br&&Br.indexOf("Chrome")>=0),uM=!!(Br&&Br.indexOf("Firefox")>=0),pM=!!(!cm&&Br&&Br.indexOf("Safari")>=0),Yh=!!(Br&&Br.indexOf("Edg/")>=0),UY=!!(Br&&Br.indexOf("Android")>=0),mM=!!(Br&&Br.indexOf("Electron")>=0)});var xl,NC,br,ln,Xh,Zh,Sr=y(()=>{me();NC=globalThis.vscode;if(typeof NC<"u"&&typeof NC.process<"u"){let r=NC.process;xl={get platform(){return r.platform},get arch(){return r.arch},get env(){return r.env},cwd(){return r.cwd()}}}else typeof process<"u"&&typeof process?.versions?.node=="string"?xl={get platform(){return process.platform},get arch(){return process.arch},get env(){return process.env},cwd(){return process.env.VSCODE_CWD||process.cwd()}}:xl={get platform(){return te?"win32":ut?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};br=xl.cwd,ln=xl.env,Xh=xl.platform,Zh=xl.arch});function w9(r,t){if(r===null||typeof r!="object")throw new ev(t,"Object",r)}function En(r,t){if(typeof r!="string")throw new ev(t,"string",r)}function Qe(r){return r===ro||r===rr}function VC(r){return r===ro}function Is(r){return r>=b9&&r<=x9||r>=S9&&r<=C9}function tv(r,t,e,n){let o="",i=0,s=-1,a=0,l=0;for(let c=0;c<=r.length;++c){if(c<r.length)l=r.charCodeAt(c);else{if(n(l))break;l=ro}if(n(l)){if(!(s===c-1||a===1))if(a===2){if(o.length<2||i!==2||o.charCodeAt(o.length-1)!==Cl||o.charCodeAt(o.length-2)!==Cl){if(o.length>2){let u=o.lastIndexOf(e);u===-1?(o="",i=0):(o=o.slice(0,u),i=o.length-1-o.lastIndexOf(e)),s=c,a=0;continue}else if(o.length!==0){o="",i=0,s=c,a=0;continue}}t&&(o+=o.length>0?`${e}..`:"..",i=2)}else o.length>0?o+=`${e}${r.slice(s+1,c)}`:o=r.slice(s+1,c),i=c-s-1;s=c,a=0}else l===Cl&&a!==-1?++a:a=-1}return o}function T9(r){return r?`${r[0]==="."?"":"."}${r}`:""}function gM(r,t){w9(t,"pathObject");let e=t.dir||t.root,n=t.base||`${t.name||""}${T9(t.ext)}`;return e?e===t.root?`${e}${n}`:`${e}${r}${n}`:n}var b9,S9,x9,C9,Cl,ro,rr,ys,E9,ev,ir,cn,R9,He,wn,zo,G,io,bs,At,vt,ui,VY,HY,WY,hn,pa,Ue=y(()=>{Sr();b9=65,S9=97,x9=90,C9=122,Cl=46,ro=47,rr=92,ys=58,E9=63,ev=class extends Error{constructor(t,e,n){let o;typeof e=="string"&&e.indexOf("not ")===0?(o="must not be",e=e.replace(/^not /,"")):o="must be";let i=t.indexOf(".")!==-1?"property":"argument",s=`The "${t}" ${i} ${o} of type ${e}`;s+=`. Received type ${typeof n}`,super(s),this.code="ERR_INVALID_ARG_TYPE"}};ir=Xh==="win32";cn={resolve(...r){let t="",e="",n=!1;for(let o=r.length-1;o>=-1;o--){let i;if(o>=0){if(i=r[o],En(i,`paths[${o}]`),i.length===0)continue}else t.length===0?i=br():(i=ln[`=${t}`]||br(),(i===void 0||i.slice(0,2).toLowerCase()!==t.toLowerCase()&&i.charCodeAt(2)===rr)&&(i=`${t}\\`));let s=i.length,a=0,l="",c=!1,u=i.charCodeAt(0);if(s===1)Qe(u)&&(a=1,c=!0);else if(Qe(u))if(c=!0,Qe(i.charCodeAt(1))){let p=2,m=p;for(;p<s&&!Qe(i.charCodeAt(p));)p++;if(p<s&&p!==m){let g=i.slice(m,p);for(m=p;p<s&&Qe(i.charCodeAt(p));)p++;if(p<s&&p!==m){for(m=p;p<s&&!Qe(i.charCodeAt(p));)p++;(p===s||p!==m)&&(l=`\\\\${g}\\${i.slice(m,p)}`,a=p)}}}else a=1;else Is(u)&&i.charCodeAt(1)===ys&&(l=i.slice(0,2),a=2,s>2&&Qe(i.charCodeAt(2))&&(c=!0,a=3));if(l.length>0)if(t.length>0){if(l.toLowerCase()!==t.toLowerCase())continue}else t=l;if(n){if(t.length>0)break}else if(e=`${i.slice(a)}\\${e}`,n=c,c&&t.length>0)break}return e=tv(e,!n,"\\",Qe),n?`${t}\\${e}`:`${t}${e}`||"."},normalize(r){En(r,"path");let t=r.length;if(t===0)return".";let e=0,n,o=!1,i=r.charCodeAt(0);if(t===1)return VC(i)?"\\":r;if(Qe(i))if(o=!0,Qe(r.charCodeAt(1))){let a=2,l=a;for(;a<t&&!Qe(r.charCodeAt(a));)a++;if(a<t&&a!==l){let c=r.slice(l,a);for(l=a;a<t&&Qe(r.charCodeAt(a));)a++;if(a<t&&a!==l){for(l=a;a<t&&!Qe(r.charCodeAt(a));)a++;if(a===t)return`\\\\${c}\\${r.slice(l)}\\`;a!==l&&(n=`\\\\${c}\\${r.slice(l,a)}`,e=a)}}}else e=1;else Is(i)&&r.charCodeAt(1)===ys&&(n=r.slice(0,2),e=2,t>2&&Qe(r.charCodeAt(2))&&(o=!0,e=3));let s=e<t?tv(r.slice(e),!o,"\\",Qe):"";if(s.length===0&&!o&&(s="."),s.length>0&&Qe(r.charCodeAt(t-1))&&(s+="\\"),!o&&n===void 0&&r.includes(":")){if(s.length>=2&&Is(s.charCodeAt(0))&&s.charCodeAt(1)===ys)return`.\\${s}`;let a=r.indexOf(":");do if(a===t-1||Qe(r.charCodeAt(a+1)))return`.\\${s}`;while((a=r.indexOf(":",a+1))!==-1)}return n===void 0?o?`\\${s}`:s:o?`${n}\\${s}`:`${n}${s}`},isAbsolute(r){En(r,"path");let t=r.length;if(t===0)return!1;let e=r.charCodeAt(0);return Qe(e)||t>2&&Is(e)&&r.charCodeAt(1)===ys&&Qe(r.charCodeAt(2))},join(...r){if(r.length===0)return".";let t,e;for(let i=0;i<r.length;++i){let s=r[i];En(s,"path"),s.length>0&&(t===void 0?t=e=s:t+=`\\${s}`)}if(t===void 0)return".";let n=!0,o=0;if(typeof e=="string"&&Qe(e.charCodeAt(0))){++o;let i=e.length;i>1&&Qe(e.charCodeAt(1))&&(++o,i>2&&(Qe(e.charCodeAt(2))?++o:n=!1))}if(n){for(;o<t.length&&Qe(t.charCodeAt(o));)o++;o>=2&&(t=`\\${t.slice(o)}`)}return cn.normalize(t)},relative(r,t){if(En(r,"from"),En(t,"to"),r===t)return"";let e=cn.resolve(r),n=cn.resolve(t);if(e===n||(r=e.toLowerCase(),t=n.toLowerCase(),r===t))return"";if(e.length!==r.length||n.length!==t.length){let h=e.split("\\"),v=n.split("\\");h[h.length-1]===""&&h.pop(),v[v.length-1]===""&&v.pop();let S=h.length,T=v.length,E=S<T?S:T,k;for(k=0;k<E&&h[k].toLowerCase()===v[k].toLowerCase();k++);return k===0?n:k===E?T>E?v.slice(k).join("\\"):S>E?"..\\".repeat(S-1-k)+"..":"":"..\\".repeat(S-k)+v.slice(k).join("\\")}let o=0;for(;o<r.length&&r.charCodeAt(o)===rr;)o++;let i=r.length;for(;i-1>o&&r.charCodeAt(i-1)===rr;)i--;let s=i-o,a=0;for(;a<t.length&&t.charCodeAt(a)===rr;)a++;let l=t.length;for(;l-1>a&&t.charCodeAt(l-1)===rr;)l--;let c=l-a,u=s<c?s:c,p=-1,m=0;for(;m<u;m++){let h=r.charCodeAt(o+m);if(h!==t.charCodeAt(a+m))break;h===rr&&(p=m)}if(m!==u){if(p===-1)return n}else{if(c>u){if(t.charCodeAt(a+m)===rr)return n.slice(a+m+1);if(m===2)return n.slice(a+m)}s>u&&(r.charCodeAt(o+m)===rr?p=m:m===2&&(p=3)),p===-1&&(p=0)}let g="";for(m=o+p+1;m<=i;++m)(m===i||r.charCodeAt(m)===rr)&&(g+=g.length===0?"..":"\\..");return a+=p,g.length>0?`${g}${n.slice(a,l)}`:(n.charCodeAt(a)===rr&&++a,n.slice(a,l))},toNamespacedPath(r){if(typeof r!="string"||r.length===0)return r;let t=cn.resolve(r);if(t.length<=2)return r;if(t.charCodeAt(0)===rr){if(t.charCodeAt(1)===rr){let e=t.charCodeAt(2);if(e!==E9&&e!==Cl)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(Is(t.charCodeAt(0))&&t.charCodeAt(1)===ys&&t.charCodeAt(2)===rr)return`\\\\?\\${t}`;return t},dirname(r){En(r,"path");let t=r.length;if(t===0)return".";let e=-1,n=0,o=r.charCodeAt(0);if(t===1)return Qe(o)?r:".";if(Qe(o)){if(e=n=1,Qe(r.charCodeAt(1))){let a=2,l=a;for(;a<t&&!Qe(r.charCodeAt(a));)a++;if(a<t&&a!==l){for(l=a;a<t&&Qe(r.charCodeAt(a));)a++;if(a<t&&a!==l){for(l=a;a<t&&!Qe(r.charCodeAt(a));)a++;if(a===t)return r;a!==l&&(e=n=a+1)}}}}else Is(o)&&r.charCodeAt(1)===ys&&(e=t>2&&Qe(r.charCodeAt(2))?3:2,n=e);let i=-1,s=!0;for(let a=t-1;a>=n;--a)if(Qe(r.charCodeAt(a))){if(!s){i=a;break}}else s=!1;if(i===-1){if(e===-1)return".";i=e}return r.slice(0,i)},basename(r,t){t!==void 0&&En(t,"suffix"),En(r,"path");let e=0,n=-1,o=!0,i;if(r.length>=2&&Is(r.charCodeAt(0))&&r.charCodeAt(1)===ys&&(e=2),t!==void 0&&t.length>0&&t.length<=r.length){if(t===r)return"";let s=t.length-1,a=-1;for(i=r.length-1;i>=e;--i){let l=r.charCodeAt(i);if(Qe(l)){if(!o){e=i+1;break}}else a===-1&&(o=!1,a=i+1),s>=0&&(l===t.charCodeAt(s)?--s===-1&&(n=i):(s=-1,n=a))}return e===n?n=a:n===-1&&(n=r.length),r.slice(e,n)}for(i=r.length-1;i>=e;--i)if(Qe(r.charCodeAt(i))){if(!o){e=i+1;break}}else n===-1&&(o=!1,n=i+1);return n===-1?"":r.slice(e,n)},extname(r){En(r,"path");let t=0,e=-1,n=0,o=-1,i=!0,s=0;r.length>=2&&r.charCodeAt(1)===ys&&Is(r.charCodeAt(0))&&(t=n=2);for(let a=r.length-1;a>=t;--a){let l=r.charCodeAt(a);if(Qe(l)){if(!i){n=a+1;break}continue}o===-1&&(i=!1,o=a+1),l===Cl?e===-1?e=a:s!==1&&(s=1):e!==-1&&(s=-1)}return e===-1||o===-1||s===0||s===1&&e===o-1&&e===n+1?"":r.slice(e,o)},format:gM.bind(null,"\\"),parse(r){En(r,"path");let t={root:"",dir:"",base:"",ext:"",name:""};if(r.length===0)return t;let e=r.length,n=0,o=r.charCodeAt(0);if(e===1)return Qe(o)?(t.root=t.dir=r,t):(t.base=t.name=r,t);if(Qe(o)){if(n=1,Qe(r.charCodeAt(1))){let p=2,m=p;for(;p<e&&!Qe(r.charCodeAt(p));)p++;if(p<e&&p!==m){for(m=p;p<e&&Qe(r.charCodeAt(p));)p++;if(p<e&&p!==m){for(m=p;p<e&&!Qe(r.charCodeAt(p));)p++;p===e?n=p:p!==m&&(n=p+1)}}}}else if(Is(o)&&r.charCodeAt(1)===ys){if(e<=2)return t.root=t.dir=r,t;if(n=2,Qe(r.charCodeAt(2))){if(e===3)return t.root=t.dir=r,t;n=3}}n>0&&(t.root=r.slice(0,n));let i=-1,s=n,a=-1,l=!0,c=r.length-1,u=0;for(;c>=n;--c){if(o=r.charCodeAt(c),Qe(o)){if(!l){s=c+1;break}continue}a===-1&&(l=!1,a=c+1),o===Cl?i===-1?i=c:u!==1&&(u=1):i!==-1&&(u=-1)}return a!==-1&&(i===-1||u===0||u===1&&i===a-1&&i===s+1?t.base=t.name=r.slice(s,a):(t.name=r.slice(s,i),t.base=r.slice(s,a),t.ext=r.slice(i,a))),s>0&&s!==n?t.dir=r.slice(0,s-1):t.dir=t.root,t},sep:"\\",delimiter:";",win32:null,posix:null},R9=(()=>{if(ir){let r=/\\/g;return()=>{let t=br().replace(r,"/");return t.slice(t.indexOf("/"))}}return()=>br()})(),He={resolve(...r){let t="",e=!1;for(let n=r.length-1;n>=0&&!e;n--){let o=r[n];En(o,`paths[${n}]`),o.length!==0&&(t=`${o}/${t}`,e=o.charCodeAt(0)===ro)}if(!e){let n=R9();t=`${n}/${t}`,e=n.charCodeAt(0)===ro}return t=tv(t,!e,"/",VC),e?`/${t}`:t.length>0?t:"."},normalize(r){if(En(r,"path"),r.length===0)return".";let t=r.charCodeAt(0)===ro,e=r.charCodeAt(r.length-1)===ro;return r=tv(r,!t,"/",VC),r.length===0?t?"/":e?"./":".":(e&&(r+="/"),t?`/${r}`:r)},isAbsolute(r){return En(r,"path"),r.length>0&&r.charCodeAt(0)===ro},join(...r){if(r.length===0)return".";let t=[];for(let e=0;e<r.length;++e){let n=r[e];En(n,"path"),n.length>0&&t.push(n)}return t.length===0?".":He.normalize(t.join("/"))},relative(r,t){if(En(r,"from"),En(t,"to"),r===t||(r=He.resolve(r),t=He.resolve(t),r===t))return"";let e=1,n=r.length,o=n-e,i=1,s=t.length-i,a=o<s?o:s,l=-1,c=0;for(;c<a;c++){let p=r.charCodeAt(e+c);if(p!==t.charCodeAt(i+c))break;p===ro&&(l=c)}if(c===a)if(s>a){if(t.charCodeAt(i+c)===ro)return t.slice(i+c+1);if(c===0)return t.slice(i+c)}else o>a&&(r.charCodeAt(e+c)===ro?l=c:c===0&&(l=0));let u="";for(c=e+l+1;c<=n;++c)(c===n||r.charCodeAt(c)===ro)&&(u+=u.length===0?"..":"/..");return`${u}${t.slice(i+l)}`},toNamespacedPath(r){return r},dirname(r){if(En(r,"path"),r.length===0)return".";let t=r.charCodeAt(0)===ro,e=-1,n=!0;for(let o=r.length-1;o>=1;--o)if(r.charCodeAt(o)===ro){if(!n){e=o;break}}else n=!1;return e===-1?t?"/":".":t&&e===1?"//":r.slice(0,e)},basename(r,t){t!==void 0&&En(t,"suffix"),En(r,"path");let e=0,n=-1,o=!0,i;if(t!==void 0&&t.length>0&&t.length<=r.length){if(t===r)return"";let s=t.length-1,a=-1;for(i=r.length-1;i>=0;--i){let l=r.charCodeAt(i);if(l===ro){if(!o){e=i+1;break}}else a===-1&&(o=!1,a=i+1),s>=0&&(l===t.charCodeAt(s)?--s===-1&&(n=i):(s=-1,n=a))}return e===n?n=a:n===-1&&(n=r.length),r.slice(e,n)}for(i=r.length-1;i>=0;--i)if(r.charCodeAt(i)===ro){if(!o){e=i+1;break}}else n===-1&&(o=!1,n=i+1);return n===-1?"":r.slice(e,n)},extname(r){En(r,"path");let t=-1,e=0,n=-1,o=!0,i=0;for(let s=r.length-1;s>=0;--s){let a=r[s];if(a==="/"){if(!o){e=s+1;break}continue}n===-1&&(o=!1,n=s+1),a==="."?t===-1?t=s:i!==1&&(i=1):t!==-1&&(i=-1)}return t===-1||n===-1||i===0||i===1&&t===n-1&&t===e+1?"":r.slice(t,n)},format:gM.bind(null,"/"),parse(r){En(r,"path");let t={root:"",dir:"",base:"",ext:"",name:""};if(r.length===0)return t;let e=r.charCodeAt(0)===ro,n;e?(t.root="/",n=1):n=0;let o=-1,i=0,s=-1,a=!0,l=r.length-1,c=0;for(;l>=n;--l){let u=r.charCodeAt(l);if(u===ro){if(!a){i=l+1;break}continue}s===-1&&(a=!1,s=l+1),u===Cl?o===-1?o=l:c!==1&&(c=1):o!==-1&&(c=-1)}if(s!==-1){let u=i===0&&e?1:i;o===-1||c===0||c===1&&o===s-1&&o===i+1?t.base=t.name=r.slice(u,s):(t.name=r.slice(u,o),t.base=r.slice(u,s),t.ext=r.slice(o,s))}return i>0?t.dir=r.slice(0,i-1):e&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};He.win32=cn.win32=cn;He.posix=cn.posix=He;wn=ir?cn.normalize:He.normalize,zo=ir?cn.isAbsolute:He.isAbsolute,G=ir?cn.join:He.join,io=ir?cn.resolve:He.resolve,bs=ir?cn.relative:He.relative,At=ir?cn.dirname:He.dirname,vt=ir?cn.basename:He.basename,ui=ir?cn.extname:He.extname,VY=ir?cn.format:He.format,HY=ir?cn.parse:He.parse,WY=ir?cn.toNamespacedPath:He.toNamespacedPath,hn=ir?cn.sep:He.sep,pa=ir?cn.delimiter:He.delimiter});function yM(r,t){let e=Object.create(null);for(let n of r){let o=t(n),i=e[o];i||(i=e[o]=[]),i.push(n)}return e}var hM,vM,fM,HC=y(()=>{fM=class{constructor(t,e){this.toKey=e;this._map=new Map;this[hM]="SetWithKey";for(let n of t)this.add(n)}get size(){return this._map.size}add(t){let e=this.toKey(t);return this._map.set(e,t),this}delete(t){return this._map.delete(this.toKey(t))}has(t){return this._map.has(this.toKey(t))}*entries(){for(let t of this._map.values())yield[t,t]}keys(){return this.values()}*values(){for(let t of this._map.values())yield t}clear(){this._map.clear()}forEach(t,e){this._map.forEach(n=>t.call(e,n,n,this))}[(vM=Symbol.iterator,hM=Symbol.toStringTag,vM)](){return this.values()}}});function rv(r){Jc.setUnexpectedErrorHandler(r)}function iv(r){if(!r||typeof r!="object")return!1;let t=r;return t.code==="EPIPE"&&t.syscall?.toUpperCase()==="WRITE"}function ma(r){Jc.onUnexpectedError(r)}function tt(r){mn(r)||Jc.onUnexpectedError(r)}function IM(r){mn(r)||Jc.onUnexpectedExternalError(r)}function mn(r){return r instanceof et?!0:r instanceof Error&&r.name===nv&&r.message===nv}function dm(){let r=new Error(nv);return r.name=r.message,r}function nt(r){return r?new Error(`Illegal argument: ${r}`):new Error("Illegal argument")}function sv(r){return r?new Error(`Illegal state: ${r}`):new Error("Illegal state")}function he(r){return r?r.message?r.message:r.stack?r.stack.split(`
`)[0]:String(r):"Error"}var WC,Jc,nv,et,ov,Kn,wt,Se=y(()=>{WC=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?Kn.isErrorNoTelemetry(t)?new Kn(t.message+`

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

`+t.stack):t},0)}}addListener(t){return this.listeners.push(t),()=>{this._removeListener(t)}}emit(t){this.listeners.forEach(e=>{e(t)})}_removeListener(t){this.listeners.splice(this.listeners.indexOf(t),1)}setUnexpectedErrorHandler(t){this.unexpectedErrorHandler=t}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}},Jc=new WC;nv="Canceled";et=class extends Error{constructor(){super(nv),this.name=this.message}},ov=class r extends Error{static{this._name="PendingMigrationError"}static is(t){return t instanceof r||t instanceof Error&&t.name===r._name}constructor(t){super(t),this.name=r._name}};Kn=class r extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof r)return t;let e=new r;return e.message=t.message,e.stack=t.stack,e}static isErrorNoTelemetry(t){return t.name==="CodeExpectedError"}},wt=class r extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,r.prototype)}}});function El(r,t){let e=this,n=!1,o;return function(){if(n)return o;if(n=!0,t)try{o=r.apply(e,arguments)}finally{t()}else o=r.apply(e,arguments);return o}}var um=y(()=>{});function xM(r,t,e=r.length-1){let n=P9(r,t,e);if(n!==-1)return r[n]}function P9(r,t,e=r.length-1){for(let n=e;n>=0;n--){let o=r[n];if(t(o,n))return n}return-1}function k9(r,t,e=0,n=r.length){let o=e,i=n;for(;o<i;){let s=Math.floor((o+i)/2);t(r[s])?o=s+1:i=s}return o-1}var SM,BC=y(()=>{SM=class r{constructor(t){this._array=t;this._findLastMonotonousLastIdx=0}static{this.assertInvariants=!1}findLastMonotonous(t){if(r.assertInvariants){if(this._prevFindLastPredicate){for(let n of this._array)if(this._prevFindLastPredicate(n)&&!t(n))throw new Error("MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.")}this._prevFindLastPredicate=t}let e=k9(this._array,t,this._findLastMonotonousLastIdx);return this._findLastMonotonousLastIdx=e+1,e===-1?void 0:this._array[e]}}});function vn(r,t,e=(n,o)=>n===o){if(r===t)return!0;if(!r||!t||r.length!==t.length)return!1;for(let n=0,o=r.length;n<o;n++)if(!e(r[n],t[n]))return!1;return!0}function EM(r,t,e){return D9(r.length,n=>e(r[n],t))}function D9(r,t){let e=0,n=r-1;for(;e<=n;){let o=(e+n)/2|0,i=t(o);if(i<0)e=o+1;else if(i>0)n=o-1;else return o}return-(e+1)}function av(r,t,e){if(r=r|0,r>=t.length)throw new TypeError("invalid index");let n=t[Math.floor(t.length*Math.random())],o=[],i=[],s=[];for(let a of t){let l=e(a,n);l<0?o.push(a):l>0?i.push(a):s.push(a)}return r<o.length?av(r,o,e):r<o.length+s.length?s[0]:av(r-(o.length+s.length),i,e)}function Go(r){return r.filter(t=>!!t)}function wM(r){let t=0;for(let e=0;e<r.length;e++)r[e]&&(r[t]=r[e],t+=1);r.length=t}function wl(r){return Array.isArray(r)&&r.length>0}function jn(r,t=e=>e){let e=new Set;return r.filter(n=>{let o=t(n);return e.has(o)?!1:(e.add(o),!0)})}function $C(r,t){return r.push(t),()=>_9(r,t)}function _9(r,t){let e=r.indexOf(t);if(e>-1)return r.splice(e,1),t}function qC(r,t){let e;if(typeof t=="number"){let n=t;e=()=>{let o=Math.sin(n++)*179426549;return o-Math.floor(o)}}else e=Math.random;for(let n=r.length-1;n>0;n-=1){let o=Math.floor(e()*(n+1)),i=r[n];r[n]=r[o],r[o]=i}}function Yc(r){return Array.isArray(r)?r:[r]}function TM(r){return r[Math.floor(Math.random()*r.length)]}function PM(r,t){return(e,n)=>t(r(e),r(n))}var RM,kM,CM,Lt=y(()=>{BC();Se();(a=>{function r(l){return l<0}a.isLessThan=r;function t(l){return l<=0}a.isLessThanOrEqual=t;function e(l){return l>0}a.isGreaterThan=e;function n(l){return l===0}a.isNeitherLessOrGreaterThan=n,a.greaterThan=1,a.lessThan=-1,a.neitherLessOrGreaterThan=0})(RM||={});kM=(r,t)=>r-t,CM=class r{constructor(t){this.iterate=t}static{this.empty=new r(t=>{})}forEach(t){this.iterate(e=>(t(e),!0))}toArray(){let t=[];return this.iterate(e=>(t.push(e),!0)),t}filter(t){return new r(e=>this.iterate(n=>t(n)?e(n):!0))}map(t){return new r(e=>this.iterate(n=>e(t(n))))}some(t){let e=!1;return this.iterate(n=>(e=t(n),!e)),e}findFirst(t){let e;return this.iterate(n=>t(n)?(e=n,!1):!0),e}findLast(t){let e;return this.iterate(n=>(t(n)&&(e=n),!0)),e}findLastMaxBy(t){let e,n=!0;return this.iterate(o=>((n||RM.isGreaterThan(t(o,e)))&&(n=!1,e=o),!0)),e}}});function M9(r){return Array.isArray(r)}var zC,DM,Xe,_M,Ss,MM,GC,KC,Li,cv,_n=y(()=>{zC=class{constructor(t,e){this.uri=t;this.value=e}};Xe=class r{constructor(t,e){this[DM]="ResourceMap";if(t instanceof r)this.map=new Map(t.map),this.toKey=e??r.defaultToKey;else if(M9(t)){this.map=new Map,this.toKey=e??r.defaultToKey;for(let[n,o]of t)this.set(n,o)}else this.map=new Map,this.toKey=t??r.defaultToKey}static{this.defaultToKey=t=>t.toString()}set(t,e){return this.map.set(this.toKey(t),new zC(t,e)),this}get(t){return this.map.get(this.toKey(t))?.value}has(t){return this.map.has(this.toKey(t))}get size(){return this.map.size}clear(){this.map.clear()}delete(t){return this.map.delete(this.toKey(t))}forEach(t,e){typeof e<"u"&&(t=t.bind(e));for(let[n,o]of this.map)t(o.value,o.uri,this)}*values(){for(let t of this.map.values())yield t.value}*keys(){for(let t of this.map.values())yield t.uri}*entries(){for(let t of this.map.values())yield[t.uri,t.value]}*[(DM=Symbol.toStringTag,Symbol.iterator)](){for(let[,t]of this.map)yield[t.uri,t.value]}},Ss=class{constructor(t,e){this[_M]="ResourceSet";!t||typeof t=="function"?this._map=new Xe(t):(this._map=new Xe(e),t.forEach(this.add,this))}get size(){return this._map.size}add(t){return this._map.set(t,t),this}clear(){this._map.clear()}delete(t){return this._map.delete(t)}forEach(t,e){this._map.forEach((n,o)=>t.call(e,o,o,this))}has(t){return this._map.has(t)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(_M=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}},GC=class{constructor(){this[MM]="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(t){return this._map.has(t)}get(t,e=0){let n=this._map.get(t);if(n)return e!==0&&this.touch(n,e),n.value}set(t,e,n=0){let o=this._map.get(t);if(o)o.value=e,n!==0&&this.touch(o,n);else{switch(o={key:t,value:e,next:void 0,previous:void 0},n){case 0:this.addItemLast(o);break;case 1:this.addItemFirst(o);break;case 2:this.addItemLast(o);break;default:this.addItemLast(o);break}this._map.set(t,o),this._size++}return this}delete(t){return!!this.remove(t)}remove(t){let e=this._map.get(t);if(e)return this._map.delete(t),this.removeItem(e),this._size--,e.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");let t=this._head;return this._map.delete(t.key),this.removeItem(t),this._size--,t.value}forEach(t,e){let n=this._state,o=this._head;for(;o;){if(e?t.bind(e)(o.value,o.key,this):t(o.value,o.key,this),this._state!==n)throw new Error("LinkedMap got modified during iteration.");o=o.next}}keys(){let t=this,e=this._state,n=this._head,o={[Symbol.iterator](){return o},[Symbol.dispose](){},next(){if(t._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:n.key,done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return o}values(){let t=this,e=this._state,n=this._head,o={[Symbol.iterator](){return o},[Symbol.dispose](){},next(){if(t._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:n.value,done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return o}entries(){let t=this,e=this._state,n=this._head,o={[Symbol.iterator](){return o},[Symbol.dispose](){},next(){if(t._state!==e)throw new Error("LinkedMap got modified during iteration.");if(n){let i={value:[n.key,n.value],done:!1};return n=n.next,i}else return{value:void 0,done:!0}}};return o}[(MM=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(t){if(t>=this.size)return;if(t===0){this.clear();return}let e=this._head,n=this.size;for(;e&&n>t;)this._map.delete(e.key),e=e.next,n--;this._head=e,this._size=n,e&&(e.previous=void 0),this._state++}trimNew(t){if(t>=this.size)return;if(t===0){this.clear();return}let e=this._tail,n=this.size;for(;e&&n>t;)this._map.delete(e.key),e=e.previous,n--;this._tail=e,this._size=n,e&&(e.next=void 0),this._state++}addItemFirst(t){if(!this._head&&!this._tail)this._tail=t;else if(this._head)t.next=this._head,this._head.previous=t;else throw new Error("Invalid list");this._head=t,this._state++}addItemLast(t){if(!this._head&&!this._tail)this._head=t;else if(this._tail)t.previous=this._tail,this._tail.next=t;else throw new Error("Invalid list");this._tail=t,this._state++}removeItem(t){if(t===this._head&&t===this._tail)this._head=void 0,this._tail=void 0;else if(t===this._head){if(!t.next)throw new Error("Invalid list");t.next.previous=void 0,this._head=t.next}else if(t===this._tail){if(!t.previous)throw new Error("Invalid list");t.previous.next=void 0,this._tail=t.previous}else{let e=t.next,n=t.previous;if(!e||!n)throw new Error("Invalid list");e.previous=n,n.next=e}t.next=void 0,t.previous=void 0,this._state++}touch(t,e){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(e!==1&&e!==2)){if(e===1){if(t===this._head)return;let n=t.next,o=t.previous;t===this._tail?(o.next=void 0,this._tail=o):(n.previous=o,o.next=n),t.previous=void 0,t.next=this._head,this._head.previous=t,this._head=t,this._state++}else if(e===2){if(t===this._tail)return;let n=t.next,o=t.previous;t===this._head?(n.previous=void 0,this._head=n):(n.previous=o,o.next=n),t.next=void 0,t.previous=this._tail,this._tail.next=t,this._tail=t,this._state++}}}toJSON(){let t=[];return this.forEach((e,n)=>{t.push([n,e])}),t}fromJSON(t){this.clear();for(let[e,n]of t)this.set(e,n)}},KC=class extends GC{constructor(t,e=1){super(),this._limit=t,this._ratio=Math.min(Math.max(0,e),1)}get limit(){return this._limit}set limit(t){this._limit=t,this.checkTrim()}get ratio(){return this._ratio}set ratio(t){this._ratio=Math.min(Math.max(0,t),1),this.checkTrim()}get(t,e=2){return super.get(t,e)}peek(t){return super.get(t,0)}set(t,e){return super.set(t,e,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}},Li=class extends KC{constructor(t,e=1){super(t,e)}trim(t){this.trimOld(t)}set(t,e){return super.set(t,e),this.checkTrim(),this}},cv=class{constructor(){this.map=new Map}add(t,e){let n=this.map.get(t);n||(n=new Set,this.map.set(t,n)),n.add(e)}delete(t,e){let n=this.map.get(t);n&&(n.delete(e),n.size===0&&this.map.delete(t))}forEach(t,e){let n=this.map.get(t);n&&n.forEach(e)}get(t){let e=this.map.get(t);return e||new Set}}});function dv(r,t){if(!r)throw new Error(t?`Assertion failed (${t})`:"Assertion Failed")}function Tl(r,t="Unreachable"){throw new Error(t)}function Rl(r,t="unexpected state"){if(!r)throw typeof t=="string"?new wt(`Assertion Failed: ${t}`):t}function pm(r){if(!r()){debugger;r(),tt(new wt("Assertion Failed"))}}var qr=y(()=>{Se()});function Z(r){return typeof r=="string"}function Ae(r){return typeof r=="object"&&r!==null&&!Array.isArray(r)&&!(r instanceof RegExp)&&!(r instanceof Date)}function AM(r){let t=Object.getPrototypeOf(Uint8Array);return typeof r=="object"&&r instanceof t}function fo(r){return typeof r=="number"&&!isNaN(r)}function LM(r){return!!r&&typeof r[Symbol.iterator]=="function"}function sr(r){return r===!0||r===!1}function Mn(r){return typeof r>"u"}function zr(r){return!Wt(r)}function Wt(r){return Mn(r)||r===null}function mm(r){return Rl(r!=null,"Argument is `undefined` or `null`."),r}function ga(r){if(!Ae(r))return!1;for(let t in r)if(L9.call(r,t))return!1;return!0}function Xc(r){return typeof r=="function"}function OM(r,t){if(Z(t)){if(typeof r!==t)throw new Error(`argument does not match constraint: typeof ${t}`)}else if(Xc(t)){try{if(r instanceof t)return}catch{}if(!Wt(r)&&r.constructor===t||t.length===1&&t.call(void 0,r)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function An(r,t){for(let e in t)if(!(e in r))return!1;return!0}var L9,Ee=y(()=>{qr();L9=Object.prototype.hasOwnProperty});var Gt,Gr=y(()=>{Ee();(xe=>{function r(V){return!!V&&typeof V=="object"&&typeof V[Symbol.iterator]=="function"}xe.is=r;let t=Object.freeze([]);function e(){return t}xe.empty=e;function*n(V){yield V}xe.single=n;function o(V){return r(V)?V:n(V)}xe.wrap=o;function i(V){return V??t}xe.from=i;function*s(V){for(let ae=V.length-1;ae>=0;ae--)yield V[ae]}xe.reverse=s;function a(V){return!V||V[Symbol.iterator]().next().done===!0}xe.isEmpty=a;function l(V){return V[Symbol.iterator]().next().value}xe.first=l;function c(V,ae){let j=0;for(let z of V)if(ae(z,j++))return!0;return!1}xe.some=c;function u(V,ae){let j=0;for(let z of V)if(!ae(z,j++))return!1;return!0}xe.every=u;function p(V,ae){for(let j of V)if(ae(j))return j}xe.find=p;function*m(V,ae){for(let j of V)ae(j)&&(yield j)}xe.filter=m;function*g(V,ae){let j=0;for(let z of V)yield ae(z,j++)}xe.map=g;function*h(V,ae){let j=0;for(let z of V)yield*ae(z,j++)}xe.flatMap=h;function*v(...V){for(let ae of V)LM(ae)?yield*ae:yield ae}xe.concat=v;function S(V,ae,j){let z=j;for(let ee of V)z=ae(z,ee);return z}xe.reduce=S;function T(V){let ae=0;for(let j of V)ae++;return ae}xe.length=T;function*E(V,ae,j=V.length){for(ae<-V.length&&(ae=0),ae<0&&(ae+=V.length),j<0?j+=V.length:j>V.length&&(j=V.length);ae<j;ae++)yield V[ae]}xe.slice=E;function k(V,ae=Number.POSITIVE_INFINITY){let j=[];if(ae===0)return[j,V];let z=V[Symbol.iterator]();for(let ee=0;ee<ae;ee++){let Ce=z.next();if(Ce.done)return[j,xe.empty()];j.push(Ce.value)}return[j,{[Symbol.iterator](){return z}}]}xe.consume=k;async function P(V){let ae=[];for await(let j of V)ae.push(j);return ae}xe.asyncToArray=P;async function U(V){let ae=[];for await(let j of V)ae=ae.concat(j);return ae}xe.asyncToArrayFlat=U})(Gt||={})});function U9(r){Zc=r}function fa(r){return Zc?.trackDisposable(r),r}function ha(r){Zc?.markAsDisposed(r)}function kl(r,t){Zc?.setParent(r,t)}function N9(r,t){if(Zc)for(let e of r)Zc.setParent(e,t)}function uv(r){return typeof r=="object"&&r!==null&&typeof r.dispose=="function"&&r.dispose.length===0}function Kt(r){if(Gt.is(r)){let t=[];for(let e of r)if(e)try{e.dispose()}catch(n){t.push(n)}if(t.length===1)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(r)?[]:r}else if(r)return r.dispose(),r}function pv(...r){let t=oe(()=>Kt(r));return N9(r,t),t}function oe(r){return new jC(r)}function QC(r,t){return r.then(e=>(t.isDisposed?e.dispose():t.add(e),e))}var O9,Zc,UM,jC,re,_,so,ar,Q=y(()=>{Lt();HC();_n();um();Gr();Se();O9=!1,Zc=null,UM=class r{constructor(){this.livingDisposables=new Map}static{this.idx=0}getDisposableData(t){let e=this.livingDisposables.get(t);return e||(e={parent:null,source:null,isSingleton:!1,value:t,idx:r.idx++},this.livingDisposables.set(t,e)),e}trackDisposable(t){let e=this.getDisposableData(t);e.source||(e.source=new Error().stack)}setParent(t,e){let n=this.getDisposableData(t);n.parent=e}markAsDisposed(t){this.livingDisposables.delete(t)}markAsSingleton(t){this.getDisposableData(t).isSingleton=!0}getRootParent(t,e){let n=e.get(t);if(n)return n;let o=t.parent?this.getRootParent(this.getDisposableData(t.parent),e):t;return e.set(t,o),o}getTrackedDisposables(){let t=new Map;return[...this.livingDisposables.entries()].filter(([,n])=>n.source!==null&&!this.getRootParent(n,t).isSingleton).flatMap(([n])=>n)}computeLeakingDisposables(t=10,e){let n;if(e)n=e;else{let l=new Map,c=[...this.livingDisposables.values()].filter(p=>p.source!==null&&!this.getRootParent(p,l).isSingleton);if(c.length===0)return;let u=new Set(c.map(p=>p.value));if(n=c.filter(p=>!(p.parent&&u.has(p.parent))),n.length===0)throw new Error("There are cyclic diposable chains!")}if(!n)return;function o(l){function c(p,m){for(;p.length>0&&m.some(g=>typeof g=="string"?g===p[0]:p[0].match(g));)p.shift()}let u=l.source.split(`
`).map(p=>p.trim().replace("at ","")).filter(p=>p!=="");return c(u,["Error",/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),u.reverse()}let i=new cv;for(let l of n){let c=o(l);for(let u=0;u<=c.length;u++)i.add(c.slice(0,u).join(`
`),l)}n.sort(PM(l=>l.idx,kM));let s="",a=0;for(let l of n.slice(0,t)){a++;let c=o(l),u=[];for(let p=0;p<c.length;p++){let m=c[p];m=`(shared with ${i.get(c.slice(0,p+1).join(`
`)).size}/${n.length} leaks) at ${m}`;let h=i.get(c.slice(0,p).join(`
`)),v=yM([...h].map(S=>o(S)[p]),S=>S);delete v[c[p]];for(let[S,T]of Object.entries(v))T&&u.unshift(`    - stacktraces of ${T.length} other leaks continue with ${S}`);u.unshift(m)}s+=`


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

`}return n.length>t&&(s+=`


... and ${n.length-t} more leaking disposables

`),{leaks:n,details:s}}};if(O9){let r="__is_disposable_tracked__";U9(new class{trackDisposable(t){let e=new Error("Potentially leaked disposable").stack;setTimeout(()=>{t[r]||console.log(e)},3e3)}setParent(t,e){if(t&&t!==_.None)try{t[r]=!0}catch{}}markAsDisposed(t){if(t&&t!==_.None)try{t[r]=!0}catch{}}markAsSingleton(t){}})}jC=class{constructor(t){this._isDisposed=!1,this._fn=t,fa(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,ha(this),this._fn()}}};re=class r{constructor(){this._toDispose=new Set;this._isDisposed=!1;fa(this)}static{this.DISABLE_DISPOSED_WARNING=!1}dispose(){this._isDisposed||(ha(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Kt(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t||t===_.None)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return kl(t,this),this._isDisposed?r.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.delete(t)&&kl(t,null)}assertNotDisposed(){this._isDisposed&&tt(new wt("Object disposed"))}},_=class{constructor(){this._store=new re;fa(this),kl(this._store,this)}static{this.None=Object.freeze({dispose(){}})}dispose(){ha(this),this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}},so=class{constructor(){this._isDisposed=!1;fa(this)}get value(){return this._isDisposed?void 0:this._value}set value(t){this._isDisposed||t===this._value||(this._value?.dispose(),t&&kl(t,this),this._value=t)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,ha(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let t=this._value;return this._value=void 0,t&&kl(t,null),t}},ar=class{constructor(t=new Map){this._isDisposed=!1;this._store=t,fa(this)}dispose(){ha(this),this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{Kt(this._store.values())}finally{this._store.clear()}}has(t){return this._store.has(t)}get size(){return this._store.size}get(t){return this._store.get(t)}set(t,e,n=!1){this._isDisposed&&console.warn(new Error("Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!").stack),n||this._store.get(t)?.dispose(),this._store.set(t,e),kl(e,this)}deleteAndDispose(t){this._store.get(t)?.dispose(),this._store.delete(t)}deleteAndLeak(t){let e=this._store.get(t);return e&&kl(e,null),this._store.delete(t),e}keys(){return this._store.keys()}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}}});var Zt,va,mv=y(()=>{Zt=class r{static{this.Undefined=new r(void 0)}constructor(t){this.element=t,this.next=r.Undefined,this.prev=r.Undefined}},va=class{constructor(){this._first=Zt.Undefined;this._last=Zt.Undefined;this._size=0}get size(){return this._size}isEmpty(){return this._first===Zt.Undefined}clear(){let t=this._first;for(;t!==Zt.Undefined;){let e=t.next;t.prev=Zt.Undefined,t.next=Zt.Undefined,t=e}this._first=Zt.Undefined,this._last=Zt.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){let n=new Zt(t);if(this._first===Zt.Undefined)this._first=n,this._last=n;else if(e){let i=this._last;this._last=n,n.prev=i,i.next=n}else{let i=this._first;this._first=n,n.next=i,i.prev=n}this._size+=1;let o=!1;return()=>{o||(o=!0,this._remove(n))}}shift(){if(this._first!==Zt.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==Zt.Undefined){let t=this._last.element;return this._remove(this._last),t}}peek(){if(this._last!==Zt.Undefined)return this._last.element}_remove(t){if(t.prev!==Zt.Undefined&&t.next!==Zt.Undefined){let e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===Zt.Undefined&&t.next===Zt.Undefined?(this._first=Zt.Undefined,this._last=Zt.Undefined):t.next===Zt.Undefined?(this._last=this._last.prev,this._last.next=Zt.Undefined):t.prev===Zt.Undefined&&(this._first=this._first.next,this._first.prev=Zt.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==Zt.Undefined;)yield t.element,t=t.next}}});var F9,ho,ya=y(()=>{F9=globalThis.performance.now.bind(globalThis.performance),ho=class r{static create(t){return new r(t)}constructor(t){this._now=t===!1?Date.now:F9,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}}});function VM(){return!!ln.VSCODE_DEV}function BM(){return(W9++).toString(16).padStart(3,"0")}function eE(r,t){t instanceof re?t.add(r):Array.isArray(t)&&t.push(r)}function WM(r,t){if(t instanceof re)t.delete(r);else if(Array.isArray(t)){let e=t.indexOf(r);e!==-1&&t.splice(e,1)}r.dispose()}var NM,V9,H9,FM,W,JC,HM,W9,YC,td,nd,XC,B9,ed,$9,q9,w,ZC,Dl,gv,gm,de=y(()=>{HC();Se();um();Q();mv();Sr();ya();NM=!1,V9=!1,H9=100,FM=6e4;(Xt=>{Xt.None=()=>_.None;function t(ce){if(V9){let{onDidAddListener:N}=ce,H=td.create(),B=0;ce.onDidAddListener=()=>{++B===2&&(console.warn("snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here"),H.print()),N?.()}}}function e(ce,N,H){return g(ce,()=>{},0,void 0,N??!0,void 0,H)}Xt.defer=e;function n(ce){return(N,H=null,B)=>{let Y=!1,ue;return ue=ce(Ie=>{if(!Y)return ue?ue.dispose():Y=!0,N.call(H,Ie)},null,B),Y&&ue.dispose(),ue}}Xt.once=n;function o(ce,N){return Xt.once(Xt.filter(ce,N))}Xt.onceIf=o;function i(ce,N,H){return p((B,Y=null,ue)=>ce(Ie=>B.call(Y,N(Ie)),null,ue),H)}Xt.map=i;function s(ce,N,H){return p((B,Y=null,ue)=>ce(Ie=>{N(Ie),B.call(Y,Ie)},null,ue),H)}Xt.forEach=s;function a(ce,N,H){return p((B,Y=null,ue)=>ce(Ie=>N(Ie)&&B.call(Y,Ie),null,ue),H)}Xt.filter=a;function l(ce){return ce}Xt.signal=l;function c(...ce){return(N,H=null,B)=>{let Y=pv(...ce.map(ue=>ue(Ie=>N.call(H,Ie))));return m(Y,B)}}Xt.any=c;function u(ce,N,H,B){let Y=H;return i(ce,ue=>(Y=N(Y,ue),Y),B)}Xt.reduce=u;function p(ce,N){let H,B={onWillAddFirstListener(){H=ce(Y.fire,Y)},onDidRemoveLastListener(){H?.dispose()}};N||t(B);let Y=new w(B);return N?.add(Y),Y.event}function m(ce,N){return N instanceof Array?N.push(ce):N&&N.add(ce),ce}function g(ce,N,H=100,B=!1,Y=!1,ue,Ie){let ht,je,dt,kt=0,Mt,kn={leakWarningThreshold:ue,onWillAddFirstListener(){ht=ce(qc=>{kt++,je=N(je,qc),B&&!dt&&(Dn.fire(je),je=void 0),Mt=()=>{let zc=je;je=void 0,dt=void 0,(!B||kt>1)&&Dn.fire(zc),kt=0},typeof H=="number"?(dt&&clearTimeout(dt),dt=setTimeout(Mt,H)):dt===void 0&&(dt=null,queueMicrotask(Mt))})},onWillRemoveListener(){Y&&kt>0&&Mt?.()},onDidRemoveLastListener(){Mt=void 0,ht.dispose()}};Ie||t(kn);let Dn=new w(kn);return Ie?.add(Dn),Dn.event}Xt.debounce=g;function h(ce,N=0,H,B){return Xt.debounce(ce,(Y,ue)=>Y?(Y.push(ue),Y):[ue],N,void 0,H??!0,void 0,B)}Xt.accumulate=h;function v(ce,N,H=100,B=!0,Y=!0,ue,Ie){let ht,je,dt,kt=0,Mt={leakWarningThreshold:ue,onWillAddFirstListener(){ht=ce(Dn=>{kt++,je=N(je,Dn),dt===void 0&&(B&&(kn.fire(je),je=void 0,kt=0),typeof H=="number"?dt=setTimeout(()=>{Y&&kt>0&&kn.fire(je),je=void 0,dt=void 0,kt=0},H):(dt=0,queueMicrotask(()=>{Y&&kt>0&&kn.fire(je),je=void 0,dt=void 0,kt=0})))})},onDidRemoveLastListener(){ht.dispose()}};Ie||t(Mt);let kn=new w(Mt);return Ie?.add(kn),kn.event}Xt.throttle=v;function S(ce,N=(B,Y)=>B===Y,H){let B=!0,Y;return a(ce,ue=>{let Ie=B||!N(ue,Y);return B=!1,Y=ue,Ie},H)}Xt.latch=S;function T(ce,N,H){return[Xt.filter(ce,N,H),Xt.filter(ce,B=>!N(B),H)]}Xt.split=T;function E(ce,N,H=!1,B=[],Y){let ue=B.slice(),Ie;VM()&&(Ie={stack:td.create(),timerId:setTimeout(()=>{ue&&ue.length>0&&Ie&&!Ie.warned&&(Ie.warned=!0,console.warn(`[Event.buffer][${N}] potential LEAK detected: ${ue.length} events buffered for ${FM/1e3}s without being consumed. Buffered here:`),Ie.stack.print())},FM),warned:!1},Y&&Y.add(oe(()=>clearTimeout(Ie.timerId))));let ht=()=>{Ie&&clearTimeout(Ie.timerId)},je=ce(Mt=>{ue?(ue.push(Mt),VM()&&Ie&&!Ie.warned&&ue.length>=H9&&(Ie.warned=!0,console.warn(`[Event.buffer][${N}] potential LEAK detected: ${ue.length} events buffered without being consumed. Buffered here:`),Ie.stack.print())):kt.fire(Mt)});Y&&Y.add(je);let dt=()=>{ue?.forEach(Mt=>kt.fire(Mt)),ue=null,ht()},kt=new w({onWillAddFirstListener(){je||(je=ce(Mt=>kt.fire(Mt)),Y&&Y.add(je))},onDidAddFirstListener(){ue&&(H?setTimeout(dt):dt())},onDidRemoveLastListener(){je&&je.dispose(),je=null,ht()}});return Y&&Y.add(kt),kt.event}Xt.buffer=E;function k(ce,N){return(B,Y,ue)=>{let Ie=N(new U);return ce(function(ht){let je=Ie.evaluate(ht);je!==P&&B.call(Y,je)},void 0,ue)}}Xt.chain=k;let P=Symbol("HaltChainable");class U{constructor(){this.steps=[]}map(N){return this.steps.push(N),this}forEach(N){return this.steps.push(H=>(N(H),H)),this}filter(N){return this.steps.push(H=>N(H)?H:P),this}reduce(N,H){let B=H;return this.steps.push(Y=>(B=N(B,Y),B)),this}latch(N=(H,B)=>H===B){let H=!0,B;return this.steps.push(Y=>{let ue=H||!N(Y,B);return H=!1,B=Y,ue?Y:P}),this}evaluate(N){for(let H of this.steps)if(N=H(N),N===P)break;return N}}function xe(ce,N,H=B=>B){let B=(...ht)=>Ie.fire(H(...ht)),Y=()=>ce.on(N,B),ue=()=>ce.removeListener(N,B),Ie=new w({onWillAddFirstListener:Y,onDidRemoveLastListener:ue});return Ie.event}Xt.fromNodeEventEmitter=xe;function V(ce,N,H=B=>B){let B=(...ht)=>Ie.fire(H(...ht)),Y=()=>ce.addEventListener(N,B),ue=()=>ce.removeEventListener(N,B),Ie=new w({onWillAddFirstListener:Y,onDidRemoveLastListener:ue});return Ie.event}Xt.fromDOMEventEmitter=V;function ae(ce,N){let H,B,Y=new Promise(ue=>{B=n(ce)(ue),eE(B,N),H=()=>{WM(B,N)}});return Y.cancel=H,N&&Y.finally(()=>WM(B,N)),Y}Xt.toPromise=ae;function j(ce,N){return ce(H=>N.fire(H))}Xt.forward=j;function z(ce,N,H){return N(H),ce(B=>N(B))}Xt.runAndSubscribe=z;class ee{constructor(N,H){this._observable=N;this._counter=0;this._hasChanged=!1;let B={onWillAddFirstListener:()=>{N.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{N.removeObserver(this)}};H||t(B),this.emitter=new w(B),H&&H.add(this.emitter)}beginUpdate(N){this._counter++}handlePossibleChange(N){}handleChange(N,H){this._hasChanged=!0}endUpdate(N){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function Ce(ce,N){return new ee(ce,N).emitter.event}Xt.fromObservable=Ce;function Bt(ce){return(N,H,B)=>{let Y=0,ue=!1,Ie={beginUpdate(){Y++},endUpdate(){Y--,Y===0&&(ce.reportChanges(),ue&&(ue=!1,N.call(H)))},handlePossibleChange(){},handleChange(){ue=!0}};ce.addObserver(Ie),ce.reportChanges();let ht={dispose(){ce.removeObserver(Ie)}};return eE(ht,B),ht}}Xt.fromObservableLight=Bt})(W||={});JC=class r{constructor(t){this.listenerCount=0;this.invocationCount=0;this.elapsedOverall=0;this.durations=[];this.name=`${t}_${r._idPool++}`,r.all.add(this)}static{this.all=new Set}static{this._idPool=0}start(t){this._stopWatch=new ho,this.listenerCount=t}stop(){if(this._stopWatch){let t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}},HM=-1,W9=1;YC=class{constructor(t,e,n=BM()){this._errorHandler=t;this.threshold=e;this.name=n;this._warnCountdown=0}dispose(){this._stacks?.clear()}check(t,e){let n=this.threshold;if(n<=0||e<n)return;this._stacks||(this._stacks=new Map);let o=t.value,i=this._stacks.get(o)||0;if(this._stacks.set(o,i+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=n*.5;let[s,a]=this.getMostFrequentStack(),l=/^[0-9a-f]+$/i.test(this.name)?void 0:this.name,c=`[${this.name}] potential listener LEAK detected, having ${e} listeners already. MOST frequent listener (${a}):`;console.warn(c),console.warn(s);let u=a/e>.3?"dominated":"popular",p=new nd(u,c,s,e,l);this._errorHandler(p)}return()=>{let s=this._stacks.get(o)||0;s<=1?this._stacks.delete(o):this._stacks.set(o,s-1)}}getMostFrequentStack(){if(!this._stacks)return;let t,e=0;for(let[n,o]of this._stacks)(!t||e<o)&&(t=[n,o],e=o);return t}},td=class r{constructor(t){this.value=t}static create(){let t=new Error;return new r(t.stack??"")}print(){console.warn(this.value.split(`
`).slice(2).join(`
`))}},nd=class r extends Error{constructor(t,e,n,o,i){super(i?`[${i}] potential listener LEAK detected, ${t}`:`potential listener LEAK detected, ${t}`),this.name="ListenerLeakError",this.kind=t,this.listenerCount=o,this.details=e,this.stack=n}static is(t){return t instanceof r||t instanceof Error&&typeof t.kind=="string"&&typeof t.listenerCount=="number"}},XC=class extends nd{constructor(t,e,n,o,i){super(t,e,n,o,i),this.name="ListenerRefusalError"}},B9=0,ed=class{constructor(t){this.value=t;this.id=B9++}},$9=2,q9=(r,t)=>{if(r instanceof ed)t(r);else for(let e=0;e<r.length;e++){let n=r[e];n&&t(n)}},w=class{constructor(t){this._size=0;this._options=t,(HM>0||this._options?.leakWarningThreshold)&&(this._leakWarningThreshold=this._options?.leakWarningThreshold??HM,this._leakWarningName=this._options?.leakWarningName??BM(),this._leakWarningErrorHandler=this._options?.onListenerError??tt),this._perfMon=this._options?._profName?new JC(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 YC(this._leakWarningErrorHandler,this._leakWarningThreshold,this._leakWarningName)}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(NM){let t=this._listeners;queueMicrotask(()=>{q9(t,e=>e.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(t,e,n)=>{if(this._leakWarningThreshold!==void 0&&this._size>this._leakWarningThreshold**2){let l=this._getLeakageMonitor();if(l){let c=`[${l.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${l.threshold})`;console.warn(c);let u=l.getMostFrequentStack()??["UNKNOWN stack",-1],p=u[1]/this._size>.3?"dominated":"popular",m=new XC(p,`${c}. HINT: Stack shows most frequent listener (${u[1]}-times)`,u[0],this._size,this._options?.leakWarningName);return(this._options?.onListenerError||tt)(m),_.None}}if(this._disposed)return _.None;e&&(t=t.bind(e));let o=new ed(t),i,s;if(this._leakWarningThreshold!==void 0&&this._size>=Math.ceil(this._leakWarningThreshold*.2)){let l=this._getLeakageMonitor();l&&(o.stack=td.create(),i=l.check(o.stack,this._size+1))}NM&&(o.stack=s??td.create()),this._listeners?this._listeners instanceof ed?(this._deliveryQueue??=new ZC,this._listeners=[this._listeners,o]):this._listeners.push(o):(this._options?.onWillAddFirstListener?.(this),this._listeners=o,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;let a=oe(()=>{i?.(),this._removeListener(o)});return eE(a,n),a},this._event}_removeListener(t){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 e=this._listeners,n=e.indexOf(t);if(n===-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--,e[n]=void 0;let o=this._deliveryQueue.current===this;if(this._size*$9<=e.length){let i=0;for(let s=0;s<e.length;s++)e[s]?e[i++]=e[s]:o&&i<this._deliveryQueue.end&&(this._deliveryQueue.end--,i<this._deliveryQueue.i&&this._deliveryQueue.i--);e.length=i}}_deliver(t,e){if(!t)return;let n=this._options?.onListenerError||tt;if(!n){t.value(e);return}try{t.value(e)}catch(o){n(o)}}_deliverQueue(t){let e=t.current._listeners;for(;t.i<t.end;)this._deliver(e[t.i++],t.value);t.reset()}fire(t){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners)if(this._listeners instanceof ed)this._deliver(this._listeners,t);else{let e=this._deliveryQueue;e.enqueue(this,t,this._listeners.length),this._deliverQueue(e)}this._perfMon?.stop()}hasListeners(){return this._size>0}},ZC=class{constructor(){this.i=-1;this.end=0}enqueue(t,e,n){this.i=0,this.end=n,this.current=t,this.value=e}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Dl=class extends w{constructor(e){super(e);this._isPaused=0;this._eventQueue=new va;this._mergeFn=e?.merge}get isPaused(){return this._isPaused!==0}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){let e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}},gv=class{constructor(){this.hasListeners=!1;this.events=[];this.emitter=new w({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(t){let e={event:t,listener:null};return this.events.push(e),this.hasListeners&&this.hook(e),oe(El(()=>{this.hasListeners&&this.unhook(e);let o=this.events.indexOf(e);this.events.splice(o,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(t=>this.hook(t))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(t=>this.unhook(t))}hook(t){t.listener=t.event(e=>this.emitter.fire(e))}unhook(t){t.listener?.dispose(),t.listener=null}dispose(){this.emitter.dispose();for(let t of this.events)t.listener?.dispose();this.events=[]}},gm=class{constructor(){this.listening=!1;this.inputEvent=W.None;this.inputEventListener=_.None;this.emitter=new w({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}});this.event=this.emitter.event}set input(t){this.inputEvent=t,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=t(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}});var $M,we,od,xt,jt=y(()=>{de();Q();$M=Object.freeze(function(r,t){let e=setTimeout(r.bind(t),0);return{dispose(){clearTimeout(e)}}});(n=>{function r(o){return o===n.None||o===n.Cancelled||o instanceof od?!0:!o||typeof o!="object"?!1:typeof o.isCancellationRequested=="boolean"&&typeof o.onCancellationRequested=="function"}n.isCancellationToken=r,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:W.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:$M})})(we||={});od=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?$M:(this._emitter||(this._emitter=new w),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},xt=class{constructor(t){this._token=void 0;this._parentListener=void 0;this._parentListener=t&&t.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new od),this._token}cancel(){this._token?this._token instanceof od&&this._token.cancel():this._token=we.Cancelled}dispose(t=!1){t&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof od&&this._token.dispose():this._token=we.None}}});var Kr=y(()=>{});function z9(r){return r}var fv,qM=y(()=>{jt();fv=class{constructor(t,e){this.lastCache=void 0;this.lastArgKey=void 0;typeof t=="function"?(this._fn=t,this._computeKey=z9):(this._fn=e,this._computeKey=t.getCacheKey)}get(t){let e=this._computeKey(t);return this.lastArgKey!==e&&(this.lastArgKey=e,this.lastCache=this._fn(t)),this.lastCache}}});var yn,Oi=y(()=>{yn=class{constructor(t){this.executor=t;this._state=0}get hasValue(){return this._state===2}get value(){if(this._state===0){this._state=1;try{this._value=this.executor()}catch(t){this._error=t}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}}});var tE=y(()=>{});function fm(r){return!r||typeof r!="string"?!0:r.trim().length===0}function QM(r,...t){return t.length===0?r:r.replace(K9,function(e,n){let o=parseInt(n,10);return isNaN(o)||o<0||o>=t.length?e:t[o]})}function Cr(r,t){return Object.keys(t).length===0?r:r.replace(j9,(e,n)=>t[n]??e)}function JM(r){return r.replace(/[<>"'&]/g,t=>{switch(t){case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";case"'":return"&apos;";case"&":return"&amp;"}return t})}function Mo(r){return r.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function YM(r,t,e=eB){return r.length<=t?r:`${r.substr(0,t)}${e}`}function nE(r,t){if(!r||!t)return r;let e=t.length,n=0;if(e===1){let o=t.charCodeAt(0);for(;n<r.length&&r.charCodeAt(n)===o;)n++}else for(;r.startsWith(t,n);)n+=e;return r.substring(n)}function rd(r,t){if(!r||!t)return r;let e=t.length,n=r.length;if(e===1){let i=n,s=t.charCodeAt(0);for(;i>0&&r.charCodeAt(i-1)===s;)i--;return r.substring(0,i)}let o=n;for(;o>0&&r.endsWith(t,o);)o-=e;return r.substring(0,o)}function XM(r,t,e={}){if(!r)throw new Error("Cannot create regex from empty string");t||(r=Mo(r)),e.wholeWord&&(/\B/.test(r.charAt(0))||(r="\\b"+r),/\B/.test(r.charAt(r.length-1))||(r=r+"\\b"));let n="";return e.global&&(n+="g"),e.matchCase||(n+="i"),e.multiline&&(n+="m"),e.unicode&&(n+="u"),new RegExp(r,n)}function hm(r,t){return r<t?-1:r>t?1:0}function hv(r,t,e=0,n=r.length,o=0,i=t.length){for(;e<n&&o<i;e++,o++){let l=r.charCodeAt(e),c=t.charCodeAt(o);if(l<c)return-1;if(l>c)return 1}let s=n-e,a=i-o;return s<a?-1:s>a?1:0}function id(r,t){return _l(r,t,0,r.length,0,t.length)}function _l(r,t,e=0,n=r.length,o=0,i=t.length){for(;e<n&&o<i;e++,o++){let l=r.charCodeAt(e),c=t.charCodeAt(o);if(l===c)continue;if(l>=128||c>=128)return hv(r.toLowerCase(),t.toLowerCase(),e,n,o,i);zM(l)&&(l-=32),zM(c)&&(c-=32);let u=l-c;if(u!==0)return u}let s=n-e,a=i-o;return s<a?-1:s>a?1:0}function zM(r){return r>=97&&r<=122}function oE(r){return r>=65&&r<=90}function vo(r,t){return r.length===t.length&&_l(r,t)===0}function Ia(r,t){let e=t.length;return e<=r.length&&_l(r,t,0,e)===0}function ZM(r,t){let e=r.length,n=e-t.length;return n>=0&&_l(r,t,n,e)===0}function e0(r){return 55296<=r&&r<=56319}function rE(r){return 56320<=r&&r<=57343}function t0(r,t){return(r-55296<<10)+(t-56320)+65536}function X9(r){return!!(r&&r.length>0&&r.charCodeAt(0)===65279)}function n0(r){return X9(r)?r.substr(1):r}function iE(r){return r.charAt(0).toUpperCase()+r.slice(1)}function Z9(){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 K9,j9,Q9,J9,Y9,AX,LX,GM,KM,jM,eB,Ot=y(()=>{qM();Kr();Oi();tE();K9=/{(\d+)}/g;j9=/{([^}]+)}/g;Q9=/(?:\x1b\[|\x9b)[=?>!]?[\d;:]*["$#'* ]?[a-zA-Z@^`{}|~]/,J9=/(?:\x1b\]|\x9d).*?(?:\x1b\\|\x07|\x9c)/,Y9=/\x1b(?:[ #%\(\)\*\+\-\.\/]?[a-zA-Z0-9\|}~@])/,AX=new RegExp("(?:"+[Q9.source,J9.source,Y9.source].join("|")+")","g"),LX=String.fromCharCode(65279);GM=class r{static{this._INSTANCE=null}static getInstance(){return r._INSTANCE||(r._INSTANCE=new r),r._INSTANCE}constructor(){this._data=Z9()}getGraphemeBreakType(t){if(t<32)return t===10?3:t===13?2:4;if(t<127)return 0;let e=this._data,n=e.length/3,o=1;for(;o<=n;)if(t<e[3*o])o=2*o;else if(t>e[3*o+1])o=2*o+1;else return e[3*o+2];return 0}};KM=class r{constructor(t){this.confusableDictionary=t}static{this.ambiguousCharacterData=new yn(()=>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 fv(t=>{let e=t.split(",");function n(p){let m=new Map;for(let g=0;g<p.length;g+=2)m.set(p[g],p[g+1]);return m}function o(p,m){let g=new Map(p);for(let[h,v]of m)g.set(h,v);return g}function i(p,m){if(!p)return m;let g=new Map;for(let[h,v]of p)m.has(h)&&g.set(h,v);return g}let s=this.ambiguousCharacterData.value,a=e.filter(p=>!p.startsWith("_")&&Object.hasOwn(s,p));a.length===0&&(a=["_default"]);let l;for(let p of a){let m=n(s[p]);l=i(l,m)}let c=n(s._common),u=o(c,l);return new r(u)})}static getInstance(t){return r.cache.get(Array.from(t).join(","))}static{this._locales=new yn(()=>Object.keys(r.ambiguousCharacterData.value).filter(t=>!t.startsWith("_")))}static getLocales(){return r._locales.value}isAmbiguous(t){return this.confusableDictionary.has(t)}containsAmbiguousCharacter(t){for(let e=0;e<t.length;e++){let n=t.codePointAt(e);if(typeof n=="number"&&this.isAmbiguous(n))return!0}return!1}getPrimaryConfusable(t){return this.confusableDictionary.get(t)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}},jM=class r{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(r.getRawData())].flat())),this._data}static isInvisibleCharacter(t){return r.getData().has(t)}static containsInvisibleCharacter(t){for(let e=0;e<t.length;e++){let n=t.codePointAt(e);if(typeof n=="number"&&(r.isInvisibleCharacter(n)||n===32))return!0}return!1}static get codePoints(){return r.getData()}},eB="\u2026"});function ba(r){return r===47||r===92}function vv(r){return r.replace(/[\\/]/g,He.sep)}function o0(r){return r.indexOf("/")===-1&&(r=vv(r)),/^[a-zA-Z]:(\/|$)/.test(r)&&(r="/"+r),r}function sE(r,t=He.sep){if(!r)return"";let e=r.length,n=r.charCodeAt(0);if(ba(n)){if(ba(r.charCodeAt(1))&&!ba(r.charCodeAt(2))){let i=3,s=i;for(;i<e&&!ba(r.charCodeAt(i));i++);if(s!==i&&!ba(r.charCodeAt(i+1))){for(i+=1;i<e;i++)if(ba(r.charCodeAt(i)))return r.slice(0,i+1).replace(/[\\/]/g,t)}}return t}else if(r0(n)&&r.charCodeAt(1)===58)return ba(r.charCodeAt(2))?r.slice(0,2)+t:r.slice(0,2);let o=r.indexOf("://");if(o!==-1){for(o+=3;o<e;o++)if(ba(r.charCodeAt(o)))return r.slice(0,o+1)}return""}function sd(r,t,e){let n=r===t;return!e||n?n:!r||!t?!1:vo(r,t)}function lr(r,t,e,n=!1){let o=n?He.sep:hn;if(r===t)return!0;if(!r||!t||((r.indexOf("..")>=0||t.indexOf("..")>=0)&&(r=n?He.normalize(r):wn(r),t=n?He.normalize(t):wn(t)),t.length>r.length))return!1;if(e){if(!Ia(r,t))return!1;if(t.length===r.length)return!0;let s=t.length;return t.charAt(t.length-1)===o&&s--,r.charAt(s)===o}return t.charAt(t.length-1)!==o&&(t+=o),r.indexOf(t)===0}function r0(r){return r>=65&&r<=90||r>=97&&r<=122}function i0(r){return te?(r=rd(r,hn),r.endsWith(":")&&(r+=hn)):(r=rd(r,hn),r||(r=hn)),r}function aE(r){let t=wn(r);return te?r.length>3?!1:lE(t)&&(r.length===2||t.charCodeAt(2)===92):t===He.sep}function lE(r,t=te){return t?r0(r.charCodeAt(0))&&r.charCodeAt(1)===58:!1}function s0(r,t,e=8){let n="";for(let i=0;i<e;i++){let s;i===0&&te&&!t&&(e===3||e===4)?s=nB:s=tB,n+=s.charAt(Math.floor(Math.random()*s.length))}let o;return t?o=`${t}-${n}`:o=n,r?G(r,o):o}var tB,nB,Ni=y(()=>{Kr();Ue();me();Ot();Ee();tB="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",nB="BDEFGHIJKMOQRSTUVWXYZbdefghijkmoqrstuvwxyz0123456789"});var ad=y(()=>{});function aB(r,t){if(!r.scheme&&t)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${r.authority}", path: "${r.path}", query: "${r.query}", fragment: "${r.fragment}"}`);if(r.scheme&&!rB.test(r.scheme)){let e=[...r.scheme.matchAll(/[^\w\d+.-]/gu)],n=e.length>0?` Found '${e[0][0]}' at index ${e[0].index} (${e.length} total)`:"";throw new Error(`[UriError]: Scheme contains illegal characters.${n} (len:${r.scheme.length})`)}if(r.path){if(r.authority){if(!iB.test(r.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(sB.test(r.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function lB(r,t){return!r&&!t?"file":r}function cB(r,t){switch(r){case"https":case"http":case"file":t?t[0]!==pi&&(t=pi+t):t=pi;break}return t}function Ml(r){return!r||typeof r!="object"?!1:typeof r.scheme=="string"&&(typeof r.authority=="string"||typeof r.authority>"u")&&(typeof r.path=="string"||typeof r.path>"u")&&(typeof r.query=="string"||typeof r.query>"u")&&(typeof r.fragment=="string"||typeof r.fragment>"u")}function a0(r,t,e){let n,o=-1;for(let i=0;i<r.length;i++){let s=r.charCodeAt(i);if(s>=97&&s<=122||s>=65&&s<=90||s>=48&&s<=57||s===45||s===46||s===95||s===126||t&&s===47||e&&s===91||e&&s===93||e&&s===58)o!==-1&&(n+=encodeURIComponent(r.substring(o,i)),o=-1),n!==void 0&&(n+=r.charAt(i));else{n===void 0&&(n=r.substr(0,i));let a=d0[s];a!==void 0?(o!==-1&&(n+=encodeURIComponent(r.substring(o,i)),o=-1),n+=a):o===-1&&(o=i)}}return o!==-1&&(n+=encodeURIComponent(r.substring(o))),n!==void 0?n:r}function uB(r){let t;for(let e=0;e<r.length;e++){let n=r.charCodeAt(e);n===35||n===63?(t===void 0&&(t=r.substr(0,e)),t+=d0[n]):t!==void 0&&(t+=r[e])}return t!==void 0?t:r}function ld(r,t){let e;return r.authority&&r.path.length>1&&r.scheme==="file"?e=`//${r.authority}${r.path}`:r.path.charCodeAt(0)===47&&(r.path.charCodeAt(1)>=65&&r.path.charCodeAt(1)<=90||r.path.charCodeAt(1)>=97&&r.path.charCodeAt(1)<=122)&&r.path.charCodeAt(2)===58?t?e=r.path.substr(1):e=r.path[1].toLowerCase()+r.path.substr(2):e=r.path,te&&(e=e.replace(/\//g,"\\")),e}function cE(r,t){let e=t?uB:a0,n="",{scheme:o,authority:i,path:s,query:a,fragment:l}=r;if(o&&(n+=o,n+=":"),(i||o==="file")&&(n+=pi,n+=pi),i){let c=i.indexOf("@");if(c!==-1){let u=i.substr(0,c);i=i.substr(c+1),c=u.lastIndexOf(":"),c===-1?n+=e(u,!1,!1):(n+=e(u.substr(0,c),!1,!1),n+=":",n+=e(u.substr(c+1),!1,!0)),n+="@"}i=i.toLowerCase(),c=i.lastIndexOf(":"),c===-1?n+=e(i,!1,!0):(n+=e(i.substr(0,c),!1,!0),n+=i.substr(c))}if(s){if(s.length>=3&&s.charCodeAt(0)===47&&s.charCodeAt(2)===58){let c=s.charCodeAt(1);c>=65&&c<=90&&(s=`/${String.fromCharCode(c+32)}:${s.substr(3)}`)}else if(s.length>=2&&s.charCodeAt(1)===58){let c=s.charCodeAt(0);c>=65&&c<=90&&(s=`${String.fromCharCode(c+32)}:${s.substr(2)}`)}n+=e(s,!0,!1)}return a&&(n+="?",n+=e(a,!1,!1)),l&&(n+="#",n+=t?l:a0(l,!1,!1)),n}function u0(r){try{return decodeURIComponent(r)}catch{return r.length>3?r.substr(0,3)+u0(r.substr(3)):r}}function yv(r){return r.match(l0)?r.replace(l0,t=>u0(t)):r}var rB,iB,sB,Qt,pi,dB,b,c0,Sa,d0,l0,ie=y(()=>{Kr();ad();Ue();me();rB=/^\w[\w\d+.-]*$/,iB=/^\//,sB=/^\/\//;Qt="",pi="/",dB=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,b=class r{static isUri(t){return t instanceof r?!0:!t||typeof t!="object"?!1:typeof t.authority=="string"&&typeof t.fragment=="string"&&typeof t.path=="string"&&typeof t.query=="string"&&typeof t.scheme=="string"&&typeof t.fsPath=="string"&&typeof t.with=="function"&&typeof t.toString=="function"}constructor(t,e,n,o,i,s=!1){typeof t=="object"?(this.scheme=t.scheme||Qt,this.authority=t.authority||Qt,this.path=t.path||Qt,this.query=t.query||Qt,this.fragment=t.fragment||Qt):(this.scheme=lB(t,s),this.authority=e||Qt,this.path=cB(this.scheme,n||Qt),this.query=o||Qt,this.fragment=i||Qt,aB(this,s))}get fsPath(){return ld(this,!1)}with(t){if(!t)return this;let{scheme:e,authority:n,path:o,query:i,fragment:s}=t;return e===void 0?e=this.scheme:e===null&&(e=Qt),n===void 0?n=this.authority:n===null&&(n=Qt),o===void 0?o=this.path:o===null&&(o=Qt),i===void 0?i=this.query:i===null&&(i=Qt),s===void 0?s=this.fragment:s===null&&(s=Qt),e===this.scheme&&n===this.authority&&o===this.path&&i===this.query&&s===this.fragment?this:new Sa(e,n,o,i,s)}static parse(t,e=!1){let n=dB.exec(t);return n?new Sa(n[2]||Qt,yv(n[4]||Qt),yv(n[5]||Qt),yv(n[7]||Qt),yv(n[9]||Qt),e):new Sa(Qt,Qt,Qt,Qt,Qt)}static file(t){let e=Qt;if(te&&(t=t.replace(/\\/g,pi)),t[0]===pi&&t[1]===pi){let n=t.indexOf(pi,2);n===-1?(e=t.substring(2),t=pi):(e=t.substring(2,n),t=t.substring(n)||pi)}return new Sa("file",e,t,Qt,Qt)}static from(t,e){return new Sa(t.scheme,t.authority,t.path,t.query,t.fragment,e)}static joinPath(t,...e){if(!t.path)throw new Error(`[UriError]: cannot call joinPath on URI without path: ${t.toString()}`);let n;return te&&t.scheme==="file"?n=r.file(cn.join(ld(t,!0),...e)).path:n=He.join(t.path,...e),t.with({path:n})}toString(t=!1){return cE(this,t)}toJSON(){return this}static revive(t){if(t){if(t instanceof r)return t;{let e=new Sa(t);return e._formatted=t.external??null,e._fsPath=t._sep===c0?t.fsPath??null:null,e}}else return t}[Symbol.for("debug.description")](){return`URI(${this.toString()})`}};c0=te?1:void 0,Sa=class extends b{constructor(){super(...arguments);this._formatted=null;this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=ld(this,!1)),this._fsPath}toString(e=!1){return e?cE(this,!0):(this._formatted||(this._formatted=cE(this,!1)),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=c0),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}},d0={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"};l0=/(%[0-9A-Za-z][0-9A-Za-z])+/g});function pE(r){return`${r.quality??"oss"}-${r.commit??"dev"}`}var $,ym,Fi,dE,p0,m0,g0,f0,mE,uE,Tt,KX,jX,pB,Ne=y(()=>{Se();me();Ot();ie();Ue();(Re=>(Re.inMemory="inmemory",Re.vscode="vscode",Re.internal="private",Re.walkThrough="walkThrough",Re.walkThroughSnippet="walkThroughSnippet",Re.http="http",Re.https="https",Re.file="file",Re.mailto="mailto",Re.untitled="untitled",Re.data="data",Re.command="command",Re.vscodeRemote="vscode-remote",Re.vscodeRemoteResource="vscode-remote-resource",Re.vscodeManagedRemoteResource="vscode-managed-remote-resource",Re.vscodeUserData="vscode-userdata",Re.vscodeCustomEditor="vscode-custom-editor",Re.vscodeNotebookCell="vscode-notebook-cell",Re.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",Re.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",Re.vscodeNotebookCellOutput="vscode-notebook-cell-output",Re.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",Re.vscodeNotebookMetadata="vscode-notebook-metadata",Re.vscodeInteractiveInput="vscode-interactive-input",Re.vscodeSettings="vscode-settings",Re.vscodeWorkspaceTrust="vscode-workspace-trust",Re.vscodeTerminal="vscode-terminal",Re.vscodeImageCarousel="vscode-image-carousel",Re.vscodeChatCodeBlock="vscode-chat-code-block",Re.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",Re.vscodeChatEditor="vscode-chat-editor",Re.vscodeChatInput="chatSessionInput",Re.sessionsChatInput="sessions-chat",Re.vscodeLocalChatSession="vscode-chat-session",Re.vscodeChatResponseResource="vscode-chat-response-resource",Re.webviewPanel="webview-panel",Re.vscodeWebview="vscode-webview",Re.vscodeBrowser="vscode-browser",Re.extension="extension",Re.vscodeFileResource="vscode-file",Re.tmp="tmp",Re.vsls="vsls",Re.vscodeSourceControl="vscode-scm",Re.commentsInput="comment",Re.codeSetting="code-setting",Re.outputChannel="output",Re.accessibleView="accessible-view",Re.chatEditingSnapshotScheme="chat-editing-snapshot-text-model",Re.chatEditingModel="chat-editing-text-model",Re.copilotPr="copilot-pr"))($||={});ym="vscode-tkn",Fi="tkn",dE=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(t){this._preferredWebSchema=t}setDelegate(t){this._delegate=t}setServerRootPath(t,e){this._serverRootPath=He.join(e??"/",pE(t))}getServerRootPath(){return this._serverRootPath}get _remoteResourcesPath(){return He.join(this._serverRootPath,$.vscodeRemoteResource)}set(t,e,n){this._hosts[t]=e,this._ports[t]=n}setConnectionToken(t,e){this._connectionTokens[t]=e}getPreferredWebSchema(){return this._preferredWebSchema}rewrite(t){if(this._delegate)try{return this._delegate(t)}catch(a){return IM(a),t}let e=t.authority,n=this._hosts[e];n&&n.indexOf(":")!==-1&&n.indexOf("[")===-1&&(n=`[${n}]`);let o=this._ports[e],i=this._connectionTokens[e],s=`path=${encodeURIComponent(t.path)}`;return typeof i=="string"&&(s+=`&${Fi}=${encodeURIComponent(i)}`),b.from({scheme:pn?this._preferredWebSchema:$.vscodeRemoteResource,authority:`${n}:${o}`,path:pn?(window.location.pathname+"/"+this._remoteResourcesPath).replace(/\/\/+/g,"/"):this._remoteResourcesPath,query:s})}},p0=new dE;m0="vs/../../extensions",g0="vs/../../node_modules",f0="vs/../../node_modules.asar",mE="vscode-app",uE=class r{static{this.FALLBACK_AUTHORITY=mE}asBrowserUri(t){let e=this.toUri(t);return this.uriToBrowserUri(e)}uriToBrowserUri(t){return t.scheme===$.vscodeRemote?p0.rewrite(t):t.scheme===$.file&&(lm||aM===`${$.vscodeFileResource}://${r.FALLBACK_AUTHORITY}`)?t.with({scheme:$.vscodeFileResource,authority:t.authority||r.FALLBACK_AUTHORITY,query:null,fragment:null}):t}asFileUri(t){let e=this.toUri(t);return this.uriToFileUri(e)}uriToFileUri(t){return t.scheme===$.vscodeFileResource?t.with({scheme:$.file,authority:t.authority!==r.FALLBACK_AUTHORITY?t.authority:null,query:null,fragment:null}):t}toUri(t){if(b.isUri(t))return t;if(globalThis._VSCODE_FILE_ROOT){let e=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(e))return b.joinPath(b.parse(e,!0),t);let n=G(e,t);return b.file(n)}throw new Error("Cannot determine URI for module id!")}},Tt=new uE,KX=Object.freeze({"Cache-Control":"no-cache, no-store"}),jX=Object.freeze({"Document-Policy":"include-js-call-stacks-in-crash-reports"});(i=>{let r=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"}]]);i.CoopAndCoep=Object.freeze(r.get("3"));let e="vscode-coi";function n(s){let a;typeof s=="string"?a=new URL(s).searchParams:s instanceof URL?a=s.searchParams:b.isUri(s)&&(a=new URL(s.toString(!0)).searchParams);let l=a?.get(e);if(l)return r.get(l)}i.getHeadersFromQuery=n;function o(s,a,l){if(!globalThis.crossOriginIsolated)return;let c=a&&l?"3":l?"2":"1";s instanceof URLSearchParams?s.set(e,c):s[e]=c}i.addSearchParam=o})(pB||={})});function xs(r){return ld(r,!0)}var Al,ot,Ll,gE,yo,bv,tZ,mB,Ln,Im,bm,fe,fE,nZ,oZ,y0,h0,v0,rZ,iZ,gB,Rt=y(()=>{Kr();Ni();Ne();Ue();me();Ot();ie();Al=class{constructor(t){this._ignorePathCasing=t}compare(t,e,n=!1){return t===e?0:hm(this.getComparisonKey(t,n),this.getComparisonKey(e,n))}isEqual(t,e,n=!1){return t===e?!0:!t||!e?!1:this.getComparisonKey(t,n)===this.getComparisonKey(e,n)}getComparisonKey(t,e=!1){return t.with({path:this._ignorePathCasing(t)?t.path.toLowerCase():void 0,fragment:e?null:void 0}).toString()}ignorePathCasing(t){return this._ignorePathCasing(t)}isEqualOrParent(t,e,n=!1){if(t.scheme===e.scheme){if(t.scheme===$.file)return lr(xs(t),xs(e),this._ignorePathCasing(t))&&t.query===e.query&&(n||t.fragment===e.fragment);if(h0(t.authority,e.authority))return lr(t.path,e.path,this._ignorePathCasing(t),!0)&&t.query===e.query&&(n||t.fragment===e.fragment)}return!1}joinPath(t,...e){return b.joinPath(t,...e)}basenameOrAuthority(t){return Ln(t)||t.authority}basename(t,e){return He.basename(t.path,e)}extname(t){return He.extname(t.path)}dirname(t){if(t.path.length===0)return t;let e;return t.scheme===$.file?e=b.file(At(xs(t))).path:(e=He.dirname(t.path),t.authority&&e.length&&e.charCodeAt(0)!==47&&(console.error(`dirname("${t.toString})) resulted in a relative path`),e="/")),t.with({path:e})}normalizePath(t){if(!t.path.length)return t;let e;return t.scheme===$.file?e=b.file(wn(xs(t))).path:e=He.normalize(t.path),t.with({path:e})}relativePath(t,e){if(t.scheme!==e.scheme||!h0(t.authority,e.authority))return;if(t.scheme===$.file){let i=bs(xs(t),xs(e));return te?vv(i):i}let n=t.path||"/",o=e.path||"/";if(this._ignorePathCasing(t)){let i=0;for(let s=Math.min(n.length,o.length);i<s&&!(n.charCodeAt(i)!==o.charCodeAt(i)&&n.charAt(i).toLowerCase()!==o.charAt(i).toLowerCase());i++);n=o.substr(0,i)+n.substr(i)}return He.relative(n,o)}resolvePath(t,e){if(t.scheme===$.file){let n=b.file(io(xs(t),e));return t.with({authority:n.authority,path:n.path})}return e=o0(e),t.with({path:He.resolve(t.path,e)})}isAbsolutePath(t){return!!t.path&&t.path[0]==="/"}isEqualAuthority(t,e){return t===e||t!==void 0&&e!==void 0&&vo(t,e)}hasTrailingPathSeparator(t,e=hn){if(t.scheme===$.file){let n=xs(t);return n.length>sE(n).length&&n[n.length-1]===e}else{let n=t.path;return n.length>1&&n.charCodeAt(n.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(t.fsPath)}}removeTrailingPathSeparator(t,e=hn){return v0(t,e)?t.with({path:t.path.substr(0,t.path.length-1)}):t}addTrailingPathSeparator(t,e=hn){let n=!1;if(t.scheme===$.file){let o=xs(t);n=o!==void 0&&o.length===sE(o).length&&o[o.length-1]===e}else{e="/";let o=t.path;n=o.length===1&&o.charCodeAt(o.length-1)===47}return!n&&!v0(t,e)?t.with({path:t.path+"/"}):t}},ot=new Al(()=>!1),Ll=new Al(r=>r.scheme===$.file?!qe:!0),gE=new Al(r=>!0),yo=ot.isEqual.bind(ot),bv=ot.isEqualOrParent.bind(ot),tZ=ot.getComparisonKey.bind(ot),mB=ot.basenameOrAuthority.bind(ot),Ln=ot.basename.bind(ot),Im=ot.extname.bind(ot),bm=ot.dirname.bind(ot),fe=ot.joinPath.bind(ot),fE=ot.normalizePath.bind(ot),nZ=ot.relativePath.bind(ot),oZ=ot.resolvePath.bind(ot),y0=ot.isAbsolutePath.bind(ot),h0=ot.isEqualAuthority.bind(ot),v0=ot.hasTrailingPathSeparator.bind(ot),rZ=ot.removeTrailingPathSeparator.bind(ot),iZ=ot.addTrailingPathSeparator.bind(ot);(i=>{i.META_DATA_LABEL="label",i.META_DATA_DESCRIPTION="description",i.META_DATA_SIZE="size",i.META_DATA_MIME="mime";function o(s){let a=new Map;s.path.substring(s.path.indexOf(";")+1,s.path.lastIndexOf(";")).split(";").forEach(u=>{let[p,m]=u.split(":");p&&m&&a.set(p,m)});let c=s.path.substring(0,s.path.indexOf(";"));return c&&a.set(i.META_DATA_MIME,c),a}i.parseMetaData=o})(gB||={})});var I0,b0=y(()=>{I0=Symbol("MicrotaskDelay")});function Em(r){return!!r&&typeof r.then=="function"}function jo(r){let t=new xt,e=r(t.token),n=!1,o=new Promise((i,s)=>{let a=t.token.onCancellationRequested(()=>{n=!0,a.dispose(),s(new et)});Promise.resolve(e).then(l=>{a.dispose(),t.dispose(),n?uv(l)&&l.dispose():i(l)},l=>{a.dispose(),t.dispose(),s(l)})});return new class{cancel(){t.cancel(),t.dispose()}then(i,s){return o.then(i,s)}catch(i){return this.then(void 0,i)}finally(i){return o.finally(i)}}}function IE(r,t,e){let n,o=setTimeout(()=>{n?.(void 0),e?.()},t);return Promise.race([r.finally(()=>clearTimeout(o)),new Promise(i=>n=i)])}function bE(){let r,t;return{promise:new Promise((n,o)=>{r=n,t=o}),resolve:r,reject:t}}function Qo(r,t){return t?new Promise((e,n)=>{let o=setTimeout(()=>{i.dispose(),e()},r),i=t.onCancellationRequested(()=>{clearTimeout(o),i.dispose(),n(new et)})}):jo(e=>Qo(r,e))}async function C0(r,t,e){let n;for(let o=0;o<e;o++)try{return await r()}catch(i){n=i,await Qo(t)}throw n}var hE,xv,cd,fB,hB,Sm,Er,wr,bZ,xm,Tr,dd,Ko,Cm,Cv,ud,SE,Sv,vE,Ev,ao,In,S0,yE,x0,Me=y(()=>{jt();Se();de();Q();Rt();me();b0();Oi();hE=class{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null,this.cancellationTokenSource=new xt}queue(t){if(this.cancellationTokenSource.token.isCancellationRequested)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=t,!this.queuedPromise){let e=()=>{if(this.queuedPromise=null,this.cancellationTokenSource.token.isCancellationRequested)return;let n=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,n};this.queuedPromise=new Promise(n=>{this.activePromise.then(e,e).then(n)})}return new Promise((e,n)=>{this.queuedPromise.then(e,n)})}return this.activePromise=t(this.cancellationTokenSource.token),new Promise((e,n)=>{this.activePromise.then(o=>{this.activePromise=null,e(o)},o=>{this.activePromise=null,n(o)})})}dispose(){this.cancellationTokenSource.cancel()}},xv=class{constructor(){this.current=Promise.resolve(null)}queue(t){return this.current=this.current.then(()=>t(),()=>t())}},cd=class{constructor(){this.promiseMap=new Map}queue(t,e){let o=(this.promiseMap.get(t)??Promise.resolve()).catch(()=>{}).then(e).finally(()=>{this.promiseMap.get(t)===o&&this.promiseMap.delete(t)});return this.promiseMap.set(t,o),o}peek(t){return this.promiseMap.get(t)||void 0}keys(){return this.promiseMap.keys()}},fB=(r,t)=>{let e=!0,n=setTimeout(()=>{e=!1,t()},r);return{isTriggered:()=>e,dispose:()=>{clearTimeout(n),e=!1}}},hB=r=>{let t=!0;return queueMicrotask(()=>{t&&(t=!1,r())}),{isTriggered:()=>t,dispose:()=>{t=!1}}},Sm=class{constructor(t){this.defaultDelay=t;this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(t,e=this.defaultDelay){this.task=t,this.cancelTimeout(),this.completionPromise||(this.completionPromise=new Promise((o,i)=>{this.doResolve=o,this.doReject=i}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){let o=this.task;return this.task=null,o()}}));let n=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=e===I0?hB(n):fB(e,n),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&(this.doReject?.(new et),this.completionPromise=null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}},Er=class{constructor(t){this.delayer=new Sm(t),this.throttler=new hE}trigger(t,e){return this.delayer.trigger(()=>this.throttler.queue(t),e)}isTriggered(){return this.delayer.isTriggered()}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}},wr=class{constructor(){this._isOpen=!1,this._promise=new Promise((t,e)=>{this._completePromise=t})}isOpen(){return this._isOpen}open(){this._isOpen=!0,this._completePromise(!0)}wait(){return this._promise}};bZ=2**31-1,xm=class{constructor(t){this._size=0;this._isDisposed=!1;this.maxDegreeOfParalellism=t,this.outstandingPromises=[],this.runningPromises=0,this._onDrained=new w}whenIdle(){return this.size>0?W.toPromise(this.onDrained):Promise.resolve()}get onDrained(){return this._onDrained.event}get size(){return this._size}queue(t){if(this._isDisposed)throw new Error("Object has been disposed");return this._size++,new Promise((e,n)=>{this.outstandingPromises.push({factory:t,c:e,e:n}),this.consume()})}consume(){for(;this.outstandingPromises.length&&this.runningPromises<this.maxDegreeOfParalellism;){let t=this.outstandingPromises.shift();this.runningPromises++;let e=t.factory();e.then(t.c,t.e),e.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()}},Tr=class extends xm{constructor(){super(1)}},dd=class{constructor(){this.queues=new Map;this.drainers=new Set;this.drainListeners=void 0;this.drainListenerCount=0}async whenDrained(){if(this.isDrained())return;let t=new ao;return this.drainers.add(t),t.p}isDrained(){for(let[,t]of this.queues)if(t.size>0)return!1;return!0}queueSize(t,e=ot){let n=e.getComparisonKey(t);return this.queues.get(n)?.size??0}queueFor(t,e,n=ot){let o=n.getComparisonKey(t),i=this.queues.get(o);if(!i){i=new Tr;let s=this.drainListenerCount++,a=W.once(i.onDrained)(()=>{i?.dispose(),this.queues.delete(o),this.onDidQueueDrain(),this.drainListeners?.deleteAndDispose(s),this.drainListeners?.size===0&&(this.drainListeners.dispose(),this.drainListeners=void 0)});this.drainListeners||(this.drainListeners=new ar),this.drainListeners.set(s,a),this.queues.set(o,i)}return i.queue(e)}onDidQueueDrain(){this.isDrained()&&this.releaseDrainers()}releaseDrainers(){for(let t of this.drainers)t.complete();this.drainers.clear()}dispose(){for(let[,t]of this.queues)t.dispose();this.queues.clear(),this.releaseDrainers(),this.drainListeners?.dispose()}},Ko=class{constructor(t,e){this.timeoutToken=void 0,this.runner=t,this.timeout=e,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=void 0)}schedule(t=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,t)}get delay(){return this.timeout}set delay(t){this.timeout=t}isScheduled(){return this.timeoutToken!==void 0}flush(){this.isScheduled()&&(this.cancel(),this.doRun())}onTimeout(){this.timeoutToken=void 0,this.runner&&this.doRun()}doRun(){this.runner?.()}},Cm=class{constructor(t,e){e%1e3!==0&&console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${e}ms is not a multiple of 1000ms.`),this.runner=t,this.timeout=e,this.counter=0,this.intervalToken=void 0,this.intervalHandler=this.onInterval.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearInterval(this.intervalToken),this.intervalToken=void 0)}schedule(t=this.timeout){t%1e3!==0&&console.warn(`ProcessTimeRunOnceScheduler resolution is 1s, ${t}ms is not a multiple of 1000ms.`),this.cancel(),this.counter=Math.ceil(t/1e3),this.intervalToken=setInterval(this.intervalHandler,1e3)}isScheduled(){return this.intervalToken!==void 0}onInterval(){this.counter--,!(this.counter>0)&&(clearInterval(this.intervalToken),this.intervalToken=void 0,this.runner?.())}},Cv=class extends Ko{constructor(e,n){super(e,n);this.units=[]}work(e){this.units.push(e),this.isScheduled()||this.schedule()}doRun(){let e=this.units;this.units=[],this.runner?.(e)}dispose(){this.units=[],super.dispose()}},ud=class extends _{constructor(e,n){super();this.options=e;this.handler=n;this.pendingWork=[];this.throttler=this._register(new so);this.disposed=!1;this.lastExecutionTime=0}get pending(){return this.pendingWork.length}work(e){if(this.disposed)return!1;if(typeof this.options.maxBufferedWork=="number"){if(this.throttler.value){if(this.pending+e.length>this.options.maxBufferedWork)return!1}else if(this.pending+e.length-this.options.maxWorkChunkSize>this.options.maxBufferedWork)return!1}for(let o of e)this.pendingWork.push(o);let n=Date.now()-this.lastExecutionTime;return!this.throttler.value&&(!this.options.waitThrottleDelayBetweenWorkUnits||n>=this.options.throttleDelay)?this.doWork():!this.throttler.value&&this.options.waitThrottleDelayBetweenWorkUnits&&this.scheduleThrottler(Math.max(this.options.throttleDelay-n,0)),!0}doWork(){this.lastExecutionTime=Date.now(),this.handler(this.pendingWork.splice(0,this.options.maxWorkChunkSize)),this.pendingWork.length>0&&this.scheduleThrottler()}scheduleThrottler(e=this.options.throttleDelay){this.throttler.value=new Ko(()=>{this.throttler.clear(),this.doWork()},e),this.throttler.value.schedule()}dispose(){super.dispose(),this.pendingWork.length=0,this.disposed=!0}};(function(){let r=globalThis;typeof r.requestIdleCallback!="function"||typeof r.cancelIdleCallback!="function"?Sv=(t,e,n)=>{dM(()=>{if(o)return;let i=Date.now()+15;e(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,i-Date.now())}}))});let o=!1;return{dispose(){o||(o=!0)}}}:Sv=(t,e,n)=>{let o=t.requestIdleCallback(e,typeof n=="number"?{timeout:n}:void 0),i=!1;return{dispose(){i||(i=!0,t.cancelIdleCallback(o))}}},SE=(t,e)=>Sv(globalThis,t,e)})();vE=class{constructor(t,e){this._didRun=!1;this._executor=()=>{try{this._value=e()}catch(n){this._error=n}finally{this._didRun=!0}},this._handle=Sv(t,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}},Ev=class extends vE{constructor(t){super(globalThis,t)}};ao=class r{static fromPromise(t){let e=new r;return e.settleWith(t),e}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((t,e)=>{this.completeCallback=t,this.errorCallback=e})}complete(t){return this.isSettled?Promise.resolve():new Promise(e=>{this.completeCallback(t),this.outcome={outcome:0,value:t},e()})}error(t){return this.isSettled?Promise.resolve():new Promise(e=>{this.errorCallback(t),this.outcome={outcome:1,value:t},e()})}settleWith(t){return t.then(e=>this.complete(e),e=>this.error(e))}cancel(){return this.error(new et)}};(e=>{async function r(n){let o,i=await Promise.all(n.map(s=>s.then(a=>a,a=>{o||(o=a)})));if(typeof o<"u")throw o;return i}e.settled=r;function t(n){return new Promise(async(o,i)=>{try{await n(o,i)}catch(s){i(s)}})}e.withAsyncBody=t})(In||={});S0=class r{static fromArray(t){return new r(e=>{e.emitMany(t)})}static fromPromise(t){return new r(async e=>{e.emitMany(await t)})}static fromPromisesResolveOrder(t){return new r(async e=>{await Promise.all(t.map(async n=>e.emitOne(await n)))})}static merge(t){return new r(async e=>{await Promise.all(t.map(async n=>{for await(let o of n)e.emitOne(o)}))})}static{this.EMPTY=r.fromArray([])}constructor(t,e){this._state=0,this._results=[],this._error=null,this._onReturn=e,this._onStateChanged=new w,queueMicrotask(async()=>{let n={emitOne:o=>this.emitOne(o),emitMany:o=>this.emitMany(o),reject:o=>this.reject(o)};try{await Promise.resolve(t(n)),this.resolve()}catch(o){this.reject(o)}finally{n.emitOne=()=>{},n.emitMany=()=>{},n.reject=()=>{}}})}[Symbol.asyncIterator](){let t=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(t<this._results.length)return{done:!1,value:this._results[t++]};if(this._state===1)return{done:!0,value:void 0};await W.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,e){return new r(async n=>{for await(let o of t)n.emitOne(e(o))})}map(t){return r.map(this,t)}static filter(t,e){return new r(async n=>{for await(let o of t)e(o)&&n.emitOne(o)})}filter(t){return r.filter(this,t)}static coalesce(t){return r.filter(t,e=>!!e)}coalesce(){return r.coalesce(this)}static async toPromise(t){let e=[];for await(let n of t)e.push(n);return e}toPromise(){return r.toPromise(this)}emitOne(t){this._state===0&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){this._state===0&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(t){this._state===0&&(this._state=2,this._error=t,this._onStateChanged.fire())}},yE=class{constructor(){this._unsatisfiedConsumers=[];this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(t){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){let e=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(e,t)}else this._unconsumedValues.push(t)}produceFinal(t){this._ensureNoFinalValue(),this._finalValue=t;for(let e of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(e,t);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new wt("ProducerConsumer: cannot produce after final value has been set")}_resolveOrRejectDeferred(t,e){e.ok?t.complete(e.value):t.error(e.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){let t=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return t.ok?Promise.resolve(t.value):Promise.reject(t.error)}else{let t=new ao;return this._unsatisfiedConsumers.push(t),t.p}}},x0=class r{constructor(t,e){this._onReturn=e;this._producerConsumer=new yE;this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async t=>(this._finishError(t),{done:!0,value:void 0})};queueMicrotask(async()=>{let n=t({emitOne:o=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:o}}),emitMany:o=>{for(let i of o)this._producerConsumer.produce({ok:!0,value:{done:!1,value:i}})},reject:o=>this._finishError(o)});if(!this._producerConsumer.hasFinalValue)try{await n,this._finishOk()}catch(o){this._finishError(o)}})}static fromArray(t){return new r(e=>{e.emitMany(t)})}static fromPromise(t){return new r(async e=>{e.emitMany(await t)})}static fromPromisesResolveOrder(t){return new r(async e=>{await Promise.all(t.map(async n=>e.emitOne(await n)))})}static merge(t){return new r(async e=>{await Promise.all(t.map(async n=>{for await(let o of n)e.emitOne(o)}))})}static{this.EMPTY=r.fromArray([])}static map(t,e){return new r(async n=>{for await(let o of t)n.emitOne(e(o))})}static tee(t){let e,n,o=new ao,i=async()=>{if(!(!e||!n))try{for await(let l of t)e.emitOne(l),n.emitOne(l)}catch(l){e.reject(l),n.reject(l)}finally{o.complete()}},s=new r(async l=>(e=l,i(),o.p)),a=new r(async l=>(n=l,i(),o.p));return[s,a]}map(t){return r.map(this,t)}static coalesce(t){return r.filter(t,e=>!!e)}coalesce(){return r.coalesce(this)}static filter(t,e){return new r(async n=>{for await(let o of t)e(o)&&n.emitOne(o)})}filter(t){return r.filter(this,t)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(t){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:t})}[Symbol.asyncIterator](){return this._iterator}}});function wm(r){return E0(r,"NFC",vB)}function IB(r){return E0(r,"NFD",yB)}function E0(r,t,e){if(!r)return r;let n=e.get(r);if(n)return n;let o;return bB.test(r)?o=r.normalize(t):o=r,e.set(r,o),o}var vB,yB,bB,SB,wv=y(()=>{_n();vB=new Li(1e4);yB=new Li(1e4);bB=/[^\u0000-\u0080]/;SB=(function(){let r=new Li(1e4),t=/[\u0300-\u036f]/g;return function(e){let n=r.get(e);if(n)return n;let o=IB(e).replace(t,""),i=(o.length===e.length?o:e).toLowerCase();return r.set(e,i),i}})()});import*as Le from"fs";import{tmpdir as xB}from"os";import{promisify as Tm}from"util";async function R0(r,t=0,e){if(aE(r))throw new Error("rimraf - will refuse to recursively delete root");return t===0?xE(r):CB(r,e)}async function CB(r,t=s0(xB())){try{try{await Le.promises.rename(r,t)}catch(e){return e.code==="ENOENT"?void 0:xE(r)}xE(t).catch(()=>{})}catch(e){if(e.code!=="ENOENT")throw e}}async function xE(r){return Le.promises.rm(r,{recursive:!0,force:!0,maxRetries:3})}async function Tv(r,t){try{return await w0(r,t)}catch(e){if(e.code==="ENOENT"&&te&&aE(r))try{return await w0(`${r}.`,t)}catch{}throw e}}async function w0(r,t){return wB(await(t?EB(r):Le.promises.readdir(r)))}async function EB(r){try{return await Le.promises.readdir(r,{withFileTypes:!0})}catch(n){n.code!=="ENOENT"&&console.warn("[node.js fs] readdir with filetypes failed with error: ",n)}let t=[],e=await Tv(r);for(let n of e){let o=!1,i=!1,s=!1;try{let a=await Le.promises.lstat(G(r,n));o=a.isFile(),i=a.isDirectory(),s=a.isSymbolicLink()}catch(a){a.code!=="ENOENT"&&console.warn("[node.js fs] unexpected error from lstat after readdir: ",a)}t.push({name:n,isFile:()=>o,isDirectory:()=>i,isSymbolicLink:()=>s})}return t}function wB(r){return r.map(t=>typeof t=="string"?ut?wm(t):t:(t.name=ut?wm(t.name):t.name,t))}async function TB(r){let t=await Tv(r),e=[];for(let n of t)await Io.existsDirectory(G(r,n))&&e.push(n);return e}function PB(r,t,e){return RB.queueFor(b.file(r),()=>{let n=_B(e);return new Promise((o,i)=>DB(r,t,n,s=>s?i(s):o()))},Ll)}function kB(r){P0=r}function DB(r,t,e,n){if(!P0)return Le.writeFile(r,t,{mode:e.mode,flag:e.flag},n);Le.open(r,e.flag,e.mode,(o,i)=>{if(o)return n(o);Le.writeFile(i,t,s=>{if(s)return Le.close(i,()=>n(s));Le.fdatasync(i,a=>(a&&(console.warn("[node.js fs] fdatasync is now disabled for this session because it failed: ",a),kB(!1)),Le.close(i,l=>n(l))))})})}function _B(r){return r?{mode:typeof r.mode=="number"?r.mode:438,flag:typeof r.flag=="string"?r.flag:"w"}:{mode:438,flag:"w"}}async function MB(r,t,e=6e4){if(r!==t)try{te&&typeof e=="number"?await k0(r,t,Date.now(),e):await Le.promises.rename(r,t)}catch(n){if(r.toLowerCase()!==t.toLowerCase()&&n.code==="EXDEV"||r.endsWith("."))await D0(r,t,{preserveSymlinks:!1}),await R0(r,1);else throw n}}async function k0(r,t,e,n,o=0){try{return await Le.promises.rename(r,t)}catch(i){if(i.code!=="EACCES"&&i.code!=="EPERM"&&i.code!=="EBUSY")throw i;if(Date.now()-e>=n)throw console.error(`[node.js fs] rename failed after ${o} retries with error: ${i}`),i;if(o===0){let s=!1;try{let{stat:a}=await Io.stat(t);a.isFile()||(s=!0)}catch{}if(s)throw i}return await Qo(Math.min(100,o*10)),k0(r,t,e,n,o+1)}}async function D0(r,t,e){return _0(r,t,{root:{source:r,target:t},options:e,handledSourcePaths:new Set})}async function _0(r,t,e){if(e.handledSourcePaths.has(r))return;e.handledSourcePaths.add(r);let{stat:n,symbolicLink:o}=await Io.stat(r);if(o){if(e.options.preserveSymlinks)try{return await OB(r,t,e)}catch{}if(o.dangling)return}return n.isDirectory()?AB(r,t,n.mode&T0,e):LB(r,t,n.mode&T0)}async function AB(r,t,e,n){await Le.promises.mkdir(t,{recursive:!0,mode:e});let o=await Tv(r);for(let i of o)await _0(G(r,i),G(t,i),n)}async function LB(r,t,e){await Le.promises.copyFile(r,t),await Le.promises.chmod(t,e)}async function OB(r,t,e){let n=await Le.promises.readlink(r);lr(n,e.root.source,!qe)&&(n=G(e.root.target,n.substr(e.root.source.length+1))),await Le.promises.symlink(n,t)}async function UB(r){try{return await Tm(Le.realpath)(r)}catch{let t=NB(r);return await Le.promises.access(t,Le.constants.R_OK),t}}function NB(r){return rd(wn(r),hn)}var Io,RB,P0,T0,ke,Ao=y(()=>{Me();Ni();wv();Ue();me();Rt();ie();Ot();(n=>{async function r(o){let i;try{if(i=await Le.promises.lstat(o),!i.isSymbolicLink())return{stat:i}}catch{}try{return{stat:await Le.promises.stat(o),symbolicLink:i?.isSymbolicLink()?{dangling:!1}:void 0}}catch(s){if(s.code==="ENOENT"&&i)return{stat:i,symbolicLink:{dangling:!0}};if(te&&s.code==="EACCES")try{return{stat:await Le.promises.stat(await Le.promises.readlink(o)),symbolicLink:{dangling:!1}}}catch(a){if(a.code==="ENOENT"&&i)return{stat:i,symbolicLink:{dangling:!0}};throw a}throw s}}n.stat=r;async function t(o){try{let{stat:i,symbolicLink:s}=await n.stat(o);return i.isFile()&&s?.dangling!==!0}catch{}return!1}n.existsFile=t;async function e(o){try{let{stat:i,symbolicLink:s}=await n.stat(o);return i.isDirectory()&&s?.dangling!==!0}catch{}return!1}n.existsDirectory=e})(Io||={});RB=new dd;P0=!0;T0=511;ke=new class{get read(){return(r,t,e,n,o)=>new Promise((i,s)=>{Le.read(r,t,e,n,o,(a,l,c)=>a?s(a):i({bytesRead:l,buffer:c}))})}get write(){return(r,t,e,n,o)=>new Promise((i,s)=>{Le.write(r,t,e,n,o,(a,l,c)=>a?s(a):i({bytesWritten:l,buffer:c}))})}get fdatasync(){return Tm(Le.fdatasync)}get open(){return Tm(Le.open)}get close(){return Tm(Le.close)}get ftruncate(){return Tm(Le.ftruncate)}async exists(r){try{return await Le.promises.access(r),!0}catch{return!1}}get readdir(){return Tv}get readDirsInDir(){return TB}get writeFile(){return PB}get rm(){return R0}get rename(){return MB}get copy(){return D0}get realpath(){return UB}}});import{promises as Cs}from"fs";async function Pm({userLocale:r,osLocale:t,userDataPath:e,commit:n,nlsMetadataPath:o}){if(Vt("code/willGenerateNls"),process.env.VSCODE_DEV||r==="pseudo"||r.startsWith("en")||!n||!e)return Rm(r,t,o);try{let i=await FB(e);if(!i)return Rm(r,t,o);let s=VB(i,r);if(!s)return Rm(r,t,o);let a=i[s],l=a?.translations?.vscode;if(!a||typeof a.hash!="string"||!a.translations||typeof l!="string"||!await ke.exists(l))return Rm(r,t,o);let c=`${a.hash}.${s}`,u=G(e,"clp",c),p=G(u,n),m=G(p,"nls.messages.json"),g=G(u,"tcf.json"),h=G(u,"corrupted.info");await ke.exists(h)&&await Cs.rm(u,{recursive:!0,force:!0,maxRetries:3});let v={userLocale:r,osLocale:t,resolvedLanguage:s,defaultMessagesFile:G(o,"nls.messages.json"),languagePack:{translationsConfigFile:g,messagesFile:m,corruptMarkerFile:h},locale:r,availableLanguages:{"*":s},_languagePackId:c,_languagePackSupport:!0,_translationsConfigFile:g,_cacheRoot:u,_resolvedLanguagePackCoreLocation:p,_corruptedFile:h};if(await ke.exists(m))return HB(p).catch(()=>{}),Vt("code/didGenerateNls"),v;let[S,T,E]=await Promise.all([Cs.readFile(G(o,"nls.keys.json"),"utf-8").then(U=>JSON.parse(U)),Cs.readFile(G(o,"nls.messages.json"),"utf-8").then(U=>JSON.parse(U)),Cs.readFile(l,"utf-8").then(U=>JSON.parse(U))]),k=[],P=0;for(let[U,xe]of S){let V=E.contents[U];for(let ae of xe)k.push(V?.[ae]||T[P]),P++}return await Cs.mkdir(p,{recursive:!0}),await Promise.all([Cs.writeFile(m,JSON.stringify(k),"utf-8"),Cs.writeFile(g,JSON.stringify(a.translations),"utf-8")]),Vt("code/didGenerateNls"),v}catch(i){console.error("Generating translation files failed.",i)}return Rm(r,t,o)}async function FB(r){let t=G(r,"languagepacks.json");try{return JSON.parse(await Cs.readFile(t,"utf-8"))}catch{return}}function VB(r,t){try{for(;t;){if(r[t])return t;let e=t.lastIndexOf("-");if(e>0)t=t.substring(0,e);else return}}catch(e){console.error("Resolving language pack configuration failed.",e)}}function Rm(r,t,e){return Vt("code/didGenerateNls"),{userLocale:r,osLocale:t,resolvedLanguage:"en",defaultMessagesFile:G(e,"nls.messages.json"),locale:r,availableLanguages:{}}}function HB(r){let t=new Date;return Cs.utimes(r,t,t)}var CE=y(()=>{Ue();Wr();Ao()});var xa,Pv=y(()=>{xa=class{constructor(...t){this._entries=new Map;for(let[e,n]of t)this.set(e,n)}set(t,e){let n=this._entries.get(t);return this._entries.set(t,e),n}has(t){return this._entries.has(t)}get(t){return this._entries.get(t)}}});function EE(r,t){return t&&(r.stack||r.stacktrace)?d(116,null,A0(r),M0(r.stack)||M0(r.stacktrace)):A0(r)}function M0(r){return Array.isArray(r)?r.join(`
`):r}function A0(r){return r.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${r.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof r.code=="string"&&typeof r.errno=="number"&&typeof r.syscall=="string"?d(115,null,r.message):r.message||d(113,null)}function jr(r=null,t=!1){if(!r)return d(113,null);if(Array.isArray(r)){let e=Go(r),n=jr(e[0],t);return e.length>1?d(114,null,n,e.length):n}if(Z(r))return r;if(r.detail){let e=r.detail;if(e.error)return EE(e.error,t);if(e.exception)return EE(e.exception,t)}return r.stack?EE(r,t):r.message?r.message:d(113,null)}var Ol=y(()=>{Lt();Ee();le()});function km(r){let t=r;return t?[t.on,t.pause,t.resume,t.destroy].every(e=>typeof e=="function"):!1}function kv(r){let t=r;return t?km(t.stream)&&Array.isArray(t.buffer)&&typeof t.ended=="boolean":!1}function Ca(r,t){return new wE(r,t)}function L0(r,t){let e=[],n;for(;(n=r.read())!==null;)e.push(n);return t(e)}function O0(r,t,e){let n=[],o;for(;(o=r.read())!==null&&n.length<e;)n.push(o);return o===null&&n.length>0?t(n):{read:()=>{if(n.length>0)return n.shift();if(typeof o<"u"){let i=o;return o=void 0,i}return r.read()}}}function Dv(r,t){return new Promise((e,n)=>{let o=[];pd(r,{onData:i=>{t&&o.push(i)},onError:i=>{t?n(i):e(void 0)},onEnd:()=>{e(t?t(o):void 0)}})})}function pd(r,t,e){r.on("error",n=>{e?.isCancellationRequested||t.onError(n)}),r.on("end",()=>{e?.isCancellationRequested||t.onEnd()}),r.on("data",n=>{e?.isCancellationRequested||t.onData(n)})}function U0(r,t){return new Promise((e,n)=>{let o=new re,i=[],s=c=>{if(i.push(c),i.length>t)return o.dispose(),r.pause(),e({stream:r,buffer:i,ended:!1})},a=c=>(o.dispose(),n(c)),l=()=>(o.dispose(),e({stream:r,buffer:i,ended:!0}));o.add(oe(()=>r.removeListener("error",a))),r.on("error",a),o.add(oe(()=>r.removeListener("end",l))),r.on("end",l),o.add(oe(()=>r.removeListener("data",s))),r.on("data",s)})}function N0(r){let t=!1;return{read:()=>t?null:(t=!0,r)}}function _v(r,t,e){let n=Ca(e);return pd(r,{onData:o=>n.write(t.data(o)),onError:o=>n.error(t.error?t.error(o):o),onEnd:()=>n.end()}),n}var wE,md=y(()=>{Se();Q();wE=class{constructor(t,e){this.reducer=t;this.options=e;this.state={flowing:!1,ended:!1,destroyed:!1};this.buffer={data:[],error:[]};this.listeners={data:[],error:[],end:[]};this.pendingWritePromises=[]}pause(){this.state.destroyed||(this.state.flowing=!1)}resume(){this.state.destroyed||this.state.flowing||(this.state.flowing=!0,this.flowData(),this.flowErrors(),this.flowEnd())}write(t){if(!this.state.destroyed){if(this.state.flowing)this.emitData(t);else if(this.buffer.data.push(t),typeof this.options?.highWaterMark=="number"&&this.buffer.data.length>this.options.highWaterMark)return new Promise(e=>this.pendingWritePromises.push(e))}}error(t){this.state.destroyed||(this.state.flowing?this.emitError(t):this.buffer.error.push(t))}end(t){this.state.destroyed||(typeof t<"u"&&this.write(t),this.state.flowing?(this.emitEnd(),this.destroy()):this.state.ended=!0)}emitData(t){this.listeners.data.slice(0).forEach(e=>e(t))}emitError(t){this.listeners.error.length===0?tt(t):this.listeners.error.slice(0).forEach(e=>e(t))}emitEnd(){this.listeners.end.slice(0).forEach(t=>t())}on(t,e){if(!this.state.destroyed)switch(t){case"data":this.listeners.data.push(e),this.resume();break;case"end":this.listeners.end.push(e),this.state.flowing&&this.flowEnd()&&this.destroy();break;case"error":this.listeners.error.push(e),this.state.flowing&&this.flowErrors();break}}removeListener(t,e){if(this.state.destroyed)return;let n;switch(t){case"data":n=this.listeners.data;break;case"end":n=this.listeners.end;break;case"error":n=this.listeners.error;break}if(n){let o=n.indexOf(e);o>=0&&n.splice(o,1)}}flowData(){if(this.buffer.data.length===0)return;if(typeof this.reducer=="function"){let e=this.reducer(this.buffer.data);this.emitData(e)}else for(let e of this.buffer.data)this.emitData(e);this.buffer.data.length=0;let t=[...this.pendingWritePromises];this.pendingWritePromises.length=0,t.forEach(e=>e())}flowErrors(){if(this.listeners.error.length>0){for(let t of this.buffer.error)this.emitError(t);this.buffer.error.length=0}}flowEnd(){return this.state.ended?(this.emitEnd(),this.listeners.end.length>0):!1}destroy(){this.state.destroyed||(this.state.destroyed=!0,this.state.ended=!0,this.buffer.data.length=0,this.buffer.error.length=0,this.listeners.data.length=0,this.listeners.error.length=0,this.listeners.end.length=0,this.pendingWritePromises.length=0)}}});function $B(r,t,e=0){let n=t.byteLength,o=r.byteLength;if(n===0)return 0;if(n===1)return r.indexOf(t[0],e);if(n>o-e)return-1;let i=BB.value;i.fill(t.length);for(let c=0;c<t.length;c++)i[t[c]]=t.length-c-1;let s=e+t.length-1,a=s,l=-1;for(;s<o;)if(r[s]===t[a]){if(a===0){l=s;break}s--,a--}else s+=Math.max(t.length-a,i[r[s]]),a=t.length-1;return l}function qB(r,t){return r[t]*2**24+r[t+1]*2**16+r[t+2]*2**8+r[t+3]}function zB(r,t,e){r[e+3]=t,t=t>>>8,r[e+2]=t,t=t>>>8,r[e+1]=t,t=t>>>8,r[e]=t}function GB(r,t){return r[t+0]<<0>>>0|r[t+1]<<8>>>0|r[t+2]<<16>>>0|r[t+3]<<24>>>0}function KB(r,t,e){r[e+0]=t&255,t=t>>>8,r[e+1]=t&255,t=t>>>8,r[e+2]=t&255,t=t>>>8,r[e+3]=t&255}function jB(r,t){return r[t]}function QB(r,t,e){r[e]=t}function H0(r){return L0(r,t=>L.concat(t))}function W0(r){return N0(r)}function cr(r){return Dv(r,t=>L.concat(t))}async function B0(r){return r.ended?L.concat(r.buffer):L.concat([...r.buffer,await cr(r.stream)])}function $0(r){return _v(r,{data:t=>typeof t=="string"?L.fromString(t):L.wrap(t)},t=>L.concat(t))}function q0(r){return Ca(t=>L.concat(t),r)}function dr(r){let t=0,e=0,n=0,o=new Uint8Array(Math.floor(r.length/4*3)),i=a=>{switch(e){case 3:o[n++]=t|a,e=0;break;case 2:o[n++]=t|a>>>2,t=a<<6,e=3;break;case 1:o[n++]=t|a>>>4,t=a<<4,e=2;break;default:t=a<<2,e=1}};for(let a=0;a<r.length;a++){let l=r.charCodeAt(a);if(l>=65&&l<=90)i(l-65);else if(l>=97&&l<=122)i(l-97+26);else if(l>=48&&l<=57)i(l-48+52);else if(l===43||l===45)i(62);else if(l===47||l===95)i(63);else{if(l===61)break;throw new SyntaxError(`Unexpected base64 character ${r[a]}`)}}let s=n;for(;e>0;)i(0);return L.wrap(o).slice(0,s)}function bo({buffer:r},t=!0,e=!1){let n=e?YB:JB,o="",i=r.byteLength%3,s=0;for(;s<r.byteLength-i;s+=3){let a=r[s+0],l=r[s+1],c=r[s+2];o+=n[a>>>2],o+=n[(a<<4|l>>>4)&63],o+=n[(l<<2|c>>>6)&63],o+=n[c&63]}if(i===1){let a=r[s+0];o+=n[a>>>2],o+=n[a<<4&63],t&&(o+="==")}else if(i===2){let a=r[s+0],l=r[s+1];o+=n[a>>>2],o+=n[(a<<4|l>>>4)&63],o+=n[l<<2&63],t&&(o+="=")}return o}function Ea({buffer:r}){let t="";for(let e=0;e<r.length;e++){let n=r[e];t+=F0[n>>>4],t+=F0[n&15]}return t}function _m(r){if(r.length%2!==0)throw new SyntaxError("Hex string must have an even length");let t=new Uint8Array(r.length>>1);for(let e=0;e<r.length;)t[e>>1]=V0(r,e++)<<4|V0(r,e++);return L.wrap(t)}function V0(r,t){let e=r.charCodeAt(t);if(e>=48&&e<=57)return e-48;if(e>=97&&e<=102)return e-87;if(e>=65&&e<=70)return e-55;throw new SyntaxError(`Invalid hex character at position ${t}`)}var Dm,BB,TE,RE,L,JB,YB,F0,ze=y(()=>{Oi();md();Dm=typeof Buffer<"u",BB=new yn(()=>new Uint8Array(256)),L=class r{static alloc(t){return Dm?new r(Buffer.allocUnsafe(t)):new r(new Uint8Array(t))}static wrap(t){return Dm&&!Buffer.isBuffer(t)&&(t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)),new r(t)}static fromString(t,e){return!(e?.dontUseNodeBuffer||!1)&&Dm?new r(Buffer.from(t)):(TE||(TE=new TextEncoder),new r(TE.encode(t)))}static fromByteArray(t){let e=r.alloc(t.length);for(let n=0,o=t.length;n<o;n++)e.buffer[n]=t[n];return e}static concat(t,e){if(typeof e>"u"){e=0;for(let i=0,s=t.length;i<s;i++)e+=t[i].byteLength}let n=r.alloc(e),o=0;for(let i=0,s=t.length;i<s;i++){let a=t[i];n.set(a,o),o+=a.byteLength}return n}static isNativeBuffer(t){return Dm&&Buffer.isBuffer(t)}constructor(t){this.buffer=t,this.byteLength=this.buffer.byteLength}clone(){let t=r.alloc(this.byteLength);return t.set(this),t}toString(){return Dm?this.buffer.toString():(RE||(RE=new TextDecoder(void 0,{ignoreBOM:!0})),RE.decode(this.buffer))}slice(t,e){return new r(this.buffer.subarray(t,e))}set(t,e){if(t instanceof r)this.buffer.set(t.buffer,e);else if(t instanceof Uint8Array)this.buffer.set(t,e);else if(t instanceof ArrayBuffer)this.buffer.set(new Uint8Array(t),e);else if(ArrayBuffer.isView(t))this.buffer.set(new Uint8Array(t.buffer,t.byteOffset,t.byteLength),e);else throw new Error("Unknown argument 'array'")}readUInt32BE(t){return qB(this.buffer,t)}writeUInt32BE(t,e){zB(this.buffer,t,e)}readUInt32LE(t){return GB(this.buffer,t)}writeUInt32LE(t,e){KB(this.buffer,t,e)}readUInt8(t){return jB(this.buffer,t)}writeUInt8(t,e){QB(this.buffer,t,e)}indexOf(t,e=0){return $B(this.buffer,t instanceof r?t.buffer:t,e)}equals(t){return this===t?!0:this.byteLength!==t.byteLength?!1:this.buffer.every((e,n)=>e===t.buffer[n])}};JB="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",YB="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";F0="0123456789abcdef"});function Rr(r){return kE(r,0)}function kE(r,t){switch(typeof r){case"object":return r===null?Es(349,t):Array.isArray(r)?ZB(r,t):e8(r,t);case"string":return G0(r,t);case"boolean":return XB(r,t);case"number":return Es(r,t);case"undefined":return Es(937,t);default:return Es(617,t)}}function Es(r,t){return(t<<5)-t+r|0}function XB(r,t){return Es(r?433:863,t)}function G0(r,t){t=Es(149417,t);for(let e=0,n=r.length;e<n;e++)t=Es(r.charCodeAt(e),t);return t}function ZB(r,t){return t=Es(104579,t),r.reduce((e,n)=>kE(n,e),t)}function e8(r,t){return t=Es(181387,t),Object.keys(r).sort().reduce((e,n)=>(e=G0(n,e),kE(r[n],e)),t)}function PE(r,t,e=32){let n=e-t,o=~((1<<n)-1);return(r<<t|(o&r)>>>n)>>>0}function Mm(r,t=32){return r instanceof ArrayBuffer?Ea(L.wrap(new Uint8Array(r))):(r>>>0).toString(16).padStart(t/4,"0")}var z0,Ul=y(()=>{ze();qr();Ot();z0=class r{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(t){let e=t.length;if(e===0)return;let n=this._buff,o=this._buffLen,i=this._leftoverHighSurrogate,s,a;for(i!==0?(s=i,a=-1,i=0):(s=t.charCodeAt(0),a=0);;){let l=s;if(e0(s))if(a+1<e){let c=t.charCodeAt(a+1);rE(c)?(a++,l=t0(s,c)):l=65533}else{i=s;break}else rE(s)&&(l=65533);if(o=this._push(n,o,l),a++,a<e)s=t.charCodeAt(a);else break}this._buffLen=o,this._leftoverHighSurrogate=i}_push(t,e,n){return n<128?t[e++]=n:n<2048?(t[e++]=192|(n&1984)>>>6,t[e++]=128|(n&63)>>>0):n<65536?(t[e++]=224|(n&61440)>>>12,t[e++]=128|(n&4032)>>>6,t[e++]=128|(n&63)>>>0):(t[e++]=240|(n&1835008)>>>18,t[e++]=128|(n&258048)>>>12,t[e++]=128|(n&4032)>>>6,t[e++]=128|(n&63)>>>0),e>=64&&(this._step(),e-=64,this._totalLen+=64,t[0]=t[64],t[1]=t[65],t[2]=t[66]),e}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()),Mm(this._h0)+Mm(this._h1)+Mm(this._h2)+Mm(this._h3)+Mm(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 t=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(t/4294967296),!1),this._buffDV.setUint32(60,t%4294967296,!1),this._step()}_step(){let t=r._bigBlock32,e=this._buffDV;for(let p=0;p<64;p+=4)t.setUint32(p,e.getUint32(p,!1),!1);for(let p=64;p<320;p+=4)t.setUint32(p,PE(t.getUint32(p-12,!1)^t.getUint32(p-32,!1)^t.getUint32(p-56,!1)^t.getUint32(p-64,!1),1),!1);let n=this._h0,o=this._h1,i=this._h2,s=this._h3,a=this._h4,l,c,u;for(let p=0;p<80;p++)p<20?(l=o&i|~o&s,c=1518500249):p<40?(l=o^i^s,c=1859775393):p<60?(l=o&i|o&s|i&s,c=2400959708):(l=o^i^s,c=3395469782),u=PE(n,5)+l+a+c+t.getUint32(p*4,!1)&4294967295,a=s,s=i,i=PE(o,30),o=n,n=u;this._h0=this._h0+n&4294967295,this._h1=this._h1+o&4294967295,this._h2=this._h2+i&4294967295,this._h3=this._h3+s&4294967295,this._h4=this._h4+a&4294967295}}});function DE(...r){switch(r.length){case 1:return d(2680,null,r[0]);case 2:return d(2681,null,r[0],r[1]);case 3:return d(2682,null,r[0],r[1],r[2]);default:return}}var t8,n8,wa,K0=y(()=>{Kr();Se();le();t8=d(2679,null),n8=d(2678,null),wa=class r{constructor(){this._input="";this._start=0;this._current=0;this._tokens=[];this._errors=[];this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(t){switch(t.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return t.isTripleEq?"===":"==";case 4:return t.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">";case 8:return">=";case 9:return"=~";case 10:return t.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 17:return t.lexeme;case 18:return t.lexeme;case 19:return t.lexeme;case 20:return"EOF";default:throw sv(`unhandled token type: ${JSON.stringify(t)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set(["i","g","s","m","y","u"].map(t=>t.charCodeAt(0)))}static{this._keywords=new Map([["not",14],["in",13],["false",12],["true",11]])}get errors(){return this._errors}reset(t){return this._input=t,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){let e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){let e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(DE("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(DE("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(DE("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(t){return this._isAtEnd()||this._input.charCodeAt(this._current)!==t?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(t){this._tokens.push({type:t,offset:this._start})}_error(t){let e=this._start,n=this._input.substring(this._start,this._current),o={type:19,offset:this._start,lexeme:n};this._errors.push({offset:e,lexeme:n,additionalInfo:t}),this._tokens.push(o)}_string(){this.stringRe.lastIndex=this._start;let t=this.stringRe.exec(this._input);if(t){this._current=this._start+t[0].length;let e=this._input.substring(this._start,this._current),n=r._keywords.get(e);n?this._addToken(n):this._tokens.push({type:17,lexeme:e,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(t8);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let t=this._current,e=!1,n=!1;for(;;){if(t>=this._input.length){this._current=t,this._error(n8);return}let i=this._input.charCodeAt(t);if(e)e=!1;else if(i===47&&!n){t++;break}else i===91?n=!0:i===92?e=!0:i===93&&(n=!1);t++}for(;t<this._input.length&&r._regexFlags.has(this._input.charCodeAt(t));)t++;this._current=t;let o=this._input.substring(this._start,this._current);this._tokens.push({type:10,lexeme:o,offset:this._start})}_isAtEnd(){return this._current>=this._input.length}}});function o8(r,t,e){t[mi.DI_TARGET]===t?t[mi.DI_DEPENDENCIES].push({id:r,index:e}):(t[mi.DI_DEPENDENCIES]=[{id:r,index:e}],t[mi.DI_TARGET]=t)}function D(r){if(mi.serviceIds.has(r))return mi.serviceIds.get(r);let t=function(e,n,o){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");o8(t,e,o)};return t.toString=()=>r,mi.serviceIds.set(r,t),t}var mi,Tn,X=y(()=>{(o=>{o.serviceIds=new Map,o.DI_TARGET="$di$target",o.DI_DEPENDENCIES="$di$dependencies";function n(i){return i[o.DI_DEPENDENCIES]||[]}o.getServiceDependencies=n})(mi||={});Tn=D("instantiationService")});function Am(r,t){return r.cmp(t)}function Av(r,t){if(typeof r=="string"){let e=parseFloat(r);isNaN(e)||(r=e)}return typeof r=="string"||typeof r=="number"?t(r):So.INSTANCE}function J0(r){let t=null;for(let e=0,n=r.length;e<n;e++){let o=r[e].substituteConstants();if(r[e]!==o&&t===null){t=[];for(let i=0;i<e;i++)t[i]=r[i]}t!==null&&(t[e]=o)}return t===null?r:t}function Y0(r,t){return r<t?-1:r>t?1:0}function Hl(r,t,e,n){return r<e?-1:r>e?1:t<n?-1:t>n?1:0}function Q0(r){return r.type===9?r.expr:[r]}var Qn,r8,i8,s8,a8,l8,j0,c8,d8,u8,p8,_E,Ge,So,Lo,ws,Ta,gd,fd,Ra,Ts,Pa,Nl,Fl,Vl,ka,ME,Mv,Lm,x,Vi,lo=y(()=>{Kr();me();Ot();K0();X();le();Se();Qn=new Map;Qn.set("false",!1);Qn.set("true",!0);Qn.set("isMac",ut);Qn.set("isLinux",qe);Qn.set("isWindows",te);Qn.set("isWeb",pn);Qn.set("isMacNative",ut&&!pn);Qn.set("isEdge",Yh);Qn.set("isFirefox",uM);Qn.set("isChrome",cm);Qn.set("isSafari",pM);r8=Object.prototype.hasOwnProperty,i8={regexParsingWithErrorRecovery:!0},s8=d(2659,null),a8=d(2660,null),l8=d(2662,null),j0=d(2658,null),c8=d(2665,null),d8=d(2666,null),u8=d(2663,null),p8=d(2664,null),_E=class r{constructor(t=i8){this._config=t;this._scanner=new wa;this._tokens=[];this._current=0;this._parsingErrors=[];this._flagsGYRe=/g|y/g}static{this._parseError=new Error}get lexingErrors(){return this._scanner.errors}get parsingErrors(){return this._parsingErrors}parse(t){if(t===""){this._parsingErrors.push({message:s8,offset:0,lexeme:"",additionalInfo:a8});return}this._tokens=this._scanner.reset(t).scan(),this._current=0,this._parsingErrors=[];try{let e=this._expr();if(!this._isAtEnd()){let n=this._peek(),o=n.type===17?d8:void 0;throw this._parsingErrors.push({message:c8,offset:n.offset,lexeme:wa.getLexeme(n),additionalInfo:o}),r._parseError}return e}catch(e){if(e!==r._parseError)throw e;return}}_expr(){return this._or()}_or(){let t=[this._and()];for(;this._matchOne(16);){let e=this._and();t.push(e)}return t.length===1?t[0]:Ge.or(...t)}_and(){let t=[this._term()];for(;this._matchOne(15);){let e=this._term();t.push(e)}return t.length===1?t[0]:Ge.and(...t)}_term(){if(this._matchOne(2)){let t=this._peek();switch(t.type){case 11:return this._advance(),So.INSTANCE;case 12:return this._advance(),Lo.INSTANCE;case 0:{this._advance();let e=this._expr();return this._consume(1,j0),e?.negate()}case 17:return this._advance(),Ts.create(t.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",t)}}return this._primary()}_primary(){let t=this._peek();switch(t.type){case 11:return this._advance(),Ge.true();case 12:return this._advance(),Ge.false();case 0:{this._advance();let e=this._expr();return this._consume(1,j0),e}case 17:{let e=t.lexeme;if(this._advance(),this._matchOne(9)){let o=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),o.type!==10)throw this._errExpectedButGot("REGEX",o);let i=o.lexeme,s=i.lastIndexOf("/"),a=s===i.length-1?void 0:this._removeFlagsGY(i.substring(s+1)),l;try{l=new RegExp(i.substring(1,s),a)}catch{throw this._errExpectedButGot("REGEX",o)}return ka.create(e,l)}switch(o.type){case 10:case 19:{let i=[o.lexeme];this._advance();let s=this._peek(),a=0;for(let m=0;m<o.lexeme.length;m++)o.lexeme.charCodeAt(m)===40?a++:o.lexeme.charCodeAt(m)===41&&a--;for(;!this._isAtEnd()&&s.type!==15&&s.type!==16;){switch(s.type){case 0:a++;break;case 1:a--;break;case 10:case 18:for(let m=0;m<s.lexeme.length;m++)s.lexeme.charCodeAt(m)===40?a++:o.lexeme.charCodeAt(m)===41&&a--}if(a<0)break;i.push(wa.getLexeme(s)),this._advance(),s=this._peek()}let l=i.join(""),c=l.lastIndexOf("/"),u=c===l.length-1?void 0:this._removeFlagsGY(l.substring(c+1)),p;try{p=new RegExp(l.substring(1,c),u)}catch{throw this._errExpectedButGot("REGEX",o)}return Ge.regex(e,p)}case 18:{let i=o.lexeme;this._advance();let s=null;if(!fm(i)){let a=i.indexOf("/"),l=i.lastIndexOf("/");if(a!==l&&a>=0){let c=i.slice(a+1,l),u=i[l+1]==="i"?"i":"";try{s=new RegExp(c,u)}catch{throw this._errExpectedButGot("REGEX",o)}}}if(s===null)throw this._errExpectedButGot("REGEX",o);return ka.create(e,s)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,l8);let o=this._value();return Ge.notIn(e,o)}switch(this._peek().type){case 3:{this._advance();let o=this._value();if(this._previous().type===18)return Ge.equals(e,o);switch(o){case"true":return Ge.has(e);case"false":return Ge.not(e);default:return Ge.equals(e,o)}}case 4:{this._advance();let o=this._value();if(this._previous().type===18)return Ge.notEquals(e,o);switch(o){case"true":return Ge.not(e);case"false":return Ge.has(e);default:return Ge.notEquals(e,o)}}case 5:return this._advance(),Fl.create(e,this._value());case 6:return this._advance(),Vl.create(e,this._value());case 7:return this._advance(),Pa.create(e,this._value());case 8:return this._advance(),Nl.create(e,this._value());case 13:return this._advance(),Ge.in(e,this._value());default:return Ge.has(e)}}case 20:throw this._parsingErrors.push({message:u8,offset:t.offset,lexeme:"",additionalInfo:p8}),r._parseError;default:throw this._errExpectedButGot(`true | false | KEY 
	| KEY '=~' REGEX 
	| KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){let t=this._peek();switch(t.type){case 17:case 18:return this._advance(),t.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(t){return t.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(t){return this._check(t)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(t,e){if(this._check(t))return this._advance();throw this._errExpectedButGot(e,this._peek())}_errExpectedButGot(t,e,n){let o=d(2661,null,t,wa.getLexeme(e)),i=e.offset,s=wa.getLexeme(e);return this._parsingErrors.push({message:o,offset:i,lexeme:s,additionalInfo:n}),r._parseError}_check(t){return this._peek().type===t}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}},Ge=class{static false(){return So.INSTANCE}static true(){return Lo.INSTANCE}static has(t){return ws.create(t)}static equals(t,e){return Ta.create(t,e)}static notEquals(t,e){return Ra.create(t,e)}static regex(t,e){return ka.create(t,e)}static in(t,e){return gd.create(t,e)}static notIn(t,e){return fd.create(t,e)}static not(t){return Ts.create(t)}static and(...t){return Mv.create(t,null,!0)}static or(...t){return Lm.create(t,null,!0)}static greater(t,e){return Pa.create(t,e)}static greaterEquals(t,e){return Nl.create(t,e)}static smaller(t,e){return Fl.create(t,e)}static smallerEquals(t,e){return Vl.create(t,e)}static{this._parser=new _E({regexParsingWithErrorRecovery:!1})}static deserialize(t){return t==null?void 0:this._parser.parse(t)}};So=class r{constructor(){this.type=0}static{this.INSTANCE=new r}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!1}serialize(){return"false"}keys(){return[]}map(t){return this}negate(){return Lo.INSTANCE}},Lo=class r{constructor(){this.type=1}static{this.INSTANCE=new r}cmp(t){return this.type-t.type}equals(t){return t.type===this.type}substituteConstants(){return this}evaluate(t){return!0}serialize(){return"true"}keys(){return[]}map(t){return this}negate(){return So.INSTANCE}},ws=class r{constructor(t,e){this.key=t;this.negated=e;this.type=2}static create(t,e=null){let n=Qn.get(t);return typeof n=="boolean"?n?Lo.INSTANCE:So.INSTANCE:new r(t,e)}cmp(t){return t.type!==this.type?this.type-t.type:Y0(this.key,t.key)}equals(t){return t.type===this.type?this.key===t.key:!1}substituteConstants(){let t=Qn.get(this.key);return typeof t=="boolean"?t?Lo.INSTANCE:So.INSTANCE:this}evaluate(t){return!!t.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}map(t){return t.mapDefined(this.key)}negate(){return this.negated||(this.negated=Ts.create(this.key,this)),this.negated}},Ta=class r{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=4}static create(t,e,n=null){if(typeof e=="boolean")return e?ws.create(t,n):Ts.create(t,n);let o=Qn.get(t);return typeof o=="boolean"?e===(o?"true":"false")?Lo.INSTANCE:So.INSTANCE:new r(t,e,n)}cmp(t){return t.type!==this.type?this.type-t.type:Hl(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){let t=Qn.get(this.key);if(typeof t=="boolean"){let e=t?"true":"false";return this.value===e?Lo.INSTANCE:So.INSTANCE}return this}evaluate(t){return t.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}map(t){return t.mapEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Ra.create(this.key,this.value,this)),this.negated}},gd=class r{constructor(t,e){this.key=t;this.valueKey=e;this.type=10;this.negated=null}static create(t,e){return new r(t,e)}cmp(t){return t.type!==this.type?this.type-t.type:Hl(this.key,this.valueKey,t.key,t.valueKey)}equals(t){return t.type===this.type?this.key===t.key&&this.valueKey===t.valueKey:!1}substituteConstants(){return this}evaluate(t){let e=t.getValue(this.valueKey),n=t.getValue(this.key);if(Array.isArray(e)){if(e.includes(n))return!0;if(te&&typeof n=="string"&&n.startsWith("file:///")){let o=n.toLowerCase();return e.some(i=>typeof i=="string"&&i.toLowerCase()===o)}return!1}if(typeof n=="string"&&typeof e=="object"&&e!==null){if(r8.call(e,n))return!0;if(te&&n.startsWith("file:///")){let o=n.toLowerCase();return Object.keys(e).some(i=>i.toLowerCase()===o)}return!1}return!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}map(t){return t.mapIn(this.key,this.valueKey)}negate(){return this.negated||(this.negated=fd.create(this.key,this.valueKey)),this.negated}},fd=class r{constructor(t,e){this.key=t;this.valueKey=e;this.type=11;this._negated=gd.create(t,e)}static create(t,e){return new r(t,e)}cmp(t){return t.type!==this.type?this.type-t.type:this._negated.cmp(t._negated)}equals(t){return t.type===this.type?this._negated.equals(t._negated):!1}substituteConstants(){return this}evaluate(t){return!this._negated.evaluate(t)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}map(t){return t.mapNotIn(this.key,this.valueKey)}negate(){return this._negated}},Ra=class r{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=5}static create(t,e,n=null){if(typeof e=="boolean")return e?Ts.create(t,n):ws.create(t,n);let o=Qn.get(t);return typeof o=="boolean"?e===(o?"true":"false")?So.INSTANCE:Lo.INSTANCE:new r(t,e,n)}cmp(t){return t.type!==this.type?this.type-t.type:Hl(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){let t=Qn.get(this.key);if(typeof t=="boolean"){let e=t?"true":"false";return this.value===e?So.INSTANCE:Lo.INSTANCE}return this}evaluate(t){return t.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}map(t){return t.mapNotEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Ta.create(this.key,this.value,this)),this.negated}},Ts=class r{constructor(t,e){this.key=t;this.negated=e;this.type=3}static create(t,e=null){let n=Qn.get(t);return typeof n=="boolean"?n?So.INSTANCE:Lo.INSTANCE:new r(t,e)}cmp(t){return t.type!==this.type?this.type-t.type:Y0(this.key,t.key)}equals(t){return t.type===this.type?this.key===t.key:!1}substituteConstants(){let t=Qn.get(this.key);return typeof t=="boolean"?t?So.INSTANCE:Lo.INSTANCE:this}evaluate(t){return!t.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}map(t){return t.mapNot(this.key)}negate(){return this.negated||(this.negated=ws.create(this.key,this)),this.negated}};Pa=class r{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=12}static create(t,e,n=null){return Av(e,o=>new r(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:Hl(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){return this}evaluate(t){return typeof this.value=="string"?!1:parseFloat(t.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}map(t){return t.mapGreater(this.key,this.value)}negate(){return this.negated||(this.negated=Vl.create(this.key,this.value,this)),this.negated}},Nl=class r{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=13}static create(t,e,n=null){return Av(e,o=>new r(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:Hl(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){return this}evaluate(t){return typeof this.value=="string"?!1:parseFloat(t.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}map(t){return t.mapGreaterEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Fl.create(this.key,this.value,this)),this.negated}},Fl=class r{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=14}static create(t,e,n=null){return Av(e,o=>new r(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:Hl(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){return this}evaluate(t){return typeof this.value=="string"?!1:parseFloat(t.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}map(t){return t.mapSmaller(this.key,this.value)}negate(){return this.negated||(this.negated=Nl.create(this.key,this.value,this)),this.negated}},Vl=class r{constructor(t,e,n){this.key=t;this.value=e;this.negated=n;this.type=15}static create(t,e,n=null){return Av(e,o=>new r(t,o,n))}cmp(t){return t.type!==this.type?this.type-t.type:Hl(this.key,this.value,t.key,t.value)}equals(t){return t.type===this.type?this.key===t.key&&this.value===t.value:!1}substituteConstants(){return this}evaluate(t){return typeof this.value=="string"?!1:parseFloat(t.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}map(t){return t.mapSmallerEquals(this.key,this.value)}negate(){return this.negated||(this.negated=Pa.create(this.key,this.value,this)),this.negated}},ka=class r{constructor(t,e){this.key=t;this.regexp=e;this.type=7;this.negated=null}static create(t,e){return new r(t,e)}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.key<t.key)return-1;if(this.key>t.key)return 1;let e=this.regexp?this.regexp.source:"",n=t.regexp?t.regexp.source:"";return e<n?-1:e>n?1:0}equals(t){if(t.type===this.type){let e=this.regexp?this.regexp.source:"",n=t.regexp?t.regexp.source:"";return this.key===t.key&&e===n}return!1}substituteConstants(){return this}evaluate(t){let e=t.getValue(this.key);return this.regexp?this.regexp.test(e):!1}serialize(){let t=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:"/invalid/";return`${this.key} =~ ${t}`}keys(){return[this.key]}map(t){return t.mapRegex(this.key,this.regexp)}negate(){return this.negated||(this.negated=ME.create(this)),this.negated}},ME=class r{constructor(t){this._actual=t;this.type=8}static create(t){return new r(t)}cmp(t){return t.type!==this.type?this.type-t.type:this._actual.cmp(t._actual)}equals(t){return t.type===this.type?this._actual.equals(t._actual):!1}substituteConstants(){return this}evaluate(t){return!this._actual.evaluate(t)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}map(t){return new r(this._actual.map(t))}negate(){return this._actual}};Mv=class r{constructor(t,e){this.expr=t;this.negated=e;this.type=6}static create(t,e,n){return r._normalizeArr(t,e,n)}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.expr.length<t.expr.length)return-1;if(this.expr.length>t.expr.length)return 1;for(let e=0,n=this.expr.length;e<n;e++){let o=Am(this.expr[e],t.expr[e]);if(o!==0)return o}return 0}equals(t){if(t.type===this.type){if(this.expr.length!==t.expr.length)return!1;for(let e=0,n=this.expr.length;e<n;e++)if(!this.expr[e].equals(t.expr[e]))return!1;return!0}return!1}substituteConstants(){let t=J0(this.expr);return t===this.expr?this:r.create(t,this.negated,!1)}evaluate(t){for(let e=0,n=this.expr.length;e<n;e++)if(!this.expr[e].evaluate(t))return!1;return!0}static _normalizeArr(t,e,n){let o=[],i=!1;for(let s of t)if(s){if(s.type===1){i=!0;continue}if(s.type===0)return So.INSTANCE;if(s.type===6){o.push(...s.expr);continue}o.push(s)}if(o.length===0&&i)return Lo.INSTANCE;if(o.length!==0){if(o.length===1)return o[0];o.sort(Am);for(let s=1;s<o.length;s++)o[s-1].equals(o[s])&&(o.splice(s,1),s--);if(o.length===1)return o[0];for(;o.length>1;){let s=o[o.length-1];if(s.type!==9)break;o.pop();let a=o.pop(),l=o.length===0,c=Lm.create(s.expr.map(u=>r.create([u,a],null,n)),null,l);c&&(o.push(c),o.sort(Am))}if(o.length===1)return o[0];if(n){for(let s=0;s<o.length;s++)for(let a=s+1;a<o.length;a++)if(o[s].negate().equals(o[a]))return So.INSTANCE;if(o.length===1)return o[0]}return new r(o,e)}}serialize(){return this.expr.map(t=>t.serialize()).join(" && ")}keys(){let t=[];for(let e of this.expr)t.push(...e.keys());return t}map(t){return new r(this.expr.map(e=>e.map(t)),null)}negate(){if(!this.negated){let t=[];for(let e of this.expr)t.push(e.negate());this.negated=Lm.create(t,this,!0)}return this.negated}},Lm=class r{constructor(t,e){this.expr=t;this.negated=e;this.type=9}static create(t,e,n){return r._normalizeArr(t,e,n)}cmp(t){if(t.type!==this.type)return this.type-t.type;if(this.expr.length<t.expr.length)return-1;if(this.expr.length>t.expr.length)return 1;for(let e=0,n=this.expr.length;e<n;e++){let o=Am(this.expr[e],t.expr[e]);if(o!==0)return o}return 0}equals(t){if(t.type===this.type){if(this.expr.length!==t.expr.length)return!1;for(let e=0,n=this.expr.length;e<n;e++)if(!this.expr[e].equals(t.expr[e]))return!1;return!0}return!1}substituteConstants(){let t=J0(this.expr);return t===this.expr?this:r.create(t,this.negated,!1)}evaluate(t){for(let e=0,n=this.expr.length;e<n;e++)if(this.expr[e].evaluate(t))return!0;return!1}static _normalizeArr(t,e,n){let o=[],i=!1;if(t){for(let s=0,a=t.length;s<a;s++){let l=t[s];if(l){if(l.type===0){i=!0;continue}if(l.type===1)return Lo.INSTANCE;if(l.type===9){o=o.concat(l.expr);continue}o.push(l)}}if(o.length===0&&i)return So.INSTANCE;o.sort(Am)}if(o.length!==0){if(o.length===1)return o[0];for(let s=1;s<o.length;s++)o[s-1].equals(o[s])&&(o.splice(s,1),s--);if(o.length===1)return o[0];if(n){for(let s=0;s<o.length;s++)for(let a=s+1;a<o.length;a++)if(o[s].negate().equals(o[a]))return Lo.INSTANCE;if(o.length===1)return o[0]}return new r(o,e)}}serialize(){return this.expr.map(t=>t.serialize()).join(" || ")}keys(){let t=[];for(let e of this.expr)t.push(...e.keys());return t}map(t){return new r(this.expr.map(e=>e.map(t)),null)}negate(){if(!this.negated){let t=[];for(let e of this.expr)t.push(e.negate());for(;t.length>1;){let e=t.shift(),n=t.shift(),o=[];for(let i of Q0(e))for(let s of Q0(n))o.push(Mv.create([i,s],null,!1));t.unshift(r.create(o,null,!1))}this.negated=r.create(t,this,!0)}return this.negated}},x=class r extends ws{static{this._info=[]}static all(){return r._info.values()}constructor(t,e,n){super(t,null),this._defaultValue=e,typeof n=="object"?r._info.push({...n,key:t}):n!==!0&&r._info.push({key:t,description:n,type:e!=null?typeof e:void 0})}bindTo(t){return t.createKey(this.key,this._defaultValue)}getValue(t){return t.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(t){return Ta.create(this.key,t)}notEqualsTo(t){return Ra.create(this.key,t)}greater(t){return Pa.create(this.key,t)}},Vi=D("contextKeyService")});function LE(r){return fo(r)}function OE(r,t){return r!==0&&r<=t}function Z0(r,t,e){switch(t){case 1:r.trace(e);break;case 2:r.debug(e);break;case 3:r.info(e);break;case 4:r.warn(e);break;case 5:r.error(e);break;case 0:break;default:throw new Error(`Invalid log level ${t}`)}}function g8(r){switch(r){case"debug":return console.debug;case"error":return console.error;case"info":return console.info;case"log":return console.log;case"warn":return console.warn}}function Hi(r,...t){if(!m8){X0=!0;try{g8(r).apply(console,t)}finally{X0=!1}}}function hd(r,t=!1){let e="";for(let n=0;n<r.length;n++){let o=r[n];if(o instanceof Error&&(o=jr(o,t)),typeof o=="object")try{o=JSON.stringify(o)}catch{}e+=(n>0?" ":"")+o}return e}function Fm(r){if(r.verbose)return 1;if(typeof r.logLevel=="string"){let t=f8(r.logLevel.toLowerCase());if(t!==void 0)return t}return Nm}function UE(r){switch(r){case 1:return"trace";case 2:return"debug";case 3:return"info";case 4:return"warn";case 5:return"error";case 0:return"off"}}function f8(r){switch(r){case"trace":return 1;case"debug":return 2;case"info":return 3;case"warn":return 4;case"error":return 5;case"critical":return 5;case"off":return 0}}var K,Oo,Nm,m8,X0,Wl,Om,Lv,Ov,Um,AE,Uv,kee,Pe=y(()=>{le();Ol();de();Ul();Q();_n();me();Rt();Ee();ie();lo();X();K=D("logService"),Oo=D("loggerService");Nm=3;m8=!1,X0=!1;Wl=class extends _{constructor(){super(...arguments);this.level=Nm;this._onDidChangeLogLevel=this._register(new w)}get onDidChangeLogLevel(){return this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return OE(this.level,e)}canLog(e){return this._store.isDisposed?!1:this.checkLogLevel(e)}},Om=class extends Wl{constructor(e){super();this.logAlways=e}checkLogLevel(e){return this.logAlways||super.checkLogLevel(e)}trace(e,...n){this.canLog(1)&&this.log(1,hd([e,...n],!0))}debug(e,...n){this.canLog(2)&&this.log(2,hd([e,...n]))}info(e,...n){this.canLog(3)&&this.log(3,hd([e,...n]))}warn(e,...n){this.canLog(4)&&this.log(4,hd([e,...n]))}error(e,...n){if(this.canLog(5))if(e instanceof Error){let o=Array.prototype.slice.call(arguments);o[0]=e.stack,this.log(5,hd(o))}else this.log(5,hd([e,...n]))}flush(){}},Lv=class extends Wl{constructor(e=Nm,n=!0){super();this.useColors=n;this.setLevel(e)}trace(e,...n){this.canLog(1)&&(this.useColors?Hi("log","%cTRACE","color: #888",e,...n):Hi("log",e,...n))}debug(e,...n){this.canLog(2)&&(this.useColors?Hi("log","%cDEBUG","background: #eee; color: #888",e,...n):Hi("log",e,...n))}info(e,...n){this.canLog(3)&&(this.useColors?Hi("log","%c INFO","color: #33f",e,...n):Hi("log",e,...n))}warn(e,...n){this.canLog(4)&&(this.useColors?Hi("warn","%c WARN","color: #993",e,...n):Hi("log",e,...n))}error(e,...n){this.canLog(5)&&(this.useColors?Hi("error","%c  ERR","color: #f33",e,...n):Hi("error",e,...n))}flush(){}},Ov=class extends Wl{constructor(e){super();this.loggers=e;e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(let n of this.loggers)n.setLevel(e);super.setLevel(e)}trace(e,...n){for(let o of this.loggers)o.trace(e,...n)}debug(e,...n){for(let o of this.loggers)o.debug(e,...n)}info(e,...n){for(let o of this.loggers)o.info(e,...n)}warn(e,...n){for(let o of this.loggers)o.warn(e,...n)}error(e,...n){for(let o of this.loggers)o.error(e,...n)}flush(){for(let e of this.loggers)e.flush()}dispose(){for(let e of this.loggers)e.dispose();super.dispose()}},Um=class extends _{constructor(e,n,o){super();this.logLevel=e;this.logsHome=n;this._loggers=new Xe;this._onDidChangeLoggers=this._register(new w);this.onDidChangeLoggers=this._onDidChangeLoggers.event;this._onDidChangeLogLevel=this._register(new w);this.onDidChangeLogLevel=this._onDidChangeLogLevel.event;this._onDidChangeVisibility=this._register(new w);this.onDidChangeVisibility=this._onDidChangeVisibility.event;if(o)for(let i of o)this._loggers.set(i.resource,{logger:void 0,info:i})}getLoggerEntry(e){return Z(e)?[...this._loggers.values()].find(n=>n.info.id===e):this._loggers.get(e)}getLogger(e){return this.getLoggerEntry(e)?.logger}createLogger(e,n){let o=this.toResource(e),i=Z(e)?e:n?.id??Rr(o.toString()).toString(16),s=this._loggers.get(o)?.logger,a=n?.logLevel==="always"?1:n?.logLevel;s||(s=this.doCreateLogger(o,a??this.getLogLevel(o)??this.logLevel,{...n,id:i}));let l={logger:s,info:{resource:o,id:i,logLevel:a,name:n?.name,hidden:n?.hidden,group:n?.group,extensionId:n?.extensionId,when:n?.when}};return this.registerLogger(l.info),this._loggers.set(o,l),s}toResource(e){return Z(e)?fe(this.logsHome,`${e.replace(/[\\/:\*\?"<>\|]/g,"")}.log`):e}setLogLevel(e,n){if(b.isUri(e)){let o=e,i=n,s=this._loggers.get(o);s&&i!==s.info.logLevel&&(s.info.logLevel=i===this.logLevel?void 0:i,s.logger?.setLevel(i),this._loggers.set(s.info.resource,s),this._onDidChangeLogLevel.fire([o,i]))}else{this.logLevel=e;for(let[o,i]of this._loggers.entries())this._loggers.get(o)?.info.logLevel===void 0&&i.logger?.setLevel(this.logLevel);this._onDidChangeLogLevel.fire(this.logLevel)}}setVisibility(e,n){let o=this.getLoggerEntry(e);o&&n!==!o.info.hidden&&(o.info.hidden=!n,this._loggers.set(o.info.resource,o),this._onDidChangeVisibility.fire([o.info.resource,n]))}getLogLevel(e){let n;return e&&(n=this._loggers.get(e)?.info.logLevel),n??this.logLevel}registerLogger(e){let n=this._loggers.get(e.resource);n?n.info.hidden!==e.hidden&&this.setVisibility(e.resource,!e.hidden):(this._loggers.set(e.resource,{info:e,logger:void 0}),this._onDidChangeLoggers.fire({added:[e],removed:[]}))}deregisterLogger(e){let n=this.toResource(e),o=this._loggers.get(n);o&&(o.logger&&o.logger.dispose(),this._loggers.delete(n),this._onDidChangeLoggers.fire({added:[],removed:[o.info]}))}*getRegisteredLoggers(){for(let e of this._loggers.values())yield e.info}getRegisteredLogger(e){return this._loggers.get(e)?.info}dispose(){this._loggers.forEach(e=>e.logger?.dispose()),this._loggers.clear(),super.dispose()}},AE=class{constructor(){this.onDidChangeLogLevel=new w().event}setLevel(t){}getLevel(){return 3}trace(t,...e){}debug(t,...e){}info(t,...e){}warn(t,...e){}error(t,...e){}critical(t,...e){}dispose(){}flush(){}},Uv=class extends AE{};kee=new x("logLevel",UE(3))});var at,Vm=y(()=>{at=class{constructor(t,e=[],n=!1){this.ctor=t,this.staticArguments=e,this.supportsDelayedInstantiation=n}}});function FE(r,t=!1){let e=0,n=r.length,o="",i=0,s=16,a=0;function l(v){let S=0,T=0;for(;S<v;){let E=r.charCodeAt(e);if(E>=48&&E<=57)T=T*16+E-48;else if(E>=65&&E<=70)T=T*16+E-65+10;else if(E>=97&&E<=102)T=T*16+E-97+10;else break;e++,S++}return S<v&&(T=-1),T}function c(v){e=v,o="",i=0,s=16,a=0}function u(){let v=e;if(r.charCodeAt(e)===48)e++;else for(e++;e<r.length&&vd(r.charCodeAt(e));)e++;if(e<r.length&&r.charCodeAt(e)===46)if(e++,e<r.length&&vd(r.charCodeAt(e)))for(e++;e<r.length&&vd(r.charCodeAt(e));)e++;else return a=3,r.substring(v,e);let S=e;if(e<r.length&&(r.charCodeAt(e)===69||r.charCodeAt(e)===101))if(e++,(e<r.length&&r.charCodeAt(e)===43||r.charCodeAt(e)===45)&&e++,e<r.length&&vd(r.charCodeAt(e))){for(e++;e<r.length&&vd(r.charCodeAt(e));)e++;S=e}else a=3;return r.substring(v,S)}function p(){let v="",S=e;for(;;){if(e>=n){v+=r.substring(S,e),a=2;break}let T=r.charCodeAt(e);if(T===34){v+=r.substring(S,e),e++;break}if(T===92){if(v+=r.substring(S,e),e++,e>=n){a=2;break}switch(r.charCodeAt(e++)){case 34:v+='"';break;case 92:v+="\\";break;case 47:v+="/";break;case 98:v+="\b";break;case 102:v+="\f";break;case 110:v+=`
`;break;case 114:v+="\r";break;case 116:v+="	";break;case 117:{let k=l(4);k>=0?v+=String.fromCharCode(k):a=4;break}default:a=5}S=e;continue}if(T>=0&&T<=31)if(Nv(T)){v+=r.substring(S,e),a=2;break}else a=6;e++}return v}function m(){if(o="",a=0,i=e,e>=n)return i=n,s=17;let v=r.charCodeAt(e);if(NE(v)){do e++,o+=String.fromCharCode(v),v=r.charCodeAt(e);while(NE(v));return s=15}if(Nv(v))return e++,o+=String.fromCharCode(v),v===13&&r.charCodeAt(e)===10&&(e++,o+=`
`),s=14;switch(v){case 123:return e++,s=1;case 125:return e++,s=2;case 91:return e++,s=3;case 93:return e++,s=4;case 58:return e++,s=6;case 44:return e++,s=5;case 34:return e++,o=p(),s=10;case 47:{let S=e-1;if(r.charCodeAt(e+1)===47){for(e+=2;e<n&&!Nv(r.charCodeAt(e));)e++;return o=r.substring(S,e),s=12}if(r.charCodeAt(e+1)===42){e+=2;let T=n-1,E=!1;for(;e<T;){if(r.charCodeAt(e)===42&&r.charCodeAt(e+1)===47){e+=2,E=!0;break}e++}return E||(e++,a=1),o=r.substring(S,e),s=13}return o+=String.fromCharCode(v),e++,s=16}case 45:if(o+=String.fromCharCode(v),e++,e===n||!vd(r.charCodeAt(e)))return s=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return o+=u(),s=11;default:for(;e<n&&g(v);)e++,v=r.charCodeAt(e);if(i!==e){switch(o=r.substring(i,e),o){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return o+=String.fromCharCode(v),e++,s=16}}function g(v){if(NE(v)||Nv(v))return!1;switch(v){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function h(){let v;do v=m();while(v>=12&&v<=15);return v}return{setPosition:c,getPosition:()=>e,scan:t?h:m,getToken:()=>s,getTokenValue:()=>o,getTokenOffset:()=>i,getTokenLength:()=>e-i,getTokenError:()=>a}}function NE(r){return r===32||r===9||r===11||r===12||r===160||r===5760||r>=8192&&r<=8203||r===8239||r===8287||r===12288||r===65279}function Nv(r){return r===10||r===13||r===8232||r===8233}function vd(r){return r>=48&&r<=57}function ur(r,t=[],e=Fv.DEFAULT){let n=null,o=[],i=[];function s(l){Array.isArray(o)?o.push(l):n!==null&&(o[n]=l)}return yd(r,{onObjectBegin:()=>{let l={};s(l),i.push(o),o=l,n=null},onObjectProperty:l=>{n=l},onObjectEnd:()=>{o=i.pop()},onArrayBegin:()=>{let l=[];s(l),i.push(o),o=l,n=null},onArrayEnd:()=>{o=i.pop()},onLiteralValue:s,onError:(l,c,u)=>{t.push({error:l,offset:c,length:u})}},e),o[0]}function eA(r,t=[],e=Fv.DEFAULT){let n={type:"array",offset:-1,length:-1,children:[],parent:void 0};function o(l){n.type==="property"&&(n.length=l-n.offset,n=n.parent)}function i(l){return n.children.push(l),l}yd(r,{onObjectBegin:l=>{n=i({type:"object",offset:l,length:-1,parent:n,children:[]})},onObjectProperty:(l,c,u)=>{n=i({type:"property",offset:c,length:-1,parent:n,children:[]}),n.children.push({type:"string",value:l,offset:c,length:u,parent:n})},onObjectEnd:(l,c)=>{n.length=l+c-n.offset,n=n.parent,o(l+c)},onArrayBegin:(l,c)=>{n=i({type:"array",offset:l,length:-1,parent:n,children:[]})},onArrayEnd:(l,c)=>{n.length=l+c-n.offset,n=n.parent,o(l+c)},onLiteralValue:(l,c,u)=>{i({type:Da(l),offset:c,length:u,parent:n,value:l}),o(c+u)},onSeparator:(l,c,u)=>{n.type==="property"&&(l===":"?n.colonOffset=c:l===","&&o(c))},onError:(l,c,u)=>{t.push({error:l,offset:c,length:u})}},e);let a=n.children[0];return a&&delete a.parent,a}function VE(r,t){if(!r)return;let e=r;for(let n of t)if(typeof n=="string"){if(e.type!=="object"||!Array.isArray(e.children))return;let o=!1;for(let i of e.children)if(Array.isArray(i.children)&&i.children[0].value===n){e=i.children[1],o=!0;break}if(!o)return}else{let o=n;if(e.type!=="array"||o<0||!Array.isArray(e.children)||o>=e.children.length)return;e=e.children[o]}return e}function yd(r,t,e=Fv.DEFAULT){let n=FE(r,!1);function o(j){return j?()=>j(n.getTokenOffset(),n.getTokenLength()):()=>!0}function i(j){return j?z=>j(z,n.getTokenOffset(),n.getTokenLength()):()=>!0}let s=o(t.onObjectBegin),a=i(t.onObjectProperty),l=o(t.onObjectEnd),c=o(t.onArrayBegin),u=o(t.onArrayEnd),p=i(t.onLiteralValue),m=i(t.onSeparator),g=o(t.onComment),h=i(t.onError),v=e&&e.disallowComments,S=e&&e.allowTrailingComma;function T(){for(;;){let j=n.scan();switch(n.getTokenError()){case 4:E(14);break;case 5:E(15);break;case 3:E(13);break;case 1:v||E(11);break;case 2:E(12);break;case 6:E(16);break}switch(j){case 12:case 13:v?E(10):g();break;case 16:E(1);break;case 15:case 14:break;default:return j}}}function E(j,z=[],ee=[]){if(h(j),z.length+ee.length>0){let Ce=n.getToken();for(;Ce!==17;){if(z.indexOf(Ce)!==-1){T();break}else if(ee.indexOf(Ce)!==-1)break;Ce=T()}}}function k(j){let z=n.getTokenValue();return j?p(z):a(z),T(),!0}function P(){switch(n.getToken()){case 11:{let j=0;try{j=JSON.parse(n.getTokenValue()),typeof j!="number"&&(E(2),j=0)}catch{E(2)}p(j);break}case 7:p(null);break;case 8:p(!0);break;case 9:p(!1);break;default:return!1}return T(),!0}function U(){return n.getToken()!==10?(E(3,[],[2,5]),!1):(k(!1),n.getToken()===6?(m(":"),T(),ae()||E(4,[],[2,5])):E(5,[],[2,5]),!0)}function xe(){s(),T();let j=!1;for(;n.getToken()!==2&&n.getToken()!==17;){if(n.getToken()===5){if(j||E(4,[],[]),m(","),T(),n.getToken()===2&&S)break}else j&&E(6,[],[]);U()||E(4,[],[2,5]),j=!0}return l(),n.getToken()!==2?E(7,[2],[]):T(),!0}function V(){c(),T();let j=!1;for(;n.getToken()!==4&&n.getToken()!==17;){if(n.getToken()===5){if(j||E(4,[],[]),m(","),T(),n.getToken()===4&&S)break}else j&&E(6,[],[]);ae()||E(4,[],[4,5]),j=!0}return u(),n.getToken()!==4?E(8,[4],[]):T(),!0}function ae(){switch(n.getToken()){case 3:return V();case 1:return xe();case 10:return k(!0);default:return P()}}return T(),n.getToken()===17?e.allowEmptyContent?!0:(E(4,[],[]),!1):ae()?(n.getToken()!==17&&E(9,[],[]),!0):(E(4,[],[]),!1)}function Da(r){switch(typeof r){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":{if(r){if(Array.isArray(r))return"array"}else return"null";return"object"}default:return"null"}}var Fv,Qr=y(()=>{(t=>t.DEFAULT={allowTrailingComma:!0})(Fv||={})});function nA(r,t,e){let n,o,i,s,a;if(t){for(s=t.offset,a=s+t.length,i=s;i>0&&!Hm(r,i-1);)i--;let k=a;for(;k<r.length&&!Hm(r,k);)k++;o=r.substring(i,k),n=h8(o,e)}else o=r,n=0,i=0,s=0,a=r.length;let l=v8(e,r),c=!1,u=0,p;e.insertSpaces?p=HE(" ",e.tabSize||4):p="	";let m=FE(o,!1),g=!1;function h(){return l+HE(p,n+u)}function v(){let k=m.scan();for(c=!1;k===15||k===14;)c=c||k===14,k=m.scan();return g=k===16||m.getTokenError()!==0,k}let S=[];function T(k,P,U){!g&&P<a&&U>s&&r.substring(P,U)!==k&&S.push({offset:P,length:U-P,content:k})}let E=v();if(E!==17){let k=m.getTokenOffset()+i,P=HE(p,n);T(P,i,k)}for(;E!==17;){let k=m.getTokenOffset()+m.getTokenLength()+i,P=v(),U="";for(;!c&&(P===12||P===13);){let V=m.getTokenOffset()+i;T(" ",k,V),k=m.getTokenOffset()+m.getTokenLength()+i,U=P===12?h():"",P=v()}if(P===2)E!==1&&(u--,U=h());else if(P===4)E!==3&&(u--,U=h());else{switch(E){case 3:case 1:u++,U=h();break;case 5:case 12:U=h();break;case 13:c?U=h():U=" ";break;case 6:U=" ";break;case 10:if(P===6){U="";break}case 7:case 8:case 9:case 11:case 2:case 4:P===12||P===13?U=" ":P!==5&&P!==17&&(g=!0);break;case 16:g=!0;break}c&&(P===12||P===13)&&(U=h())}let xe=m.getTokenOffset()+i;T(U,k,xe),E=P}return S}function HE(r,t){let e="";for(let n=0;n<t;n++)e+=r;return e}function h8(r,t){let e=0,n=0,o=t.tabSize||4;for(;e<r.length;){let i=r.charAt(e);if(i===" ")n++;else if(i==="	")n+=o;else break;e++}return Math.floor(n/o)}function v8(r,t){for(let e=0;e<t.length;e++){let n=t.charAt(e);if(n==="\r")return e+1<t.length&&t.charAt(e+1)===`
`?`\r
`:"\r";if(n===`
`)return`
`}return r&&r.eol||`
`}function Hm(r,t){return`\r
`.indexOf(r.charAt(t))!==-1}var oA=y(()=>{Qr()});function rA(r,t,e,n,o){let i=t.slice(),a=eA(r,[]),l,c;for(;i.length>0&&(c=i.pop(),l=VE(a,i),l===void 0&&e!==void 0);)typeof c=="string"?e={[c]:e}:e=[e];if(l)if(l.type==="object"&&typeof c=="string"&&Array.isArray(l.children)){let u=VE(l,[c]);if(u!==void 0)if(e===void 0){if(!u.parent)throw new Error("Malformed AST");let p=l.children.indexOf(u.parent),m,g=u.parent.offset+u.parent.length;if(p>0){let h=l.children[p-1];m=h.offset+h.length}else m=l.offset+1,l.children.length>1&&(g=l.children[1].offset);return Id(r,{offset:m,length:g-m,content:""},n)}else return Id(r,{offset:u.offset,length:u.length,content:JSON.stringify(e)},n);else{if(e===void 0)return[];let p=`${JSON.stringify(c)}: ${JSON.stringify(e)}`,m=o?o(l.children.map(h=>h.children[0].value)):l.children.length,g;if(m>0){let h=l.children[m-1];g={offset:h.offset+h.length,length:0,content:","+p}}else l.children.length===0?g={offset:l.offset+1,length:0,content:p}:g={offset:l.offset+1,length:0,content:p+","};return Id(r,g,n)}}else if(l.type==="array"&&typeof c=="number"&&Array.isArray(l.children))if(e!==void 0){let u=`${JSON.stringify(e)}`,p;if(l.children.length===0||c===0)p={offset:l.offset+1,length:0,content:l.children.length===0?u:u+","};else{let m=c===-1||c>l.children.length?l.children.length:c,g=l.children[m-1];p={offset:g.offset+g.length,length:0,content:","+u}}return Id(r,p,n)}else{let u=c,p=l.children[u],m;if(l.children.length===1)m={offset:l.offset+1,length:l.length-2,content:""};else if(l.children.length-1===u){let g=l.children[u-1],h=g.offset+g.length,v=l.offset+l.length;m={offset:h,length:v-2-h,content:""}}else m={offset:p.offset,length:l.children[u+1].offset-p.offset,content:""};return Id(r,m,n)}else throw new Error(`Can not add ${typeof c!="number"?"index":"property"} to parent of type ${l.type}`);else return e===void 0?[]:Id(r,{offset:a?a.offset:0,length:a?a.length:0,content:JSON.stringify(e)},n)}function Id(r,t,e){let n=WE(r,t),o=t.offset,i=t.offset+t.content.length;if(t.length===0||t.content.length===0){for(;o>0&&!Hm(n,o-1);)o--;for(;i<n.length&&!Hm(n,i);)i++}let s=nA(n,{offset:o,length:i-o},e);for(let l=s.length-1;l>=0;l--){let c=s[l];n=WE(n,c),o=Math.min(o,c.offset),i=Math.max(i,c.offset+c.length),i+=c.content.length-c.length}let a=r.length-(n.length-i)-o;return[{offset:o,length:a,content:n.substring(o,i)}]}function WE(r,t){return r.substring(0,t.offset)+t.content+r.substring(t.offset+t.length)}function iA(r,t){let e=t.slice(0).sort((o,i)=>{let s=o.offset-i.offset;return s===0?o.length-i.length:s}),n=r.length;for(let o=e.length-1;o>=0;o--){let i=e[o];if(i.offset+i.length<=n)r=WE(r,i);else throw new Error("Overlapping edit");n=i.offset}return r}var sA=y(()=>{Qr();oA()});function Jr(r){if(!r||typeof r!="object"||r instanceof RegExp)return r;let t=Array.isArray(r)?[]:{};return Object.entries(r).forEach(([e,n])=>{t[e]=n&&typeof n=="object"?Jr(n):n}),t}function aA(r){if(!r||typeof r!="object")return r;let t=[r];for(;t.length>0;){let e=t.shift();Object.freeze(e);for(let n in e)if(lA.call(e,n)){let o=e[n];typeof o=="object"&&!Object.isFrozen(o)&&!AM(o)&&t.push(o)}}return r}function xo(r,t){return BE(r,t,new Set)}function BE(r,t,e){if(Wt(r))return r;let n=t(r);if(typeof n<"u")return n;if(Array.isArray(r)){let o=[];for(let i of r)o.push(BE(i,t,e));return o}if(Ae(r)){if(e.has(r))throw new Error("Cannot clone recursive data-structure");e.add(r);let o={};for(let i in r)lA.call(r,i)&&(o[i]=BE(r[i],t,e));return e.delete(r),o}return r}function Rs(r,t,e=!0){return Ae(r)?(Ae(t)&&Object.keys(t).forEach(n=>{n in r?e&&(Ae(r[n])&&Ae(t[n])?Rs(r[n],t[n],e):r[n]=t[n]):r[n]=t[n]}),r):t}function pt(r,t){if(r===t)return!0;if(r==null||t===null||t===void 0||typeof r!=typeof t||typeof r!="object"||Array.isArray(r)!==Array.isArray(t))return!1;let e,n;if(Array.isArray(r)){if(r.length!==t.length)return!1;for(e=0;e<r.length;e++)if(!pt(r[e],t[e]))return!1}else{let o=[];for(n in r)o.push(n);o.sort();let i=[];for(n in t)i.push(n);if(i.sort(),!pt(o,i))return!1;for(e=0;e<o.length;e++)if(!pt(r[o[e]],t[o[e]]))return!1}return!0}function bd(r){let t=new Set;return JSON.stringify(r,(e,n)=>{if(Ae(n)||Array.isArray(n)){if(t.has(n))return"[Circular]";t.add(n)}return typeof n=="bigint"?`[BigInt ${n.toString()}]`:n})}function Ps(r,t){let e=t.toLowerCase(),n=Object.keys(r).find(o=>o.toLowerCase()===e);return n?r[n]:r[t]}var lA,en=y(()=>{Ee();lA=Object.prototype.hasOwnProperty});function Vv(r){let t=r;return t&&typeof t=="object"&&(!t.overrideIdentifier||typeof t.overrideIdentifier=="string")&&(!t.resource||t.resource instanceof b)}function cA(r){let t=r;return t&&typeof t=="object"&&(!t.overrideIdentifiers||Array.isArray(t.overrideIdentifiers))&&!t.overrideIdentifier&&(!t.resource||t.resource instanceof b)}function dA(r){switch(r){case 1:return"APPLICATION";case 2:return"USER";case 3:return"USER_LOCAL";case 4:return"USER_REMOTE";case 5:return"WORKSPACE";case 6:return"WORKSPACE_FOLDER";case 7:return"DEFAULT";case 8:return"MEMORY"}}function Hv(r,t){let e=Object.create(null);for(let n in r)qE(e,n,r[n],t);return e}function qE(r,t,e,n){let o=t.split("."),i=o.pop(),s=r;for(let a=0;a<o.length;a++){let l=o[a],c=s[l];switch(typeof c){case"undefined":c=s[l]=Object.create(null);break;case"object":if(c===null){n(`Ignoring ${t} as ${o.slice(0,a+1).join(".")} is null`);return}break;default:n(`Ignoring ${t} as ${o.slice(0,a+1).join(".")} is ${JSON.stringify(c)}`);return}s=c}if(typeof s=="object"&&s!==null)try{s[i]=e}catch{n(`Ignoring ${t} as ${o.join(".")} is ${JSON.stringify(s)}`)}else n(`Ignoring ${t} as ${o.join(".")} is ${JSON.stringify(s)}`)}function uA(r,t){let e=t.split(".");pA(r,e)}function pA(r,t){if(!r)return;let e=r,n=t.shift();if(t.length===0){delete e[n];return}if(Object.keys(e).indexOf(n)!==-1){let o=e[n];typeof o=="object"&&o!==null&&!Array.isArray(o)&&(pA(o,t),Object.keys(o).length===0&&delete e[n])}}function Wm(r,t,e){function n(s,a){let l=s;for(let c of a){if(typeof l!="object"||l===null)return;l=l[c]}return l}let o=t.split("."),i=n(r,o);return typeof i>"u"?e:i}function mA(r){return r.replace(/^\[/,"").replace(/]$/g,"").replace(/\]\[/g,", ")}var mt,tn=y(()=>{qr();Ee();ie();X();mt=D("configurationService")});function gA(r){let t=!1,e=new Map,n=new Map;if(y8(r,u=>{if(r===u)return!0;let p=JSON.stringify(u);if(p.length<30)return!0;let m=e.get(p);if(!m){let g={schemas:[u]};return e.set(p,g),n.set(u,g),!0}return m.schemas.push(u),n.set(u,m),t=!0,!1}),e.clear(),!t)return JSON.stringify(r);let i="$defs";for(;r.hasOwnProperty(i);)i+="_";let s=[];function a(u){return JSON.stringify(u,(p,m)=>{if(m!==u){let g=n.get(m);if(g&&g.schemas.length>1)return g.id||(g.id=`_${s.length}`,s.push(g.schemas[0])),{$ref:`#/${i}/${g.id}`}}return m})}let l=a(r),c=[];for(let u=0;u<s.length;u++)c.push(`"_${u}":${a(s[u])}`);return c.length?`${l.substring(0,l.length-1)},"${i}":{${c.join(",")}}}`:l}function Sd(r){return typeof r=="object"&&r!==null}function y8(r,t){if(!r||typeof r!="object")return;let e=(...l)=>{for(let c of l)Sd(c)&&s.push(c)},n=(...l)=>{for(let c of l)if(Sd(c))for(let u in c){let p=c[u];Sd(p)&&s.push(p)}},o=(...l)=>{for(let c of l)if(Array.isArray(c))for(let u of c)Sd(u)&&s.push(u)},i=l=>{if(Array.isArray(l))for(let c of l)Sd(c)&&s.push(c);else Sd(l)&&s.push(l)},s=[r],a=s.pop();for(;a;)t(a)&&(e(a.additionalItems,a.additionalProperties,a.not,a.contains,a.propertyNames,a.if,a.then,a.else,a.unevaluatedItems,a.unevaluatedProperties),n(a.definitions,a.$defs,a.properties,a.patternProperties,a.dependencies,a.dependentSchemas),o(a.anyOf,a.allOf,a.oneOf,a.prefixItems),i(a.items)),a=s.pop()}var fA=y(()=>{});var zE,lt,Uo=y(()=>{qr();Ee();zE=class{constructor(){this.data=new Map}add(t,e){dv(Z(t)),dv(Ae(e)),dv(!this.data.has(t),"There is already an extension with this id"),this.data.set(t,e)}knows(t){return this.data.has(t)}as(t){return this.data.get(t)||null}dispose(){this.data.forEach(t=>{Xc(t.dispose)&&t.dispose()}),this.data.clear()}},lt=new zE});function vA(r){return r.length>0&&r.charAt(r.length-1)==="#"?r.substring(0,r.length-1):r}var Bl,GE,I8,Wv=y(()=>{de();fA();Q();Uo();Bl={JSONContribution:"base.contributions.json"};GE=class extends _{constructor(){super(...arguments);this.schemasById={};this.schemaAssociations={};this._onDidChangeSchema=this._register(new w);this.onDidChangeSchema=this._onDidChangeSchema.event;this._onDidChangeSchemaAssociations=this._register(new w);this.onDidChangeSchemaAssociations=this._onDidChangeSchemaAssociations.event}registerSchema(e,n,o){let i=vA(e);this.schemasById[i]=n,this._onDidChangeSchema.fire(e),o&&o.add(oe(()=>{delete this.schemasById[i],this._onDidChangeSchema.fire(e)}))}registerSchemaAssociation(e,n){let o=vA(e);return this.schemaAssociations[o]||(this.schemaAssociations[o]=[]),this.schemaAssociations[o].includes(n)||(this.schemaAssociations[o].push(n),this._onDidChangeSchemaAssociations.fire()),oe(()=>{let i=this.schemaAssociations[o];if(i){let s=i.indexOf(n);s!==-1&&(i.splice(s,1),i.length===0&&delete this.schemaAssociations[o],this._onDidChangeSchemaAssociations.fire())}})}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}getSchemaContributions(){return{schemas:this.schemasById}}getSchemaContent(e){let n=this.schemasById[e];return n?gA(n):void 0}hasSchemaContent(e){return!!this.schemasById[e]}getSchemaAssociations(){return this.schemaAssociations}},I8=new GE;lt.add(Bl.JSONContribution,I8)});function yA(r,t){return r.dependencies?.[t]?.replace(/^[~^]/,"")}var Jn,KE,rt,ks=y(()=>{Sr();KE=globalThis.vscode;if(typeof KE<"u"&&typeof KE.context<"u"){let r=KE.context.configuration();if(r)Jn=r.product;else throw new Error("Sandbox: unable to resolve product configuration from preload script.")}else if(globalThis._VSCODE_PRODUCT_JSON&&globalThis._VSCODE_PACKAGE_JSON){Jn=globalThis._VSCODE_PRODUCT_JSON;let r=globalThis._VSCODE_PACKAGE_JSON;if(ln.VSCODE_DEV&&Object.assign(Jn,{nameShort:`${Jn.nameShort} Dev`,nameLong:`${Jn.nameLong} Dev`,dataFolderName:`${Jn.dataFolderName}-dev`,serverDataFolderName:Jn.serverDataFolderName?`${Jn.serverDataFolderName}-dev`:void 0}),Jn.version||Object.assign(Jn,{version:r.version}),!Jn.copilotVersions){let t=yA(r,"@github/copilot"),e=yA(r,"@github/copilot-sdk");t&&e&&Object.assign(Jn,{copilotVersions:{runtime:t,sdk:e}})}Object.assign(Jn,{extensionsGallery:ln.EXTENSIONS_GALLERY?JSON.parse(ln.EXTENSIONS_GALLERY):Jn.extensionsGallery||{serviceUrl:"https://open-vsx.org/vscode/gallery",itemUrl:"https://open-vsx.org/vscode/item",extensionUrlTemplate:"https://open-vsx.org/vscode/gallery/{publisher}/{name}/latest",resourceUrlTemplate:"https://open-vsx.org/vscode/asset/{publisher}/{name}/{version}/Microsoft.VisualStudio.Code.WebResources/{path}",controlUrl:"",recommendationsUrl:""},telemetryEndpoint:ln.CS_TELEMETRY_URL||Jn.telemetryEndpoint||"https://v1.telemetry.coder.com/track"})}else Jn={nameShort:"code-server",nameLong:"code-server",applicationName:"code-server",dataFolderName:".code-server",sharedDataFolderName:".vscode-oss-shared",win32MutexName:"codeserver",licenseName:"MIT",licenseUrl:"https://github.com/coder/code-server/blob/main/LICENSE",serverLicenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",serverGreeting:[],serverLicense:[],serverLicensePrompt:"",serverApplicationName:"code-server-oss",serverDataFolderName:".vscode-server-oss",tunnelApplicationName:"code-tunnel-oss",win32DirName:"code-server",win32NameVersion:"code-server",win32RegValueName:"CodeOSS",win32x64AppId:"{{D77B7E06-80BA-4137-BCF4-654B95CCEBC5}",win32arm64AppId:"{{D1ACE434-89C5-48D1-88D3-E2991DF85475}",win32x64UserAppId:"{{CC6B787D-37A0-49E8-AE24-8559A032BE0C}",win32arm64UserAppId:"{{3AEBF0C8-F733-4AD4-BADE-FDB816D53D7B}",win32AppUserModelId:"coder.code-server",win32ShellNameShort:"c&ode-server",win32TunnelServiceMutex:"vscodeoss-tunnelservice",win32TunnelMutex:"vscodeoss-tunnel",darwinBundleIdentifier:"com.coder.code.server",darwinProfileUUID:"47827DD9-4734-49A0-AF80-7E19B11495CC",darwinProfilePayloadUUID:"CF808BE7-53F3-46C6-A7E2-7EDB98A5E959",linuxIconName:"com.coder.code.server",licenseFileName:"LICENSE.txt",reportIssueUrl:"https://github.com/coder/code-server/issues/new",nodejsArtifactFeed:"",electronArtifactFeed:"",urlProtocol:"code-oss",agentsTelemetryAppName:"agents",webviewContentExternalBaseUrlTemplate:"https://{{uuid}}.vscode-cdn.net/insider/ef65ac1ba57f57f2a3961bfe94aa20481caca4c6/out/vs/workbench/contrib/webview/browser/pre/",builtInExtensions:[{name:"ms-vscode.js-debug-companion",version:"1.1.3",sha256:"7380a890787452f14b2db7835dfa94de538caf358ebc263f9d46dd68ac52de93",repo:"https://github.com/microsoft/vscode-js-debug-companion",metadata:{id:"99cb0b7f-7354-4278-b8da-6cc79972169d",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}},{name:"ms-vscode.js-debug",version:"1.117.0",sha256:"854eeb8a785b1f41ba2bd02d7ccd4fdbe10021b61473293973c7e96d036c7fb8",repo:"https://github.com/microsoft/vscode-js-debug",metadata:{id:"25629058-ddac-4e17-abba-74678e126c5d",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}},{name:"ms-vscode.vscode-js-profile-table",version:"1.0.11",sha256:"a962a1e6a3baf74c9354b7f47fa96e6d6f0423a63bff55d7f976b6134a748ae9",repo:"https://github.com/microsoft/vscode-js-profile-visualizer",metadata:{id:"7e52b41b-71ad-457b-ab7e-0620f1fc4feb",publisherId:{publisherId:"5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee",publisherName:"ms-vscode",displayName:"Microsoft",flags:"verified"},publisherDisplayName:"Microsoft"}}],defaultChatAgent:{extensionId:"GitHub.copilot",chatExtensionId:"GitHub.copilot-chat",chatExtensionOutputId:"GitHub.copilot-chat.GitHub Copilot Chat.log",chatExtensionOutputExtensionStateCommand:"github.copilot.debug.extensionState",documentationUrl:"https://aka.ms/github-copilot-overview",termsStatementUrl:"https://aka.ms/github-copilot-terms-statement",privacyStatementUrl:"https://aka.ms/github-copilot-privacy-statement",skusDocumentationUrl:"https://aka.ms/github-copilot-plans",optimizeUsageDocumentationUrl:"https://aka.ms/token-usage-tips",publicCodeMatchesUrl:"https://aka.ms/github-copilot-match-public-code",managePlanUrl:"https://aka.ms/github-copilot-manage-plan",upgradePlanUrl:"https://aka.ms/github-copilot-upgrade-plan",signUpUrl:"https://aka.ms/github-sign-up",provider:{default:{id:"github",name:"GitHub"},enterprise:{id:"github-enterprise",name:"GHE"},google:{id:"google",name:"Google"},apple:{id:"apple",name:"Apple"}},providerExtensionId:"vscode.github-authentication",providerUriSetting:"github-enterprise.uri",providerScopes:[["read:user","user:email","repo","workflow"],["user:email"],["read:user"]],entitlementUrl:"https://api.github.com/copilot_internal/user",entitlementSignupLimitedUrl:"https://api.github.com/copilot_internal/subscribe_limited_user",chatQuotaExceededContext:"github.copilot.chat.quotaExceeded",completionsQuotaExceededContext:"github.copilot.completions.quotaExceeded",walkthroughCommand:"github.copilot.open.walkthrough",completionsMenuCommand:"github.copilot.toggleStatusMenu",chatRefreshTokenCommand:"github.copilot.refreshToken",generateCommitMessageCommand:"github.copilot.git.generateCommitMessage",resolveMergeConflictsCommand:"github.copilot.git.resolveMergeConflicts",completionsAdvancedSetting:"github.copilot.advanced",completionsEnablementSetting:"github.copilot.enable",nextEditSuggestionsSetting:"github.copilot.nextEditSuggestions.enabled",tokenEntitlementUrl:"https://api.github.com/copilot_internal/v2/token",mcpRegistryDataUrl:"https://api.github.com/copilot/mcp_registry",managedSettingsUrl:"https://api.github.com/copilot_internal/managed_settings"},trustedExtensionAuthAccess:["vscode.git","vscode.github","github.vscode-pull-request-github","github.copilot","github.copilot-chat"],onboardingKeymaps:[{id:"vscode",label:"VS Code",description:"Default keyboard mapping"},{id:"sublime",label:"Sublime Text",extensionId:"ms-vscode.sublime-keybindings",description:"Keyboard mapping from Sublime Text"},{id:"intellij",label:"IntelliJ / JetBrains",extensionId:"k--kato.intellij-idea-keybindings",description:"Keyboard mapping from IntelliJ IDEA"},{id:"vim",label:"Vim",extensionId:"vscodevim.vim",description:"Vim modal editing"},{id:"eclipse",label:"Eclipse",extensionId:"alphabotsec.vscode-eclipse-keybindings",description:"Keyboard mapping from Eclipse"},{id:"notepadpp",label:"Notepad++",extensionId:"ms-vscode.notepadplusplus-keybindings",description:"Keyboard mapping from Notepad++"}],onboardingThemes:[{id:"dark-2026",label:"Dark 2026",themeId:"Dark 2026",type:"dark"},{id:"hc-dark",label:"Dark High Contrast",themeId:"Default High Contrast",type:"hcDark"},{id:"solarized-dark",label:"Solarized Dark",themeId:"Solarized Dark",type:"dark"},{id:"light-2026",label:"Light 2026",themeId:"Light 2026",type:"light"},{id:"hc-light",label:"Light High Contrast",themeId:"Default High Contrast Light",type:"hcLight"},{id:"solarized-light",label:"Solarized Light",themeId:"Solarized Light",type:"light"}],builtInExtensionsEnabledWithAutoUpdates:["GitHub.copilot-chat"],sessionsWindowAllowedExtensions:[],voiceWsUrl:"wss://falcon-caas.mai.microsoft.com/voice-code/api/v1/realtime/voice",enableTelemetry:!0,quality:"stable",codeServerVersion:"4.135.0",documentationUrl:"https://go.microsoft.com/fwlink/?LinkID=533484#vscode",keyboardShortcutsUrlMac:"https://go.microsoft.com/fwlink/?linkid=832143",keyboardShortcutsUrlLinux:"https://go.microsoft.com/fwlink/?linkid=832144",keyboardShortcutsUrlWin:"https://go.microsoft.com/fwlink/?linkid=832145",introductoryVideosUrl:"https://go.microsoft.com/fwlink/?linkid=832146",tipsAndTricksUrl:"https://go.microsoft.com/fwlink/?linkid=852118",newsletterSignupUrl:"https://www.research.net/r/vsc-newsletter",linkProtectionTrustedDomains:["https://open-vsx.org"],aiConfig:{ariaKey:"code-server"},version:"1.135.0",commit:"de89acbcdce9d9b870008a270c9f6466993d91f4",date:"2026-08-25T14:26:52Z"},Object.keys(Jn).length===0&&Object.assign(Jn,{version:"1.104.0-dev",nameShort:"Code - OSS Dev",nameLong:"Code - OSS Dev",applicationName:"code-oss",dataFolderName:".vscode-oss",urlProtocol:"code-oss",reportIssueUrl:"https://github.com/microsoft/vscode/issues/new",licenseName:"MIT",licenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",serverLicenseUrl:"https://github.com/microsoft/vscode/blob/main/LICENSE.txt",defaultChatAgent:{extensionId:"GitHub.copilot",chatExtensionId:"GitHub.copilot-chat",provider:{default:{id:"github",name:"GitHub"},enterprise:{id:"github-enterprise",name:"GitHub Enterprise"}},providerScopes:[]}});rt=Jn});function b8(r,t){return r===t?!0:!r||!t?!1:typeof r=="string"||typeof t=="string"?r===t:r.id===t.id}function xd(r){let t=[];if(Wi.test(r)){let e=IA.exec(r);for(;e?.length;){let n=e[1].trim();n&&t.push(n),e=IA.exec(r)}}return jn(t)}function SA(r){return r.reduce((t,e)=>`${t}[${e}]`,"")}function S8(r){switch(Array.isArray(r)?r[0]:r){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}function x8(r,t,e){if(!r.trim())return d(2651,null);if(Wi.test(r))return d(2652,null,r);if($m.getConfigurationProperties()[r]!==void 0&&(!e||!C8.has(e.toLowerCase())))return d(2650,null,r);if(t.policy&&t.policyReference)return d(2648,null,r);if(t.policy?.name&&$m.getPolicyConfigurations().get(t.policy?.name)!==void 0)return d(2649,null,r,t.policy?.name,$m.getPolicyConfigurations().get(t.policy?.name));if(t.agentHost){for(let[n,o]of $m.getAgentHostSyncConfigurations())if(o.key===t.agentHost.key&&n!==r)return d(2647,null,r,t.agentHost.key,n)}return null}var On,Bv,$v,qv,zv,Gv,Kv,Bm,$l,jv,jE,bA,IA,_a,Wi,$m,C8,gi=y(()=>{Lt();de();Ee();le();tn();Wv();Uo();Q();ks();On={Configuration:"base.contributions.configuration"};Bv={properties:{},patternProperties:{}},$v={properties:{},patternProperties:{}},qv={properties:{},patternProperties:{}},zv={properties:{},patternProperties:{}},Gv={properties:{},patternProperties:{}},Kv={properties:{},patternProperties:{}},Bm={properties:{},patternProperties:{}},$l="vscode://schemas/settings/resourceLanguage",jv=lt.as(Bl.JSONContribution),jE=class extends _{constructor(){super();this.registeredConfigurationDefaults=[];this.excludedAgentHostSyncKeys=new Map;this.overrideIdentifiers=new Set;this._onDidSchemaChange=this._register(new w);this.onDidSchemaChange=this._onDidSchemaChange.event;this._onDidUpdateConfiguration=this._register(new w);this.onDidUpdateConfiguration=this._onDidUpdateConfiguration.event;this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:d(2654,null),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.policyReferenceConfigurations=new Map,this.agentHostSyncConfigurations=new Map,this.excludedConfigurationProperties={},jv.registerSchema($l,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,n=!0){return this.registerConfigurations([e],n),e}registerConfigurations(e,n=!0){let o=new Set;this.doRegisterConfigurations(e,n,o),jv.registerSchema($l,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:o})}deregisterConfigurations(e){let n=new Set;this.doDeregisterConfigurations(e,n),jv.registerSchema($l,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}updateConfigurations({add:e,remove:n}){let o=new Set;this.doDeregisterConfigurations(n,o),this.doRegisterConfigurations(e,!1,o),jv.registerSchema($l,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:o})}registerDefaultConfigurations(e){let n=new Set;this.doRegisterDefaultConfigurations(e,n),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,n){this.registeredConfigurationDefaults.push(...e);let o=[];for(let{overrides:i,source:s}of e)for(let a in i){n.add(a);let l=this.configurationDefaultsOverrides.get(a)??this.configurationDefaultsOverrides.set(a,{configurationDefaultOverrides:[]}).get(a),c=i[a];if(l.configurationDefaultOverrides.push({value:c,source:s}),Wi.test(a)){let u=this.mergeDefaultConfigurationsForOverrideIdentifier(a,c,s,l.configurationDefaultOverrideValue);if(!u)continue;l.configurationDefaultOverrideValue=u,this.updateDefaultOverrideProperty(a,u,s),o.push(...xd(a))}else{let u=this.mergeDefaultConfigurationsForConfigurationProperty(a,c,s,l.configurationDefaultOverrideValue);if(!u)continue;l.configurationDefaultOverrideValue=u;let p=this.configurationProperties[a];p&&(this.updatePropertyDefaultValue(a,p),this.updateSchema(a,p))}}this.doRegisterOverrideIdentifiers(o)}deregisterDefaultConfigurations(e){let n=new Set;this.doDeregisterDefaultConfigurations(e,n),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n,defaultsOverrides:!0})}doDeregisterDefaultConfigurations(e,n){for(let o of e){let i=this.registeredConfigurationDefaults.indexOf(o);i!==-1&&this.registeredConfigurationDefaults.splice(i,1)}for(let{overrides:o,source:i}of e)for(let s in o){let a=this.configurationDefaultsOverrides.get(s);if(!a)continue;let l=a.configurationDefaultOverrides.findIndex(c=>i?b8(c.source,i):c.value===o[s]);if(l!==-1){if(a.configurationDefaultOverrides.splice(l,1),a.configurationDefaultOverrides.length===0&&this.configurationDefaultsOverrides.delete(s),Wi.test(s)){let c;for(let u of a.configurationDefaultOverrides)c=this.mergeDefaultConfigurationsForOverrideIdentifier(s,u.value,u.source,c);c&&!ga(c.value)?(a.configurationDefaultOverrideValue=c,this.updateDefaultOverrideProperty(s,c,i)):(this.configurationDefaultsOverrides.delete(s),delete this.configurationProperties[s],delete this.defaultLanguageConfigurationOverridesNode.properties[s])}else{let c;for(let p of a.configurationDefaultOverrides)c=this.mergeDefaultConfigurationsForConfigurationProperty(s,p.value,p.source,c);a.configurationDefaultOverrideValue=c;let u=this.configurationProperties[s];u&&(this.updatePropertyDefaultValue(s,u),this.updateSchema(s,u))}n.add(s)}}this.updateOverridePropertyPatternKey()}updateDefaultOverrideProperty(e,n,o){let i={section:{id:this.defaultLanguageConfigurationOverridesNode.id,title:this.defaultLanguageConfigurationOverridesNode.title,order:this.defaultLanguageConfigurationOverridesNode.order,extensionInfo:this.defaultLanguageConfigurationOverridesNode.extensionInfo},type:"object",default:n.value,description:d(2653,null,mA(e)),$ref:$l,defaultDefaultValue:n.value,source:o,defaultValueSource:o};this.configurationProperties[e]=i,this.defaultLanguageConfigurationOverridesNode.properties[e]=i}mergeDefaultConfigurationsForOverrideIdentifier(e,n,o,i){let s=i?.value||{},a=i?.source??new Map;if(!(a instanceof Map)){console.error("objectConfigurationSources is not a Map");return}for(let l of Object.keys(n)){let c=n[l];if(Ae(c)&&(Mn(s[l])||Ae(s[l]))){if(s[l]={...s[l]??{},...c},o)for(let p in c)a.set(`${l}.${p}`,o)}else s[l]=c,o?a.set(l,o):a.delete(l)}return{value:s,source:a}}mergeDefaultConfigurationsForConfigurationProperty(e,n,o,i){let s=this.configurationProperties[e],a=i?.value??s?.defaultDefaultValue,l=o;if(Ae(n)&&(s!==void 0&&s.type==="object"||s===void 0&&(Mn(a)||Ae(a)))){if(l=i?.source??new Map,!(l instanceof Map)){console.error("defaultValueSource is not a Map");return}for(let u in n)o&&l.set(`${e}.${u}`,o);n={...Ae(a)?a:{},...n}}return{value:n,source:l}}deltaConfiguration(e){let n=!1,o=new Set;e.removedDefaults&&(this.doDeregisterDefaultConfigurations(e.removedDefaults,o),n=!0),e.addedDefaults&&(this.doRegisterDefaultConfigurations(e.addedDefaults,o),n=!0),e.removedConfigurations&&this.doDeregisterConfigurations(e.removedConfigurations,o),e.addedConfigurations&&this.doRegisterConfigurations(e.addedConfigurations,!1,o),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:o,defaultsOverrides:n})}notifyConfigurationSchemaUpdated(...e){this._onDidSchemaChange.fire()}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(let n of e)this.overrideIdentifiers.add(n);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,n,o){e.forEach(i=>{this.validateAndRegisterProperties(i,n,i.extensionInfo,i.restrictedProperties,void 0,o),this.configurationContributors.push(i),this.registerJSONConfiguration(i)})}doDeregisterConfigurations(e,n){let o=i=>{let s=this.excludedAgentHostSyncKeys.get(i);if(s){for(let a of s)n.add(a),this.agentHostSyncConfigurations.delete(a);this.excludedAgentHostSyncKeys.delete(i)}if(i.properties)for(let a in i.properties){n.add(a);let l=this.configurationProperties[a];if(l?.policy?.name&&this.policyConfigurations.delete(l.policy.name),this.agentHostSyncConfigurations.delete(a),l?.policyReference?.name){let c=this.policyReferenceConfigurations.get(l.policyReference.name);c&&(c.delete(a),c.size===0&&this.policyReferenceConfigurations.delete(l.policyReference.name))}delete this.configurationProperties[a],this.removeFromSchema(a,i.properties[a])}i.allOf?.forEach(a=>o(a))};for(let i of e){o(i);let s=this.configurationContributors.indexOf(i);s!==-1&&this.configurationContributors.splice(s,1)}}validateAndRegisterProperties(e,n=!0,o,i,s=4,a){s=Wt(e.scope)?s:e.scope;let l=e.properties;if(l)for(let u in l){let p=l[u];if(p.section={id:e.id,title:e.title,order:e.order,extensionInfo:e.extensionInfo},n&&x8(u,p,o?.id)){delete l[u];continue}p.source=o,p.defaultDefaultValue=l[u].default,this.updatePropertyDefaultValue(u,p),Wi.test(u)?p.scope=void 0:(p.scope=Wt(p.scope)?s:p.scope,p.restricted=Wt(p.restricted)?!!i?.includes(u):p.restricted),p.experiment?p.tags?.some(S=>S.toLowerCase()==="onexp")||(p.tags=p.tags??[],p.tags.push("onExP")):p.tags?.some(S=>S.toLowerCase()==="onexp")&&(console.error(`Invalid tag 'onExP' found for property '${u}'. Please use 'experiment' property instead.`),p.experiment={mode:"startup"});let m=l[u].hasOwnProperty("included")&&!l[u].included,g=l[u].policy?.name,h=l[u].policyReference?.name,v=l[u].agentHost;if(v&&this.agentHostSyncConfigurations.set(u,v),m){if(this.excludedConfigurationProperties[u]=l[u],g&&(this.policyConfigurations.set(g,u),a.add(u)),h&&(this.addPolicyReferenceConfiguration(h,u),a.add(u)),v){a.add(u);let S=this.excludedAgentHostSyncKeys.get(e);S||(S=new Set,this.excludedAgentHostSyncKeys.set(e,S)),S.add(u)}delete l[u]}else a.add(u),g&&this.policyConfigurations.set(g,u),h&&this.addPolicyReferenceConfiguration(h,u),this.configurationProperties[u]=l[u],!l[u].deprecationMessage&&l[u].markdownDeprecationMessage&&(l[u].deprecationMessage=l[u].markdownDeprecationMessage)}let c=e.allOf;if(c)for(let u of c)this.validateAndRegisterProperties(u,n,o,i,s,a)}addPolicyReferenceConfiguration(e,n){let o=this.policyReferenceConfigurations.get(e);o||(o=new Set,this.policyReferenceConfigurations.set(e,o)),o.add(n)}getConfigurations(){return this.configurationContributors}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}getPolicyReferenceConfigurations(){return this.policyReferenceConfigurations}getAgentHostSyncConfigurations(){return this.agentHostSyncConfigurations}getExcludedConfigurationProperties(){return this.excludedConfigurationProperties}getRegisteredDefaultConfigurations(){return[...this.registeredConfigurationDefaults]}getConfigurationDefaultsOverrides(){let e=new Map;for(let[n,o]of this.configurationDefaultsOverrides)o.configurationDefaultOverrideValue&&e.set(n,o.configurationDefaultOverrideValue);return e}registerJSONConfiguration(e){let n=o=>{let i=o.properties;if(i)for(let a in i)this.updateSchema(a,i[a]);o.allOf?.forEach(n)};n(e)}updateSchema(e,n){switch(Bv.properties[e]=n,n.scope){case 1:$v.properties[e]=n;break;case 2:zv.properties[e]=n;break;case 3:qv.properties[e]=n;break;case 7:Gv.properties[e]=n;break;case 4:Kv.properties[e]=n;break;case 5:Bm.properties[e]=n;break;case 6:Bm.properties[e]=n,this.resourceLanguageSettingsSchema.properties[e]=n;break}}removeFromSchema(e,n){switch(delete Bv.properties[e],n.scope){case 1:delete $v.properties[e];break;case 2:delete zv.properties[e];break;case 3:delete qv.properties[e];break;case 7:delete Gv.properties[e];break;case 4:delete Kv.properties[e];break;case 5:case 6:delete Bm.properties[e],delete this.resourceLanguageSettingsSchema.properties[e];break}}updateOverridePropertyPatternKey(){for(let e of this.overrideIdentifiers.values()){let n=`[${e}]`,o={type:"object",description:d(2655,null),errorMessage:d(2656,null),$ref:$l};this.updatePropertyDefaultValue(n,o),Bv.properties[n]=o,$v.properties[n]=o,qv.properties[n]=o,zv.properties[n]=o,Gv.properties[n]=o,Kv.properties[n]=o,Bm.properties[n]=o}}registerOverridePropertyPatternKey(){let e={type:"object",description:d(2655,null),errorMessage:d(2656,null),$ref:$l};Bv.patternProperties[_a]=e,$v.patternProperties[_a]=e,qv.patternProperties[_a]=e,zv.patternProperties[_a]=e,Gv.patternProperties[_a]=e,Kv.patternProperties[_a]=e,Bm.patternProperties[_a]=e,this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,n){let o=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue,i,s;o&&(!n.disallowConfigurationDefault||!o.source)&&(i=o.value,s=o.source),Mn(i)&&(i=n.defaultDefaultValue,s=void 0),Mn(i)&&(i=S8(n.type)),n.default=i,n.defaultValueSource=s}},bA="\\[([^\\]]+)\\]",IA=new RegExp(bA,"g"),_a=`^(${bA})+$`,Wi=new RegExp(_a);$m=new jE;lt.add(On.Configuration,$m);C8=new Set(rt.defaultChatAgent?[rt.defaultChatAgent.extensionId,rt.defaultChatAgent.chatExtensionId].map(r=>r.toLowerCase()):[])});var QE,JE,Qv,YE,Ds,Cd,fi,qm=y(()=>{Lt();qr();Kr();Ot();QE=class{constructor(){this._value="";this._pos=0}reset(t){return this._value=t,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos<this._value.length-1}cmp(t){let e=t.charCodeAt(0),n=this._value.charCodeAt(this._pos);return e-n}value(){return this._value[this._pos]}},JE=class{constructor(t=!0){this._caseSensitive=t}reset(t){return this._value=t,this._from=0,this._to=0,this.next()}hasNext(){return this._to<this._value.length}next(){this._from=this._to;let t=!0;for(;this._to<this._value.length;this._to++)if(this._value.charCodeAt(this._to)===46)if(t)this._from++;else break;else t=!1;return this}cmp(t){return this._caseSensitive?hv(t,this._value,0,t.length,this._from,this._to):_l(t,this._value,0,t.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},Qv=class{constructor(t=!0,e=!0){this._splitOnBackslash=t;this._caseSensitive=e}reset(t){this._from=0,this._to=0,this._value=t,this._valueLen=t.length;for(let e=t.length-1;e>=0;e--,this._valueLen--){let n=this._value.charCodeAt(e);if(!(n===47||this._splitOnBackslash&&n===92))break}return this.next()}hasNext(){return this._to<this._valueLen}next(){this._from=this._to;let t=!0;for(;this._to<this._valueLen;this._to++){let e=this._value.charCodeAt(this._to);if(e===47||this._splitOnBackslash&&e===92)if(t)this._from++;else break;else t=!1}return this}cmp(t){return this._caseSensitive?hv(t,this._value,0,t.length,this._from,this._to):_l(t,this._value,0,t.length,this._from,this._to)}value(){return this._value.substring(this._from,this._to)}},YE=class{constructor(t,e){this._ignorePathCasing=t;this._ignoreQueryAndFragment=e;this._states=[];this._stateIdx=0}reset(t){return this._value=t,this._states=[],this._value.scheme&&this._states.push(1),this._value.authority&&this._states.push(2),this._value.path&&(this._pathIterator=new Qv(!1,!this._ignorePathCasing(t)),this._pathIterator.reset(t.path),this._pathIterator.value()&&this._states.push(3)),this._ignoreQueryAndFragment(t)||(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(t){if(this._states[this._stateIdx]===1)return id(t,this._value.scheme);if(this._states[this._stateIdx]===2)return id(t,this._value.authority);if(this._states[this._stateIdx]===3)return this._pathIterator.cmp(t);if(this._states[this._stateIdx]===4)return hm(t,this._value.query);if(this._states[this._stateIdx]===5)return hm(t,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}},Ds=class r{static{this.Val=Symbol("undefined_placeholder")}static wrap(t){return t===void 0?r.Val:t}static unwrap(t){return t===r.Val?void 0:t}},Cd=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 t=this.right;return this.right=t.left,t.left=this,this.updateHeight(),t.updateHeight(),t}rotateRight(){let t=this.left;return this.left=t.right,t.right=this,this.updateHeight(),t.updateHeight(),t}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}},fi=class r{static forUris(t=()=>!1,e=()=>!1){return new r(new YE(t,e))}static forPaths(t=!1){return new r(new Qv(void 0,!t))}static forStrings(){return new r(new QE)}static forConfigKeys(){return new r(new JE)}constructor(t){this._iter=t}clear(){this._root=void 0}fill(t,e){if(e){let n=e.slice(0);qC(n);for(let o of n)this.set(o,t)}else{let n=t.slice(0);qC(n);for(let o of n)this.set(o[0],o[1])}}set(t,e){let n=this._iter.reset(t),o;this._root||(this._root=new Cd,this._root.segment=n.value());let i=[];for(o=this._root;;){let a=n.cmp(o.segment);if(a>0)o.left||(o.left=new Cd,o.left.segment=n.value()),i.push([-1,o]),o=o.left;else if(a<0)o.right||(o.right=new Cd,o.right.segment=n.value()),i.push([1,o]),o=o.right;else if(n.hasNext())n.next(),o.mid||(o.mid=new Cd,o.mid.segment=n.value()),i.push([0,o]),o=o.mid;else break}let s=Ds.unwrap(o.value);o.value=Ds.wrap(e),o.key=t;for(let a=i.length-1;a>=0;a--){let l=i[a][1];l.updateHeight();let c=l.balanceFactor();if(c<-1||c>1){let u=i[a][0],p=i[a+1][0];if(u===1&&p===1)i[a][1]=l.rotateLeft();else if(u===-1&&p===-1)i[a][1]=l.rotateRight();else if(u===1&&p===-1)l.right=i[a+1][1]=i[a+1][1].rotateRight(),i[a][1]=l.rotateLeft();else if(u===-1&&p===1)l.left=i[a+1][1]=i[a+1][1].rotateLeft(),i[a][1]=l.rotateRight();else throw new Error;if(a>0)switch(i[a-1][0]){case-1:i[a-1][1].left=i[a][1];break;case 1:i[a-1][1].right=i[a][1];break;case 0:i[a-1][1].mid=i[a][1];break}else this._root=i[0][1]}}return s}get(t){return Ds.unwrap(this._getNode(t)?.value)}_getNode(t){let e=this._iter.reset(t),n=this._root;for(;n;){let o=e.cmp(n.segment);if(o>0)n=n.left;else if(o<0)n=n.right;else if(e.hasNext())e.next(),n=n.mid;else break}return n}has(t){let e=this._getNode(t);return!(e?.value===void 0&&e?.mid===void 0)}delete(t){return this._delete(t,!1)}deleteSuperstr(t){return this._delete(t,!0)}_delete(t,e){let n=this._iter.reset(t),o=[],i=this._root;for(;i;){let s=n.cmp(i.segment);if(s>0)o.push([-1,i]),i=i.left;else if(s<0)o.push([1,i]),i=i.right;else if(n.hasNext())n.next(),o.push([0,i]),i=i.mid;else break}if(i){if(e?(i.left=void 0,i.mid=void 0,i.right=void 0,i.height=1):(i.key=void 0,i.value=void 0),!i.mid&&!i.value)if(i.left&&i.right){let s=[[1,i]],a=this._min(i.right,s);if(a.key){i.key=a.key,i.value=a.value,i.segment=a.segment;let l=a.right;if(s.length>1){let[u,p]=s[s.length-1];switch(u){case-1:p.left=l;break;case 0:Rl(!1);case 1:Rl(!1)}}else i.right=l;let c=this._balanceByStack(s);if(o.length>0){let[u,p]=o[o.length-1];switch(u){case-1:p.left=c;break;case 0:p.mid=c;break;case 1:p.right=c;break}}else this._root=c}}else{let s=i.left??i.right;if(o.length>0){let[a,l]=o[o.length-1];switch(a){case-1:l.left=s;break;case 0:l.mid=s;break;case 1:l.right=s;break}}else this._root=s}this._root=this._balanceByStack(o)??this._root}}_min(t,e){for(;t.left;)e.push([-1,t]),t=t.left;return t}_balanceByStack(t){for(let e=t.length-1;e>=0;e--){let n=t[e][1];n.updateHeight();let o=n.balanceFactor();if(o>1?(n.right.balanceFactor()>=0||(n.right=n.right.rotateRight()),t[e][1]=n.rotateLeft()):o<-1&&(n.left.balanceFactor()<=0||(n.left=n.left.rotateLeft()),t[e][1]=n.rotateRight()),e>0)switch(t[e-1][0]){case-1:t[e-1][1].left=t[e][1];break;case 1:t[e-1][1].right=t[e][1];break;case 0:t[e-1][1].mid=t[e][1];break}else return t[0][1]}}findSubstr(t){let e=this._iter.reset(t),n=this._root,o;for(;n;){let i=e.cmp(n.segment);if(i>0)n=n.left;else if(i<0)n=n.right;else if(e.hasNext())e.next(),o=Ds.unwrap(n.value)||o,n=n.mid;else break}return n&&Ds.unwrap(n.value)||o}findSuperstr(t){return this._findSuperstrOrElement(t,!1)}_findSuperstrOrElement(t,e){let n=this._iter.reset(t),o=this._root;for(;o;){let i=n.cmp(o.segment);if(i>0)o=o.left;else if(i<0)o=o.right;else if(n.hasNext())n.next(),o=o.mid;else return o.mid?this._entries(o.mid):e?Ds.unwrap(o.value):void 0}}hasElementOrSubtree(t){return this._findSuperstrOrElement(t,!0)!==void 0}forEach(t){for(let[e,n]of this)t(n,e)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(t){let e=[];return this._dfsEntries(t,e),e[Symbol.iterator]()}_dfsEntries(t,e){t&&(t.left&&this._dfsEntries(t.left,e),t.value!==void 0&&e.push([t.key,Ds.unwrap(t.value)]),t.mid&&this._dfsEntries(t.mid,e),t.right&&this._dfsEntries(t.right,e))}_isBalanced(){let t=e=>{if(!e)return!0;let n=e.balanceFactor();return n<-1||n>1?!1:t(e.left)&&t(e.right)};return t(this._root)}}});function ql(r){return r.create===!0}function Pr(r){return!!(r.capabilities&2)}function xA(r){return!!(r.capabilities&524288)}function XE(r){return!!(r.capabilities&8)}function CA(r){return!!(r.capabilities&131072)}function EA(r){return!!(r.capabilities&262144)}function Ms(r){return!!(r.capabilities&4)}function Yv(r){return!!(r.capabilities&16)}function Xv(r){return Pr(r)?!!(r.capabilities&16384):!1}function ZE(r){return Pr(r)?!!(r.capabilities&32768):!1}function wA(r){return!!(r.capabilities&65536)}function Yr(r,t){return Ed.create(r,t)}function As(r){return r||Yr(d(2879,null),"Unknown")}function ew(r,t){return r.name=t?`${t} (FileSystemError)`:"FileSystemError",r}function zm(r){if(!r)return"Unknown";if(r instanceof Ed)return r.code;let t=/^(.+) \(FileSystemError\)$/.exec(r.name);if(!t)return"Unknown";switch(t[1]){case"EntryExists":return"EntryExists";case"EntryIsADirectory":return"EntryIsADirectory";case"EntryNotADirectory":return"EntryNotADirectory";case"EntryNotFound":return"EntryNotFound";case"EntryTooLarge":return"EntryTooLarge";case"EntryWriteLocked":return"EntryWriteLocked";case"NoPermissions":return"NoPermissions";case"Unavailable":return"Unavailable"}return"Unknown"}function Dt(r){if(r instanceof Un)return r.fileOperationResult;switch(zm(r)){case"EntryNotFound":return 1;case"EntryIsADirectory":return 0;case"EntryNotADirectory":return 9;case"EntryWriteLocked":return 5;case"NoPermissions":return 6;case"EntryExists":return 4;case"EntryTooLarge":return 7;default:return 10}}function TA(r,t,e){return!r||!t||r===t||t.length>r.length?!1:(t.charAt(t.length-1)!==hn&&(t+=hn),e?Ia(r,t):r.indexOf(t)===0)}function tw(r){if(!(typeof r.size!="number"||typeof r.mtime!="number"))return r.mtime.toString(29)+r.size.toString(31)}var Oe,Ed,_s,Jv,Un,wd,Td,Zv,hi,it=y(()=>{qm();Ue();Ot();Ee();ie();le();X();me();Ne();Oi();Oe=D("fileService");Ed=class r extends Error{constructor(e,n){super(e);this.code=n}static create(e,n){let o=new r(e.toString(),n);return ew(o,n),o}};_s=class{constructor(t,e,n){this.resource=t;this.operation=e;this.target=n}isOperation(t){return this.operation===t}},Jv=class r{constructor(t,e){this.ignorePathCasing=e;this.correlationId=void 0;this.added=new yn(()=>{let t=fi.forUris(()=>this.ignorePathCasing);return t.fill(this.rawAdded.map(e=>[e,!0])),t});this.updated=new yn(()=>{let t=fi.forUris(()=>this.ignorePathCasing);return t.fill(this.rawUpdated.map(e=>[e,!0])),t});this.deleted=new yn(()=>{let t=fi.forUris(()=>this.ignorePathCasing);return t.fill(this.rawDeleted.map(e=>[e,!0])),t});this.rawAdded=[];this.rawUpdated=[];this.rawDeleted=[];for(let n of t){switch(n.type){case 1:this.rawAdded.push(n.resource);break;case 0:this.rawUpdated.push(n.resource);break;case 2:this.rawDeleted.push(n.resource);break}this.correlationId!==r.MIXED_CORRELATION&&(typeof n.cId=="number"?this.correlationId===void 0?this.correlationId=n.cId:this.correlationId!==n.cId&&(this.correlationId=r.MIXED_CORRELATION):this.correlationId!==void 0&&(this.correlationId=r.MIXED_CORRELATION))}}static{this.MIXED_CORRELATION=null}contains(t,...e){return this.doContains(t,{includeChildren:!1},...e)}affects(t,...e){return this.doContains(t,{includeChildren:!0},...e)}doContains(t,e,...n){if(!t)return!1;let o=n.length>0;return!!((!o||n.includes(1))&&(this.added.value.get(t)||e.includeChildren&&this.added.value.findSuperstr(t))||(!o||n.includes(0))&&(this.updated.value.get(t)||e.includeChildren&&this.updated.value.findSuperstr(t))||(!o||n.includes(2))&&(this.deleted.value.findSubstr(t)||e.includeChildren&&this.deleted.value.findSuperstr(t)))}gotAdded(){return this.rawAdded.length>0}gotDeleted(){return this.rawDeleted.length>0}gotUpdated(){return this.rawUpdated.length>0}correlates(t){return this.correlationId===t}hasCorrelation(){return typeof this.correlationId=="number"}};Un=class extends Error{constructor(e,n,o){super(e);this.fileOperationResult=n;this.options=o}},wd=class extends Un{constructor(e,n,o,i){super(e,n,i);this.fileOperationResult=n;this.size=o}},Td=class extends Un{constructor(e,n,o){super(e,2,o);this.stat=n}},Zv="";hi=class r{static{this.KB=1024}static{this.MB=r.KB*r.KB}static{this.GB=r.MB*r.KB}static{this.TB=r.GB*r.KB}static formatSize(t){return fo(t)||(t=0),t<r.KB?d(2874,null,t.toFixed(0)):t<r.MB?d(2876,null,(t/r.KB).toFixed(2)):t<r.GB?d(2877,null,(t/r.MB).toFixed(2)):t<r.TB?d(2875,null,(t/r.GB).toFixed(2)):d(2878,null,(t/r.TB).toFixed(2))}}});function Gm(r){return Object.isFrozen(r)?r:aA(r)}function Ma(r,t){let{added:e,removed:n,updated:o}=RA(t?.rawConfiguration,r?.rawConfiguration),i=[],s=r?.getAllOverrideIdentifiers()||[],a=t?.getAllOverrideIdentifiers()||[];if(t){let l=a.filter(c=>!s.includes(c));for(let c of l)i.push([c,t.getKeysForOverrideIdentifier(c)])}if(r){let l=s.filter(c=>!a.includes(c));for(let c of l)i.push([c,r.getKeysForOverrideIdentifier(c)])}if(t&&r){for(let l of s)if(a.includes(l)){let c=RA({contents:r.getOverrideValue(void 0,l)||{},keys:r.getKeysForOverrideIdentifier(l)},{contents:t.getOverrideValue(void 0,l)||{},keys:t.getKeysForOverrideIdentifier(l)});i.push([l,[...c.added,...c.removed,...c.updated]])}}return{added:e,removed:n,updated:o,overrides:i}}function RA(r,t){let e=r?t?r.keys.filter(i=>t.keys.indexOf(i)===-1):[...r.keys]:[],n=t?r?t.keys.filter(i=>r.keys.indexOf(i)===-1):[...t.keys]:[],o=[];if(r&&t){for(let i of t.keys)if(r.keys.indexOf(i)!==-1){let s=Wm(t.contents,i),a=Wm(r.contents,i);pt(s,a)||o.push(i)}}return{added:e,removed:n,updated:o}}var dn,ey,ty,nw,Rd,ny,ow=y(()=>{Lt();de();Qr();Q();_n();en();Ee();ie();tn();gi();it();Uo();dn=class r{constructor(t,e,n,o,i){this._contents=t;this._keys=e;this._overrides=n;this._raw=o;this.logService=i;this.overrideConfigurations=new Map}static createEmptyModel(t){return new r({},[],[],void 0,t)}get rawConfiguration(){if(!this._rawConfiguration)if(this._raw){let t=(Array.isArray(this._raw)?this._raw:[this._raw]).map(e=>{if(e instanceof r)return e;let n=new ey("",this.logService);return n.parseRaw(e),n.configurationModel});this._rawConfiguration=t.reduce((e,n)=>n===e?n:e.merge(n),t[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}get raw(){if(this._raw&&!(Array.isArray(this._raw)&&this._raw.every(t=>t instanceof r)))return this._raw}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(t){return t?Wm(this.contents,t):this.contents}inspect(t,e){let n=this;return{get value(){return Gm(n.rawConfiguration.getValue(t))},get override(){return e?Gm(n.rawConfiguration.getOverrideValue(t,e)):void 0},get merged(){return Gm(e?n.rawConfiguration.override(e).getValue(t):n.rawConfiguration.getValue(t))},get overrides(){let o=[];for(let{contents:i,identifiers:s,keys:a}of n.rawConfiguration.overrides){let l=new r(i,a,[],void 0,n.logService).getValue(t);l!==void 0&&o.push({identifiers:s,value:l})}return o.length?Gm(o):void 0}}}getOverrideValue(t,e){let n=this.getContentsForOverrideIdentifer(e);return n?t?Wm(n,t):n:void 0}getKeysForOverrideIdentifier(t){let e=[];for(let n of this.overrides)n.identifiers.includes(t)&&e.push(...n.keys);return jn(e)}getAllOverrideIdentifiers(){let t=[];for(let e of this.overrides)t.push(...e.identifiers);return jn(t)}override(t){let e=this.overrideConfigurations.get(t);return e||(e=this.createOverrideConfigurationModel(t),this.overrideConfigurations.set(t,e)),e}merge(...t){let e=Jr(this.contents),n=Jr(this.overrides),o=[...this.keys],i=this._raw?Array.isArray(this._raw)?[...this._raw]:[this._raw]:[this];for(let s of t)if(i.push(...s._raw?Array.isArray(s._raw)?s._raw:[s._raw]:[s]),!s.isEmpty()){this.mergeContents(e,s.contents);for(let a of s.overrides){let[l]=n.filter(c=>vn(c.identifiers,a.identifiers));l?(this.mergeContents(l.contents,a.contents),l.keys.push(...a.keys),l.keys=jn(l.keys)):n.push(Jr(a))}for(let a of s.keys)o.indexOf(a)===-1&&o.push(a)}return new r(e,o,n,!i.length||i.every(s=>s instanceof r)?void 0:i,this.logService)}createOverrideConfigurationModel(t){let e=this.getContentsForOverrideIdentifer(t);if(!e||typeof e!="object"||!Object.keys(e).length)return this;let n={};for(let o of jn([...Object.keys(this.contents),...Object.keys(e)])){let i=this.contents[o],s=e[o];s&&(typeof i=="object"&&typeof s=="object"?(i=Jr(i),this.mergeContents(i,s)):i=s),n[o]=i}return new r(n,this.keys,this.overrides,void 0,this.logService)}mergeContents(t,e){for(let n of Object.keys(e)){if(n in t&&Ae(t[n])&&Ae(e[n])){this.mergeContents(t[n],e[n]);continue}t[n]=Jr(e[n])}}getContentsForOverrideIdentifer(t){let e=null,n=null,o=i=>{i&&(n?this.mergeContents(n,i):n=Jr(i))};for(let i of this.overrides)i.identifiers.length===1&&i.identifiers[0]===t?e=i.contents:i.identifiers.includes(t)&&o(i.contents);return o(e),n}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}addValue(t,e){this.updateValue(t,e,!0)}setValue(t,e){this.updateValue(t,e,!1)}removeValue(t){let e=this.keys.indexOf(t);e!==-1&&(this.keys.splice(e,1),uA(this.contents,t),Wi.test(t)&&this.overrides.splice(this.overrides.findIndex(n=>vn(n.identifiers,xd(t))),1))}updateValue(t,e,n){if(qE(this.contents,t,e,o=>this.logService.error(o)),n=n||this.keys.indexOf(t)===-1,n&&this.keys.push(t),Wi.test(t)){let o=this.contents[t],i=xd(t),s={identifiers:i,keys:Object.keys(o),contents:Hv(o,l=>this.logService.error(l))},a=this.overrides.findIndex(l=>vn(l.identifiers,i));a!==-1?this.overrides[a]=s:this.overrides.push(s)}}},ey=class{constructor(t,e){this._name=t;this.logService=e;this._raw=null;this._configurationModel=null;this._restrictedConfigurations=[];this._parseErrors=[]}get configurationModel(){return this._configurationModel||dn.createEmptyModel(this.logService)}get restrictedConfigurations(){return this._restrictedConfigurations}get errors(){return this._parseErrors}parse(t,e){if(!Wt(t)){let n=this.doParseContent(t);this.parseRaw(n,e)}}reparse(t){this._raw&&this.parseRaw(this._raw,t)}parseRaw(t,e){this._raw=t;let{contents:n,keys:o,overrides:i,restricted:s,hasExcludedProperties:a}=this.doParseRaw(t,e);this._configurationModel=new dn(n,o,i,a?[t]:void 0,this.logService),this._restrictedConfigurations=s||[]}doParseContent(t){let e={},n=null,o=[],i=[],s=[];function a(c){Array.isArray(o)?o.push(c):n!==null&&(o[n]=c)}let l={onObjectBegin:()=>{let c={};a(c),i.push(o),o=c,n=null},onObjectProperty:c=>{n=c},onObjectEnd:()=>{o=i.pop()},onArrayBegin:()=>{let c=[];a(c),i.push(o),o=c,n=null},onArrayEnd:()=>{o=i.pop()},onLiteralValue:a,onError:(c,u,p)=>{s.push({error:c,offset:u,length:p})}};if(t)try{yd(t,l),e=o[0]||{}}catch(c){this.logService.error(`Error while parsing settings file ${this._name}: ${c}`),this._parseErrors=[c]}return e}doParseRaw(t,e){let n=lt.as(On.Configuration),o=n.getConfigurationProperties(),i=n.getExcludedConfigurationProperties(),s=this.filter(t,o,i,!0,e);t=s.raw;let a=Hv(t,u=>this.logService.error(`Conflict in settings file ${this._name}: ${u}`)),l=Object.keys(t),c=this.toOverrides(t,u=>this.logService.error(`Conflict in settings file ${this._name}: ${u}`));return{contents:a,keys:l,overrides:c,restricted:s.restricted,hasExcludedProperties:s.hasExcludedProperties}}filter(t,e,n,o,i){let s=!1;if(!i?.scopes&&!i?.skipRestricted&&!i?.skipUnregistered&&!i?.exclude?.length)return{raw:t,restricted:[],hasExcludedProperties:s};let a={},l=[];for(let c in t)if(Wi.test(c)&&o){let u=this.filter(t[c],e,n,!1,i);a[c]=u.raw,s=s||u.hasExcludedProperties,l.push(...u.restricted)}else{let u=e[c];u?.restricted&&l.push(c),this.shouldInclude(c,u,n,i)?a[c]=t[c]:s=!0}return{raw:a,restricted:l,hasExcludedProperties:s}}shouldInclude(t,e,n,o){if(o.exclude?.includes(t))return!1;if(o.include?.includes(t))return!0;if(o.skipRestricted&&e?.restricted||o.skipUnregistered&&!e)return!1;let i=e??n[t],s=i?typeof i.scope<"u"?i.scope:4:void 0;return s===void 0||o.scopes===void 0?!0:o.scopes.includes(s)}toOverrides(t,e){let n=[];for(let o of Object.keys(t))if(Wi.test(o)){let i={},s=t[o];for(let a in s)i[a]=s[a];n.push({identifiers:xd(o),keys:Object.keys(i),contents:Hv(i,e)})}return n}},ty=class extends _{constructor(e,n,o,i,s){super();this.userSettingsResource=e;this.parseOptions=n;this.fileService=i;this.logService=s;this._onDidChange=this._register(new w);this.onDidChange=this._onDidChange.event;this.parser=new ey(this.userSettingsResource.toString(),s),this._register(this.fileService.watch(o.dirname(this.userSettingsResource))),this._register(this.fileService.watch(this.userSettingsResource)),this._register(W.any(W.filter(this.fileService.onDidFilesChange,a=>a.contains(this.userSettingsResource)),W.filter(this.fileService.onDidRunOperation,a=>(a.isOperation(0)||a.isOperation(3)||a.isOperation(1)||a.isOperation(4))&&o.isEqual(a.resource,e)))(()=>this._onDidChange.fire()))}async loadConfiguration(){try{let e=await this.fileService.readFile(this.userSettingsResource);return this.parser.parse(e.value.toString()||"{}",this.parseOptions),this.parser.configurationModel}catch{return dn.createEmptyModel(this.logService)}}reparse(e){return e&&(this.parseOptions=e),this.parser.reparse(this.parseOptions),this.parser.configurationModel}getRestrictedSettings(){return this.parser.restrictedConfigurations}},nw=class{constructor(t,e,n,o,i,s,a,l,c,u,p,m,g){this.key=t;this.overrides=e;this._value=n;this.overrideIdentifiers=o;this.defaultConfiguration=i;this.policyConfiguration=s;this.applicationConfiguration=a;this.userConfiguration=l;this.localUserConfiguration=c;this.remoteUserConfiguration=u;this.workspaceConfiguration=p;this.folderConfigurationModel=m;this.memoryConfigurationModel=g}get value(){return Gm(this._value)}toInspectValue(t){return t?.value!==void 0||t?.override!==void 0||t?.overrides!==void 0?t:void 0}get defaultInspectValue(){return this._defaultInspectValue||(this._defaultInspectValue=this.defaultConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._defaultInspectValue}get defaultValue(){return this.defaultInspectValue.merged}get default(){return this.toInspectValue(this.defaultInspectValue)}get policyInspectValue(){return this._policyInspectValue===void 0&&(this._policyInspectValue=this.policyConfiguration?this.policyConfiguration.inspect(this.key):null),this._policyInspectValue}get policyValue(){return this.policyInspectValue?.merged}get policy(){return this.policyInspectValue?.value!==void 0?{value:this.policyInspectValue.value}:void 0}get applicationInspectValue(){return this._applicationInspectValue===void 0&&(this._applicationInspectValue=this.applicationConfiguration?this.applicationConfiguration.inspect(this.key):null),this._applicationInspectValue}get applicationValue(){return this.applicationInspectValue?.merged}get application(){return this.toInspectValue(this.applicationInspectValue)}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get userValue(){return this.userInspectValue.merged}get user(){return this.toInspectValue(this.userInspectValue)}get userLocalInspectValue(){return this._userLocalInspectValue||(this._userLocalInspectValue=this.localUserConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userLocalInspectValue}get userLocalValue(){return this.userLocalInspectValue.merged}get userLocal(){return this.toInspectValue(this.userLocalInspectValue)}get userRemoteInspectValue(){return this._userRemoteInspectValue||(this._userRemoteInspectValue=this.remoteUserConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userRemoteInspectValue}get userRemoteValue(){return this.userRemoteInspectValue.merged}get userRemote(){return this.toInspectValue(this.userRemoteInspectValue)}get workspaceInspectValue(){return this._workspaceInspectValue===void 0&&(this._workspaceInspectValue=this.workspaceConfiguration?this.workspaceConfiguration.inspect(this.key,this.overrides.overrideIdentifier):null),this._workspaceInspectValue}get workspaceValue(){return this.workspaceInspectValue?.merged}get workspace(){return this.toInspectValue(this.workspaceInspectValue)}get workspaceFolderInspectValue(){return this._workspaceFolderInspectValue===void 0&&(this._workspaceFolderInspectValue=this.folderConfigurationModel?this.folderConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier):null),this._workspaceFolderInspectValue}get workspaceFolderValue(){return this.workspaceFolderInspectValue?.merged}get workspaceFolder(){return this.toInspectValue(this.workspaceFolderInspectValue)}get memoryInspectValue(){return this._memoryInspectValue===void 0&&(this._memoryInspectValue=this.memoryConfigurationModel.inspect(this.key,this.overrides.overrideIdentifier)),this._memoryInspectValue}get memoryValue(){return this.memoryInspectValue.merged}get memory(){return this.toInspectValue(this.memoryInspectValue)}},Rd=class r{constructor(t,e,n,o,i,s,a,l,c,u){this._defaultConfiguration=t;this._policyConfiguration=e;this._applicationConfiguration=n;this._localUserConfiguration=o;this._remoteUserConfiguration=i;this._workspaceConfiguration=s;this._folderConfigurations=a;this._memoryConfiguration=l;this._memoryConfigurationByResource=c;this.logService=u;this._workspaceConsolidatedConfiguration=null;this._foldersConsolidatedConfigurations=new Xe;this._userConfiguration=null}getValue(t,e,n){return this.getConsolidatedConfigurationModel(t,e,n).getValue(t)}updateValue(t,e,n={}){let o;n.resource?(o=this._memoryConfigurationByResource.get(n.resource),o||(o=dn.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(n.resource,o))):o=this._memoryConfiguration,e===void 0?o.removeValue(t):o.setValue(t,e),n.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(t,e,n){let o=this.getConsolidatedConfigurationModel(t,e,n),i=this.getFolderConfigurationModelForResource(e.resource,n),s=e.resource?this._memoryConfigurationByResource.get(e.resource)||this._memoryConfiguration:this._memoryConfiguration,a=new Set;for(let l of o.overrides)for(let c of l.identifiers)o.getOverrideValue(t,c)!==void 0&&a.add(c);return new nw(t,e,o.getValue(t),a.size?[...a]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,n?this._workspaceConfiguration:void 0,i||void 0,s)}keys(t){let e=this.getFolderConfigurationModelForResource(void 0,t);return{default:this._defaultConfiguration.keys.slice(0),policy:this._policyConfiguration.keys.slice(0),user:this.userConfiguration.keys.slice(0),workspace:this._workspaceConfiguration.keys.slice(0),workspaceFolder:e?e.keys.slice(0):[]}}updateDefaultConfiguration(t){this._defaultConfiguration=t,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updatePolicyConfiguration(t){this._policyConfiguration=t}updateApplicationConfiguration(t){this._applicationConfiguration=t,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateLocalUserConfiguration(t){this._localUserConfiguration=t,this._userConfiguration=null,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateRemoteUserConfiguration(t){this._remoteUserConfiguration=t,this._userConfiguration=null,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateWorkspaceConfiguration(t){this._workspaceConfiguration=t,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations.clear()}updateFolderConfiguration(t,e){this._folderConfigurations.set(t,e),this._foldersConsolidatedConfigurations.delete(t)}deleteFolderConfiguration(t){this.folderConfigurations.delete(t),this._foldersConsolidatedConfigurations.delete(t)}compareAndUpdateDefaultConfiguration(t,e){let n=[];if(!e){let{added:o,updated:i,removed:s}=Ma(this._defaultConfiguration,t);e=[...o,...i,...s]}for(let o of e)for(let i of xd(o)){let s=this._defaultConfiguration.getKeysForOverrideIdentifier(i),a=t.getKeysForOverrideIdentifier(i),l=[...a.filter(c=>s.indexOf(c)===-1),...s.filter(c=>a.indexOf(c)===-1),...s.filter(c=>!pt(this._defaultConfiguration.override(i).getValue(c),t.override(i).getValue(c)))];n.push([i,l])}return this.updateDefaultConfiguration(t),{keys:e,overrides:n}}compareAndUpdatePolicyConfiguration(t){let{added:e,updated:n,removed:o}=Ma(this._policyConfiguration,t),i=[...e,...n,...o];return i.length&&this.updatePolicyConfiguration(t),{keys:i,overrides:[]}}compareAndUpdateApplicationConfiguration(t){let{added:e,updated:n,removed:o,overrides:i}=Ma(this.applicationConfiguration,t),s=[...e,...n,...o];return s.length&&this.updateApplicationConfiguration(t),{keys:s,overrides:i}}compareAndUpdateLocalUserConfiguration(t){let{added:e,updated:n,removed:o,overrides:i}=Ma(this.localUserConfiguration,t),s=[...e,...n,...o];return s.length&&this.updateLocalUserConfiguration(t),{keys:s,overrides:i}}compareAndUpdateRemoteUserConfiguration(t){let{added:e,updated:n,removed:o,overrides:i}=Ma(this.remoteUserConfiguration,t),s=[...e,...n,...o];return s.length&&this.updateRemoteUserConfiguration(t),{keys:s,overrides:i}}compareAndUpdateWorkspaceConfiguration(t){let{added:e,updated:n,removed:o,overrides:i}=Ma(this.workspaceConfiguration,t),s=[...e,...n,...o];return s.length&&this.updateWorkspaceConfiguration(t),{keys:s,overrides:i}}compareAndUpdateFolderConfiguration(t,e){let n=this.folderConfigurations.get(t),{added:o,updated:i,removed:s,overrides:a}=Ma(n,e),l=[...o,...i,...s];return(l.length||!n)&&this.updateFolderConfiguration(t,e),{keys:l,overrides:a}}compareAndDeleteFolderConfiguration(t){let e=this.folderConfigurations.get(t);if(!e)throw new Error("Unknown folder");this.deleteFolderConfiguration(t);let{added:n,updated:o,removed:i,overrides:s}=Ma(e,void 0);return{keys:[...n,...o,...i],overrides:s}}get defaults(){return this._defaultConfiguration}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){if(!this._userConfiguration)if(this._remoteUserConfiguration.isEmpty())this._userConfiguration=this._localUserConfiguration;else{let t=this._localUserConfiguration.merge(this._remoteUserConfiguration);this._userConfiguration=new dn(t.contents,t.keys,t.overrides,void 0,this.logService)}return this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}get workspaceConfiguration(){return this._workspaceConfiguration}get folderConfigurations(){return this._folderConfigurations}getConsolidatedConfigurationModel(t,e,n){let o=this.getConsolidatedConfigurationModelForResource(e,n);if(e.overrideIdentifier&&(o=o.override(e.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(t)!==void 0){o=o.merge();for(let i of this._policyConfiguration.keys)o.setValue(i,this._policyConfiguration.getValue(i))}return o}getConsolidatedConfigurationModelForResource({resource:t},e){let n=this.getWorkspaceConsolidatedConfiguration();if(e&&t){let o=e.getFolder(t);o&&(n=this.getFolderConsolidatedConfiguration(o.uri)||n);let i=this._memoryConfigurationByResource.get(t);i&&(n=n.merge(i))}return n}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(t){let e=this._foldersConsolidatedConfigurations.get(t);if(!e){let n=this.getWorkspaceConsolidatedConfiguration(),o=this._folderConfigurations.get(t);o?(e=n.merge(o),this._foldersConsolidatedConfigurations.set(t,e)):e=n}return e}getFolderConfigurationModelForResource(t,e){if(e&&t){let n=e.getFolder(t);if(n)return this._folderConfigurations.get(n.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys,raw:Array.isArray(this.applicationConfiguration.raw)?void 0:this.applicationConfiguration.raw},userLocal:{contents:this.localUserConfiguration.contents,overrides:this.localUserConfiguration.overrides,keys:this.localUserConfiguration.keys,raw:Array.isArray(this.localUserConfiguration.raw)?void 0:this.localUserConfiguration.raw},userRemote:{contents:this.remoteUserConfiguration.contents,overrides:this.remoteUserConfiguration.overrides,keys:this.remoteUserConfiguration.keys,raw:Array.isArray(this.remoteUserConfiguration.raw)?void 0:this.remoteUserConfiguration.raw},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((t,e)=>{let{contents:n,overrides:o,keys:i}=this._folderConfigurations.get(e);return t.push([e,{contents:n,overrides:o,keys:i}]),t},[])}}allKeys(){let t=new Set;return this._defaultConfiguration.keys.forEach(e=>t.add(e)),this.userConfiguration.keys.forEach(e=>t.add(e)),this._workspaceConfiguration.keys.forEach(e=>t.add(e)),this._folderConfigurations.forEach(e=>e.keys.forEach(n=>t.add(n))),[...t.values()]}allOverrideIdentifiers(){let t=new Set;return this._defaultConfiguration.getAllOverrideIdentifiers().forEach(e=>t.add(e)),this.userConfiguration.getAllOverrideIdentifiers().forEach(e=>t.add(e)),this._workspaceConfiguration.getAllOverrideIdentifiers().forEach(e=>t.add(e)),this._folderConfigurations.forEach(e=>e.getAllOverrideIdentifiers().forEach(n=>t.add(n))),[...t.values()]}getAllKeysForOverrideIdentifier(t){let e=new Set;return this._defaultConfiguration.getKeysForOverrideIdentifier(t).forEach(n=>e.add(n)),this.userConfiguration.getKeysForOverrideIdentifier(t).forEach(n=>e.add(n)),this._workspaceConfiguration.getKeysForOverrideIdentifier(t).forEach(n=>e.add(n)),this._folderConfigurations.forEach(n=>n.getKeysForOverrideIdentifier(t).forEach(o=>e.add(o))),[...e.values()]}static parse(t,e){let n=this.parseConfigurationModel(t.defaults,e),o=this.parseConfigurationModel(t.policy,e),i=this.parseConfigurationModel(t.application,e),s=this.parseConfigurationModel(t.userLocal,e),a=this.parseConfigurationModel(t.userRemote,e),l=this.parseConfigurationModel(t.workspace,e),c=t.folders.reduce((u,p)=>(u.set(b.revive(p[0]),this.parseConfigurationModel(p[1],e)),u),new Xe);return new r(n,o,i,s,a,l,c,dn.createEmptyModel(e),new Xe,e)}static parseConfigurationModel(t,e){return new dn(t.contents,t.keys,t.overrides,t.raw,e)}},ny=class{constructor(t,e,n,o,i){this.change=t;this.previous=e;this.currentConfiguraiton=n;this.currentWorkspace=o;this.logService=i;this._marker=`
`;this._markerCode1=this._marker.charCodeAt(0);this._markerCode2=46;this.affectedKeys=new Set;this._previousConfiguration=void 0;for(let s of t.keys)this.affectedKeys.add(s);for(let[,s]of t.overrides)for(let a of s)this.affectedKeys.add(a);this._affectsConfigStr=this._marker;for(let s of this.affectedKeys)this._affectsConfigStr+=s+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=Rd.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(t,e){let n=this._marker+t,o=this._affectsConfigStr.indexOf(n);if(o<0)return!1;let i=o+n.length;if(i>=this._affectsConfigStr.length)return!1;let s=this._affectsConfigStr.charCodeAt(i);if(s!==this._markerCode1&&s!==this._markerCode2)return!1;if(e){let a=this.previousConfiguration?this.previousConfiguration.getValue(t,e,this.previous?.workspace):void 0,l=this.currentConfiguraiton.getValue(t,e,this.currentWorkspace);return!pt(a,l)}return!0}}});function w8(r){return{type:r.type,managedSettings:r.managedSettings,restrictedValue:r.restrictedValue}}function PA(r){if(r.restrictedValue!==void 0)return r.restrictedValue;switch(r.type){case"boolean":return!1;case"number":return 0;case"string":return""}}var kA,oy,Aa,kd=y(()=>{de();Gr();Q();X();kA=D("policy"),oy=class extends _{constructor(){super(...arguments);this.policyDefinitions={};this.policies=new Map;this.policyValueSources=new Map;this._onDidChange=this._register(new w);this.onDidChange=this._onDidChange.event}async updatePolicyDefinitions(e){let n=!1;for(let o of Object.keys(e))this.policyDefinitions[o]!==e[o]&&(this.policyDefinitions[o]=e[o],n=!0);return n&&await this._updatePolicyDefinitions(this.policyDefinitions),this.getPolicyValues()}getPolicyValue(e){return this.policies.get(e)}getPolicyValueSource(e){return this.getStoredPolicyValueSource(e)}getStoredPolicyValueSource(e){if(this.policies.has(e))return this.policyValueSources.get(e)??"device"}serialize(){return Gt.reduce(Object.entries(this.policyDefinitions),(e,[n,o])=>({...e,[n]:{definition:w8(o),value:this.policies.get(n)}}),{})}getPolicyValues(){return Gt.reduce(this.policies.entries(),(e,[n,o])=>({...e,[n]:o}),{})}updatePolicyValue(e,n,o="device"){if(n===void 0){let a=this.policies.delete(e),l=this.policyValueSources.delete(e);return a||l}let i=this.policies.get(e)!==n,s=this.getStoredPolicyValueSource(e)!==o;return!i&&!s?!1:(this.policies.set(e,n),this.policyValueSources.set(e,o),!0)}clearPolicyValues(){this.policies.clear(),this.policyValueSources.clear()}},Aa=class{constructor(){this.onDidChange=W.None;this.policyDefinitions={}}async updatePolicyDefinitions(){return{}}getPolicyValue(){}getPolicyValueSource(){}serialize(){}}});var ry,iy,Dd,DA=y(()=>{de();Q();en();Ee();ow();gi();Pe();kd();Uo();Se();Qr();ry=class extends _{constructor(e){super();this.logService=e;this._onDidChangeConfiguration=this._register(new w);this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this._configurationModel=dn.createEmptyModel(e)}get configurationModel(){return this._configurationModel}async initialize(){return this.resetConfigurationModel(),this._register(lt.as(On.Configuration).onDidUpdateConfiguration(({properties:e,defaultsOverrides:n})=>this.onDidUpdateConfiguration(Array.from(e),n))),this.configurationModel}reload(){return this.resetConfigurationModel(),this.configurationModel}onDidUpdateConfiguration(e,n){this.updateConfigurationModel(e,lt.as(On.Configuration).getConfigurationProperties()),this._onDidChangeConfiguration.fire({defaults:this.configurationModel,properties:e})}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=dn.createEmptyModel(this.logService);let e=lt.as(On.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,n){let o=this.getConfigurationDefaultOverrides();for(let i of e){let s=o[i],a=n[i];s!==void 0?this._configurationModel.setValue(i,s):a?this._configurationModel.setValue(i,this.getDefaultValue(i,a)):this._configurationModel.removeValue(i)}}getDefaultValue(e,n){return Jr(n.default)}},iy=class{constructor(){this.onDidChangeConfiguration=W.None;this.configurationModel=dn.createEmptyModel(new Uv)}async initialize(){return this.configurationModel}},Dd=class extends _{constructor(e,n,o){super();this.defaultConfiguration=e;this.policyService=n;this.logService=o;this._onDidChangeConfiguration=this._register(new w);this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this._submittedPolicyDefinitions=new Map;this._policyNameByKey=new Map;this._configurationModel=dn.createEmptyModel(this.logService),this.configurationRegistry=lt.as(On.Configuration)}get configurationModel(){return this._configurationModel}async initialize(){return this.logService.trace("PolicyConfiguration#initialize"),this.update(await this.updatePolicyDefinitions(this.defaultConfiguration.configurationModel.keys),!1),this.update(await this.updatePolicyDefinitions(Object.keys(this.configurationRegistry.getExcludedConfigurationProperties())),!1),this._register(this.policyService.onDidChange(e=>this.onDidChangePolicies(e))),this._register(this.defaultConfiguration.onDidChangeConfiguration(async({properties:e})=>this.update(await this.updatePolicyDefinitions(e),!0))),this._configurationModel}toPolicyDefinitionType(e,n){let i=(Array.isArray(e)?e:[e]).filter(s=>s==="string"||s==="number"||s==="array"||s==="object"||s==="boolean");if(i.length===0){this.logService.warn(`PolicyConfiguration#updatePolicyDefinitions - policy '${n}' has unsupported type '${e}'`);return}return i.includes("number")?"number":i.includes("boolean")?"boolean":"string"}async updatePolicyDefinitions(e){this.logService.trace("PolicyConfiguration#updatePolicyDefinitions",e);let n=[],o=new Set,i=this.configurationRegistry.getConfigurationProperties(),s=this.configurationRegistry.getExcludedConfigurationProperties();for(let l of e){let c=i[l]??s[l];if(!c){n.push(l);let p=this._policyNameByKey.get(l);p!==void 0&&(this._policyNameByKey.delete(l),o.add(p));continue}let u=c.policy?.name??c.policyReference?.name;u&&(n.push(l),o.add(u),this._policyNameByKey.set(l,u))}let a={};for(let l of o){let c=this.resolvePolicyDefinition(l);c&&!this.isSamePolicyDefinition(this._submittedPolicyDefinitions.get(l),c)&&(this._submittedPolicyDefinitions.set(l,c),a[l]=c)}return ga(a)||await this.policyService.updatePolicyDefinitions(a),n}isSamePolicyDefinition(e,n){return!!e&&e.type===n.type&&e.value===n.value&&e.managedSettings===n.managedSettings&&e.restrictedValue===n.restrictedValue}resolvePolicyDefinition(e){let n=this.configurationRegistry.getConfigurationProperties(),o=this.configurationRegistry.getExcludedConfigurationProperties(),i=this.configurationRegistry.getPolicyConfigurations().get(e);if(i!==void 0){let a=n[i]??o[i];if(a?.policy){let l=this.toPolicyDefinitionType(a.type,e),{value:c,managedSettings:u,restrictedValue:p}=a.policy;return l?{type:l,value:c,managedSettings:u,restrictedValue:p}:void 0}}let s=this.configurationRegistry.getPolicyReferenceConfigurations().get(e);for(let a of s??[]){let l=n[a]??o[a];if(l?.policyReference){let c=this.toPolicyDefinitionType(l.type,e);return c?{type:c}:void 0}}}onDidChangePolicies(e){this.logService.trace("PolicyConfiguration#onDidChangePolicies",e);let n=this.configurationRegistry.getPolicyConfigurations(),o=this.configurationRegistry.getPolicyReferenceConfigurations(),i=[];for(let s of e){let a=n.get(s);a&&i.push(a);let l=o.get(s);l&&i.push(...l)}this.update(i,!0)}update(e,n){this.logService.trace("PolicyConfiguration#update",e);let o=this.configurationRegistry.getConfigurationProperties(),i=this.configurationRegistry.getExcludedConfigurationProperties(),s=[],a=this._configurationModel.isEmpty();for(let l of e){let c=o[l]??i[l],u=c?.policy?.name??c?.policyReference?.name;if(u){let p=this.policyService.getPolicyValue(u),m=Array.isArray(c.type)?c.type.includes("string"):c.type==="string";if(Z(p)&&!m)try{p=this.parse(p)}catch(g){this.logService.error(`Error parsing policy value ${u}:`,he(g));continue}(a?p!==void 0:!pt(this._configurationModel.getValue(l),p))&&s.push([l,p])}else this._configurationModel.getValue(l)!==void 0&&s.push([l,void 0])}if(s.length){this.logService.trace("PolicyConfiguration#changed",s);let l=this._configurationModel;this._configurationModel=dn.createEmptyModel(this.logService);for(let c of l.keys)this._configurationModel.setValue(c,l.getValue(c));for(let[c,u]of s)u===void 0?this._configurationModel.removeValue(c):this._configurationModel.setValue(c,u);n&&this._onDidChangeConfiguration.fire(this._configurationModel)}}parse(e){let n={},o=null,i=[],s=[],a=[];function l(u){if(Array.isArray(i))i.push(u);else if(o!==null){if(i[o]!==void 0)throw new Error(`Duplicate property found: ${o}`);i[o]=u}}if(e&&(yd(e,{onObjectBegin:()=>{let u={};l(u),s.push(i),i=u,o=null},onObjectProperty:u=>{o=u},onObjectEnd:()=>{i=s.pop()},onArrayBegin:()=>{let u=[];l(u),s.push(i),i=u,o=null},onArrayEnd:()=>{i=s.pop()},onLiteralValue:l,onError:(u,p,m)=>{a.push({error:u,offset:p,length:m})}}),n=i[0]||n),a.length>0)throw new Error(a.map(u=>he(u.error)).join(`
`));return n}};Dd=C([I(1,kA),I(2,K)],Dd)});var _d,rw,iw=y(()=>{Lt();Me();ze();de();Qr();sA();Q();_n();en();me();Rt();tn();ow();gi();DA();it();kd();_d=class extends _{constructor(e,n,o,i){super();this.settingsResource=e;this.logService=i;this._onDidChangeConfiguration=this._register(new w);this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;this.defaultConfiguration=this._register(new ry(i)),this.policyConfiguration=o instanceof Aa?new iy:this._register(new Dd(this.defaultConfiguration,o,i)),this.userConfiguration=this._register(new ty(this.settingsResource,{},Ll,n,i)),this.configuration=new Rd(this.defaultConfiguration.configurationModel,this.policyConfiguration.configurationModel,dn.createEmptyModel(i),dn.createEmptyModel(i),dn.createEmptyModel(i),dn.createEmptyModel(i),new Xe,dn.createEmptyModel(i),new Xe,i),this.configurationEditing=new rw(e,n,this),this.reloadConfigurationScheduler=this._register(new Ko(()=>this.reloadConfiguration(),50)),this._register(this.defaultConfiguration.onDidChangeConfiguration(({defaults:s,properties:a})=>this.onDidDefaultConfigurationChange(s,a))),this._register(this.policyConfiguration.onDidChangeConfiguration(s=>this.onDidPolicyConfigurationChange(s))),this._register(this.userConfiguration.onDidChange(()=>this.reloadConfigurationScheduler.schedule()))}async initialize(){let[e,n,o]=await Promise.all([this.defaultConfiguration.initialize(),this.policyConfiguration.initialize(),this.userConfiguration.loadConfiguration()]);this.configuration=new Rd(e,n,dn.createEmptyModel(this.logService),o,dn.createEmptyModel(this.logService),dn.createEmptyModel(this.logService),new Xe,dn.createEmptyModel(this.logService),new Xe,this.logService)}getConfigurationData(){return this.configuration.toData()}getValue(e,n){let o=typeof e=="string"?e:void 0,i=Vv(e)?e:Vv(n)?n:{};return this.configuration.getValue(o,i,void 0)}async updateValue(e,n,o,i,s){let a=cA(o)?o:Vv(o)?{resource:o.resource,overrideIdentifiers:o.overrideIdentifier?[o.overrideIdentifier]:void 0}:void 0,l=a?i:o;if(l!==void 0&&l!==3&&l!==2)throw new Error(`Unable to write ${e} to target ${l}.`);a?.overrideIdentifiers&&(a.overrideIdentifiers=jn(a.overrideIdentifiers),a.overrideIdentifiers=a.overrideIdentifiers.length?a.overrideIdentifiers:void 0);let c=this.inspect(e,{resource:a?.resource,overrideIdentifier:a?.overrideIdentifiers?a.overrideIdentifiers[0]:void 0});if(c.policyValue!==void 0)throw new Error(`Unable to write ${e} because it is configured in system policy.`);if(pt(n,c.defaultValue)&&(n=void 0),a?.overrideIdentifiers?.length&&a.overrideIdentifiers.length>1){let p=a.overrideIdentifiers.sort(),m=this.configuration.localUserConfiguration.overrides.find(g=>vn([...g.identifiers].sort(),p));m&&(a.overrideIdentifiers=m.identifiers)}let u=a?.overrideIdentifiers?.length?[SA(a.overrideIdentifiers),e]:[e];await this.configurationEditing.write(u,n),await this.reloadConfiguration()}inspect(e,n={}){return this.configuration.inspect(e,n,void 0)}keys(){return this.configuration.keys(void 0)}async reloadConfiguration(){let e=await this.userConfiguration.loadConfiguration();this.onDidChangeUserConfiguration(e)}onDidChangeUserConfiguration(e){let n=this.configuration.toData(),o=this.configuration.compareAndUpdateLocalUserConfiguration(e);this.trigger(o,n,2)}onDidDefaultConfigurationChange(e,n){let o=this.configuration.toData(),i=this.configuration.compareAndUpdateDefaultConfiguration(e,n);this.trigger(i,o,7)}onDidPolicyConfigurationChange(e){let n=this.configuration.toData(),o=this.configuration.compareAndUpdatePolicyConfiguration(e);this.trigger(o,n,7)}trigger(e,n,o){let i=new ny(e,{data:n},this.configuration,void 0,this.logService);i.source=o,this._onDidChangeConfiguration.fire(i)}},rw=class{constructor(t,e,n){this.settingsResource=t;this.fileService=e;this.configurationService=n;this.queue=new Tr}write(t,e){return this.queue.queue(()=>this.doWriteConfiguration(t,e))}async doWriteConfiguration(t,e){let n;try{n=(await this.fileService.readFile(this.settingsResource)).value.toString()}catch(s){if(s.fileOperationResult===1)n="{}";else throw s}let o=[];if(ur(n,o,{allowTrailingComma:!0,allowEmptyContent:!0}),o.length>0)throw new Error("Unable to write into the settings file. Please open the file to correct errors/warnings in the file and try again.");let i=this.getEdits(n,t,e);n=iA(n,i),await this.fileService.writeFile(this.settingsResource,L.fromString(n))}getEdits(t,e,n){let{tabSize:o,insertSpaces:i,eol:s}=this.formattingOptions;if(!e.length){let a=JSON.stringify(n,null,i?" ".repeat(o):"	");return[{content:a,length:a.length,offset:0}]}return rA(t,e,n,{tabSize:o,insertSpaces:i,eol:s})}get formattingOptions(){if(!this._formattingOptions){let t=or===3||or===2?`
`:`\r
`,e=this.configurationService.getValue("files.eol",{overrideIdentifier:"jsonc"});e&&typeof e=="string"&&e!=="auto"&&(t=e),this._formattingOptions={eol:t,insertSpaces:!!this.configurationService.getValue("editor.insertSpaces",{overrideIdentifier:"jsonc"}),tabSize:this.configurationService.getValue("editor.tabSize",{overrideIdentifier:"jsonc"})}}return this._formattingOptions}}});function Md(r){return r.res.statusCode&&r.res.statusCode>=200&&r.res.statusCode<300||r.res.statusCode===1223}function LA(r){return!!r.res.statusCode&&r.res.statusCode>=400&&r.res.statusCode<500}function OA(r){return!!r.res.statusCode&&r.res.statusCode>=500&&r.res.statusCode<600}function UA(r){return r.res.statusCode===204}async function Ad(r){return UA(r)?null:(await cr(r.stream)).toString()}async function Bi(r){if(!Md(r))throw new Error("Server returned "+r.res.statusCode);return Ad(r)}async function $i(r){if(!Md(r))throw new Error("Server returned "+r.res.statusCode);if(UA(r))return null;let e=(await cr(r.stream)).toString();try{return JSON.parse(e)}catch(n){throw n.message+=`:
`+e,n}}function R8(r=!0,t=!0){if(_A===r&&MA===t)return;_A=r,MA=t;let e=lt.as(On.Configuration),n=sw;sw=[{id:"http",order:15,title:d(3024,null),type:"object",scope:2,properties:{"http.useLocalProxyConfiguration":{type:"boolean",default:t,markdownDescription:d(3039,null),restricted:!0}}},{id:"http",order:15,title:d(3024,null),type:"object",scope:1,properties:{"http.electronFetch":{type:"boolean",default:!1,description:d(3022,null),restricted:!0}}},{id:"http",order:15,title:d(3024,null),type:"object",scope:r?1:2,properties:{"http.proxy":{type:"string",pattern:"^(https?|socks|socks4a?|socks5h?)://([^:]*(:[^@]*)?@)?([^:]+|\\[[:0-9a-fA-F]+\\])(:\\d+)?/?$|^$",markdownDescription:d(3027,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,agentHost:{key:"http.proxy",scope:"ambient",transform:o=>typeof o=="string"?o:""}},"http.proxyStrictSSL":{type:"boolean",default:!0,markdownDescription:d(3035,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxyKerberosServicePrincipal":{type:"string",markdownDescription:d(3029,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,agentHost:{key:"http.proxyKerberosServicePrincipal",scope:"ambient",transform:o=>typeof o=="string"?o:""}},"http.noProxy":{type:"array",items:{type:"string"},markdownDescription:d(3026,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,agentHost:{key:"http.noProxy",scope:"ambient",transform:o=>Array.isArray(o)?o:[]}},"http.proxyAuthorization":{type:["null","string"],default:null,markdownDescription:d(3028,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.proxySupport":{type:"string",enum:["off","on","fallback","override"],enumDescriptions:[d(3032,null),d(3033,null),d(3031,null),d(3034,null)],default:"override",markdownDescription:d(3030,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificates":{type:"boolean",default:!0,markdownDescription:d(3036,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.systemCertificatesNode":{type:"boolean",tags:["experimental"],default:lw,markdownDescription:d(3037,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}},"http.experimental.systemCertificatesV2":{type:"boolean",tags:["experimental"],default:!1,markdownDescription:d(3038,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0},"http.fetchAdditionalSupport":{type:"boolean",default:!0,markdownDescription:d(3023,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.webSocketAdditionalSupport":{type:"boolean",default:!0,markdownDescription:d(3040,null,"`#http.useLocalProxyConfiguration#`","`#http.proxySupport#`","`#http.systemCertificates#`"),restricted:!0},"http.experimental.networkInterfaceCheckInterval":{type:"number",default:300,minimum:-1,tags:["experimental"],markdownDescription:d(3025,null,"`#http.useLocalProxyConfiguration#`"),restricted:!0,experiment:{mode:"auto"}}}}],e.updateConfigurations({add:sw,remove:n})}var Yn,AA,aw,sy,lw,sw,_A,MA,yi=y(()=>{ze();Se();de();Q();le();gi();X();Uo();Yn=D("requestService"),AA="NO_FETCH_TELEMETRY",aw=class{constructor(t){this.original=t}toJSON(){if(!this.headers){let t=Object.create(null);for(let e in this.original)e.toLowerCase()==="authorization"||e.toLowerCase()==="proxy-authorization"?t[e]="*****":t[e]=this.original[e];this.headers=t}return this.headers}},sy=class extends _{constructor(e){super();this.logService=e;this.counter=0;this._onDidCompleteRequest=this._register(new w);this.onDidCompleteRequest=this._onDidCompleteRequest.event}async logAndRequest(e,n){let o=`#${++this.counter}: ${e.url}`;this.logService.trace(`${o} - begin`,e.type,new aw(e.headers??{}));let i=Date.now();try{let s=await n();return this.logService.trace(`${o} - end`,e.type,s.res.statusCode,s.res.headers),this._onDidCompleteRequest.fire({callSite:e.callSite,latency:Date.now()-i,statusCode:s.res.statusCode}),s}catch(s){throw this.logService.error(`${o} - error`,e.type,he(s)),s}}};lw=!1,sw=[];R8()});var Pt,Xn,Nn=y(()=>{X();Pt=D("environmentService"),Xn=Pt});function NA(r){return P8.test(r)}var P8,ye,Jt=y(()=>{P8=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;ye=(function(){if(typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let r=new Uint8Array(16),t=[];for(let e=0;e<256;e++)t.push(e.toString(16).padStart(2,"0"));return function(){crypto.getRandomValues(r),r[6]=r[6]&15|64,r[8]=r[8]&63|128;let n=0,o="";return o+=t[r[n++]],o+=t[r[n++]],o+=t[r[n++]],o+=t[r[n++]],o+="-",o+=t[r[n++]],o+=t[r[n++]],o+="-",o+=t[r[n++]],o+=t[r[n++]],o+="-",o+=t[r[n++]],o+=t[r[n++]],o+="-",o+=t[r[n++]],o+=t[r[n++]],o+=t[r[n++]],o+=t[r[n++]],o+=t[r[n++]],o+=t[r[n++]],o}})()});import*as cw from"os";function M8({useAlternateBitness:r=!1}={}){return r?jm===0?process.env["ProgramFiles(x86)"]||null:Od===0&&process.env.ProgramW6432||null:process.env.ProgramFiles||null}async function ay({useAlternateBitness:r=!1,findPreview:t=!1}={}){let e=M8({useAlternateBitness:r});if(!e)return null;let n=G(e,"PowerShell");if(!await Io.existsDirectory(n))return null;let o=-1,i=null;for(let l of await ke.readdir(n)){let c=-1;if(t){let p=l.indexOf("-");if(p<0)continue;let m=l.substring(0,p);if(!FA.test(m)||l.substring(p+1)!=="preview")continue;c=parseInt(m,10)}else{if(!FA.test(l))continue;c=parseInt(l,10)}if(c<=o)continue;let u=G(n,l,"pwsh.exe");await Io.existsFile(u)&&(i=u,o=c)}if(!i)return null;let s=e.includes("x86")?" (x86)":"",a=t?" Preview":"";return new Gl(i,`PowerShell${a}${s}`,!0)}async function VA({findPreview:r}={}){if(!process.env.LOCALAPPDATA)return null;let t=G(process.env.LOCALAPPDATA,"Microsoft","WindowsApps");if(!await Io.existsDirectory(t))return null;let{pwshMsixDirRegex:e,pwshMsixName:n}=r?{pwshMsixDirRegex:_8,pwshMsixName:"PowerShell Preview (Store)"}:{pwshMsixDirRegex:D8,pwshMsixName:"PowerShell (Store)"};for(let o of await ke.readdir(t))if(e.test(o)){let i=G(t,o,"pwsh.exe");return new Gl(i,n)}return null}function A8(){let r=G(cw.homedir(),".dotnet","tools","pwsh.exe");return new Gl(r,".NET Core PowerShell Global Tool")}function L8(){let r=G(cw.homedir(),"scoop","apps"),t=G(r,"pwsh","current","pwsh.exe");return new Gl(t,"PowerShell (Scoop)")}function O8(){let r=G(process.env.windir,jm===1&&Od!==1?"SysNative":"System32","WindowsPowerShell","v1.0","powershell.exe");return new Gl(r,"Windows PowerShell",!0)}async function*U8(){let r=await ay();r&&(yield r),r=await ay({useAlternateBitness:!0}),r&&(yield r),r=await VA(),r&&(yield r),r=A8(),r&&(yield r),r=await ay({findPreview:!0}),r&&(yield r),r=await VA({findPreview:!0}),r&&(yield r),r=await ay({useAlternateBitness:!0,findPreview:!0}),r&&(yield r),r=await L8(),r&&(yield r),r=O8(),r&&(yield r)}async function*dw(){for await(let r of U8())await r.exists()&&(yield r)}async function HA(){for await(let r of dw())return r;return null}var FA,D8,_8,jm,Od,Gl,uw=y(()=>{Ue();Ao();FA=/^\d+$/,D8=/^Microsoft.PowerShell_.*/,_8=/^Microsoft.PowerShellPreview_.*/;switch(process.arch){case"ia32":jm=1;break;case"arm":case"arm64":jm=2;break;default:jm=0;break}process.env.PROCESSOR_ARCHITEW6432?Od=process.env.PROCESSOR_ARCHITEW6432==="ARM64"?2:0:process.env.PROCESSOR_ARCHITECTURE==="ARM64"?Od=2:process.env.PROCESSOR_ARCHITECTURE==="X86"?Od=1:Od=0;Gl=class{constructor(t,e,n){this.exePath=t;this.displayName=e;this.knownToExist=n}async exists(){return this.knownToExist===void 0&&(this.knownToExist=await Io.existsFile(this.exePath)),this.knownToExist}}});function WA(r,...t){let e=t.reduce((i,s)=>(i[s]=!0,i),{}),n=[/^ELECTRON_.+$/,/^VSCODE_(?!(PORTABLE|SHELL_LOGIN|ENV_REPLACE|ENV_APPEND|ENV_PREPEND)).+$/,/^SNAP(|_.*)$/,/^GDK_PIXBUF_.+$/,/^CODE_SERVER_.+$/,/^CS_.+$/];Object.keys(r).filter(i=>!e[i]).forEach(i=>{for(let s=0;s<n.length;s++)if(i.search(n[s])!==-1){delete r[i];break}})}function Ud(r){if(!r)return;let t=new Set(["DEBUG","NODE_OPTIONS","VSCODE_NODE_OPTIONS","LD_PRELOAD","DYLD_INSERT_LIBRARIES"]);for(let e of Object.keys(r))t.has(e.toUpperCase())&&delete r[e]}var Nd=y(()=>{});import{promises as BA}from"fs";function $A(r=ln){return r.comspec||"cmd.exe"}function qA(r){let t=[],e=!1,n=function(o){if(e){t.push(o);return}(!r.send(o,s=>{if(s&&console.error(s),e=!1,t.length>0){let a=t.slice(0);t=[],a.forEach(l=>n(l))}})||te)&&(e=!0)};return{send:n}}async function N8(r){if(await ke.exists(r)){let t;try{t=await BA.stat(r)}catch(e){e.message.startsWith("EACCES")&&(t=await BA.lstat(r))}return t?!t.isDirectory():!1}return!1}async function Kl(r,t,e,n=ln,o=N8){if(zo(r))return await o(r)?r:void 0;if(t===void 0&&(t=br()),At(r)!=="."){let l=G(t,r);return await o(l)?l:void 0}let s=Ps(n,"PATH");if(e===void 0&&Z(s)&&(e=s.split(pa)),e===void 0||e.length===0){let l=G(t,r);return await o(l)?l:void 0}for(let l of e){let c;if(zo(l)?c=G(l,r):c=G(t,l,r),te){let p=(Ps(n,"PATHEXT")||".COM;.EXE;.BAT;.CMD").split(";").map(async m=>{let g=c+m;return await o(g)?g:void 0});for(let m of p){let g=await m;if(g)return g}}if(await o(c))return c}let a=G(t,r);return await o(a)?a:void 0}var Qm=y(()=>{en();Ue();me();Sr();Nd();Ee();Ao();Ne()});import{userInfo as V8}from"os";async function ly(r,t){return r===1?te?W8():$A(t):H8(r,t)}function H8(r,t){if(qe&&r===2||ut&&r===3)return"/bin/bash";if(!pw){let e;if(te)e="/bin/bash";else{if(e=t.SHELL,!e)try{e=V8().shell}catch{}e||(e="sh"),e==="/bin/false"&&(e="/bin/bash")}pw=e}return pw}async function W8(){return mw||(mw=(await HA()).exePath),mw}var pw,mw,gw=y(()=>{me();uw();Qm();pw=null;mw=null});function cy(r,t,e=$8){let n=r.find((m,g)=>m.length>0&&m[0]!=="-"&&t.hasOwnProperty(m)&&t[m].type==="subcommand"),o={},i=["_"],s=[],a={},l;for(let m in t){let g=t[m];g.type==="subcommand"?m===n&&(l=g):(g.alias&&(o[m]=g.alias),g.type==="string"||g.type==="string[]"?(i.push(m),g.deprecates&&i.push(...g.deprecates)):g.type==="boolean"&&(s.push(m),g.deprecates&&s.push(...g.deprecates)),g.global&&(a[m]=g))}if(l&&n){let m=a;for(let S in l.options)m[S]=l.options[S];let g=r.filter(S=>S!==n),h=e.getSubcommandReporter?e.getSubcommandReporter(n):void 0,v=cy(g,m,h);return{[n]:v,_:[]}}let c=(0,GA.default)(r,{string:i,boolean:s,alias:o}),u={},p=c;u._=c._.map(m=>String(m)).filter(m=>m.length>0),delete p._;for(let m in t){let g=t[m];if(g.type==="subcommand")continue;g.alias&&delete p[g.alias];let h=p[m];if(g.deprecates)for(let v of g.deprecates)p.hasOwnProperty(v)&&(h||(h=p[v],h&&e.onDeprecatedOption(v,g.deprecationMessage||d(2699,null,m))),delete p[v]);if(typeof h<"u"){if(g.type==="string[]"){if(Array.isArray(h)||(h=[h]),!g.allowEmptyValue){let v=h.filter(S=>S.length>0);v.length!==h.length&&(e.onEmptyValue(m),h=v.length>0?v:void 0)}}else g.type==="string"&&(Array.isArray(h)?(h=h.pop(),e.onMultipleValues(m,h)):!h&&!g.allowEmptyValue&&(e.onEmptyValue(m),h=void 0));u[m]=h,g.deprecationMessage&&e.onDeprecatedOption(m,g.deprecationMessage)}delete p[m]}for(let m in p)e.onUnknownOption(m);return u}function q8(r,t){let e="";return t.args&&(Array.isArray(t.args)?e=` <${t.args.join("> <")}>`:e=` <${t.args}>`),t.alias?`-${t.alias} --${r}${e}`:`--${r}${e}`}function z8(r,t){let e=[];for(let n in r){let o=r[n],i=q8(n,o);e.push([i,o.description])}return KA(e,t)}function KA(r,t){let n=r.reduce((s,a)=>Math.max(s,a[0].length),12)+2+1;if(t-n<25)return r.reduce((s,a)=>s.concat([`  ${a[0]}`,`      ${a[1]}`]),[]);let o=t-n-1,i=[];for(let s of r){let a=s[0],l=G8(s[1],o),c=zA(n-a.length-2);i.push("  "+a+c+l[0]);for(let u=1;u<l.length;u++)i.push(zA(n)+l[u])}return i}function zA(r){return" ".repeat(r)}function G8(r,t){let e=[];for(;r.length;){let n=r.length<t?r.length:r.lastIndexOf(" ",t);n===0&&(n=t);let o=r.slice(0,n).trim();r=r.slice(n).trimStart(),e.push(o)}return e}function jA(r,t,e,n,o){let i=process.stdout.isTTY&&process.stdout.columns||80,s=o?.noInputFiles?"":o?.isChat?` [${d(2698,null)}]`:` [${d(2725,null)}...]`,a=o?.isChat?" chat":"",l=[`${r} ${e}`];l.push(""),l.push(`${d(2744,null)}: ${t}${a} [${d(2723,null)}]${s}`),l.push(""),o?.noPipe!==!0&&(l.push(K8(t,o?.isChat)),l.push(""));let c={},u=[];for(let p in n){let m=n[p];if(m.type==="subcommand")m.description&&u.push({command:p,description:m.description});else if(m.description&&m.cat){let g=m.cat,h=c[g];h||(c[g]=h={}),h[p]=m}}for(let p in c){let m=p,g=c[m];g&&(l.push(B8[m]),l.push(...z8(g,i)),l.push(""))}return u.length&&(l.push(d(2735,null)),l.push(...KA(u.map(p=>[p.command,p.description]),i)),l.push("")),l.join(`
`)}function K8(r,t){let e;return te?t?e=`echo Hello World | ${r} chat <prompt> -`:e=`echo Hello World | ${r} -`:t?e=`ps aux | grep code | ${r} chat <prompt> -`:e=`ps aux | grep code | ${r} -`,d(2734,null,e)}function QA(r,t){return`${r||d(2742,null)}
${t||d(2741,null)}
${process.arch}`}var GA,B8,Ht,$8,Jm=y(()=>{GA=W1(TC(),1);me();le();B8={o:d(2724,null),e:d(2708,null),t:d(2738,null),m:d(2719,null)},Ht={chat:{type:"subcommand",description:"Pass in a prompt to run in a chat session in the current working directory.",options:{_:{type:"string[]",description:d(2728,null)},mode:{type:"string",cat:"o",alias:"m",args:"mode",description:d(2695,null)},"add-file":{type:"string[]",cat:"o",alias:"a",args:"path",description:d(2690,null)},maximize:{type:"boolean",cat:"o",description:d(2694,null)},"reuse-window":{type:"boolean",cat:"o",alias:"r",description:d(2731,null)},"new-window":{type:"boolean",cat:"o",alias:"n",description:d(2722,null)},profile:{type:"string",cat:"o",args:"profileName",description:d(2727,null)},help:{type:"boolean",alias:"h",description:d(2710,null)}}},"serve-web":{type:"subcommand",description:"Run a server that displays the editor UI in browsers.",options:{"cli-data-dir":{type:"string",args:"dir",description:d(2696,null)},"disable-telemetry":{type:"boolean"},"telemetry-level":{type:"string"}}},agent:{type:"subcommand",description:"Start and interact with AI agent hosts.",options:{"cli-data-dir":{type:"string",args:"dir",description:d(2696,null)},"disable-telemetry":{type:"boolean"},"telemetry-level":{type:"string"}}},tunnel:{type:"subcommand",description:"Make the current machine accessible from vscode.dev or other machines through a secure tunnel.",options:{"cli-data-dir":{type:"string",args:"dir",description:d(2696,null)},"disable-telemetry":{type:"boolean"},"telemetry-level":{type:"string"},user:{type:"subcommand",options:{login:{type:"subcommand",options:{provider:{type:"string"},"access-token":{type:"string"}}}}}}},diff:{type:"boolean",cat:"o",alias:"d",args:["file","file"],description:d(2700,null)},merge:{type:"boolean",cat:"o",alias:"m",args:["path1","path2","base","result"],description:d(2720,null)},add:{type:"boolean",cat:"o",alias:"a",args:"folder",description:d(2689,null)},remove:{type:"boolean",cat:"o",args:"folder",description:d(2729,null)},goto:{type:"boolean",cat:"o",alias:"g",args:"file:line[:character]",description:d(2709,null)},"new-window":{type:"boolean",cat:"o",alias:"n",description:d(2721,null)},"reuse-window":{type:"boolean",cat:"o",alias:"r",description:d(2730,null)},agents:{type:"boolean",cat:"o",deprecates:["sessions"],description:d(2692,null)},wait:{type:"boolean",cat:"o",alias:"w",description:d(2748,null)},waitMarkerFilePath:{type:"string"},locale:{type:"string",cat:"o",args:"locale",description:d(2716,null)},"user-data-dir":{type:"string",cat:"o",args:"dir",description:d(2745,null)},profile:{type:"string",cat:"o",args:"profileName",description:d(2727,null)},help:{type:"boolean",cat:"o",alias:"h",description:d(2710,null)},"stdin-to-clipboard":{type:"boolean",cat:"o",alias:"c",description:d(2697,null)},"extensions-dir":{type:"string",deprecates:["extensionHomePath"],cat:"e",args:"dir",description:d(2707,null)},"extensions-download-dir":{type:"string"},"builtin-extensions-dir":{type:"string"},"shared-data-dir":{type:"string"},"list-extensions":{type:"boolean",cat:"e",description:d(2715,null)},"agent-plugins-dir":{type:"string"},"agents-user-data-dir":{type:"string"},"agents-extensions-dir":{type:"string"},"show-versions":{type:"boolean",cat:"e",description:d(2732,null)},category:{type:"string",allowEmptyValue:!0,cat:"e",description:d(2693,null),args:"category"},"install-extension":{type:"string[]",cat:"e",args:"ext-id | path",description:d(2714,null)},"pre-release":{type:"boolean",cat:"e",description:d(2713,null)},"uninstall-extension":{type:"string[]",cat:"e",args:"ext-id",description:d(2740,null)},"update-extensions":{type:"boolean",cat:"e",description:d(2743,null)},"enable-proposed-api":{type:"string[]",allowEmptyValue:!0,cat:"e",args:"ext-id",description:d(2706,null)},"add-mcp":{type:"string[]",cat:"m",args:"json",description:d(2691,null)},version:{type:"boolean",cat:"t",alias:"v",description:d(2747,null)},verbose:{type:"boolean",cat:"t",global:!0,description:d(2746,null)},log:{type:"string[]",cat:"t",args:"level",global:!0,description:d(2718,null)},status:{type:"boolean",alias:"s",cat:"t",description:d(2733,null)},"prof-startup":{type:"boolean",cat:"t",description:d(2726,null)},"prof-append-timers":{type:"string"},"prof-duration-markers":{type:"string[]"},"prof-duration-markers-file":{type:"string"},"no-cached-data":{type:"boolean"},"prof-startup-prefix":{type:"string"},"prof-v8-extensions":{type:"boolean"},"disable-extensions":{type:"boolean",deprecates:["disableExtensions"],cat:"t",description:d(2703,null)},"disable-extension":{type:"string[]",cat:"t",args:"ext-id",description:d(2702,null)},sync:{type:"string",cat:"t",description:d(2739,null),args:["on | off"]},"inspect-extensions":{type:"string",allowEmptyValue:!0,deprecates:["debugPluginHost"],args:"port",cat:"t",description:d(2712,null)},"inspect-brk-extensions":{type:"string",allowEmptyValue:!0,deprecates:["debugBrkPluginHost"],args:"port",cat:"t",description:d(2711,null)},"disable-lcd-text":{type:"boolean",cat:"t",description:d(2705,null)},"disable-gpu":{type:"boolean",cat:"t",description:d(2704,null)},"disable-chromium-sandbox":{type:"boolean",cat:"t",description:d(2701,null)},sandbox:{type:"boolean"},"locate-shell-integration-path":{type:"string",cat:"t",args:["shell"],description:d(2717,null)},telemetry:{type:"boolean",cat:"t",description:d(2736,null)},remote:{type:"string",allowEmptyValue:!0},"folder-uri":{type:"string[]",cat:"o",args:"uri"},"file-uri":{type:"string[]",cat:"o",args:"uri"},"locate-extension":{type:"string[]"},extensionDevelopmentPath:{type:"string[]"},extensionDevelopmentKind:{type:"string[]"},extensionTestsPath:{type:"string"},extensionEnvironment:{type:"string"},debugId:{type:"string"},debugRenderer:{type:"boolean"},"inspect-ptyhost":{type:"string",allowEmptyValue:!0},"inspect-brk-ptyhost":{type:"string",allowEmptyValue:!0},"inspect-agenthost":{type:"string",allowEmptyValue:!0},"inspect-brk-agenthost":{type:"string",allowEmptyValue:!0},"inspect-sharedprocess":{type:"string",allowEmptyValue:!0},"inspect-brk-sharedprocess":{type:"string",allowEmptyValue:!0},"export-default-configuration":{type:"string"},"export-policy-data":{type:"string",allowEmptyValue:!0},"export-default-keybindings":{type:"string",allowEmptyValue:!0},"install-source":{type:"string"},"enable-smoke-test-driver":{type:"boolean"},"skip-sessions-welcome":{type:"boolean"},logExtensionHostCommunication:{type:"boolean"},"skip-release-notes":{type:"boolean"},"skip-welcome":{type:"boolean"},"disable-telemetry":{type:"boolean"},"telemetry-level":{type:"string"},"disable-updates":{type:"boolean"},"share-secrets-with-agents-app":{type:"boolean"},transient:{type:"boolean",cat:"t",description:d(2737,null)},"use-inmemory-secretstorage":{type:"boolean",deprecates:["disable-keytar"]},"password-store":{type:"string"},"disable-workspace-trust":{type:"boolean"},"disable-crash-reporter":{type:"boolean"},"crash-reporter-directory":{type:"string"},"crash-reporter-id":{type:"string"},"skip-add-to-recently-opened":{type:"boolean"},"open-url":{type:"boolean"},"file-write":{type:"boolean"},"file-chmod":{type:"boolean"},"install-builtin-extension":{type:"string[]"},force:{type:"boolean"},"do-not-sync":{type:"boolean"},"do-not-include-pack-dependencies":{type:"boolean"},trace:{type:"boolean"},"trace-memory-infra":{type:"boolean"},"trace-category-filter":{type:"string"},"trace-options":{type:"string"},"preserve-env":{type:"boolean"},"force-user-env":{type:"boolean"},"force-disable-user-env":{type:"boolean"},"open-devtools":{type:"boolean"},"disable-gpu-sandbox":{type:"boolean"},logsPath:{type:"string"},"__enable-file-policy":{type:"boolean"},editSessionId:{type:"string"},continueOn:{type:"string"},"enable-coi":{type:"boolean"},"unresponsive-sample-interval":{type:"string"},"unresponsive-sample-period":{type:"string"},"enable-rdp-display-tracking":{type:"boolean"},"disable-layout-restore":{type:"boolean"},"disable-experiments":{type:"boolean"},"no-proxy-server":{type:"boolean"},"no-sandbox":{type:"boolean",alias:"sandbox"},"proxy-server":{type:"string"},"proxy-bypass-list":{type:"string"},"proxy-pac-url":{type:"string"},"js-flags":{type:"string"},inspect:{type:"string",allowEmptyValue:!0},"inspect-brk":{type:"string",allowEmptyValue:!0},nolazy:{type:"boolean"},"force-device-scale-factor":{type:"string"},"force-renderer-accessibility":{type:"boolean"},"ignore-certificate-errors":{type:"boolean"},"allow-insecure-localhost":{type:"boolean"},"log-net-log":{type:"string"},vmodule:{type:"string"},_urls:{type:"string[]"},"disable-dev-shm-usage":{type:"boolean"},"profile-temp":{type:"boolean"},"ozone-platform":{type:"string"},"enable-tracing":{type:"string"},"trace-startup-format":{type:"string"},"trace-startup-file":{type:"string"},"trace-startup-duration":{type:"string"},"xdg-portal-required-version":{type:"string"},_:{type:"string[]"}},$8={onUnknownOption:()=>{},onMultipleValues:()=>{},onEmptyValue:()=>{},onDeprecatedOption:()=>{}}});function fw(r){return r.VSCODE_CLI==="1"}var JA=y(()=>{Ue();me();le();Jm()});function YA(r,t,e){return Math.min(Math.max(r,t),e)}var XA=y(()=>{qr()});import{spawn as j8}from"child_process";async function La(r,t,e,n){return e["force-disable-user-env"]?(t.trace("resolveShellEnv(): skipped (--force-disable-user-env)"),{}):te?(t.trace("resolveShellEnv(): skipped (Windows)"),{}):fw(n)&&!e["force-user-env"]?(t.trace("resolveShellEnv(): skipped (VSCODE_CLI is set)"),{}):(fw(n)?t.trace("resolveShellEnv(): running (--force-user-env)"):t.trace("resolveShellEnv(): running (macOS/Linux)"),hw||(hw=In.withAsyncBody(async(o,i)=>{let s=new xt,a=1e4,l=r.getValue("application.shellEnvironmentResolutionTimeout");typeof l=="number"&&(a=YA(l,1,120)*1e3);let c=setTimeout(()=>{s.dispose(!0),i(new Error(d(3043,null)))},a);try{o(await Q8(t,s.token))}catch(u){!mn(u)&&!s.token.isCancellationRequested?i(new Error(d(3041,null,jr(u)))):o({})}finally{clearTimeout(c),s.dispose()}})),hw)}async function Q8(r,t){let e=process.env.ELECTRON_RUN_AS_NODE;r.trace("getUnixShellEnvironment#runAsNode",e);let n=process.env.ELECTRON_NO_ATTACH_CONSOLE;r.trace("getUnixShellEnvironment#noAttach",n);let o=ye().replace(/-/g,"").substr(0,12),i=new RegExp(o+"({.*})"+o),s={...process.env,ELECTRON_RUN_AS_NODE:"1",ELECTRON_NO_ATTACH_CONSOLE:"1",VSCODE_RESOLVING_ENVIRONMENT:"1"};r.trace("getUnixShellEnvironment#env",s);let a=await ly(or,s);return r.trace("getUnixShellEnvironment#shell",a),new Promise((l,c)=>{if(t.isCancellationRequested)return c(new et);let u=vt(a),p,m,g="";/^(?:pwsh|powershell)(?:-preview)?$/.test(u)?(p=`& '${process.execPath}' ${g} -p '''${o}'' + JSON.stringify(process.env) + ''${o}'''`,m=["-Login","-Command"]):u==="nu"?(p=`^'${process.execPath}' ${g} -p '"${o}" + JSON.stringify(process.env) + "${o}"'`,m=["-i","-l","-c"]):u==="xonsh"?(p=`import os, json; print("${o}", json.dumps(dict(os.environ)), "${o}")`,m=["-i","-l","-c"]):(p=`'${process.execPath}' ${g} -p '"${o}" + JSON.stringify(process.env) + "${o}"'`,u==="tcsh"||u==="csh"?m=["-ic"]:m=["-i","-l","-c"]),r.trace("getUnixShellEnvironment#spawn",JSON.stringify(m),p);let h=j8(a,[...m,p],{detached:!0,stdio:["ignore","pipe","pipe"],env:s});t.onCancellationRequested(()=>(h.kill(),c(new et))),h.on("error",T=>{r.error("getUnixShellEnvironment#errorChildProcess",jr(T)),c(T)});let v=[];h.stdout.on("data",T=>v.push(T));let S=[];h.stderr.on("data",T=>S.push(T)),h.on("close",(T,E)=>{let k=Buffer.concat(v).toString("utf8");r.trace("getUnixShellEnvironment#raw",k);let P=Buffer.concat(S).toString("utf8");if(P.trim()&&r.trace("getUnixShellEnvironment#stderr",P),T||E)return c(new Error(d(3042,null,T,E)));let U=i.exec(k),xe=U?U[1]:"{}";try{let V=JSON.parse(xe);e?V.ELECTRON_RUN_AS_NODE=e:delete V.ELECTRON_RUN_AS_NODE,n?V.ELECTRON_NO_ATTACH_CONSOLE=n:delete V.ELECTRON_NO_ATTACH_CONSOLE,delete V.VSCODE_RESOLVING_ENVIRONMENT,delete V.XDG_RUNTIME_DIR,r.trace("getUnixShellEnvironment#result",V),l(V)}catch(V){r.error("getUnixShellEnvironment#errorCaught",jr(V)),c(V)}})})}var hw,Ym=y(()=>{Ue();le();jt();Ol();Se();me();Jt();gw();JA();Me();XA()});import{parse as ZA}from"url";function J8(r,t){return r.protocol==="http:"?t.HTTP_PROXY||t.http_proxy||null:r.protocol==="https:"&&(t.HTTPS_PROXY||t.https_proxy||t.HTTP_PROXY||t.http_proxy)||null}async function eL(r,t,e={}){let n=ZA(r),o=e.proxyUrl||J8(n,t);if(!o)return null;let i=ZA(o);if(!/^https?:$/.test(i.protocol||""))return null;let s={host:i.hostname||"",port:(i.port?+i.port:0)||(i.protocol==="https"?443:80),auth:i.auth,rejectUnauthorized:sr(e.strictSSL)?e.strictSSL:!0,keepAlive:!0};if(n.protocol==="http:"){let{default:a}=await import("http-proxy-agent");return new a.HttpProxyAgent(o,s)}else{let{default:a}=await import("https-proxy-agent");return new a.HttpsProxyAgent(o,s)}}var tL=y(()=>{Ee()});import{parse as nL}from"url";import{createGunzip as Y8}from"zlib";function e6(r){if(r instanceof Error){let t=r.code;return!!t&&X8.has(t)}return!1}async function t6(r,t,e,n){let o=await import("kerberos"),i=o.default||o,s=new URL(r),a=t||(process.platform==="win32"?`HTTP/${s.hostname}`:`HTTP@${s.hostname}`);return e.debug(`${n} Kerberos authentication lookup`,`proxyURL:${s}`,`spn:${a}`),(await i.initializeClient(a)).step("")}async function n6(r){return(nL(r.url).protocol==="https:"?await import("https"):await import("http")).request}async function oL(r,t){let n,o=Z8.test(r.type||"GET");for(let i=1;i<=3;i++)try{return await o6(r,t)}catch(s){if(n=s,s instanceof et||!o||!e6(s)||i===3)throw s;await Qo(100*i,t)}throw n}async function o6(r,t){return In.withAsyncBody(async(e,n)=>{let o=nL(r.url),i=r.getRawRequest?r.getRawRequest(r):await n6(r),s={hostname:o.hostname,port:o.port?parseInt(o.port):o.protocol==="https:"?443:80,protocol:o.protocol,path:o.path,method:r.type||"GET",headers:r.headers,agent:r.agent,rejectUnauthorized:sr(r.strictSSL)?r.strictSSL:!0};r.user&&r.password&&(s.auth=r.user+":"+r.password),r.disableCache&&(s.cache="no-store");let a=i(s,c=>{let u=fo(r.followRedirects)?r.followRedirects:3;if(c.statusCode&&c.statusCode>=300&&c.statusCode<400&&u>0&&c.headers.location)oL({...r,url:c.headers.location,followRedirects:u-1},t).then(e,n);else{let p=c;!r.isChromiumNetwork&&c.headers["content-encoding"]==="gzip"&&(p=c.pipe(Y8())),e({res:c,stream:$0(p)})}});if(a.on("error",n),r.timeout)if(r.isChromiumNetwork){let c=setTimeout(()=>{a.abort(),n(new Error(`Request timeout after ${r.timeout}ms`))},r.timeout);a.on("response",()=>clearTimeout(c)),a.on("error",()=>clearTimeout(c)),a.on("abort",()=>clearTimeout(c))}else a.setTimeout(r.timeout);r.isChromiumNetwork&&a.removeHeader("Content-Length"),r.data&&typeof r.data=="string"&&a.write(r.data),a.end();let l=t.onCancellationRequested(()=>{l.dispose(),a.abort(),n(new et)});a.on("response",()=>l.dispose()),a.on("error",()=>l.dispose())})}var X8,Z8,Oa,vw=y(()=>{Me();ze();Se();Ee();tn();Nn();Ym();Pe();yi();tL();X8=new Set(["EAI_AGAIN","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ENETDOWN","ENETUNREACH","EPROTO"]),Z8=/^(GET|HEAD|OPTIONS)$/i;Oa=class extends sy{constructor(e,n,o,i){super(i);this.machine=e;this.configurationService=n;this.environmentService=o;this.configure(),this._register(n.onDidChangeConfiguration(s=>{s.affectsConfiguration("http")&&this.configure()}))}configure(){this.proxyUrl=this.getConfigValue("http.proxy"),this.strictSSL=!!this.getConfigValue("http.proxyStrictSSL"),this.authorization=this.getConfigValue("http.proxyAuthorization")}async request(e,n){let{proxyUrl:o,strictSSL:i}=this,s;try{s=await La(this.configurationService,this.logService,this.environmentService.args,process.env)}catch(c){this.shellEnvErrorLogged||(this.shellEnvErrorLogged=!0,this.logService.error("resolving shell environment failed",he(c)))}let a={...process.env,...s},l=e.agent?e.agent:await eL(e.url||"",a,{proxyUrl:o,strictSSL:i});return e.agent=l,e.strictSSL=i,this.authorization&&(e.headers={...e.headers||{},"Proxy-Authorization":this.authorization}),this.logAndRequest(e,()=>oL(e,n))}async resolveProxy(e){}async lookupAuthorization(e){}async lookupKerberosAuthorization(e){try{let n=this.getConfigValue("http.proxyKerberosServicePrincipal");return"Negotiate "+await t6(e,n,this.logService,"RequestService#lookupKerberosAuthorization")}catch(n){this.logService.debug("RequestService#lookupKerberosAuthorization Kerberos authentication failed",n);return}}async loadCertificates(){return(await import("@vscode/proxy-agent")).loadSystemCertificates({loadSystemCertificatesFromNode:()=>this.getConfigValue("http.systemCertificatesNode",lw),log:this.logService})}getConfigValue(e,n){if(this.machine==="remote")return this.configurationService.getValue(e);let o=this.configurationService.inspect(e);return o.userLocalValue??o.defaultValue??n}};Oa=C([I(1,mt),I(2,Xn),I(3,K)],Oa)});function yw(r){if(!r)return;let t=r.indexOf("+");return t<0?r:r.substr(0,t)}var Iw=y(()=>{Ne()});function r6(r){if(di===2&&/^penguin(\.|$)/i.test(r))return"chromebook"}function rL(r,t,e,n,o,i,s,a,l,c,u){let p=Object.create(null);p["common.machineId"]=i,p["common.sqmId"]=s,p["common.devDeviceId"]=a,p.sessionID=ye()+Date.now(),p.commitHash=n,p.version=o,p["common.releaseDate"]=c,p["common.platformVersion"]=(r||"").replace(/^(\d+)(\.\d+)?(\.\d+)?(.*)/,"$1$2$3"),p["common.platform"]=Jh(di),p["common.nodePlatform"]=Xh,p["common.nodeArch"]=e,p["common.product"]=u||"desktop",l&&(p["common.msftInternal"]=l);let m=0,g=Date.now();Object.defineProperties(p,{timestamp:{get:()=>new Date,enumerable:!0},"common.timesincesessionstart":{get:()=>Date.now()-g,enumerable:!0},"common.sequence":{get:()=>m++,enumerable:!0}}),iM&&(p["common.snap"]="true");let h=r6(t);return h&&(p["common.platformDetail"]=h),p}function iL(r){let t=ln.USERDNSDOMAIN;if(!t)return!1;let e=t.toLowerCase();return r.some(n=>e===n)}var Sw=y(()=>{me();Sr();Jt()});var Ct,Hre,sL,Fd,dy,Xm,Rn=y(()=>{X();Ct=D("telemetryService"),Hre=D("customEndpointTelemetryService"),sL="telemetry",Fd="telemetry.telemetryLevel",dy="telemetry.enableCrashReporter",Xm="telemetry.enableTelemetry"});function py(r,t){return!t.isBuilt&&!t.disableTelemetry?!0:!(t.disableTelemetry||!r.enableTelemetry)}function my(r,t){return t.extensionTestsLocationURI?!0:!(t.isBuilt||t.disableTelemetry||r.enableTelemetry&&r.aiConfig?.ariaKey)}function eg(r){let t=r.getValue(Fd),e=r.getValue(dy);if(r.getValue(Xm)===!1||e===!1)return 0;switch(t===void 0?"all":t){case"all":return 3;case"error":return 2;case"crash":return 1;case"off":return 0;default:return 0}}function gy(r){let t={},e={},n={};uL(r,n);for(let o in n){o=o.length>150?o.substr(o.length-149):o;let i=n[o];typeof i=="number"?e[o]=i:typeof i=="boolean"?e[o]=i?1:0:typeof i=="string"?(i.length>8192&&console.warn(`Telemetry property: ${o} has been trimmed to 8192, the original length is ${i.length}`),t[o]=i.substring(0,8191)):typeof i<"u"&&i!==null&&(t[o]=String(i))}return{properties:t,measurements:e}}function dL(r,t){if(!r)return"none";let e=yw(r),n=t?.remoteExtensionTips;if(n&&Object.prototype.hasOwnProperty.call(n,e))return e;let o=t?.virtualWorkspaceExtensionTips;return o&&Object.prototype.hasOwnProperty.call(o,e)?e:"other"}function uL(r,t,e=0,n){if(!r||typeof r!="object"&&typeof r!="function")return;let o=r;for(let i of Object.getOwnPropertyNames(o)){let s=o[i],a=n?n+i:i;Array.isArray(s)?t[a]=bd(s):s instanceof Date?t[a]=s.toISOString():Ae(s)?e<2?uL(s,t,e+1,a+"."):t[a]=bd(s):t[a]=s}}function pL(r,t){let e=r.msftInternalDomains||[],n=t.getValue("telemetry.internalTesting");return iL(e)||n}function mL(r){return[r.appRoot,r.extensionsPath,r.userHome.fsPath,r.tmpDir.fsPath,r.userDataPath]}function i6(r,t){if(!r||!r.includes("/")&&!r.includes("\\"))return r;let e=r,n=[];for(let l of t)for(;;){let c=l.exec(r);if(!c)break;n.push([c.index,l.lastIndex])}let o=/(?:^|[\\\/])((node_modules|node_modules\.asar)[\\\/].*)$/,i=/^(.*?)((?:\.vscode(?:-[a-z]+)*|resources[\\\/]app)[\\\/]extensions[\\\/].*)$/i,s=/(file:\/\/)?([a-zA-Z]:(\\\\|\\|\/)|(\\\\|\\|\/))?([\w\-\._@]+(\\\\|\\|\/))+[\w\-\._@]*/g,a=0;for(e="";;){let l=s.exec(r);if(!l)break;if(!n.some(([u,p])=>l.index<p&&u<s.lastIndex)){let u=i.exec(l[0]);if(u)e+=r.substring(a,l.index)+"<REDACTED: user-file-path>/"+u[2];else{let p=o.exec(l[0]);p?e+=r.substring(a,l.index)+"<REDACTED: user-file-path>/"+p[1]:e+=r.substring(a,l.index)+"<REDACTED: user-file-path>"}a=s.lastIndex}}return a<r.length&&(e+=r.substr(a)),e}function aL(r,t=r){for(let e of gL)if(e.regex.test(t))return`<REDACTED: ${e.label}>`;return r}function s6(r){if(!r)return r;let t=!1;for(let n of gL)if(n.regex.test(r)){t=!0;break}if(!t)return r;if(!r.includes(`
`))return aL(r);let e=r.split(`
`);for(let n=0;n<e.length;n++){let o=n<e.length-1?e[n]+`
`:e[n];e[n]=aL(e[n],o)}return e.join(`
`)}function tg(r,t){return r?xo(r,e=>{if(e instanceof Xr||Object.hasOwnProperty.call(e,"isTrustedTelemetryValue"))return e.value;if(typeof e=="string"){let n=e.replaceAll("%20"," ");n=i6(n,t);for(let o of t)n=n.replace(o,"");return n=s6(n),n}}):{}}var Xr,Zm,lL,Cw,uy,cL,gL,Zr=y(()=>{en();Ee();le();Iw();Sw();Rn();Xr=class{constructor(t){this.value=t;this.isTrustedTelemetryValue=!0}},Zm=class{constructor(){this.telemetryLevel=0;this.sessionId="someValue.sessionId";this.machineId="someValue.machineId";this.sqmId="someValue.sqmId";this.devDeviceId="someValue.devDeviceId";this.firstSessionDate="someValue.firstSessionDate";this.sendErrorTelemetry=!1}publicLog(){}publicLog2(){}publicLogError(){}publicLogError2(){}setExperimentProperty(){}setCommonProperty(){}},lL=new Zm,Cw="telemetry",uy={id:Cw,name:d(3064,null)},cL={log:()=>null,flush:()=>Promise.resolve(void 0)};gL=[{label:"URL",regex:/[a-zA-Z][a-zA-Z0-9+.-]*:\/\/[^\s]*/},{label:"Google API Key",regex:/AIza[A-Za-z0-9_\\\-]{35}/},{label:"JWT",regex:/eyJ[0eXAiOiJKV1Qi|hbGci|a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+/},{label:"Slack Token",regex:/xox[pbar]\-[A-Za-z0-9]/},{label:"GitHub Token",regex:/(gh[psuro]_[a-zA-Z0-9]{36}|github_pat_[a-zA-Z0-9]{22}_[a-zA-Z0-9]{59})/},{label:"Generic Secret",regex:/(key|token|sig|secret|signature|password|passwd|pwd|android:value)[^a-zA-Z0-9]/i},{label:"CLI Credentials",regex:/((login|psexec|(certutil|psexec)\.exe).{1,50}(\s-u(ser(name)?)?\s+.{3,100})?\s-(admin|user|vm|root)?p(ass(word)?)?\s+["']?[^$\-\/\s]|(^|[\s\r\n\\])net(\.exe)?.{1,5}(user\s+|share\s+\/user:| user -? secrets ? set) \s + [^ $\s \/])/},{label:"Microsoft Entra ID",regex:/eyJ(?:0eXAiOiJKV1Qi|hbGci|[a-zA-Z0-9\-_]+\.[a-zA-Z0-9\-_]+\.)/},{label:"Email",regex:/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/}]});var eie,ng=y(()=>{le();eie={Extensions:{name:{key:"extensionsConfigurationTitle",value:d(138,null)}},IntegratedTerminal:{name:{key:"terminalIntegratedConfigurationTitle",value:d(141,null)}},InteractiveSession:{name:{key:"interactiveSessionConfigurationTitle",value:d(139,null)}},Telemetry:{name:{key:"telemetryConfigurationTitle",value:d(140,null)}},Update:{name:{key:"updateConfigurationTitle",value:d(142,null)}}}});function Ew(r){return a6(r)}function a6(r){return r.contributes&&r.contributes.localizations?r.contributes.localizations.length>0:!1}function hL(r){return r.map(t=>t.split("@")[0])}var fy,fL,hy,vy,nn,og,jl,rie,Bn=y(()=>{Ot();X();Iw();fy="extensions.user.cache",fL="extensions.builtin.cache",hy="undefined_publisher",vy=["AI","Azure","Chat","Data Science","Debuggers","Extension Packs","Education","Formatters","Keymaps","Language Packs","Linters","Machine Learning","Notebooks","Programming Languages","SCM Providers","Snippets","Testing","Themes","Visualization","Other"],nn=class{constructor(t){this.value=t,this._lower=t.toLowerCase()}static equals(t,e){if(typeof t>"u"||t===null)return typeof e>"u"||e===null;if(typeof e>"u"||e===null)return!1;if(typeof t=="string"||typeof e=="string"){let n=typeof t=="string"?t:t.value,o=typeof e=="string"?e:e.value;return vo(n,o)}return t._lower===e._lower}static toKey(t){return typeof t=="string"?t.toLowerCase():t._lower}},og=class{constructor(t){this._set=new Set;if(t)for(let e of t)this.add(e)}get size(){return this._set.size}add(t){this._set.add(nn.toKey(t))}delete(t){return this._set.delete(nn.toKey(t))}has(t){return this._set.has(nn.toKey(t))}},jl=class{constructor(){this._map=new Map}clear(){this._map.clear()}delete(t){this._map.delete(nn.toKey(t))}get(t){return this._map.get(nn.toKey(t))}has(t){return this._map.has(nn.toKey(t))}set(t,e){this._map.set(nn.toKey(t),e)}values(){return this._map.values()}forEach(t){this._map.forEach(t)}[Symbol.iterator](){return this._map[Symbol.iterator]()}};rie=D("IBuiltinExtensionsScannerService")});function Rw(r){switch(r){case"win32-x64":return"Windows 64 bit";case"win32-arm64":return"Windows ARM";case"linux-x64":return"Linux 64 bit";case"linux-arm64":return"Linux ARM 64";case"linux-armhf":return"Linux ARM";case"alpine-x64":return"Alpine Linux 64 bit";case"alpine-arm64":return"Alpine ARM 64";case"darwin-x64":return"Mac";case"darwin-arm64":return"Mac Silicon";case"web":return"Web";case"universal":return"universal";case"unknown":return"unknown";case"undefined":return"undefined"}}function bL(r){switch(r){case"win32-x64":return"win32-x64";case"win32-arm64":return"win32-arm64";case"linux-x64":return"linux-x64";case"linux-arm64":return"linux-arm64";case"linux-armhf":return"linux-armhf";case"alpine-x64":return"alpine-x64";case"alpine-arm64":return"alpine-arm64";case"darwin-x64":return"darwin-x64";case"darwin-arm64":return"darwin-arm64";case"web":return"web";case"universal":return"universal";default:return"unknown"}}function yy(r,t){switch(r){case 3:return t==="x64"?"win32-x64":t==="arm64"?"win32-arm64":"unknown";case 2:return t==="x64"?"linux-x64":t==="arm64"?"linux-arm64":t==="arm"?"linux-armhf":"unknown";case"alpine":return t==="x64"?"alpine-x64":t==="arm64"?"alpine-arm64":"unknown";case 1:return t==="x64"?"darwin-x64":t==="arm64"?"darwin-arm64":"unknown";case 0:return"web"}}function Hd(r,t){return t==="web"&&!r.includes("web")}function sg(r,t,e){return Hd(t,e)?!1:r==="undefined"||r==="universal"?!0:r==="unknown"?!1:r===e}function SL(r){let t=r;return!!t&&typeof t=="object"&&typeof t.id=="string"&&(!t.uuid||typeof t.uuid=="string")}async function Iy(r,t){let e;try{e=await t.resolve(r)}catch(n){if(n.fileOperationResult===1)return 0;throw n}return e.children?(await Promise.all(e.children.map(o=>Iy(o.resource,t)))).reduce((o,i)=>o+i,0):e.size??0}function CL(r,t){return r?t?.capabilities.signing?.allPrivateRepositorySigned===!0:t?.capabilities.signing?.allPublicRepositorySigned===!0}var rg,ig,vL,Tw,yL,IL,co,kr,Ut,Wd,Sie,xie,Dr,Cie,Eie,ag,xL,Co=y(()=>{me();ng();le();gi();Bn();it();X();Uo();rg="^([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$",ig=new RegExp(rg),vL="__web_extension",Tw="extensionInstallSource",yL="dependecyOrPackExtensionInstall",IL="clientTargetPlatform";co=D("extensionGalleryService"),kr=class extends Error{constructor(e,n){super(e);this.code=n;this.name=n}},Ut=class extends Error{constructor(e,n){super(e);this.code=n;this.name=n}},Wd=D("extensionManagementService"),Sie=D("IGlobalExtensionEnablementService"),xie=D("IExtensionTipsService"),Dr=D("IAllowedExtensionsService");Cie=rm(2775,"Extensions"),Eie=rm(2792,"Preferences"),ag="extensions.allowed",xL="extensions.requestTimeout";lt.as(On.Configuration).registerConfiguration({id:"extensions",order:30,title:d(2791,null),type:"object",properties:{[ag]:{type:"object",markdownDescription:d(2781,null),default:"*",defaultSnippets:[{body:{},description:d(2786,null)},{body:{"*":!0},description:d(2782,null)}],scope:1,policy:{name:"AllowedExtensions",category:"Extensions",minimumVersion:"1.96",localization:{description:{key:"extensions.allowed.policy",value:d(2787,null)}}},additionalProperties:!1,patternProperties:{"([a-z0-9A-Z][a-z0-9-A-Z]*)\\.([a-z0-9A-Z][a-z0-9-A-Z]*)$":{anyOf:[{type:["boolean","string"],enum:[!0,!1,"stable"],description:d(2779,null),enumDescriptions:[d(2785,null),d(2783,null),d(2784,null)]},{type:"array",items:{type:"string"},description:d(2780,null)}]},"([a-z0-9A-Z][a-z0-9-A-Z]*)$":{type:["boolean","string"],enum:[!0,!1,"stable"],description:d(2774,null),enumDescriptions:[d(2790,null),d(2788,null),d(2789,null)]},"\\*":{type:"boolean",enum:[!0,!1],description:d(2776,null),enumDescriptions:[d(2778,null),d(2777,null)]}}}}})});var by,st,Tie,Rie,EL,Pie,kie,Die,_ie,Mie,Aie,Lie,qi,wL,Sy,Oie,TL,Uie,Nie,Fie,xy,Vie,Hie,Wie,Bie,$ie,qie,zie,RL,Gie,Kie,jie,Qie,Jie,Yie,Xie,Zie,ese,tse,Ua=y(()=>{by={},st={exports:by};(function(r,t){if(typeof by=="object"&&typeof st=="object")st.exports=t();else if(typeof define=="function"&&define.amd)define([],t);else{var e=t();for(var n in e)(typeof by=="object"?by:r)[n]=e[n]}})(typeof self<"u"?self:void 0,(function(){return(function(r){var t={};function e(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return r[n].call(o.exports,o,o.exports,e),o.l=!0,o.exports}return e.m=r,e.c=t,e.d=function(n,o,i){e.o(n,o)||Object.defineProperty(n,o,{enumerable:!0,get:i})},e.r=function(n){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},e.t=function(n,o){if(1&o&&(n=e(n)),8&o||4&o&&typeof n=="object"&&n&&n.__esModule)return n;var i=Object.create(null);if(e.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&o&&typeof n!="string")for(var s in n)e.d(i,s,function(a){return n[a]}.bind(null,s));return i},e.n=function(n){var o=n&&n.__esModule?function(){return n.default}:function(){return n};return e.d(o,"a",o),o},e.o=function(n,o){return Object.prototype.hasOwnProperty.call(n,o)},e.p="",e(e.s=0)})([function(r,t,e){(function(n){var o;t=r.exports=St,o=typeof n=="object"&&n.env&&n.env.NODE_DEBUG&&/\bsemver\b/i.test(n.env.NODE_DEBUG)?function(){var R=Array.prototype.slice.call(arguments,0);R.unshift("SEMVER"),console.log.apply(console,R)}:function(){},t.SEMVER_SPEC_VERSION="2.0.0";var i=256,s=Number.MAX_SAFE_INTEGER||9007199254740991,a=t.re=[],l=t.src=[],c=0,u=c++;l[u]="0|[1-9]\\d*";var p=c++;l[p]="[0-9]+";var m=c++;l[m]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var g=c++;l[g]="("+l[u]+")\\.("+l[u]+")\\.("+l[u]+")";var h=c++;l[h]="("+l[p]+")\\.("+l[p]+")\\.("+l[p]+")";var v=c++;l[v]="(?:"+l[u]+"|"+l[m]+")";var S=c++;l[S]="(?:"+l[p]+"|"+l[m]+")";var T=c++;l[T]="(?:-("+l[v]+"(?:\\."+l[v]+")*))";var E=c++;l[E]="(?:-?("+l[S]+"(?:\\."+l[S]+")*))";var k=c++;l[k]="[0-9A-Za-z-]+";var P=c++;l[P]="(?:\\+("+l[k]+"(?:\\."+l[k]+")*))";var U=c++,xe="v?"+l[g]+l[T]+"?"+l[P]+"?";l[U]="^"+xe+"$";var V="[v=\\s]*"+l[h]+l[E]+"?"+l[P]+"?",ae=c++;l[ae]="^"+V+"$";var j=c++;l[j]="((?:<|>)?=?)";var z=c++;l[z]=l[p]+"|x|X|\\*";var ee=c++;l[ee]=l[u]+"|x|X|\\*";var Ce=c++;l[Ce]="[v=\\s]*("+l[ee]+")(?:\\.("+l[ee]+")(?:\\.("+l[ee]+")(?:"+l[T]+")?"+l[P]+"?)?)?";var Bt=c++;l[Bt]="[v=\\s]*("+l[z]+")(?:\\.("+l[z]+")(?:\\.("+l[z]+")(?:"+l[E]+")?"+l[P]+"?)?)?";var Xt=c++;l[Xt]="^"+l[j]+"\\s*"+l[Ce]+"$";var ce=c++;l[ce]="^"+l[j]+"\\s*"+l[Bt]+"$";var N=c++;l[N]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var H=c++;l[H]="(?:~>?)";var B=c++;l[B]="(\\s*)"+l[H]+"\\s+",a[B]=new RegExp(l[B],"g");var Y=c++;l[Y]="^"+l[H]+l[Ce]+"$";var ue=c++;l[ue]="^"+l[H]+l[Bt]+"$";var Ie=c++;l[Ie]="(?:\\^)";var ht=c++;l[ht]="(\\s*)"+l[Ie]+"\\s+",a[ht]=new RegExp(l[ht],"g");var je=c++;l[je]="^"+l[Ie]+l[Ce]+"$";var dt=c++;l[dt]="^"+l[Ie]+l[Bt]+"$";var kt=c++;l[kt]="^"+l[j]+"\\s*("+V+")$|^$";var Mt=c++;l[Mt]="^"+l[j]+"\\s*("+xe+")$|^$";var kn=c++;l[kn]="(\\s*)"+l[j]+"\\s*("+V+"|"+l[Ce]+")",a[kn]=new RegExp(l[kn],"g");var Dn=c++;l[Dn]="^\\s*("+l[Ce]+")\\s+-\\s+("+l[Ce]+")\\s*$";var qc=c++;l[qc]="^\\s*("+l[Bt]+")\\s+-\\s+("+l[Bt]+")\\s*$";var zc=c++;l[zc]="(<|>)?=?\\s*\\*";for(var ms=0;ms<35;ms++)o(ms,l[ms]),a[ms]||(a[ms]=new RegExp(l[ms]));function gs(R,O){if(R instanceof St)return R;if(typeof R!="string"||R.length>i||!(O?a[ae]:a[U]).test(R))return null;try{return new St(R,O)}catch{return null}}function St(R,O){if(R instanceof St){if(R.loose===O)return R;R=R.version}else if(typeof R!="string")throw new TypeError("Invalid Version: "+R);if(R.length>i)throw new TypeError("version is longer than "+i+" characters");if(!(this instanceof St))return new St(R,O);o("SemVer",R,O),this.loose=O;var F=R.trim().match(O?a[ae]:a[U]);if(!F)throw new TypeError("Invalid Version: "+R);if(this.raw=R,this.major=+F[1],this.minor=+F[2],this.patch=+F[3],this.major>s||this.major<0)throw new TypeError("Invalid major version");if(this.minor>s||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>s||this.patch<0)throw new TypeError("Invalid patch version");F[4]?this.prerelease=F[4].split(".").map((function(be){if(/^[0-9]+$/.test(be)){var _e=+be;if(_e>=0&&_e<s)return _e}return be})):this.prerelease=[],this.build=F[5]?F[5].split("."):[],this.format()}t.parse=gs,t.valid=function(R,O){var F=gs(R,O);return F?F.version:null},t.clean=function(R,O){var F=gs(R.trim().replace(/^[=v]+/,""),O);return F?F.version:null},t.SemVer=St,St.prototype.format=function(){return this.version=this.major+"."+this.minor+"."+this.patch,this.prerelease.length&&(this.version+="-"+this.prerelease.join(".")),this.version},St.prototype.toString=function(){return this.version},St.prototype.compare=function(R){return o("SemVer.compare",this.version,this.loose,R),R instanceof St||(R=new St(R,this.loose)),this.compareMain(R)||this.comparePre(R)},St.prototype.compareMain=function(R){return R instanceof St||(R=new St(R,this.loose)),bl(this.major,R.major)||bl(this.minor,R.minor)||bl(this.patch,R.patch)},St.prototype.comparePre=function(R){if(R instanceof St||(R=new St(R,this.loose)),this.prerelease.length&&!R.prerelease.length)return-1;if(!this.prerelease.length&&R.prerelease.length)return 1;if(!this.prerelease.length&&!R.prerelease.length)return 0;var O=0;do{var F=this.prerelease[O],be=R.prerelease[O];if(o("prerelease compare",O,F,be),F===void 0&&be===void 0)return 0;if(be===void 0)return 1;if(F===void 0)return-1;if(F!==be)return bl(F,be)}while(++O)},St.prototype.inc=function(R,O){switch(R){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",O);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",O);break;case"prepatch":this.prerelease.length=0,this.inc("patch",O),this.inc("pre",O);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",O),this.inc("pre",O);break;case"major":this.minor===0&&this.patch===0&&this.prerelease.length!==0||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":this.patch===0&&this.prerelease.length!==0||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":if(this.prerelease.length===0)this.prerelease=[0];else{for(var F=this.prerelease.length;--F>=0;)typeof this.prerelease[F]=="number"&&(this.prerelease[F]++,F=-2);F===-1&&this.prerelease.push(0)}O&&(this.prerelease[0]===O?isNaN(this.prerelease[1])&&(this.prerelease=[O,0]):this.prerelease=[O,0]);break;default:throw new Error("invalid increment argument: "+R)}return this.format(),this.raw=this.version,this},t.inc=function(R,O,F,be){typeof F=="string"&&(be=F,F=void 0);try{return new St(R,F).inc(O,be).version}catch{return null}},t.diff=function(R,O){if(Hh(R,O))return null;var F=gs(R),be=gs(O);if(F.prerelease.length||be.prerelease.length){for(var _e in F)if((_e==="major"||_e==="minor"||_e==="patch")&&F[_e]!==be[_e])return"pre"+_e;return"prerelease"}for(var _e in F)if((_e==="major"||_e==="minor"||_e==="patch")&&F[_e]!==be[_e])return _e},t.compareIdentifiers=bl;var Re=/^[0-9]+$/;function bl(R,O){var F=Re.test(R),be=Re.test(O);return F&&be&&(R=+R,O=+O),F&&!be?-1:be&&!F?1:R<O?-1:R>O?1:0}function Mi(R,O,F){return new St(R,F).compare(new St(O,F))}function Yp(R,O,F){return Mi(R,O,F)>0}function Xp(R,O,F){return Mi(R,O,F)<0}function Hh(R,O,F){return Mi(R,O,F)===0}function xC(R,O,F){return Mi(R,O,F)!==0}function Wh(R,O,F){return Mi(R,O,F)>=0}function Bh(R,O,F){return Mi(R,O,F)<=0}function Zp(R,O,F,be){var _e;switch(O){case"===":typeof R=="object"&&(R=R.version),typeof F=="object"&&(F=F.version),_e=R===F;break;case"!==":typeof R=="object"&&(R=R.version),typeof F=="object"&&(F=F.version),_e=R!==F;break;case"":case"=":case"==":_e=Hh(R,F,be);break;case"!=":_e=xC(R,F,be);break;case">":_e=Yp(R,F,be);break;case">=":_e=Wh(R,F,be);break;case"<":_e=Xp(R,F,be);break;case"<=":_e=Bh(R,F,be);break;default:throw new TypeError("Invalid operator: "+O)}return _e}function yr(R,O){if(R instanceof yr){if(R.loose===O)return R;R=R.value}if(!(this instanceof yr))return new yr(R,O);o("comparator",R,O),this.loose=O,this.parse(R),this.semver===Gc?this.value="":this.value=this.operator+this.semver.version,o("comp",this)}t.rcompareIdentifiers=function(R,O){return bl(O,R)},t.major=function(R,O){return new St(R,O).major},t.minor=function(R,O){return new St(R,O).minor},t.patch=function(R,O){return new St(R,O).patch},t.compare=Mi,t.compareLoose=function(R,O){return Mi(R,O,!0)},t.rcompare=function(R,O,F){return Mi(O,R,F)},t.sort=function(R,O){return R.sort((function(F,be){return t.compare(F,be,O)}))},t.rsort=function(R,O){return R.sort((function(F,be){return t.rcompare(F,be,O)}))},t.gt=Yp,t.lt=Xp,t.eq=Hh,t.neq=xC,t.gte=Wh,t.lte=Bh,t.cmp=Zp,t.Comparator=yr;var Gc={};function fn(R,O){if(R instanceof fn)return R.loose===O?R:new fn(R.raw,O);if(R instanceof yr)return new fn(R.value,O);if(!(this instanceof fn))return new fn(R,O);if(this.loose=O,this.raw=R,this.set=R.split(/\s*\|\|\s*/).map((function(F){return this.parseRange(F.trim())}),this).filter((function(F){return F.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+R);this.format()}function _o(R){return!R||R.toLowerCase()==="x"||R==="*"}function N1(R,O,F,be,_e,qn,Et,$o,xn,go,ci,Cn,no){return((O=_o(F)?"":_o(be)?">="+F+".0.0":_o(_e)?">="+F+"."+be+".0":">="+O)+" "+($o=_o(xn)?"":_o(go)?"<"+(+xn+1)+".0.0":_o(ci)?"<"+xn+"."+(+go+1)+".0":Cn?"<="+xn+"."+go+"."+ci+"-"+Cn:"<="+$o)).trim()}function F1(R,O){for(var F=0;F<R.length;F++)if(!R[F].test(O))return!1;if(O.prerelease.length){for(F=0;F<R.length;F++)if(o(R[F].semver),R[F].semver!==Gc&&R[F].semver.prerelease.length>0){var be=R[F].semver;if(be.major===O.major&&be.minor===O.minor&&be.patch===O.patch)return!0}return!1}return!0}function em(R,O,F){try{O=new fn(O,F)}catch{return!1}return O.test(R)}function $h(R,O,F,be){var _e,qn,Et,$o,xn;switch(R=new St(R,be),O=new fn(O,be),F){case">":_e=Yp,qn=Bh,Et=Xp,$o=">",xn=">=";break;case"<":_e=Xp,qn=Wh,Et=Yp,$o="<",xn="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(em(R,O,be))return!1;for(var go=0;go<O.set.length;++go){var ci=O.set[go],Cn=null,no=null;if(ci.forEach((function(qo){qo.semver===Gc&&(qo=new yr(">=0.0.0")),Cn=Cn||qo,no=no||qo,_e(qo.semver,Cn.semver,be)?Cn=qo:Et(qo.semver,no.semver,be)&&(no=qo)})),Cn.operator===$o||Cn.operator===xn||(!no.operator||no.operator===$o)&&qn(R,no.semver)||no.operator===xn&&Et(R,no.semver))return!1}return!0}yr.prototype.parse=function(R){var O=this.loose?a[kt]:a[Mt],F=R.match(O);if(!F)throw new TypeError("Invalid comparator: "+R);this.operator=F[1],this.operator==="="&&(this.operator=""),F[2]?this.semver=new St(F[2],this.loose):this.semver=Gc},yr.prototype.toString=function(){return this.value},yr.prototype.test=function(R){return o("Comparator.test",R,this.loose),this.semver===Gc||(typeof R=="string"&&(R=new St(R,this.loose)),Zp(R,this.operator,this.semver,this.loose))},yr.prototype.intersects=function(R,O){if(!(R instanceof yr))throw new TypeError("a Comparator is required");var F;if(this.operator==="")return F=new fn(R.value,O),em(this.value,F,O);if(R.operator==="")return F=new fn(this.value,O),em(R.semver,F,O);var be=!(this.operator!==">="&&this.operator!==">"||R.operator!==">="&&R.operator!==">"),_e=!(this.operator!=="<="&&this.operator!=="<"||R.operator!=="<="&&R.operator!=="<"),qn=this.semver.version===R.semver.version,Et=!(this.operator!==">="&&this.operator!=="<="||R.operator!==">="&&R.operator!=="<="),$o=Zp(this.semver,"<",R.semver,O)&&(this.operator===">="||this.operator===">")&&(R.operator==="<="||R.operator==="<"),xn=Zp(this.semver,">",R.semver,O)&&(this.operator==="<="||this.operator==="<")&&(R.operator===">="||R.operator===">");return be||_e||qn&&Et||$o||xn},t.Range=fn,fn.prototype.format=function(){return this.range=this.set.map((function(R){return R.join(" ").trim()})).join("||").trim(),this.range},fn.prototype.toString=function(){return this.range},fn.prototype.parseRange=function(R){var O=this.loose;R=R.trim(),o("range",R,O);var F=O?a[qc]:a[Dn];R=R.replace(F,N1),o("hyphen replace",R),R=R.replace(a[kn],"$1$2$3"),o("comparator trim",R,a[kn]),R=(R=(R=R.replace(a[B],"$1~")).replace(a[ht],"$1^")).split(/\s+/).join(" ");var be=O?a[kt]:a[Mt],_e=R.split(" ").map((function(qn){return(function(Et,$o){return o("comp",Et),Et=(function(xn,go){return xn.trim().split(/\s+/).map((function(ci){return(function(Cn,no){o("caret",Cn,no);var qo=no?a[dt]:a[je];return Cn.replace(qo,(function(Hr,Ve,Ze,$t,sn){var oo;return o("caret",Cn,Hr,Ve,Ze,$t,sn),_o(Ve)?oo="":_o(Ze)?oo=">="+Ve+".0.0 <"+(+Ve+1)+".0.0":_o($t)?oo=Ve==="0"?">="+Ve+"."+Ze+".0 <"+Ve+"."+(+Ze+1)+".0":">="+Ve+"."+Ze+".0 <"+(+Ve+1)+".0.0":sn?(o("replaceCaret pr",sn),sn.charAt(0)!=="-"&&(sn="-"+sn),oo=Ve==="0"?Ze==="0"?">="+Ve+"."+Ze+"."+$t+sn+" <"+Ve+"."+Ze+"."+(+$t+1):">="+Ve+"."+Ze+"."+$t+sn+" <"+Ve+"."+(+Ze+1)+".0":">="+Ve+"."+Ze+"."+$t+sn+" <"+(+Ve+1)+".0.0"):(o("no pr"),oo=Ve==="0"?Ze==="0"?">="+Ve+"."+Ze+"."+$t+" <"+Ve+"."+Ze+"."+(+$t+1):">="+Ve+"."+Ze+"."+$t+" <"+Ve+"."+(+Ze+1)+".0":">="+Ve+"."+Ze+"."+$t+" <"+(+Ve+1)+".0.0"),o("caret return",oo),oo}))})(ci,go)})).join(" ")})(Et,$o),o("caret",Et),Et=(function(xn,go){return xn.trim().split(/\s+/).map((function(ci){return(function(Cn,no){var qo=no?a[ue]:a[Y];return Cn.replace(qo,(function(Hr,Ve,Ze,$t,sn){var oo;return o("tilde",Cn,Hr,Ve,Ze,$t,sn),_o(Ve)?oo="":_o(Ze)?oo=">="+Ve+".0.0 <"+(+Ve+1)+".0.0":_o($t)?oo=">="+Ve+"."+Ze+".0 <"+Ve+"."+(+Ze+1)+".0":sn?(o("replaceTilde pr",sn),sn.charAt(0)!=="-"&&(sn="-"+sn),oo=">="+Ve+"."+Ze+"."+$t+sn+" <"+Ve+"."+(+Ze+1)+".0"):oo=">="+Ve+"."+Ze+"."+$t+" <"+Ve+"."+(+Ze+1)+".0",o("tilde return",oo),oo}))})(ci,go)})).join(" ")})(Et,$o),o("tildes",Et),Et=(function(xn,go){return o("replaceXRanges",xn,go),xn.split(/\s+/).map((function(ci){return(function(Cn,no){Cn=Cn.trim();var qo=no?a[ce]:a[Xt];return Cn.replace(qo,(function(Hr,Ve,Ze,$t,sn,oo){o("xRange",Cn,Hr,Ve,Ze,$t,sn,oo);var CC=_o(Ze),Kc=CC||_o($t),jc=Kc||_o(sn);return Ve==="="&&jc&&(Ve=""),CC?Hr=Ve===">"||Ve==="<"?"<0.0.0":"*":Ve&&jc?(Kc&&($t=0),jc&&(sn=0),Ve===">"?(Ve=">=",Kc?(Ze=+Ze+1,$t=0,sn=0):jc&&($t=+$t+1,sn=0)):Ve==="<="&&(Ve="<",Kc?Ze=+Ze+1:$t=+$t+1),Hr=Ve+Ze+"."+$t+"."+sn):Kc?Hr=">="+Ze+".0.0 <"+(+Ze+1)+".0.0":jc&&(Hr=">="+Ze+"."+$t+".0 <"+Ze+"."+(+$t+1)+".0"),o("xRange return",Hr),Hr}))})(ci,go)})).join(" ")})(Et,$o),o("xrange",Et),Et=(function(xn,go){return o("replaceStars",xn,go),xn.trim().replace(a[zc],"")})(Et,$o),o("stars",Et),Et})(qn,O)})).join(" ").split(/\s+/);return this.loose&&(_e=_e.filter((function(qn){return!!qn.match(be)}))),_e=_e.map((function(qn){return new yr(qn,O)}))},fn.prototype.intersects=function(R,O){if(!(R instanceof fn))throw new TypeError("a Range is required");return this.set.some((function(F){return F.every((function(be){return R.set.some((function(_e){return _e.every((function(qn){return be.intersects(qn,O)}))}))}))}))},t.toComparators=function(R,O){return new fn(R,O).set.map((function(F){return F.map((function(be){return be.value})).join(" ").trim().split(" ")}))},fn.prototype.test=function(R){if(!R)return!1;typeof R=="string"&&(R=new St(R,this.loose));for(var O=0;O<this.set.length;O++)if(F1(this.set[O],R))return!0;return!1},t.satisfies=em,t.maxSatisfying=function(R,O,F){var be=null,_e=null;try{var qn=new fn(O,F)}catch{return null}return R.forEach((function(Et){qn.test(Et)&&(be&&_e.compare(Et)!==-1||(_e=new St(be=Et,F)))})),be},t.minSatisfying=function(R,O,F){var be=null,_e=null;try{var qn=new fn(O,F)}catch{return null}return R.forEach((function(Et){qn.test(Et)&&(be&&_e.compare(Et)!==1||(_e=new St(be=Et,F)))})),be},t.validRange=function(R,O){try{return new fn(R,O).range||"*"}catch{return null}},t.ltr=function(R,O,F){return $h(R,O,"<",F)},t.gtr=function(R,O,F){return $h(R,O,">",F)},t.outside=$h,t.prerelease=function(R,O){var F=gs(R,O);return F&&F.prerelease.length?F.prerelease:null},t.intersects=function(R,O,F){return R=new fn(R,F),O=new fn(O,F),R.intersects(O)},t.coerce=function(R){if(R instanceof St)return R;if(typeof R!="string")return null;var O=R.match(a[N]);return O==null?null:gs((O[1]||"0")+"."+(O[2]||"0")+"."+(O[3]||"0"))}}).call(this,e(1))},function(r,t){var e,n,o=r.exports={};function i(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function a(S){if(e===setTimeout)return setTimeout(S,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(S,0);try{return e(S,0)}catch{try{return e.call(null,S,0)}catch{return e.call(this,S,0)}}}(function(){try{e=typeof setTimeout=="function"?setTimeout:i}catch{e=i}try{n=typeof clearTimeout=="function"?clearTimeout:s}catch{n=s}})();var l,c=[],u=!1,p=-1;function m(){u&&l&&(u=!1,l.length?c=l.concat(c):p=-1,c.length&&g())}function g(){if(!u){var S=a(m);u=!0;for(var T=c.length;T;){for(l=c,c=[];++p<T;)l&&l[p].run();p=-1,T=c.length}l=null,u=!1,(function(E){if(n===clearTimeout)return clearTimeout(E);if((n===s||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(E);try{n(E)}catch{try{return n.call(null,E)}catch{return n.call(this,E)}}})(S)}}function h(S,T){this.fun=S,this.array=T}function v(){}o.nextTick=function(S){var T=new Array(arguments.length-1);if(arguments.length>1)for(var E=1;E<arguments.length;E++)T[E-1]=arguments[E];c.push(new h(S,T)),c.length!==1||u||a(g)},h.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=v,o.addListener=v,o.once=v,o.off=v,o.removeListener=v,o.removeAllListeners=v,o.emit=v,o.prependListener=v,o.prependOnceListener=v,o.listeners=function(S){return[]},o.binding=function(S){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(S){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}}])}));Tie=st.exports.SEMVER_SPEC_VERSION,Rie=st.exports.parse,EL=st.exports.valid,Pie=st.exports.coerce,kie=st.exports.clean,Die=st.exports.inc,_ie=st.exports.major,Mie=st.exports.minor,Aie=st.exports.patch,Lie=st.exports.prerelease,qi=st.exports.gt,wL=st.exports.gte,Sy=st.exports.lt,Oie=st.exports.lte,TL=st.exports.eq,Uie=st.exports.neq,Nie=st.exports.cmp,Fie=st.exports.compare,xy=st.exports.rcompare,Vie=st.exports.compareIdentifiers,Hie=st.exports.rcompareIdentifiers,Wie=st.exports.compareBuild,Bie=st.exports.sort,$ie=st.exports.rsort,qie=st.exports.diff,zie=st.exports.validRange,RL=st.exports.satisfies,Gie=st.exports.maxSatisfying,Kie=st.exports.minSatisfying,jie=st.exports.minVersion,Qie=st.exports.gtr,Jie=st.exports.ltr,Yie=st.exports.outside,Xie=st.exports.intersects,Zie=st.exports.SemVer,ese=st.exports.Comparator,tse=st.exports.Range});function Dw(r){return r instanceof kw?!0:r instanceof Error&&r.name===Pw&&r.message===Pw}var Pw,kw,PL=y(()=>{Pw="Offline";kw=class extends Error{constructor(){super(Pw),this.name=this.message}}});function Te(r,t){return r.uuid&&t.uuid?r.uuid===t.uuid:r.id===t.id?!0:id(r.id,t.id)===0}function cg(r){let t=c6.exec(r);return t&&t[1]?[lg(t[1]),t[2]]:[lg(r),void 0]}function $d(r,t){return`${r}.${t}`}function lg(r){return r.toLowerCase()}function Eo(r,t){return lg($d(r??hy,t))}function Cy(r,t){let e=[],n=o=>{for(let i of e)if(i.some(s=>Te(t(s),t(o))))return i;return null};for(let o of r){let i=n(o);i?i.push(o):e.push([o])}return e}function kL(r){return{id:r.identifier.id,name:r.manifest.name,galleryId:null,publisherId:r.publisherId,publisherName:r.manifest.publisher,publisherDisplayName:r.publisherDisplayName,dependencies:r.manifest.extensionDependencies&&r.manifest.extensionDependencies.length>0}}function dg(r){return{id:new Xr(r.identifier.id),name:new Xr(r.name),extensionVersion:r.version,galleryId:r.identifier.uuid,publisherId:r.publisherId,publisherName:r.publisher,publisherDisplayName:r.publisherDisplayName,isPreReleaseVersion:r.properties.isPreReleaseVersion,dependencies:!!(r.properties.dependencies&&r.properties.dependencies.length>0),isSigned:r.isSigned,...r.telemetryData}}async function d6(r,t){if(!qe)return!1;let e;try{e=(await r.readFile(b.file("/etc/os-release"))).value.toString()}catch{try{e=(await r.readFile(b.file("/usr/lib/os-release"))).value.toString()}catch(o){t.debug("Error while getting the os-release file.",he(o))}}return!!e&&(e.match(/^ID=([^\u001b\r\n]*)/m)||[])[1]==="alpine"}async function Ey(r,t){let e=await d6(r,t),n=yy(e?"alpine":di,Zh);return t.debug("ComputeTargetPlatform:",n),n}function DL(r,t){return u6(r,t)!==void 0}function u6(r,t){return t.find(({extensionOrPublisher:e})=>Z(e)?id(r.id.split(".")[0],e)===0:Te(r,e))}var l6,Zn,c6,vse,ei=y(()=>{Ot();Co();Bn();me();ie();Se();Sr();Zr();Ee();l6=/^([^.]+\..+)-(\d+\.\d+\.\d+)(-(.+))?$/,Zn=class r{constructor(t,e,n="undefined"){this.identifier=t;this.version=e;this.targetPlatform=n;this.id=t.id}static create(t){let e=t.manifest?t.manifest.version:t.version,n=t.manifest?t.targetPlatform:t.properties.targetPlatform;return new r(t.identifier,e,n)}static parse(t){let e=l6.exec(t);return e&&e[1]&&e[2]?new r({id:e[1]},e[2],e[4]||void 0):null}toString(){return`${this.id}-${this.version}${this.targetPlatform!=="undefined"?`-${this.targetPlatform}`:""}`}equals(t){return t instanceof r?Te(this,t)&&this.version===t.version&&this.targetPlatform===t.targetPlatform:!1}},c6=/^([^.]+\..+)@((prerelease)|(\d+\.\d+\.\d+(-.*)?))$/;vse=new nn("pprice.better-merge")});var wy,We,zi=y(()=>{Ot();wy=(o=>(o[o.Ignore=0]="Ignore",o[o.Info=1]="Info",o[o.Warning=2]="Warning",o[o.Error=3]="Error",o))(wy||{});(a=>{let r="error",t="warning",e="warn",n="info",o="ignore";function i(l){return l?vo(r,l)?3:vo(t,l)||vo(e,l)?2:vo(n,l)?1:0:0}a.fromValue=i;function s(l){switch(l){case 3:return r;case 2:return t;case 1:return n;default:return o}}a.toString=s})(wy||={});We=wy});function m6(r){return r=r.trim(),r==="*"||_L.test(r)}function Mw(r){if(!m6(r))return null;if(r=r.trim(),r==="*")return{hasCaret:!1,hasGreaterEquals:!1,majorBase:0,majorMustEqual:!1,minorBase:0,minorMustEqual:!1,patchBase:0,patchMustEqual:!1,preRelease:null};let t=r.match(_L);return t?{hasCaret:t[1]==="^",hasGreaterEquals:t[1]===">=",majorBase:t[2]==="x"?0:parseInt(t[2],10),majorMustEqual:t[2]!=="x",minorBase:t[4]==="x"?0:parseInt(t[4],10),minorMustEqual:t[4]!=="x",patchBase:t[6]==="x"?0:parseInt(t[6],10),patchMustEqual:t[6]!=="x",preRelease:t[8]||null}:null}function Aw(r){if(!r)return null;let t=r.majorBase,e=r.majorMustEqual,n=r.minorBase,o=r.minorMustEqual,i=r.patchBase,s=r.patchMustEqual;r.hasCaret&&(t===0||(o=!1),s=!1);let a=0;if(r.preRelease){let l=p6.exec(r.preRelease);if(l){let[,c,u,p,m,g]=l;a=Date.UTC(Number(c),Number(u)-1,Number(p),Number(m)||0,Number(g)||0)}}return{majorBase:t,majorMustEqual:e,minorBase:n,minorMustEqual:o,patchBase:i,patchMustEqual:s,isMinimum:r.hasGreaterEquals,notBefore:a}}function g6(r,t,e){let n;typeof r=="string"?n=Aw(Mw(r)):n=r;let o;t instanceof Date?o=t.getTime():typeof t=="string"&&(o=new Date(t).getTime());let i;if(typeof e=="string"?i=Aw(Mw(e)):i=e,!n||!i)return!1;let s=n.majorBase,a=n.minorBase,l=n.patchBase,c=i.majorBase,u=i.minorBase,p=i.patchBase,m=i.notBefore,g=i.majorMustEqual,h=i.minorMustEqual,v=i.patchMustEqual;return i.isMinimum?s>c?!0:s<c?!1:a>u?!0:a<u||o&&o<m?!1:l>=p:(s===1&&c===0&&(!g||!h||!v)&&(c=1,u=0,p=0,g=!0,h=!1,v=!1),s<c?!1:s>c?!g:a<u?!1:a>u?!h:l<p?!1:l>p?!v:!(o&&o<m))}function ML(r,t,e,n,o){let i=[];if(typeof n.publisher<"u"&&typeof n.publisher!="string")return i.push([We.Error,d(2854,null)]),i;if(typeof n.name!="string")return i.push([We.Error,d(2853,null,"name")]),i;if(typeof n.version!="string")return i.push([We.Error,d(2855,null,"version")]),i;if(!n.engines)return i.push([We.Error,d(2846,null,"engines")]),i;if(typeof n.engines.vscode!="string")return i.push([We.Error,d(2847,null,"engines.vscode")]),i;if(typeof n.extensionDependencies<"u"&&!_w(n.extensionDependencies))return i.push([We.Error,d(2849,null,"extensionDependencies")]),i;if(typeof n.extensionAffinity<"u"&&!_w(n.extensionAffinity))return i.push([We.Error,d(2848,null,"extensionAffinity")]),i;if(typeof n.activationEvents<"u"){if(!_w(n.activationEvents))return i.push([We.Error,d(2842,null,"activationEvents")]),i;if(typeof n.main>"u"&&typeof n.browser>"u")return i.push([We.Error,d(2843,null,"activationEvents","main","browser")]),i}if(typeof n.extensionKind<"u"&&typeof n.main>"u"&&i.push([We.Warning,d(2850,null,"extensionKind")]),typeof n.main<"u"){if(typeof n.main!="string")return i.push([We.Error,d(2851,null,"main")]),i;{let l=fe(e,n.main);bv(l,e)||i.push([We.Warning,d(2852,null,l.path,e.path)])}}if(typeof n.browser<"u"){if(typeof n.browser!="string")return i.push([We.Error,d(2844,null,"browser")]),i;{let l=fe(e,n.browser);bv(l,e)||i.push([We.Warning,d(2845,null,l.path,e.path)])}}if(!EL(n.version))return i.push([We.Error,d(2856,null)]),i;let s=[];if(!f6(r,t,n,o,s))for(let l of s)i.push([We.Error,l]);return i}function f6(r,t,e,n,o){return n||typeof e.main>"u"&&typeof e.browser>"u"?!0:AL(r,t,e.engines.vscode,o)}function ug(r,t,e){return r==="*"||AL(t,e,r)}function AL(r,t,e,n=[]){let o=Aw(Mw(e));if(!o)return n.push(d(2860,null,e)),!1;if(o.majorBase===0){if(!o.majorMustEqual||!o.minorMustEqual)return n.push(d(2858,null,e)),!1}else if(!o.majorMustEqual)return n.push(d(2859,null,e)),!1;return g6(r,t,o)?!0:(n.push(d(2857,null,r,e)),!1)}function _w(r){if(!Array.isArray(r))return!1;for(let t=0,e=r.length;t<e;t++)if(typeof r[t]!="string")return!1;return!0}var _L,p6,Ty=y(()=>{Rt();zi();le();Ua();_L=/^(\^|>=)?((\d+)|x)\.((\d+)|x)\.((\d+)|x)(\-.*)?$/,p6=/^-(\d{4})(\d{2})(\d{2})(\d{2})?(\d{2})?$/});var Be,LL,Fn=y(()=>{X();Be=D("productService"),LL="vscode://schemas/vscode-product"});function OL(r){return JSON.stringify(r,h6)}function Ry(r){let t=JSON.parse(r);return t=un(t),t}function h6(r,t){return t instanceof RegExp?{$mid:2,source:t.source,flags:t.flags}:t}function un(r,t=0){if(!r||t>200)return r;if(typeof r=="object"){switch(r.$mid){case 1:return b.revive(r);case 2:return new RegExp(r.source,r.flags);case 17:return new Date(r.source)}if(r instanceof L||r instanceof Uint8Array)return r;if(Array.isArray(r))for(let e=0;e<r.length;++e)r[e]=un(r[e],t+1);else for(let e in r)Object.hasOwnProperty.call(r,e)&&(r[e]=un(r[e],t+1))}return r}var Os=y(()=>{ze();ie();ad()});var Na,Ql,UL,NL,FL=y(()=>{Me();de();Q();Os();Ee();Na=class r extends _{constructor(e,n=Object.create(null)){super();this.database=e;this.options=n;this._onDidChangeStorage=this._register(new Dl);this.onDidChangeStorage=this._onDidChangeStorage.event;this.state=0;this.cache=new Map;this.flushDelayer=this._register(new Er(r.DEFAULT_FLUSH_DELAY));this.pendingDeletes=new Set;this.pendingInserts=new Map;this.pendingClose=void 0;this.whenFlushedCallbacks=[];this.registerListeners()}static{this.DEFAULT_FLUSH_DELAY=100}registerListeners(){this._register(this.database.onDidChangeItemsExternal(e=>this.onDidChangeItemsExternal(e)))}onDidChangeItemsExternal(e){this._onDidChangeStorage.pause();try{e.changed?.forEach((n,o)=>this.acceptExternal(o,n)),e.deleted?.forEach(n=>this.acceptExternal(n,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,n){if(this.state===2)return;let o=!1;Wt(n)?o=this.cache.delete(e):this.cache.get(e)!==n&&(this.cache.set(e,n),o=!0),o&&this._onDidChangeStorage.fire({key:e,external:!0})}get items(){return this.cache}get size(){return this.cache.size}async init(){this.state===0&&(this.state=1,this.options.hint!==0&&(this.cache=await this.database.getItems()))}get(e,n){let o=this.cache.get(e);return Wt(o)?n:o}getBoolean(e,n){let o=this.get(e);return Wt(o)?n:o==="true"}getNumber(e,n){let o=this.get(e);return Wt(o)?n:parseInt(o,10)}getObject(e,n){let o=this.get(e);return Wt(o)?n:Ry(o)}async set(e,n,o=!1){if(this.state===2)return;if(Wt(n))return this.delete(e,o);let i=Ae(n)||Array.isArray(n)?OL(n):String(n);if(this.cache.get(e)!==i)return this.cache.set(e,i),this.pendingInserts.set(e,i),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:o}),this.doFlush()}async delete(e,n=!1){if(!(this.state===2||!this.cache.delete(e)))return this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire({key:e,external:n}),this.doFlush()}async optimize(){if(this.state!==2)return await this.flush(0),this.database.optimize()}async close(){return this.pendingClose||(this.pendingClose=this.doClose()),this.pendingClose}async doClose(){this.state=2;try{await this.doFlush(0)}catch{}await this.database.close(()=>this.cache)}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;let e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally(()=>{if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)this.whenFlushedCallbacks.pop()?.()})}async flush(e){if(!(this.state===2||this.pendingClose))return this.doFlush(e)}async doFlush(e){return this.options.hint===1?this.flushPending():this.flushDelayer.trigger(()=>this.flushPending(),e)}async whenFlushed(){if(this.hasPending)return new Promise(e=>this.whenFlushedCallbacks.push(e))}isInMemory(){return this.options.hint===1}},Ql=class{constructor(){this.onDidChangeItemsExternal=W.None;this.items=new Map}async getItems(){return this.items}async updateItems(t){t.insert?.forEach((e,n)=>this.items.set(n,e)),t.delete?.forEach(e=>this.items.delete(e))}async optimize(){}async close(){}},UL="__$__migratedStorageMarker",NL=class r extends Na{constructor(){super(...arguments);this.migratedKeys=new Set;this.fallbackStorage=void 0;this.isFallbackStorageReadonly=!1}async init(){await super.init(),this.migratedKeys=this.loadMigratedKeys()}setFallbackStorage(e,n){this.fallbackStorage=e,this.isFallbackStorageReadonly=n}static{this.INTERNAL_KEY_PREFIX="__$__"}get(e,n){if(!e.startsWith(r.INTERNAL_KEY_PREFIX)&&!this.migratedKeys.has(e)&&Mn(super.get(e))){this.migratedKeys.add(e);let o=this.fallbackStorage?.items.get(e);Mn(o)||(this.set(e,o),this.isFallbackStorageReadonly||this.fallbackStorage?.delete(e),this.persistMigratedKeys())}return super.get(e,n)}loadMigratedKeys(){let e=super.get(UL);if(e)try{return new Set(JSON.parse(e))}catch{}return new Set}persistMigratedKeys(){this.set(UL,JSON.stringify([...this.migratedKeys]))}}});function VL(r){let t=r;return typeof t?.id=="string"&&b.isUri(t.uri)}function HL(r){let t=r;return typeof t?.id=="string"&&b.isUri(t.configPath)}function Lw(r){let t=r;return!!(t&&typeof t=="object"&&b.isUri(t.uri)&&typeof t.name=="string"&&typeof t.toResource=="function")}function BL(r){return(typeof r=="string"?ui(r):Im(r))===v6}var qd,WL,v6,zse,zd=y(()=>{le();Ue();qm();Rt();ie();X();Ne();qd=D("contextService");WL="code-workspace",v6=`.${WL}`,zse=[{name:d(3496,null),extensions:[WL]}]});var Je,wo=y(()=>{X();Je=D("IUriIdentityService")});function qL(r){let t=r;return!!(t&&typeof t=="object"&&typeof t.id=="string"&&typeof t.isDefault=="boolean"&&typeof t.name=="string"&&b.isUri(t.location)&&b.isUri(t.globalStorageHome)&&b.isUri(t.settingsResource)&&b.isUri(t.keybindingsResource)&&b.isUri(t.tasksResource)&&b.isUri(t.snippetsHome)&&b.isUri(t.promptsHome)&&b.isUri(t.extensionsResource)&&b.isUri(t.mcpResource)&&b.isUri(t.languageModelsResource)&&b.isUri(t.agentPluginsHome))}function ti(r,t){return{id:r.id,isDefault:r.isDefault,name:r.name,icon:r.icon,location:b.revive(r.location).with({scheme:t}),globalStorageHome:b.revive(r.globalStorageHome).with({scheme:t}),settingsResource:b.revive(r.settingsResource).with({scheme:t}),keybindingsResource:b.revive(r.keybindingsResource).with({scheme:t}),tasksResource:b.revive(r.tasksResource).with({scheme:t}),snippetsHome:b.revive(r.snippetsHome).with({scheme:t}),promptsHome:b.revive(r.promptsHome).with({scheme:t}),extensionsResource:b.revive(r.extensionsResource).with({scheme:t}),mcpResource:b.revive(r.mcpResource).with({scheme:t}),languageModelsResource:b.revive(r.languageModelsResource).with({scheme:t}),agentPluginsHome:b.revive(r.agentPluginsHome),cacheHome:b.revive(r.cacheHome).with({scheme:t}),useDefaultFlags:r.useDefaultFlags,isTransient:r.isTransient,isInternal:r.isInternal,isAgentsWindowProfile:r.isAgentsWindowProfile,workspaces:r.workspaces?.map(e=>b.revive(e))}}function Py(r,t,e,n,o,i){let s=r===pg;return{id:r,name:t,location:e,isDefault:!1,icon:o?.icon,globalStorageHome:i&&o?.useDefaultFlags?.globalState?i.globalStorageHome:fe(e,"globalStorage"),settingsResource:i&&o?.useDefaultFlags?.settings?i.settingsResource:fe(e,"settings.json"),keybindingsResource:i&&o?.useDefaultFlags?.keybindings?i.keybindingsResource:fe(e,"keybindings.json"),tasksResource:i&&o?.useDefaultFlags?.tasks?i.tasksResource:fe(e,"tasks.json"),snippetsHome:i&&o?.useDefaultFlags?.snippets?i.snippetsHome:fe(e,"snippets"),promptsHome:i&&o?.useDefaultFlags?.prompts?i.promptsHome:fe(e,"prompts"),extensionsResource:i&&o?.useDefaultFlags?.extensions?i.extensionsResource:fe(e,"extensions.json"),mcpResource:i&&o?.useDefaultFlags?.mcp?i.mcpResource:fe(e,"mcp.json"),languageModelsResource:i&&o?.useDefaultFlags?.languageModels?i.languageModelsResource:fe(e,"chatLanguageModels.json"),agentPluginsHome:i?i.agentPluginsHome:fe(e,"agent-plugins"),cacheHome:fe(n,r),useDefaultFlags:o?.useDefaultFlags,isTransient:o?.transient,isInternal:s||o?.transient,isAgentsWindowProfile:s,workspaces:o?.workspaces}}var pg,y6,Yt,$L,Gd,No=y(()=>{Ul();de();Q();Rt();ie();le();Nn();it();X();Pe();zd();wo();Me();Jt();Ot();Ee();pg="agents",y6={settings:!0,keybindings:!0,prompts:!0,mcp:!0,languageModels:!0,snippets:!0,tasks:!0,extensions:!0};Yt=D("IUserDataProfilesService");$L="builtin",Gd=class extends _{constructor(e,n,o,i){super();this.environmentService=e;this.fileService=n;this.uriIdentityService=o;this.logService=i;this._onDidChangeProfiles=this._register(new w);this.onDidChangeProfiles=this._onDidChangeProfiles.event;this._onWillCreateProfile=this._register(new w);this.onWillCreateProfile=this._onWillCreateProfile.event;this._onWillRemoveProfile=this._register(new w);this.onWillRemoveProfile=this._onWillRemoveProfile.event;this._onDidResetWorkspaces=this._register(new w);this.onDidResetWorkspaces=this._onDidResetWorkspaces.event;this.profileCreationPromises=new Map;this.transientProfilesObject={profiles:[],emptyWindows:new Map};this.profilesHome=fe(this.environmentService.userRoamingDataHome,"profiles"),this.profilesCacheHome=fe(this.environmentService.cacheHome,"CachedProfilesData")}static{this.PROFILES_KEY="userDataProfiles"}static{this.PROFILE_ASSOCIATIONS_KEY="profileAssociations"}get defaultProfile(){return this.profiles[0]}get profiles(){return[...this.profilesObject.profiles,...this.transientProfilesObject.profiles]}init(){this._profilesObject=void 0}get profilesObject(){if(!this._profilesObject){let e=this.createDefaultProfile(),n=[e];try{for(let i of this.getStoredProfiles()){if(this.isInvalidProfile(i)){this.logService.warn("Skipping the invalid stored profile",i.location||i.name);continue}let s=Ln(i.location);n.push(Py(s,i.name,i.location,this.profilesCacheHome,{icon:i.icon,useDefaultFlags:s===pg?y6:i.useDefaultFlags},e))}}catch(i){this.logService.error(i)}let o=new Map;if(n.length)try{let i=this.getStoredProfileAssociations();if(i.workspaces)for(let[s,a]of Object.entries(i.workspaces)){let l=b.parse(s),c=n.find(u=>u.id===a);if(c){let u=c.workspaces?c.workspaces.slice(0):[];u.push(l),c.workspaces=u}}if(i.emptyWindows)for(let[s,a]of Object.entries(i.emptyWindows)){let l=n.find(c=>c.id===a);l&&o.set(s,l)}}catch(i){this.logService.error(i)}this._profilesObject={profiles:n,emptyWindows:o}}return this._profilesObject}isInvalidProfile(e){return!e.name||!Z(e.name)||!e.location}createDefaultProfile(){let e=Py("__default__profile__",d(3478,null),this.environmentService.userRoamingDataHome,this.profilesCacheHome);return{...e,extensionsResource:this.getDefaultProfileExtensionsLocation()??e.extensionsResource,isDefault:!0}}async createTransientProfile(e){let n="Temp",o=new RegExp(`${Mo(n)}\\s(\\d+)`),i=0;for(let a of this.profiles){let l=o.exec(a.name),c=l?parseInt(l[1]):0;i=c>i?c:i}let s=`${n} ${i+1}`;return this.createProfile(Rr(ye()).toString(16),s,{transient:!0},e)}async createNamedProfile(e,n,o){return this.createProfile(Rr(ye()).toString(16),e,n,o)}async createProfile(e,n,o,i){return await this.doCreateProfile(e,n,o,i)}async doCreateProfile(e,n,o,i){if(!Z(n)||!n)throw new Error("Name of the profile is mandatory and must be of type `string`");let s=this.profileCreationPromises.get(n);return s||(s=(async()=>{try{if(this.profiles.find(p=>p.id===e||e!==pg&&!p.isTransient&&!o?.transient&&p.name===n))throw new Error(`Profile with ${n} name already exists`);let l=i?this.getWorkspace(i):void 0;b.isUri(l)&&(o={...o,workspaces:[l]});let c=Py(e,n,this.uriIdentityService.extUri.joinPath(this.profilesHome,...e===pg?[$L,e]:[e]),this.profilesCacheHome,e===pg?{}:o,this.defaultProfile);await this.fileService.createFolder(c.location);let u=[];return this._onWillCreateProfile.fire({profile:c,join(p){u.push(p)}}),await In.settled(u),l&&!b.isUri(l)&&this.updateEmptyWindowAssociation(l,c,!!c.isTransient),this.updateProfiles([c],[],[]),this.profiles.find(p=>p.id===c.id)??c}finally{this.profileCreationPromises.delete(n)}})(),this.profileCreationPromises.set(n,s)),s}async updateProfile(e,n){if(e.isAgentsWindowProfile)throw new Error("Cannot update agents window profile");let o=[];for(let s of this.profiles){let a;if(e.id===s.id)s.isDefault?n.workspaces&&(a=s,a.workspaces=n.workspaces):a=Py(s.id,n.name??s.name,s.location,this.profilesCacheHome,{icon:n.icon===null?void 0:n.icon??s.icon,transient:n.transient??s.isTransient,useDefaultFlags:n.useDefaultFlags??s.useDefaultFlags,workspaces:n.workspaces??s.workspaces},this.defaultProfile);else if(n.workspaces){let l=s.workspaces?.filter(c=>!n.workspaces?.some(u=>this.uriIdentityService.extUri.isEqual(c,u)));s.workspaces?.length!==l?.length&&(a=s,a.workspaces=l)}a&&o.push(a)}if(!o.length)throw e.isDefault?new Error("Cannot update default profile"):new Error(`Profile '${e.name}' does not exist`);this.updateProfiles([],[],o);let i=this.profiles.find(s=>s.id===e.id);if(!i)throw new Error(`Profile '${e.name}' was not updated`);return i}async removeProfile(e){if(e.isDefault)throw new Error("Cannot remove default profile");let n=this.profiles.find(i=>i.id===e.id);if(!n)throw new Error(`Profile '${e.name}' does not exist`);let o=[];this._onWillRemoveProfile.fire({profile:n,join(i){o.push(i)}});try{await Promise.allSettled(o)}catch(i){this.logService.error(i)}this.updateProfiles([],[n],[]);try{await this.fileService.del(n.cacheHome,{recursive:!0})}catch(i){Dt(i)!==1&&this.logService.error(i)}}async setProfileForWorkspace(e,n){let o=this.profiles.find(s=>s.id===n.id);if(!o)throw new Error(`Profile '${n.name}' does not exist`);let i=this.getWorkspace(e);if(b.isUri(i)){let s=o.workspaces?[...o.workspaces]:[];s.some(a=>this.uriIdentityService.extUri.isEqual(a,i))||(s.push(i),await this.updateProfile(o,{workspaces:s}))}else this.updateEmptyWindowAssociation(i,o,!1),this.updateStoredProfiles(this.profiles)}unsetWorkspace(e,n=!1){let o=this.getWorkspace(e);if(b.isUri(o)){let i=this.getProfileForWorkspace(e);i&&this.updateProfile(i,{workspaces:i.workspaces?.filter(s=>!this.uriIdentityService.extUri.isEqual(s,o))})}else this.updateEmptyWindowAssociation(o,void 0,n),this.updateStoredProfiles(this.profiles)}async resetWorkspaces(){this.transientProfilesObject.emptyWindows.clear(),this.profilesObject.emptyWindows.clear();for(let e of this.profiles)e.workspaces=void 0;this.updateProfiles([],[],this.profiles),this._onDidResetWorkspaces.fire()}async cleanUp(){try{if(await this.fileService.exists(this.profilesHome)){let e=await this.fileService.resolve(this.profilesHome);await Promise.all((e.children||[]).filter(n=>n.isDirectory&&n.name!==$L&&this.profiles.every(o=>!this.uriIdentityService.extUri.isEqual(o.location,n.resource))).map(n=>this.fileService.del(n.resource,{recursive:!0})))}}catch(e){this.logService.error("Error deleting redundant profile folders",e)}try{let e=this.getStoredProfiles(),n=[];for(let o of this.getStoredProfiles())this.isInvalidProfile(o)?this.logService.warn(`Invalid user data profile found: ${o.name}`):n.push(o);e.length!==n.length&&this.saveStoredProfiles(n)}catch(e){this.logService.error("Error removing invalid stored profiles",e)}}async cleanUpTransientProfiles(){let e=this.transientProfilesObject.profiles.filter(n=>!this.isProfileAssociatedToWorkspace(n));await Promise.allSettled(e.map(n=>this.removeProfile(n)))}getProfileForWorkspace(e){let n=this.getWorkspace(e);return b.isUri(n)&&this.uriIdentityService.extUri.isEqual(n,this.environmentService.agentSessionsWorkspace)?this.profiles.find(o=>o.isAgentsWindowProfile):b.isUri(n)?this.profiles.find(o=>o.workspaces?.some(i=>this.uriIdentityService.extUri.isEqual(i,n))):this.profilesObject.emptyWindows.get(n)??this.transientProfilesObject.emptyWindows.get(n)}getWorkspace(e){return VL(e)?e.uri:HL(e)?e.configPath:e.id}isProfileAssociatedToWorkspace(e){return!!(e.workspaces?.length||[...this.profilesObject.emptyWindows.values()].some(n=>this.uriIdentityService.extUri.isEqual(n.location,e.location))||[...this.transientProfilesObject.emptyWindows.values()].some(n=>this.uriIdentityService.extUri.isEqual(n.location,e.location)))}updateProfiles(e,n,o,i=!1){let s=[...this.profiles,...e],a=this.transientProfilesObject.profiles;this.transientProfilesObject.profiles=[];let l=[];for(let c of s){if(n.some(u=>c.id===u.id)){for(let u of[...this.profilesObject.emptyWindows.keys()])c.id===this.profilesObject.emptyWindows.get(u)?.id&&this.profilesObject.emptyWindows.delete(u);continue}if(!c.isDefault){c=o.find(p=>c.id===p.id)??c;let u=a.find(p=>c.id===p.id);if(c.isTransient)this.transientProfilesObject.profiles.push(c);else if(u){for(let[p,m]of this.transientProfilesObject.emptyWindows.entries())if(c.id===m.id){this.transientProfilesObject.emptyWindows.delete(p),this.profilesObject.emptyWindows.set(p,c);break}}}c.workspaces?.length===0&&(c.workspaces=void 0),l.push(c)}this.updateStoredProfiles(l),i||this.triggerProfilesChanges(e,n,o)}triggerProfilesChanges(e,n,o){this._onDidChangeProfiles.fire({added:e,removed:n,updated:o,all:this.profiles})}updateEmptyWindowAssociation(e,n,o){o=n?.isTransient?!0:o,o?n?this.transientProfilesObject.emptyWindows.set(e,n):this.transientProfilesObject.emptyWindows.delete(e):(this.transientProfilesObject.emptyWindows.delete(e),n?this.profilesObject.emptyWindows.set(e,n):this.profilesObject.emptyWindows.delete(e))}updateStoredProfiles(e){let n=[],o={},i={};for(let s of e)if(!s.isTransient&&(s.isDefault||n.push({location:s.location,name:s.name,icon:s.icon,useDefaultFlags:s.useDefaultFlags}),s.workspaces))for(let a of s.workspaces)o[a.toString()]=s.id;for(let[s,a]of this.profilesObject.emptyWindows.entries())i[s.toString()]=a.id;this.saveStoredProfileAssociations({workspaces:o,emptyWindows:i}),this.saveStoredProfiles(n),this._profilesObject=void 0}getStoredProfiles(){return[]}saveStoredProfiles(e){throw new Error("not implemented")}getStoredProfileAssociations(){return{}}saveStoredProfileAssociations(e){throw new Error("not implemented")}getDefaultProfileExtensionsLocation(){}};Gd=C([I(0,Pt),I(1,Oe),I(2,Je),I(3,K)],Gd)});function b6(r){let t=r.get(ky);if(t)try{return JSON.parse(t)}catch{}return Object.create(null)}function zL(r){return r.isDefault||!!r.useDefaultFlags?.globalState}async function S6(r,t,e,n,o,i,s,a){let l=P=>{try{return JSON.parse(P)}catch{return P}},c=new Map,u=new Map;r.forEach((P,U)=>{c.set(U,P),u.set(U,l(P))});let p=new Map,m=new Map;t.forEach((P,U)=>{p.set(U,P),m.set(U,l(P))});let g=new Map,h=new Map;e.forEach((P,U)=>{g.set(U,P),h.set(U,l(P))});let v=new Map,S=new Map;n.forEach((P,U)=>{v.set(U,P),S.set(U,l(P))}),console.group(o!==s?`Storage: Application (path: ${o})`:`Storage: Application & Profile (path: ${o}, default profile)`);let T=[];c.forEach((P,U)=>{T.push({key:U,value:P})}),console.table(T),console.groupEnd(),console.log(u),console.group(`Storage: Application Shared (path: ${i})`);let E=[];if(p.forEach((P,U)=>{E.push({key:U,value:P})}),console.table(E),console.groupEnd(),console.log(m),o!==s){console.group(`Storage: Profile (path: ${s}, profile specific)`);let P=[];g.forEach((U,xe)=>{P.push({key:xe,value:U})}),console.table(P),console.groupEnd(),console.log(h)}console.group(`Storage: Workspace (path: ${a})`);let k=[];v.forEach((P,U)=>{k.push({key:U,value:P})}),console.table(k),console.groupEnd(),console.log(S)}var I6,ky,ni,Ow,Dy,Us=y(()=>{Me();de();Q();Wr();Ee();FL();X();No();I6="__$__isNewStorageMarker",ky="__$__targetStorageMarker",ni=D("storageService");Ow=class r extends _{constructor(e={flushInterval:r.DEFAULT_FLUSH_INTERVAL}){super();this._onDidChangeValue=this._register(new Dl);this._onDidChangeTarget=this._register(new Dl);this.onDidChangeTarget=this._onDidChangeTarget.event;this._onWillSaveState=this._register(new w);this.onWillSaveState=this._onWillSaveState.event;this.runFlushWhenIdle=this._register(new so);this._workspaceKeyTargets=void 0;this._profileKeyTargets=void 0;this._applicationKeyTargets=void 0;this._applicationSharedKeyTargets=void 0;this.flushWhenIdleScheduler=this._register(new Ko(()=>this.doFlushWhenIdle(),e.flushInterval))}static{this.DEFAULT_FLUSH_INTERVAL=60*1e3}onDidChangeValue(e,n,o){return W.filter(this._onDidChangeValue.event,i=>i.scope===e&&(n===void 0||i.key===n),o)}doFlushWhenIdle(){this.runFlushWhenIdle.value=SE(()=>{this.shouldFlushWhenIdle()&&this.flush(),this.flushWhenIdleScheduler.schedule()})}shouldFlushWhenIdle(){return!0}stopFlushWhenIdle(){Kt([this.runFlushWhenIdle,this.flushWhenIdleScheduler])}initialize(){return this.initializationPromise||(this.initializationPromise=(async()=>{Vt("code/willInitStorage");try{await this.doInitialize()}finally{Vt("code/didInitStorage")}this.flushWhenIdleScheduler.schedule()})()),this.initializationPromise}emitDidChangeValue(e,n){let{key:o,external:i}=n;if(o===ky){switch(e){case-2:this._applicationSharedKeyTargets=void 0;break;case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key:o,target:this.getKeyTargets(e)[o],external:i})}emitWillSaveState(e){this._onWillSaveState.fire({reason:e})}get(e,n,o){return this.getStorage(n)?.get(e,o)}getBoolean(e,n,o){return this.getStorage(n)?.getBoolean(e,o)}getNumber(e,n,o){return this.getStorage(n)?.getNumber(e,o)}getObject(e,n,o){return this.getStorage(n)?.getObject(e,o)}storeAll(e,n){this.withPausedEmitters(()=>{for(let o of e)this.store(o.key,o.value,o.scope,o.target,n)})}store(e,n,o,i,s=!1){if(Wt(n)){this.remove(e,o,s);return}this.withPausedEmitters(()=>{this.updateKeyTarget(e,o,i),this.getStorage(o)?.set(e,n,s)})}remove(e,n,o=!1){this.withPausedEmitters(()=>{this.updateKeyTarget(e,n,void 0),this.getStorage(n)?.delete(e,o)})}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}keys(e,n){let o=[],i=this.getKeyTargets(e);for(let s of Object.keys(i))i[s]===n&&o.push(s);return o}updateKeyTarget(e,n,o,i=!1){let s=this.getKeyTargets(n);typeof o=="number"?s[e]!==o&&(s[e]=o,this.getStorage(n)?.set(ky,JSON.stringify(s),i)):typeof s[e]=="number"&&(delete s[e],this.getStorage(n)?.set(ky,JSON.stringify(s),i))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}get applicationSharedKeyTargets(){return this._applicationSharedKeyTargets||(this._applicationSharedKeyTargets=this.loadKeyTargets(-2)),this._applicationSharedKeyTargets}getKeyTargets(e){switch(e){case-2:return this.applicationSharedKeyTargets;case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){let n=this.getStorage(e);return n?b6(n):Object.create(null)}isNew(e){return this.getBoolean(I6,e)===!0}async flush(e=0){this._onWillSaveState.fire({reason:e});let n=this.getStorage(-1),o=this.getStorage(-2),i=this.getStorage(0),s=this.getStorage(1);switch(e){case 0:await In.settled([n?.whenFlushed()??Promise.resolve(),o?.whenFlushed()??Promise.resolve(),i?.whenFlushed()??Promise.resolve(),s?.whenFlushed()??Promise.resolve()]);break;case 1:await In.settled([n?.flush(0)??Promise.resolve(),o?.flush(0)??Promise.resolve(),i?.flush(0)??Promise.resolve(),s?.flush(0)??Promise.resolve()]);break}}async log(){let e=this.getStorage(-1)?.items??new Map,n=this.getStorage(-2)?.items??new Map,o=this.getStorage(0)?.items??new Map,i=this.getStorage(1)?.items??new Map;return S6(e,n,o,i,this.getLogDetails(-1)??"",this.getLogDetails(-2)??"",this.getLogDetails(0)??"",this.getLogDetails(1)??"")}async optimize(e){return await this.flush(),this.getStorage(e)?.optimize()}async switch(e,n){return this.emitWillSaveState(0),qL(e)?this.switchToProfile(e,n):this.switchToWorkspace(e,n)}canSwitchProfile(e,n){return!(e.id===n.id||zL(n)&&zL(e))}switchData(e,n,o){this.withPausedEmitters(()=>{let i=new Set;for(let[s,a]of e)i.add(s),n.get(s)!==a&&this.emitDidChangeValue(o,{key:s,external:!0});for(let[s]of n.items)i.has(s)||this.emitDidChangeValue(o,{key:s,external:!0})})}};Dy=class extends Ow{constructor(){super();this.applicationStorage=this._register(new Na(new Ql,{hint:1}));this.applicationSharedStorage=this._register(new Na(new Ql,{hint:1}));this.profileStorage=this._register(new Na(new Ql,{hint:1}));this.workspaceStorage=this._register(new Na(new Ql,{hint:1}));this._register(this.workspaceStorage.onDidChangeStorage(e=>this.emitDidChangeValue(1,e))),this._register(this.profileStorage.onDidChangeStorage(e=>this.emitDidChangeValue(0,e))),this._register(this.applicationStorage.onDidChangeStorage(e=>this.emitDidChangeValue(-1,e))),this._register(this.applicationSharedStorage.onDidChangeStorage(e=>this.emitDidChangeValue(-2,e)))}getStorage(e){switch(e){case-2:return this.applicationSharedStorage;case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}getLogDetails(e){switch(e){case-2:return"inMemory (application-shared)";case-1:return"inMemory (application)";case 0:return"inMemory (profile)";default:return"inMemory (workspace)"}}async doInitialize(){}async switchToProfile(){}async switchToWorkspace(){}shouldFlushWhenIdle(){return!1}hasScope(e){return!1}}});async function GL(r,t,e){let n=e&&e.get("storage.serviceMachineId",-1)||null;if(n)return n;try{let i=(await t.readFile(r.serviceMachineIdResource)).value.toString();n=NA(i)?i:null}catch{n=null}if(!n){n=ye();try{await t.writeFile(r.serviceMachineIdResource,L.fromString(n))}catch{}}return e?.store("storage.serviceMachineId",n,-1,1),n}var KL=y(()=>{ze();Jt();Us()});async function jL(r,t,e,n,o,i,s){let a={"X-Market-Client-Id":`VSCode ${r}`,"User-Agent":`VSCode ${r} (${t.nameShort})`};if(t.extensionsGallery?.authorizationHeaderToken&&(a.Authorization=`Bearer ${t.extensionsGallery.authorizationHeaderToken}`),py(t,e)&&eg(n)===3){let l=await GL(e,o,i);a["X-Market-User-Id"]=l,a["VSCode-SessionId"]=s.machineId||l}return a}var QL=y(()=>{KL();Rn();Zr()});function Jl(r,t){let[e,n]=t.split("/");for(let o of r.resources){let[i,s]=o.type.split("/");if(i===e){if(!n||s===n)return o.id;break}}}var Gi,Yl=y(()=>{X();Gi=D("IExtensionGalleryManifestService")});function Vw(r,t){let e=(r||[]).filter(n=>n.statisticName===t)[0];return e?e.value:0}function k6(r){let t="Microsoft.VisualStudio.Code.Translation.";return r.files.filter(n=>n.assetType.indexOf(t)===0).reduce((n,o)=>{let i=Ii(r,o.assetType);return i&&n.push([o.assetType.substring(t.length),i]),n},[])}function D6(r){if(r.properties){let t=r.properties.filter(o=>o.key===eo.Repository),e=new RegExp("((git|ssh|http(s)?)|(git@[\\w.]+))(:(//)?)([\\w.@:/\\-~]+)(.git)(/)?"),n=t.filter(o=>e.test(o.value))[0];return n?{uri:n.value,fallbackUri:n.value}:null}return Ii(r,eo.Repository)}function _6(r){return{uri:`${r.fallbackAssetUri}/${eo.VSIX}?redirect=true${r.targetPlatform?`&targetPlatform=${r.targetPlatform}`:""}`,fallbackUri:`${r.fallbackAssetUri}/${eo.VSIX}${r.targetPlatform?`?targetPlatform=${r.targetPlatform}`:""}`}}function Ii(r,t){return r.files.filter(n=>n.assetType===t)[0]?{uri:`${r.assetUri}/${t}${r.targetPlatform?`?targetPlatform=${r.targetPlatform}`:""}`,fallbackUri:`${r.fallbackAssetUri}/${t}${r.targetPlatform?`?targetPlatform=${r.targetPlatform}`:""}`}:null}function JL(r,t){let e=r.properties?r.properties.filter(o=>o.key===t):[],n=e.length>0&&e[0].value;return n?n.split(",").map(o=>lg(o)):[]}function Oy(r){let t=r.properties?r.properties.filter(e=>e.key===bi.Engine):[];return t.length>0&&t[0].value||""}function M6(r,t){r.properties=r.properties??[],r.properties.push({key:bi.Engine,value:t})}function Qd(r){let t=r.properties?r.properties.filter(e=>e.key===bi.PreRelease):[];return t.length>0&&t[0].value==="true"}function eO(r,t){return t.extensionProperties?.[r.toLowerCase()]?.hasPrereleaseVersion}function A6(r,t){return t.extensionProperties?.[r.toLowerCase()]?.excludeVersionRange}function L6(r){let t=r.properties?r.properties.filter(e=>e.key===bi.Private):[];return t.length>0&&t[0].value==="true"}function O6(r){let t=r.properties?r.properties.filter(e=>e.key===bi.ExecutesCode):[];return t.length>0?t[0].value==="true":void 0}function Ww(r){let t=r.properties?r.properties.filter(n=>n.key===bi.EnabledApiProposals):[],e=t.length>0&&t[0].value||"";return e?e.split(","):[]}function U6(r){let t=r.properties?r.properties.filter(n=>n.key===bi.LocalizedLanguages):[],e=t.length>0&&t[0].value||"";return e?e.split(","):[]}function N6(r){return r.properties?.find(t=>t.key===bi.SponsorLink)?.value}function F6(r){return r.properties?.find(t=>t.key===bi.SupportLink)?.value}function V6(r){return r.indexOf("preview")!==-1}function Xl(r){return r.targetPlatform?bL(r.targetPlatform):"undefined"}function My(r){let t=jn(r.versions.map(Xl)),e=!!r.tags?.includes(vL),n=t.indexOf("web");return e?n===-1&&t.push("web"):n!==-1&&t.splice(n,1),t}function YL(r,t){for(let e=0;e<r.length;e++){let n=r[e];if(n.version===r[e-1]?.version){let o=e;if(Xl(n)===t)for(;o>0&&r[o-1].version===n.version;)o--;o!==e&&(r.splice(e,1),r.splice(o,0,n))}}return r}function H6(r,t,e){let n=[],o=-1,i=-1;for(let s of r){let a=Xl(s);if(!sg(a,e,t)){n.push(s);continue}Qd(s)?o===-1?(o=n.length,n.push(s)):a===t&&n[o].version===s.version&&(n[o]=s):i===-1?(i=n.length,n.push(s)):a===t&&n[i].version===s.version&&(n[i]=s)}return n}function XL(r,t,e){r.telemetryData={index:t,querySource:e,queryActivityId:r.queryContext?.[Ly]}}function Hw(r,t,e,n,o,i){let s=r.versions[0],a={manifest:Ii(t,eo.Manifest),readme:Ii(t,eo.Details),changelog:Ii(t,eo.Changelog),license:Ii(t,eo.License),repository:D6(t),download:_6(t),icon:Ii(t,eo.Icon),signature:Ii(t,eo.Signature),coreTranslations:k6(t)},l=Jl(n,r.linkType??"ExtensionDetailsViewUriTemplate"),c=Jl(n,r.publisher.linkType??"PublisherViewUriTemplate"),u=Jl(n,r.ratingLinkType??"ExtensionRatingViewUriTemplate"),p=Eo(r.publisher.publisherName,r.extensionName);return{type:"gallery",identifier:{id:p,uuid:r.extensionId},name:r.extensionName,version:t.version,displayName:r.displayName,publisherId:r.publisher.publisherId,publisher:r.publisher.publisherName,publisherDisplayName:r.publisher.displayName,publisherDomain:r.publisher.domain?{link:r.publisher.domain,verified:!!r.publisher.isDomainVerified}:void 0,publisherSponsorLink:N6(s),description:r.shortDescription??"",installCount:Vw(r.statistics,"install"),rating:Vw(r.statistics,"averagerating"),ratingCount:Vw(r.statistics,"ratingcount"),categories:r.categories||[],tags:r.tags||[],releaseDate:Date.parse(r.releaseDate),lastUpdated:Date.parse(r.lastUpdated),allTargetPlatforms:e,assets:a,properties:{dependencies:JL(t,bi.Dependency),extensionPack:JL(t,bi.ExtensionPack),engine:Oy(t),enabledApiProposals:Ww(t),localizedLanguages:U6(t),targetPlatform:Xl(t),isPreReleaseVersion:Qd(t),executesCode:O6(t)},hasPreReleaseVersion:eO(p,o)??Qd(s),hasReleaseVersion:!0,private:L6(s),preview:V6(r.flags),isSigned:!!a.signature,queryContext:i,supportLink:F6(s),detailsLink:l?Cr(l,{publisher:r.publisher.publisherName,name:r.extensionName}):void 0,publisherLink:c?Cr(c,{publisher:r.publisher.publisherName}):void 0,ratingLink:u?Cr(u,{publisher:r.publisher.publisherName,name:r.extensionName}):void 0}}var _y,Ly,Uw,Nw,Fw,eo,bi,R6,P6,Kd,jd,Ay,Fa,$w=y(()=>{Lt();jt();Ua();Se();me();Sr();Ee();ie();PL();tn();Nn();Co();ei();Bn();Ty();it();Pe();Fn();yi();QL();Us();Rn();ya();Ot();Yl();Zr();_y=pn?"web":yy(di,Zh),Ly="X-Market-Search-Activity-Id",Uw="Activityid",Nw="Server",Fw="X-Vss-E2eid",eo={Icon:"Microsoft.VisualStudio.Services.Icons.Default",Details:"Microsoft.VisualStudio.Services.Content.Details",Changelog:"Microsoft.VisualStudio.Services.Content.Changelog",Manifest:"Microsoft.VisualStudio.Code.Manifest",VSIX:"Microsoft.VisualStudio.Services.VSIXPackage",License:"Microsoft.VisualStudio.Services.Content.License",Repository:"Microsoft.VisualStudio.Services.Links.Source",Signature:"Microsoft.VisualStudio.Services.VsixSignature"},bi={Dependency:"Microsoft.VisualStudio.Code.ExtensionDependencies",ExtensionPack:"Microsoft.VisualStudio.Code.ExtensionPack",Engine:"Microsoft.VisualStudio.Code.Engine",PreRelease:"Microsoft.VisualStudio.Code.PreRelease",EnabledApiProposals:"Microsoft.VisualStudio.Code.EnabledApiProposals",LocalizedLanguages:"Microsoft.VisualStudio.Code.LocalizedLanguages",WebExtension:"Microsoft.VisualStudio.Code.WebExtension",SponsorLink:"Microsoft.VisualStudio.Code.SponsorLink",SupportLink:"Microsoft.VisualStudio.Services.Links.Support",ExecutesCode:"Microsoft.VisualStudio.Code.ExecutesCode",Private:"PrivateMarketplace"},R6=10,P6={pageNumber:1,pageSize:R6,sortBy:"NoneOrRelevance",sortOrder:0,flags:[],criteria:[],assetTypes:[]},Kd=class r{constructor(t=P6){this.state=t}get pageNumber(){return this.state.pageNumber}get pageSize(){return this.state.pageSize}get sortBy(){return this.state.sortBy}get sortOrder(){return this.state.sortOrder}get flags(){return this.state.flags}get criteria(){return this.state.criteria}get assetTypes(){return this.state.assetTypes}get source(){return this.state.source}get searchText(){let t=this.state.criteria.filter(e=>e.filterType==="SearchText")[0];return t&&t.value?t.value:""}withPage(t,e=this.state.pageSize){return new r({...this.state,pageNumber:t,pageSize:e})}withFilter(t,...e){let n=[...this.state.criteria,...e.length?e.map(o=>({filterType:t,value:o})):[{filterType:t}]];return new r({...this.state,criteria:n})}withSortBy(t){return new r({...this.state,sortBy:t})}withSortOrder(t){return new r({...this.state,sortOrder:t})}withFlags(...t){return new r({...this.state,flags:jn(t)})}withAssetTypes(...t){return new r({...this.state,assetTypes:t})}withSource(t){return new r({...this.state,source:t})}};jd=class{constructor(t,e,n,o,i,s,a,l,c,u){this.requestService=e;this.logService=n;this.environmentService=o;this.telemetryService=i;this.fileService=s;this.productService=a;this.configurationService=l;this.allowedExtensionsService=c;this.extensionGalleryManifestService=u;this.extensionsControlUrl=a.extensionsGallery?.controlUrl,this.unpkgResourceApi=a.extensionsGallery?.extensionUrlTemplate,this.commonHeadersPromise=jL(a.version,a,this.environmentService,this.configurationService,this.fileService,t,this.telemetryService)}isEnabled(){return this.extensionGalleryManifestService.extensionGalleryManifestStatus==="available"}async getExtensions(t,e,n){let o=await this.extensionGalleryManifestService.getExtensionGalleryManifest();if(!o)throw new Error("No extension gallery service configured.");let i=we.isCancellationToken(e)?{}:e,s=we.isCancellationToken(e)?e:n,a=this.getResourceApi(o),l=a?await this.getExtensionsUsingResourceApi(t,i,a,o,s):await this.getExtensionsUsingQueryApi(t,i,o,s),c=l.map(p=>p.identifier.uuid),u=[];for(let p of t)p.uuid&&!c.includes(p.uuid)&&u.push({...p,uuid:void 0});if(u.length){this.telemetryService.publicLog2("galleryService:additionalQueryByName",{count:u.length});let p=await this.getExtensionsUsingQueryApi(u,i,o,s);l.push(...p)}return l}getResourceApi(t){let e=Jl(t,"ExtensionLatestVersionUriTemplate");if(e)return{uri:e,fallback:this.unpkgResourceApi}}async getExtensionsUsingQueryApi(t,e,n,o){let i=[],s=[],a=[],l=[],c=!0;for(let m of t)m.uuid?s.push(m.uuid):i.push(m.id),m.version?l.push({id:m.id,uuid:m.uuid,version:m.version}):a.push({id:m.id,uuid:m.uuid,includePreRelease:!!m.preRelease}),c=c&&!!m.hasPreRelease&&!m.preRelease;if(!s.length&&!i.length)return[];let u=new Kd().withPage(1,t.length);s.length&&(u=u.withFilter("ExtensionId",...s)),i.length&&(u=u.withFilter("ExtensionName",...i)),e.queryAllVersions&&(u=u.withFlags(...u.flags,"IncludeVersions")),e.source&&(u=u.withSource(e.source));let{extensions:p}=await this.queryGalleryExtensions(u,{targetPlatform:e.targetPlatform??_y,includePreRelease:a,versions:l,compatible:!!e.compatible,productVersion:e.productVersion??{version:this.productService.version,date:this.productService.date},isQueryForReleaseVersionFromPreReleaseVersion:c},n,o);return e.source&&p.forEach((m,g)=>XL(m,g,e.source)),p}async getExtensionsUsingResourceApi(t,e,n,o,i){let s=[],a=[],l=[];for(let c of t)ig.test(c.id)&&(c.version||!c.uuid?a.push(c):l.push(c));if(await Promise.all(l.map(async c=>{let u;try{u=await this.getLatestGalleryExtension(c,e,n,o,i),Z(u)?u==="LATEST_IS_OUTDATED"?this.logService.debug(`Skipping query API fallback for extension ${c.id} because the latest gallery version is older than the current version`):(this.telemetryService.publicLog2("galleryService:fallbacktoquery",{extension:c.id,preRelease:!!c.preRelease,compatible:!!e.compatible,errorCode:u}),a.push(c)):s.push(u)}catch(p){if(p instanceof kr)switch(p.code){case"Offline":case"Cancelled":case"Timeout":throw p}this.logService.error(`Error while getting the latest version for the extension ${c.id}.`,he(p)),this.telemetryService.publicLog2("galleryService:fallbacktoquery",{extension:c.id,preRelease:!!c.preRelease,compatible:!!e.compatible,errorCode:p instanceof kr?p.code:"Unknown"}),a.push(c)}})),a.length){let c=await this.getExtensionsUsingQueryApi(a,e,o,i);s.push(...c)}return s}async getLatestGalleryExtension(t,e,n,o,i){let s=await this.getLatestRawGalleryExtensionWithFallback(t,n,i);if(!s)return"NOT_FOUND";if(!Array.isArray(s.versions)||s.versions.some(c=>!Array.isArray(c.files)))return"INVALID_RESPONSE";let a=My(s),l=await this.getValidRawGalleryExtensionVersionFromLatestVersions(s,s.versions,t,e,a);if(!l){if(t.currentVersion){let c=s.versions.length>0?s.versions[0].version:void 0;if(c&&Sy(c,t.currentVersion))return"LATEST_IS_OUTDATED"}return"NOT_COMPATIBLE"}return Hw(s,l,a,o,this.productService)}async getValidRawGalleryExtensionVersionFromLatestVersions(t,e,n,o,i){let s=o.targetPlatform??_y,a=H6(e,s,i),l=await this.getValidRawGalleryExtensionVersion(t,a,{targetPlatform:s,compatible:!!o.compatible,productVersion:o.productVersion??{version:this.productService.version,date:this.productService.date},version:n.preRelease?1:0},i);if(!n.preRelease)return l;let c=l,u=await this.getValidRawGalleryExtensionVersion(t,a,{targetPlatform:s,compatible:!!o.compatible,productVersion:o.productVersion??{version:this.productService.version,date:this.productService.date},version:0},i);if(c&&u)return qi(u.version,c.version)?u:c;if(o.compatible){if(u){let p=await this.getValidRawGalleryExtensionVersion(t,a,{targetPlatform:s,compatible:!1,productVersion:o.productVersion??{version:this.productService.version,date:this.productService.date},version:1},i);if(!p||qi(u.version,p.version))return u}return c}return c??u??null}async getCompatibleExtension(t,e,n,o={version:this.productService.version,date:this.productService.date}){return Hd(t.allTargetPlatforms,n)?null:await this.isExtensionCompatible(t,e,n)?t:this.allowedExtensionsService.isAllowed({id:t.identifier.id,publisherDisplayName:t.publisherDisplayName})!==!0?null:(await this.getExtensions([{...t.identifier,preRelease:e,hasPreRelease:t.hasPreReleaseVersion}],{compatible:!0,productVersion:o,queryAllVersions:!0,targetPlatform:n},we.None))[0]??null}async isExtensionCompatible(t,e,n,o={version:this.productService.version,date:this.productService.date}){return this.isValidVersion({id:t.identifier.id,version:t.version,isPreReleaseVersion:t.properties.isPreReleaseVersion,targetPlatform:t.properties.targetPlatform,manifestAsset:t.assets.manifest,engine:t.properties.engine,enabledApiProposals:t.properties.enabledApiProposals},{targetPlatform:n,compatible:!0,productVersion:o,version:e?2:0},t.publisherDisplayName,t.allTargetPlatforms)}async isValidVersion(t,{targetPlatform:e,compatible:n,productVersion:o,version:i},s,a){let l=eO(t.id,this.productService),c=A6(t.id,this.productService);if(t.isPreReleaseVersion&&l===!1||c&&RL(t.version,c))return!1;if(Z(i)){if(t.version!==i)return!1}else if((i===0||i===1)&&t.isPreReleaseVersion!==(i===1))return!1;return!(e&&!sg(t.targetPlatform,a,e)||n&&(this.allowedExtensionsService.isAllowed({id:t.id,publisherDisplayName:s,version:t.version,prerelease:t.isPreReleaseVersion,targetPlatform:t.targetPlatform})!==!0||!await this.isEngineValid(t.id,t.version,t.engine,t.manifestAsset,o)))}async isEngineValid(t,e,n,o,i){if(!n)try{n=await this.getEngine(t,e,o)}catch(s){return this.logService.error(`Error while getting the engine for the version ${e}.`,he(s)),!1}return n?ug(n,i.version,i.date):(this.logService.error(`Missing engine for the extension ${t} with version ${e}`),!1)}async getEngine(t,e,n){if(!n){this.logService.error(`Missing engine and manifest asset for the extension ${t} with version ${e}`);return}try{this.telemetryService.publicLog2("galleryService:engineFallback",{extension:t,extensionVersion:e});let o={"Accept-Encoding":"gzip"},i=await this.getAsset(t,n,eo.Manifest,e,"extensionGalleryService.engineVersion",{headers:o}),s=await $i(i);if(!s){this.logService.error(`Manifest was not found for the extension ${t} with version ${e}`);return}return s.engines.vscode}catch(o){this.logService.error(`Error while getting the engine for the version ${e}.`,he(o));return}}async query(t,e){let n=await this.extensionGalleryManifestService.getExtensionGalleryManifest();if(!n)throw new Error("No extension gallery service configured.");let o=t.text||"",i=t.pageSize??50,s=new Kd().withPage(1,i);o?(o=o.replace(/\bcategory:("([^"]*)"|([^"]\S*))(\s+|\b|$)/g,(p,m,g)=>(s=s.withFilter("Category",g||m),"")),o=o.replace(/\btag:("([^"]*)"|([^"]\S*))(\s+|\b|$)/g,(p,m,g)=>(s=s.withFilter("Tag",g||m),"")),o=o.replace(/\bfeatured(\s+|\b|$)/g,()=>(s=s.withFilter("Featured"),"")),o=o.trim(),o&&(o=o.length<200?o:o.substring(0,200),s=s.withFilter("SearchText",o)),n.capabilities.extensionQuery.sorting?.some(p=>p.name==="NoneOrRelevance")&&(s=s.withSortBy("NoneOrRelevance"))):n.capabilities.extensionQuery.sorting?.some(p=>p.name==="InstallCount")&&(s=s.withSortBy("InstallCount")),t.sortBy&&n.capabilities.extensionQuery.sorting?.some(p=>p.name===t.sortBy)&&(s=s.withSortBy(t.sortBy)),typeof t.sortOrder=="number"&&(s=s.withSortOrder(t.sortOrder)),t.source&&(s=s.withSource(t.source));let a=async(p,m)=>{let{extensions:g,total:h}=await this.queryGalleryExtensions(p,{targetPlatform:_y,compatible:!1,includePreRelease:!!t.includePreRelease,productVersion:t.productVersion??{version:this.productService.version,date:this.productService.date}},n,m),v=[],S;for(let T=0;T<g.length;T++){let E=g[T];XL(E,(p.pageNumber-1)*p.pageSize+T,t.source),Te(E.identifier,{id:this.productService.defaultChatAgent.extensionId})?S=E:v.push(E)}return S&&v.push(S),{extensions:v,total:h}},{extensions:l,total:c}=await a(s,e),u=async(p,m)=>{if(m.isCancellationRequested)throw new et;let{extensions:g}=await a(s.withPage(p+1),m);return g};return{firstPage:l,total:c,pageSize:s.pageSize,getPage:u}}async queryGalleryExtensions(t,e,n,o){let i=t.flags;t.flags.includes("IncludeLatestVersionOnly")&&t.flags.includes("IncludeVersions")&&(t=t.withFlags(...t.flags.filter(m=>m!=="IncludeVersions"))),!t.flags.includes("IncludeLatestVersionOnly")&&!t.flags.includes("IncludeVersions")&&(t=t.withFlags(...t.flags,"IncludeLatestVersionOnly")),(e.versions?.length||e.isQueryForReleaseVersionFromPreReleaseVersion)&&(t=t.withFlags(...t.flags.filter(m=>m!=="IncludeLatestVersionOnly"),"IncludeVersions")),t=t.withFlags(...t.flags,"IncludeAssetUri","IncludeCategoryAndTags","IncludeFiles","IncludeStatistics","IncludeVersionProperties");let{galleryExtensions:s,total:a,context:l}=await this.queryRawGalleryExtensions(t,n,o);if(!t.flags.includes("IncludeLatestVersionOnly")){let m=[];for(let g of s){let h=My(g),v={id:Eo(g.publisher.publisherName,g.extensionName),uuid:g.extensionId},S=sr(e.includePreRelease)?e.includePreRelease:!!e.includePreRelease.find(E=>Te(E,v))?.includePreRelease,T=await this.getValidRawGalleryExtensionVersion(g,g.versions,{compatible:e.compatible,targetPlatform:e.targetPlatform,productVersion:e.productVersion,version:e.versions?.find(E=>Te(E,v))?.version??(S?2:0)},h);T&&m.push(Hw(g,T,h,n,this.productService,l))}return{extensions:m,total:a}}let u=[],p=new Map;for(let m=0;m<s.length;m++){let g=s[m],h={id:Eo(g.publisher.publisherName,g.extensionName),uuid:g.extensionId},v=sr(e.includePreRelease)?e.includePreRelease:!!e.includePreRelease.find(k=>Te(k,h))?.includePreRelease,S=My(g);if(e.compatible&&(Hd(S,e.targetPlatform)||this.allowedExtensionsService.isAllowed({id:h.id,publisherDisplayName:g.publisher.displayName})!==!0))continue;let T=await this.getValidRawGalleryExtensionVersion(g,g.versions,{compatible:e.compatible,targetPlatform:e.targetPlatform,productVersion:e.productVersion,version:e.versions?.find(k=>Te(k,h))?.version??(v?2:0)},S),E=T?Hw(g,T,S,n,this.productService,l):null;!E||E.properties.isPreReleaseVersion&&(!v||!E.hasReleaseVersion)||!E.properties.isPreReleaseVersion&&E.properties.targetPlatform!==e.targetPlatform&&E.hasPreReleaseVersion?p.set(g.extensionId,m):u.push([m,E])}if(p.size){let m=new ho,g=new Kd().withFlags(...i.filter(v=>v!=="IncludeLatestVersionOnly"),"IncludeVersions").withPage(1,p.size).withFilter("ExtensionId",...p.keys()),{extensions:h}=await this.queryGalleryExtensions(g,e,n,o);this.telemetryService.publicLog2("galleryService:additionalQuery",{duration:m.elapsed(),count:p.size});for(let v of h){let S=p.get(v.identifier.uuid);u.push([S,v])}}return{extensions:u.sort((m,g)=>m[0]-g[0]).map(([,m])=>m),total:a}}async getValidRawGalleryExtensionVersion(t,e,n,o){let i={id:Eo(t.publisher.publisherName,t.extensionName),uuid:t.extensionId},s=YL(e,n.targetPlatform);if(n.compatible&&Hd(o,n.targetPlatform))return null;let a=Z(n.version)?n.version:void 0;for(let l=0;l<s.length;l++){let c=s[l];if(n.compatible&&await this.setEngineIfNotExists(i.id,c),await this.isValidVersion({id:i.id,version:c.version,isPreReleaseVersion:Qd(c),targetPlatform:Xl(c),engine:Oy(c),manifestAsset:Ii(c,eo.Manifest),enabledApiProposals:Ww(c)},n,t.publisher.displayName,o))return c;if(a&&c.version===a)return null}return a||n.compatible?null:t.versions[0]}async setEngineIfNotExists(t,e){if(!Oy(e))try{let n=await this.getEngine(t,e.version,Ii(e,eo.Manifest));n&&M6(e,n)}catch(n){this.logService.error(`Error while getting the engine for the version ${e.version}.`,he(n))}}async queryRawGalleryExtensions(t,e,n){let o=Jl(e,"ExtensionQueryService");if(!o)throw new Error("No extension gallery query service configured.");t=t.withFlags(...t.flags,"ExcludeNonValidated").withFilter("Target","Microsoft.VisualStudio.Code");let i=e.capabilities.extensionQuery.flags?.find(g=>g.name==="Unpublished");i&&(t=t.withFilter("ExcludeWithFlags",String(i.value)));let s=JSON.stringify({filters:[{criteria:t.criteria.reduce((g,h)=>{let v=e.capabilities.extensionQuery.filtering?.find(S=>S.name===h.filterType);return v&&g.push({filterType:v.value,value:h.value}),g},[]),pageNumber:t.pageNumber,pageSize:t.pageSize,sortBy:e.capabilities.extensionQuery.sorting?.find(g=>g.name===t.sortBy)?.value,sortOrder:t.sortOrder}],assetTypes:t.assetTypes,flags:t.flags.reduce((g,h)=>{let v=e.capabilities.extensionQuery.flags?.find(S=>S.name===h);return v&&(g|=v.value),g},0)}),l={...await this.commonHeadersPromise,"Content-Type":"application/json",Accept:"application/json;api-version=3.0-preview.1","Accept-Encoding":"gzip","Content-Length":String(s.length)},c=new ho,u,p,m=0;try{if(u=await this.requestService.request({type:"POST",url:o,data:s,headers:l,callSite:"extensionGalleryService.queryRawGalleryExtensions"},n),u.res.statusCode&&u.res.statusCode>=400&&u.res.statusCode<500)return{galleryExtensions:[],total:m};let g=await $i(u);if(g){let h=g.results[0],v=h.extensions,S=h.resultMetadata&&h.resultMetadata.filter(T=>T.metadataType==="ResultCount")[0];return m=S&&S.metadataItems.filter(T=>T.name==="TotalCount")[0].count||0,{galleryExtensions:v,total:m,context:u.res.headers.activityid?{[Ly]:u.res.headers.activityid}:{}}}return{galleryExtensions:[],total:m}}catch(g){if(mn(g))throw p="Cancelled",g;{let h=he(g);throw p=Dw(g)?"Offline":h.startsWith("XHR timeout")?"Timeout":"Failed",new kr(h,p)}}finally{this.telemetryService.publicLog2("galleryService:query",{filterTypes:t.criteria.map(g=>g.filterType),flags:t.flags,sortBy:t.sortBy,sortOrder:String(t.sortOrder),pageNumber:String(t.pageNumber),source:t.source,searchTextLength:t.searchText.length,requestBodySize:String(s.length),duration:c.elapsed(),success:!!u&&Md(u),responseBodySize:u?.res.headers["Content-Length"],statusCode:u?String(u.res.statusCode):void 0,errorCode:p,count:String(m),server:this.getHeaderValue(u?.res.headers,Nw),activityId:this.getHeaderValue(u?.res.headers,Uw),endToEndId:this.getHeaderValue(u?.res.headers,Fw)})}}getHeaderValue(t,e){let n=t?.[e.toLowerCase()],o=Array.isArray(n)?n[0]:n;return o?new Xr(o):void 0}async getLatestRawGalleryExtensionWithFallback(t,e,n){let[o,i]=t.id.split("."),s;try{let a=b.parse(Cr(e.uri,{publisher:o,name:i}));return await this.getLatestRawGalleryExtension(t.id,a,n)}catch(a){if(a instanceof kr)switch(s=a.code,a.code){case"Offline":case"Cancelled":case"Timeout":case"ClientError":throw a}else s="Unknown";if(!e.fallback)throw a}this.logService.error(`Error while getting the latest version for the extension ${t.id} from ${e.uri}. Trying the fallback ${e.fallback}`,s);try{let a=b.parse(Cr(e.fallback,{publisher:o,name:i}));return await this.getLatestRawGalleryExtension(t.id,a,n)}catch(a){throw s=a instanceof kr?a.code:"Unknown",a}finally{this.telemetryService.publicLog2("galleryService:fallbacktounpkg",{extension:t.id,errorCode:s})}}async getLatestRawGalleryExtension(t,e,n){let o,i,s=new ho;try{let l={...await this.commonHeadersPromise,"Content-Type":"application/json",Accept:"application/json;api-version=7.2-preview","Accept-Encoding":"gzip"};if(o=await this.requestService.request({type:"GET",url:e.toString(!0),headers:l,timeout:this.getRequestTimeout(),callSite:"extensionGalleryService.getLatestRawGalleryExtension"},n),o.res.statusCode===404)return i="NotFound",null;if(o.res.statusCode&&o.res.statusCode!==200)throw new Error("Unexpected HTTP response: "+o.res.statusCode);let c=await $i(o);return c||(i="NoData"),c}catch(a){let l;throw mn(a)?l="Cancelled":Dw(a)?l="Offline":he(a).startsWith("XHR timeout")?l="Timeout":o&&LA(o)?l="ClientError":o&&OA(o)?l="ServerError":l="Failed",i=l,new kr(a,l)}finally{this.telemetryService.publicLog2("galleryService:getLatest",{extension:t,host:e.authority,duration:s.elapsed(),errorCode:i,statusCode:o?.res.statusCode&&o?.res.statusCode!==200?`${o.res.statusCode}`:void 0,server:this.getHeaderValue(o?.res.headers,Nw),activityId:this.getHeaderValue(o?.res.headers,Uw),endToEndId:this.getHeaderValue(o?.res.headers,Fw)})}}async reportStatistic(t,e,n,o){if(pn){this.logService.info("ExtensionGalleryService#reportStatistic: Skipped in web");return}let i=await this.extensionGalleryManifestService.getExtensionGalleryManifest();if(!i)return;let s=Jl(i,"ExtensionStatisticsUriTemplate");if(!s)return;let a=Cr(s,{publisher:t,name:e,version:n,statTypeName:o}),u={...await this.commonHeadersPromise,Accept:"*/*;api-version=4.0-preview.1"};try{await this.requestService.request({type:"POST",url:a,headers:u,callSite:"extensionGalleryService.reportStatistic"},we.None)}catch{}}async download(t,e,n){this.logService.trace("ExtensionGalleryService#download",t.identifier.id);let o=dg(t),i=new Date().getTime(),s=n===2?"install":n===3?"update":"",a=s?{uri:`${t.assets.download.uri}${b.parse(t.assets.download.uri).query?"&":"?"}${s}=true`,fallbackUri:`${t.assets.download.fallbackUri}${b.parse(t.assets.download.fallbackUri).query?"&":"?"}${s}=true`}:t.assets.download,l=t.queryContext?.[Ly],c=l&&typeof l=="string"?{[Ly]:l}:void 0,u=await this.getAsset(t.identifier.id,a,eo.VSIX,t.version,"extensionGalleryService.download",c?{headers:c}:void 0);try{await this.fileService.writeFile(e,u.stream)}catch(p){try{await this.fileService.del(e)}catch(m){this.logService.warn(`Error while deleting the file ${e.toString()}`,he(m))}throw new kr(he(p),"DownloadFailedWriting")}this.telemetryService.publicLog("galleryService:downloadVSIX",{...o,duration:new Date().getTime()-i})}async downloadSignatureArchive(t,e){if(!t.assets.signature)throw new Error("No signature asset found");this.logService.trace("ExtensionGalleryService#downloadSignatureArchive",t.identifier.id);let n=await this.getAsset(t.identifier.id,t.assets.signature,eo.Signature,t.version,"extensionGalleryService.signature");try{await this.fileService.writeFile(e,n.stream)}catch(o){try{await this.fileService.del(e)}catch(i){this.logService.warn(`Error while deleting the file ${e.toString()}`,he(i))}throw new kr(he(o),"DownloadFailedWriting")}}async getReadme(t,e){if(t.assets.readme){let n=await this.getAsset(t.identifier.id,t.assets.readme,eo.Details,t.version,"extensionGalleryService.readme",{},e);return await Bi(n)||""}return""}async getManifest(t,e){if(t.assets.manifest){let n=await this.getAsset(t.identifier.id,t.assets.manifest,eo.Manifest,t.version,"extensionGalleryService.manifest",{},e),o=await Bi(n);return o?JSON.parse(o):null}return null}async getCoreTranslation(t,e){let n=t.assets.coreTranslations.filter(o=>o[0]===e.toUpperCase())[0];if(n){let o=await this.getAsset(t.identifier.id,n[1],n[0],t.version,"extensionGalleryService.coreTranslation"),i=await Bi(o);return i?JSON.parse(i):null}return null}async getChangelog(t,e){if(t.assets.changelog){let n=await this.getAsset(t.identifier.id,t.assets.changelog,eo.Changelog,t.version,"extensionGalleryService.changelog",{},e);return await Bi(n)||""}return""}async getAllVersions(t){return this.getVersions(t)}async getAllCompatibleVersions(t,e,n){return this.getVersions(t,{version:e?2:0,targetPlatform:n})}async getVersions(t,e){let n=await this.extensionGalleryManifestService.getExtensionGalleryManifest();if(!n)throw new Error("No extension gallery service configured.");let o=new Kd().withFlags("IncludeVersions","IncludeCategoryAndTags","IncludeFiles","IncludeVersionProperties").withPage(1,1);t.uuid?o=o.withFilter("ExtensionId",t.uuid):o=o.withFilter("ExtensionName",t.id);let{galleryExtensions:i}=await this.queryRawGalleryExtensions(o,n,we.None);if(!i.length)return[];let s=My(i[0]);if(e&&Hd(s,e.targetPlatform))return[];let a=[],l={version:this.productService.version,date:this.productService.date};await Promise.all(i[0].versions.map(async p=>{try{await this.isValidVersion({id:t.id,version:p.version,isPreReleaseVersion:Qd(p),targetPlatform:Xl(p),engine:Oy(p),manifestAsset:Ii(p,eo.Manifest),enabledApiProposals:Ww(p)},{compatible:!!e,productVersion:l,targetPlatform:e?.targetPlatform,version:e?.version??p.version},i[0].publisher.displayName,s)&&a.push(p)}catch{}}));let c=[],u=new Map;for(let p of YL(a,e?.targetPlatform??_y)){let m=u.get(p.version),g=m!==void 0?c[m]:void 0,h=Xl(p);g?g.targetPlatforms.push(h):(u.set(p.version,c.length),c.push({version:p.version,date:p.lastUpdated,isPreReleaseVersion:Qd(p),targetPlatforms:[h]}))}return c}async getAsset(t,e,n,o,i,s={},a=we.None){let l=await this.commonHeadersPromise,c={type:"GET"},u={...l,...s.headers||{}};s={...s,...c,headers:u};let p=e.uri,m=e.fallbackUri,g={...s,url:p,timeout:this.getRequestTimeout(),callSite:i},h;try{if(h=await this.requestService.request(g,a),h.res.statusCode===200)return h;let v=await Bi(h);throw new Error(`Expected 200, got back ${h.res.statusCode} instead.

${v}`)}catch(v){if(mn(v))throw v;let S=he(v);this.telemetryService.publicLog2("galleryService:cdnFallback",{extension:t,assetType:n,message:S,extensionVersion:o,server:this.getHeaderValue(h?.res.headers,Nw),activityId:this.getHeaderValue(h?.res.headers,Uw),endToEndId:this.getHeaderValue(h?.res.headers,Fw)});let T={...s,url:m,timeout:this.getRequestTimeout(),callSite:`${i}.fallback`};return this.requestService.request(T,a)}}async getExtensionsControlManifest(){if(!await this.extensionGalleryManifestService.getExtensionGalleryManifest())throw new Error("No extension gallery service configured.");if(!this.extensionsControlUrl)return{malicious:[],deprecated:{},search:[],autoUpdate:{}};let e=await this.requestService.request({type:"GET",url:this.extensionsControlUrl,timeout:this.getRequestTimeout(),callSite:"extensionGalleryService.getExtensionsControlManifest"},we.None);if(e.res.statusCode!==200)throw new Error("Could not get extensions report.");let n=await $i(e),o=[],i={},s=[],a=n?.autoUpdate??{};if(n){for(let l of n.malicious){if(!Z(l))continue;let c=ig.test(l)?{id:l}:l;o.push({extensionOrPublisher:c,learnMoreLink:n.learnMoreLinks?.[l]})}if(n.migrateToPreRelease)for(let[l,c]of Object.entries(n.migrateToPreRelease))(!c.engine||ug(c.engine,this.productService.version,this.productService.date))&&(i[l.toLowerCase()]={disallowInstall:!0,extension:{id:c.id,displayName:c.displayName,autoMigrate:{storage:!!c.migrateStorage},preRelease:!0}});if(n.deprecated)for(let[l,c]of Object.entries(n.deprecated))c&&(i[l.toLowerCase()]=sr(c)?{}:c);if(n.search)for(let l of n.search)s.push(l)}return i[this.productService.defaultChatAgent.extensionId.toLowerCase()]={disallowInstall:!0,extension:{id:this.productService.defaultChatAgent.chatExtensionId,displayName:"GitHub Copilot Chat",autoMigrate:{storage:!1,donotDisable:!0},preRelease:this.productService.quality!=="stable"}},{malicious:o,deprecated:i,search:s,autoUpdate:a}}getRequestTimeout(){let t=this.configurationService.getValue(xL);return fo(t)&&t>=0?t:6e4}};jd=C([I(1,Yn),I(2,K),I(3,Pt),I(4,Ct),I(5,Oe),I(6,Be),I(7,mt),I(8,Dr),I(9,Gi)],jd);Ay=class extends jd{constructor(t,e,n,o,i,s,a,l,c,u){super(t,e,n,o,i,s,a,l,c,u)}};Ay=C([I(0,ni),I(1,Yn),I(2,K),I(3,Pt),I(4,Ct),I(5,Oe),I(6,Be),I(7,mt),I(8,Dr),I(9,Gi)],Ay);Fa=class extends jd{constructor(t,e,n,o,i,s,a,l,c){super(void 0,t,e,n,o,i,s,a,l,c)}};Fa=C([I(0,Yn),I(1,K),I(2,Pt),I(3,Ct),I(4,Oe),I(5,Be),I(6,mt),I(7,Dr),I(8,Gi)],Fa)});import{createWriteStream as tO,promises as qw}from"fs";function B6(r){let t=r.externalFileAttributes>>16||33188;return[448,56,7].map(e=>t&e).reduce((e,n)=>e+n,t&61440)}function Gw(r){if(r instanceof Zl)return r;let t;return W6.test(r.message)&&(t="CorruptZip"),new Zl(t,r)}function $6(r,t,e,n,o,i){let s=At(t),a=G(n,s);if(!a.startsWith(n))return Promise.reject(new Error(d(153,null,t)));let l=G(n,t),c,u=i.onCancellationRequested(()=>{c?.destroy()});return Promise.resolve(qw.mkdir(a,{recursive:!0})).then(()=>new Promise((p,m)=>{if(i.isCancellationRequested){p();return}try{c=tO(l,{mode:e}),c.once("close",()=>p()),c.once("error",m),r.once("error",m),r.pipe(c)}catch(g){m(g)}})).finally(()=>u.dispose())}function q6(r,t,e,n){let o=jo(()=>Promise.resolve()),i=0,s=n.onCancellationRequested(()=>{o.cancel(),r.close()});return new Promise((a,l)=>{let c=new xv,u=p=>{p.isCancellationRequested||(i++,r.readEntry())};r.once("error",l),r.once("close",()=>o.then(()=>{n.isCancellationRequested||r.entryCount===i?a():l(new Zl("Incomplete",new Error(d(152,null,i,r.entryCount))))},l)),r.readEntry(),r.on("entry",p=>{if(n.isCancellationRequested)return;if(!e.sourcePathRegex.test(p.fileName)){u(n);return}let m=p.fileName.replace(e.sourcePathRegex,"");if(/\/$/.test(m)){let v=G(t,m);o=jo(S=>qw.mkdir(v,{recursive:!0}).then(()=>u(S)).then(void 0,l));return}let g=oO(r,p),h=B6(p);o=jo(v=>c.queue(()=>g.then(S=>$6(S,m,h,t,e,v).then(()=>u(v)))).then(null,l))})}).finally(()=>s.dispose())}async function nO(r,t=!1){let{open:e}=await import("yauzl");return new Promise((n,o)=>{e(r,t?{lazyEntries:!0}:void 0,(i,s)=>{i?o(Gw(i)):n(mm(s))})})}function oO(r,t){return new Promise((e,n)=>{r.openReadStream(t,(o,i)=>{o?n(Gw(o)):e(mm(i))})})}async function rO(r,t){let{ZipFile:e}=await import("yazl"),n=new e,o=tO(r),i=new Promise((s,a)=>{n.outputStream.once("error",a),o.once("error",a),o.once("finish",()=>s(r))});n.outputStream.pipe(o);for(let s of t)if(s.contents!==void 0)n.addBuffer(typeof s.contents=="string"?Buffer.from(s.contents,"utf8"):s.contents,s.path);else if(s.localPath)if(s.localPathSize===void 0&&!s.skipSourceErrors)n.addFile(s.localPath,s.path);else{let a;try{a=await qw.open(s.localPath,"r")}catch(c){if(s.skipSourceErrors)continue;throw c}let l=!1;try{let c;try{let u=(await a.stat()).size;c=s.localPathSize===void 0?u:Math.min(s.localPathSize,u)}catch(u){if(s.skipSourceErrors)continue;throw u}if(c===0)n.addBuffer(Buffer.alloc(0),s.path);else{let u=a.createReadStream({start:0,end:c-1});u.once("error",p=>n.outputStream.emit("error",p)),n.addReadStream(u,s.path,{size:c}),l=!0}}finally{l||await a.close()}}return n.end(),i}function iO(r,t,e={},n){let o=new RegExp(e.sourcePath?`^${e.sourcePath}`:""),i=nO(r,!0);return e.overwrite&&(i=i.then(s=>ke.rm(t).then(()=>s))),i.then(s=>q6(s,t,{sourcePathRegex:o},n))}function z6(r,t){return nO(r).then(e=>new Promise((n,o)=>{e.once("error",i=>o(Gw(i))),e.on("entry",i=>{i.fileName===t&&oO(e,i).then(s=>n(s),s=>o(s))}),e.once("close",()=>o(new Error(d(154,null,t))))}))}function Uy(r,t){return z6(r,t).then(e=>new Promise((n,o)=>{let i=[];e.once("error",o),e.on("data",s=>i.push(s)),e.on("end",()=>n(Buffer.concat(i)))}))}var zw,W6,Zl,Ny=y(()=>{Me();Ue();Ee();Ao();le();zw="end of central directory record signature not found",W6=new RegExp(zw),Zl=class extends Error{constructor(t,e){let n=e.message;t==="CorruptZip"&&(n=`Corrupt ZIP: ${n}`),super(n),this.type=t,this.cause=e}}});var Jd,Fy=y(()=>{X();Jd=D("downloadService")});var Kle,jle,Qle,Jle,Yle,sO=y(()=>{Kle=new Uint32Array(10),jle=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),Qle=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),Jle=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),Yle=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108])});function lO(...r){return function(t,e){for(let n=0,o=r.length;n<o;n++){let i=r[n](t,e);if(i)return i}return null}}function dO(r,t,e){if(!e||e.length<t.length)return null;let n;return r?n=Ia(e,t):n=e.indexOf(t)===0,n?t.length>0?[{start:0,end:t.length}]:[]:null}function G6(r,t){if(r.length>t.length)return null;let e=t.toLowerCase().indexOf(r.toLowerCase());return e===-1?null:[{start:e,end:e+r.length}]}function K6(r,t){return r.length>t.length?null:Kw(r.toLowerCase(),t.toLowerCase(),0,0)}function Kw(r,t,e,n){if(e===r.length)return[];if(n===t.length)return null;if(r[e]===t[n]){let o=null;return(o=Kw(r,t,e+1,n+1))?pO({start:n,end:n+1},o):null}return Kw(r,t,e,n+1)}function Qw(r){return 97<=r&&r<=122}function Hy(r){return 65<=r&&r<=90}function Jw(r){return 48<=r&&r<=57}function j6(r){return r===32||r===9||r===10||r===13}function uO(r){return Qw(r)||Hy(r)||Jw(r)}function pO(r,t){return t.length===0?t=[r]:r.end===t[0].start?t[0].start=r.start:t.unshift(r),t}function mO(r,t){for(let e=t;e<r.length;e++){let n=r.charCodeAt(e);if(Hy(n)||Jw(n)||e>0&&!uO(r.charCodeAt(e-1)))return e}return r.length}function jw(r,t,e,n){if(e===r.length)return[];if(n===t.length)return null;if(r[e]!==t[n].toLowerCase())return null;{let o=null,i=n+1;for(o=jw(r,t,e+1,n+1);!o&&(i=mO(t,i))<t.length;)o=jw(r,t,e+1,i),i++;return o===null?null:pO({start:n,end:n+1},o)}}function J6(r){let t=0,e=0,n=0,o=0,i=0;for(let u=0;u<r.length;u++)i=r.charCodeAt(u),Hy(i)&&t++,Qw(i)&&e++,uO(i)&&n++,Jw(i)&&o++;let s=t/r.length,a=e/r.length,l=n/r.length,c=o/r.length;return{upperPercent:s,lowerPercent:a,alphaPercent:l,numericPercent:c}}function Y6(r){let{upperPercent:t,lowerPercent:e}=r;return e===0&&t>.6}function X6(r){let{upperPercent:t,lowerPercent:e,alphaPercent:n,numericPercent:o}=r;return e>.2&&t<.8&&n>.6&&o<.2}function Z6(r){let t=0,e=0,n=0,o=0;for(let i=0;i<r.length;i++)n=r.charCodeAt(i),Hy(n)&&t++,Qw(n)&&e++,j6(n)&&o++;return(t===0||e===0)&&o===0?r.length<=30:t<=5}function gO(r,t){if(!t||(t=t.trim(),t.length===0)||!Z6(r))return null;t.length>60&&(t=t.substring(0,60));let e=J6(t);if(!X6(e)){if(!Y6(e))return null;t=t.toLowerCase()}let n=null,o=0;for(r=r.toLowerCase();o<t.length&&(n=jw(r,t,0,o))===null;)o=mO(t,o+1);return n}function Yw(){let r=[],t=[];for(let e=0;e<=Vy;e++)t[e]=0;for(let e=0;e<=Vy;e++)r.push(t.slice(0));return r}function fO(r){let t=[];for(let e=0;e<=r;e++)t[e]=0;return t}var sce,cO,Q6,ace,lce,cce,Vy,dce,uce,pce,mce,gce,e$,aO,hO=y(()=>{Kr();_n();sO();wv();Ot();sce=dO.bind(void 0,!1),cO=dO.bind(void 0,!0);Q6=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach(r=>Q6.add(r.charCodeAt(0)));ace=lO(cO,gO,G6),lce=lO(cO,gO,K6),cce=new Li(1e4),Vy=128;dce=fO(2*Vy),uce=fO(2*Vy),pce=Yw(),mce=Yw(),gce=Yw();(e=>{e.Default=[-100,0];function t(n){return!n||n.length===2&&n[0]===-100&&n[1]===0}e.isDefault=t})(e$||={});aO=class{constructor(t,e){this.firstMatchCanBeWeak=t;this.boostFullMatch=e}static{this.default={boostFullMatch:!0,firstMatchCanBeWeak:!1}}}});function f(r,t){if(Z(t)){let e=Xw[t];if(e===void 0)throw new Error(`${r} references an unknown codicon: ${t}`);t=e}return Xw[r]=t,{id:r}}function vO(){return Xw}var Xw,Wy=y(()=>{Ee();Xw=Object.create(null)});var yO,IO=y(()=>{Wy();yO={add:f("add",6e4),plus:f("plus",6e4),gistNew:f("gist-new",6e4),repoCreate:f("repo-create",6e4),lightbulb:f("lightbulb",60001),lightBulb:f("light-bulb",60001),repo:f("repo",60002),repoDelete:f("repo-delete",60002),gistFork:f("gist-fork",60003),repoForked:f("repo-forked",60003),gitPullRequest:f("git-pull-request",60004),gitPullRequestAbandoned:f("git-pull-request-abandoned",60004),recordKeys:f("record-keys",60005),keyboard:f("keyboard",60005),tag:f("tag",60006),gitPullRequestLabel:f("git-pull-request-label",60006),tagAdd:f("tag-add",60006),tagRemove:f("tag-remove",60006),person:f("person",60007),personFollow:f("person-follow",60007),personOutline:f("person-outline",60007),personFilled:f("person-filled",60007),sourceControl:f("source-control",60008),mirror:f("mirror",60009),mirrorPublic:f("mirror-public",60009),star:f("star",60010),starAdd:f("star-add",60010),starDelete:f("star-delete",60010),starEmpty:f("star-empty",60010),comment:f("comment",60011),commentAdd:f("comment-add",60011),alert:f("alert",60012),warning:f("warning",60012),search:f("search",60013),searchSave:f("search-save",60013),logOut:f("log-out",60014),signOut:f("sign-out",60014),logIn:f("log-in",60015),signIn:f("sign-in",60015),eye:f("eye",60016),eyeUnwatch:f("eye-unwatch",60016),eyeWatch:f("eye-watch",60016),circleFilled:f("circle-filled",60017),primitiveDot:f("primitive-dot",60017),closeDirty:f("close-dirty",60017),debugBreakpoint:f("debug-breakpoint",60017),debugBreakpointDisabled:f("debug-breakpoint-disabled",60017),debugHint:f("debug-hint",60017),terminalDecorationSuccess:f("terminal-decoration-success",60017),primitiveSquare:f("primitive-square",60018),edit:f("edit",60019),pencil:f("pencil",60019),info:f("info",60020),issueOpened:f("issue-opened",60020),gistPrivate:f("gist-private",60021),gitForkPrivate:f("git-fork-private",60021),lock:f("lock",60021),mirrorPrivate:f("mirror-private",60021),close:f("close",60022),removeClose:f("remove-close",60022),x:f("x",60022),repoSync:f("repo-sync",60023),sync:f("sync",60023),clone:f("clone",60024),desktopDownload:f("desktop-download",60024),beaker:f("beaker",60025),microscope:f("microscope",60025),vm:f("vm",60026),deviceDesktop:f("device-desktop",60026),file:f("file",60027),more:f("more",60028),ellipsis:f("ellipsis",60028),kebabHorizontal:f("kebab-horizontal",60028),mailReply:f("mail-reply",60029),reply:f("reply",60029),organization:f("organization",60030),organizationFilled:f("organization-filled",60030),organizationOutline:f("organization-outline",60030),newFile:f("new-file",60031),fileAdd:f("file-add",60031),newFolder:f("new-folder",60032),fileDirectoryCreate:f("file-directory-create",60032),trash:f("trash",60033),trashcan:f("trashcan",60033),history:f("history",60034),clock:f("clock",60034),folder:f("folder",60035),fileDirectory:f("file-directory",60035),symbolFolder:f("symbol-folder",60035),logoGithub:f("logo-github",60036),markGithub:f("mark-github",60036),github:f("github",60036),terminal:f("terminal",60037),console:f("console",60037),repl:f("repl",60037),zap:f("zap",60038),symbolEvent:f("symbol-event",60038),error:f("error",60039),stop:f("stop",60039),variable:f("variable",60040),symbolVariable:f("symbol-variable",60040),array:f("array",60042),symbolArray:f("symbol-array",60042),symbolModule:f("symbol-module",60043),symbolPackage:f("symbol-package",60043),symbolNamespace:f("symbol-namespace",60043),symbolObject:f("symbol-object",60043),symbolMethod:f("symbol-method",60044),symbolFunction:f("symbol-function",60044),symbolConstructor:f("symbol-constructor",60044),symbolBoolean:f("symbol-boolean",60047),symbolNull:f("symbol-null",60047),symbolNumeric:f("symbol-numeric",60048),symbolNumber:f("symbol-number",60048),symbolStructure:f("symbol-structure",60049),symbolStruct:f("symbol-struct",60049),symbolParameter:f("symbol-parameter",60050),symbolTypeParameter:f("symbol-type-parameter",60050),symbolKey:f("symbol-key",60051),symbolText:f("symbol-text",60051),symbolReference:f("symbol-reference",60052),goToFile:f("go-to-file",60052),symbolEnum:f("symbol-enum",60053),symbolValue:f("symbol-value",60053),symbolRuler:f("symbol-ruler",60054),symbolUnit:f("symbol-unit",60054),activateBreakpoints:f("activate-breakpoints",60055),archive:f("archive",60056),arrowBoth:f("arrow-both",60057),arrowDown:f("arrow-down",60058),arrowLeft:f("arrow-left",60059),arrowRight:f("arrow-right",60060),arrowSmallDown:f("arrow-small-down",60061),arrowSmallLeft:f("arrow-small-left",60062),arrowSmallRight:f("arrow-small-right",60063),arrowSmallUp:f("arrow-small-up",60064),arrowUp:f("arrow-up",60065),bell:f("bell",60066),bold:f("bold",60067),book:f("book",60068),bookmark:f("bookmark",60069),debugBreakpointConditionalUnverified:f("debug-breakpoint-conditional-unverified",60070),debugBreakpointConditional:f("debug-breakpoint-conditional",60071),debugBreakpointConditionalDisabled:f("debug-breakpoint-conditional-disabled",60071),debugBreakpointDataUnverified:f("debug-breakpoint-data-unverified",60072),debugBreakpointData:f("debug-breakpoint-data",60073),debugBreakpointDataDisabled:f("debug-breakpoint-data-disabled",60073),debugBreakpointLogUnverified:f("debug-breakpoint-log-unverified",60074),debugBreakpointLog:f("debug-breakpoint-log",60075),debugBreakpointLogDisabled:f("debug-breakpoint-log-disabled",60075),briefcase:f("briefcase",60076),broadcast:f("broadcast",60077),browser:f("browser",60078),bug:f("bug",60079),calendar:f("calendar",60080),caseSensitive:f("case-sensitive",60081),check:f("check",60082),checklist:f("checklist",60083),chevronDown:f("chevron-down",60084),chevronLeft:f("chevron-left",60085),chevronRight:f("chevron-right",60086),chevronUp:f("chevron-up",60087),chromeClose:f("chrome-close",60088),chromeMaximize:f("chrome-maximize",60089),chromeMinimize:f("chrome-minimize",60090),chromeRestore:f("chrome-restore",60091),circleOutline:f("circle-outline",60092),circle:f("circle",60092),debugBreakpointUnverified:f("debug-breakpoint-unverified",60092),terminalDecorationIncomplete:f("terminal-decoration-incomplete",60092),circleSlash:f("circle-slash",60093),circuitBoard:f("circuit-board",60094),clearAll:f("clear-all",60095),clippy:f("clippy",60096),closeAll:f("close-all",60097),cloudDownload:f("cloud-download",60098),cloudUpload:f("cloud-upload",60099),code:f("code",60100),collapseAll:f("collapse-all",60101),colorMode:f("color-mode",60102),commentDiscussion:f("comment-discussion",60103),creditCard:f("credit-card",60105),dash:f("dash",60108),dashboard:f("dashboard",60109),database:f("database",60110),debugContinue:f("debug-continue",60111),debugDisconnect:f("debug-disconnect",60112),debugPause:f("debug-pause",60113),debugRestart:f("debug-restart",60114),debugStart:f("debug-start",60115),debugStepInto:f("debug-step-into",60116),debugStepOut:f("debug-step-out",60117),debugStepOver:f("debug-step-over",60118),debugStop:f("debug-stop",60119),debug:f("debug",60120),deviceCameraVideo:f("device-camera-video",60121),deviceCamera:f("device-camera",60122),deviceMobile:f("device-mobile",60123),diffAdded:f("diff-added",60124),diffIgnored:f("diff-ignored",60125),diffModified:f("diff-modified",60126),diffRemoved:f("diff-removed",60127),diffRenamed:f("diff-renamed",60128),diff:f("diff",60129),diffSidebyside:f("diff-sidebyside",60129),discard:f("discard",60130),editorLayout:f("editor-layout",60131),emptyWindow:f("empty-window",60132),exclude:f("exclude",60133),extensions:f("extensions",60134),eyeClosed:f("eye-closed",60135),fileBinary:f("file-binary",60136),fileCode:f("file-code",60137),fileMedia:f("file-media",60138),filePdf:f("file-pdf",60139),fileSubmodule:f("file-submodule",60140),fileSymlinkDirectory:f("file-symlink-directory",60141),fileSymlinkFile:f("file-symlink-file",60142),fileZip:f("file-zip",60143),files:f("files",60144),filter:f("filter",60145),flame:f("flame",60146),foldDown:f("fold-down",60147),foldUp:f("fold-up",60148),fold:f("fold",60149),folderActive:f("folder-active",60150),folderOpened:f("folder-opened",60151),gear:f("gear",60152),gift:f("gift",60153),gistSecret:f("gist-secret",60154),gist:f("gist",60155),gitCommit:f("git-commit",60156),gitCompare:f("git-compare",60157),compareChanges:f("compare-changes",60157),gitMerge:f("git-merge",60158),githubAction:f("github-action",60159),githubAlt:f("github-alt",60160),globe:f("globe",60161),grabber:f("grabber",60162),graph:f("graph",60163),gripper:f("gripper",60164),heart:f("heart",60165),home:f("home",60166),horizontalRule:f("horizontal-rule",60167),hubot:f("hubot",60168),inbox:f("inbox",60169),issueReopened:f("issue-reopened",60171),issues:f("issues",60172),italic:f("italic",60173),jersey:f("jersey",60174),json:f("json",60175),bracket:f("bracket",60175),kebabVertical:f("kebab-vertical",60176),key:f("key",60177),law:f("law",60178),lightbulbAutofix:f("lightbulb-autofix",60179),linkExternal:f("link-external",60180),link:f("link",60181),listOrdered:f("list-ordered",60182),listUnordered:f("list-unordered",60183),liveShare:f("live-share",60184),loading:f("loading",60185),location:f("location",60186),mailRead:f("mail-read",60187),mail:f("mail",60188),markdown:f("markdown",60189),megaphone:f("megaphone",60190),mention:f("mention",60191),milestone:f("milestone",60192),gitPullRequestMilestone:f("git-pull-request-milestone",60192),mortarBoard:f("mortar-board",60193),move:f("move",60194),multipleWindows:f("multiple-windows",60195),mute:f("mute",60196),noNewline:f("no-newline",60197),note:f("note",60198),octoface:f("octoface",60199),openPreview:f("open-preview",60200),package:f("package",60201),paintcan:f("paintcan",60202),pin:f("pin",60203),play:f("play",60204),run:f("run",60204),plug:f("plug",60205),preserveCase:f("preserve-case",60206),preview:f("preview",60207),project:f("project",60208),pulse:f("pulse",60209),question:f("question",60210),quote:f("quote",60211),radioTower:f("radio-tower",60212),reactions:f("reactions",60213),references:f("references",60214),refresh:f("refresh",60215),regex:f("regex",60216),remoteExplorer:f("remote-explorer",60217),remote:f("remote",60218),remove:f("remove",60219),replaceAll:f("replace-all",60220),replace:f("replace",60221),repoClone:f("repo-clone",60222),repoForcePush:f("repo-force-push",60223),repoPull:f("repo-pull",60224),repoPush:f("repo-push",60225),report:f("report",60226),requestChanges:f("request-changes",60227),rocket:f("rocket",60228),rootFolderOpened:f("root-folder-opened",60229),rootFolder:f("root-folder",60230),rss:f("rss",60231),ruby:f("ruby",60232),saveAll:f("save-all",60233),saveAs:f("save-as",60234),save:f("save",60235),screenFull:f("screen-full",60236),screenNormal:f("screen-normal",60237),searchStop:f("search-stop",60238),server:f("server",60240),settingsGear:f("settings-gear",60241),settings:f("settings",60242),shield:f("shield",60243),smiley:f("smiley",60244),sortPrecedence:f("sort-precedence",60245),splitHorizontal:f("split-horizontal",60246),splitVertical:f("split-vertical",60247),squirrel:f("squirrel",60248),starFull:f("star-full",60249),starHalf:f("star-half",60250),symbolClass:f("symbol-class",60251),symbolColor:f("symbol-color",60252),symbolConstant:f("symbol-constant",60253),symbolEnumMember:f("symbol-enum-member",60254),symbolField:f("symbol-field",60255),symbolFile:f("symbol-file",60256),symbolInterface:f("symbol-interface",60257),symbolKeyword:f("symbol-keyword",60258),symbolMisc:f("symbol-misc",60259),symbolOperator:f("symbol-operator",60260),symbolProperty:f("symbol-property",60261),wrench:f("wrench",60261),wrenchSubaction:f("wrench-subaction",60261),symbolSnippet:f("symbol-snippet",60262),tasklist:f("tasklist",60263),telescope:f("telescope",60264),textSize:f("text-size",60265),threeBars:f("three-bars",60266),thumbsdown:f("thumbsdown",60267),thumbsup:f("thumbsup",60268),tools:f("tools",60269),triangleDown:f("triangle-down",60270),triangleLeft:f("triangle-left",60271),triangleRight:f("triangle-right",60272),triangleUp:f("triangle-up",60273),twitter:f("twitter",60274),unfold:f("unfold",60275),unlock:f("unlock",60276),unmute:f("unmute",60277),unverified:f("unverified",60278),verified:f("verified",60279),versions:f("versions",60280),vmActive:f("vm-active",60281),vmOutline:f("vm-outline",60282),vmRunning:f("vm-running",60283),watch:f("watch",60284),whitespace:f("whitespace",60285),wholeWord:f("whole-word",60286),window:f("window",60287),wordWrap:f("word-wrap",60288),zoomIn:f("zoom-in",60289),zoomOut:f("zoom-out",60290),listFilter:f("list-filter",60291),listFlat:f("list-flat",60292),listSelection:f("list-selection",60293),selection:f("selection",60293),listTree:f("list-tree",60294),debugBreakpointFunctionUnverified:f("debug-breakpoint-function-unverified",60295),debugBreakpointFunction:f("debug-breakpoint-function",60296),debugBreakpointFunctionDisabled:f("debug-breakpoint-function-disabled",60296),debugStackframeActive:f("debug-stackframe-active",60297),circleSmallFilled:f("circle-small-filled",60298),debugStackframeDot:f("debug-stackframe-dot",60298),terminalDecorationMark:f("terminal-decoration-mark",60298),debugStackframe:f("debug-stackframe",60299),debugStackframeFocused:f("debug-stackframe-focused",60299),debugBreakpointUnsupported:f("debug-breakpoint-unsupported",60300),symbolString:f("symbol-string",60301),debugReverseContinue:f("debug-reverse-continue",60302),debugStepBack:f("debug-step-back",60303),debugRestartFrame:f("debug-restart-frame",60304),debugAlt:f("debug-alt",60305),callIncoming:f("call-incoming",60306),callOutgoing:f("call-outgoing",60307),menu:f("menu",60308),expandAll:f("expand-all",60309),feedback:f("feedback",60310),gitPullRequestReviewer:f("git-pull-request-reviewer",60310),groupByRefType:f("group-by-ref-type",60311),ungroupByRefType:f("ungroup-by-ref-type",60312),account:f("account",60313),gitPullRequestAssignee:f("git-pull-request-assignee",60313),bellDot:f("bell-dot",60314),debugConsole:f("debug-console",60315),library:f("library",60316),output:f("output",60317),runAll:f("run-all",60318),syncIgnored:f("sync-ignored",60319),pinned:f("pinned",60320),githubInverted:f("github-inverted",60321),serverProcess:f("server-process",60322),serverEnvironment:f("server-environment",60323),pass:f("pass",60324),issueClosed:f("issue-closed",60324),stopCircle:f("stop-circle",60325),playCircle:f("play-circle",60326),record:f("record",60327),debugAltSmall:f("debug-alt-small",60328),vmConnect:f("vm-connect",60329),cloud:f("cloud",60330),merge:f("merge",60331),export:f("export",60332),graphLeft:f("graph-left",60333),magnet:f("magnet",60334),notebook:f("notebook",60335),redo:f("redo",60336),checkAll:f("check-all",60337),pinnedDirty:f("pinned-dirty",60338),passFilled:f("pass-filled",60339),circleLargeFilled:f("circle-large-filled",60340),circleLarge:f("circle-large",60341),circleLargeOutline:f("circle-large-outline",60341),combine:f("combine",60342),gather:f("gather",60342),table:f("table",60343),variableGroup:f("variable-group",60344),typeHierarchy:f("type-hierarchy",60345),typeHierarchySub:f("type-hierarchy-sub",60346),typeHierarchySuper:f("type-hierarchy-super",60347),gitPullRequestCreate:f("git-pull-request-create",60348),runAbove:f("run-above",60349),runBelow:f("run-below",60350),notebookTemplate:f("notebook-template",60351),debugRerun:f("debug-rerun",60352),workspaceTrusted:f("workspace-trusted",60353),workspaceUntrusted:f("workspace-untrusted",60354),workspaceUnknown:f("workspace-unknown",60355),terminalCmd:f("terminal-cmd",60356),terminalDebian:f("terminal-debian",60357),terminalLinux:f("terminal-linux",60358),terminalPowershell:f("terminal-powershell",60359),terminalTmux:f("terminal-tmux",60360),terminalUbuntu:f("terminal-ubuntu",60361),terminalBash:f("terminal-bash",60362),arrowSwap:f("arrow-swap",60363),copy:f("copy",60364),personAdd:f("person-add",60365),filterFilled:f("filter-filled",60366),wand:f("wand",60367),debugLineByLine:f("debug-line-by-line",60368),inspect:f("inspect",60369),layers:f("layers",60370),layersDot:f("layers-dot",60371),layersActive:f("layers-active",60372),compass:f("compass",60373),compassDot:f("compass-dot",60374),compassActive:f("compass-active",60375),azure:f("azure",60376),issueDraft:f("issue-draft",60377),gitPullRequestClosed:f("git-pull-request-closed",60378),gitPullRequestDraft:f("git-pull-request-draft",60379),debugAll:f("debug-all",60380),debugCoverage:f("debug-coverage",60381),runErrors:f("run-errors",60382),folderLibrary:f("folder-library",60383),debugContinueSmall:f("debug-continue-small",60384),beakerStop:f("beaker-stop",60385),graphLine:f("graph-line",60386),graphScatter:f("graph-scatter",60387),pieChart:f("pie-chart",60388),bracketDot:f("bracket-dot",60389),bracketError:f("bracket-error",60390),lockSmall:f("lock-small",60391),azureDevops:f("azure-devops",60392),verifiedFilled:f("verified-filled",60393),newline:f("newline",60394),layout:f("layout",60395),layoutActivitybarLeft:f("layout-activitybar-left",60396),layoutActivitybarRight:f("layout-activitybar-right",60397),layoutPanelLeft:f("layout-panel-left",60398),layoutPanelCenter:f("layout-panel-center",60399),layoutPanelJustify:f("layout-panel-justify",60400),layoutPanelRight:f("layout-panel-right",60401),layoutPanel:f("layout-panel",60402),layoutSidebarLeft:f("layout-sidebar-left",60403),layoutSidebarRight:f("layout-sidebar-right",60404),layoutStatusbar:f("layout-statusbar",60405),layoutMenubar:f("layout-menubar",60406),layoutCentered:f("layout-centered",60407),target:f("target",60408),indent:f("indent",60409),recordSmall:f("record-small",60410),errorSmall:f("error-small",60411),terminalDecorationError:f("terminal-decoration-error",60411),arrowCircleDown:f("arrow-circle-down",60412),arrowCircleLeft:f("arrow-circle-left",60413),arrowCircleRight:f("arrow-circle-right",60414),arrowCircleUp:f("arrow-circle-up",60415),layoutSidebarRightOff:f("layout-sidebar-right-off",60416),layoutPanelOff:f("layout-panel-off",60417),layoutSidebarLeftOff:f("layout-sidebar-left-off",60418),blank:f("blank",60419),heartFilled:f("heart-filled",60420),map:f("map",60421),mapHorizontal:f("map-horizontal",60421),foldHorizontal:f("fold-horizontal",60421),mapFilled:f("map-filled",60422),mapHorizontalFilled:f("map-horizontal-filled",60422),foldHorizontalFilled:f("fold-horizontal-filled",60422),circleSmall:f("circle-small",60423),bellSlash:f("bell-slash",60424),bellSlashDot:f("bell-slash-dot",60425),commentUnresolved:f("comment-unresolved",60426),gitPullRequestGoToChanges:f("git-pull-request-go-to-changes",60427),gitPullRequestNewChanges:f("git-pull-request-new-changes",60428),searchFuzzy:f("search-fuzzy",60429),commentDraft:f("comment-draft",60430),send:f("send",60431),sparkle:f("sparkle",60432),insert:f("insert",60433),mic:f("mic",60434),thumbsdownFilled:f("thumbsdown-filled",60435),thumbsupFilled:f("thumbsup-filled",60436),coffee:f("coffee",60437),snake:f("snake",60438),game:f("game",60439),vr:f("vr",60440),chip:f("chip",60441),piano:f("piano",60442),music:f("music",60443),micFilled:f("mic-filled",60444),repoFetch:f("repo-fetch",60445),copilot:f("copilot",60446),lightbulbSparkle:f("lightbulb-sparkle",60447),robot:f("robot",60448),sparkleFilled:f("sparkle-filled",60449),diffSingle:f("diff-single",60450),diffMultiple:f("diff-multiple",60451),surroundWith:f("surround-with",60452),share:f("share",60453),gitStash:f("git-stash",60454),gitStashApply:f("git-stash-apply",60455),gitStashPop:f("git-stash-pop",60456),vscode:f("vscode",60457),vscodeInsiders:f("vscode-insiders",60458),codeOss:f("code-oss",60459),runCoverage:f("run-coverage",60460),runAllCoverage:f("run-all-coverage",60461),coverage:f("coverage",60462),githubProject:f("github-project",60463),mapVertical:f("map-vertical",60464),foldVertical:f("fold-vertical",60464),mapVerticalFilled:f("map-vertical-filled",60465),foldVerticalFilled:f("fold-vertical-filled",60465),goToSearch:f("go-to-search",60466),percentage:f("percentage",60467),sortPercentage:f("sort-percentage",60467),attach:f("attach",60468),goToEditingSession:f("go-to-editing-session",60469),editSession:f("edit-session",60470),codeReview:f("code-review",60471),copilotWarning:f("copilot-warning",60472),python:f("python",60473),copilotLarge:f("copilot-large",60474),copilotWarningLarge:f("copilot-warning-large",60475),keyboardTab:f("keyboard-tab",60476),copilotBlocked:f("copilot-blocked",60477),copilotNotConnected:f("copilot-not-connected",60478),flag:f("flag",60479),lightbulbEmpty:f("lightbulb-empty",60480),symbolMethodArrow:f("symbol-method-arrow",60481),copilotUnavailable:f("copilot-unavailable",60482),repoPinned:f("repo-pinned",60483),keyboardTabAbove:f("keyboard-tab-above",60484),keyboardTabBelow:f("keyboard-tab-below",60485),gitPullRequestDone:f("git-pull-request-done",60486),mcp:f("mcp",60487),extensionsLarge:f("extensions-large",60488),layoutPanelDock:f("layout-panel-dock",60489),layoutSidebarLeftDock:f("layout-sidebar-left-dock",60490),layoutSidebarRightDock:f("layout-sidebar-right-dock",60491),copilotInProgress:f("copilot-in-progress",60492),copilotError:f("copilot-error",60493),copilotSuccess:f("copilot-success",60494),chatSparkle:f("chat-sparkle",60495),searchSparkle:f("search-sparkle",60496),editSparkle:f("edit-sparkle",60497),copilotSnooze:f("copilot-snooze",60498),sendToRemoteAgent:f("send-to-remote-agent",60499),commentDiscussionSparkle:f("comment-discussion-sparkle",60500),chatSparkleWarning:f("chat-sparkle-warning",60501),chatSparkleError:f("chat-sparkle-error",60502),collection:f("collection",60503),newCollection:f("new-collection",60504),thinking:f("thinking",60505),build:f("build",60506),commentDiscussionQuote:f("comment-discussion-quote",60507),cursor:f("cursor",60508),eraser:f("eraser",60509),fileText:f("file-text",60510),quotes:f("quotes",60512),rename:f("rename",60513),runWithDeps:f("run-with-deps",60514),debugConnected:f("debug-connected",60515),strikethrough:f("strikethrough",60516),openInProduct:f("open-in-product",60517),indexZero:f("index-zero",60518),agent:f("agent",60519),editCode:f("edit-code",60520),repoSelected:f("repo-selected",60521),skip:f("skip",60522),mergeInto:f("merge-into",60523),gitBranchChanges:f("git-branch-changes",60524),gitBranchStagedChanges:f("git-branch-staged-changes",60525),gitBranchConflicts:f("git-branch-conflicts",60526),gitBranch:f("git-branch",60527),gitBranchCreate:f("git-branch-create",60527),gitBranchDelete:f("git-branch-delete",60527),searchLarge:f("search-large",60528),terminalGitBash:f("terminal-git-bash",60529),windowActive:f("window-active",60530),forward:f("forward",60531),download:f("download",60532),clockface:f("clockface",60533),unarchive:f("unarchive",60534),sessionInProgress:f("session-in-progress",60535),collectionSmall:f("collection-small",60536),vmSmall:f("vm-small",60537),cloudSmall:f("cloud-small",60538),addSmall:f("add-small",60539),removeSmall:f("remove-small",60540),worktreeSmall:f("worktree-small",60541),worktree:f("worktree",60542),screenCut:f("screen-cut",60543),ask:f("ask",60544),openai:f("openai",60545),claude:f("claude",60546),openInWindow:f("open-in-window",60547),newSession:f("new-session",60548),terminalSecure:f("terminal-secure",60549),chatImport:f("chat-import",60550),chatExport:f("chat-export",60551),shareWindow:f("share-window",60552),circleSlashCompact:f("circle-slash-compact",60553),copilotCompact:f("copilot-compact",60554),folderOpenedCompact:f("folder-opened-compact",60555),folderCompact:f("folder-compact",60556),gearCompact:f("gear-compact",60557),gitBranchCompact:f("git-branch-compact",60558),libraryCompact:f("library-compact",60559),recordKeysCompact:f("record-keys-compact",60560),remoteCompact:f("remote-compact",60561),repoForkedCompact:f("repo-forked-compact",60562),repoCompact:f("repo-compact",60563),shieldCompact:f("shield-compact",60564),sparkleCompact:f("sparkle-compact",60565),symbolColorCompact:f("symbol-color-compact",60566),windowCompact:f("window-compact",60567),errorCompact:f("error-compact",60568),warningCompact:f("warning-compact",60569),passCompact:f("pass-compact",60570),important:f("important",60571),importantCompact:f("important-compact",60572),rocketCompact:f("rocket-compact",60573),unpin:f("unpin",60574),addCompact:f("add-compact",60575),attachCompact:f("attach-compact",60576),beakerCompact:f("beaker-compact",60577),checkCompact:f("check-compact",60578),checklistCompact:f("checklist-compact",60579),chevronDownCompact:f("chevron-down-compact",60580),chevronLeftCompact:f("chevron-left-compact",60581),chevronRightCompact:f("chevron-right-compact",60582),chevronUpCompact:f("chevron-up-compact",60583),circleFilledCompact:f("circle-filled-compact",60584),circleSmallFilledCompact:f("circle-small-filled-compact",60585),closeCompact:f("close-compact",60586),collapseAllCompact:f("collapse-all-compact",60587),commentCompact:f("comment-compact",60588),commentUnresolvedCompact:f("comment-unresolved-compact",60589),debugConnectedCompact:f("debug-connected-compact",60590),debugDisconnectCompact:f("debug-disconnect-compact",60591),editCompact:f("edit-compact",60592),fileMediaCompact:f("file-media-compact",60593),gitFetch:f("git-fetch",60594),lightbulbCompact:f("lightbulb-compact",60595),loadingCompact:f("loading-compact",60596),passFilledCompact:f("pass-filled-compact",60597),projectCompact:f("project-compact",60598),refreshCompact:f("refresh-compact",60599),searchCompact:f("search-compact",60600),sessionInProgressCompact:f("session-in-progress-compact",60601),syncCompact:f("sync-compact",60602),terminalCompact:f("terminal-compact",60603),vmPending:f("vm-pending",60604),worktreeCompact:f("worktree-compact",60605),developerTools:f("developer-tools",60606),cloudCompact:f("cloud-compact",60607),agentCompact:f("agent-compact",60608),askCompact:f("ask-compact",60609),settingsCompact:f("settings-compact",60610),vmCompact:f("vm-compact",60611),runCompact:f("run-compact",60612),gitPullRequestComment:f("git-pull-request-comment",60613),gitPullRequestError:f("git-pull-request-error",60614),rightPanelHide:f("right-panel-hide",60615),rightPanelShow:f("right-panel-show",60616),vscodeInsidersOutline:f("vscode-insiders-outline",60617),vscodeOutline:f("vscode-outline",60618),voiceMode:f("voice-mode",60619),voiceModeCompact:f("voice-mode-compact",60620),micDownload:f("mic-download",60621),micDownloadCompact:f("mic-download-compact",60622),voiceModeDownload:f("voice-mode-download",60623),voiceModeDownloadCompact:f("voice-mode-download-compact",60624),googleGemini:f("google-gemini",60625),kimi:f("kimi",60626),microsoft:f("microsoft",60627),fish1Happy:f("fish1-happy",60628),fish1Neutral:f("fish1-neutral",60629),fish1Sad:f("fish1-sad",60630),fish1VerySad:f("fish1-very-sad",60631),fish2Happy:f("fish2-happy",60632),fish2Neutral:f("fish2-neutral",60633),fish2Sad:f("fish2-sad",60634),fish2VerySad:f("fish2-very-sad",60635),fish3Happy:f("fish3-happy",60636),fish3Neutral:f("fish3-neutral",60637),fish3Sad:f("fish3-sad",60638),fish3VerySad:f("fish3-very-sad",60639),fish4Happy:f("fish4-happy",60640),fish4Neutral:f("fish4-neutral",60641),fish4Sad:f("fish4-sad",60642),fish4VerySad:f("fish4-very-sad",60643),personVoice:f("person-voice",60644),personVoiceCompact:f("person-voice-compact",60645),personVoiceFilled:f("person-voice-filled",60646),personVoiceFilledCompact:f("person-voice-filled-compact",60647),cloudDownloadCompact:f("cloud-download-compact",60648),cloudUploadCompact:f("cloud-upload-compact",60649),micCompact:f("mic-compact",60650),arrowUpCompact:f("arrow-up-compact",60651),xai:f("xai",60652),arrowCircleUpSparkle:f("arrow-circle-up-sparkle",60653),closeSmall:f("close-small",60654),bookCompact:f("book-compact",60655),micOff:f("mic-off",60656),micOffCompact:f("mic-off-compact",60657)}});function Zw(){return Object.values(J)}var t$,J,Ki=y(()=>{Wy();IO();t$={dialogError:f("dialog-error","error"),dialogWarning:f("dialog-warning","warning"),dialogInfo:f("dialog-info","info"),dialogClose:f("dialog-close","close"),treeItemExpanded:f("tree-item-expanded","chevron-down"),treeFilterOnTypeOn:f("tree-filter-on-type-on","list-filter"),treeFilterOnTypeOff:f("tree-filter-on-type-off","list-selection"),treeFilterClear:f("tree-filter-clear","close"),treeItemLoading:f("tree-item-loading","loading"),menuSelection:f("menu-selection","check"),menuSubmenu:f("menu-submenu","chevron-right"),menuBarMore:f("menubar-more","more"),scrollbarButtonLeft:f("scrollbar-button-left","triangle-left"),scrollbarButtonRight:f("scrollbar-button-right","triangle-right"),scrollbarButtonUp:f("scrollbar-button-up","triangle-up"),scrollbarButtonDown:f("scrollbar-button-down","triangle-down"),toolBarMore:f("toolbar-more","more"),quickInputBack:f("quick-input-back","arrow-left"),dropDownButton:f("drop-down-button",60084),symbolCustomColor:f("symbol-customcolor",60252),exportIcon:f("export",60332),workspaceUnspecified:f("workspace-unspecified",60355),newLine:f("newline",60394),thumbsDownFilled:f("thumbsdown-filled",60435),thumbsUpFilled:f("thumbsup-filled",60436),gitFetch:f("git-fetch",60445),lightbulbSparkleAutofix:f("lightbulb-sparkle-autofix",60447),debugBreakpointPending:f("debug-breakpoint-pending",60377),chatImport:f("chat-import",60550),chatExport:f("chat-export",60551)},J={...yO,...t$}});var bO,on,Va=y(()=>{Ki();(t=>{function r(e){return!!e&&typeof e=="object"&&typeof e.id=="string"}t.isThemeColor=r})(bO||={});(T=>{T.iconNameSegment="[A-Za-z0-9]+",T.iconNameExpression="[A-Za-z0-9-]+",T.iconModifierExpression="~[A-Za-z]+",T.iconNameCharacter="[A-Za-z0-9~-]";let o=new RegExp(`^(${T.iconNameExpression})(${T.iconModifierExpression})?$`);function i(E){let k=o.exec(E.id);if(!k)return i(J.error);let[,P,U]=k,xe=["codicon","codicon-"+P];return U&&xe.push("codicon-modifier-"+U.substring(1)),xe}T.asClassNameArray=i;function s(E){return i(E).join(" ")}T.asClassName=s;function a(E){return"."+i(E).join(".")}T.asCSSSelector=a;function l(E){return!!E&&typeof E=="object"&&typeof E.id=="string"&&(typeof E.color>"u"||bO.isThemeColor(E.color))}T.isThemeIcon=l;let c=new RegExp(`^\\$\\((${T.iconNameExpression}(?:${T.iconModifierExpression})?)\\)$`);function u(E){let k=c.exec(E);if(!k)return;let[,P]=k;return{id:P}}T.fromString=u;function p(E){return{id:E}}T.fromId=p;function m(E,k){let P=E.id,U=P.lastIndexOf("~");return U!==-1&&(P=P.substring(0,U)),k&&(P=`${P}~${k}`),{id:P}}T.modify=m;function g(E){let k=E.id.lastIndexOf("~");if(k!==-1)return E.id.substring(k+1)}T.getModifier=g;function h(E,k){return E.id===k.id&&E.color?.id===k.color?.id}T.isEqual=h;function v(E){return E?.id===J.file.id}T.isFile=v;function S(E){return E?.id===J.folder.id}T.isFolder=S})(on||={})});function SO(r){return r.replace(n$,(t,e)=>e?t:`\\${t}`)}var eT,n$,Dce,_ce,Mce,xO=y(()=>{hO();Ot();Va();eT=new RegExp(`\\$\\(${on.iconNameExpression}(?:${on.iconModifierExpression})?\\)`,"g"),n$=new RegExp(`(\\\\)?${eT.source}`,"g");Dce=new RegExp(`\\\\${eT.source}`,"g"),_ce=new RegExp(`(\\s)?(\\\\)?${eT.source}(\\s)?`,"g"),Mce=new RegExp(`\\$\\(${on.iconNameCharacter}+\\)`,"g")});function Si(r){return r instanceof Nt?!0:r&&typeof r=="object"?typeof r.value=="string"&&(typeof r.isTrusted=="boolean"||typeof r.isTrusted=="object"||r.isTrusted===void 0)&&(typeof r.supportThemeIcons=="boolean"||r.supportThemeIcons===void 0)&&(typeof r.supportAlertSyntax=="boolean"||r.supportAlertSyntax===void 0):!1}function o$(r){return r.replace(/[\\`*_{}[\]()#+!~]/g,"\\$&").replace(/^([ \t]*)-/gm,"$1\\-")}function r$(r,t){let e=r.match(/^`+/gm)?.reduce((o,i)=>o.length>i.length?o:i).length??0,n=e>=3?e+1:3;return[`${"`".repeat(n)}${t}`,r,`${"`".repeat(n)}`].join(`
`)}function tT(r){let t=Math.max(0,...(r.match(/`+/g)??[]).map(i=>i.length)),e="`".repeat(t+1),o=r.startsWith("`")||r.endsWith("`")?` ${r} `:r;return`${e}${o}${e}`}function CO(r){let t=[],e=r.split("|").map(o=>o.trim());r=e[0];let n=e[1];if(n){let o=/height=(\d+)/.exec(n),i=/width=(\d+)/.exec(n),s=o?o[1]:"",a=i?i[1]:"",l=isFinite(parseInt(a)),c=isFinite(parseInt(s));l&&t.push(`width="${a}"`),c&&t.push(`height="${s}"`)}return{href:r,dimensions:t}}function By(r,...t){return b.from({scheme:$.command,path:r,query:t.length?encodeURIComponent(JSON.stringify(t)):void 0})}var Nt,Ns=y(()=>{Se();xO();Ne();Rt();Ot();ie();Nt=class r{static lift(t){let e=new r(t.value,t);return e.uris=t.uris,e.baseUri=t.baseUri?b.revive(t.baseUri):void 0,e}constructor(t="",e=!1){if(this.value=t,typeof this.value!="string")throw nt("value");typeof e=="boolean"?(this.isTrusted=e,this.supportThemeIcons=!1,this.supportHtml=!1,this.supportAlertSyntax=!1):(this.isTrusted=e.isTrusted??void 0,this.supportThemeIcons=e.supportThemeIcons??!1,this.supportHtml=e.supportHtml??!1,this.supportAlertSyntax=e.supportAlertSyntax??!1)}appendText(t,e=0){return this.value+=o$(this.supportThemeIcons?SO(t):t).replace(/([ \t]+)/g,(n,o)=>"&nbsp;".repeat(o.length)).replace(/\>/gm,"\\>").replace(/\n/g,e===1?`\\
`:`

`),this}appendMarkdown(t){return this.value+=t,this}appendCodeblock(t,e){return this.value+=`
${r$(e,t)}
`,this}appendLink(t,e,n){return this.value+="[",this.value+=this._escape(e,"]"),this.value+="](",this.value+=this._escape(String(t),")"),n&&(this.value+=` "${this._escape(this._escape(n,'"'),")")}"`),this.value+=")",this}_escape(t,e){let n=new RegExp(Mo(e),"g");return t.replace(n,(o,i)=>t.charAt(i-1)!=="\\"?`\\${o}`:o)}}});function rn(r,t){if(r instanceof Ut)return r;let e;return r instanceof kr?e=new Ut(r.message,r.code==="DownloadFailedWriting"?"DownloadFailedWriting":"Gallery"):e=new Ut(r.message,mn(r)?"Cancelled":t??"Internal"),e.stack=r.stack,e}function nT(r,t,{extensionData:e,verificationStatus:n,duration:o,error:i,source:s,durationSinceUpdate:a}){r.publicLog(t,{...e,source:s,duration:o,durationSinceUpdate:a,success:!i,errorcode:i?.code,verificationStatus:n==="Success"?"Verified":n??"Unverified"})}var Yd,Xd,fg,hg=y(()=>{Lt();Me();jt();Se();de();Q();_n();me();ie();le();Co();ei();Bn();Pe();Fn();Rn();wo();No();Ns();Yd=class extends _{constructor(e,n){super();this.productService=e;this.allowedExtensionsService=n;this.preferPreReleases=this.productService.quality!=="stable"}async canInstall(e){let n=this.allowedExtensionsService.isAllowed({id:e.identifier.id,publisherDisplayName:e.publisherDisplayName});if(n!==!0)return new Nt(d(2761,null,n.value));if(!await this.isExtensionPlatformCompatible(e)){let o=pn?"https://aka.ms/vscode-web-extensions-guide":"https://aka.ms/vscode-platform-specific-extensions";return new Nt(`${d(2755,null,e.displayName??e.identifier.id,this.productService.nameLong,Rw(await this.getTargetPlatform()))} [${d(2756,null)}](${o})`)}return!0}async isExtensionPlatformCompatible(e){let n=await this.getTargetPlatform();return e.allTargetPlatforms.some(o=>sg(o,e.allTargetPlatforms,n))}};Yd=C([I(0,Be),I(1,Dr)],Yd);Xd=class extends Yd{constructor(e,n,o,i,s,a,l){super(s,a);this.galleryService=e;this.telemetryService=n;this.uriIdentityService=o;this.logService=i;this.userDataProfilesService=l;this.lastReportTimestamp=0;this.installingExtensions=new Map;this.uninstallingExtensions=new Map;this._onInstallExtension=this._register(new w);this._onDidInstallExtensions=this._register(new w);this._onUninstallExtension=this._register(new w);this._onDidUninstallExtension=this._register(new w);this._onDidUpdateExtensionMetadata=this._register(new w);this.participants=[];this._register(oe(()=>{this.installingExtensions.forEach(({task:c})=>c.cancel()),this.uninstallingExtensions.forEach(c=>c.cancel()),this.installingExtensions.clear(),this.uninstallingExtensions.clear()}))}get onInstallExtension(){return this._onInstallExtension.event}get onDidInstallExtensions(){return this._onDidInstallExtensions.event}get onUninstallExtension(){return this._onUninstallExtension.event}get onDidUninstallExtension(){return this._onDidUninstallExtension.event}get onDidUpdateExtensionMetadata(){return this._onDidUpdateExtensionMetadata.event}async installFromGallery(e,n={}){try{let o=await this.installGalleryExtensions([{extension:e,options:n}]),i=o.find(({identifier:a})=>Te(a,e.identifier));if(i?.local)return i.local;if(i?.error)throw i.error;let s=o[0];if(s?.local)return s.local;throw s?.error?s.error:new Ut(`Unknown error while installing extension ${e.identifier.id}`,"Unknown")}catch(o){throw rn(o)}}async installGalleryExtensions(e){if(!this.galleryService.isEnabled())throw new Ut(d(2758,null),"NotAllowed");let n=[],o=[];return await Promise.allSettled(e.map(async({extension:i,options:s})=>{try{let a=await this.checkAndGetCompatibleVersion(i,!!s?.installGivenVersion,!!s?.installPreReleaseVersion,s.productVersion??{version:this.productService.version,date:this.productService.date});o.push({...a,options:s})}catch(a){n.push({identifier:i.identifier,operation:2,source:i,error:a,profileLocation:s.profileLocation??this.getCurrentExtensionsManifestLocation()})}})),o.length&&n.push(...await this.installExtensions(o)),n}async uninstall(e,n){return this.logService.trace("ExtensionManagementService#uninstall",e.identifier.id),this.uninstallExtensions([{extension:e,options:n}])}async toggleApplicationScope(e,n){if(Ew(e.manifest)||e.isBuiltin)return e;if(e.isApplicationScoped){let o=await this.updateMetadata(e,{isApplicationScoped:!1},this.userDataProfilesService.defaultProfile.extensionsResource);this.uriIdentityService.extUri.isEqual(n,this.userDataProfilesService.defaultProfile.extensionsResource)||(o=await this.copyExtension(e,this.userDataProfilesService.defaultProfile.extensionsResource,n));for(let i of this.userDataProfilesService.profiles){let s=(await this.getInstalled(1,i.extensionsResource)).find(a=>Te(a.identifier,e.identifier));s?this._onDidUpdateExtensionMetadata.fire({local:s,profileLocation:i.extensionsResource}):this._onDidUninstallExtension.fire({identifier:e.identifier,profileLocation:i.extensionsResource})}return o}else{let o=this.uriIdentityService.extUri.isEqual(n,this.userDataProfilesService.defaultProfile.extensionsResource)?await this.updateMetadata(e,{isApplicationScoped:!0},this.userDataProfilesService.defaultProfile.extensionsResource):await this.copyExtension(e,n,this.userDataProfilesService.defaultProfile.extensionsResource,{isApplicationScoped:!0});return this._onDidInstallExtensions.fire([{identifier:o.identifier,operation:2,local:o,profileLocation:this.userDataProfilesService.defaultProfile.extensionsResource,applicationScoped:!0}]),o}}getExtensionsControlManifest(){let e=new Date().getTime();return(!this.extensionsControlManifest||e-this.lastReportTimestamp>1e3*60*5)&&(this.extensionsControlManifest=this.updateControlCache(),this.lastReportTimestamp=e),this.extensionsControlManifest}registerParticipant(e){this.participants.push(e)}async resetPinnedStateForAllUserExtensions(e){try{await this.joinAllSettled(this.userDataProfilesService.profiles.map(async n=>{let o=await this.getInstalled(1,n.extensionsResource);await this.joinAllSettled(o.map(async i=>{i.pinned!==e&&await this.updateMetadata(i,{pinned:e},n.extensionsResource)}))}))}catch(n){throw this.logService.error("Error while resetting pinned state for all user extensions",he(n)),n}}async installExtensions(e){let n=new Map,o=new Map,i=[],s=(c,u)=>`${Zn.create(c).toString()}-${u.toString()}`,a=(c,u,p,m)=>{let g;if(!b.isUri(u)){if(o.has(`${u.identifier.id.toLowerCase()}-${p.profileLocation.toString()}`))return;let S=this.installingExtensions.get(s(u,p.profileLocation));if(S){if(m&&this.canWaitForTask(m,S.task)){let T=S.task.identifier;this.logService.info("Waiting for already requested installing extension",T.id,m.identifier.id,p.profileLocation.toString()),S.waitingTasks.push(m);let E=W.toPromise(W.filter(this.onDidInstallExtensions,k=>k.some(P=>Te(P.identifier,T)))).then(k=>{this.logService.info("Finished waiting for already requested installing extension",T.id,m.identifier.id,p.profileLocation.toString());let P=k.find(U=>Te(U.identifier,T));if(!P?.local)throw new Error(`Extension ${T.id} is not installed`);return P.local});i.push(E),E.catch(()=>{})}return}g=this.uninstallingExtensions.get(this.getUninstallExtensionTaskKey(u.identifier,p.profileLocation))}let h=this.createInstallExtensionTask(c,u,p),v=`${Eo(c.publisher,c.name)}-${p.profileLocation.toString()}`;o.set(v,{task:h,root:m,uninstallTaskToWaitFor:g}),this._onInstallExtension.fire({identifier:h.identifier,source:u,profileLocation:p.profileLocation}),this.logService.info("Installing extension:",h.identifier.id,p),b.isUri(u)||this.installingExtensions.set(s(u,p.profileLocation),{task:h,waitingTasks:[]})};try{let c=await this.getInstalled(0);for(let{manifest:p,extension:m,options:g}of e){let h=Eo(p.publisher,p.name),v=c.some(P=>Te(P.identifier,{id:h})),S=g.isBuiltin||v,T=g.isApplicationScoped||S||Ew(p),E={...g,isBuiltin:S,isApplicationScoped:T,profileLocation:T?this.userDataProfilesService.defaultProfile.extensionsResource:g.profileLocation??this.getCurrentExtensionsManifestLocation(),productVersion:g.productVersion??{version:this.productService.version,date:this.productService.date}},k=b.isUri(m)?void 0:this.installingExtensions.get(s(m,E.profileLocation));if(k){let P=k.task;this.logService.info("Extension is already requested to install",P.identifier.id,E.profileLocation.toString());let U=`${P.identifier.id.toLowerCase()}-${E.profileLocation.toString()}`,xe=P.waitUntilTaskIsFinished().then(V=>(n.set(U,{local:V,identifier:P.identifier,operation:P.operation,source:P.source,context:E.context,profileLocation:E.profileLocation,applicationScoped:V.isApplicationScoped}),V),V=>{throw n.set(U,{error:rn(V),identifier:P.identifier,operation:P.operation,source:P.source,context:E.context,profileLocation:E.profileLocation}),V});i.push(xe),xe.catch(()=>{})}else a(p,m,E,void 0)}await Promise.all([...o.values()].map(async({task:p})=>{if(p.options.donotIncludePackAndDependencies)this.logService.info("Installing the extension without checking dependencies and pack",p.identifier.id);else try{let m=this.preferPreReleases;p.options.installPreReleaseVersion?m=!0:!b.isUri(p.source)&&p.source.hasPreReleaseVersion&&(m=!1);let g=await this.getInstalled(void 0,p.options.profileLocation,p.options.productVersion),h=await this.getAllDepsAndPackExtensions(p.identifier,p.manifest,m,p.options.productVersion,g),v={...p.options,pinned:!1,installGivenVersion:!1,context:{...p.options.context,[yL]:!0}};for(let{gallery:S,manifest:T}of jn(h,({gallery:E})=>E.identifier.id)){let E=g.find(k=>Te(k.identifier,S.identifier));E&&E.isApplicationScoped===!!v.isApplicationScoped||a(T,S,v,p)}}catch(m){if(b.isUri(p.source))wl(p.manifest.extensionDependencies)&&this.logService.warn("Cannot install dependencies of extension:",p.identifier.id,m.message),wl(p.manifest.extensionPack)&&this.logService.warn("Cannot install packed extensions of extension:",p.identifier.id,m.message);else throw this.logService.error("Error while preparing to install dependencies and extension packs of the extension:",p.identifier.id),m}}));let u=await this.getOtherProfilesToUpdateExtension([...o.values()].map(({task:p})=>p));for(let[p,m]of u)a(m.manifest,m.source,{...m.options,profileLocation:p},void 0);await this.joinAllSettled([...o.entries()].map(async([p,{task:m,uninstallTaskToWaitFor:g}])=>{let h=new Date().getTime(),v;try{if(g){this.logService.info("Waiting for existing uninstall task to complete before installing",m.identifier.id);try{await g.waitUntilTaskIsFinished(),this.logService.info("Finished waiting for uninstall task, proceeding with install",m.identifier.id)}catch(S){this.logService.info("Uninstall task failed, proceeding with install anyway",m.identifier.id,he(S))}}v=await m.run(),await this.joinAllSettled(this.participants.map(S=>S.postInstall(v,m.source,m.options,we.None)),"PostInstall")}catch(S){let T=rn(S);throw b.isUri(m.source)||nT(this.telemetryService,m.operation===3?"extensionGallery:update":"extensionGallery:install",{extensionData:dg(m.source),error:T,source:m.options.context?.[Tw]}),n.set(p,{error:T,identifier:m.identifier,operation:m.operation,source:m.source,context:m.options.context,profileLocation:m.options.profileLocation,applicationScoped:m.options.isApplicationScoped}),this.logService.error("Error while installing the extension",m.identifier.id,he(T),m.options.profileLocation.toString()),T}if(!b.isUri(m.source)){let S=m.operation===3,T=S?void 0:(new Date().getTime()-m.source.lastUpdated)/1e3;nT(this.telemetryService,S?"extensionGallery:update":"extensionGallery:install",{extensionData:dg(m.source),verificationStatus:m.verificationStatus,duration:new Date().getTime()-h,durationSinceUpdate:T,source:m.options.context?.[Tw]})}n.set(p,{local:v,identifier:m.identifier,operation:m.operation,source:m.source,context:m.options.context,profileLocation:m.options.profileLocation,applicationScoped:v.isApplicationScoped})})),i.length&&await this.joinAllSettled(i)}catch(c){let u=(g,h,v)=>{let S=[];g.manifest.extensionDependencies?.length&&S.push(...g.manifest.extensionDependencies),g.manifest.extensionPack?.length&&S.push(...g.manifest.extensionPack);for(let T of S){if(v.includes(T.toLowerCase()))continue;v.push(T.toLowerCase());let E=n.get(`${T.toLowerCase()}-${h.toString()}`);E?.local&&(v=u(E.local,h,v))}return v},p=g=>({identifier:g.identifier,operation:2,source:g.source,context:g.options.context,profileLocation:g.options.profileLocation,error:c}),m=[];for(let[g,{task:h,root:v}]of o){let S=n.get(g);S?S.local&&v&&!n.get(`${v.identifier.id.toLowerCase()}-${h.options.profileLocation.toString()}`)?.local&&(m.push(this.createUninstallExtensionTask(S.local,{versionOnly:!0,profileLocation:h.options.profileLocation})),n.set(g,p(h))):(h.cancel(),n.set(g,p(h)))}for(let[g,{task:h}]of o){let v=n.get(g);if(!v?.local||h.options.donotIncludePackAndDependencies)continue;u(v.local,h.options.profileLocation,[v.local.identifier.id.toLowerCase()]).slice(1).some(T=>o.has(`${T.toLowerCase()}-${h.options.profileLocation.toString()}`)&&!n.get(`${T.toLowerCase()}-${h.options.profileLocation.toString()}`)?.local)&&(m.push(this.createUninstallExtensionTask(v.local,{versionOnly:!0,profileLocation:h.options.profileLocation})),n.set(g,p(h)))}m.length&&await Promise.allSettled(m.map(async g=>{try{await g.run(),this.logService.info("Rollback: Uninstalled extension",g.extension.identifier.id)}catch(h){this.logService.warn("Rollback: Error while uninstalling extension",g.extension.identifier.id,he(h))}}))}finally{for(let{task:c}of o.values())c.source&&!b.isUri(c.source)&&this.installingExtensions.delete(s(c.source,c.options.profileLocation))}let l=[...n.values()];for(let c of l)c.local&&this.logService.info("Extension installed successfully:",c.identifier.id,c.profileLocation.toString());return this._onDidInstallExtensions.fire(l),l}async getOtherProfilesToUpdateExtension(e){let n=[],o=new Xe;for(let i of e)if(!(i.operation!==3||i.options.isApplicationScoped||i.options.pinned||i.options.installGivenVersion||b.isUri(i.source)))for(let s of this.userDataProfilesService.profiles){if(this.uriIdentityService.extUri.isEqual(s.extensionsResource,i.options.profileLocation))continue;let a=o.get(s.extensionsResource);a||(a=await this.getInstalled(1,s.extensionsResource),o.set(s.extensionsResource,a));let l=a.find(c=>Te(c.identifier,i.identifier));l&&!l.pinned&&n.push([s.extensionsResource,i])}return n}canWaitForTask(e,n){for(let[,{task:o,waitingTasks:i}]of this.installingExtensions.entries())if(o===e&&(i.includes(n)||i.some(s=>this.canWaitForTask(s,n)))||o===n&&i[0]&&!this.canWaitForTask(e,i[0]))return!1;return!0}async joinAllSettled(e,n){let o=[],i=[],s=await Promise.allSettled(e);for(let l of s)l.status==="fulfilled"?o.push(l.value):i.push(rn(l.reason,n));if(!i.length)return o;if(i.length===1)throw i[0];let a=new Ut("","Unknown");for(let l of i)a=new Ut(a.message?`${a.message}, ${l.message}`:l.message,l.code!=="Unknown"&&l.code!=="Internal"?l.code:a.code);throw a}async getAllDepsAndPackExtensions(e,n,o,i,s){if(!this.galleryService.isEnabled())return[];let a=[],l=[],c=async(u,p)=>{a.push(u);let m=p.extensionDependencies?p.extensionDependencies.filter(h=>!s.some(v=>Te(v.identifier,{id:h}))):[],g=[...m];if(p.extensionPack){let h=s.find(v=>Te(v.identifier,u));for(let v of p.extensionPack)h&&h.manifest.extensionPack&&h.manifest.extensionPack.some(S=>Te({id:S},{id:v}))||g.every(S=>!Te({id:S},{id:v}))&&g.push(v)}if(g.length){let h=g.filter(v=>a.every(S=>!Te(S,{id:v})));if(h.length){let v=await this.galleryService.getExtensions(h.map(S=>({id:S,preRelease:o})),we.None);for(let S of v){if(a.find(k=>Te(k,S.identifier)))continue;let T=m.some(k=>Te({id:k},S.identifier)),E;try{E=await this.checkAndGetCompatibleVersion(S,!1,o,i)}catch(k){if(T)throw k;this.logService.info("Skipping the packed extension as it cannot be installed",S.identifier.id,he(k));continue}l.push({gallery:E.extension,manifest:E.manifest}),await c(E.extension.identifier,E.manifest)}}}};return await c(e,n),l}async checkAndGetCompatibleVersion(e,n,o,i){let s,a=await this.getExtensionsControlManifest();if(DL(e.identifier,a.malicious))throw new Ut(d(2757,null,e.identifier.id),"Malicious");let l=a.deprecated[e.identifier.id.toLowerCase()];if(l?.extension?.autoMigrate){if(this.logService.info(`The '${e.identifier.id}' extension is deprecated, fetching the compatible '${l.extension.id}' extension instead.`),s=(await this.galleryService.getExtensions([{id:l.extension.id,preRelease:l.extension.preRelease}],{targetPlatform:await this.getTargetPlatform(),compatible:!0,productVersion:i},we.None))[0],!s)throw new Ut(d(2763,null,e.identifier.id,l.extension.id),"Deprecated")}else{if(await this.canInstall(e)!==!0){let u=await this.getTargetPlatform();throw new Ut(d(2755,null,e.identifier.id,this.productService.nameLong,Rw(u)),"IncompatibleTargetPlatform")}if(s=await this.getCompatibleVersion(e,n,o,i),!s)throw!o&&e.hasPreReleaseVersion&&e.properties.isPreReleaseVersion&&(await this.galleryService.getExtensions([e.identifier],we.None))[0]?new Ut(d(2764,null,e.displayName??e.identifier.id),"ReleaseVersionNotFound"):new Ut(d(2762,null,e.identifier.id,this.productService.nameLong,this.productService.version),"Incompatible")}this.logService.info("Getting Manifest...",s.identifier.id);let c=await this.galleryService.getManifest(s,we.None);if(c===null)throw new Ut(`Missing manifest for extension ${s.identifier.id}`,"Invalid");if(c.version!==s.version)throw new Ut(`Cannot install '${s.identifier.id}' extension because of version mismatch in Marketplace`,"Invalid");return{extension:s,manifest:c}}async getCompatibleVersion(e,n,o,i){let s=await this.getTargetPlatform(),a=null;return!n&&e.hasPreReleaseVersion&&e.properties.isPreReleaseVersion!==o&&(a=(await this.galleryService.getExtensions([{...e.identifier,preRelease:o}],{targetPlatform:s,compatible:!0,productVersion:i},we.None))[0]||null),!a&&await this.galleryService.isExtensionCompatible(e,o,s,i)&&(a=e),a||(n?a=(await this.galleryService.getExtensions([{...e.identifier,version:e.version}],{targetPlatform:s,compatible:!0,productVersion:i},we.None))[0]||null:a=await this.galleryService.getCompatibleExtension(e,o,s,i)),a}getUninstallExtensionTaskKey(e,n,o){return`${e.id.toLowerCase()}${o?`-${o}`:""}@${n.toString()}`}async uninstallExtensions(e){let n=(m,g)=>this.getUninstallExtensionTaskKey(m.identifier,g.profileLocation,g.versionOnly?m.manifest.version:void 0),o=(m,g)=>{let h;for(let{task:S}of this.installingExtensions.values())if(!(S.source instanceof b)&&Te(S.identifier,m.identifier)&&this.uriIdentityService.extUri.isEqual(S.options.profileLocation,g.profileLocation)){h=S;break}let v=this.createUninstallExtensionTask(m,g);this.uninstallingExtensions.set(n(v.extension,g),v),this.logService.info("Uninstalling extension from the profile:",`${m.identifier.id}@${m.manifest.version}`,g.profileLocation.toString()),this._onUninstallExtension.fire({identifier:m.identifier,profileLocation:g.profileLocation,applicationScoped:m.isApplicationScoped}),s.push({task:v,installTaskToWaitFor:h})},i=(m,g,h)=>{h?this.logService.error("Failed to uninstall extension from the profile:",`${m.identifier.id}@${m.manifest.version}`,g.profileLocation.toString(),h.message):this.logService.info("Successfully uninstalled extension from the profile",`${m.identifier.id}@${m.manifest.version}`,g.profileLocation.toString()),nT(this.telemetryService,"extensionGallery:uninstall",{extensionData:kL(m),error:h}),this._onDidUninstallExtension.fire({identifier:m.identifier,error:h?.code,profileLocation:g.profileLocation,applicationScoped:m.isApplicationScoped})},s=[],a=[],l=[],c=[],u=new Xe,p=async m=>{let g=u.get(m);return g||u.set(m,g=await this.getInstalled(1,m)),g};for(let{extension:m,options:g}of e){let h={...g,profileLocation:m.isApplicationScoped?this.userDataProfilesService.defaultProfile.extensionsResource:g?.profileLocation??this.getCurrentExtensionsManifestLocation()},v=this.uninstallingExtensions.get(n(m,h));if(v?(this.logService.info("Extensions is already requested to uninstall",m.identifier.id),l.push(v.waitUntilTaskIsFinished())):o(m,h),h.remove||m.isApplicationScoped){h.remove&&c.push(m);for(let S of this.userDataProfilesService.profiles){if(this.uriIdentityService.extUri.isEqual(S.extensionsResource,h.profileLocation))continue;let E=(await p(S.extensionsResource)).find(k=>Te(k.identifier,m.identifier));if(E){let k={...h,profileLocation:S.extensionsResource},P=this.uninstallingExtensions.get(n(E,k));P?(this.logService.info("Extensions is already requested to uninstall",E.identifier.id),l.push(P.waitUntilTaskIsFinished())):o(E,k)}}}}try{for(let{task:m}of s.slice(0)){let g=await p(m.options.profileLocation);if(m.options.donotIncludePack)this.logService.info("Uninstalling the extension without including packed extension",`${m.extension.identifier.id}@${m.extension.manifest.version}`);else{let h=this.getAllPackExtensionsToUninstall(m.extension,g);for(let v of h)this.uninstallingExtensions.has(n(v,m.options))?this.logService.info("Extensions is already requested to uninstall",v.identifier.id):o(v,m.options)}m.options.donotCheckDependents?this.logService.info("Uninstalling the extension without checking dependents",`${m.extension.identifier.id}@${m.extension.manifest.version}`):this.checkForDependents(s.map(({task:h})=>h.extension),g,m.extension)}await this.joinAllSettled(s.map(async({task:m,installTaskToWaitFor:g})=>{try{if(g){this.logService.info("Waiting for existing install task to complete before uninstalling",m.extension.identifier.id);try{await g.waitUntilTaskIsFinished(),this.logService.info("Finished waiting for install task, proceeding with uninstall",m.extension.identifier.id)}catch(h){this.logService.info("Install task failed, proceeding with uninstall anyway",m.extension.identifier.id,he(h))}}if(await m.run(),await this.joinAllSettled(this.participants.map(h=>h.postUninstall(m.extension,m.options,we.None))),m.extension.identifier.uuid&&!pn)try{await this.galleryService.reportStatistic(m.extension.manifest.publisher,m.extension.manifest.name,m.extension.manifest.version,"uninstall")}catch{}}catch(h){let v=rn(h);throw i(m.extension,m.options,v),v}finally{a.push(m)}})),l.length&&await this.joinAllSettled(l);for(let{task:m}of s)i(m.extension,m.options);c.length&&await this.joinAllSettled(c.map(m=>this.deleteExtension(m)))}catch(m){let g=rn(m);for(let{task:h}of s){try{h.cancel()}catch{}a.includes(h)||i(h.extension,h.options,g)}throw g}finally{for(let{task:m}of s)this.uninstallingExtensions.delete(n(m.extension,m.options))||this.logService.warn("Uninstallation task is not found in the cache",m.extension.identifier.id)}}checkForDependents(e,n,o){for(let i of e){let s=this.getDependents(i,n);if(s.length){let a=s.filter(l=>!e.some(c=>Te(c.identifier,l.identifier)));if(a.length)throw new Error(this.getDependentsErrorMessage(i,a,o))}}}getDependentsErrorMessage(e,n,o){return o===e?n.length===1?d(2765,null,o.manifest.displayName||o.manifest.name,n[0].manifest.displayName||n[0].manifest.name):n.length===2?d(2767,null,o.manifest.displayName||o.manifest.name,n[0].manifest.displayName||n[0].manifest.name,n[1].manifest.displayName||n[1].manifest.name):d(2759,null,o.manifest.displayName||o.manifest.name,n[0].manifest.displayName||n[0].manifest.name,n[1].manifest.displayName||n[1].manifest.name):n.length===1?d(2766,null,o.manifest.displayName||o.manifest.name,e.manifest.displayName||e.manifest.name,n[0].manifest.displayName||n[0].manifest.name):n.length===2?d(2768,null,o.manifest.displayName||o.manifest.name,e.manifest.displayName||e.manifest.name,n[0].manifest.displayName||n[0].manifest.name,n[1].manifest.displayName||n[1].manifest.name):d(2760,null,o.manifest.displayName||o.manifest.name,e.manifest.displayName||e.manifest.name,n[0].manifest.displayName||n[0].manifest.name,n[1].manifest.displayName||n[1].manifest.name)}getAllPackExtensionsToUninstall(e,n,o=[]){if(o.indexOf(e)!==-1)return[];if(Te(e.identifier,{id:this.productService.defaultChatAgent.extensionId}))return[];o.push(e);let i=e.manifest.extensionPack?e.manifest.extensionPack:[];if(i.length){let s=n.filter(l=>!l.isBuiltin&&i.some(c=>Te({id:c},l.identifier))),a=[];for(let l of s)a.push(...this.getAllPackExtensionsToUninstall(l,n,o));return[...s,...a]}return[]}getDependents(e,n){return n.filter(o=>o.manifest.extensionDependencies&&o.manifest.extensionDependencies.some(i=>Te({id:i},e.identifier)))}async updateControlCache(){try{return this.logService.trace("ExtensionManagementService.updateControlCache"),await this.galleryService.getExtensionsControlManifest()}catch(e){return this.logService.trace("ExtensionManagementService.refreshControlCache - failed to get extension control manifest",he(e)),{malicious:[],deprecated:{},search:[]}}}};Xd=C([I(0,co),I(1,Ct),I(2,Je),I(3,K),I(4,Be),I(5,Dr),I(6,Yt)],Xd);fg=class{constructor(){this.barrier=new wr}async waitUntilTaskIsFinished(){return await this.barrier.wait(),this.cancellablePromise}run(){return this.cancellablePromise||(this.cancellablePromise=jo(t=>this.doRun(t))),this.barrier.open(),this.cancellablePromise}cancel(){this.cancellablePromise||(this.cancellablePromise=jo(t=>new Promise((e,n)=>{let o=t.onCancellationRequested(()=>{o.dispose(),n(new et)})})),this.barrier.open()),this.cancellablePromise.cancel()}}});function EO(r){let t=r;return Ae(t)&&SL(t.identifier)&&(s$(t.location)||Z(t.location)&&!!t.location)&&(Mn(t.relativeLocation)||Z(t.relativeLocation))&&!!t.version&&Z(t.version)}function s$(r){if(!r)return!1;let t=r;return typeof t?.path=="string"&&typeof t?.scheme=="string"}var ec,pr,eu,tc=y(()=>{Me();ze();Q();de();_n();ie();Co();ei();it();X();Pe();No();wo();Ee();Se();ec=class extends Error{constructor(e,n){super(e);this.code=n}},pr=D("IExtensionsProfileScannerService"),eu=class extends _{constructor(e,n,o,i,s){super();this.extensionsLocation=e;this.fileService=n;this.userDataProfilesService=o;this.uriIdentityService=i;this.logService=s;this._onAddExtensions=this._register(new w);this.onAddExtensions=this._onAddExtensions.event;this._onDidAddExtensions=this._register(new w);this.onDidAddExtensions=this._onDidAddExtensions.event;this._onRemoveExtensions=this._register(new w);this.onRemoveExtensions=this._onRemoveExtensions.event;this._onDidRemoveExtensions=this._register(new w);this.onDidRemoveExtensions=this._onDidRemoveExtensions.event;this.resourcesAccessQueueMap=new Xe}scanProfileExtensions(e,n){return this.withProfileExtensions(e,void 0,n)}async addExtensionsToProfile(e,n,o){let i=[],s=[];try{return await this.withProfileExtensions(n,a=>{let l=[];if(o)l.push(...a);else for(let c of a)e.some(([u])=>Te(u.identifier,c.identifier)&&u.manifest.version!==c.version)?i.push(c):l.push(c);for(let[c,u]of e){let p=l.findIndex(g=>Te(g.identifier,c.identifier)&&g.version===c.manifest.version),m={identifier:c.identifier,version:c.manifest.version,location:c.location,metadata:u};p===-1?(s.push(m),l.push(m)):l.splice(p,1,m)}return s.length&&this._onAddExtensions.fire({extensions:s,profileLocation:n}),i.length&&this._onRemoveExtensions.fire({extensions:i,profileLocation:n}),l}),s.length&&this._onDidAddExtensions.fire({extensions:s,profileLocation:n}),i.length&&this._onDidRemoveExtensions.fire({extensions:i,profileLocation:n}),s}catch(a){throw s.length&&this._onDidAddExtensions.fire({extensions:s,error:a,profileLocation:n}),i.length&&this._onDidRemoveExtensions.fire({extensions:i,error:a,profileLocation:n}),a}}async updateMetadata(e,n){let o=[];return await this.withProfileExtensions(n,i=>{let s=[];for(let a of i){let l=e.find(([c])=>Te({id:c.identifier.id},{id:a.identifier.id})&&c.manifest.version===a.version);l&&(a.metadata={...a.metadata,...l[1]},o.push(a)),s.push(a)}return s}),o}async removeExtensionsFromProfile(e,n){let o=[];try{await this.withProfileExtensions(n,i=>{let s=[];for(let a of i)e.some(l=>Te(a.identifier,l))?o.push(a):s.push(a);return o.length&&this._onRemoveExtensions.fire({extensions:o,profileLocation:n}),s}),o.length&&this._onDidRemoveExtensions.fire({extensions:o,profileLocation:n})}catch(i){throw o.length&&this._onDidRemoveExtensions.fire({extensions:o,error:i,profileLocation:n}),i}}async withProfileExtensions(e,n,o){return this.getResourceAccessQueue(e).queue(async()=>{let i=[],s;try{let a=await this.fileService.readFile(e);s=JSON.parse(a.value.toString().trim()||"[]")}catch(a){if(Dt(a)!==1)throw a;if(this.uriIdentityService.extUri.isEqual(e,this.userDataProfilesService.defaultProfile.extensionsResource)&&(s=await this.migrateFromOldDefaultProfileExtensionsLocation()),!s&&o?.bailOutWhenFileNotFound)throw new ec(he(a),"ERROR_PROFILE_NOT_FOUND")}if(s){Array.isArray(s)||this.throwInvalidConentError(e);let a=!1;for(let l of s){EO(l)||this.throwInvalidConentError(e);let c;if(Z(l.relativeLocation)&&l.relativeLocation)c=this.resolveExtensionLocation(l.relativeLocation);else if(Z(l.location)){this.logService.warn(`Extensions profile: Ignoring extension with invalid location: ${l.location}`);continue}else{c=b.revive(l.location);let p=this.toRelativePath(c);p&&(a=!0,l.relativeLocation=p)}Mn(l.metadata?.hasPreReleaseVersion)&&l.metadata?.preRelease&&(a=!0,l.metadata.hasPreReleaseVersion=!0);let u=l.metadata?.id??l.identifier.uuid;i.push({identifier:u?{id:l.identifier.id,uuid:u}:{id:l.identifier.id},location:c,version:l.version,metadata:l.metadata})}a&&await this.fileService.writeFile(e,L.fromString(JSON.stringify(s)))}if(n){i=n(i);let a=i.map(l=>({identifier:l.identifier,version:l.version,location:l.location.toJSON(),relativeLocation:this.toRelativePath(l.location),metadata:l.metadata}));await this.fileService.writeFile(e,L.fromString(JSON.stringify(a)))}return i})}throwInvalidConentError(e){throw new ec(`Invalid extensions content in ${e.toString()}`,"ERROR_INVALID_CONTENT")}toRelativePath(e){return this.uriIdentityService.extUri.isEqual(this.uriIdentityService.extUri.dirname(e),this.extensionsLocation)?this.uriIdentityService.extUri.basename(e):void 0}resolveExtensionLocation(e){return this.uriIdentityService.extUri.joinPath(this.extensionsLocation,e)}async migrateFromOldDefaultProfileExtensionsLocation(){return this._migrationPromise||(this._migrationPromise=(async()=>{let e=this.uriIdentityService.extUri.joinPath(this.userDataProfilesService.defaultProfile.location,"extensions.json"),n=this.uriIdentityService.extUri.joinPath(this.extensionsLocation,".init-default-profile-extensions"),o;try{o=(await this.fileService.readFile(e)).value.toString()}catch(s){if(Dt(s)===1)return;throw s}this.logService.info("Migrating extensions from old default profile location",e.toString());let i;try{let s=JSON.parse(o);Array.isArray(s)&&s.every(a=>EO(a))?i=s:this.logService.warn("Skipping migrating from old default profile locaiton: Found invalid data",s)}catch(s){this.logService.error(s)}if(i)try{await this.fileService.createFile(this.userDataProfilesService.defaultProfile.extensionsResource,L.fromString(JSON.stringify(i)),{overwrite:!1}),this.logService.info("Migrated extensions from old default profile location to new location",e.toString(),this.userDataProfilesService.defaultProfile.extensionsResource.toString())}catch(s){if(Dt(s)===3)this.logService.info("Migration from old default profile location to new location is done by another window",e.toString(),this.userDataProfilesService.defaultProfile.extensionsResource.toString());else throw s}try{await this.fileService.del(e)}catch(s){Dt(s)!==1&&this.logService.error(s)}try{await this.fileService.del(n)}catch(s){Dt(s)!==1&&this.logService.error(s)}return i})()),this._migrationPromise}getResourceAccessQueue(e){let n=this.resourcesAccessQueueMap.get(e);return n||(n=new Tr,this.resourcesAccessQueueMap.set(e,n)),n}};eu=C([I(1,Oe),I(2,Yt),I(3,Je),I(4,K)],eu)});function nc(r){switch(r){case 1:return d(123,null);case 2:return d(122,null);case 3:return d(124,null);case 4:return d(125,null);case 5:return d(119,null);case 6:return d(120,null);case 7:return d(117,null);case 8:return d(118,null);case 9:return d(121,null);default:return""}}var iT=y(()=>{le();Qr()});function wO(r,t,e,n){try{a$(r,t,e,n)}catch(o){r.error(o?.message??o)}return t}function a$(r,t,e,n){let o=(i,s,a)=>{let l=i[s];if(Z(l)){let c=l,u=c.length;if(u>1&&c[0]==="%"&&c[u-1]==="%"){let p=c.substr(1,u-2),m=e[p];m===void 0&&n&&(m=n[p]);let g=typeof m=="string"?m:m?.message,h=n?.[p],v=typeof h=="string"?h:h?.message;if(!g){v||r.warn(`[${t.name}]: ${d(2825,null,p)}`);return}if(a&&(s==="title"||s==="category")&&v&&v!==g){let S={value:g,original:v};i[s]=S}else i[s]=g}}else if(Ae(l))for(let c in l)l.hasOwnProperty(c)&&(c==="commands"?o(l,c,!0):o(l,c,a));else if(Array.isArray(l))for(let c=0;c<l.length;c++)o(l,c,a)};for(let i in t)t.hasOwnProperty(i)&&o(t,i)}var TO=y(()=>{Ee();le()});function PO(r,t){let e=new Set;for(let n of r.builtInExtensionsEnabledWithAutoUpdates){let o=n.toLowerCase();t.skipBuiltinExtensions?.some(i=>i.toLowerCase()===o)||e.add(o)}return e}function vg(r,t){let e=$d(r.manifest.publisher,r.manifest.name);return{id:e,identifier:new nn(e),isBuiltin:r.type===0,isUserBuiltin:r.type===1&&r.isBuiltin,isUnderDevelopment:t,extensionLocation:r.location,uuid:r.identifier.uuid,targetPlatform:r.targetPlatform,publisherDisplayName:r.publisherDisplayName,preRelease:r.preRelease,...r.manifest}}var RO,Fs,tu,oc,nu,ou,ru=y(()=>{Lt();Me();en();ze();Se();Qr();iT();Q();Ne();Ue();me();Rt();Ua();zi();ie();le();Nn();ei();Bn();Ty();it();X();Pe();Fn();de();Os();tc();No();wo();TO();(t=>{function r(e,n){if(e===n)return!0;let o=Object.keys(e),i=new Set;for(let s of Object.keys(n))i.add(s);if(o.length!==i.size)return!1;for(let s of o){if(e[s]!==n[s])return!1;i.delete(s)}return i.size===0}t.equals=r})(RO||={});Fs=D("IExtensionsScannerService"),tu=class extends _{constructor(e,n,o,i,s,a,l,c,u,p,m,g){super();this.systemExtensionsLocation=e;this.userExtensionsLocation=n;this.extensionsControlLocation=o;this.userDataProfilesService=s;this.extensionsProfileScannerService=a;this.fileService=l;this.logService=c;this.environmentService=u;this.productService=p;this.uriIdentityService=m;this.instantiationService=g;this._onDidChangeCache=this._register(new w);this.onDidChangeCache=this._onDidChangeCache.event;this.initializeDefaultProfileExtensionsPromise=void 0;this.systemExtensionsCachedScanner=this._register(this.instantiationService.createInstance(ou,i)),this.userExtensionsCachedScanner=this._register(this.instantiationService.createInstance(ou,i)),this.extensionsScanner=this._register(this.instantiationService.createInstance(nu)),this._register(this.systemExtensionsCachedScanner.onDidChangeCache(()=>this._onDidChangeCache.fire(0))),this._register(this.userExtensionsCachedScanner.onDidChangeCache(()=>this._onDidChangeCache.fire(1)))}getTargetPlatform(){return this._targetPlatformPromise||(this._targetPlatformPromise=Ey(this.fileService,this.logService)),this._targetPlatformPromise}async scanAllExtensions(e,n){let[o,i]=await Promise.all([this.scanSystemExtensions(e),this.scanUserExtensions(n)]);return this.dedupExtensions(o,i,[],await this.getTargetPlatform(),!0)}async scanSystemExtensions(e){let n=[];n.push(this.scanDefaultSystemExtensions(e.language)),n.push(this.scanDevSystemExtensions(e.language,!!e.checkControlFile));let[o,i]=await Promise.all(n),s=[...o,...i];if(this.environmentService.skipBuiltinExtensions?.length){let a=new Set(this.environmentService.skipBuiltinExtensions.map(l=>l.toLowerCase()));s=s.filter(l=>!a.has(l.identifier.id.toLowerCase()))}return this.applyScanOptions(s,0,{pickLatest:!1})}async scanUserExtensions(e){this.logService.trace("Started scanning user extensions",e.profileLocation);let n=this.uriIdentityService.extUri.isEqual(e.profileLocation,this.userDataProfilesService.defaultProfile.extensionsResource)?{bailOutWhenFileNotFound:!0}:void 0,o=await this.createExtensionScannerInput(e.profileLocation,!0,1,e.language,!0,n,e.productVersion??this.getProductVersion()),i=e.useCache&&!o.devMode?this.userExtensionsCachedScanner:this.extensionsScanner,s;try{s=await i.scanExtensions(o)}catch(a){if(a instanceof ec&&a.code==="ERROR_PROFILE_NOT_FOUND")await this.doInitializeDefaultProfileExtensions(),s=await i.scanExtensions(o);else throw a}return s=await this.applyScanOptions(s,1,{includeInvalid:e.includeInvalid,pickLatest:!0}),this.logService.trace("Scanned user extensions:",s.length),s}async scanAllUserExtensions(e={includeInvalid:!0,includeAllVersions:!0}){let n=await this.createExtensionScannerInput(this.userExtensionsLocation,!1,1,void 0,!0,void 0,this.getProductVersion()),o=await this.extensionsScanner.scanExtensions(n);return this.applyScanOptions(o,1,{includeAllVersions:e.includeAllVersions,includeInvalid:e.includeInvalid})}async scanExtensionsUnderDevelopment(e,n){if(this.environmentService.isExtensionDevelopment&&this.environmentService.extensionDevelopmentLocationURI){let o=(await Promise.all(this.environmentService.extensionDevelopmentLocationURI.filter(i=>i.scheme===$.file).map(async i=>{let s=await this.createExtensionScannerInput(i,!1,1,n.language,!1,void 0,this.getProductVersion());return(await this.extensionsScanner.scanOneOrMultipleExtensions(s)).map(l=>(l.type=e.find(c=>Te(c.identifier,l.identifier))?.type??l.type,this.extensionsScanner.validate(l,s)))}))).flat();return this.applyScanOptions(o,"development",{includeInvalid:n.includeInvalid,pickLatest:!0})}return[]}async scanExistingExtension(e,n,o){let i=await this.createExtensionScannerInput(e,!1,n,o.language,!0,void 0,this.getProductVersion()),s=await this.extensionsScanner.scanExtension(i);return!s||!o.includeInvalid&&!s.isValid?null:s}async scanOneOrMultipleExtensions(e,n,o){let i=await this.createExtensionScannerInput(e,!1,n,o.language,!0,void 0,this.getProductVersion()),s=await this.extensionsScanner.scanOneOrMultipleExtensions(i);return this.applyScanOptions(s,n,{includeInvalid:o.includeInvalid,pickLatest:!0})}async scanMultipleExtensions(e,n,o){let i=[];return await Promise.all(e.map(async s=>{let a=await this.scanOneOrMultipleExtensions(s,n,o);i.push(...a)})),this.applyScanOptions(i,n,{includeInvalid:o.includeInvalid,pickLatest:!0})}async updateManifestMetadata(e,n){let o=fe(e,"package.json"),i=(await this.fileService.readFile(o)).value.toString(),s=JSON.parse(i);s.__metadata={...s.__metadata,...n},await this.fileService.writeFile(fe(e,"package.json"),L.fromString(JSON.stringify(s,null,"	")))}async initializeDefaultProfileExtensions(){try{await this.extensionsProfileScannerService.scanProfileExtensions(this.userDataProfilesService.defaultProfile.extensionsResource,{bailOutWhenFileNotFound:!0})}catch(e){if(e instanceof ec&&e.code==="ERROR_PROFILE_NOT_FOUND")await this.doInitializeDefaultProfileExtensions();else throw e}}async doInitializeDefaultProfileExtensions(){return this.initializeDefaultProfileExtensionsPromise||(this.initializeDefaultProfileExtensionsPromise=(async()=>{try{this.logService.info("Started initializing default profile extensions in extensions installation folder.",this.userExtensionsLocation.toString());let e=await this.scanAllUserExtensions({includeInvalid:!0});if(e.length)await this.extensionsProfileScannerService.addExtensionsToProfile(e.map(n=>[n,n.metadata]),this.userDataProfilesService.defaultProfile.extensionsResource);else try{await this.fileService.createFile(this.userDataProfilesService.defaultProfile.extensionsResource,L.fromString(JSON.stringify([])))}catch(n){Dt(n)!==1&&this.logService.warn("Failed to create default profile extensions manifest in extensions installation folder.",this.userExtensionsLocation.toString(),he(n))}this.logService.info("Completed initializing default profile extensions in extensions installation folder.",this.userExtensionsLocation.toString())}catch(e){this.logService.error(e)}finally{this.initializeDefaultProfileExtensionsPromise=void 0}})()),this.initializeDefaultProfileExtensionsPromise}async applyScanOptions(e,n,o={}){return o.includeAllVersions||(e=this.dedupExtensions(n===0?e:void 0,n===1?e:void 0,n==="development"?e:void 0,await this.getTargetPlatform(),!!o.pickLatest)),o.includeInvalid||(e=e.filter(i=>i.isValid)),e.sort((i,s)=>{let a=vt(i.location.fsPath),l=vt(s.location.fsPath);return a<l?-1:a>l?1:0})}dedupExtensions(e,n,o,i,s){let a=(u,p,m)=>{if(!m&&!(u.isBuiltin||p.isBuiltin)){if(u.metadata?.isApplicationScoped&&!p.metadata?.isApplicationScoped)return!1;if(!u.metadata?.isApplicationScoped&&p.metadata?.isApplicationScoped)return!0}if(u.isValid&&!p.isValid)return!1;if(u.isValid===p.isValid){if(s&&qi(u.manifest.version,p.manifest.version))return this.logService.debug(`Skipping extension ${p.location.path} with lower version ${p.manifest.version} in favour of ${u.location.path} with version ${u.manifest.version}`),!1;if(TL(u.manifest.version,p.manifest.version)){if(u.type===0)return this.logService.debug(`Skipping extension ${p.location.path} in favour of system extension ${u.location.path} with same version`),!1;if(u.targetPlatform===i)return this.logService.debug(`Skipping extension ${p.location.path} from different target platform ${p.targetPlatform}`),!1}}return m?this.logService.warn(`Overwriting user extension ${u.location.path} with ${p.location.path}.`):this.logService.debug(`Overwriting user extension ${u.location.path} with ${p.location.path}.`),!0},l=new jl;e?.forEach(u=>{let p=l.get(u.identifier.id);(!p||a(p,u,!1))&&l.set(u.identifier.id,u)});let c=PO(this.productService,this.environmentService);return n?.forEach(u=>{let p=l.get(u.identifier.id);if(!p&&e&&u.type===0){this.logService.debug(`Skipping obsolete system extension ${u.location.path}.`);return}if(c.has(u.identifier.id.toLowerCase())&&!u.forceAutoUpdate){this.logService.info(`Skipping user installed builtin extension ${u.identifier.id} with version ${u.manifest.version} because it is not allowed to in the current product quality ${this.productService.quality}`);return}(!p||a(p,u,!1))&&l.set(u.identifier.id,u)}),o?.forEach(u=>{let p=l.get(u.identifier.id);(!p||a(p,u,!0))&&l.set(u.identifier.id,u),l.set(u.identifier.id,u)}),[...l.values()]}async scanDefaultSystemExtensions(e){this.logService.trace("Started scanning system extensions");let n=await this.createExtensionScannerInput(this.systemExtensionsLocation,!1,0,e,!0,void 0,this.getProductVersion()),i=await(n.devMode?this.extensionsScanner:this.systemExtensionsCachedScanner).scanExtensions(n);return this.logService.trace("Scanned system extensions:",i.length),i}async scanDevSystemExtensions(e,n){let o=this.environmentService.isBuilt?[]:this.productService.builtInExtensions;if(!o?.length)return[];this.logService.trace("Started scanning dev system extensions");let i=n?await this.getBuiltInExtensionControl():{},s=[],a=b.file(wn(G(Tt.asFileUri("").fsPath,"..",".build","builtInExtensions")));for(let c of o){let u=i[c.name]||"marketplace";switch(u){case"disabled":break;case"marketplace":s.push(fe(a,c.name));break;default:s.push(b.file(u));break}}let l=await Promise.all(s.map(async c=>this.extensionsScanner.scanExtension(await this.createExtensionScannerInput(c,!1,0,e,!0,void 0,this.getProductVersion()))));return this.logService.trace("Scanned dev system extensions:",l.length),Go(l)}async getBuiltInExtensionControl(){try{let e=await this.fileService.readFile(this.extensionsControlLocation);return JSON.parse(e.value.toString())}catch{return{}}}async createExtensionScannerInput(e,n,o,i,s,a,l){let c=await this.getTranslations(i??Gn),u=await this.getMtime(e),p=n&&!this.uriIdentityService.extUri.isEqual(e,this.userDataProfilesService.defaultProfile.extensionsResource)?this.userDataProfilesService.defaultProfile.extensionsResource:void 0,m=p?await this.getMtime(p):void 0;return new oc(e,u,p,m,n,a,o,s,l.version,l.date,this.productService.commit,!this.environmentService.isBuilt,i,c)}async getMtime(e){try{let n=await this.fileService.stat(e);if(typeof n.mtime=="number")return n.mtime}catch{}}getProductVersion(){return{version:this.productService.version,date:this.productService.date}}};tu=C([I(4,Yt),I(5,pr),I(6,Oe),I(7,K),I(8,Pt),I(9,Be),I(10,Je),I(11,Tn)],tu);oc=class{constructor(t,e,n,o,i,s,a,l,c,u,p,m,g,h){this.location=t;this.mtime=e;this.applicationExtensionslocation=n;this.applicationExtensionslocationMtime=o;this.profile=i;this.profileScanOptions=s;this.type=a;this.validate=l;this.productVersion=c;this.productDate=u;this.productCommit=p;this.devMode=m;this.language=g;this.translations=h}static createNlsConfiguration(t){return{language:t.language,pseudo:t.language==="pseudo",devMode:t.devMode,translations:t.translations}}static equals(t,e){return yo(t.location,e.location)&&t.mtime===e.mtime&&yo(t.applicationExtensionslocation,e.applicationExtensionslocation)&&t.applicationExtensionslocationMtime===e.applicationExtensionslocationMtime&&t.profile===e.profile&&pt(t.profileScanOptions,e.profileScanOptions)&&t.type===e.type&&t.validate===e.validate&&t.productVersion===e.productVersion&&t.productDate===e.productDate&&t.productCommit===e.productCommit&&t.devMode===e.devMode&&t.language===e.language&&RO.equals(t.translations,e.translations)}},nu=class extends _{constructor(e,n,o,i,s,a){super();this.extensionsProfileScannerService=e;this.uriIdentityService=n;this.fileService=o;this.logService=a;this.productQuality=i.quality,this.productBuiltInExtensionsEnabledWithAutoUpdates=PO(i,s)}async scanExtensions(e){return e.profile?this.scanExtensionsFromProfile(e):this.scanExtensionsFromLocation(e)}async scanExtensionsFromLocation(e){let n=await this.fileService.resolve(e.location);if(!n.children?.length)return[];let o=await Promise.all(n.children.map(async i=>{if(!i.isDirectory||e.type===1&&Ln(i.resource).indexOf(".")===0)return null;let s=new oc(i.resource,e.mtime,e.applicationExtensionslocation,e.applicationExtensionslocationMtime,e.profile,e.profileScanOptions,e.type,e.validate,e.productVersion,e.productDate,e.productCommit,e.devMode,e.language,e.translations);return this.scanExtension(s)}));return Go(o).sort((i,s)=>i.location.path<s.location.path?-1:1)}async scanExtensionsFromProfile(e){let n=await this.scanExtensionsFromProfileResource(e.location,()=>!0,e);if(e.applicationExtensionslocation&&!this.uriIdentityService.extUri.isEqual(e.location,e.applicationExtensionslocation)){n=n.filter(i=>!i.metadata?.isApplicationScoped);let o=await this.scanExtensionsFromProfileResource(e.applicationExtensionslocation,i=>!!i.metadata?.isBuiltin||!!i.metadata?.isApplicationScoped,e);n.push(...o)}return n}async scanExtensionsFromProfileResource(e,n,o){let i=await this.extensionsProfileScannerService.scanProfileExtensions(e,o.profileScanOptions);if(!i.length)return[];let s=await Promise.all(i.map(async a=>{if(n(a)){let l=new oc(a.location,o.mtime,o.applicationExtensionslocation,o.applicationExtensionslocationMtime,o.profile,o.profileScanOptions,o.type,o.validate,o.productVersion,o.productDate,o.productCommit,o.devMode,o.language,o.translations);return this.scanExtension(l,a)}return null}));return Go(s)}async scanOneOrMultipleExtensions(e){try{if(await this.fileService.exists(fe(e.location,"package.json"))){let n=await this.scanExtension(e);return n?[n]:[]}else return await this.scanExtensions(e)}catch(n){return this.logService.error(`Error scanning extensions at ${e.location.path}:`,he(n)),[]}}async scanExtension(e,n){let o=[],i=!0,s;try{s=await this.scanExtensionManifest(e.location)}catch(g){if(n){o.push([We.Error,he(g)]),i=!1;let[h,v]=n.identifier.id.split(".");s={name:v,publisher:h,version:n.version,engines:{vscode:""}}}else return e.type!==0&&this.logService.error(g),null}s.publisher||(s.publisher=hy);let a;n?a={...n.metadata,size:s.__metadata?.size}:s.__metadata&&(a={installedTimestamp:s.__metadata.installedTimestamp,size:s.__metadata.size,targetPlatform:s.__metadata.targetPlatform}),delete s.__metadata;let l=Eo(s.publisher,s.name),c=a?.id?{id:l,uuid:a.id}:{id:l},u=a?.isSystem?0:e.type,p=u===0||!!a?.isBuiltin;try{s=await this.translateManifest(e.location,s,oc.createNlsConfiguration(e))}catch(g){this.logService.warn("Failed to translate manifest",he(g))}let m={type:u,identifier:c,manifest:s,location:e.location,isBuiltin:p,targetPlatform:a?.targetPlatform??"undefined",publisherDisplayName:a?.publisherDisplayName,metadata:a,isValid:i,validations:o,preRelease:!!a?.preRelease,forceAutoUpdate:this.productBuiltInExtensionsEnabledWithAutoUpdates.has(l.toLowerCase())&&this.productQuality==="stable"};return e.validate&&(m=this.validate(m,e)),s.enabledApiProposals&&(s.originalEnabledApiProposals=s.enabledApiProposals,s.enabledApiProposals=hL([...s.enabledApiProposals])),m}validate(e,n){let o=e.isValid,i=ML(n.productVersion,n.productDate,n.location,e.manifest,e.isBuiltin);for(let[s,a]of i)s===We.Error&&(o=!1,this.logService.error(this.formatMessage(n.location,a)));return e.isValid=o,e.validations=[...e.validations,...i],e}async scanExtensionManifest(e){let n=fe(e,"package.json"),o;try{o=(await this.fileService.readFile(n)).value.toString()}catch(s){throw Dt(s)!==1&&this.logService.error(this.formatMessage(e,d(2826,null,n.path,s.message))),s}let i;try{i=JSON.parse(o)}catch(s){let a=[];ur(o,a);for(let l of a)this.logService.error(this.formatMessage(e,d(2828,null,n.path,l.offset,l.length,nc(l.error))));throw s}if(Da(i)!=="object"){let s=this.formatMessage(e,d(2829,null,n.path));throw this.logService.error(s),new Error(s)}return i}async translateManifest(e,n,o){let i=await this.getLocalizedMessages(e,n,o);if(i)try{let s=[],a=await this.resolveOriginalMessageBundle(i.default,s);if(s.length>0)return s.forEach(c=>{this.logService.error(this.formatMessage(e,d(2830,null,i.default?.path,nc(c.error))))}),n;if(Da(i)!=="object")return this.logService.error(this.formatMessage(e,d(2827,null,i.default?.path))),n;let l=i.values||Object.create(null);return wO(this.logService,n,l,a)}catch{}return n}async getLocalizedMessages(e,n,o){let i=fe(e,"package.nls.json"),s=(u,p)=>{p.forEach(m=>{this.logService.error(this.formatMessage(e,d(2830,null,u?.path,nc(m.error))))})},a=u=>{this.logService.error(this.formatMessage(e,d(2827,null,u?.path)))},l=`${n.publisher}.${n.name}`,c=o.translations[l];if(c)try{let u=b.file(c),p=(await this.fileService.readFile(u)).value.toString(),m=[],g=ur(p,m);return m.length>0?(s(u,m),{values:void 0,default:i}):Da(g)!=="object"?(a(u),{values:void 0,default:i}):{values:g.contents?g.contents.package:void 0,default:i}}catch{return{values:void 0,default:i}}else{if(!await this.fileService.exists(i))return;let p;try{p=await this.findMessageBundles(e,o)}catch{return}if(!p.localized)return{values:void 0,default:p.original};try{let m=(await this.fileService.readFile(p.localized)).value.toString(),g=[],h=ur(m,g);return g.length>0?(s(p.localized,g),{values:void 0,default:p.original}):Da(h)!=="object"?(a(p.localized),{values:void 0,default:p.original}):{values:h,default:p.original}}catch{return{values:void 0,default:p.original}}}}async resolveOriginalMessageBundle(e,n){if(e)try{let o=(await this.fileService.readFile(e)).value.toString();return ur(o,n)}catch{}}findMessageBundles(e,n){return new Promise((o,i)=>{let s=a=>{let l=fe(e,`package.nls.${a}.json`);this.fileService.exists(l).then(c=>{c&&o({localized:l,original:fe(e,"package.nls.json")});let u=a.lastIndexOf("-");u===-1?o({localized:fe(e,"package.nls.json"),original:null}):(a=a.substring(0,u),s(a))})};if(n.devMode||n.pseudo||!n.language)return o({localized:fe(e,"package.nls.json"),original:null});s(n.language)})}formatMessage(e,n){return`[${e.path}]: ${n}`}};nu=C([I(0,pr),I(1,Je),I(2,Oe),I(3,Be),I(4,Pt),I(5,K)],nu);ou=class extends nu{constructor(e,n,o,i,s,a,l,c){super(o,i,s,a,l,c);this.currentProfile=e;this.userDataProfilesService=n;this.cacheValidatorThrottler=this._register(new Er(3e3));this._onDidChangeCache=this._register(new w);this.onDidChangeCache=this._onDidChangeCache.event}async scanExtensions(e){let n=this.getCacheFile(e),o=await this.readExtensionCache(n);if(this.input=e,o&&o.input&&oc.equals(o.input,this.input))return this.logService.debug("Using cached extensions scan result",e.type===0?"system":"user",e.location.toString()),this.cacheValidatorThrottler.trigger(()=>this.validateCache()),o.result.map(s=>(s.location=b.revive(s.location),s));let i=await super.scanExtensions(e);return await this.writeExtensionCache(n,{input:e,result:i}),i}async readExtensionCache(e){try{let n=await this.fileService.readFile(e),o=JSON.parse(n.value.toString());return{result:o.result,input:un(o.input)}}catch(n){Dt(n)!==1&&this.logService.debug("Error while reading the extension cache file:",e.path,he(n))}return null}async writeExtensionCache(e,n){try{await this.fileService.writeFile(e,L.fromString(JSON.stringify(n)))}catch(o){this.logService.debug("Error while writing the extension cache file:",e.path,he(o))}}async validateCache(){if(!this.input)return;let e=this.getCacheFile(this.input),n=await this.readExtensionCache(e);if(!n)return;let o=n.result,i=JSON.parse(JSON.stringify(await super.scanExtensions(this.input)));if(!pt(i,o))try{this.logService.info("Invalidating Cache",o,i),await this.fileService.del(e),this._onDidChangeCache.fire()}catch(s){this.logService.error(s)}}getCacheFile(e){let n=this.getProfile(e);return this.uriIdentityService.extUri.joinPath(n.cacheHome,e.type===0?fL:fy)}getProfile(e){return e.type===0?this.userDataProfilesService.defaultProfile:e.profile?this.uriIdentityService.extUri.isEqual(e.location,this.currentProfile.extensionsResource)?this.currentProfile:this.userDataProfilesService.profiles.find(n=>this.uriIdentityService.extUri.isEqual(e.location,n.extensionsResource))??this.currentProfile:this.userDataProfilesService.defaultProfile}};ou=C([I(1,Yt),I(2,pr),I(3,Je),I(4,Oe),I(5,Be),I(6,Pt),I(7,K)],ou)});function yg(r){let t="Extract";return r instanceof Zl&&(r.type==="CorruptZip"?t="CorruptZip":r.type==="Incomplete"&&(t="IncompleteZip")),rn(r,t)}async function $y(r){let t;try{t=await Uy(r,"extension/package.json")}catch(e){throw yg(e)}try{return JSON.parse(t.toString("utf8"))}catch{throw new Ut(d(2841,null),"Invalid")}}var sT=y(()=>{Ny();le();hg();Co()});var iu,Ha,qy=y(()=>{Se();Ee();X();Pe();Rn();Co();iu=D("IExtensionSignatureVerificationService"),Ha=class{constructor(t,e){this.logService=t;this.telemetryService=e}vsceSign(){return this.moduleLoadingPromise||(this.moduleLoadingPromise=this.resolveVsceSign()),this.moduleLoadingPromise}async resolveVsceSign(){return import("@vscode/vsce-sign")}async verify(t,e,n,o,i){let s;try{s=await this.vsceSign()}catch(u){this.logService.error("Could not load vsce-sign module",he(u)),this.logService.info(`Extension signature verification is not done: ${t}`);return}let a=new Date().getTime(),l;try{this.logService.trace(`Verifying extension signature for ${t}...`),l=await s.verify(n,o,this.logService.getLevel()===1)}catch(u){l={code:"UnknownError",didExecute:!1,output:he(u)}}let c=new Date().getTime()-a;return this.logService.info(`Extension signature verification result for ${t}: ${l.code}. ${zr(l.internalCode)?`Internal Code: ${l.internalCode}. `:""}Executed: ${l.didExecute}. Duration: ${c}ms.`),this.logService.trace(`Extension signature verification output for ${t}:
${l.output}`),this.telemetryService.publicLog2("extensionsignature:verification",{extensionId:t,extensionVersion:e,code:l.code,internalCode:l.internalCode,duration:c,didExecute:l.didExecute,clientTargetPlatform:i}),{code:l.code}}};Ha=C([I(0,K),I(1,Ct)],Ha)});var Vs,kO=y(()=>{Me();Se();Q();Ne();Rt();Ua();Jt();Ao();Ny();Nn();hg();Co();ei();sT();qy();it();Pe();Rn();wo();Vs=class extends _{constructor(e,n,o,i,s,a,l){super();this.fileService=n;this.extensionGalleryService=o;this.extensionSignatureVerificationService=i;this.telemetryService=s;this.uriIdentityService=a;this.logService=l;this.extensionsDownloadDir=e.extensionsDownloadLocation,this.extensionsTrashDir=a.extUri.joinPath(e.extensionsDownloadLocation,".trash"),this.cache=20,this.cleanUpPromise=this.cleanUp()}static{this.SignatureArchiveExtension=".sigzip"}async download(e,n,o,i){await this.cleanUpPromise;let s=await this.downloadVSIX(e,n);if(!o)return{location:s,verificationStatus:void 0};if(!e.isSigned)return{location:s,verificationStatus:"NotSigned"};let a;try{a=await this.downloadSignatureArchive(e);let l=(await this.extensionSignatureVerificationService.verify(e.identifier.id,e.version,s.fsPath,a.fsPath,i))?.code;if(l==="PackageIsInvalidZip"||l==="SignatureArchiveIsInvalidZip"){try{await this.delete(s)}catch(c){this.logService.error(c)}throw new Ut(zw,"CorruptZip")}return{location:s,verificationStatus:l}}catch(l){try{await this.delete(s)}catch(c){this.logService.error(c)}throw l}finally{if(a)try{await this.delete(a)}catch(l){this.logService.error(l)}}}async downloadVSIX(e,n){try{let o=fe(this.extensionsDownloadDir,this.getName(e)),i=await this.doDownload(e,"vsix",async()=>{await this.downloadFile(e,o,s=>this.extensionGalleryService.download(e,s,n));try{await this.validate(o.fsPath,"extension/package.json")}catch(s){try{await this.fileService.del(o)}catch(a){this.logService.warn(`Error while deleting: ${o.path}`,he(a))}throw s}},2);return i>1&&this.telemetryService.publicLog2("extensiongallery:downloadvsix:retry",{extensionId:e.identifier.id,attempts:i}),o}catch(o){throw rn(o,"Download")}}async downloadSignatureArchive(e){try{let n=fe(this.extensionsDownloadDir,`${this.getName(e)}${Vs.SignatureArchiveExtension}`),o=await this.doDownload(e,"sigzip",async()=>{await this.extensionGalleryService.downloadSignatureArchive(e,n);try{await this.validate(n.fsPath,".signature.p7s")}catch(i){try{await this.fileService.del(n)}catch(s){this.logService.warn(`Error while deleting: ${n.path}`,he(s))}throw i}},2);return o>1&&this.telemetryService.publicLog2("extensiongallery:downloadsigzip:retry",{extensionId:e.identifier.id,attempts:o}),n}catch(n){throw rn(n,"DownloadSignature")}}async downloadFile(e,n,o){if(await this.fileService.exists(n))return;if(n.scheme!==$.file){await o(n);return}let i=fe(this.extensionsDownloadDir,`.${ye()}`);try{await o(i)}catch(s){try{await this.fileService.del(i)}catch{}throw s}try{await ke.rename(i.fsPath,n.fsPath,120*1e3)}catch(s){try{await this.fileService.del(i)}catch{}let a=!1;try{a=await this.fileService.exists(n)}catch{}if(a)this.logService.info("Rename failed because the file was downloaded by another source. So ignoring renaming.",e.identifier.id,n.path);else throw this.logService.info(`Rename failed because of ${he(s)}. Deleted the file from downloaded location`,i.path),s}}async doDownload(e,n,o,i){let s=1;for(;;)try{return await o(),s}catch(a){if(s++>i)throw a;this.logService.warn(`Failed downloading ${n}. ${he(a)}. Retry again...`,e.identifier.id)}}async validate(e,n){try{await Uy(e,n)}catch(o){throw yg(o)}}async delete(e){await this.cleanUpPromise;let n=this.uriIdentityService.extUri.relativePath(this.extensionsDownloadDir,e);n?await this.fileService.move(e,this.uriIdentityService.extUri.joinPath(this.extensionsTrashDir,n),!0):await this.fileService.del(e)}async cleanUp(){try{if(!await this.fileService.exists(this.extensionsDownloadDir)){this.logService.trace("Extension VSIX downloads cache dir does not exist");return}try{await this.fileService.del(this.extensionsTrashDir,{recursive:!0})}catch(n){Dt(n)!==1&&this.logService.error(n)}let e=await this.fileService.resolve(this.extensionsDownloadDir,{resolveMetadata:!0});if(e.children){let n=[],o=[],i=[];for(let l of e.children)if(l.name.endsWith(Vs.SignatureArchiveExtension))i.push(l.resource);else{let c=Zn.parse(l.name);c&&o.push([c,l])}let s=Cy(o,([l])=>l),a=[];for(let l of s)l.sort((c,u)=>xy(c[0].version,u[0].version)),n.push(...l.slice(1).map(c=>c[1].resource)),a.push(l[0][1]);a.sort((l,c)=>l.mtime-c.mtime),n.push(...a.slice(0,Math.max(0,a.length-this.cache)).map(l=>l.resource)),n.push(...i),await In.settled(n.map(l=>(this.logService.trace("Deleting from cache",l.path),this.fileService.del(l))))}}catch(e){this.logService.error(e)}}getName(e){return Zn.create(e).toString().toLowerCase()}};Vs=C([I(0,Xn),I(1,Oe),I(2,co),I(3,iu),I(4,Ct),I(5,Je),I(6,K)],Vs)});import{fork as l$}from"child_process";var su,DO=y(()=>{Me();Ol();de();Q();Ne();Ue();Ao();Pe();No();su=class extends _{constructor(e,n){super();this.userDataProfilesService=e;this.logService=n;this.processesLimiter=new xm(5)}async postUninstall(e){let n=this.parseScript(e,"uninstall");n&&(this.logService.info(e.identifier.id,e.manifest.version,"Running post uninstall script"),await this.processesLimiter.queue(async()=>{try{await this.runLifecycleHook(n.script,"uninstall",n.args,!0,e),this.logService.info("Finished running post uninstall script",e.identifier.id,e.manifest.version)}catch(o){this.logService.error("Failed to run post uninstall script",e.identifier.id,e.manifest.version),this.logService.error(o)}}));try{await ke.rm(this.getExtensionStoragePath(e))}catch(o){this.logService.error("Error while removing extension storage path",e.identifier.id),this.logService.error(o)}}parseScript(e,n){let o=`vscode:${n}`;if(e.location.scheme===$.file&&e.manifest&&e.manifest.scripts&&typeof e.manifest.scripts[o]=="string"){let i=e.manifest.scripts[o].split(" ");return i.length<2||i[0]!=="node"||!i[1]?(this.logService.warn(e.identifier.id,e.manifest.version,`${o} should be a node script`),null):{script:G(e.location.fsPath,i[1]),args:i.slice(2)||[]}}return null}runLifecycleHook(e,n,o,i,s){return new Promise((a,l)=>{let c=this.start(e,n,o,s),u,p=m=>{u&&(clearTimeout(u),u=null),m?l(m):a(void 0)};c.on("error",m=>{p(jr(m)||"Unknown")}),c.on("exit",(m,g)=>{p(m?`post-${n} process exited with code ${m}`:void 0)}),i&&(u=setTimeout(()=>{u=null,c.kill(),l("timed out")},5e3))})}start(e,n,o,i){let s={silent:!0,execArgv:void 0},a=l$(e,[`--type=extension-post-${n}`,...o],s);a.stdout.setEncoding("utf8"),a.stderr.setEncoding("utf8");let l=W.fromNodeEventEmitter(a.stdout,"data"),c=W.fromNodeEventEmitter(a.stderr,"data");this._register(l(m=>this.logService.info(i.identifier.id,i.manifest.version,`post-${n}`,m))),this._register(c(m=>this.logService.error(i.identifier.id,i.manifest.version,`post-${n}`,m)));let u=W.any(W.map(l,m=>({data:`%c${m}`,format:[""]}),this._store),W.map(c,m=>({data:`%c${m}`,format:["color: red"]}),this._store));return W.debounce(u,(m,g)=>m?{data:m.data+g.data,format:[...m.format,...g.format]}:{data:g.data,format:g.format},100,void 0,void 0,void 0,this._store)(m=>{console.group(i.identifier.id),console.log(m.data,...m.format),console.groupEnd()}),a}getExtensionStoragePath(e){return G(this.userDataProfilesService.defaultProfile.globalStorageHome.fsPath,e.identifier.id.toLowerCase())}};su=C([I(0,Yt),I(1,K)],su)});var zy,_O=y(()=>{Q();Bn();it();zy=class extends _{constructor(e,n,o,i,s){super();this.userDataProfilesService=e;this.fileService=n;this.uriIdentityService=o;this.logService=s;this._register(i.onDidInstallExtensions(a=>this.onDidInstallExtensions(a))),this._register(i.onDidUninstallExtension(a=>this.onDidUnInstallExtension(a)))}onDidInstallExtensions(e){for(let n of e)n.local&&this.invalidate(n.profileLocation)}onDidUnInstallExtension(e){e.error||this.invalidate(e.profileLocation)}async invalidate(e){if(e)for(let n of this.userDataProfilesService.profiles)this.uriIdentityService.extUri.isEqual(n.extensionsResource,e)&&await this.deleteUserCacheFile(n);else await this.deleteUserCacheFile(this.userDataProfilesService.defaultProfile)}async deleteUserCacheFile(e){try{await this.fileService.del(this.uriIdentityService.extUri.joinPath(e.cacheHome,fy))}catch(n){Dt(n)!==1&&this.logService.error(n)}}}});var Gy,MO=y(()=>{Se();de();Q();_n();ei();Bn();it();Gy=class extends _{constructor(e,n,o,i,s,a,l){super();this.extensionManagementService=e;this.extensionsScannerService=n;this.userDataProfilesService=o;this.extensionsProfileScannerService=i;this.uriIdentityService=s;this.fileService=a;this.logService=l;this._onDidChangeExtensionsByAnotherSource=this._register(new w);this.onDidChangeExtensionsByAnotherSource=this._onDidChangeExtensionsByAnotherSource.event;this.allExtensions=new Map;this.extensionsProfileWatchDisposables=this._register(new ar);this.initialize().then(null,c=>l.error("Error while initializing Extensions Watcher",he(c)))}async initialize(){await this.extensionsScannerService.initializeDefaultProfileExtensions(),await this.onDidChangeProfiles(this.userDataProfilesService.profiles),this.registerListeners(),await this.deleteExtensionsNotInProfiles()}registerListeners(){this._register(this.userDataProfilesService.onDidChangeProfiles(e=>this.onDidChangeProfiles(e.added))),this._register(this.extensionsProfileScannerService.onAddExtensions(e=>this.onAddExtensions(e))),this._register(this.extensionsProfileScannerService.onDidAddExtensions(e=>this.onDidAddExtensions(e))),this._register(this.extensionsProfileScannerService.onRemoveExtensions(e=>this.onRemoveExtensions(e))),this._register(this.extensionsProfileScannerService.onDidRemoveExtensions(e=>this.onDidRemoveExtensions(e))),this._register(this.fileService.onDidFilesChange(e=>this.onDidFilesChange(e)))}async onDidChangeProfiles(e){try{e.length&&await Promise.all(e.map(n=>(this.extensionsProfileWatchDisposables.set(n.id,pv(this.fileService.watch(this.uriIdentityService.extUri.dirname(n.extensionsResource)),this.fileService.watch(n.extensionsResource))),this.populateExtensionsFromProfile(n.extensionsResource))))}catch(n){throw this.logService.error(n),n}}async onAddExtensions(e){for(let n of e.extensions)this.addExtensionWithKey(this.getKey(n.identifier,n.version),e.profileLocation)}async onDidAddExtensions(e){for(let n of e.extensions){let o=this.getKey(n.identifier,n.version);e.error?this.removeExtensionWithKey(o,e.profileLocation):this.addExtensionWithKey(o,e.profileLocation)}}async onRemoveExtensions(e){for(let n of e.extensions)this.removeExtensionWithKey(this.getKey(n.identifier,n.version),e.profileLocation)}async onDidRemoveExtensions(e){let n=[],o=[];for(let i of e.extensions){let s=this.getKey(i.identifier,i.version);e.error?this.addExtensionWithKey(s,e.profileLocation):(this.removeExtensionWithKey(s,e.profileLocation),this.allExtensions.has(s)||(this.logService.debug("Extension is removed from all profiles",i.identifier.id,i.version),o.push(this.extensionManagementService.scanInstalledExtensionAtLocation(i.location).then(a=>{a?n.push(a):this.logService.info("Extension not found at the location",i.location.toString())},a=>this.logService.error(a)))))}try{await Promise.all(o),n.length&&await this.deleteExtensionsNotInProfiles(n)}catch(i){this.logService.error(i)}}onDidFilesChange(e){for(let n of this.userDataProfilesService.profiles)e.contains(n.extensionsResource,0,1)&&this.onDidExtensionsProfileChange(n.extensionsResource)}async onDidExtensionsProfileChange(e){let n=[],o=[],i=await this.extensionsProfileScannerService.scanProfileExtensions(e),s=new Set,a=new Set;for(let[l,c]of this.allExtensions)c.has(e)&&a.add(l);for(let l of i){let c=this.getKey(l.identifier,l.version);s.add(c),a.has(c)||(n.push(l.identifier),this.addExtensionWithKey(c,e))}for(let l of a)if(!s.has(l)){let c=this.fromKey(l);c&&(o.push(c.identifier),this.removeExtensionWithKey(l,e))}(n.length||o.length)&&this._onDidChangeExtensionsByAnotherSource.fire({added:n.length?{extensions:n,profileLocation:e}:void 0,removed:o.length?{extensions:o,profileLocation:e}:void 0})}async populateExtensionsFromProfile(e){let n=await this.extensionsProfileScannerService.scanProfileExtensions(e);for(let o of n)this.addExtensionWithKey(this.getKey(o.identifier,o.version),e)}async deleteExtensionsNotInProfiles(e){e||(e=(await this.extensionManagementService.scanAllUserInstalledExtensions()).filter(o=>!this.allExtensions.has(this.getKey(o.identifier,o.manifest.version)))),e.length&&await this.extensionManagementService.deleteExtensions(...e)}addExtensionWithKey(e,n){let o=this.allExtensions.get(e);o||this.allExtensions.set(e,o=new Ss(i=>this.uriIdentityService.extUri.getComparisonKey(i))),o.add(n)}removeExtensionWithKey(e,n){let o=this.allExtensions.get(e);o&&o.delete(n),o?.size||this.allExtensions.delete(e)}getKey(e,n){return`${nn.toKey(e.id)}@${n}`}fromKey(e){let[n,o]=cg(e);return o?{identifier:{id:n},version:o}:void 0}}});import*as AO from"fs";var Sg,aT,Wa,Ig,bg,lT,cT=y(()=>{Me();ze();Se();de();Ul();Q();_n();Ne();Ue();Rt();Ua();Ee();ie();Jt();Ao();Ny();le();Fy();Nn();hg();Co();ei();tc();ru();kO();DO();sT();_O();MO();Bn();Ty();it();X();Pe();Fn();Rn();wo();No();tn();Yl();Sg=Wd,aT=".vsctmp",Wa=class extends Xd{constructor(e,n,o,i,s,a,l,c,u,p,m,g,h,v,S){super(e,n,v,o,g,h,S);this.environmentService=i;this.extensionsScannerService=s;this.extensionsProfileScannerService=a;this.downloadService=l;this.instantiationService=c;this.fileService=u;this.configurationService=p;this.extensionGalleryManifestService=m;this.extractingGalleryExtensions=new Map;this.knownDirectories=new Ss;let T=this._register(c.createInstance(su));this.extensionsScanner=this._register(c.createInstance(Ig,k=>T.postUninstall(k))),this.manifestCache=this._register(new zy(S,u,v,this,this.logService)),this.extensionsDownloader=this._register(c.createInstance(Vs));let E=this._register(new Gy(this,this.extensionsScannerService,S,a,v,u,o));this._register(E.onDidChangeExtensionsByAnotherSource(k=>this.onDidChangeExtensionsFromAnotherSource(k))),this.watchForExtensionsNotInstalledBySystem()}getTargetPlatform(){return this._targetPlatformPromise||(this._targetPlatformPromise=Ey(this.fileService,this.logService)),this._targetPlatformPromise}async zip(e){this.logService.trace("ExtensionManagementService#zip",e.identifier.id);let n=await this.collectFiles(e),o=await rO(fe(this.extensionsDownloader.extensionsDownloadDir,ye()).fsPath,n);return b.file(o)}async getManifest(e){let{location:n,cleanup:o}=await this.downloadVsix(e),i=io(n.fsPath);try{return await $y(i)}finally{await o()}}getInstalled(e,n=this.userDataProfilesService.defaultProfile.extensionsResource,o={version:this.productService.version,date:this.productService.date},i){return this.extensionsScanner.scanExtensions(e??null,n,o,i)}scanAllUserInstalledExtensions(){return this.extensionsScanner.scanAllUserExtensions()}scanInstalledExtensionAtLocation(e){return this.extensionsScanner.scanUserExtensionAtLocation(e)}async install(e,n={}){this.logService.trace("ExtensionManagementService#install",e.toString());let{location:o,cleanup:i}=await this.downloadVsix(e);try{let s=await $y(io(o.fsPath)),a=Eo(s.publisher,s.name);if(s.engines&&s.engines.vscode&&!ug(s.engines.vscode,this.productService.version,this.productService.date))throw new Error(d(2835,null,a,this.productService.version));let l=this.allowedExtensionsService.isAllowed({id:a,version:s.version,publisherDisplayName:void 0});if(l!==!0)throw new Error(d(2837,null,l.value));let u=(await this.installExtensions([{manifest:s,extension:o,options:n}])).find(({identifier:p})=>Te(p,{id:a}));if(u?.local)return u.local;throw u?.error?u.error:rn(new Error(`Unknown error while installing extension ${a}`))}finally{await i()}}async installFromLocation(e,n){this.logService.trace("ExtensionManagementService#installFromLocation",e.toString());let o=await this.extensionsScanner.scanUserExtensionAtLocation(e);if(!o||!o.manifest.name||!o.manifest.version)throw new Error(`Cannot find a valid extension from the location ${e.toString()}`);return await this.addExtensionsToProfile([[o,{source:"resource"}]],n),this.logService.info("Successfully installed extension",o.identifier.id,n.toString()),o}async installExtensionsFromProfile(e,n,o){this.logService.trace("ExtensionManagementService#installExtensionsFromProfile",e,n.toString(),o.toString());let i=(await this.getInstalled(1,n)).filter(s=>e.some(a=>Te(a,s.identifier)));if(i.length){let s=await Promise.all(i.map(a=>this.extensionsScanner.scanMetadata(a,n)));await this.addExtensionsToProfile(i.map((a,l)=>[a,s[l]]),o),this.logService.info("Successfully installed extensions",i.map(a=>a.identifier.id),o.toString())}return i}async updateMetadata(e,n,o){return this.logService.trace("ExtensionManagementService#updateMetadata",e.identifier.id),n.isPreReleaseVersion&&(n.preRelease=!0,n.hasPreReleaseVersion=!0),n.isMachineScoped===!1&&(n.isMachineScoped=void 0),n.isBuiltin===!1&&(n.isBuiltin=void 0),n.pinned===!1&&(n.pinned=void 0),e=await this.extensionsScanner.updateMetadata(e,n,o),this.manifestCache.invalidate(o),this._onDidUpdateExtensionMetadata.fire({local:e,profileLocation:o}),e}deleteExtension(e){return this.extensionsScanner.deleteExtension(e,"remove")}copyExtension(e,n,o,i){return this.extensionsScanner.copyExtension(e,n,o,i)}moveExtension(e,n,o,i){return this.extensionsScanner.moveExtension(e,n,o,i)}removeExtension(e,n){return this.extensionsScanner.removeExtension(e.identifier,n)}copyExtensions(e,n){return this.extensionsScanner.copyExtensions(e,n,{version:this.productService.version,date:this.productService.date})}deleteExtensions(...e){return this.extensionsScanner.setExtensionsForRemoval(...e)}async cleanUp(){this.logService.trace("ExtensionManagementService#cleanUp");try{await this.extensionsScanner.cleanUp()}catch(e){this.logService.error(e)}}async download(e,n,o){let{location:i}=await this.downloadExtension(e,n,!o);return i}async downloadVsix(e){if(e.scheme===$.file)return{location:e,async cleanup(){}};this.logService.trace("Downloading extension from",e.toString());let n=fe(this.extensionsDownloader.extensionsDownloadDir,ye());return await this.downloadService.download(e,n,"extensionManagement.downloadVsix"),this.logService.info("Downloaded extension to",n.toString()),{location:n,cleanup:async()=>{try{await this.fileService.del(n)}catch(i){this.logService.error(i)}}}}getCurrentExtensionsManifestLocation(){return this.userDataProfilesService.defaultProfile.extensionsResource}createInstallExtensionTask(e,n,o){let i=n instanceof b?new Zn({id:Eo(e.publisher,e.name)},e.version):Zn.create(n);return this.instantiationService.createInstance(bg,i,e,n,o,(s,a)=>{if(n instanceof b)return this.extractVSIX(i,n,o,a);let l=this.extractingGalleryExtensions.get(i.toString());return l||(this.extractingGalleryExtensions.set(i.toString(),l=this.downloadAndExtractGalleryExtension(i,n,s,o,a)),l.finally(()=>this.extractingGalleryExtensions.delete(i.toString()))),l},this.extensionsScanner)}createUninstallExtensionTask(e,n){return new lT(e,n,this.extensionsProfileScannerService)}async downloadAndExtractGalleryExtension(e,n,o,i,s){let{verificationStatus:a,location:l}=await this.downloadExtension(n,o,!i.donotVerifySignature,i.context?.[IL]);try{if(s.isCancellationRequested)throw new et;let c=await $y(l.fsPath);if(!new Zn(n.identifier,n.version).equals(new Zn({id:Eo(c.publisher,c.name)},c.version)))throw new Ut(d(2836,null,n.identifier.id),"Invalid");let u=await this.extensionsScanner.extractUserExtension(e,l.fsPath,!1,s);if(a!=="Success"&&this.environmentService.isBuilt)try{await this.extensionsDownloader.delete(l)}catch(p){this.logService.warn("Error while deleting the downloaded file",l.toString(),he(p))}return{local:u,verificationStatus:a}}catch(c){try{await this.extensionsDownloader.delete(l)}catch(u){this.logService.warn("Error while deleting the downloaded file",l.toString(),he(u))}throw rn(c)}}async downloadExtension(e,n,o,i){o&&(o=!1);let{location:s,verificationStatus:a}=await this.extensionsDownloader.download(e,n,o,i),l=CL(e.private,await this.extensionGalleryManifestService.getExtensionGalleryManifest());if(a!=="Success"&&!(a==="NotSigned"&&!l)&&o&&this.environmentService.isBuilt&&await this.getTargetPlatform()!=="linux-armhf"){try{await this.extensionsDownloader.delete(s)}catch(c){this.logService.warn("Error while deleting the downloaded file",s.toString(),he(c))}if(!a)throw new Ut(d(2840,null),"SignatureVerificationInternal");switch(a){case"PackageIntegrityCheckFailed":case"SignatureIsInvalid":case"SignatureManifestIsInvalid":case"SignatureIntegrityCheckFailed":case"EntryIsMissing":case"EntryIsTampered":case"Untrusted":case"CertificateRevoked":case"SignatureIsNotValid":case"SignatureArchiveHasTooManyEntries":case"NotSigned":throw new Ut(d(2839,null,a),"SignatureVerificationFailed")}throw new Ut(d(2839,null,a),"SignatureVerificationInternal")}return{location:s,verificationStatus:a}}async extractVSIX(e,n,o,i){return{local:await this.extensionsScanner.extractUserExtension(e,io(n.fsPath),sr(o.keepExisting)?!o.keepExisting:!0,i)}}async collectFiles(e){let n=async i=>{let s=await ke.readdir(i);s=s.map(c=>G(i,c));let a=await Promise.all(s.map(c=>AO.promises.stat(c))),l=Promise.resolve([]);return a.forEach((c,u)=>{let p=s[u];c.isFile()&&(l=l.then(m=>[...m,p])),c.isDirectory()&&(l=l.then(m=>n(p).then(g=>[...m,...g])))}),l};return(await n(e.location.fsPath)).map(i=>({path:`extension/${bs(e.location.fsPath,i)}`,localPath:i}))}async onDidChangeExtensionsFromAnotherSource({added:e,removed:n}){if(n){let o=e&&this.uriIdentityService.extUri.isEqual(n.profileLocation,e.profileLocation)?n.extensions.filter(i=>e.extensions.every(s=>!Te(s,i))):n.extensions;for(let i of o)this.logService.info("Extensions removed from another source",i.id,n.profileLocation.toString()),this._onDidUninstallExtension.fire({identifier:i,profileLocation:n.profileLocation})}if(e){let i=(await this.getInstalled(1,e.profileLocation)).filter(s=>e.extensions.some(a=>Te(a,s.identifier)));this._onDidInstallExtensions.fire(i.map(s=>(this.logService.info("Extensions added from another source",s.identifier.id,e.profileLocation.toString()),{identifier:s.identifier,local:s,profileLocation:e.profileLocation,operation:1})))}}async watchForExtensionsNotInstalledBySystem(){this._register(this.extensionsScanner.onExtract(n=>this.knownDirectories.add(n)));let e=await this.fileService.resolve(this.extensionsScannerService.userExtensionsLocation);for(let n of e.children??[])n.isDirectory&&this.knownDirectories.add(n.resource);this._register(this.fileService.watch(this.extensionsScannerService.userExtensionsLocation)),this._register(this.fileService.onDidFilesChange(n=>this.onDidFilesChange(n)))}async onDidFilesChange(e){if(!e.affects(this.extensionsScannerService.userExtensionsLocation,1))return;let n=[];for(let o of e.rawAdded){if(this.knownDirectories.has(o)||!this.uriIdentityService.extUri.isEqual(this.uriIdentityService.extUri.dirname(o),this.extensionsScannerService.userExtensionsLocation)||this.uriIdentityService.extUri.isEqual(o,this.uriIdentityService.extUri.joinPath(this.extensionsScannerService.userExtensionsLocation,".obsolete"))||this.uriIdentityService.extUri.basename(o).startsWith(".")||this.uriIdentityService.extUri.basename(o).endsWith(aT))continue;try{if(!(await this.fileService.stat(o)).isDirectory)continue}catch(s){Dt(s)!==1&&this.logService.error(s);continue}let i=await this.extensionsScanner.scanUserExtensionAtLocation(o);i&&i.installedTimestamp===void 0&&(this.knownDirectories.add(o),n.push(i))}n.length&&(await this.addExtensionsToProfile(n.map(o=>[o,void 0]),this.userDataProfilesService.defaultProfile.extensionsResource),this.logService.info("Added extensions to default profile from external source",n.map(o=>o.identifier.id)))}async addExtensionsToProfile(e,n){let o=e.map(i=>i[0]);await this.extensionsScanner.unsetExtensionsForRemoval(...o.map(i=>Zn.create(i))),await this.extensionsProfileScannerService.addExtensionsToProfile(e,n),this._onDidInstallExtensions.fire(o.map(i=>({local:i,identifier:i.identifier,operation:1,profileLocation:n})))}};Wa=C([I(0,co),I(1,Ct),I(2,K),I(3,Xn),I(4,Fs),I(5,pr),I(6,Jd),I(7,Tn),I(8,Oe),I(9,mt),I(10,Gi),I(11,Be),I(12,Dr),I(13,Je),I(14,Yt)],Wa);Ig=class extends _{constructor(e,n,o,i,s,a,l,c,u,p){super();this.beforeRemovingExtension=e;this.environmentService=n;this.fileService=o;this.extensionsScannerService=i;this.extensionsProfileScannerService=s;this.uriIdentityService=a;this.telemetryService=l;this.productService=c;this.userDataProfilesService=u;this.logService=p;this._onExtract=this._register(new w);this.onExtract=this._onExtract.event;this.scanAllExtensionPromise=new Xe;this.scanUserExtensionsPromise=new Xe;this.obsoletedResource=fe(this.extensionsScannerService.userExtensionsLocation,".obsolete"),this.obsoleteFileLimiter=new Tr}async cleanUp(){await this.removeTemporarilyDeletedFolders(),await this.removeStaleAutoUpdateBuiltinExtensions(),await this.deleteExtensionsMarkedForRemoval(),await this.initializeExtensionSize()}async scanExtensions(e,n,o,i){try{let s=n.with({query:i}),a={includeInvalid:!0,profileLocation:n,productVersion:o,language:i},l=[];if(e===null||e===0){let c=this.scanAllExtensionPromise.get(s);c||(c=this.extensionsScannerService.scanAllExtensions({language:i},a).finally(()=>this.scanAllExtensionPromise.delete(s)),this.scanAllExtensionPromise.set(s,c)),l.push(...await c)}else if(e===1){let c=this.scanUserExtensionsPromise.get(s);c||(c=this.extensionsScannerService.scanUserExtensions(a).finally(()=>this.scanUserExtensionsPromise.delete(s)),this.scanUserExtensionsPromise.set(s,c)),l.push(...await c)}return l=e!==null?l.filter(c=>c.type===e):l,await Promise.all(l.map(c=>this.toLocalExtension(c)))}catch(s){throw rn(s,"Scanning")}}async scanAllUserExtensions(){try{let e=await this.extensionsScannerService.scanAllUserExtensions();return await Promise.all(e.map(n=>this.toLocalExtension(n)))}catch(e){throw rn(e,"Scanning")}}async scanUserExtensionAtLocation(e){try{let n=await this.extensionsScannerService.scanExistingExtension(e,1,{includeInvalid:!0});if(n)return await this.toLocalExtension(n)}catch(n){this.logService.error(n)}return null}async extractUserExtension(e,n,o,i){let s=e.toString(),a=b.file(G(this.extensionsScannerService.userExtensionsLocation.fsPath,`.${ye()}`)),l=b.file(G(this.extensionsScannerService.userExtensionsLocation.fsPath,s));if(await this.fileService.exists(l)){if(!o)try{return await this.scanLocalExtension(l,1)}catch(c){this.logService.warn(`Error while scanning the existing extension at ${l.path}. Deleting the existing extension and extracting it.`,he(c))}try{await this.deleteExtensionFromLocation(e.id,l,"removeExisting")}catch{throw new Ut(d(2834,null,l.fsPath,e.id),"Delete")}}try{if(i.isCancellationRequested)throw new et;try{this.logService.trace(`Started extracting the extension from ${n} to ${l.fsPath}`),await iO(n,a.fsPath,{sourcePath:"extension",overwrite:!0},i),this.logService.info(`Extracted extension to ${l}:`,e.id)}catch(u){throw yg(u)}let c={installedTimestamp:Date.now(),targetPlatform:e.targetPlatform};try{c.size=await Iy(a,this.fileService)}catch(u){this.logService.warn(`Error while getting the size of the extracted extension : ${a.fsPath}`,he(u))}try{await this.extensionsScannerService.updateManifestMetadata(a,c)}catch(u){throw this.telemetryService.publicLog2("extension:extract",{extensionId:e.id,code:`${Dt(u)}`}),rn(u,"UpdateMetadata")}if(i.isCancellationRequested)throw new et;try{this.logService.trace(`Started renaming the extension from ${a.fsPath} to ${l.fsPath}`),await this.rename(a.fsPath,l.fsPath),this.logService.info("Renamed to",l.fsPath)}catch(u){if(u.code==="ENOTEMPTY"){this.logService.info("Rename failed because extension was installed by another source. So ignoring renaming.",e.id);try{await this.fileService.del(a,{recursive:!0})}catch{}}else throw this.logService.info(`Rename failed because of ${he(u)}. Deleted from extracted location`,a),u}this._onExtract.fire(l)}catch(c){try{await this.fileService.del(a,{recursive:!0})}catch{}throw c}return this.scanLocalExtension(l,1)}async scanMetadata(e,n){return(await this.getScannedExtension(e,n))?.metadata}async getScannedExtension(e,n){return(await this.extensionsProfileScannerService.scanProfileExtensions(n)).find(i=>Te(i.identifier,e.identifier))}async updateMetadata(e,n,o){try{await this.extensionsProfileScannerService.updateMetadata([[e,n]],o)}catch(i){throw this.telemetryService.publicLog2("extension:extract",{extensionId:e.identifier.id,code:`${Dt(i)}`,isProfile:!!o}),rn(i,"UpdateMetadata")}return this.scanLocalExtension(e.location,e.type,o)}async setExtensionsForRemoval(...e){let n=[];for(let i of e)await this.fileService.exists(i.location)&&n.push(i);let o=n.map(i=>Zn.create(i));await this.withRemovedExtensions(i=>o.forEach(s=>{i[s.toString()]=!0,this.logService.info("Marked extension as removed",s.toString())}))}async unsetExtensionsForRemoval(...e){try{let n=[];return await this.withRemovedExtensions(o=>e.forEach(i=>{o[i.toString()]?(n.push(!0),delete o[i.toString()]):n.push(!1)})),n}catch(n){throw rn(n,"UnsetRemoved")}}async deleteExtension(e,n){this.uriIdentityService.extUri.isEqualOrParent(e.location,this.extensionsScannerService.userExtensionsLocation)&&(await this.deleteExtensionFromLocation(e.identifier.id,e.location,n),await this.unsetExtensionsForRemoval(Zn.create(e)))}async copyExtension(e,n,o,i){let s=await this.getScannedExtension(e,n),a=await this.getScannedExtension(e,o);if(i={...s?.metadata,...i},a)if(this.uriIdentityService.extUri.isEqual(a.location,e.location))await this.extensionsProfileScannerService.updateMetadata([[e,{...a.metadata,...i}]],o);else{let l=await this.scanLocalExtension(a.location,e.type,o);await this.extensionsProfileScannerService.removeExtensionsFromProfile([l.identifier],o),await this.extensionsProfileScannerService.addExtensionsToProfile([[e,{...a.metadata,...i}]],o)}else await this.extensionsProfileScannerService.addExtensionsToProfile([[e,i]],o);return this.scanLocalExtension(e.location,e.type,o)}async moveExtension(e,n,o,i){let s=await this.getScannedExtension(e,n),a=await this.getScannedExtension(e,o);if(i={...s?.metadata,...i},a)if(this.uriIdentityService.extUri.isEqual(a.location,e.location))await this.extensionsProfileScannerService.updateMetadata([[e,{...a.metadata,...i}]],o);else{let l=await this.scanLocalExtension(a.location,e.type,o);await this.removeExtension(l.identifier,o),await this.extensionsProfileScannerService.addExtensionsToProfile([[e,{...a.metadata,...i}]],o)}else await this.extensionsProfileScannerService.addExtensionsToProfile([[e,i]],o),s&&await this.removeExtension(s.identifier,n);return this.scanLocalExtension(e.location,e.type,o)}async removeExtension(e,n){await this.extensionsProfileScannerService.removeExtensionsFromProfile([e],n)}async copyExtensions(e,n,o){let i=await this.scanExtensions(1,e,o),s=await Promise.all(i.filter(a=>!a.isApplicationScoped).map(async a=>[a,await this.scanMetadata(a,e)]));await this.extensionsProfileScannerService.addExtensionsToProfile(s,n)}async deleteExtensionFromLocation(e,n,o){this.logService.trace(`Deleting ${o} extension from disk`,e,n.fsPath);let i=this.uriIdentityService.extUri.joinPath(this.uriIdentityService.extUri.dirname(n),`${this.uriIdentityService.extUri.basename(n)}.${Rr(ye()).toString(16)}${aT}`);await this.rename(n.fsPath,i.fsPath),await this.fileService.del(i,{recursive:!0}),this.logService.info(`Deleted ${o} extension from disk`,e,n.fsPath)}withRemovedExtensions(e){return this.obsoleteFileLimiter.queue(async()=>{let n;try{n=(await this.fileService.readFile(this.obsoletedResource,"utf8")).value.toString()}catch(i){if(Dt(i)!==1)throw i}let o={};if(n)try{o=JSON.parse(n)}catch{}if(e)if(e(o),Object.keys(o).length)await this.fileService.writeFile(this.obsoletedResource,L.fromString(JSON.stringify(o)));else try{await this.fileService.del(this.obsoletedResource)}catch(i){if(Dt(i)!==1)throw i}return o})}async rename(e,n){try{await ke.rename(e,n,120*1e3)}catch(o){throw rn(o,"Rename")}}async scanLocalExtension(e,n,o){try{if(o){let s=(await this.extensionsScannerService.scanUserExtensions({profileLocation:o})).find(a=>this.uriIdentityService.extUri.isEqual(a.location,e));if(s)return await this.toLocalExtension(s)}else{let i=await this.extensionsScannerService.scanExistingExtension(e,n,{includeInvalid:!0});if(i)return await this.toLocalExtension(i)}throw new Ut(d(2833,null,e.path),"ScanningExtension")}catch(i){throw rn(i,"ScanningExtension")}}async toLocalExtension(e){let n;try{n=await this.fileService.resolve(e.location)}catch{}let o,i;return n?.children&&(o=n.children.find(({name:s})=>/^readme(\.txt|\.md|)$/i.test(s))?.resource,i=n.children.find(({name:s})=>/^changelog(\.txt|\.md|)$/i.test(s))?.resource),{identifier:e.identifier,type:e.type,isBuiltin:e.isBuiltin||!!e.metadata?.isBuiltin,location:e.location,manifest:e.manifest,targetPlatform:e.targetPlatform,validations:e.validations,isValid:e.isValid,readmeUrl:o,changelogUrl:i,publisherDisplayName:e.metadata?.publisherDisplayName,publisherId:e.metadata?.publisherId||null,isApplicationScoped:!!e.metadata?.isApplicationScoped,isMachineScoped:!!e.metadata?.isMachineScoped,isPreReleaseVersion:!!e.metadata?.isPreReleaseVersion,hasPreReleaseVersion:!!e.metadata?.hasPreReleaseVersion,preRelease:e.preRelease,installedTimestamp:e.metadata?.installedTimestamp,updated:!!e.metadata?.updated,pinned:!!e.metadata?.pinned,forceAutoUpdate:e.forceAutoUpdate,private:!!e.metadata?.private,isWorkspaceScoped:!1,source:e.metadata?.source??(e.identifier.uuid?"gallery":"vsix"),size:e.metadata?.size??0}}async initializeExtensionSize(){let e=await this.extensionsScannerService.scanAllUserExtensions();await Promise.all(e.map(async n=>{if(zr(n.metadata?.installedTimestamp)&&Mn(n.metadata?.size)){let o=await Iy(n.location,this.fileService);await this.extensionsScannerService.updateManifestMetadata(n.location,{size:o})}}))}async removeStaleAutoUpdateBuiltinExtensions(){if(this.environmentService.extensionTestsLocationURI)return;let e=await this.extensionsScannerService.scanSystemExtensions({}),o=(await this.extensionsScannerService.scanAllUserExtensions()).filter(i=>{if(!this.productService.builtInExtensionsEnabledWithAutoUpdates.some(a=>a.toLowerCase()===i.identifier.id.toLowerCase()))return!1;let s=e.find(a=>Te(a.identifier,i.identifier));return s&&Sy(i.manifest.version,s.manifest.version)});o.length&&(this.logService.info("Removing stale auto-update builtin extensions:",o.map(i=>`${i.identifier.id}@${i.manifest.version}`).join(", ")),await this.extensionsProfileScannerService.removeExtensionsFromProfile(o.map(i=>i.identifier),this.userDataProfilesService.defaultProfile.extensionsResource),await Promise.allSettled(o.map(i=>this.deleteExtension(i,"stale auto-update builtin"))))}async deleteExtensionsMarkedForRemoval(){let e;try{e=await this.withRemovedExtensions()}catch(s){throw rn(s,"ReadRemoved")}if(Object.keys(e).length===0){this.logService.debug("No extensions are marked as removed.");return}this.logService.debug("Deleting extensions marked as removed:",Object.keys(e));let n=await this.scanAllUserExtensions(),o=new Set;for(let s of n)e[Zn.create(s).toString()]||o.add(s.identifier.id.toLowerCase());try{let s=Cy(n,a=>a.identifier);await In.settled(s.map(async a=>{let l=a.sort((c,u)=>xy(c.manifest.version,u.manifest.version))[0];o.has(l.identifier.id.toLowerCase())||await this.beforeRemovingExtension(l)}))}catch(s){this.logService.error(s)}let i=n.filter(s=>s.installedTimestamp&&e[Zn.create(s).toString()]);await Promise.allSettled(i.map(s=>this.deleteExtension(s,"marked for removal")))}async removeTemporarilyDeletedFolders(){this.logService.trace("ExtensionManagementService#removeTempDeleteFolders");let e;try{e=await this.fileService.resolve(this.extensionsScannerService.userExtensionsLocation)}catch(n){Dt(n)!==1&&this.logService.error(n);return}if(e?.children)try{await Promise.allSettled(e.children.map(async n=>{if(!(!n.isDirectory||!n.name.endsWith(aT))){this.logService.trace("Deleting the temporarily deleted folder",n.resource.toString());try{await this.fileService.del(n.resource,{recursive:!0}),this.logService.trace("Deleted the temporarily deleted folder",n.resource.toString())}catch(o){Dt(o)!==1&&this.logService.error(o)}}}))}catch{}}};Ig=C([I(1,Pt),I(2,Oe),I(3,Fs),I(4,pr),I(5,Je),I(6,Ct),I(7,Be),I(8,Yt),I(9,K)],Ig);bg=class extends fg{constructor(e,n,o,i,s,a,l,c,u,p,m,g,h){super();this.extensionKey=e;this.manifest=n;this.source=o;this.options=i;this.extractExtensionFn=s;this.extensionsScanner=a;this.uriIdentityService=l;this.galleryService=c;this.userDataProfilesService=u;this.extensionsScannerService=p;this.extensionsProfileScannerService=m;this.productService=g;this.logService=h;this._operation=2;this.identifier=this.extensionKey.identifier}get operation(){return this.options.operation??this._operation}get verificationStatus(){return this._verificationStatus}async doRun(e){let o=(await this.extensionsScanner.scanExtensions(1,this.options.profileLocation,this.options.productVersion)).find(u=>Te(u.identifier,this.identifier));o&&(this._operation=3);let s=(await this.extensionsScanner.scanExtensions(0,this.options.profileLocation,this.options.productVersion)).find(u=>Te(u.identifier,this.identifier));if(s){if(!s.forceAutoUpdate)throw new Ut(d(2831,null,s.identifier.id,this.productService.quality),"Incompatible");if(qi(s.manifest.version,this.manifest.version))throw new Ut(d(2832,null,s.identifier.id,s.manifest.version,this.manifest.version),"Incompatible")}let a={isApplicationScoped:this.options.isApplicationScoped||o?.isApplicationScoped,isMachineScoped:this.options.isMachineScoped||o?.isMachineScoped,isBuiltin:this.options.isBuiltin||o?.isBuiltin,isSystem:o?.type===0?!0:void 0,installedTimestamp:Date.now(),pinned:this.options.installGivenVersion?!0:this.options.pinned??o?.pinned,source:this.source instanceof b?"vsix":"gallery"},l;if(this.source instanceof b){if(o&&this.extensionKey.equals(new Zn(o.identifier,o.manifest.version)))try{await this.extensionsScanner.deleteExtension(o,"existing")}catch{throw new Error(d(2838,null,this.manifest.displayName||this.manifest.name))}let u=await this.unsetIfRemoved(this.extensionKey);if(u)try{await this.extensionsScanner.deleteExtension(u,"existing")}catch{throw new Error(d(2838,null,this.manifest.displayName||this.manifest.name))}}else{if(a.id=this.source.identifier.uuid,a.publisherId=this.source.publisherId,a.publisherDisplayName=this.source.publisherDisplayName,a.targetPlatform=this.source.properties.targetPlatform,a.updated=!!o,a.private=this.source.private,a.isPreReleaseVersion=this.source.properties.isPreReleaseVersion,a.hasPreReleaseVersion=o?.hasPreReleaseVersion||this.source.properties.isPreReleaseVersion,a.preRelease=sr(this.options.preRelease)?this.options.preRelease:this.options.installPreReleaseVersion||this.source.properties.isPreReleaseVersion||o?.preRelease,o&&o.type!==0&&o.manifest.version===this.source.version)return this.extensionsScanner.updateMetadata(o,a,this.options.profileLocation);l=await this.unsetIfRemoved(this.extensionKey)}if(e.isCancellationRequested)throw rn(new et);if(!l){let u=await this.extractExtensionFn(this.operation,e);l=u.local,this._verificationStatus=u.verificationStatus}if(this.uriIdentityService.extUri.isEqual(this.userDataProfilesService.defaultProfile.extensionsResource,this.options.profileLocation))try{await this.extensionsScannerService.initializeDefaultProfileExtensions()}catch(u){throw rn(u,"IntializeDefaultProfile")}if(e.isCancellationRequested)throw rn(new et);try{await this.extensionsProfileScannerService.addExtensionsToProfile([[l,a]],this.options.profileLocation,!l.isValid)}catch(u){throw rn(u,"AddToProfile")}let c=await this.extensionsScanner.scanLocalExtension(l.location,1,this.options.profileLocation);if(!c)throw new Ut("Cannot find the installed extension","InstalledExtensionNotFound");return this.source instanceof b&&this.updateMetadata(l,e),c}async unsetIfRemoved(e){let[n]=await this.extensionsScanner.unsetExtensionsForRemoval(e);if(n)return this.logService.info("Removed the extension from removed list:",e.id),(await this.extensionsScanner.scanAllUserExtensions()).find(i=>Zn.create(i).equals(e))}async updateMetadata(e,n){try{let[o]=await this.galleryService.getExtensions([{id:e.identifier.id,version:e.manifest.version}],n);if(o||([o]=await this.galleryService.getExtensions([{id:e.identifier.id}],n)),o){let i={id:o.identifier.uuid,publisherDisplayName:o.publisherDisplayName,publisherId:o.publisherId,isPreReleaseVersion:o.properties.isPreReleaseVersion,hasPreReleaseVersion:e.hasPreReleaseVersion||o.properties.isPreReleaseVersion,preRelease:o.properties.isPreReleaseVersion||this.options.installPreReleaseVersion};await this.extensionsScanner.updateMetadata(e,i,this.options.profileLocation)}}catch{}}};bg=C([I(6,Je),I(7,co),I(8,Yt),I(9,Fs),I(10,pr),I(11,Be),I(12,K)],bg);lT=class extends fg{constructor(e,n,o){super();this.extension=e;this.options=n;this.extensionsProfileScannerService=o}doRun(e){return this.extensionsProfileScannerService.removeExtensionsFromProfile([this.extension.identifier],this.options.profileLocation)}}});var dT,xg,LO=y(()=>{dT=class{constructor(t,e){this.key=t;this.data=e;this.incoming=new Map;this.outgoing=new Map}},xg=class{constructor(t){this._hashFn=t;this._nodes=new Map}roots(){let t=[];for(let e of this._nodes.values())e.outgoing.size===0&&t.push(e);return t}insertEdge(t,e){let n=this.lookupOrInsertNode(t),o=this.lookupOrInsertNode(e);n.outgoing.set(o.key,o),o.incoming.set(n.key,n)}removeNode(t){let e=this._hashFn(t);this._nodes.delete(e);for(let n of this._nodes.values())n.outgoing.delete(e),n.incoming.delete(e)}lookupOrInsertNode(t){let e=this._hashFn(t),n=this._nodes.get(e);return n||(n=new dT(e,t),this._nodes.set(e,n)),n}lookup(t){return this._nodes.get(this._hashFn(t))}isEmpty(){return this._nodes.size===0}toString(){let t=[];for(let[e,n]of this._nodes)t.push(`${e}
	(-> incoming)[${[...n.incoming.keys()].join(", ")}]
	(outgoing ->)[${[...n.outgoing.keys()].join(",")}]
`);return t.join(`
`)}findCycleSlow(){for(let[t,e]of this._nodes){let n=new Set([t]),o=this._findCycle(e,n);if(o)return o}}_findCycle(t,e){for(let[n,o]of t.outgoing){if(e.has(n))return[...e,n].join(" -> ");e.add(n);let i=this._findCycle(o,e);if(i)return i;e.delete(n)}}}});var c$,jy,au,Cg,uT=y(()=>{Me();Se();Q();Vm();LO();X();Pv();mv();c$=!1,jy=class extends Error{constructor(t){super("cyclic dependency between services"),this.message=t.findCycleSlow()??`UNABLE to detect cycle, dumping graph: 
${t.toString()}`}},au=class r{constructor(t=new xa,e=!1,n,o=c$){this._services=t;this._strict=e;this._parent=n;this._enableTracing=o;this._isDisposed=!1;this._servicesToMaybeDispose=new Set;this._children=new Set;this._activeInstantiations=new Set;this._services.set(Tn,this),this._globalGraph=o?n?._globalGraph??new xg(i=>i):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,Kt(this._children),this._children.clear();for(let t of this._servicesToMaybeDispose)uv(t)&&t.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error("InstantiationService has been disposed")}createChild(t,e){this._throwIfDisposed();let n=this,o=new class extends r{dispose(){n._children.delete(o),super.dispose()}}(t,this._strict,this,this._enableTracing);return this._children.add(o),e?.add(o),o}invokeFunction(t,...e){this._throwIfDisposed();let n=Cg.traceInvocation(this._enableTracing,t),o=!1;try{return t({get:s=>{if(o)throw sv("service accessor is only valid during the invocation of its target method");let a=this._getOrCreateServiceInstance(s,n);return a||this._throwIfStrict(`[invokeFunction] unknown service '${s}'`,!1),a}},...e)}finally{o=!0,n.stop()}}createInstance(t,...e){this._throwIfDisposed();let n,o;return t instanceof at?(n=Cg.traceCreation(this._enableTracing,t.ctor),o=this._createInstance(t.ctor,t.staticArguments.concat(e),n)):(n=Cg.traceCreation(this._enableTracing,t),o=this._createInstance(t,e,n)),n.stop(),o}_createInstance(t,e=[],n){let o=mi.getServiceDependencies(t).sort((a,l)=>a.index-l.index),i=[];for(let a of o){let l=this._getOrCreateServiceInstance(a.id,n);l||this._throwIfStrict(`[createInstance] ${t.name} depends on UNKNOWN service ${a.id}.`,!1),i.push(l)}let s=o.length>0?o[0].index:e.length;if(e.length!==s){console.trace(`[createInstance] First service dependency of ${t.name} at position ${s+1} conflicts with ${e.length} static arguments`);let a=s-e.length;a>0?e=e.concat(new Array(a)):e=e.slice(0,s)}return Reflect.construct(t,e.concat(i))}_setCreatedServiceInstance(t,e){if(this._services.get(t)instanceof at)this._services.set(t,e);else if(this._parent)this._parent._setCreatedServiceInstance(t,e);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(t){let e=this._services.get(t);return!e&&this._parent?this._parent._getServiceInstanceOrDescriptor(t):e}_getOrCreateServiceInstance(t,e){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(t));let n=this._getServiceInstanceOrDescriptor(t);return n instanceof at?this._safeCreateAndCacheServiceInstance(t,n,e.branch(t,!0)):(e.branch(t,!1),n)}_safeCreateAndCacheServiceInstance(t,e,n){if(this._activeInstantiations.has(t))throw new Error(`illegal state - RECURSIVELY instantiating service '${t}'`);this._activeInstantiations.add(t);try{return this._createAndCacheServiceInstance(t,e,n)}finally{this._activeInstantiations.delete(t)}}_createAndCacheServiceInstance(t,e,n){let o=new xg(l=>l.id.toString()),i=0,s=[{id:t,desc:e,_trace:n}],a=new Set;for(;s.length;){let l=s.pop();if(!a.has(String(l.id))){if(a.add(String(l.id)),o.lookupOrInsertNode(l),i++>1e3)throw new jy(o);for(let c of mi.getServiceDependencies(l.desc.ctor)){let u=this._getServiceInstanceOrDescriptor(c.id);if(u||this._throwIfStrict(`[createInstance] ${t} depends on ${c.id} which is NOT registered.`,!0),this._globalGraph?.insertEdge(String(l.id),String(c.id)),u instanceof at){let p={id:c.id,desc:u,_trace:l._trace.branch(c.id,!0)};o.insertEdge(l,p),s.push(p)}}}}for(;;){let l=o.roots();if(l.length===0){if(!o.isEmpty())throw new jy(o);break}for(let{data:c}of l){if(this._getServiceInstanceOrDescriptor(c.id)instanceof at){let p=this._createServiceInstanceWithOwner(c.id,c.desc.ctor,c.desc.staticArguments,c.desc.supportsDelayedInstantiation,c._trace);this._setCreatedServiceInstance(c.id,p)}o.removeNode(c)}}return this._getServiceInstanceOrDescriptor(t)}_createServiceInstanceWithOwner(t,e,n=[],o,i){if(this._services.get(t)instanceof at)return this._createServiceInstance(t,e,n,o,i,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(t,e,n,o,i);throw new Error(`illegalState - creating UNKNOWN service instance ${e.name}`)}_createServiceInstance(t,e,n=[],o,i,s){if(o){let a=new r(void 0,this._strict,this,this._enableTracing);a._globalGraphImplicitDependency=String(t);let l=new Map,c=new Ev(()=>{let u=a._createInstance(e,n,i);for(let[p,m]of l){let g=u[p];if(typeof g=="function")for(let h of m)h.disposable=g.apply(u,h.listener)}return l.clear(),s.add(u),u});return new Proxy(Object.create(null),{get(u,p){if(!c.isInitialized&&typeof p=="string"&&(p.startsWith("onDid")||p.startsWith("onWill"))){let h=l.get(p);return h||(h=new va,l.set(p,h)),(S,T,E)=>{if(c.isInitialized)return c.value[p](S,T,E);{let k={listener:[S,T,E],disposable:void 0},P=h.push(k);return oe(()=>{P(),k.disposable?.dispose()})}}}if(p in u)return u[p];let m=c.value,g=m[p];return typeof g!="function"||(g=g.bind(m),u[p]=g),g},set(u,p,m){return c.value[p]=m,!0},getPrototypeOf(u){return e.prototype}})}else{let a=this._createInstance(e,n,i);return s.add(a),a}}_throwIfStrict(t,e){if(e&&console.warn(t),this._strict)throw new Error(t)}},Cg=class r{constructor(t,e){this.type=t;this.name=e;this._start=Date.now();this._dep=[]}static{this.all=new Set}static{this._None=new class extends r{constructor(){super(0,null)}stop(){}branch(){return this}}}static traceInvocation(t,e){return t?new r(2,e.name||new Error().stack.split(`
`).slice(3,4).join(`
`)):r._None}static traceCreation(t,e){return t?new r(1,e.name):r._None}static{this._totals=0}branch(t,e){let n=new r(3,t.toString());return this._dep.push([t,e,n]),n}stop(){let t=Date.now()-this._start;r._totals+=t;let e=!1;function n(i,s){let a=[],l=new Array(i+1).join("	");for(let[c,u,p]of s._dep)if(u&&p){e=!0,a.push(`${l}CREATES -> ${c}`);let m=n(i+1,p);m&&a.push(m)}else a.push(`${l}uses -> ${c}`);return a.join(`
`)}let o=[`${this.type===1?"CREATE":"CALL"} ${this.name}`,`${n(1,this)}`,`DONE, took ${t.toFixed(2)}ms (grand total ${r._totals.toFixed(2)}ms)`];(t>2||e)&&r.all.add(o.join(`
`))}}});async function Jy(r,t,e,n,o,i){let s;try{await d$(r,t,e,n,o,i)}catch(a){s=a}finally{s&&o.errorTransformer&&(s=o.errorTransformer(s)),typeof s<"u"&&e.error(s),e.end()}}async function d$(r,t,e,n,o,i){pT(i);let s=await r.open(t,{create:!1});try{pT(i);let a=0,l=0,c=o&&typeof o.length=="number"?o.length:void 0,u=L.alloc(Math.min(o.bufferSize,typeof c=="number"?c:o.bufferSize)),p=o&&typeof o.position=="number"?o.position:0,m=0;do l=await r.read(s,p,u.buffer,m,u.byteLength-m),p+=l,m+=l,a+=l,typeof c=="number"&&(c-=l),m===u.byteLength&&(await e.write(n(u)),u=L.alloc(Math.min(o.bufferSize,typeof c=="number"?c:o.bufferSize)),m=0);while(l>0&&(typeof c!="number"||c>0)&&pT(i)&&u$(a,o));if(m>0){let g=m;typeof c=="number"&&(g=Math.min(m,c)),e.write(n(u.slice(0,g)))}}catch(a){throw As(a)}finally{await r.close(s)}}function pT(r){if(r.isCancellationRequested)throw dm();return!0}function u$(r,t){if(typeof t?.limits?.size=="number"&&r>t.limits.size)throw Yr(d(2907,null),"EntryTooLarge");return!0}var mT=y(()=>{ze();Se();le();it()});var ji,fT=y(()=>{Lt();Me();ze();jt();de();Ul();Gr();Q();qm();Ne();Wr();Rt();md();le();it();mT();Pe();Se();ji=class extends _{constructor(e){super();this.logService=e;this.BUFFER_SIZE=256*1024;this._onDidChangeFileSystemProviderRegistrations=this._register(new w);this.onDidChangeFileSystemProviderRegistrations=this._onDidChangeFileSystemProviderRegistrations.event;this._onWillActivateFileSystemProvider=this._register(new w);this.onWillActivateFileSystemProvider=this._onWillActivateFileSystemProvider.event;this._onDidChangeFileSystemProviderCapabilities=this._register(new w);this.onDidChangeFileSystemProviderCapabilities=this._onDidChangeFileSystemProviderCapabilities.event;this.provider=new Map;this._onDidRunOperation=this._register(new w);this.onDidRunOperation=this._onDidRunOperation.event;this.internalOnDidFilesChange=this._register(new w);this._onDidUncorrelatedFilesChange=this._register(new w);this.onDidFilesChange=this._onDidUncorrelatedFilesChange.event;this._onDidWatchError=this._register(new w);this.onDidWatchError=this._onDidWatchError.event;this.activeWatchers=new Map;this.writeQueue=this._register(new dd)}registerProvider(e,n){if(this.provider.has(e))throw new Error(`A filesystem provider for the scheme '${e}' is already registered.`);Vt(`code/registerFilesystem/${e}`);let o=new re;return this.provider.set(e,n),this._onDidChangeFileSystemProviderRegistrations.fire({added:!0,scheme:e,provider:n}),o.add(n.onDidChangeFile(i=>{let s=new Jv(i,!this.isPathCaseSensitive(n));this.internalOnDidFilesChange.fire(s),s.hasCorrelation()||this._onDidUncorrelatedFilesChange.fire(s)})),typeof n.onDidWatchError=="function"&&o.add(n.onDidWatchError(i=>this._onDidWatchError.fire(new Error(i)))),o.add(n.onDidChangeCapabilities(()=>this._onDidChangeFileSystemProviderCapabilities.fire({provider:n,scheme:e}))),oe(()=>{this._onDidChangeFileSystemProviderRegistrations.fire({added:!1,scheme:e,provider:n}),this.provider.delete(e),Kt(o)})}getProvider(e){return this.provider.get(e)}async activateProvider(e){let n=[];this._onWillActivateFileSystemProvider.fire({scheme:e,join(o){n.push(o)}}),!this.provider.has(e)&&await In.settled(n)}async canHandleResource(e){return await this.activateProvider(e.scheme),this.hasProvider(e)}hasProvider(e){return this.provider.has(e.scheme)}hasCapability(e,n){let o=this.provider.get(e.scheme);return!!(o&&o.capabilities&n)}listCapabilities(){return Gt.map(this.provider,([e,n])=>({scheme:e,capabilities:n.capabilities}))}async withProvider(e){if(!y0(e))throw new Un(d(2896,null,this.resourceForError(e)),8);await this.activateProvider(e.scheme);let n=this.provider.get(e.scheme);if(!n){let o=new Kn;throw o.message=d(2898,null,e.toString()),o}return n}async withReadProvider(e){let n=await this.withProvider(e);if(Ms(n)||Pr(n)||Yv(n))return n;throw new Error(`Filesystem provider for scheme '${e.scheme}' neither has FileReadWrite, FileReadStream nor FileOpenReadWriteClose capability which is needed for the read operation.`)}async withWriteProvider(e){let n=await this.withProvider(e);if(Ms(n)||Pr(n))return n;throw new Error(`Filesystem provider for scheme '${e.scheme}' neither has FileReadWrite nor FileOpenReadWriteClose capability which is needed for the write operation.`)}async resolve(e,n){try{return await this.doResolveFile(e,n)}catch(o){throw zm(o)==="EntryNotFound"?new Un(d(2893,null,this.resourceForError(e)),1):As(o)}}async doResolveFile(e,n){let o=await this.withProvider(e),i=this.isPathCaseSensitive(o),s=n?.resolveTo,a=n?.resolveSingleChildDescendants,l=n?.resolveMetadata,c=await o.stat(e),u;return this.toFileStat(o,e,c,void 0,!!l,(p,m)=>(u||(u=fi.forUris(()=>!i),u.set(e,!0),s&&u.fill(!0,s)),u.get(p.resource)||u.findSuperstr(p.resource.with({query:null,fragment:null}))?!0:p.isDirectory&&a?m===1:!1))}async toFileStat(e,n,o,i,s,a){let{providerExtUri:l}=this.getExtUri(e),c={resource:n,name:l.basename(n),isFile:(o.type&1)!==0,isDirectory:(o.type&2)!==0,isSymbolicLink:(o.type&64)!==0,mtime:o.mtime,ctime:o.ctime,size:o.size,readonly:!!((o.permissions??0)&1)||!!(e.capabilities&2048),locked:!!((o.permissions??0)&2),executable:!!((o.permissions??0)&4),etag:tw({mtime:o.mtime,size:o.size}),children:void 0};if(c.isDirectory&&a(c,i)){try{let u=await e.readdir(n),p=await In.settled(u.map(async([m,g])=>{try{let h=l.joinPath(n,m),v=s?await e.stat(h):{type:g};return await this.toFileStat(e,h,v,u.length,s,a)}catch(h){return this.logService.trace(h),null}}));c.children=Go(p)}catch(u){this.logService.trace(u),c.children=[]}return c}return c}async resolveAll(e){return In.settled(e.map(async n=>{try{return{stat:await this.doResolveFile(n.resource,n.options),success:!0}}catch(o){return this.logService.trace(o),{stat:void 0,success:!1}}}))}async stat(e){let n=await this.withProvider(e),o=await n.stat(e);return this.toFileStat(n,e,o,void 0,!0,()=>!1)}async realpath(e){let n=await this.withProvider(e);if(EA(n)){let o=await n.realpath(e);return e.with({path:o})}}async exists(e){let n=await this.withProvider(e);try{return!!await n.stat(e)}catch{return!1}}async canCreateFile(e,n){try{await this.doValidateCreateFile(e,n)}catch(o){return o}return!0}async doValidateCreateFile(e,n){if(!n?.overwrite&&await this.exists(e))throw new Un(d(2889,null,this.resourceForError(e)),3,n)}async createFile(e,n=L.fromString(""),o){await this.doValidateCreateFile(e,o);let i=await this.writeFile(e,n);return this._onDidRunOperation.fire(new _s(e,0,i)),i}async writeFile(e,n,o){let i=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(e),e),{providerExtUri:s}=this.getExtUri(i),a=o;if(ZE(i)&&!a?.atomic){let l=i.enforceAtomicWriteFile?.(e);l&&(a={...o,atomic:l})}try{let{stat:l,buffer:c}=await this.validateWriteFile(i,e,n,a);l||await this.mkdirp(i,s.dirname(e)),c||(c=await this.peekBufferForWriting(i,n)),!Ms(i)||Pr(i)&&c instanceof L||Pr(i)&&ZE(i)&&a?.atomic?await this.doWriteUnbuffered(i,e,a,c):await this.doWriteBuffered(i,e,a,c instanceof L?W0(c):c),this._onDidRunOperation.fire(new _s(e,4))}catch(l){throw new Un(d(2888,null,this.resourceForError(e),As(l).toString()),Dt(l),a)}return this.resolve(e,{resolveMetadata:!0})}async peekBufferForWriting(e,n){let o;if(Pr(e)&&!(n instanceof L))if(km(n)){let i=await U0(n,3);i.ended?o=L.concat(i.buffer):o=i}else o=O0(n,i=>L.concat(i),3);else o=n;return o}async validateWriteFile(e,n,o,i){let s=!!i?.unlock;if(s&&!(e.capabilities&8192))throw new Error(d(2906,null,this.resourceForError(n)));if(i?.append&&!xA(e))throw new Un(d(2885,null,this.resourceForError(n)),6);if(!!i?.atomic){if(!(e.capabilities&32768))throw new Error(d(2904,null,this.resourceForError(n)));if(!(e.capabilities&2))throw new Error(d(2905,null,this.resourceForError(n)));if(s)throw new Error(d(2903,null,this.resourceForError(n)))}let l;try{l=await e.stat(n)}catch{return Object.create(null)}if((l.type&2)!==0)throw new Un(d(2891,null,this.resourceForError(n)),0,i);this.throwIfFileIsReadonly(n,l);let c;if(typeof i?.mtime=="number"&&typeof i.etag=="string"&&i.etag!==Zv&&typeof l.mtime=="number"&&typeof l.size=="number"&&i.mtime<l.mtime&&i.etag!==tw({mtime:i.mtime,size:l.size})){if(c=await this.peekBufferForWriting(e,o),c instanceof L&&c.byteLength===l.size)try{let{value:u}=await this.readFile(n,{limits:{size:l.size}});if(c.equals(u))return{stat:l,buffer:c}}catch{}throw new Un(d(2892,null),3,i)}return{stat:l,buffer:c}}async readFile(e,n,o){let i=await this.withReadProvider(e);return n?.atomic?this.doReadFileAtomic(i,e,n,o):this.doReadFile(i,e,n,o)}async doReadFileAtomic(e,n,o,i){return new Promise((s,a)=>{this.writeQueue.queueFor(n,async()=>{try{let l=await this.doReadFile(e,n,o,i);s(l)}catch(l){a(l)}},this.getExtUri(e).providerExtUri)})}async doReadFile(e,n,o,i){let s=await this.doReadFileStream(e,n,{...o,preferUnbuffered:!0},i);return{...s,value:await cr(s.value)}}async readFileStream(e,n,o){let i=await this.withReadProvider(e);return this.doReadFileStream(i,e,n,o)}async doReadFileStream(e,n,o,i){let s=new xt(i),a=o;Xv(e)&&e.enforceAtomicReadFile?.(n)&&(a={...o,atomic:!0});let l=this.validateReadFile(n,a).then(u=>u,u=>{throw s.dispose(!0),u}),c;try{return typeof a?.etag=="string"&&a.etag!==Zv&&await l,a?.atomic&&Xv(e)||!(Ms(e)||Yv(e))||Pr(e)&&a?.preferUnbuffered?c=this.readFileUnbuffered(e,n,a):Yv(e)?c=this.readFileStreamed(e,n,s.token,a):c=this.readFileBuffered(e,n,s.token,a),c.on("end",()=>s.dispose()),c.on("error",()=>s.dispose()),{...await l,value:c}}catch(u){throw c&&await Dv(c),this.restoreReadError(u,n,a)}}restoreReadError(e,n,o){let i=d(2886,null,this.resourceForError(n),As(e).toString());return e instanceof Td?new Td(i,e.stat,o):e instanceof wd?new wd(i,e.fileOperationResult,e.size,e.options):new Un(i,Dt(e),o)}readFileStreamed(e,n,o,i=Object.create(null)){let s=e.readFileStream(n,i,o);return _v(s,{data:a=>a instanceof L?a:L.wrap(a),error:a=>this.restoreReadError(a,n,i)},a=>L.concat(a))}readFileBuffered(e,n,o,i=Object.create(null)){let s=q0();return Jy(e,n,s,a=>a,{...i,bufferSize:this.BUFFER_SIZE,errorTransformer:a=>this.restoreReadError(a,n,i)},o),s}readFileUnbuffered(e,n,o){let i=Ca(s=>L.concat(s));return(async()=>{try{let s;o?.atomic&&Xv(e)?s=await e.readFile(n,{atomic:!0}):s=await e.readFile(n),typeof o?.position=="number"&&(s=s.slice(o.position)),typeof o?.length=="number"&&(s=s.slice(0,o.length)),this.validateReadFileLimits(n,s.byteLength,o),i.end(L.wrap(s))}catch(s){i.error(s),i.end()}})(),i}async validateReadFile(e,n){let o=await this.resolve(e,{resolveMetadata:!0});if(o.isDirectory)throw new Un(d(2890,null,this.resourceForError(e)),0,n);if(typeof n?.etag=="string"&&n.etag!==Zv&&n.etag===o.etag)throw new Td(d(2894,null),o,n);return this.validateReadFileLimits(e,o.size,n),o}validateReadFileLimits(e,n,o){if(typeof o?.limits?.size=="number"&&n>o.limits.size)throw new wd(d(2895,null,this.resourceForError(e)),7,n,o)}async canMove(e,n,o){return this.doCanMoveCopy(e,n,"move",o)}async canCopy(e,n,o){return this.doCanMoveCopy(e,n,"copy",o)}async doCanMoveCopy(e,n,o,i){if(e.toString()!==n.toString())try{let s=o==="move"?this.throwIfFileSystemIsReadonly(await this.withWriteProvider(e),e):await this.withReadProvider(e),a=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(n),n);await this.doValidateMoveCopy(s,e,a,n,o,i)}catch(s){return s}return!0}async move(e,n,o){let i=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(e),e),s=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(n),n),a=await this.doMoveCopy(i,e,s,n,"move",!!o),l=await this.resolve(n,{resolveMetadata:!0});return this._onDidRunOperation.fire(new _s(e,a==="move"?2:3,l)),l}async copy(e,n,o){let i=await this.withReadProvider(e),s=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(n),n),a=await this.doMoveCopy(i,e,s,n,"copy",!!o),l=await this.resolve(n,{resolveMetadata:!0});return this._onDidRunOperation.fire(new _s(e,a==="copy"?3:2,l)),l}async doMoveCopy(e,n,o,i,s,a){if(n.toString()===i.toString())return s;let{exists:l,isSameResourceWithDifferentPathCase:c}=await this.doValidateMoveCopy(e,n,o,i,s,a);if(l&&!c&&a&&await this.del(i,{recursive:!0}),await this.mkdirp(o,this.getExtUri(o).providerExtUri.dirname(i)),s==="copy"){if(e===o&&XE(e))await e.copy(n,i,{overwrite:a});else{let u=await this.resolve(n);u.isDirectory?await this.doCopyFolder(e,u,o,i):await this.doCopyFile(e,n,o,i)}return s}else return e===o?(await e.rename(n,i,{overwrite:a}),s):(await this.doMoveCopy(e,n,o,i,"copy",a),await this.del(n,{recursive:!0}),"copy")}async doCopyFile(e,n,o,i){if(Ms(e)&&Ms(o))return this.doPipeBuffered(e,n,o,i);if(Ms(e)&&Pr(o))return this.doPipeBufferedToUnbuffered(e,n,o,i);if(Pr(e)&&Ms(o))return this.doPipeUnbufferedToBuffered(e,n,o,i);if(Pr(e)&&Pr(o))return this.doPipeUnbuffered(e,n,o,i)}async doCopyFolder(e,n,o,i){await o.mkdir(i),Array.isArray(n.children)&&await In.settled(n.children.map(async s=>{let a=this.getExtUri(o).providerExtUri.joinPath(i,s.name);return s.isDirectory?this.doCopyFolder(e,await this.resolve(s.resource),o,a):this.doCopyFile(e,s.resource,o,a)}))}async doValidateMoveCopy(e,n,o,i,s,a){let l=!1;if(e===o){let{providerExtUri:u,isPathCaseSensitive:p}=this.getExtUri(e);if(p||(l=u.isEqual(n,i)),l&&s==="copy")throw new Error(d(2899,null,this.resourceForError(n),this.resourceForError(i)));if(!l&&u.isEqualOrParent(i,n))throw new Error(d(2900,null,this.resourceForError(n),this.resourceForError(i)))}let c=await this.exists(i);if(c&&!l){if(!a)throw new Un(d(2901,null,this.resourceForError(n),this.resourceForError(i)),4);if(e===o){let{providerExtUri:u}=this.getExtUri(e);if(u.isEqualOrParent(n,i))throw new Error(d(2902,null,this.resourceForError(n),this.resourceForError(i)))}}return{exists:c,isSameResourceWithDifferentPathCase:l}}getExtUri(e){let n=this.isPathCaseSensitive(e);return{providerExtUri:n?ot:gE,isPathCaseSensitive:n}}isPathCaseSensitive(e){return!!(e.capabilities&1024)}async createFolder(e){let n=this.throwIfFileSystemIsReadonly(await this.withProvider(e),e);await this.mkdirp(n,e);let o=await this.resolve(e,{resolveMetadata:!0});return this._onDidRunOperation.fire(new _s(e,0,o)),o}async mkdirp(e,n){let o=[],{providerExtUri:i}=this.getExtUri(e);for(;!i.isEqual(n,i.dirname(n));)try{if(((await e.stat(n)).type&2)===0)throw new Error(d(2897,null,this.resourceForError(n)));break}catch(s){if(zm(s)!=="EntryNotFound")throw s;o.push(i.basename(n)),n=i.dirname(n)}for(let s=o.length-1;s>=0;s--){n=i.joinPath(n,o[s]);try{await e.mkdir(n)}catch(a){if(zm(a)!=="EntryExists")throw a}}}async canDelete(e,n){try{await this.doValidateDelete(e,n)}catch(o){return o}return!0}async doValidateDelete(e,n){let o=this.throwIfFileSystemIsReadonly(await this.withProvider(e),e),i=!!n?.useTrash;if(i&&!(o.capabilities&4096))throw new Error(d(2884,null,this.resourceForError(e)));let s=n?.atomic;if(s&&!(o.capabilities&65536))throw new Error(d(2880,null,this.resourceForError(e)));if(i&&s)throw new Error(d(2883,null,this.resourceForError(e)));let a;try{a=await o.stat(e)}catch{}if(a)this.throwIfFileIsReadonly(e,a);else throw new Un(d(2882,null,this.resourceForError(e)),1);if(!!!n?.recursive){let c=await this.resolve(e);if(c.isDirectory&&Array.isArray(c.children)&&c.children.length>0)throw new Error(d(2881,null,this.resourceForError(e)))}return o}async del(e,n){let o=await this.doValidateDelete(e,n),i=n;if(wA(o)&&!i?.atomic){let c=o.enforceAtomicDelete?.(e);c&&(i={...n,atomic:c})}let s=!!i?.useTrash,a=!!i?.recursive,l=i?.atomic??!1;await o.delete(e,{recursive:a,useTrash:s,atomic:l}),this._onDidRunOperation.fire(new _s(e,1))}async cloneFile(e,n){let o=await this.withProvider(e),i=this.throwIfFileSystemIsReadonly(await this.withWriteProvider(n),n);if(!(o===i&&this.getExtUri(o).providerExtUri.isEqual(e,n)))return o===i&&CA(o)?o.cloneFile(e,n):(await this.mkdirp(i,this.getExtUri(i).providerExtUri.dirname(n)),o===i&&XE(o)?this.writeQueue.queueFor(e,()=>o.copy(e,n,{overwrite:!0}),this.getExtUri(o).providerExtUri):this.writeQueue.queueFor(e,()=>this.doCopyFile(o,e,i,n),this.getExtUri(o).providerExtUri))}static{this.WATCHER_CORRELATION_IDS=0}createWatcher(e,n){return this.watch(e,{...n,correlationId:ji.WATCHER_CORRELATION_IDS++})}watch(e,n={recursive:!1,excludes:[]}){let o=new re,i=!1,s=()=>{i=!0};o.add(oe(()=>s())),(async()=>{try{let l=await this.doWatch(e,n);i?Kt(l):s=()=>Kt(l)}catch(l){this.logService.error(l)}})();let a=n.correlationId;if(typeof a=="number"){let l=o.add(new w);return o.add(this.internalOnDidFilesChange.event(u=>{u.correlates(a)&&l.fire(u)})),{onDidChange:l.event,dispose:()=>o.dispose()}}return o}async doWatch(e,n){let o=await this.withProvider(e),i=Rr([this.getExtUri(o).providerExtUri.getComparisonKey(e),n]),s=this.activeWatchers.get(i);return s||(s={count:0,disposable:o.watch(e,n)},this.activeWatchers.set(i,s)),s.count+=1,oe(()=>{s&&(s.count--,s.count===0&&(Kt(s.disposable),this.activeWatchers.delete(i)))})}dispose(){super.dispose();for(let[,e]of this.activeWatchers)Kt(e.disposable);this.activeWatchers.clear()}async doWriteBuffered(e,n,o,i){return this.writeQueue.queueFor(n,async()=>{let s=await e.open(n,{create:!0,unlock:o?.unlock??!1,append:o?.append??!1});try{km(i)||kv(i)?await this.doWriteStreamBufferedQueued(e,s,i):await this.doWriteReadableBufferedQueued(e,s,i)}catch(a){throw As(a)}finally{await e.close(s)}},this.getExtUri(e).providerExtUri)}async doWriteStreamBufferedQueued(e,n,o){let i=0,s;if(kv(o)){if(o.buffer.length>0){let a=L.concat(o.buffer);await this.doWriteBuffer(e,n,a,a.byteLength,i,0),i+=a.byteLength}if(o.ended)return;s=o.stream}else s=o;return new Promise((a,l)=>{pd(s,{onData:async c=>{s.pause();try{await this.doWriteBuffer(e,n,c,c.byteLength,i,0)}catch(u){return l(u)}i+=c.byteLength,setTimeout(()=>s.resume())},onError:c=>l(c),onEnd:()=>a()})})}async doWriteReadableBufferedQueued(e,n,o){let i=0,s;for(;(s=o.read())!==null;)await this.doWriteBuffer(e,n,s,s.byteLength,i,0),i+=s.byteLength}async doWriteBuffer(e,n,o,i,s,a){let l=0;for(;l<i;){let c=await e.write(n,s+l,o.buffer,a+l,i-l);l+=c}}async doWriteUnbuffered(e,n,o,i){return this.writeQueue.queueFor(n,()=>this.doWriteUnbufferedQueued(e,n,o,i),this.getExtUri(e).providerExtUri)}async doWriteUnbufferedQueued(e,n,o,i){let s;i instanceof L?s=i:km(i)?s=await cr(i):kv(i)?s=await B0(i):s=H0(i),await e.writeFile(n,s.buffer,{create:!0,overwrite:!0,unlock:o?.unlock??!1,atomic:o?.atomic??!1,append:o?.append??!1})}async doPipeBuffered(e,n,o,i){return this.writeQueue.queueFor(i,()=>this.doPipeBufferedQueued(e,n,o,i),this.getExtUri(o).providerExtUri)}async doPipeBufferedQueued(e,n,o,i){let s,a;try{s=await e.open(n,{create:!1}),a=await o.open(i,{create:!0,unlock:!1});let l=L.alloc(this.BUFFER_SIZE),c=0,u=0,p=0;do p=await e.read(s,c,l.buffer,u,l.byteLength-u),await this.doWriteBuffer(o,a,l,p,c,u),c+=p,u+=p,u===l.byteLength&&(u=0);while(p>0)}catch(l){throw As(l)}finally{await In.settled([typeof s=="number"?e.close(s):Promise.resolve(),typeof a=="number"?o.close(a):Promise.resolve()])}}async doPipeUnbuffered(e,n,o,i){return this.writeQueue.queueFor(i,()=>this.doPipeUnbufferedQueued(e,n,o,i),this.getExtUri(o).providerExtUri)}async doPipeUnbufferedQueued(e,n,o,i){return o.writeFile(i,await e.readFile(n),{create:!0,overwrite:!0,unlock:!1,atomic:!1})}async doPipeUnbufferedToBuffered(e,n,o,i){return this.writeQueue.queueFor(i,()=>this.doPipeUnbufferedToBufferedQueued(e,n,o,i),this.getExtUri(o).providerExtUri)}async doPipeUnbufferedToBufferedQueued(e,n,o,i){let s=await o.open(i,{create:!0,unlock:!1});try{let a=await e.readFile(n);await this.doWriteBuffer(o,s,L.wrap(a),a.byteLength,0,0)}catch(a){throw As(a)}finally{await o.close(s)}}async doPipeBufferedToUnbuffered(e,n,o,i){let s=await cr(this.readFileBuffered(e,n,we.None));await this.doWriteUnbuffered(o,i,void 0,s)}throwIfFileSystemIsReadonly(e,n){if(e.capabilities&2048)throw new Un(d(2887,null,this.resourceForError(n)),6);return e}throwIfFileIsReadonly(e,n){if((n.permissions??0)&1)throw new Un(d(2887,null,this.resourceForError(e)),6)}resourceForError(e){return e.scheme===$.file?e.fsPath:e.toString(!0)}};ji=C([I(0,K)],ji)});function NO(r,t){switch(r){case 0:return"";case 1:return`${Xy}*?`;default:return`(?:${Yy}|${Xy}+${Yy}${t?`|${Yy}${Xy}+`:""})*?`}}function FO(r,t){if(!r)return[];let e=[],n=!1,o=!1,i="";for(let s of r){switch(s){case t:if(!n&&!o){e.push(i),i="";continue}break;case"{":n=!0;break;case"}":n=!1;break;case"[":o=!0;break;case"]":o=!1;break}i+=s}return i&&e.push(i),e}function $O(r){if(!r)return"";let t="",e=FO(r,UO);if(e.every(n=>n===lu))t=".*";else{let n=!1;e.forEach((o,i)=>{if(o===lu){if(n)return;t+=NO(2,i===e.length-1)}else{let s=!1,a="",l=!1,c="";for(let u of o){if(u!=="}"&&s){a+=u;continue}if(l&&(u!=="]"||!c)){let p;u==="-"?p=u:(u==="^"||u==="!")&&!c?p="^":u===UO?p="":p=Mo(u),c+=p;continue}switch(u){case"{":s=!0;continue;case"[":l=!0;continue;case"}":{let m=`(?:${FO(a,",").map(g=>$O(g)).join("|")})`;t+=m,s=!1,a="";break}case"]":{t+="["+c+"]",l=!1,c="";break}case"?":t+=Xy;continue;case"*":t+=NO(1);continue;default:t+=Mo(u)}}i<e.length-1&&(e[i+1]!==lu||i+2<e.length)&&(t+=Yy)}n=o===lu})}return t}function vT(r,t,e){if(!r)return Qi;let n;typeof r!="string"?n=r.pattern:n=r,n=n.trim();let o=t.ignoreCase??!1,i={...t,equals:o?vo:(c,u)=>c===u,endsWith:o?ZM:(c,u)=>c.endsWith(u),isEqualOrParent:(c,u)=>lr(c,u,t.ignoreCase??!qe)},s=`${e===void 0?`default:${o?n.toLowerCase():n}`:`custom:${e}`}_${!!t.trimForExclusions}_${o}`,a=VO.get(s);if(a)return WO(a,r,i);let l;return g$.test(n)?a=b$(n.substring(4),n,i):(l=f$.exec(hT(n,i)))?a=S$(l[1],n,i):(t.trimForExclusions?v$:h$).test(n)?a=x$(n,i):(l=y$.exec(hT(n,i)))?a=BO(l[1].substring(1),n,!0,i):(l=I$.exec(hT(n,i)))?a=BO(l[1],n,!1,i):a=C$(n,i),VO.set(s,a),WO(a,r,i)}function WO(r,t,e){if(typeof t=="string")return r;let n=function(o,i){return e.isEqualOrParent(o,t.base)?r(nE(o.substring(t.base.length),hn),i):null};return n.allBasenames=r.allBasenames,n.allPaths=r.allPaths,n.basenames=r.basenames,n.patterns=r.patterns,n}function hT(r,t){return t.trimForExclusions&&r.endsWith("/**")?r.substring(0,r.length-2):r}function b$(r,t,e){return function(n,o){return typeof n=="string"&&e.endsWith(n,r)?t:null}}function S$(r,t,e){let n=`/${r}`,o=`\\${r}`,i=function(a,l){return typeof a!="string"?null:l?e.equals(l,r)?t:null:e.equals(a,r)||e.endsWith(a,n)||e.endsWith(a,o)?t:null},s=[r];return i.basenames=s,i.patterns=[t],i.allBasenames=s,i}function x$(r,t){let e=zO(r.slice(1,-1).split(",").map(a=>vT(a,t)).filter(a=>a!==Qi),r,t.ignoreCase),n=e.length;if(!n)return Qi;if(n===1)return e[0];let o=function(a,l){for(let c=0,u=e.length;c<u;c++)if(e[c](a,l))return r;return null},i=e.find(a=>!!a.allBasenames);i&&(o.allBasenames=i.allBasenames);let s=e.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return s.length&&(o.allPaths=s),o}function BO(r,t,e,n){let o=hn===He.sep,i=o?r:r.replace(m$,hn),s=hn+i,a=He.sep+r,l;return e?l=function(c,u){return typeof c=="string"&&(n.equals(c,i)||n.endsWith(c,s)||!o&&(n.equals(c,r)||n.endsWith(c,a)))?t:null}:l=function(c,u){return typeof c=="string"&&(n.equals(c,i)||!o&&n.equals(c,r))?t:null},l.allPaths=[(e?"*/":"./")+r],l}function C$(r,t){try{let e=new RegExp(`^${$O(r)}$`,t.ignoreCase?"i":void 0);return function(n){return e.lastIndex=0,typeof n=="string"&&e.test(n)?r:null}}catch{return Qi}}function yT(r,t={}){if(!r)return HO;if(typeof r=="string"||qO(r)){let e=vT(r,t);if(e===Qi)return HO;let n=function(o,i){return!!e(o,i)};return e.allBasenames&&(n.allBasenames=e.allBasenames),e.allPaths&&(n.allPaths=e.allPaths),n}return E$(r,t)}function qO(r){let t=r;return t?typeof t.base=="string"&&typeof t.pattern=="string":!1}function E$(r,t){let e=zO(Object.getOwnPropertyNames(r).map(a=>w$(a,r[a],t)).filter(a=>a!==Qi),void 0,t.ignoreCase),n=e.length;if(!n)return Qi;if(!e.some(a=>!!a.requiresSiblings)){if(n===1)return e[0];let a=function(u,p){let m;for(let g=0,h=e.length;g<h;g++){let v=e[g](u,p);if(typeof v=="string")return v;Em(v)&&(m||(m=[]),m.push(v))}return m?(async()=>{for(let g of m){let h=await g;if(typeof h=="string")return h}return null})():null},l=e.find(u=>!!u.allBasenames);l&&(a.allBasenames=l.allBasenames);let c=e.reduce((u,p)=>p.allPaths?u.concat(p.allPaths):u,[]);return c.length&&(a.allPaths=c),a}let o=function(a,l,c){let u,p;for(let m=0,g=e.length;m<g;m++){let h=e[m];h.requiresSiblings&&c&&(l||(l=vt(a)),u||(u=l.substring(0,l.length-ui(a).length)));let v=h(a,l,u,c);if(typeof v=="string")return v;Em(v)&&(p||(p=[]),p.push(v))}return p?(async()=>{for(let m of p){let g=await m;if(typeof g=="string")return g}return null})():null},i=e.find(a=>!!a.allBasenames);i&&(o.allBasenames=i.allBasenames);let s=e.reduce((a,l)=>l.allPaths?a.concat(l.allPaths):a,[]);return s.length&&(o.allPaths=s),o}function w$(r,t,e){if(t===!1)return Qi;let n=vT(r,e,r);if(n===Qi)return Qi;if(typeof t=="boolean")return n;if(t){let o=t.when;if(typeof o=="string"){let i=(s,a,l,c)=>{if(!c||!n(s,a))return null;let u=o.replace("$(basename)",()=>l),p=c(u);return Em(p)?p.then(m=>m?r:null):p?r:null};return i.requiresSiblings=!0,i}}return n}function zO(r,t,e){let n=r.filter(l=>!!l.basenames);if(n.length<2)return r;let o=n.reduce((l,c)=>{let u=c.basenames;return u?l.concat(u):l},[]),i;if(t){i=[];for(let l=0,c=o.length;l<c;l++)i.push(t)}else i=n.reduce((l,c)=>{let u=c.patterns;return u?l.concat(u):l},[]);let s=function(l,c){if(typeof l!="string")return null;if(!c){let p;for(p=l.length;p>0;p--){let m=l.charCodeAt(p-1);if(m===47||m===92)break}c=l.substring(p)}let u=e?o.findIndex(p=>vo(p,c)):o.indexOf(c);return u!==-1?i[u]:null};s.basenames=o,s.patterns=i,s.allBasenames=o;let a=r.filter(l=>!l.basenames);return a.push(s),a}function IT(r,t){return vn(r,t,(e,n)=>typeof e=="string"&&typeof n=="string"?e===n:typeof e!="string"&&typeof n!="string"?e.base===n.base&&e.pattern===n.pattern:!1)}var lu,UO,Yy,Xy,m$,g$,f$,h$,v$,y$,I$,VO,HO,Qi,Zy=y(()=>{Lt();Me();Kr();Ni();_n();Ue();me();Ot();lu="**",UO="/",Yy="[/\\\\]",Xy="[^/\\\\]",m$=/\//g;g$=/^\*\*\/\*\.[\w\.-]+$/,f$=/^\*\*\/([\w\.-]+)\/?$/,h$=/^{\*\*\/\*?[\w\.-]+\/?(,\*\*\/\*?[\w\.-]+\/?)*}$/,v$=/^{\*\*\/\*?[\w\.-]+(\/(\*\*)?)?(,\*\*\/\*?[\w\.-]+(\/(\*\*)?)?)*}$/,y$=/^\*\*((\/[\w\.-]+)+)\/?$/,I$=/^([\w\.-]+(\/[\w\.-]+)*)\/?$/,VO=new Li(1e4),HO=function(){return!1},Qi=function(){return null}});function oI(r){return typeof r.correlationId=="number"}function GO(r){return r.recursive===!0}function rI(r){return r.map(t=>({type:t.type,resource:b.revive(t.resource),cId:t.cId}))}function KO(r){let t=new bT;for(let e of r)t.processEvent(e);return t.coalesce()}function R$(r,t){return typeof t=="string"&&!t.startsWith(lu)&&!zo(t)?{base:r,pattern:t}:t}function ST(r,t,e){let n=[];for(let o of t)n.push(yT(R$(r,o),{ignoreCase:e}));return n}function jO(r,t){if(typeof t=="number")switch(r.type){case 1:return(t&4)===0;case 2:return(t&8)===0;case 0:return(t&2)===0}return!1}function QO(r){if(typeof r=="number"){let t=[];return r&4&&t.push("Added"),r&8&&t.push("Deleted"),r&2&&t.push("Updated"),t.length===0?"<all>":`[${t.join(", ")}]`}return"<none>"}var eI,tI,nI,bT,ic=y(()=>{Zy();Q();Ue();me();ie();it();eI=class r extends _{constructor(e,n,o,i){super();this.onFileChanges=e;this.onLogMessage=n;this.verboseLogging=o;this.options=i;this.watcherDisposables=this._register(new so);this.requests=void 0;this.restartCounter=0}static{this.MAX_RESTARTS=5}init(){let e=new re;this.watcherDisposables.value=e,this.watcher=this.createWatcher(e),this.watcher.setVerboseLogging(this.verboseLogging),e.add(this.watcher.onDidChangeFile(n=>this.onFileChanges(n))),e.add(this.watcher.onDidLogMessage(n=>this.onLogMessage(n))),e.add(this.watcher.onDidError(n=>this.onError(n.error,n.request)))}onError(e,n){this.canRestart(e,n)?this.restartCounter<r.MAX_RESTARTS&&this.requests?(this.error(`restarting watcher after unexpected error: ${e}`),this.restart(this.requests)):this.error(`gave up attempting to restart watcher after unexpected error: ${e}`):this.error(e)}canRestart(e,n){return!(!this.options.restartOnError||n||e.indexOf("No space left on device")!==-1||e.indexOf("EMFILE")!==-1)}restart(e){this.restartCounter++,this.init(),this.watch(e)}async watch(e){this.requests=e,await this.watcher?.watch(e)}async setVerboseLogging(e){this.verboseLogging=e,await this.watcher?.setVerboseLogging(e)}error(e){this.onLogMessage({type:"error",message:`[File Watcher (${this.options.type})] ${e}`})}trace(e){this.onLogMessage({type:"trace",message:`[File Watcher (${this.options.type})] ${e}`})}dispose(){return this.watcher=void 0,super.dispose()}},tI=class extends eI{constructor(t,e,n){super(t,e,n,{type:"node.js",restartOnError:!1})}},nI=class extends eI{constructor(t,e,n){super(t,e,n,{type:"universal",restartOnError:!0})}};bT=class{constructor(){this.coalesced=new Set;this.mapPathToChange=new Map}toKey(t){return qe?t.resource.fsPath:t.resource.fsPath.toLowerCase()}processEvent(t){let e=this.mapPathToChange.get(this.toKey(t)),n=!1;if(e){let o=e.type,i=t.type;e.resource.fsPath!==t.resource.fsPath&&(t.type===2||t.type===1)?n=!0:o===1&&i===2?(this.mapPathToChange.delete(this.toKey(t)),this.coalesced.delete(e)):o===2&&i===1?e.type=0:o===1&&i===0||(e.type=i)}else n=!0;n&&(this.coalesced.add(t),this.mapPathToChange.set(this.toKey(t),t))}coalesce(){let t=[],e=[];return Array.from(this.coalesced).filter(n=>n.type!==2?(t.push(n),!1):!0).sort((n,o)=>n.resource.fsPath.length-o.resource.fsPath.length).filter(n=>e.some(o=>TA(n.resource.fsPath,o,!qe))?!1:(e.push(n.resource.fsPath),!0)).concat(t)}}});var iI,JO=y(()=>{Lt();Me();Se();de();Ni();Q();Ue();ic();Pe();iI=class extends _{constructor(e,n){super();this.logService=e;this.options=n;this._onDidChangeFile=this._register(new w);this.onDidChangeFile=this._onDidChangeFile.event;this._onDidWatchError=this._register(new w);this.onDidWatchError=this._onDidWatchError.event;this.universalWatchRequests=[];this.universalWatchRequestDelayer=this._register(new Er(this.getRefreshWatchersDelay(this.universalWatchRequests.length)));this.nonRecursiveWatchRequests=[];this.nonRecursiveWatchRequestDelayer=this._register(new Er(this.getRefreshWatchersDelay(this.nonRecursiveWatchRequests.length)))}watch(e,n){return n.recursive||this.options?.watcher?.forceUniversal?this.watchUniversal(e,n):this.watchNonRecursive(e,n)}getRefreshWatchersDelay(e){return e>200?500:0}watchUniversal(e,n){let o=this.toWatchRequest(e,n),i=$C(this.universalWatchRequests,o);return this.refreshUniversalWatchers(),oe(()=>{i(),this.refreshUniversalWatchers()})}toWatchRequest(e,n){let o={path:this.toWatchPath(e),excludes:n.excludes,includes:n.includes,recursive:n.recursive,filter:n.filter,correlationId:n.correlationId};if(GO(o)){let i=this.options?.watcher?.recursive?.usePolling;i===!0?o.pollingInterval=this.options?.watcher?.recursive?.pollingInterval??5e3:Array.isArray(i)&&i.includes(o.path)&&(o.pollingInterval=this.options?.watcher?.recursive?.pollingInterval??5e3)}return o}refreshUniversalWatchers(){this.universalWatchRequestDelayer.trigger(()=>this.doRefreshUniversalWatchers(),this.getRefreshWatchersDelay(this.universalWatchRequests.length)).catch(e=>tt(e))}doRefreshUniversalWatchers(){return this.universalWatcher||(this.universalWatcher=this._register(this.createUniversalWatcher(e=>this._onDidChangeFile.fire(rI(e)),e=>this.onWatcherLogMessage(e),this.logService.getLevel()===1)),this._register(this.logService.onDidChangeLogLevel(()=>{this.universalWatcher?.setVerboseLogging(this.logService.getLevel()===1)}))),this.universalWatcher.watch(this.universalWatchRequests)}watchNonRecursive(e,n){let o={path:this.toWatchPath(e),excludes:n.excludes,includes:n.includes,recursive:!1,filter:n.filter,correlationId:n.correlationId},i=$C(this.nonRecursiveWatchRequests,o);return this.refreshNonRecursiveWatchers(),oe(()=>{i(),this.refreshNonRecursiveWatchers()})}refreshNonRecursiveWatchers(){this.nonRecursiveWatchRequestDelayer.trigger(()=>this.doRefreshNonRecursiveWatchers(),this.getRefreshWatchersDelay(this.nonRecursiveWatchRequests.length)).catch(e=>tt(e))}doRefreshNonRecursiveWatchers(){return this.nonRecursiveWatcher||(this.nonRecursiveWatcher=this._register(this.createNonRecursiveWatcher(e=>this._onDidChangeFile.fire(rI(e)),e=>this.onWatcherLogMessage(e),this.logService.getLevel()===1)),this._register(this.logService.onDidChangeLogLevel(()=>{this.nonRecursiveWatcher?.setVerboseLogging(this.logService.getLevel()===1)}))),this.nonRecursiveWatcher.watch(this.nonRecursiveWatchRequests)}onWatcherLogMessage(e){e.type==="error"&&this._onDidWatchError.fire(e.message),this.logWatcherMessage(e)}logWatcherMessage(e){this.logService[e.type](e.message)}toFilePath(e){return wn(e.fsPath)}toWatchPath(e){let n=this.toFilePath(e);return i0(n)}}});var YO=y(()=>{Ee();Q();jt()});function Ye(r,t,e){let n=null,o=null;if(typeof e.value=="function"?(n="value",o=e.value,o.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof e.get=="function"&&(n="get",o=e.get),!o)throw new Error("not supported");let i=`$memoize$${t}`;e[n]=function(...s){return this.hasOwnProperty(i)||Object.defineProperty(this,i,{configurable:!1,enumerable:!1,writable:!1,value:o.apply(this,s)}),this[i]}}var sI=y(()=>{YO()});function uu(r){switch(r){case 100:return"req";case 101:return"cancel";case 102:return"subscribe";case 103:return"unsubscribe"}}function aI(r){switch(r){case 200:return"init";case 201:return"reply:";case 202:case 203:return"replyErr:";case 204:return"event:"}}function cu(r){let t=0;for(let e=0;;e+=7){let n=r.read(1);if(t|=(n.buffer[0]&127)<<e,!(n.buffer[0]&128))return t}}function du(r,t){if(t===0){r.write(P$);return}let e=0;for(let o=t;o!==0;o=o>>>7)e++;let n=L.alloc(e);for(let o=0;t!==0;o++)n.buffer[o]=t&127,t=t>>>7,t>0&&(n.buffer[o]|=128);r.write(n)}function Ba(r){let t=L.alloc(1);return t.writeUInt8(r,0),t}function wg(r,t){if(typeof t>"u")r.write(sc.Undefined);else if(typeof t=="string"){let e=L.fromString(t);r.write(sc.String),du(r,e.byteLength),r.write(e)}else if(L.isNativeBuffer(t)){let e=L.wrap(t);r.write(sc.Buffer),du(r,e.byteLength),r.write(e)}else if(t instanceof L)r.write(sc.VSBuffer),du(r,t.byteLength),r.write(t);else if(Array.isArray(t)){r.write(sc.Array),du(r,t.length);for(let e of t)wg(r,e)}else if(typeof t=="number"&&(t|0)===t)r.write(sc.Uint),du(r,t);else{let e=L.fromString(JSON.stringify(t));r.write(sc.Object),du(r,e.byteLength),r.write(e)}}function mu(r){switch(r.read(1).readUInt8(0)){case 0:return;case 1:return r.read(cu(r)).toString();case 2:return r.read(cu(r)).buffer;case 3:return r.read(cu(r));case 4:{let e=cu(r),n=[];for(let o=0;o<e;o++)n.push(mu(r));return n}case 5:return JSON.parse(r.read(cu(r)).toString());case 6:return cu(r)}}function XO(r){return{call(t,e,n){return r.then(o=>o.call(t,e,n))},listen(t,e){let n=new gm;return r.then(o=>n.input=o.listen(t,e),()=>n.dispose()),n.event}}}function ZO(r){let t=!1;return{call(e,n,o){return t?r.call(e,n,o):Qo(0).then(()=>t=!0).then(()=>r.call(e,n,o))},listen(e,n){if(t)return r.listen(e,n);let o=new gm;return Qo(0).then(()=>t=!0).then(()=>o.input=r.listen(e,n)),o.event}}}var P$,Eg,lI,sc,cI,pu,Tg,dI,_r,Hs=y(()=>{Lt();Me();ze();jt();sI();Se();de();um();Q();Os();Ot();Ee();P$=Ba(0);Eg=class{constructor(t){this.buffer=t;this.pos=0}read(t){let e=this.buffer.slice(this.pos,this.pos+t);return this.pos+=e.byteLength,e}},lI=class{constructor(){this.buffers=[]}get buffer(){return L.concat(this.buffers)}write(t){this.buffers.push(t)}dispose(){this.buffers.length=0}};sc={Undefined:Ba(0),String:Ba(1),Buffer:Ba(2),VSBuffer:Ba(3),Array:Ba(4),Object:Ba(5),Uint:Ba(6)};cI=class{constructor(t,e,n=null,o=1e3){this.protocol=t;this.ctx=e;this.logger=n;this.timeoutDelay=o;this.channels=new Map;this.activeRequests=new Map;this.pendingRequests=new Map;this.protocolListener=this.protocol.onMessage(i=>this.onRawMessage(i)),this.sendResponse({type:200})}registerChannel(t,e){this.channels.set(t,e),setTimeout(()=>this.flushPendingRequests(t),0)}sendResponse(t){switch(t.type){case 200:{let e=this.send([t.type]);this.logger?.logOutgoing(e,0,1,aI(t.type));return}case 201:case 202:case 204:case 203:{let e=this.send([t.type,t.id],t.data);this.logger?.logOutgoing(e,t.id,1,aI(t.type),t.data);return}}}send(t,e=void 0){let n=new lI;try{return wg(n,t),wg(n,e),this.sendBuffer(n.buffer)}finally{n.dispose()}}sendBuffer(t){try{return this.protocol.send(t),t.byteLength}catch{return 0}}onRawMessage(t){let e=new Eg(t),n=mu(e),o=mu(e),i=n[0];switch(i){case 100:return this.logger?.logIncoming(t.byteLength,n[1],1,`${uu(i)}: ${n[2]}.${n[3]}`,o),this.onPromise({type:i,id:n[1],channelName:n[2],name:n[3],arg:o});case 102:return this.logger?.logIncoming(t.byteLength,n[1],1,`${uu(i)}: ${n[2]}.${n[3]}`,o),this.onEventListen({type:i,id:n[1],channelName:n[2],name:n[3],arg:o});case 101:return this.logger?.logIncoming(t.byteLength,n[1],1,`${uu(i)}`),this.disposeActiveRequest({type:i,id:n[1]});case 103:return this.logger?.logIncoming(t.byteLength,n[1],1,`${uu(i)}`),this.disposeActiveRequest({type:i,id:n[1]})}}onPromise(t){let e=this.channels.get(t.channelName);if(!e){this.collectPendingRequest(t);return}let n=new xt,o;try{o=e.call(this.ctx,t.name,t.arg,n.token)}catch(a){o=Promise.reject(a)}let i=t.id;o.then(a=>{this.sendResponse({id:i,data:a,type:201})},a=>{a instanceof Error?this.sendResponse({id:i,data:{message:a.message,name:a.name,stack:a.stack?a.stack.split(`
`):void 0},type:202}):this.sendResponse({id:i,data:a,type:203})}).finally(()=>{s.dispose(),this.activeRequests.delete(t.id)});let s=oe(()=>n.cancel());this.activeRequests.set(t.id,s)}onEventListen(t){let e=this.channels.get(t.channelName);if(!e){this.collectPendingRequest(t);return}let n=t.id,i=e.listen(this.ctx,t.name,t.arg)(s=>this.sendResponse({id:n,data:s,type:204}));this.activeRequests.set(t.id,i)}disposeActiveRequest(t){let e=this.activeRequests.get(t.id);e&&(e.dispose(),this.activeRequests.delete(t.id))}collectPendingRequest(t){let e=this.pendingRequests.get(t.channelName);e||(e=[],this.pendingRequests.set(t.channelName,e));let n=setTimeout(()=>{console.error(`Unknown channel: ${t.channelName}`),t.type===100&&this.sendResponse({id:t.id,data:{name:"Unknown channel",message:`Channel name '${t.channelName}' timed out after ${this.timeoutDelay}ms`,stack:void 0},type:202})},this.timeoutDelay);e.push({request:t,timeoutTimer:n})}flushPendingRequests(t){let e=this.pendingRequests.get(t);if(e){for(let n of e)switch(clearTimeout(n.timeoutTimer),n.request.type){case 100:this.onPromise(n.request);break;case 102:this.onEventListen(n.request);break}this.pendingRequests.delete(t)}}dispose(){this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),Kt(this.activeRequests.values()),this.activeRequests.clear()}},pu=class{constructor(t,e=null){this.protocol=t;this.isDisposed=!1;this.state=0;this.activeRequests=new Set;this.handlers=new Map;this.lastRequestId=0;this._onDidInitialize=new w;this.onDidInitialize=this._onDidInitialize.event;this.protocolListener=this.protocol.onMessage(n=>this.onBuffer(n)),this.logger=e}getChannel(t){let e=this;return{call(n,o,i){return e.isDisposed?Promise.reject(new et):e.requestPromise(t,n,o,i)},listen(n,o){return e.isDisposed?W.None:e.requestEvent(t,n,o)}}}requestPromise(t,e,n,o=we.None){let i=this.lastRequestId++,a={id:i,type:100,channelName:t,name:e,arg:n};if(o.isCancellationRequested)return Promise.reject(new et);let l,c;return new Promise((p,m)=>{if(o.isCancellationRequested)return m(new et);let g=()=>{let S=T=>{switch(T.type){case 201:this.handlers.delete(i),p(T.data);break;case 202:{this.handlers.delete(i);let E=new Error(T.data.message);E.stack=Array.isArray(T.data.stack)?T.data.stack.join(`
`):T.data.stack,E.name=T.data.name,m(E);break}case 203:this.handlers.delete(i),m(T.data);break}};this.handlers.set(i,S);try{this.sendRequest(a)}catch(T){this.handlers.delete(i),m(T)}},h=null;this.state===1?g():(h=jo(S=>this.whenInitialized()),h.then(()=>{h=null,g()},()=>{}));let v=()=>{h?(h.cancel(),h=null):this.sendRequest({id:i,type:101}),m(new et)};l=o.onCancellationRequested(v),c={dispose:El(()=>{v(),l.dispose()})},this.activeRequests.add(c)}).finally(()=>{l?.dispose(),this.activeRequests.delete(c)})}requestEvent(t,e,n){let o=this.lastRequestId++,s={id:o,type:102,channelName:t,name:e,arg:n},a=null,l=new w({onWillAddFirstListener:()=>{let c=p=>l.fire(p.data);this.handlers.set(o,c);let u=()=>{this.activeRequests.add(l),this.sendRequest(s)};this.state===1?u():(a=jo(p=>this.whenInitialized()),a.then(()=>{a=null,u()},()=>{}))},onDidRemoveLastListener:()=>{a?(a.cancel(),a=null):(this.activeRequests.delete(l),this.sendRequest({id:o,type:103})),this.handlers.delete(o)}});return l.event}sendRequest(t){switch(t.type){case 100:case 102:{let e=this.send([t.type,t.id,t.channelName,t.name],t.arg);this.logger?.logOutgoing(e,t.id,0,`${uu(t.type)}: ${t.channelName}.${t.name}`,t.arg);return}case 101:case 103:{let e=this.send([t.type,t.id]);this.logger?.logOutgoing(e,t.id,0,uu(t.type));return}}}send(t,e=void 0){let n=new lI;try{return wg(n,t),wg(n,e),this.sendBuffer(n.buffer)}finally{n.dispose()}}sendBuffer(t){try{return this.protocol.send(t),t.byteLength}catch{return 0}}onBuffer(t){let e=new Eg(t),n=mu(e),o=mu(e),i=n[0];switch(i){case 200:return this.logger?.logIncoming(t.byteLength,0,0,aI(i)),this.onResponse({type:n[0]});case 201:case 202:case 204:case 203:return this.logger?.logIncoming(t.byteLength,n[1],0,aI(i),o),this.onResponse({type:n[0],id:n[1],data:o})}}onResponse(t){if(t.type===200){this.state=1,this._onDidInitialize.fire();return}this.handlers.get(t.id)?.(t)}get onDidInitializePromise(){return W.toPromise(this.onDidInitialize)}whenInitialized(){return this.state===1?Promise.resolve():this.onDidInitializePromise}dispose(){this.isDisposed=!0,this.protocolListener&&(this.protocolListener.dispose(),this.protocolListener=null),Kt(this.activeRequests.values()),this.activeRequests.clear(),this._onDidInitialize.dispose()}};C([Ye],pu.prototype,"onDidInitializePromise",1);Tg=class{constructor(t,e,n){this.channels=new Map;this._connections=new Set;this._onDidAddConnection=new w;this.onDidAddConnection=this._onDidAddConnection.event;this._onDidRemoveConnection=new w;this.onDidRemoveConnection=this._onDidRemoveConnection.event;this.disposables=new re;this.disposables.add(t(({protocol:o,onDidClientDisconnect:i})=>{let s=W.once(o.onMessage),a=new re,l=s(c=>{let u=new Eg(c),p=mu(u),m=new cI(o,p,e,n),g=new pu(o,e);this.channels.forEach((v,S)=>m.registerChannel(S,v));let h={channelServer:m,channelClient:g,ctx:p};this._connections.add(h),this._onDidAddConnection.fire(h),a.add(i(()=>{m.dispose(),g.dispose(),this._connections.delete(h),this._onDidRemoveConnection.fire(h),this.disposables.delete(a),a.dispose()}))});a.add(l),this.disposables.add(a)}))}get connections(){let t=[];return this._connections.forEach(e=>t.push(e)),t}getChannel(t,e){let n=this;return{call(o,i,s){let a;if(Xc(e)){let c=TM(n.connections.filter(e));a=c?Promise.resolve(c):W.toPromise(W.filter(n.onDidAddConnection,e))}else a=e.routeCall(n,o,i);let l=a.then(c=>c.channelClient.getChannel(t));return XO(l).call(o,i,s)},listen(o,i){if(Xc(e))return n.getMulticastEvent(t,e,o,i);let s=e.routeEvent(n,o,i).then(a=>a.channelClient.getChannel(t));return XO(s).listen(o,i)}}}getMulticastEvent(t,e,n,o){let i=this,s,a=new w({onWillAddFirstListener:()=>{s=new re;let l=new gv,c=new Map,u=m=>{let h=m.channelClient.getChannel(t).listen(n,o),v=l.add(h);c.set(m,v)},p=m=>{let g=c.get(m);g&&(g.dispose(),c.delete(m))};i.connections.filter(e).forEach(u),W.filter(i.onDidAddConnection,e)(u,void 0,s),i.onDidRemoveConnection(p,void 0,s),l.event(a.fire,a,s),s.add(l)},onDidRemoveLastListener:()=>{s?.dispose(),s=void 0}});return i.disposables.add(a),a.event}registerChannel(t,e){this.channels.set(t,e);for(let n of this._connections)n.channelServer.registerChannel(t,e)}dispose(){this.disposables.dispose();for(let t of this._connections)t.channelClient.dispose(),t.channelServer.dispose();this._connections.clear(),this.channels.clear(),this._onDidAddConnection.dispose(),this._onDidRemoveConnection.dispose()}};dI=class{constructor(t){this.fn=t}routeCall(t){return this.route(t)}routeEvent(t){return this.route(t)}async route(t){for(let e of t.connections)if(await Promise.resolve(this.fn(e.ctx)))return Promise.resolve(e);return await W.toPromise(t.onDidAddConnection),await this.route(t)}};(o=>{function r(i,s,a){let l=i,c=a?.disableMarshalling,u=a?.unbufferedEvents?new Set(a.unbufferedEvents):void 0,p=new Map;for(let m in l)e(m)&&!u?.has(m)&&p.set(m,W.buffer(l[m],m,!0,void 0,s));return new class{listen(m,g,h){let v=p.get(g);if(v)return v;let S=l[g];if(typeof S=="function"){if(n(g))return S.call(l,h);if(e(g))return u?.has(g)?l[g]:(p.set(g,W.buffer(l[g],g,!0,void 0,s)),p.get(g))}throw new Kn(`Event not found: ${g}`)}call(m,g,h){let v=l[g];if(typeof v=="function"){if(!c&&Array.isArray(h))for(let T=0;T<h.length;T++)h[T]=un(h[T]);let S=v.apply(l,h);return S instanceof Promise||(S=Promise.resolve(S)),S}throw new Kn(`Method not found: ${g}`)}}}o.fromService=r;function t(i,s){let a=s?.disableMarshalling;return new Proxy({},{get(l,c){if(typeof c=="string")return s?.properties?.has(c)?s.properties.get(c):c==="then"?void 0:n(c)?function(u){return i.listen(c,u)}:e(c)?i.listen(c):async function(...u){let p;s&&!Wt(s.context)?p=[s.context,...u]:p=u;let m=await i.call(c,p);return a?m:un(m)};throw new Kn(`Property not found: ${String(c)}`)}})}o.toService=t;function e(i){return i[0]==="o"&&i[1]==="n"&&oE(i.charCodeAt(2))}function n(i){return/^onDynamic/.test(i)&&oE(i.charCodeAt(9))}})(_r||={})});function eU(r){let t=r;return t&&typeof t.type=="string"&&typeof t.severity=="string"}function k$(r){let t=[],e;try{let n=JSON.parse(r.arguments),o=n[n.length-1];o&&o.__$stack&&(n.pop(),e=o.__$stack),t.push(...n)}catch{t.push("Unable to log remote console arguments",r.arguments)}return{args:t,stack:e}}function D$(r){if(!r)return r;let t=r.indexOf(`
`);return t===-1?r:r.substring(0,t)}function tU(r,t){let{args:e,stack:n}=k$(r),o=typeof e[0]=="string"&&e.length===1,i=D$(n);i&&(i=`(${i.trim()})`);let s=[];if(typeof e[0]=="string"?i&&o?s=[`%c[${t}] %c${e[0]} %c${i}`,gu("blue"),gu(""),gu("grey")]:s=[`%c[${t}] %c${e[0]}`,gu("blue"),gu(""),...e.slice(1)]:s=[`%c[${t}]%`,gu("blue"),...e],i&&!o&&s.push(i),typeof console[r.severity]!="function")throw new Error("Unknown console method");console[r.severity].apply(console,s)}function gu(r){return`color: ${r}`}var nU=y(()=>{ie()});import{fork as _$}from"child_process";var $a,uI=y(()=>{Me();ze();jt();nU();Se();de();Q();en();Qm();Nd();Hs();$a=class{constructor(t,e){this.modulePath=t;this.options=e;this.activeRequests=new Set;this.channels=new Map;this._onDidProcessExit=new w;this.onDidProcessExit=this._onDidProcessExit.event;let n=e.timeout||6e4;this.disposeDelayer=new Sm(n),this.child=null,this._client=null}getChannel(t){let e=this;return{call(n,o,i){return e.requestPromise(t,n,o,i)},listen(n,o){return e.requestEvent(t,n,o)}}}requestPromise(t,e,n,o=we.None){if(!this.disposeDelayer)return Promise.reject(new Error("disposed"));if(o.isCancellationRequested)return Promise.reject(dm());this.disposeDelayer.cancel();let i=this.getCachedChannel(t),s=jo(u=>i.call(e,n,u)),a=o.onCancellationRequested(()=>s.cancel()),l=oe(()=>s.cancel());this.activeRequests.add(l);let c=()=>{a.dispose(),this.activeRequests.delete(l),this.activeRequests.size===0&&this.disposeDelayer&&this.disposeDelayer.trigger(()=>this.disposeClient())};return s.then(c,c),s}requestEvent(t,e,n){if(!this.disposeDelayer)return W.None;this.disposeDelayer.cancel();let o,i=new w({onWillAddFirstListener:()=>{o=this.getCachedChannel(t).listen(e,n)(i.fire,i),this.activeRequests.add(o)},onDidRemoveLastListener:()=>{this.activeRequests.delete(o),o.dispose(),this.activeRequests.size===0&&this.disposeDelayer&&this.disposeDelayer.trigger(()=>this.disposeClient())}});return i.event}get client(){if(!this._client){let t=this.options.args||[],e=Object.create(null);e.env={...Jr(process.env),VSCODE_PARENT_PID:String(process.pid)},this.options.env&&(e.env={...e.env,...this.options.env}),this.options.freshExecArgv&&(e.execArgv=[]),typeof this.options.debug=="number"&&(e.execArgv=["--nolazy","--inspect="+this.options.debug]),typeof this.options.debugBrk=="number"&&(e.execArgv=["--nolazy","--inspect-brk="+this.options.debugBrk]),e.execArgv===void 0&&(e.execArgv=process.execArgv.filter(p=>!/^--inspect(-brk)?=/.test(p)).filter(p=>!p.startsWith("--vscode-"))),Ud(e.env),this.child=_$(this.modulePath,t,e);let n=new w,i=W.fromNodeEventEmitter(this.child,"message",p=>p)(p=>{if(eU(p)){tU(p,`IPC Library: ${this.options.serverName}`);return}n.fire(L.wrap(Buffer.from(p,"base64")))}),s=this.options.useQueue?qA(this.child):this.child,a=p=>this.child?.connected&&s.send(p.buffer.toString("base64")),l=n.event,c={send:a,onMessage:l};this._client=new pu(c);let u=()=>this.disposeClient();process.once("exit",u),this.child.on("error",p=>console.warn('IPC "'+this.options.serverName+'" errored with '+p)),this.child.on("exit",(p,m)=>{process.removeListener("exit",u),i.dispose(),this.activeRequests.forEach(g=>Kt(g)),this.activeRequests.clear(),p!==0&&m!=="SIGTERM"&&console.warn('IPC "'+this.options.serverName+'" crashed with exit code '+p+" and signal "+m),this.disposeDelayer?.cancel(),this.disposeClient(),this._onDidProcessExit.fire({code:p,signal:m})})}return this._client}getCachedChannel(t){let e=this.channels.get(t);return e||(e=this.client.getChannel(t),this.channels.set(t,e)),e}disposeClient(){this._client&&(this.child&&(this.child.kill(),this.child=null),this._client=null,this.channels.clear())}dispose(){this._onDidProcessExit.dispose(),this.disposeDelayer?.cancel(),this.disposeDelayer=void 0,this.disposeClient(),this.activeRequests.clear()}}});var pI,oU=y(()=>{Ne();Hs();uI();ic();pI=class extends nI{constructor(t,e,n){super(t,e,n),this.init()}createWatcher(t){let e=t.add(new $a(Tt.asFileUri("bootstrap-fork").fsPath,{serverName:"File Watcher",args:["--type=fileWatcher"],env:{VSCODE_ESM_ENTRYPOINT:"vs/platform/files/node/watcher/watcherMain",VSCODE_PIPE_LOGGING:"true",VSCODE_VERBOSE_LOGGING:"true"}}));return t.add(e.onDidProcessExit(({code:n,signal:o})=>this.onError(`terminated by itself with code ${n}, signal: ${o} (ETERM)`))),_r.toService(ZO(e.getChannel("watcher")))}}});import{watchFile as M$,unwatchFile as A$}from"fs";var mI,rU=y(()=>{Q();ic();de();it();ie();Me();Ul();Se();mI=class extends _{constructor(){super();this._onDidChangeFile=this._register(new w);this.onDidChangeFile=this._onDidChangeFile.event;this._onDidLogMessage=this._register(new w);this.onDidLogMessage=this._onDidLogMessage.event;this._onDidWatchFail=this._register(new w);this.onDidWatchFail=this._onDidWatchFail.event;this.correlatedWatchRequests=new Map;this.nonCorrelatedWatchRequests=new Map;this.suspendedWatchRequests=this._register(new ar);this.suspendedWatchRequestsWithPolling=new Set;this.updateWatchersDelayer=this._register(new Er(this.getUpdateWatchersDelay()));this.suspendedWatchRequestPollingInterval=5007;this.joinWatch=new ao;this.verboseLogging=!1;this._register(this.onDidWatchFail(e=>this.suspendWatchRequest({id:this.computeId(e),correlationId:this.isCorrelated(e)?e.correlationId:void 0,path:e.path})))}isCorrelated(e){return oI(e)}computeId(e){return this.isCorrelated(e)?e.correlationId:Rr(e)}async watch(e){this.joinWatch.isSettled||this.joinWatch.complete(),this.joinWatch=new ao;try{this.correlatedWatchRequests.clear(),this.nonCorrelatedWatchRequests.clear();for(let n of e)this.isCorrelated(n)?this.correlatedWatchRequests.set(n.correlationId,n):this.nonCorrelatedWatchRequests.set(this.computeId(n),n);for(let[n]of this.suspendedWatchRequests)!this.nonCorrelatedWatchRequests.has(n)&&!this.correlatedWatchRequests.has(n)&&(this.suspendedWatchRequests.deleteAndDispose(n),this.suspendedWatchRequestsWithPolling.delete(n));return await this.updateWatchers(!1)}finally{this.joinWatch.complete()}}updateWatchers(e){let n=[];for(let[o,i]of[...this.nonCorrelatedWatchRequests,...this.correlatedWatchRequests])this.suspendedWatchRequests.has(o)||n.push(i);return this.updateWatchersDelayer.trigger(()=>this.doWatch(n),e?this.getUpdateWatchersDelay():0).catch(o=>tt(o))}getUpdateWatchersDelay(){return 800}isSuspended(e){let n=this.computeId(e);return this.suspendedWatchRequestsWithPolling.has(n)?"polling":this.suspendedWatchRequests.has(n)}async suspendWatchRequest(e){if(this.suspendedWatchRequests.has(e.id))return;let n=new re;this.suspendedWatchRequests.set(e.id,n),await this.joinWatch.p,!n.isDisposed&&(this.monitorSuspendedWatchRequest(e,n),this.updateWatchers(!0))}resumeWatchRequest(e){this.suspendedWatchRequests.deleteAndDispose(e.id),this.suspendedWatchRequestsWithPolling.delete(e.id),this.updateWatchers(!1)}monitorSuspendedWatchRequest(e,n){this.doMonitorWithExistingWatcher(e,n)?(this.trace(`reusing an existing recursive watcher to monitor ${e.path}`),this.suspendedWatchRequestsWithPolling.delete(e.id)):(this.doMonitorWithNodeJS(e,n),this.suspendedWatchRequestsWithPolling.add(e.id))}doMonitorWithExistingWatcher(e,n){let o=this.recursiveWatcher?.subscribe(e.path,(i,s)=>{n.isDisposed||(i?this.monitorSuspendedWatchRequest(e,n):s?.type===1&&this.onMonitoredPathAdded(e))});return o?(n.add(o),!0):!1}doMonitorWithNodeJS(e,n){let o=!1,i=(s,a)=>{if(n.isDisposed)return;let l=this.isPathNotFound(s),c=this.isPathNotFound(a),u=o;o=l,!l&&(c||u)&&this.onMonitoredPathAdded(e)};this.trace(`starting fs.watchFile() on ${e.path} (correlationId: ${e.correlationId})`);try{M$(e.path,{persistent:!1,interval:this.suspendedWatchRequestPollingInterval},i)}catch(s){this.warn(`fs.watchFile() failed with error ${s} on path ${e.path} (correlationId: ${e.correlationId})`)}n.add(oe(()=>{this.trace(`stopping fs.watchFile() on ${e.path} (correlationId: ${e.correlationId})`);try{A$(e.path,i)}catch(s){this.warn(`fs.unwatchFile() failed with error ${s} on path ${e.path} (correlationId: ${e.correlationId})`)}}))}onMonitoredPathAdded(e){this.trace(`detected ${e.path} exists again, resuming watcher (correlationId: ${e.correlationId})`);let n={resource:b.file(e.path),type:1,cId:e.correlationId};this._onDidChangeFile.fire([n]),this.traceEvent(n,e),this.resumeWatchRequest(e)}isPathNotFound(e){return e.ctimeMs===0&&e.ino===0}async stop(){this.suspendedWatchRequests.clearAndDisposeAll(),this.suspendedWatchRequestsWithPolling.clear()}traceEvent(e,n){if(this.verboseLogging){let o=` >> normalized ${e.type===1?"[ADDED]":e.type===2?"[DELETED]":"[CHANGED]"} ${e.resource.fsPath}`;this.traceWithCorrelation(o,n)}}traceWithCorrelation(e,n){this.verboseLogging&&this.trace(`${e}${typeof n.correlationId=="number"?` <${n.correlationId}> `:""}`)}requestToString(e){return`${e.path} (excludes: ${e.excludes.length>0?e.excludes:"<none>"}, includes: ${e.includes&&e.includes.length>0?JSON.stringify(e.includes):"<all>"}, filter: ${QO(e.filter)}, correlationId: ${typeof e.correlationId=="number"?e.correlationId:"<none>"})`}async setVerboseLogging(e){this.verboseLogging=e}}});import{watch as L$,promises as O$}from"fs";var gI,iU=y(()=>{Me();jt();Ni();Q();wv();Ue();me();Rt();ie();Ao();it();ic();Oi();gI=class r extends _{constructor(e,n,o,i,s,a){super();this.request=e;this.recursiveWatcher=n;this.onDidFilesChange=o;this.onDidWatchFail=i;this.onLogMessage=s;this.verboseLogging=a;this.throttledFileChangesEmitter=this._register(new ud({maxWorkChunkSize:100,throttleDelay:200,maxBufferedWork:1e4},e=>this.onDidFilesChange(e)));this.fileChangesAggregator=this._register(new Cv(e=>this.handleFileChanges(e),r.FILE_CHANGES_HANDLER_DELAY));this.cts=new xt;this.realPath=new yn(async()=>{let e=this.request.path;try{e=await ke.realpath(this.request.path),this.request.path!==e&&this.trace(`correcting a path to watch that seems to be a symbolic link (original: ${this.request.path}, real: ${e})`)}catch{}return e});this._isReusingRecursiveWatcher=!1;this.didFail=!1;let l=!qe;this.excludes=ST(this.request.path,this.request.excludes,l),this.includes=this.request.includes?ST(this.request.path,this.request.includes,l):void 0,this.filter=oI(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 e=await O$.stat(this.request.path);if(this.cts.token.isCancellationRequested)return;await QC(this.doWatch(e.isDirectory()),this._store)}catch(e){e.code!=="ENOENT"?this.error(e):this.trace(`ignoring a path for watching who's stat info failed to resolve: ${this.request.path} (error: ${e})`),this.notifyWatchFailed()}}notifyWatchFailed(){this.didFail=!0,this.onDidWatchFail?.()}async doWatch(e){let n=new re;return this.doWatchWithExistingWatcher(e,n)?(this.trace(`reusing an existing recursive watcher for ${this.request.path}`),this._isReusingRecursiveWatcher=!0):(this._isReusingRecursiveWatcher=!1,await this.doWatchWithNodeJS(e,n)),n}doWatchWithExistingWatcher(e,n){if(e)return!1;let o=b.file(this.request.path),i=this.recursiveWatcher?.subscribe(this.request.path,async(s,a)=>{n.isDisposed||(s?await QC(this.doWatch(e),n):a&&(typeof a.cId=="number"||typeof this.request.correlationId=="number")&&this.onFileChange({resource:o,type:a.type,cId:this.request.correlationId},!0))});return i?(n.add(i),!0):!1}async doWatchWithNodeJS(e,n){let o=await this.realPath.value;if(this.cts.token.isCancellationRequested)return;if(ut&&lr(o,"/Volumes/",!0)){this.error(`Refusing to watch ${o} for changes using fs.watch() for possibly being a network share where watching is unreliable and unstable.`);return}let i=new xt(this.cts.token);n.add(oe(()=>i.dispose(!0)));let s=new re;n.add(s);try{let a=b.file(this.request.path),l=vt(o),c=L$(o);s.add(oe(()=>{c.removeAllListeners(),c.close()})),this.trace(`Started watching: '${o}'`);let u=new Set;if(e)try{for(let m of await ke.readdir(o))u.add(m)}catch(m){this.error(m)}if(i.token.isCancellationRequested)return;let p=new Map;s.add(oe(()=>{for(let[,m]of p)m.dispose();p.clear()})),c.on("error",(m,g)=>{i.token.isCancellationRequested||(this.error(`Failed to watch ${o} for changes using fs.watch() (${m}, ${g})`),this.notifyWatchFailed())}),c.on("change",(m,g)=>{if(i.token.isCancellationRequested)return;this.verboseLogging&&this.traceWithCorrelation(`[raw] ["${m}"] ${g}`);let h="";if(g&&(h=g.toString(),ut&&(h=wm(h))),!(!h||m!=="change"&&m!=="rename"))if(e)if(m==="rename"){p.get(h)?.dispose();let v=setTimeout(async()=>{if(p.delete(h),sd(h,l,!qe)&&!await ke.exists(o)){this.onWatchedPathDeleted(a);return}if(i.token.isCancellationRequested)return;let S=await this.existsChildStrictCase(G(o,h));if(i.token.isCancellationRequested)return;let T;S?u.has(h)?T=0:(T=1,u.add(h)):(u.delete(h),T=2),this.onFileChange({resource:fe(a,h),type:T,cId:this.request.correlationId})},r.FILE_DELETE_HANDLER_DELAY);p.set(h,oe(()=>clearTimeout(v)))}else{let v;u.has(h)?v=0:(v=1,u.add(h)),this.onFileChange({resource:fe(a,h),type:v,cId:this.request.correlationId})}else if(m==="rename"||!sd(h,l,!qe)){let v=setTimeout(async()=>{let S=await ke.exists(o);i.token.isCancellationRequested||(S?(this.onFileChange({resource:a,type:0,cId:this.request.correlationId},!0),s.add(await this.doWatch(!1))):this.onWatchedPathDeleted(a))},r.FILE_DELETE_HANDLER_DELAY);s.clear(),s.add(oe(()=>clearTimeout(v)))}else this.onFileChange({resource:a,type:0,cId:this.request.correlationId},!0)})}catch(a){if(i.token.isCancellationRequested)return;this.error(`Failed to watch ${o} for changes using fs.watch() (${a.toString()})`),this.notifyWatchFailed()}}onWatchedPathDeleted(e){this.warn("Watcher shutdown because watched path got deleted"),this.onFileChange({resource:e,type:2,cId:this.request.correlationId},!0),this.fileChangesAggregator.flush(),this.notifyWatchFailed()}onFileChange(e,n=!1){this.cts.token.isCancellationRequested||(this.verboseLogging&&this.traceWithCorrelation(`${e.type===1?"[ADDED]":e.type===2?"[DELETED]":"[CHANGED]"} ${e.resource.fsPath}`),!n&&this.excludes.some(o=>o(e.resource.fsPath))?this.verboseLogging&&this.traceWithCorrelation(` >> ignored (excluded) ${e.resource.fsPath}`):!n&&this.includes&&this.includes.length>0&&!this.includes.some(o=>o(e.resource.fsPath))?this.verboseLogging&&this.traceWithCorrelation(` >> ignored (not included) ${e.resource.fsPath}`):this.fileChangesAggregator.work(e))}handleFileChanges(e){let n=KO(e),o=[];for(let s of n){if(jO(s,this.filter)){this.verboseLogging&&this.traceWithCorrelation(` >> ignored (filtered) ${s.resource.fsPath}`);continue}o.push(s)}if(o.length===0)return;if(this.verboseLogging)for(let s of o)this.traceWithCorrelation(` >> normalized ${s.type===1?"[ADDED]":s.type===2?"[DELETED]":"[CHANGED]"} ${s.resource.fsPath}`);this.throttledFileChangesEmitter.work(o)?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: ${o[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: ${o.length}, most recent change: ${o[0].resource.fsPath}). Use 'files.watcherExclude' setting to exclude folders with lots of changing files (e.g. compilation output).`)}async existsChildStrictCase(e){if(qe)return ke.exists(e);try{let n=vt(e);return(await ke.readdir(At(e))).some(i=>i===n)}catch(n){return this.trace(n),!1}}setVerboseLogging(e){this.verboseLogging=e}error(e){this.cts.token.isCancellationRequested||this.onLogMessage?.({type:"error",message:`[File Watcher (node.js)] ${e}`})}warn(e){this.cts.token.isCancellationRequested||this.onLogMessage?.({type:"warn",message:`[File Watcher (node.js)] ${e}`})}trace(e){!this.cts.token.isCancellationRequested&&this.verboseLogging&&this.onLogMessage?.({type:"trace",message:`[File Watcher (node.js)] ${e}`})}traceWithCorrelation(e){!this.cts.token.isCancellationRequested&&this.verboseLogging&&this.trace(`${e}${typeof this.request.correlationId=="number"?` <${this.request.correlationId}> `:""}`)}dispose(){this.cts.dispose(!0),super.dispose()}}});var fI,sU=y(()=>{de();Zy();rU();me();iU();Me();Q();fI=class extends mI{constructor(e){super();this.recursiveWatcher=e;this.onDidError=W.None;this._watchers=new Map;this.worker=this._register(new so)}get watchers(){return this._watchers.values()}async doWatch(e){e=this.removeDuplicateRequests(e);let n=[],o=new Set(Array.from(this.watchers));for(let i of e){let s=this._watchers.get(this.requestToWatcherKey(i));s&&IT(s.request.excludes,i.excludes)&&IT(s.request.includes,i.includes)?o.delete(s):n.push(i)}n.length&&this.trace(`Request to start watching: ${n.map(i=>this.requestToString(i)).join(",")}`),o.size&&this.trace(`Request to stop watching: ${Array.from(o).map(i=>this.requestToString(i.request)).join(",")}`),this.worker.clear();for(let i of o)this.stopWatching(i);this.createWatchWorker().work(n)}createWatchWorker(){return this.worker.value=new ud({maxWorkChunkSize:100,throttleDelay:100,maxBufferedWork:Number.MAX_VALUE},e=>{for(let n of e)this.startWatching(n)}),this.worker.value}requestToWatcherKey(e){return typeof e.correlationId=="number"?e.correlationId:this.pathToWatcherKey(e.path)}pathToWatcherKey(e){return qe?e:e.toLowerCase()}startWatching(e){let n=new gI(e,this.recursiveWatcher,i=>this._onDidChangeFile.fire(i),()=>this._onDidWatchFail.fire(e),i=>this._onDidLogMessage.fire(i),this.verboseLogging),o={request:e,instance:n};this._watchers.set(this.requestToWatcherKey(e),o)}async stop(){await super.stop();for(let e of this.watchers)this.stopWatching(e)}stopWatching(e){this.trace("stopping file watcher",e),this._watchers.delete(this.requestToWatcherKey(e.request)),e.instance.dispose()}removeDuplicateRequests(e){let n=new Map;for(let o of e){let i=n.get(o.correlationId);i||(i=new Map,n.set(o.correlationId,i));let s=this.pathToWatcherKey(o.path);i.has(s)&&this.trace(`ignoring a request for watching who's path is already watched: ${this.requestToString(o)}`),i.set(s,o)}return Array.from(n.values()).flatMap(o=>Array.from(o.values()))}async setVerboseLogging(e){super.setVerboseLogging(e);for(let n of this.watchers)n.instance.setVerboseLogging(e)}trace(e,n){this.verboseLogging&&this._onDidLogMessage.fire({type:"trace",message:this.toMessage(e,n)})}warn(e){this._onDidLogMessage.fire({type:"warn",message:this.toMessage(e)})}toMessage(e,n){return n?`[File Watcher (node.js)] ${e} (${this.requestToString(n.request)})`:`[File Watcher (node.js)] ${e}`}}});var hI,aU=y(()=>{ic();sU();hI=class extends tI{constructor(t,e,n){super(t,e,n),this.init()}createWatcher(t){return t.add(new fI(void 0))}}});import{constants as xT,promises as ac}from"fs";var Ji,Rg=y(()=>{Me();_n();ze();de();Ni();Q();Ue();me();Rt();md();Ao();le();it();mT();JO();oU();aU();Ji=class r extends iI{constructor(){super(...arguments);this.onDidChangeCapabilities=W.None;this.resourceLocks=new Xe(e=>Ll.getComparisonKey(e));this.mapHandleToPos=new Map;this.mapHandleToLock=new Map;this.writeHandles=new Map}static{this.TRACE_LOG_RESOURCE_LOCKS=!1}get capabilities(){return this._capabilities||(this._capabilities=1040414,qe&&(this._capabilities|=1024)),this._capabilities}async stat(e){try{let{stat:n,symbolicLink:o}=await Io.stat(this.toFilePath(e)),i;return(n.mode&128)===0&&(i=2),(n.mode&xT.S_IXUSR||n.mode&xT.S_IXGRP||n.mode&xT.S_IXOTH)&&(i=(i??0)|4),{type:this.toType(n,o),ctime:n.birthtime.getTime(),mtime:n.mtime.getTime(),size:n.size,permissions:i}}catch(n){throw this.toFileSystemProviderError(n)}}async statIgnoreError(e){try{return await this.stat(e)}catch{return}}async realpath(e){let n=this.toFilePath(e);return ke.realpath(n)}async readdir(e){try{let n=await ke.readdir(this.toFilePath(e),{withFileTypes:!0}),o=[];return await Promise.all(n.map(async i=>{try{let s;i.isSymbolicLink()?s=(await this.stat(fe(e,i.name))).type:s=this.toType(i),o.push([i.name,s])}catch(s){this.logService.trace(s)}})),o}catch(n){throw this.toFileSystemProviderError(n)}}toType(e,n){let o;return n?.dangling?o=0:e.isFile()?o=1:e.isDirectory()?o=2:o=0,n&&(o|=64),o}async createResourceLock(e){let n=this.toFilePath(e);this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - request to acquire resource lock (${n})`);let o;for(;o=this.resourceLocks.get(e);)this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - waiting for resource lock to be released (${n})`),await o.wait();let i=new wr;return this.resourceLocks.set(e,i),this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - new resource lock created (${n})`),oe(()=>{this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - resource lock dispose() (${n})`),this.resourceLocks.get(e)===i&&(this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - resource lock removed from resource-lock map (${n})`),this.resourceLocks.delete(e)),this.traceLock(`[Disk FileSystemProvider]: createResourceLock() - resource lock barrier open() (${n})`),i.open()})}async readFile(e,n){let o;try{n?.atomic&&(this.traceLock(`[Disk FileSystemProvider]: atomic read operation started (${this.toFilePath(e)})`),o=await this.createResourceLock(e));let i=this.toFilePath(e);return await ac.readFile(i)}catch(i){throw this.toFileSystemProviderError(i)}finally{o?.dispose()}}traceLock(e){r.TRACE_LOG_RESOURCE_LOCKS&&this.logService.trace(e)}readFileStream(e,n,o){let i=Ca(s=>L.concat(s.map(a=>L.wrap(a))).buffer);return Jy(this,e,i,s=>s.buffer,{...n,bufferSize:256*1024},o),i}async writeFile(e,n,o){return o?.atomic!==!1&&o?.atomic?.postfix&&await this.canWriteFileAtomic(e)?this.doWriteFileAtomic(e,fe(bm(e),`${Ln(e)}${o.atomic.postfix}`),n,o):this.doWriteFile(e,n,o)}async canWriteFileAtomic(e){try{let n=this.toFilePath(e),{symbolicLink:o}=await Io.stat(n);if(o)return!1}catch{}return!0}async doWriteFileAtomic(e,n,o,i){let s=new re;try{s.add(await this.createResourceLock(e)),s.add(await this.createResourceLock(n)),await this.doWriteFile(n,o,{...i,create:!0,overwrite:!0},!0);try{await this.rename(n,e,{overwrite:!0})}catch(a){try{await this.delete(n,{recursive:!1,useTrash:!1,atomic:!1})}catch{}throw a}}finally{s.dispose()}}async doWriteFile(e,n,o,i){let s;try{let a=this.toFilePath(e);if(!o.create||!o.overwrite){if(await ke.exists(a)){if(!o.overwrite)throw Yr(d(2910,null),"EntryExists")}else if(!o.create)throw Yr(d(2913,null),"EntryNotFound")}s=await this.open(e,{create:!0,append:o.append,unlock:o.unlock},i),await this.write(s,0,n,0,n.byteLength)}catch(a){throw await this.toFileSystemProviderWriteError(e,a)}finally{typeof s=="number"&&await this.close(s)}}static{this.canFlush=!0}static configureFlushOnWrite(e){r.canFlush=e}async open(e,n,o){let i=this.toFilePath(e),s;ql(n)&&!o&&(s=await this.createResourceLock(e));let a;try{if(ql(n)&&n.unlock)try{let{stat:l}=await Io.stat(i);l.mode&128||await ac.chmod(i,l.mode|128)}catch(l){l.code!=="ENOENT"&&this.logService.trace(l)}if(te&&ql(n)&&!n.append)try{a=await ke.open(i,"r+"),await ke.ftruncate(a,0)}catch(l){if(l.code!=="ENOENT"&&this.logService.trace(l),typeof a=="number"){try{await ke.close(a)}catch(c){this.logService.trace(c)}a=void 0}}typeof a!="number"&&(a=await ke.open(i,ql(n)?n.append?"a":"w":"r"))}catch(l){throw s?.dispose(),ql(n)?await this.toFileSystemProviderWriteError(e,l):this.toFileSystemProviderError(l)}if(this.mapHandleToPos.set(a,0),ql(n)&&this.writeHandles.set(a,e),s){let l=this.mapHandleToLock.get(a);this.traceLock(`[Disk FileSystemProvider]: open() - storing lock for handle ${a} (${i})`),this.mapHandleToLock.set(a,s),l&&(this.traceLock(`[Disk FileSystemProvider]: open() - disposing a previous lock that was still stored on same handle ${a} (${i})`),l.dispose())}return a}async close(e){let n=this.mapHandleToLock.get(e);try{if(this.mapHandleToPos.delete(e),this.writeHandles.delete(e)&&r.canFlush)try{await ke.fdatasync(e)}catch(o){r.configureFlushOnWrite(!1),this.logService.error(o)}return await ke.close(e)}catch(o){throw this.toFileSystemProviderError(o)}finally{n&&(this.mapHandleToLock.get(e)===n&&(this.traceLock(`[Disk FileSystemProvider]: close() - resource lock removed from handle-lock map ${e}`),this.mapHandleToLock.delete(e)),this.traceLock(`[Disk FileSystemProvider]: close() - disposing lock for handle ${e}`),n.dispose())}}async read(e,n,o,i,s){let a=this.normalizePos(e,n),l=null;try{l=(await ke.read(e,o,i,s,a)).bytesRead}catch(c){throw this.toFileSystemProviderError(c)}finally{this.updatePos(e,a,l)}return l}normalizePos(e,n){return n===this.mapHandleToPos.get(e)?null:n}updatePos(e,n,o){let i=this.mapHandleToPos.get(e);typeof i=="number"&&(typeof n=="number"||(typeof o=="number"?this.mapHandleToPos.set(e,i+o):this.mapHandleToPos.delete(e)))}async write(e,n,o,i,s){return C0(()=>this.doWrite(e,n,o,i,s),100,3)}async doWrite(e,n,o,i,s){let a=this.normalizePos(e,n),l=null;try{l=(await ke.write(e,o,i,s,a)).bytesWritten}catch(c){throw await this.toFileSystemProviderWriteError(this.writeHandles.get(e),c)}finally{this.updatePos(e,a,l)}return l}async mkdir(e){try{await ac.mkdir(this.toFilePath(e))}catch(n){throw this.toFileSystemProviderError(n)}}async delete(e,n){try{let o=this.toFilePath(e);if(n.recursive){let i;n?.atomic!==!1&&n.atomic.postfix&&(i=G(At(o),`${vt(o)}${n.atomic.postfix}`)),await ke.rm(o,1,i)}else try{await ac.unlink(o)}catch(i){if(i.code==="EPERM"||i.code==="EISDIR"){let s=!1;try{let{stat:a,symbolicLink:l}=await Io.stat(o);s=a.isDirectory()&&!l}catch{}if(s)await ac.rmdir(o);else throw i}else throw i}}catch(o){throw this.toFileSystemProviderError(o)}}async rename(e,n,o){let i=this.toFilePath(e),s=this.toFilePath(n);if(i!==s)try{await this.validateMoveCopy(e,n,"move",o.overwrite),await ke.rename(i,s)}catch(a){throw(a.code==="EINVAL"||a.code==="EBUSY"||a.code==="ENAMETOOLONG")&&(a=new Error(d(2914,null,vt(i),vt(At(s)),a.toString()))),this.toFileSystemProviderError(a)}}async copy(e,n,o){let i=this.toFilePath(e),s=this.toFilePath(n);if(i!==s)try{await this.validateMoveCopy(e,n,"copy",o.overwrite),await ke.copy(i,s,{preserveSymlinks:!0})}catch(a){throw(a.code==="EINVAL"||a.code==="EBUSY"||a.code==="ENAMETOOLONG")&&(a=new Error(d(2908,null,vt(i),vt(At(s)),a.toString()))),this.toFileSystemProviderError(a)}}async validateMoveCopy(e,n,o,i){let s=this.toFilePath(e),a=this.toFilePath(n),l=!1;if(this.capabilities&1024||(l=sd(s,a,!0)),l){if(o==="copy")throw Yr(d(2909,null),"EntryExists");if(o==="move")return}let u=await this.statIgnoreError(e);if(!u)throw Yr(d(2912,null),"EntryNotFound");let p=await this.statIgnoreError(n);if(p){if(!i)throw Yr(d(2911,null),"EntryExists");(u.type&1)!==0&&(p.type&1)!==0||await this.delete(n,{recursive:!0,useTrash:!1,atomic:!1})}}async cloneFile(e,n){return this.doCloneFile(e,n,!1)}async doCloneFile(e,n,o){let i=this.toFilePath(e),s=this.toFilePath(n),a=!!(this.capabilities&1024);if(sd(i,s,!a))return;let l=new re;try{l.add(await this.createResourceLock(e)),l.add(await this.createResourceLock(n)),o&&await ac.mkdir(At(s),{recursive:!0}),await ac.copyFile(i,s)}catch(c){if(c.code==="ENOENT"&&!o)return this.doCloneFile(e,n,!0);throw this.toFileSystemProviderError(c)}finally{l.dispose()}}createUniversalWatcher(e,n,o){return new pI(i=>e(i),i=>n(i),o)}createNonRecursiveWatcher(e,n,o){return new hI(i=>e(i),i=>n(i),o)}toFileSystemProviderError(e){if(e instanceof Ed)return e;let n=e,o;switch(e.code){case"ENOENT":o="EntryNotFound";break;case"EISDIR":o="EntryIsADirectory";break;case"ENOTDIR":o="EntryNotADirectory";break;case"EEXIST":o="EntryExists";break;case"EPERM":case"EACCES":o="NoPermissions";break;case"ERR_UNC_HOST_NOT_ALLOWED":n=`${e.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`,o="Unknown";break;default:o="Unknown"}return Yr(n,o)}async toFileSystemProviderWriteError(e,n){let o=this.toFileSystemProviderError(n);if(e&&o.code==="NoPermissions")try{let{stat:i}=await Io.stat(this.toFilePath(e));i.mode&128||(o=Yr(n,"EntryWriteLocked"))}catch(i){this.logService.trace(i)}return o}}});function lU(r){return r.getFullYear()+"-"+String(r.getMonth()+1).padStart(2,"0")+"-"+String(r.getDate()).padStart(2,"0")+"T"+String(r.getHours()).padStart(2,"0")+":"+String(r.getMinutes()).padStart(2,"0")+":"+String(r.getSeconds()).padStart(2,"0")+"."+(r.getMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"}var U$,N$,CT,tIe,nIe,oIe,cU=y(()=>{le();Oi();me();U$=60,N$=U$*60,CT=N$*24,tIe=CT*7,nIe=CT*30,oIe=CT*365});function F$(r,t){return vI(r["inspect-extensions"],r["inspect-brk-extensions"],5870,t,r.debugId,r.extensionEnvironment)}function vI(r,t,e,n,o,i){let a=Number(t||r)||(n?null:e),l=a?!!t:!1,c;if(i)try{c=JSON.parse(i)}catch{}return{port:a,break:l,debugId:o,env:c}}var dU,gt,uU=y(()=>{cU();sI();Ne();Ue();Sr();Rt();ie();dU=/^([^.]+\..+)[:=](.+)$/,gt=class{constructor(t,e,n){this._args=t;this.paths=e;this.productService=n}get appRoot(){return At(Tt.asFileUri("").fsPath)}get userHome(){return b.file(this.paths.homeDir)}get userDataPath(){return this.paths.userDataDir}get appSettingsHome(){return b.file(G(this.userDataPath,"User"))}get tmpDir(){return b.file(this.paths.tmpDir)}get cacheHome(){return b.file(this.userDataPath)}get stateResource(){return fe(this.appSettingsHome,"globalStorage","storage.json")}get userRoamingDataHome(){return this.appSettingsHome.with({scheme:$.vscodeUserData})}get userDataSyncHome(){return fe(this.appSettingsHome,"sync")}get logsHome(){if(!this.args.logsPath){let t=lU(new Date).replace(/-|:|\.\d+Z$/g,"");this.args.logsPath=G(this.userDataPath,"logs",t)}return b.file(this.args.logsPath)}get sync(){return this.args.sync}get workspaceStorageHome(){return fe(this.appSettingsHome,"workspaceStorage")}get localHistoryHome(){return fe(this.appSettingsHome,"History")}get keyboardLayoutResource(){return fe(this.userRoamingDataHome,"keyboardLayout.json")}get argvResource(){let t=ln.VSCODE_PORTABLE;return t?b.file(G(t,"argv.json")):fe(this.appSettingsHome,"argv.json")}get isExtensionDevelopment(){return!!this.args.extensionDevelopmentPath}get untitledWorkspacesHome(){return b.file(G(this.userDataPath,"Workspaces"))}get builtinExtensionsPath(){let t=this.args["builtin-extensions-dir"];return t?io(t):wn(G(Tt.asFileUri("").fsPath,"..","extensions"))}get extensionsDownloadLocation(){let t=this.args["extensions-download-dir"];return t?b.file(io(t)):b.file(G(this.userDataPath,"CachedExtensionVSIXs"))}get extensionsPath(){let t=this.args["extensions-dir"];if(t)return io(t);let e=ln.VSCODE_EXTENSIONS;if(e)return e;let n=ln.VSCODE_PORTABLE;return n?G(n,"extensions"):fe(this.userHome,this.productService.dataFolderName,"extensions").fsPath}get appSharedDataHome(){let t=this.args["shared-data-dir"];if(t)return b.file(io(t));let e=ln.VSCODE_PORTABLE;return e?b.file(G(e,"shared-data")):fe(this.userHome,this.productService.sharedDataFolderName)}get extensionDevelopmentLocationURI(){let t=this.args.extensionDevelopmentPath;if(Array.isArray(t))return t.map(e=>/^[^:/?#]+?:\/\//.test(e)?b.parse(e):b.file(wn(e)))}get extensionDevelopmentKind(){return this.args.extensionDevelopmentKind?.map(t=>t==="ui"||t==="workspace"||t==="web"?t:"workspace")}get extensionTestsLocationURI(){let t=this.args.extensionTestsPath;if(t)return/^[^:/?#]+?:\/\//.test(t)?b.parse(t):b.file(wn(t))}get disableExtensions(){if(this.args["disable-extensions"])return!0;let t=this.args["disable-extension"];if(t){if(typeof t=="string")return[t];if(Array.isArray(t)&&t.length>0)return t}return!1}get skipBuiltinExtensions(){let t=ln.VSCODE_SKIP_BUILTIN_EXTENSIONS;return t?t.split(",").map(e=>e.trim()).filter(e=>e):[]}get debugExtensionHost(){return F$(this.args,this.isBuilt)}get debugRenderer(){return!!this.args.debugRenderer}get isBuilt(){return!ln.VSCODE_DEV}get verbose(){return!!this.args.verbose}get logLevel(){return this.args.log?.find(t=>!dU.test(t))}get extensionLogLevel(){let t=[];for(let e of this.args.log||[]){let n=dU.exec(e);n?.[1]&&n[2]&&t.push([n[1],n[2]])}return t.length?t:void 0}get serviceMachineIdResource(){return fe(b.file(this.userDataPath),"machineid")}get crashReporterId(){return this.args["crash-reporter-id"]}get crashReporterDirectory(){return this.args["crash-reporter-directory"]}get disableTelemetry(){return!!this.args["disable-telemetry"]}get disableExperiments(){return!!this.args["disable-experiments"]}get disableWorkspaceTrust(){return!!this.args["disable-workspace-trust"]}get useInMemorySecretStorage(){return!!this.args["use-inmemory-secretstorage"]}get policyFile(){if(this.args["__enable-file-policy"]){let t=ln.VSCODE_PORTABLE;return t?b.file(G(t,"policy.json")):fe(this.userHome,this.productService.dataFolderName,"policy.json")}}get agentSessionsWorkspace(){return fe(this.appSettingsHome,"agent-sessions.code-workspace")}get editSessionId(){return this.args.editSessionId}get exportPolicyData(){return this.args["export-policy-data"]}get exportDefaultKeybindings(){return this.args["export-default-keybindings"]}get continueOn(){return this.args.continueOn}set continueOn(t){this.args.continueOn=t}get args(){return this._args}};C([Ye],gt.prototype,"appRoot",1),C([Ye],gt.prototype,"userHome",1),C([Ye],gt.prototype,"userDataPath",1),C([Ye],gt.prototype,"appSettingsHome",1),C([Ye],gt.prototype,"tmpDir",1),C([Ye],gt.prototype,"cacheHome",1),C([Ye],gt.prototype,"stateResource",1),C([Ye],gt.prototype,"userRoamingDataHome",1),C([Ye],gt.prototype,"userDataSyncHome",1),C([Ye],gt.prototype,"sync",1),C([Ye],gt.prototype,"workspaceStorageHome",1),C([Ye],gt.prototype,"localHistoryHome",1),C([Ye],gt.prototype,"keyboardLayoutResource",1),C([Ye],gt.prototype,"argvResource",1),C([Ye],gt.prototype,"isExtensionDevelopment",1),C([Ye],gt.prototype,"untitledWorkspacesHome",1),C([Ye],gt.prototype,"builtinExtensionsPath",1),C([Ye],gt.prototype,"extensionsDownloadLocation",1),C([Ye],gt.prototype,"extensionsPath",1),C([Ye],gt.prototype,"appSharedDataHome",1),C([Ye],gt.prototype,"extensionDevelopmentLocationURI",1),C([Ye],gt.prototype,"extensionDevelopmentKind",1),C([Ye],gt.prototype,"extensionTestsLocationURI",1),C([Ye],gt.prototype,"debugExtensionHost",1),C([Ye],gt.prototype,"logLevel",1),C([Ye],gt.prototype,"extensionLogLevel",1),C([Ye],gt.prototype,"serviceMachineIdResource",1),C([Ye],gt.prototype,"disableTelemetry",1),C([Ye],gt.prototype,"disableExperiments",1),C([Ye],gt.prototype,"disableWorkspaceTrust",1),C([Ye],gt.prototype,"useInMemorySecretStorage",1),C([Ye],gt.prototype,"policyFile",1),C([Ye],gt.prototype,"agentSessionsWorkspace",1)});import{homedir as pU}from"os";import{resolve as V$,isAbsolute as H$,join as fu}from"path";function mU(r,t){let e=B$(r,t),n=[e];return H$(e)||n.unshift(W$),V$(...n)}function B$(r,t){process.env.VSCODE_DEV&&(t="code-oss-dev");let e=process.env.VSCODE_PORTABLE;if(e)return fu(e,"user-data");let n=process.env.VSCODE_APPDATA;if(n)return fu(n,t);let o=r["user-data-dir"];return o||$$(t)}function $$(r){let t;switch(process.platform){case"win32":if(t=process.env.APPDATA,!t){let e=process.env.USERPROFILE;if(typeof e!="string")throw new Error("Windows: Unexpected undefined %USERPROFILE% environment variable");t=fu(e,"AppData","Roaming")}break;case"darwin":t=fu(pU(),"Library","Application Support");break;case"linux":t=process.env.XDG_CONFIG_HOME||fu(pU(),".config");break;default:throw new Error("Platform not supported")}return fu(t,r)}var W$,gU=y(()=>{W$=process.env.VSCODE_CWD||process.cwd()});import{homedir as q$,tmpdir as z$}from"os";function fU(r,t){return vI(r["inspect-ptyhost"],r["inspect-brk-ptyhost"],5877,t,r.extensionEnvironment)}function hU(r,t){return vI(r["inspect-agenthost"],r["inspect-brk-agenthost"],5878,t,r.extensionEnvironment)}var yI,II=y(()=>{uU();gU();yI=class extends gt{constructor(t,e){let n=q$();super(t,{homeDir:n,tmpDir:z$(),userDataDir:mU(t,e.nameShort)},e)}}});function qa(){return ET||(ET=L.alloc(0)),ET}function vU(r){switch(r){case 0:return"None";case 1:return"Regular";case 2:return"Control";case 3:return"Ack";case 5:return"Disconnect";case 6:return"ReplayRequest";case 7:return"PauseWriting";case 8:return"ResumeWriting";case 9:return"KeepAlive"}}var PT,ET,Pg,oi,bI,SI,lc,wT,TT,RT,kg,za=y(()=>{ze();de();Q();Hs();(s=>{s.enableDiagnostics=!1,s.records=[];let e=new WeakMap,n=0;function o(a,l){if(!e.has(a)){let c=String(++n);e.set(a,c)}return e.get(a)}function i(a,l,c,u){}s.traceSocketEvent=i})(PT||={});ET=null;Pg=class{get byteLength(){return this._totalLength}constructor(){this._chunks=[],this._totalLength=0}acceptChunk(t){this._chunks.push(t),this._totalLength+=t.byteLength}read(t){return this._read(t,!0)}peek(t){return this._read(t,!1)}_read(t,e){if(t===0)return qa();if(t>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===t){let s=this._chunks[0];return e&&(this._chunks.shift(),this._totalLength-=t),s}if(this._chunks[0].byteLength>t){let s=this._chunks[0].slice(0,t);return e&&(this._chunks[0]=this._chunks[0].slice(t),this._totalLength-=t),s}let n=L.alloc(t),o=0,i=0;for(;t>0;){let s=this._chunks[i];if(s.byteLength>t){let a=s.slice(0,t);n.set(a,o),o+=t,e&&(this._chunks[i]=s.slice(t),this._totalLength-=t),t-=t}else n.set(s,o),o+=s.byteLength,e?(this._chunks.shift(),this._totalLength-=s.byteLength):i++,t-=s.byteLength}return n}};oi=class{constructor(t,e,n,o){this.type=t;this.id=e;this.ack=n;this.data=o;this.writtenTime=0}get size(){return this.data.byteLength}},bI=class extends _{constructor(e){super();this._onMessage=this._register(new w);this.onMessage=this._onMessage.event;this._state={readHead:!0,readLen:13,messageType:0,id:0,ack:0};this._socket=e,this._isDisposed=!1,this._incomingData=new Pg,this._register(this._socket.onData(n=>this.acceptChunk(n))),this.lastReadTime=Date.now()}acceptChunk(e){if(!(!e||e.byteLength===0))for(this.lastReadTime=Date.now(),this._incomingData.acceptChunk(e);this._incomingData.byteLength>=this._state.readLen;){let n=this._incomingData.read(this._state.readLen);if(this._state.readHead)this._state.readHead=!1,this._state.readLen=n.readUInt32BE(9),this._state.messageType=n.readUInt8(0),this._state.id=n.readUInt32BE(1),this._state.ack=n.readUInt32BE(5),this._socket.traceSocketEvent("protocolHeaderRead",{messageType:vU(this._state.messageType),id:this._state.id,ack:this._state.ack,messageSize:this._state.readLen});else{let o=this._state.messageType,i=this._state.id,s=this._state.ack;if(this._state.readHead=!0,this._state.readLen=13,this._state.messageType=0,this._state.id=0,this._state.ack=0,this._socket.traceSocketEvent("protocolMessageRead",n),this._onMessage.fire(new oi(o,i,s,n)),this._isDisposed)break}}}readEntireBuffer(){return this._incomingData.read(this._incomingData.byteLength)}dispose(){this._isDisposed=!0,super.dispose()}},SI=class{constructor(t){this._writeNowTimeout=null;this._isDisposed=!1,this._isPaused=!1,this._socket=t,this._data=[],this._totalLength=0,this.lastWriteTime=0}dispose(){try{this.flush()}catch{}this._isDisposed=!0}drain(){return this.flush(),this._socket.drain()}flush(){this._writeNow()}pause(){this._isPaused=!0}resume(){this._isPaused=!1,this._scheduleWriting()}write(t){if(this._isDisposed)return;t.writtenTime=Date.now(),this.lastWriteTime=Date.now();let e=L.alloc(13);e.writeUInt8(t.type,0),e.writeUInt32BE(t.id,1),e.writeUInt32BE(t.ack,5),e.writeUInt32BE(t.data.byteLength,9),this._socket.traceSocketEvent("protocolHeaderWrite",{messageType:vU(t.type),id:t.id,ack:t.ack,messageSize:t.data.byteLength}),this._socket.traceSocketEvent("protocolMessageWrite",t.data),this._writeSoon(e,t.data)}_bufferAdd(t,e){let n=this._totalLength===0;return this._data.push(t,e),this._totalLength+=t.byteLength+e.byteLength,n}_bufferTake(){let t=L.concat(this._data,this._totalLength);return this._data.length=0,this._totalLength=0,t}_writeSoon(t,e){this._bufferAdd(t,e)&&this._scheduleWriting()}_scheduleWriting(){this._writeNowTimeout||(this._writeNowTimeout=setTimeout(()=>{this._writeNowTimeout=null,this._writeNow()}))}_writeNow(){if(this._totalLength===0||this._isPaused)return;let t=this._bufferTake();this._socket.traceSocketEvent("protocolWrite",{byteLength:t.byteLength}),this._socket.write(t)}},lc=class{constructor(){this._hasListeners=!1;this._isDeliveringMessages=!1;this._bufferedMessages=[];this._emitter=new w({onWillAddFirstListener:()=>{this._hasListeners=!0,queueMicrotask(()=>this._deliverMessages())},onDidRemoveLastListener:()=>{this._hasListeners=!1}}),this.event=this._emitter.event}_deliverMessages(){if(!this._isDeliveringMessages){for(this._isDeliveringMessages=!0;this._hasListeners&&this._bufferedMessages.length>0;)this._emitter.fire(this._bufferedMessages.shift());this._isDeliveringMessages=!1}}fire(t){this._hasListeners?this._bufferedMessages.length>0?this._bufferedMessages.push(t):this._emitter.fire(t):this._bufferedMessages.push(t)}flushBuffer(){this._bufferedMessages=[]}},wT=class{constructor(t){this.data=t,this.next=null}},TT=class{constructor(){this._first=null,this._last=null}length(){let t=0,e=this._first;for(;e;)e=e.next,t++;return t}peek(){return this._first?this._first.data:null}toArray(){let t=[],e=0,n=this._first;for(;n;)t[e++]=n.data,n=n.next;return t}pop(){if(this._first){if(this._first===this._last){this._first=null,this._last=null;return}this._first=this._first.next}}push(t){let e=new wT(t);if(!this._first){this._first=e,this._last=e;return}this._last.next=e,this._last=e}},RT=class r{static{this._HISTORY_LENGTH=10}static{this._INSTANCE=null}static getInstance(){return r._INSTANCE||(r._INSTANCE=new r),r._INSTANCE}constructor(){this.lastRuns=[];let t=Date.now();for(let e=0;e<r._HISTORY_LENGTH;e++)this.lastRuns[e]=t-1e3*e;setInterval(()=>{for(let e=r._HISTORY_LENGTH;e>=1;e--)this.lastRuns[e]=this.lastRuns[e-1];this.lastRuns[0]=Date.now()},1e3)}load(){let t=Date.now(),e=(1+r._HISTORY_LENGTH)*1e3,n=0;for(let o=0;o<r._HISTORY_LENGTH;o++)t-this.lastRuns[o]<=e&&n++;return 1-n/r._HISTORY_LENGTH}hasHighLoad(){return this.load()>=.5}},kg=class{constructor(t){this._onControlMessage=new lc;this.onControlMessage=this._onControlMessage.event;this._onMessage=new lc;this.onMessage=this._onMessage.event;this._onDidDispose=new lc;this.onDidDispose=this._onDidDispose.event;this._onSocketClose=new lc;this.onSocketClose=this._onSocketClose.event;this._onSocketTimeout=new lc;this.onSocketTimeout=this._onSocketTimeout.event;this._loadEstimator=t.loadEstimator??RT.getInstance(),this._shouldSendKeepAlive=t.sendKeepAlive??!0,this._isReconnecting=!1,this._outgoingUnackMsg=new TT,this._outgoingMsgId=0,this._outgoingAckId=0,this._outgoingAckTimeout=null,this._incomingMsgId=0,this._incomingAckId=0,this._incomingMsgLastTime=0,this._incomingAckTimeout=null,this._lastReplayRequestTime=0,this._lastSocketTimeoutTime=Date.now(),this._socketDisposables=new re,this._socket=t.socket,this._socketWriter=this._socketDisposables.add(new SI(this._socket)),this._socketReader=this._socketDisposables.add(new bI(this._socket)),this._socketDisposables.add(this._socketReader.onMessage(e=>this._receiveMessage(e))),this._socketDisposables.add(this._socket.onClose(e=>this._onSocketClose.fire(e))),t.initialChunk&&this._socketReader.acceptChunk(t.initialChunk),this._shouldSendKeepAlive?this._keepAliveInterval=setInterval(()=>{this._sendKeepAlive()},5e3):this._keepAliveInterval=null}get unacknowledgedCount(){return this._outgoingMsgId-this._outgoingAckId}dispose(){this._outgoingAckTimeout&&(clearTimeout(this._outgoingAckTimeout),this._outgoingAckTimeout=null),this._incomingAckTimeout&&(clearTimeout(this._incomingAckTimeout),this._incomingAckTimeout=null),this._keepAliveInterval&&(clearInterval(this._keepAliveInterval),this._keepAliveInterval=null),this._socketDisposables.dispose()}drain(){return this._socketWriter.drain()}sendDisconnect(){if(!this._didSendDisconnect){this._didSendDisconnect=!0;let t=new oi(5,0,0,qa());this._socketWriter.write(t),this._socketWriter.flush()}}sendPause(){let t=new oi(7,0,0,qa());this._socketWriter.write(t)}sendResume(){let t=new oi(8,0,0,qa());this._socketWriter.write(t)}pauseSocketWriting(){this._socketWriter.pause()}getSocket(){return this._socket}getMillisSinceLastIncomingData(){return Date.now()-this._socketReader.lastReadTime}beginAcceptReconnection(t,e){this._isReconnecting=!0,this._socketDisposables.dispose(),this._socketDisposables=new re,this._onControlMessage.flushBuffer(),this._onSocketClose.flushBuffer(),this._onSocketTimeout.flushBuffer(),this._socket.dispose(),this._lastReplayRequestTime=0,this._lastSocketTimeoutTime=Date.now(),this._socket=t,this._socketWriter=this._socketDisposables.add(new SI(this._socket)),this._socketReader=this._socketDisposables.add(new bI(this._socket)),this._socketDisposables.add(this._socketReader.onMessage(n=>this._receiveMessage(n))),this._socketDisposables.add(this._socket.onClose(n=>this._onSocketClose.fire(n))),this._socketReader.acceptChunk(e)}endAcceptReconnection(){this._isReconnecting=!1,this._incomingAckId=this._incomingMsgId;let t=new oi(3,0,this._incomingAckId,qa());this._socketWriter.write(t);let e=this._outgoingUnackMsg.toArray();for(let n=0,o=e.length;n<o;n++)this._socketWriter.write(e[n]);this._recvAckCheck()}acceptDisconnect(){this._onDidDispose.fire()}_receiveMessage(t){if(t.ack>this._outgoingAckId){this._outgoingAckId=t.ack;do{let e=this._outgoingUnackMsg.peek();if(e&&e.id<=t.ack)this._outgoingUnackMsg.pop();else break}while(!0)}switch(t.type){case 0:break;case 1:{if(t.id>this._incomingMsgId)if(t.id!==this._incomingMsgId+1){let e=Date.now();e-this._lastReplayRequestTime>1e4&&(this._lastReplayRequestTime=e,this._socketWriter.write(new oi(6,0,0,qa())))}else this._incomingMsgId=t.id,this._incomingMsgLastTime=Date.now(),this._sendAckCheck(),this._onMessage.fire(t.data);break}case 2:{this._onControlMessage.fire(t.data);break}case 3:break;case 5:{this._onDidDispose.fire();break}case 6:{let e=this._outgoingUnackMsg.toArray();for(let n=0,o=e.length;n<o;n++)this._socketWriter.write(e[n]);this._recvAckCheck();break}case 7:{this._socketWriter.pause();break}case 8:{this._socketWriter.resume();break}case 9:break}}readEntireBuffer(){return this._socketReader.readEntireBuffer()}flush(){this._socketWriter.flush()}send(t){let e=++this._outgoingMsgId;this._incomingAckId=this._incomingMsgId;let n=new oi(1,e,this._incomingAckId,t);this._outgoingUnackMsg.push(n),this._isReconnecting||(this._socketWriter.write(n),this._recvAckCheck())}sendControl(t){let e=new oi(2,0,0,t);this._socketWriter.write(e)}_sendAckCheck(){if(this._incomingMsgId<=this._incomingAckId||this._incomingAckTimeout)return;let t=Date.now()-this._incomingMsgLastTime;if(t>=2e3){this._sendAck();return}this._incomingAckTimeout=setTimeout(()=>{this._incomingAckTimeout=null,this._sendAckCheck()},2e3-t+5)}_recvAckCheck(){if(this._outgoingMsgId<=this._outgoingAckId||this._outgoingAckTimeout||this._isReconnecting)return;let t=this._outgoingUnackMsg.peek(),e=Date.now()-t.writtenTime,n=Date.now()-this._socketReader.lastReadTime,o=Date.now()-this._lastSocketTimeoutTime;if(e>=2e4&&n>=2e4&&o>=2e4&&!this._loadEstimator.hasHighLoad()){this._lastSocketTimeoutTime=Date.now(),this._onSocketTimeout.fire({reason:"unacknowledgedMessage",unacknowledgedMsgCount:this._outgoingUnackMsg.length(),timeSinceOldestUnacknowledgedMsg:e,timeSinceLastReceivedSomeData:n});return}let i=Math.max(2e4-e,2e4-n,2e4-o,500);this._outgoingAckTimeout=setTimeout(()=>{this._outgoingAckTimeout=null,this._recvAckCheck()},i)}_keepAliveTimeoutCheck(){if(this._isReconnecting)return;let t=Date.now(),e=t-this._socketReader.lastReadTime,n=t-this._lastSocketTimeoutTime;if(e>=2e4&&n>=2e4&&!this._loadEstimator.hasHighLoad()){this._lastSocketTimeoutTime=t;let o=this._outgoingUnackMsg.length(),i=this._outgoingUnackMsg.peek();this._onSocketTimeout.fire({reason:"keepAlive",unacknowledgedMsgCount:o,timeSinceOldestUnacknowledgedMsg:i?t-i.writtenTime:void 0,timeSinceLastReceivedSomeData:e})}}_sendAck(){if(this._incomingMsgId<=this._incomingAckId)return;this._incomingAckId=this._incomingMsgId;let t=new oi(3,0,this._incomingAckId,qa());this._socketWriter.write(t)}_sendKeepAlive(){this._incomingAckId=this._incomingMsgId;let t=new oi(9,0,this._incomingAckId,qa());this._socketWriter.write(t),this._keepAliveTimeoutCheck()}}});function G$(r,t){if(typeof r!="string"||r.trim().length===0)return console.log(`[reconnection-grace-time] No CLI argument provided, using default: ${t}ms (${Math.floor(t/1e3)}s)`),t;let e=Number(r);if(!isFinite(e)||e<0)return console.log(`[reconnection-grace-time] Invalid value '${r}', using default: ${t}ms (${Math.floor(t/1e3)}s)`),t;let n=Math.floor(e*1e3);return!isFinite(n)||n>Number.MAX_SAFE_INTEGER?(console.log(`[reconnection-grace-time] Value too large '${r}', using default: ${t}ms (${Math.floor(t/1e3)}s)`),t):(console.log(`[reconnection-grace-time] Parsed CLI argument: ${e}s -> ${n}ms`),n)}var DT,Ga,Yi,cc=y(()=>{le();II();Jm();X();Nn();sI();ie();Rt();Ue();za();DT={"disable-update-check":{type:"boolean"},auth:{type:"string"},"disable-file-downloads":{type:"boolean"},"disable-file-uploads":{type:"boolean"},"disable-getting-started-override":{type:"boolean"},locale:{type:"string"},"link-protection-trusted-domains":{type:"string[]"},"app-name":{type:"string"},host:{type:"string",cat:"o",args:"ip-address",description:d(3509,null)},port:{type:"string",cat:"o",args:"port | port range",description:d(3510,null)},"socket-path":{type:"string",cat:"o",args:"path",description:d(3514,null)},"server-base-path":{type:"string",cat:"o",args:"path",description:d(3512,null)},"connection-token":{type:"string",cat:"o",args:"token",deprecates:["connectionToken"],description:d(3505,null)},"connection-token-file":{type:"string",cat:"o",args:"path",deprecates:["connection-secret","connectionTokenFile"],description:d(3506,null)},"without-connection-token":{type:"boolean",cat:"o",description:d(3517,null)},"disable-websocket-compression":{type:"boolean"},"print-startup-performance":{type:"boolean"},"print-ip-address":{type:"boolean"},"accept-server-license-terms":{type:"boolean",cat:"o",description:d(3498,null)},"server-data-dir":{type:"string",cat:"o",description:d(3513,null)},"telemetry-level":{type:"string",cat:"o",args:"level",description:d(3516,null)},"user-data-dir":Ht["user-data-dir"],"enable-smoke-test-driver":Ht["enable-smoke-test-driver"],"disable-telemetry":Ht["disable-telemetry"],"disable-experiments":Ht["disable-experiments"],"disable-workspace-trust":Ht["disable-workspace-trust"],"file-watcher-polling":{type:"string",deprecates:["fileWatcherPolling"]},log:Ht.log,logsPath:Ht.logsPath,"force-disable-user-env":Ht["force-disable-user-env"],"enable-proposed-api":Ht["enable-proposed-api"],folder:{type:"string",deprecationMessage:"No longer supported. Folder needs to be provided in the browser URL or with `default-folder`."},workspace:{type:"string",deprecationMessage:"No longer supported. Workspace needs to be provided in the browser URL or with `default-workspace`."},"default-folder":{type:"string",description:d(3507,null)},"default-workspace":{type:"string",description:d(3508,null)},"enable-sync":{type:"boolean"},"github-auth":{type:"string"},"use-test-resolver":{type:"boolean"},"extensions-dir":Ht["extensions-dir"],"extensions-download-dir":Ht["extensions-download-dir"],"builtin-extensions-dir":Ht["builtin-extensions-dir"],"install-extension":Ht["install-extension"],"install-builtin-extension":Ht["install-builtin-extension"],"update-extensions":Ht["update-extensions"],"uninstall-extension":Ht["uninstall-extension"],"list-extensions":Ht["list-extensions"],"locate-extension":Ht["locate-extension"],"show-versions":Ht["show-versions"],category:Ht.category,force:Ht.force,"do-not-sync":Ht["do-not-sync"],"do-not-include-pack-dependencies":Ht["do-not-include-pack-dependencies"],"pre-release":Ht["pre-release"],"start-server":{type:"boolean",cat:"e",description:d(3515,null)},"enable-remote-auto-shutdown":{type:"boolean"},"remote-auto-shutdown-without-delay":{type:"boolean"},"inspect-ptyhost":{type:"string",allowEmptyValue:!0},"agent-host-port":{type:"string",cat:"o",args:"port",description:d(3504,null)},"agent-host-path":{type:"string",cat:"o",args:"path",description:d(3503,null)},"agent-host-bridge-port":{type:"string",cat:"o",args:"port",description:d(3502,null)},"agent-host-bridge-path":{type:"string",cat:"o",args:"path",description:d(3501,null)},"agent-host-bridge-host":{type:"string",cat:"o",args:"host",description:d(3500,null)},"agent-host-bridge-connection-token":{type:"string",cat:"o",args:"token",description:d(3499,null)},"use-host-proxy":{type:"boolean"},"without-browser-env-var":{type:"boolean"},"reconnection-grace-time":{type:"string",cat:"o",args:"seconds",description:d(3511,null)},help:Ht.help,version:Ht.version,"locate-shell-integration-path":Ht["locate-shell-integration-path"],compatibility:{type:"string"},_:Ht._},Ga=Pt,Yi=class extends yI{get userRoamingDataHome(){return this.appSettingsHome}get machineSettingsResource(){return fe(b.file(G(this.userDataPath,"Machine")),"settings.json")}get mcpResource(){return fe(b.file(G(this.userDataPath,"User")),"mcp.json")}get args(){return super.args}get reconnectionGraceTime(){return G$(this.args["reconnection-grace-time"],108e5)}};C([Ye],Yi.prototype,"userRoamingDataHome",1),C([Ye],Yi.prototype,"machineSettingsResource",1),C([Ye],Yi.prototype,"mcpResource",1),C([Ye],Yi.prototype,"reconnectionGraceTime",1)});var K$,yU,Ka,_T=y(()=>{jt();Se();Ne();Rt();Ua();ie();le();Co();ei();Bn();Fn();K$=r=>d(2811,null,r),yU=d(2824,null,"ms-dotnettools.csharp"),Ka=class{constructor(t,e,n,o,i){this.extensionsForceVersionByQuality=t;this.logger=e;this.extensionManagementService=n;this.extensionGalleryService=o;this.productService=i;this.extensionsForceVersionByQuality=this.extensionsForceVersionByQuality.map(s=>s.toLowerCase())}get location(){}async listExtensions(t,e,n){let o=await this.extensionManagementService.getInstalled(1,n),i=vy.map(a=>a.toLowerCase());if(e&&e!==""){if(i.indexOf(e.toLowerCase())<0){this.logger.info("Invalid category please enter a valid category. To list valid categories run --category without a category specified");return}o=o.filter(a=>a.manifest.categories?a.manifest.categories.map(c=>c.toLowerCase()).indexOf(e.toLowerCase())>-1:!1)}else if(e===""){this.logger.info("Possible Categories: "),i.forEach(a=>{this.logger.info(a)});return}this.location&&this.logger.info(d(2810,null,this.location)),o=o.sort((a,l)=>a.identifier.id.localeCompare(l.identifier.id));let s;for(let a of o)s!==a.identifier.id&&(s=a.identifier.id,this.logger.info(t?`${s}@${a.manifest.version}`:s))}async installExtensions(t,e,n,o){let i=[];try{t.length&&this.logger.info(this.location?d(2809,null,this.location):d(2808,null));let s=[],a=[],l=(u,p,m)=>{this.extensionsForceVersionByQuality?.some(g=>g===u.toLowerCase())&&(p=this.productService.quality!=="stable"?"prerelease":void 0),a.push({id:u,version:p!=="prerelease"?p:void 0,installOptions:{...n,isBuiltin:m,installPreReleaseVersion:p==="prerelease"||n.installPreReleaseVersion}})};for(let u of t)if(u instanceof b)s.push({vsix:u,installOptions:n});else{let[p,m]=cg(u);l(p,m,!1)}for(let u of e)if(u instanceof b)s.push({vsix:u,installOptions:{...n,isBuiltin:!0,donotIncludePackAndDependencies:!0}});else{let[p,m]=cg(u);l(p,m,!0)}let c=await this.extensionManagementService.getInstalled(void 0,n.profileLocation);if(s.length&&await Promise.all(s.map(async({vsix:u,installOptions:p})=>{try{await this.installVSIX(u,p,o,c)}catch(m){this.logger.error(m),i.push(u.toString())}})),a.length){let u=await this.installGalleryExtensions(a,c,o);i.push(...u)}}catch(s){throw this.logger.error(d(2798,null,he(s))),s}if(i.length)throw new Error(d(2803,null,i.join(", ")))}async updateExtensions(t){let e=await this.extensionManagementService.getInstalled(1,t),n=[];for(let a of e)a.identifier.uuid&&n.push({...a.identifier,preRelease:a.preRelease});this.logger.trace(d(2822,null,n.length));let o=await this.extensionGalleryService.getExtensions(n,{compatible:!0},we.None),i=[];for(let a of o)for(let l of e)Te(l.identifier,a.identifier)&&qi(a.version,l.manifest.version)&&i.push({extension:a,options:{operation:3,installPreReleaseVersion:l.preRelease,profileLocation:t,isApplicationScoped:l.isApplicationScoped}});if(!i.length){this.logger.info(d(2821,null));return}this.logger.info(d(2820,null,i.map(a=>a.extension.identifier.id).join(", ")));let s=await this.extensionManagementService.installGalleryExtensions(i);for(let a of s)a.error?this.logger.error(d(2800,null,a.identifier.id,he(a.error))):this.logger.info(d(2817,null,a.identifier.id,a.local?.manifest.version))}async installGalleryExtensions(t,e,n){if(t=t.filter(a=>{let{id:l,version:c,installOptions:u}=a,p=e.find(m=>Te(m.identifier,{id:l}));if(p){let m=this.validateBuiltinExtensionEnabledWithAutoUpdates(p);if(m)return this.logger.info(m),!1;if(!n&&(!c||c==="prerelease"&&p.preRelease))return this.logger.info(d(2794,null,l,p.manifest.version,l)),!1;if(c&&p.manifest.version===c)return this.logger.info(d(2793,null,`${l}@${c}`)),!1;p.preRelease&&c!=="prerelease"&&(u.preRelease=!1)}return!0}),!t.length)return[];let o=[],i=[],s=await this.getGalleryExtensions(t);if(await Promise.all(t.map(async({id:a,version:l,installOptions:c})=>{let u=s.get(a.toLowerCase());if(!u){this.logger.error(`${K$(l?`${a}@${l}`:a)}
${yU}`),o.push(a);return}try{let m=await this.extensionGalleryService.getManifest(u,we.None);if(m&&!this.validateExtensionKind(m))return}catch(m){this.logger.error(m.message||m.stack||m),o.push(a);return}let p=e.find(m=>Te(m.identifier,u.identifier));if(p){if(u.version===p.manifest.version){this.logger.info(d(2793,null,l?`${a}@${l}`:a));return}this.logger.info(d(2823,null,a,u.version))}c.isBuiltin?this.logger.info(l?d(2806,null,a,l):d(2805,null,a)):this.logger.info(l?d(2807,null,a,l):d(2804,null,a)),i.push({extension:u,options:{...c,installGivenVersion:!!l,isApplicationScoped:c.isApplicationScoped||p?.isApplicationScoped}})})),i.length){let a=await this.extensionManagementService.installGalleryExtensions(i);for(let l of a)l.error?(this.logger.error(d(2799,null,l.identifier.id,he(l.error))),o.push(l.identifier.id)):this.logger.info(d(2814,null,l.identifier.id,l.local?.manifest.version))}return o}async installVSIX(t,e,n,o){let i=await this.extensionManagementService.getManifest(t);if(!i)throw new Error("Invalid vsix");if(await this.validateVSIX(i,n,e.profileLocation,o))try{await this.extensionManagementService.install(t,{...e,installGivenVersion:!0}),this.logger.info(d(2818,null,Ln(t)))}catch(a){if(mn(a))this.logger.info(d(2797,null,Ln(t)));else throw a}}async getGalleryExtensions(t){let e=new Map,n=t.some(s=>s.installOptions.installPreReleaseVersion),o=await this.extensionManagementService.getTargetPlatform(),i=[];for(let s of t)ig.test(s.id)&&i.push({...s,preRelease:n});if(i.length){let s=await this.extensionGalleryService.getExtensions(i,{targetPlatform:o},we.None);for(let a of s)e.set(a.identifier.id.toLowerCase(),a)}return e}validateExtensionKind(t){return!0}async validateVSIX(t,e,n,o){let i={id:Eo(t.publisher,t.name)},s=o.find(a=>Te(i,a.identifier));if(s){let a=this.validateBuiltinExtensionEnabledWithAutoUpdates(s);if(a)return this.logger.info(a),!1;if(!e&&qi(s.manifest.version,t.version))return this.logger.info(d(2801,null,s.identifier.id,s.manifest.version,t.version)),!1}return this.validateExtensionKind(t)}async uninstallExtensions(t,e,n){let o=async s=>{if(s instanceof b){let a=await this.extensionManagementService.getManifest(s);return $d(a.publisher,a.name)}return s},i=[];for(let s of t){let a=await o(s),c=(await this.extensionManagementService.getInstalled(void 0,n)).filter(u=>Te(u.identifier,{id:a}));if(!c.length)throw new Error(`${this.notInstalled(a)}
${yU}`);if(c.some(u=>u.type===0)){this.logger.info(d(2795,null,a));return}if(!e&&c.some(u=>u.isBuiltin)){this.logger.info(d(2802,null,a));return}this.logger.info(d(2819,null,a));for(let u of c)await this.extensionManagementService.uninstall(u,{profileLocation:n}),i.push(u);this.location?this.logger.info(d(2816,null,a,this.location)):this.logger.info(d(2815,null,a))}}async locateExtension(t){let e=await this.extensionManagementService.getInstalled();t.forEach(n=>{e.forEach(o=>{if(o.identifier.id===n&&o.location.scheme===$.file){this.logger.info(o.location.fsPath);return}})})}notInstalled(t){return this.location?d(2813,null,t,this.location):d(2812,null,t)}validateBuiltinExtensionEnabledWithAutoUpdates(t){if(t.isBuiltin&&this.productService.builtInExtensionsEnabledWithAutoUpdates.some(e=>e.toLowerCase()===t.identifier.id.toLowerCase())&&!t.forceAutoUpdate)return d(2796,null,t.identifier.id,this.productService.quality)}};Ka=C([I(2,Wd),I(3,co),I(4,Be)],Ka)});function j$(r){return r.tags.find(t=>t.startsWith("lp-"))?.split("lp-")[1]}var vu,hu,xI=y(()=>{jt();Q();me();le();Co();X();vu=D("languagePackService"),hu=class extends _{constructor(e){super();this.extensionGalleryService=e}async getAvailableLanguages(){let e=new xt;setTimeout(()=>e.cancel(),1e3);let n;try{n=await this.extensionGalleryService.query({text:'category:"language packs"',pageSize:20},e.token)}catch{return[]}let i=n.firstPage.filter(s=>s.properties.localizedLanguages?.length&&s.tags.some(a=>a.startsWith("lp-"))).map(s=>{let a=s.properties.localizedLanguages?.[0],l=j$(s);return{...this.createQuickPickItem(l,a,s),extensionId:s.identifier.id,galleryExtension:s}});return i.push(this.createQuickPickItem("en","English")),i}createQuickPickItem(e,n,o){let i=n??e,s;if(i!==e&&(s=`(${e})`),e.toLowerCase()===Gn.toLowerCase()&&(s??="",s+=d(2925,null)),o?.installCount){s??="";let a=o.installCount,l;a>1e6?l=`${Math.floor(a/1e5)/10}M`:a>1e3?l=`${Math.floor(a/1e3)}K`:l=String(a),s+=` $(cloud-download) ${l}`}return{id:e,label:i,description:s}}};hu=C([I(0,co)],hu)});import*as IU from"fs";import{createHash as Q$}from"crypto";function J$(r){if(typeof r.languageId!="string"||!Array.isArray(r.translations)||r.translations.length===0)return!1;for(let t of r.translations)if(typeof t.id!="string"||typeof t.path!="string")return!1;return!(r.languageName&&typeof r.languageName!="string"||r.localizedLanguageName&&typeof r.localizedLanguageName!="string")}var ja,Dg,MT=y(()=>{Lt();Me();Q();Ne();Ue();Ao();Nn();Co();ei();Pe();xI();ie();ja=class extends hu{constructor(e,n,o,i){super(o);this.extensionManagementService=e;this.logService=i;this.cache=this._register(new Dg(n,i)),this.extensionManagementService.registerParticipant({postInstall:async s=>this.postInstallExtension(s),postUninstall:async s=>this.postUninstallExtension(s)})}async getBuiltInExtensionTranslationsUri(e,n){let i=(await this.cache.getLanguagePacks())[n];if(!i){this.logService.warn(`No language pack found for ${n}`);return}let s=i.translations[e];return s?b.file(s):void 0}async getInstalledLanguages(){let e=await this.cache.getLanguagePacks(),n=Object.keys(e).map(o=>{let i=e[o];return{...this.createQuickPickItem(o,i.label),extensionId:i.extensions[0].extensionIdentifier.id}});return n.push(this.createQuickPickItem("en","English")),n.sort((o,i)=>o.label.localeCompare(i.label)),n}async postInstallExtension(e){e&&e.manifest&&e.manifest.contributes&&e.manifest.contributes.localizations&&e.manifest.contributes.localizations.length&&(this.logService.info("Adding language packs from the extension",e.identifier.id),await this.update())}async postUninstallExtension(e){let n=await this.cache.getLanguagePacks();Object.keys(n).some(o=>n[o]&&n[o].extensions.some(i=>Te(i.extensionIdentifier,e.identifier)))&&(this.logService.info("Removing language packs from the extension",e.identifier.id),await this.update())}async update(){let[e,n]=await Promise.all([this.cache.getLanguagePacks(),this.extensionManagementService.getInstalled()]),o=await this.cache.update(n);return!vn(Object.keys(e),Object.keys(o))}};ja=C([I(0,Wd),I(1,Xn),I(2,co),I(3,K)],ja);Dg=class extends _{constructor(e,n){super();this.logService=n;this.languagePacks={};this.languagePacksFilePath=G(e.userDataPath,"languagepacks.json"),this.languagePacksFileLimiter=new Tr}getLanguagePacks(){return this.languagePacksFileLimiter.size||!this.initializedCache?this.withLanguagePacks().then(()=>this.languagePacks):Promise.resolve(this.languagePacks)}update(e){return this.withLanguagePacks(n=>{Object.keys(n).forEach(o=>delete n[o]),this.createLanguagePacksFromExtensions(n,...e)}).then(()=>this.languagePacks)}createLanguagePacksFromExtensions(e,...n){for(let o of n)o&&o.manifest&&o.manifest.contributes&&o.manifest.contributes.localizations&&o.manifest.contributes.localizations.length&&this.createLanguagePacksFromExtension(e,o);Object.keys(e).forEach(o=>this.updateHash(e[o]))}createLanguagePacksFromExtension(e,n){let o=n.identifier,i=n.manifest.contributes&&n.manifest.contributes.localizations?n.manifest.contributes.localizations:[];for(let s of i)if(n.location.scheme===$.file&&J$(s)){let a=e[s.languageId];a||(a={hash:"",extensions:[],translations:{},label:s.localizedLanguageName??s.languageName},e[s.languageId]=a);let l=a.extensions.filter(c=>Te(c.extensionIdentifier,o))[0];l?l.version=n.manifest.version:a.extensions.push({extensionIdentifier:o,version:n.manifest.version});for(let c of s.translations)a.translations[c.id]=G(n.location.fsPath,c.path)}}updateHash(e){if(e){let n=Q$("md5");for(let o of e.extensions)n.update(o.extensionIdentifier.uuid||o.extensionIdentifier.id).update(o.version);e.hash=n.digest("hex")}}withLanguagePacks(e=()=>null){return this.languagePacksFileLimiter.queue(()=>{let n=null;return IU.promises.readFile(this.languagePacksFilePath,"utf8").then(void 0,o=>o.code==="ENOENT"?Promise.resolve("{}"):Promise.reject(o)).then(o=>{try{return JSON.parse(o)}catch{return{}}}).then(o=>(n=e(o),o)).then(o=>{for(let s of Object.keys(o))o[s]||delete o[s];this.languagePacks=o,this.initializedCache=!0;let i=JSON.stringify(this.languagePacks);return this.logService.debug("Writing language packs",i),ke.writeFile(this.languagePacksFilePath,i)}).then(()=>n,o=>this.logService.error(o))})}};Dg=C([I(0,Xn),I(1,K)],Dg)});var yu,bU=y(()=>{jt();Ne();it();yi();yu=class{constructor(t,e){this.requestService=t;this.fileService=e}async download(t,e,n,o=we.None){if(t.scheme===$.file||t.scheme===$.vscodeRemote){await this.fileService.copy(t,e);return}let i={type:"GET",url:t.toString(!0),callSite:n},s=await this.requestService.request(i,o);if(s.res.statusCode===200)await this.fileService.writeFile(e,s.stream);else{let a=await Bi(s);throw new Error(`Expected 200, got back ${s.res.statusCode} instead.

${a}`)}}};yu=C([I(0,Yn),I(1,Oe)],yu)});function Xi(r,t,e){t instanceof at||(t=new at(t,[],!!e)),Y$.push([r,t])}var Y$,Iu=y(()=>{Vm();Y$=[]});var CI,Ws,AT=y(()=>{wo();ie();Iu();it();Rt();de();Q();Lt();CI=class r{constructor(t){this.uri=t;this.time=r._clock++}static{this._clock=0}touch(){return this.time=r._clock++,this}},Ws=class{constructor(t){this._fileService=t;this._dispooables=new re;this._limit=2**16;let e=new Map,n=o=>{let i=e.get(o.scheme);return i===void 0&&(i=t.hasProvider(o)&&!this._fileService.hasCapability(o,1024),e.set(o.scheme,i)),i};this._dispooables.add(W.any(t.onDidChangeFileSystemProviderRegistrations,t.onDidChangeFileSystemProviderCapabilities)(o=>{if(e.get(o.scheme)===void 0)return;e.delete(o.scheme);let s=n(b.from({scheme:o.scheme}));if(s!==s)for(let[a,l]of this._canonicalUris.entries())l.uri.scheme===o.scheme&&this._canonicalUris.delete(a)})),this.extUri=new Al(n),this._canonicalUris=new Map}dispose(){this._dispooables.dispose(),this._canonicalUris.clear()}asCanonicalUri(t){this._fileService.hasProvider(t)&&(t=fE(t));let e=this.extUri.getComparisonKey(t,!0),n=this._canonicalUris.get(e);return n?n.touch().uri.with({fragment:t.fragment}):(this._canonicalUris.set(e,new CI(t)),this._checkTrim(),t)}_checkTrim(){if(this._canonicalUris.size<this._limit)return;CI._clock=1;let t=[...this._canonicalUris.values()].map(n=>n.time),e=av(Math.floor(t.length/2),t,(n,o)=>n-o);for(let[n,o]of this._canonicalUris.entries())o.time<=e?this._canonicalUris.delete(n):o.time=0}};Ws=C([I(0,Oe)],Ws);Xi(Je,Ws,1)});import{promises as wI}from"fs";import*as TI from"path";async function _g(r,t){if(!rt.commit||!await ke.exists(SU))return{userLocale:"en",osLocale:"en",resolvedLanguage:"en",defaultMessagesFile:SU,locale:"en",availableLanguages:{}};let e=`${r}||${t}`,n=LT.get(e);return n||(n=Pm({userLocale:r,osLocale:r,commit:rt.commit,userDataPath:t,nlsMetadataPath:xU}),LT.set(e,n),n.then(o=>{!r.startsWith("en")&&o.resolvedLanguage.startsWith("en")&&LT.delete(e)})),n}async function EU(r,t){if(r.startsWith("en"))return"";let e=await _g(r,t),n=e?.languagePack?.messagesFile,o=e?.resolvedLanguage;if(!n||!o)return"";let i=TI.join(TI.dirname(n),"nls.messages.js");try{return await wI.stat(i),i}catch(l){if(l.code!=="ENOENT")throw l}let a=`globalThis._VSCODE_NLS_MESSAGES=${(await wI.readFile(n)).toString()};
globalThis._VSCODE_NLS_LANGUAGE=${JSON.stringify(o)};`;return await wI.writeFile(i,a,"utf-8"),i}var xU,SU,LT,CU,X$,RI=y(()=>{Ne();Ue();CE();Ao();ks();xU=G(Tt.asFileUri("").fsPath),SU=G(xU,"nls.messages.json"),LT=new Map;CU=async r=>{try{let t=X$(await wI.readFile(r,"utf8"));return JSON.parse(t).locale}catch(t){return t.code!=="ENOENT"&&console.warn(t),"en"}},X$=r=>{let t=/('(?:[^\\']*(?:\\.)?)*')|('(?:[^\\']*(?:\\.)?)*')|(\/\*(?:\r?\n|.)*?\*\/)|(\/{2,}.*?(?:(?:\r?\n)|$))/g;return r.replace(t,(e,n,o,i,s)=>{if(i)return"";if(s){let a=s.length;return a>2&&s[a-1]===`
`?s[a-2]==="\r"?`\r
`:`
`:""}else return e})}});var Qa,OT=y(()=>{Rt();ie();Nn();tc();ru();it();X();Pe();Fn();wo();No();RI();Qa=class extends tu{constructor(e,n,o,i,s,a,l,c){super(b.file(s.builtinExtensionsPath),b.file(s.extensionsPath),fe(s.userHome,".vscode-oss-dev","extensions","control.json"),e.defaultProfile,e,n,o,i,s,a,l,c);this.nativeEnvironmentService=s}async getTranslations(e){let n=await _g(e,this.nativeEnvironmentService.userDataPath);if(n.languagePack)try{let o=await this.fileService.readFile(b.file(n.languagePack.translationsConfigFile));return JSON.parse(o.value.toString())}catch{}return Object.create(null)}};Qa=C([I(0,Yt),I(1,pr),I(2,Oe),I(3,K),I(4,Xn),I(5,Be),I(6,Je),I(7,Tn)],Qa)});var wU,TU,RU=y(()=>{X();wU=D("stateReadService"),TU=D("stateService")});var UT,Mg,PI,PU=y(()=>{Me();ze();Q();Ee();Nn();it();Pe();UT=class extends _{constructor(e,n,o,i){super();this.storagePath=e;this.logService=o;this.fileService=i;this.storage=Object.create(null);this.lastSavedStorageContents="";this.initializing=void 0;this.closing=void 0;this.flushDelayer=this._register(new Er(n===0?0:100))}init(){return this.initializing||(this.initializing=this.doInit()),this.initializing}async doInit(){try{this.lastSavedStorageContents=(await this.fileService.readFile(this.storagePath)).value.toString(),this.storage=JSON.parse(this.lastSavedStorageContents)}catch(e){e.fileOperationResult!==1&&this.logService.error(e)}}getItem(e,n){let o=this.storage[e];return Wt(o)?n:o}setItem(e,n){this.setItems([{key:e,data:n}])}setItems(e){let n=!1;for(let{key:o,data:i}of e)this.storage[o]!==i&&(Wt(i)?Mn(this.storage[o])||(this.storage[o]=void 0,n=!0):(this.storage[o]=i,n=!0));n&&this.save()}removeItem(e){Mn(this.storage[e])||(this.storage[e]=void 0,this.save())}async save(){if(!this.closing)return this.flushDelayer.trigger(()=>this.doSave())}async doSave(){if(!this.initializing)return;await this.initializing;let e=JSON.stringify(this.storage,null,4);if(e!==this.lastSavedStorageContents)try{await this.fileService.writeFile(this.storagePath,L.fromString(e),{atomic:{postfix:".vsctmp"}}),this.lastSavedStorageContents=e}catch(n){this.logService.error(n)}}async close(){return this.closing||(this.closing=this.flushDelayer.trigger(()=>this.doSave(),0)),this.closing}},Mg=class extends _{constructor(t,e,n,o){super(),this.fileStorage=this._register(new UT(e.stateResource,t,n,o))}async init(){await this.fileStorage.init()}getItem(t,e){return this.fileStorage.getItem(t,e)}};Mg=C([I(1,Pt),I(2,K),I(3,Oe)],Mg);PI=class extends Mg{setItem(t,e){this.fileStorage.setItem(t,e)}setItems(t){this.fileStorage.setItems(t)}removeItem(t){this.fileStorage.removeItem(t)}close(){return this.fileStorage.close()}}});var Ja,Zi,Ya,NT=y(()=>{ie();Nn();it();Pe();RU();wo();No();Ee();PU();Ja=class extends Gd{constructor(e,n,o,i,s){super(o,i,n,s);this.stateReadonlyService=e;this.nativeEnvironmentService=o}getStoredProfiles(){return this.stateReadonlyService.getItem(Ja.PROFILES_KEY,[]).map(n=>({...n,location:Z(n.location)?this.uriIdentityService.extUri.joinPath(this.profilesHome,n.location):b.revive(n.location)}))}getStoredProfileAssociations(){return this.stateReadonlyService.getItem(Ja.PROFILE_ASSOCIATIONS_KEY,{})}getDefaultProfileExtensionsLocation(){return this.uriIdentityService.extUri.joinPath(b.file(this.nativeEnvironmentService.extensionsPath).with({scheme:this.profilesHome.scheme}),"extensions.json")}};Ja=C([I(0,wU),I(1,Je),I(2,Xn),I(3,Oe),I(4,K)],Ja);Zi=class extends Ja{constructor(e,n,o,i,s){super(e,n,o,i,s);this.stateService=e}saveStoredProfiles(e){e.length?this.stateService.setItem(Zi.PROFILES_KEY,e.map(n=>({...n,location:this.uriIdentityService.extUri.relativePath(this.profilesHome,n.location)}))):this.stateService.removeItem(Zi.PROFILES_KEY)}saveStoredProfileAssociations(e){e.emptyWindows||e.workspaces?this.stateService.setItem(Zi.PROFILE_ASSOCIATIONS_KEY,e):this.stateService.removeItem(Zi.PROFILE_ASSOCIATIONS_KEY)}};Zi=C([I(0,TU),I(1,Je),I(2,Xn),I(3,Oe),I(4,K)],Zi);Ya=class extends Zi{constructor(t,e,n,o){super(new PI(0,e,o,n),t,e,n,o)}async init(){return await this.stateService.init(),super.init()}};Ya=C([I(0,Je),I(1,Xn),I(2,Oe),I(3,K)],Ya)});var Xa,FT=y(()=>{Pe();No();wo();tc();it();Nn();ie();Xa=class extends eu{constructor(t,e,n,o,i){super(b.file(t.extensionsPath),e,n,o,i)}};Xa=C([I(0,Xn),I(1,Oe),I(2,Yt),I(3,Je),I(4,K)],Xa)});var bu,VT=y(()=>{Q();Pe();bu=class extends _{constructor(t,e=[]){super(),this.logger=new Ov([t,...e]),this._register(t.onDidChangeLogLevel(n=>this.setLevel(n)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(t){this.logger.setLevel(t)}getLevel(){return this.logger.getLevel()}trace(t,...e){this.logger.trace(t,...e)}debug(t,...e){this.logger.debug(t,...e)}info(t,...e){this.logger.info(t,...e)}warn(t,...e){this.logger.warn(t,...e)}error(t,...e){this.logger.error(t,...e)}flush(){this.logger.flush()}}});async function Z$(r,t,e,n,o){try{let i=await import("@vscode/spdlog");i.setFlushOn(0);let s=await i.createAsyncRotatingLogger(r,t,e,n);return o?s.clearFormatters():s.setPattern("%Y-%m-%d %H:%M:%S.%e [%l] %v"),s}catch(i){console.error(i)}return null}function kU(r,t,e){switch(t){case 1:r.trace(e);break;case 2:r.debug(e);break;case 3:r.info(e);break;case 4:r.warn(e);break;case 5:r.error(e);break;case 0:break;default:throw new Error(`Invalid log level ${t}`)}}function DU(r,t){switch(t){case 1:r.setLevel(0);break;case 2:r.setLevel(1);break;case 3:r.setLevel(2);break;case 4:r.setLevel(3);break;case 5:r.setLevel(4);break;case 0:r.setLevel(6);break;default:throw new Error(`Invalid log level ${t}`)}}var kI,_U=y(()=>{it();Pe();kI=class extends Om{constructor(e,n,o,i,s){super();this.buffer=[];this.setLevel(s),this._loggerCreationPromise=this._createSpdLogLogger(e,n,o,i),this._register(this.onDidChangeLogLevel(a=>{this._logger&&DU(this._logger,a)}))}async _createSpdLogLogger(e,n,o,i){let s=o?6:1,a=30/s*hi.MB,l=await Z$(e,n,a,s,i);if(l){this._logger=l,DU(this._logger,this.getLevel());for(let{level:c,message:u}of this.buffer)kU(this._logger,c,u);this.buffer=[]}}log(e,n){this._logger?kU(this._logger,e,n):this.getLevel()<=e&&this.buffer.push({level:e,message:n})}flush(){this._logger?this.flushLogger():this._loggerCreationPromise.then(()=>this.flushLogger())}dispose(){this._logger?this.disposeLogger():this._loggerCreationPromise.then(()=>this.disposeLogger()),super.dispose()}flushLogger(){this._logger&&this._logger.flush()}disposeLogger(){this._logger&&(this._logger.drop(),this._logger=void 0)}}});var Su,HT=y(()=>{Jt();Pe();_U();Su=class extends Um{doCreateLogger(t,e,n){return new kI(ye(),t.fsPath,!n?.donotRotate,!!n?.donotUseFormatters,e)}}});function e3(){return process.uncHostAllowlist}function Ag(r){if(process.platform!=="win32")return;let t=e3();if(t)if(typeof r=="string")t.add(r.toLowerCase());else for(let e of t3(r))Ag(e)}function t3(r){let t=new Set;if(Array.isArray(r))for(let e of r)typeof e=="string"&&t.add(e);return Array.from(t)}function DI(){process.platform==="win32"&&(process.restrictUNCAccess=!1)}var WT=y(()=>{});function n3(r){return r.type==="gallery"}function o3(r){return r.type===1||r.type===0}var r3,Za,BT=y(()=>{Q();le();Co();Bn();Fn();Ns();tn();Ee();de();r3=/^(?<version>\d+\.\d+\.\d+(-.*)?)(@(?<platform>.+))?$/,Za=class extends _{constructor(e,n){super();this.configurationService=n;this._onDidChangeAllowedExtensions=this._register(new w);this.onDidChangeAllowedExtensionsConfigValue=this._onDidChangeAllowedExtensions.event;this.publisherOrgs=e.extensionPublisherOrgs?.map(o=>o.toLowerCase())??[],this._allowedExtensionsConfigValue=this.getAllowedExtensionsValue(),this._register(this.configurationService.onDidChangeConfiguration(o=>{o.affectsConfiguration(ag)&&(this._allowedExtensionsConfigValue=this.getAllowedExtensionsValue(),this._onDidChangeAllowedExtensions.fire())}))}get allowedExtensionsConfigValue(){return this._allowedExtensionsConfigValue}getAllowedExtensionsValue(){let e=this.configurationService.getValue(ag);if(!Ae(e)||Array.isArray(e))return;let n=Object.entries(e).map(([o,i])=>[o.toLowerCase(),i]);if(!(n.length===1&&n[0][0]==="*"&&n[0][1]===!0))return Object.fromEntries(n)}isAllowed(e){if(!this._allowedExtensionsConfigValue)return!0;let n,o,i,s,a,l;n3(e)?(n=e.identifier.id.toLowerCase(),o=e.version,s=e.properties.isPreReleaseVersion,a=e.publisher.toLowerCase(),l=e.publisherDisplayName.toLowerCase(),i=e.properties.targetPlatform):o3(e)?(n=e.identifier.id.toLowerCase(),o=e.manifest.version,s=e.preRelease,a=e.manifest.publisher.toLowerCase(),l=e.publisherDisplayName?.toLowerCase(),i=e.targetPlatform):(n=e.id.toLowerCase(),o=e.version??"*",i=e.targetPlatform??"universal",s=e.prerelease??!1,a=e.id.substring(0,e.id.indexOf(".")).toLowerCase(),l=e.publisherDisplayName?.toLowerCase());let c=By("workbench.action.openSettings",{query:`@id:${ag}`}).toString(),u=this._allowedExtensionsConfigValue[n],p=new Nt(d(2772,null,c));if(!Mn(u))return sr(u)?u?!0:p:u==="stable"&&s?new Nt(d(2769,null,c)):o!=="*"&&Array.isArray(u)&&!u.some(h=>{let v=r3.exec(h);if(v&&v.groups){let{platform:S,version:T}=v.groups;return!(T!==o||i!=="universal"&&S&&i!==S)}return!1})?new Nt(d(2773,null,o,c)):!0;let m=l&&this.publisherOrgs.includes(l)?l:a,g=this._allowedExtensionsConfigValue[m];return Mn(g)?this._allowedExtensionsConfigValue["*"]===!0?!0:p:sr(g)?g?!0:new Nt(d(2771,null,m,c)):g==="stable"&&s?new Nt(d(2770,null,m,c)):!0}};Za=C([I(0,Be),I(1,mt)],Za)});var el,$T=y(()=>{de();Q();Fn();Yl();Co();el=class extends _{constructor(e){super();this.productService=e;this.onDidChangeExtensionGalleryManifest=W.None;this.onDidChangeExtensionGalleryManifestStatus=W.None}get extensionGalleryManifestStatus(){return this.productService.extensionsGallery?.serviceUrl?"available":"unavailable"}async getExtensionGalleryManifest(){let e=this.productService.extensionsGallery;if(!e?.serviceUrl)return null;let n=[{id:`${e.serviceUrl}/extensionquery`,type:"ExtensionQueryService"},{id:`${e.serviceUrl}/vscode/{publisher}/{name}/latest`,type:"ExtensionLatestVersionUriTemplate"},{id:`${e.serviceUrl}/publishers/{publisher}/extensions/{name}/{version}/stats?statType={statTypeName}`,type:"ExtensionStatisticsUriTemplate"}];e.publisherUrl&&n.push({id:`${e.publisherUrl}/{publisher}`,type:"PublisherViewUriTemplate"}),e.itemUrl&&(n.push({id:`${e.itemUrl}?itemName={publisher}.{name}`,type:"ExtensionDetailsViewUriTemplate"}),n.push({id:`${e.itemUrl}?itemName={publisher}.{name}&ssr=false#review-details`,type:"ExtensionRatingViewUriTemplate"})),e.resourceUrlTemplate&&n.push({id:e.resourceUrlTemplate,type:"ExtensionResourceUriTemplate"});let o=[{name:"Tag",value:1},{name:"ExtensionId",value:4},{name:"Category",value:5},{name:"ExtensionName",value:7},{name:"Target",value:8},{name:"Featured",value:9},{name:"SearchText",value:10},{name:"ExcludeWithFlags",value:12}],i=[{name:"NoneOrRelevance",value:0},{name:"LastUpdatedDate",value:1},{name:"Title",value:2},{name:"PublisherName",value:3},{name:"InstallCount",value:4},{name:"AverageRating",value:6},{name:"PublishedDate",value:10},{name:"WeightedRating",value:12}],s=[{name:"None",value:0},{name:"IncludeVersions",value:1},{name:"IncludeFiles",value:2},{name:"IncludeCategoryAndTags",value:4},{name:"IncludeSharedAccounts",value:8},{name:"IncludeVersionProperties",value:16},{name:"ExcludeNonValidated",value:32},{name:"IncludeInstallationTargets",value:64},{name:"IncludeAssetUri",value:128},{name:"IncludeStatistics",value:256},{name:"IncludeLatestVersionOnly",value:512},{name:"Unpublished",value:4096},{name:"IncludeNameConflictInfo",value:32768},{name:"IncludeLatestPrereleaseAndStableVersionOnly",value:65536}];return{version:"",resources:n,capabilities:{extensionQuery:{filtering:o,sorting:i,flags:s},signing:{allPublicRepositorySigned:!0}}}}};el=C([I(0,Be)],el)});function MU(r){setTimeout(()=>process.exit(r),0)}async function AU(r,t,e){if(r.help){let o=rt.serverApplicationName+(te?".cmd":"");console.log(jA(rt.nameLong,o,rt.version,e,{noInputFiles:!0,noPipe:!0}));return}if(r.version){console.log(QA(rt.version,rt.commit));return}let n=new qT(r,t);try{await n.run(),MU(0)}catch{MU(1)}finally{n.dispose()}}var qT,LU=y(()=>{Pv();Pe();Vm();iw();tn();yi();vw();Zr();Rn();Co();$w();cT();qy();uT();ks();Q();fT();Rg();Ne();it();Fn();cc();_T();xI();MT();Se();ie();Ue();Sr();bU();Fy();wo();AT();Jm();me();ru();OT();No();tc();kd();NT();FT();VT();HT();le();WT();BT();Yl();$T();qT=class extends _{constructor(e,n){super();this.args=e;this.remoteDataFolder=n;this.registerListeners()}registerListeners(){process.once("exit",()=>this.dispose())}async run(){let e=await this.initServices();await e.invokeFunction(async n=>{let o=n.get(mt),i=n.get(K),s=n.get(Be);te&&(o.getValue("security.restrictUNCAccess")===!1?DI():Ag(o.getValue("security.allowedUNCHosts")));try{await this.doRun(e.createInstance(Ka,s.extensionsForceVersionByQuality??[],new Lv(i.getLevel(),!1)))}catch(a){throw i.error(a),console.error(he(a)),a}})}async initServices(){let e=new xa,n={_serviceBrand:void 0,...rt};e.set(Be,n);let o=new Yi(this.args,n);e.set(Ga,o);let i=new Su(Fm(o),o.logsHome);e.set(Oo,i);let s=new bu(this._register(i.createLogger("remoteCLI",{name:d(3497,null)})));e.set(K,s),s.trace(`Remote configuration data at ${this.remoteDataFolder}`),s.trace("process arguments:",this.args);let a=this._register(new ji(s));e.set(Oe,a),a.registerProvider($.file,this._register(new Ji(s)));let l=new Ws(a);e.set(Je,l);let c=this._register(new Ya(l,o,a,s));e.set(Yt,c);let u=this._register(new _d(c.defaultProfile.settingsResource,a,new Aa,s));return e.set(mt,u),await Promise.all([u.initialize(),c.init()]),e.set(Yn,new at(Oa,["remote"])),e.set(Jd,new at(yu)),e.set(Ct,lL),e.set(Gi,new at(el)),e.set(co,new at(Fa)),e.set(pr,new at(Xa)),e.set(Fs,new at(Qa)),e.set(iu,new at(Ha)),e.set(Dr,new at(Za)),e.set(Sg,new at(Wa)),e.set(vu,new at(ja)),new au(e)}async doRun(e){if(this.args["list-extensions"])return e.listExtensions(!!this.args["show-versions"],this.args.category);if(this.args["install-extension"]||this.args["install-builtin-extension"]){let n={isMachineScoped:!!this.args["do-not-sync"],installPreReleaseVersion:!!this.args["pre-release"],donotIncludePackAndDependencies:!!this.args["do-not-include-pack-dependencies"]};return e.installExtensions(this.asExtensionIdOrVSIX(this.args["install-extension"]||[]),this.asExtensionIdOrVSIX(this.args["install-builtin-extension"]||[]),n,!!this.args.force)}else{if(this.args["uninstall-extension"])return e.uninstallExtensions(this.asExtensionIdOrVSIX(this.args["uninstall-extension"]),!!this.args.force);if(this.args["update-extensions"])return e.updateExtensions();if(this.args["locate-extension"])return e.locateExtension(this.args["locate-extension"])}}asExtensionIdOrVSIX(e){return e.map(n=>/\.vsix$/i.test(n)?b.file(zo(n)?n:G(br(),n)):n)}}});import{constants as i3,promises as s3}from"fs";import{createInterface as a3}from"readline";async function _I(r){if(ut||te)return;let t;for(let e of["/etc/os-release","/usr/lib/os-release","/etc/lsb-release"])try{t=await s3.open(e,i3.R_OK);break}catch{}if(!t){r("Unable to retrieve release information from known identifier paths.");return}try{let e=new Set(["ID","DISTRIB_ID","ID_LIKE","VERSION_ID","DISTRIB_RELEASE"]),n={id:"unknown"};for await(let o of a3({input:t.createReadStream(),crlfDelay:1/0})){if(!o.includes("="))continue;let i=o.split("=")[0].toUpperCase().trim();if(e.has(i)){let s=o.split("=")[1].replace(/"/g,"").toLowerCase().trim();i==="ID"||i==="DISTRIB_ID"?n.id=s:i==="ID_LIKE"?n.id_like=s:(i==="VERSION_ID"||i==="DISTRIB_RELEASE")&&(n.version_id=s)}}return n}catch(e){r(e)}finally{await t.close()}}var zT=y(()=>{me()});import*as KT from"net";function UU(r,t,e,n=1){let o=!1;return new Promise(i=>{let s=setTimeout(()=>{if(!o)return o=!0,i(0)},e);GT(r,t,n,a=>{if(!o)return o=!0,clearTimeout(s),i(a)})})}function GT(r,t,e,n){if(t===0)return n(0);let o=new KT.Socket;o.once("connect",()=>(OU(o),GT(r+e,t-1,e,n))),o.once("data",()=>{}),o.once("error",i=>(OU(o),i.code!=="ECONNREFUSED"?GT(r+e,t-1,e,n):n(r))),o.connect(r,"127.0.0.1")}function OU(r){try{r.removeAllListeners("connect"),r.removeAllListeners("error"),r.end(),r.destroy(),r.unref()}catch(t){console.error(t)}}var NU=y(()=>{});function VU(r,t){let e=t.final??!0,n=t.compressed??!1;QT(t.opcode),BU(t.mask),WU((e?AI:0)|(n?LI:0)|t.opcode,r.byteLength);let o=d3(r.byteLength,t.mask!==void 0),i=L.alloc(o);i.writeUInt8((e?AI:0)|(n?LI:0)|t.opcode,0);let s=2;return r.byteLength<xu?i.writeUInt8((t.mask===void 0?0:MI)|r.byteLength,1):r.byteLength<2**16?(i.writeUInt8((t.mask===void 0?0:MI)|xu,1),i.writeUInt8(r.byteLength>>>8,s++),i.writeUInt8(r.byteLength,s++)):(i.writeUInt8((t.mask===void 0?0:MI)|FU,1),i.writeUInt32BE(0,s),s+=4,i.writeUInt32BE(r.byteLength,s),s+=4),t.mask===void 0?L.concat([i,r]):(i.writeUInt32BE(t.mask,s),L.concat([i,$U(r,t.mask)]))}function HU(r,t){if(BU(t),t===0)return;let e=r.byteLength>>>2;for(let i=0;i<e;i++){let s=i*4;r.writeUInt32BE(r.readUInt32BE(s)^t,s)}let n=e*4,o=r.byteLength-n;o>=1&&r.writeUInt8(r.readUInt8(n)^t>>>24&255,n),o>=2&&r.writeUInt8(r.readUInt8(n+1)^t>>>16&255,n+1),o>=3&&r.writeUInt8(r.readUInt8(n+2)^t>>>8&255,n+2)}function d3(r,t){if(r>OI)throw new Error("WebSocket payload lengths greater than 2^32 - 1 are not supported.");return r<xu?2+(t?4:0):r<2**16?4+(t?4:0):10+(t?4:0)}function u3(r,t){if(t<xu)return t;if(t===xu)return r.readUInt8(2)*2**8+r.readUInt8(3);if(r.readUInt32BE(2)!==0)throw new Error("WebSocket payload lengths greater than 2^32 - 1 are not supported.");return r.readUInt32BE(6)}function WU(r,t){if((r&l3)!==0)throw new Error("WebSocket frames must not set RSV2 or RSV3.");let e=r&15;if(QT(e),p3(e)){if((r&AI)===0)throw new Error("WebSocket control frames must be final.");if(t>125)throw new Error("WebSocket control frames must not exceed 125 bytes.");if((r&LI)!==0)throw new Error("WebSocket control frames must not set RSV1.")}}function QT(r){if(r!==0&&r!==1&&r!==2&&r!==8&&r!==9&&r!==10)throw new Error(`WebSocket frame has reserved opcode ${r}.`)}function BU(r){if(r!==void 0&&(!Number.isInteger(r)||r<0||r>OI))throw new Error("WebSocket masks must be unsigned 32-bit integers.")}function p3(r){return(r&8)!==0}function $U(r,t){let e=L.alloc(r.byteLength);return e.set(r),HU(e,t),e}var AI,LI,l3,MI,c3,xu,FU,OI,jT,UI,qU=y(()=>{ze();za();AI=128,LI=64,l3=48,MI=128,c3=127,xu=126,FU=127,OI=4294967295,jT=class extends Error{constructor(e,n){super(`WebSocket frame payload length ${e} exceeds the configured limit of ${n}.`);this.payloadLength=e;this.maxPayloadLength=n}},UI=class{constructor(t={}){this._incomingData=new Pg;if(this._maxPayloadLength=t.maxPayloadLength??OI,this._unmaskInPlace=t.unmaskInPlace??!1,!Number.isInteger(this._maxPayloadLength)||this._maxPayloadLength<0||this._maxPayloadLength>OI)throw new Error("WebSocket frame payload limits must be unsigned 32-bit integers.")}acceptChunk(t){if(t.byteLength===0)return[];this._incomingData.acceptChunk(t);let e=[];for(;this._incomingData.byteLength>=2;){let n=this._incomingData.peek(2),o=n.readUInt8(0),i=n.readUInt8(1),s=i&c3,a=s===xu?2:s===FU?8:0,l=(i&MI)!==0,c=2+a+(l?4:0);if(this._incomingData.byteLength<c)break;let u=this._incomingData.peek(c),p=u3(u,s);if(p>this._maxPayloadLength)throw new jT(p,this._maxPayloadLength);WU(o,p);let m=o&15;if(QT(m),this._incomingData.byteLength<c+p)break;this._incomingData.read(c);let g=this._incomingData.read(p),h=l?u.readUInt32BE(c-4):void 0,v=g;h!==void 0&&(this._unmaskInPlace?HU(v,h):v=$U(g,h)),e.push({final:(o&AI)!==0,compressed:(o&LI)!==0,opcode:m,payload:v,mask:h})}return e}}});import{createHash as f3}from"crypto";import{tmpdir as h3}from"os";import{createDeflateRaw as v3,createInflateRaw as y3}from"zlib";function GU(r,t,{debugLabel:e,skipWebSocketFrames:n=!1,disableWebSocketCompression:o=!1,enableMessageSplitting:i=!0}){if(r.headers.upgrade===void 0||r.headers.upgrade.toLowerCase()!=="websocket"){t.end("HTTP/1.1 400 Bad Request");return}let s=r.headers["sec-websocket-key"],a=f3("sha1");a.update(s+"258EAFA5-E914-47DA-95CA-C5AB0DC85B11");let c=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${a.digest("base64")}`],u=!1;if(!n&&!o&&r.headers["sec-websocket-extensions"]){let p=Array.isArray(r.headers["sec-websocket-extensions"])?r.headers["sec-websocket-extensions"]:[r.headers["sec-websocket-extensions"]];for(let m of p)if(!/\b((server_max_window_bits)|(server_no_context_takeover)|(client_no_context_takeover))\b/.test(m)){if(/\b(permessage-deflate)\b/.test(m)){u=!0,c.push("Sec-WebSocket-Extensions: permessage-deflate");break}if(/\b(x-webkit-deflate-frame)\b/.test(m)){u=!0,c.push("Sec-WebSocket-Extensions: x-webkit-deflate-frame");break}}}return t.write(c.join(`\r
`)+`\r
\r
`),t.setTimeout(0),t.setNoDelay(!0),n?new Bs(t,e):new $s(new Bs(t,e),u,null,!0,i)}function tl(){let r=ye();if(process.platform==="win32")return`\\\\.\\pipe\\vscode-ipc-${r}-sock`;let t=process.platform!=="darwin"&&zU?zU:h3(),e=b3[di],n=r;if(typeof e=="number"){let o=Math.max(0,e-1-G(t,"vscode-ipc-.sock").length);o<n.length&&(n=n.slice(0,o))}return G(t,`vscode-ipc-${n}.sock`)}var I3,Bs,$s,JT,YT,XT,zU,b3,Cu=y(()=>{ze();Se();de();Q();Ue();me();Jt();Hs();za();qU();I3=3e4,Bs=class{constructor(t,e=""){this._canWrite=!0;this.debugLabel=e,this.socket=t,this.traceSocketEvent("created",{type:"NodeSocket"}),this._errorListener=n=>{if(this.traceSocketEvent("error",{code:n?.code,message:n?.message}),n){if(n.code==="EPIPE")return;tt(n)}},this.socket.on("error",this._errorListener),this._closeListener=n=>{this.traceSocketEvent("close",{hadError:n}),this._canWrite=!1,this._endTimeoutHandle&&clearTimeout(this._endTimeoutHandle)},this.socket.on("close",this._closeListener),this._endListener=()=>{this.traceSocketEvent("nodeEndReceived"),this._canWrite=!1,this._endTimeoutHandle=setTimeout(()=>t.destroy(),I3)},this.socket.on("end",this._endListener)}traceSocketEvent(t,e){PT.traceSocketEvent(this.socket,this.debugLabel,t,e)}dispose(t=!0){this._endTimeoutHandle&&(clearTimeout(this._endTimeoutHandle),this._endTimeoutHandle=void 0),this.socket.off("error",this._errorListener),this.socket.off("close",this._closeListener),this.socket.off("end",this._endListener),t&&this.socket.destroy()}onData(t){let e=n=>{this.traceSocketEvent("read",n),t(L.wrap(n))};return this.socket.on("data",e),{dispose:()=>this.socket.off("data",e)}}onClose(t){let e=n=>{t({type:0,hadError:n,error:void 0})};return this.socket.on("close",e),{dispose:()=>this.socket.off("close",e)}}onEnd(t){let e=()=>{t()};return this.socket.on("end",e),{dispose:()=>this.socket.off("end",e)}}write(t){if(!(this.socket.destroyed||!this._canWrite))try{this.traceSocketEvent("write",t),this.socket.write(t.buffer,e=>{if(e){if(e.code==="EPIPE")return;tt(e)}})}catch(e){if(e.code==="EPIPE")return;tt(e)}}end(){this.traceSocketEvent("nodeEndSent"),this.socket.end()}drain(){return this.traceSocketEvent("nodeDrainBegin"),new Promise((t,e)=>{if(this.socket.bufferSize===0){this.traceSocketEvent("nodeDrainEnd"),t();return}let n=()=>{this.socket.off("close",n),this.socket.off("end",n),this.socket.off("error",n),this.socket.off("timeout",n),this.socket.off("drain",n),this.traceSocketEvent("nodeDrainEnd"),t()};this.socket.on("close",n),this.socket.on("end",n),this.socket.on("error",n),this.socket.on("timeout",n),this.socket.on("drain",n)})}},$s=class extends _{constructor(e,n,o,i,s=!0){super();this._frameParser=new UI({unmaskInPlace:!0});this._onData=this._register(new w);this._onClose=this._register(new w);this._isEnded=!1;this._compressedMessage=!1;this.socket=e,this._maxSocketMessageLength=s?262144:1/0,this.traceSocketEvent("created",{type:"WebSocketNodeSocket",permessageDeflate:n,inflateBytesLength:o?.byteLength||0,recordInflateBytes:i}),this._flowManager=this._register(new JT(this,n,o,i,this._onData,(a,l)=>this._write(a,l))),this._register(this._flowManager.onError(a=>{console.error(a),tt(a),this._onClose.fire({type:0,hadError:!0,error:a})})),this._register(this.socket.onData(a=>this._acceptChunk(a))),this._register(this.socket.onClose(async a=>{this._flowManager.isProcessingReadQueue()&&await W.toPromise(this._flowManager.onDidFinishProcessingReadQueue),this._onClose.fire(a)}))}get permessageDeflate(){return this._flowManager.permessageDeflate}get recordedInflateBytes(){return this._flowManager.recordedInflateBytes}setRecordInflateBytes(e){this._flowManager.setRecordInflateBytes(e)}traceSocketEvent(e,n){this.socket.traceSocketEvent(e,n)}dispose(){this._flowManager.isProcessingWriteQueue()?this._register(this._flowManager.onDidFinishProcessingWriteQueue(()=>{this.dispose()})):(this.socket.dispose(),super.dispose())}onData(e){return this._onData.event(e)}onClose(e){return this._onClose.event(e)}onEnd(e){return this.socket.onEnd(e)}write(e){let n=0;for(;n<e.byteLength;)this._flowManager.writeMessage(e.slice(n,Math.min(n+this._maxSocketMessageLength,e.byteLength)),{compressed:!0,opcode:2}),n+=this._maxSocketMessageLength}_write(e,{compressed:n,opcode:o}){this._isEnded||(this.traceSocketEvent("webSocketNodeSocketWrite",e),this.socket.write(VU(e,{compressed:n,opcode:o})))}end(){this._isEnded=!0,this.socket.end()}_acceptChunk(e){for(let n of this._frameParser.acceptChunk(e)){let o=n.opcode===0?this._compressedMessage:n.compressed;(n.opcode===1||n.opcode===2)&&(this._compressedMessage=n.compressed),this.traceSocketEvent("webSocketNodeSocketPeekedHeader",{bodySize:n.payload.byteLength,compressed:o,fin:Number(n.final),mask:n.mask,opcode:n.opcode}),this.traceSocketEvent("webSocketNodeSocketReadData",n.payload),n.mask!==void 0&&this.traceSocketEvent("webSocketNodeSocketUnmaskedData",n.payload),n.opcode===0||n.opcode===1||n.opcode===2?(this._flowManager.acceptFrame(n.payload,o,n.final),n.final&&(this._compressedMessage=!1)):n.opcode===9&&this._flowManager.writeMessage(n.payload,{compressed:!1,opcode:10})}}async drain(){this.traceSocketEvent("webSocketNodeSocketDrainBegin"),this._flowManager.isProcessingWriteQueue()&&await W.toPromise(this._flowManager.onDidFinishProcessingWriteQueue),await this.socket.drain(),this.traceSocketEvent("webSocketNodeSocketDrainEnd")}},JT=class extends _{constructor(e,n,o,i,s,a){super();this._tracer=e;this._onData=s;this._writeFn=a;this._onError=this._register(new w);this.onError=this._onError.event;this._writeQueue=[];this._readQueue=[];this._onDidFinishProcessingReadQueue=this._register(new w);this.onDidFinishProcessingReadQueue=this._onDidFinishProcessingReadQueue.event;this._onDidFinishProcessingWriteQueue=this._register(new w);this.onDidFinishProcessingWriteQueue=this._onDidFinishProcessingWriteQueue.event;this._isProcessingWriteQueue=!1;this._isProcessingReadQueue=!1;n?(this._zlibInflateStream=this._register(new YT(this._tracer,i,o,{windowBits:15})),this._zlibDeflateStream=this._register(new XT(this._tracer,{windowBits:15})),this._register(this._zlibInflateStream.onError(l=>this._onError.fire(l))),this._register(this._zlibDeflateStream.onError(l=>this._onError.fire(l)))):(this._zlibInflateStream=null,this._zlibDeflateStream=null)}get permessageDeflate(){return!!(this._zlibInflateStream&&this._zlibDeflateStream)}get recordedInflateBytes(){return this._zlibInflateStream?this._zlibInflateStream.recordedInflateBytes:L.alloc(0)}setRecordInflateBytes(e){this._zlibInflateStream?.setRecordInflateBytes(e)}writeMessage(e,n){this._writeQueue.push({data:e,options:n}),this._processWriteQueue()}async _processWriteQueue(){if(!this._isProcessingWriteQueue){for(this._isProcessingWriteQueue=!0;this._writeQueue.length>0;){let{data:e,options:n}=this._writeQueue.shift();if(this._zlibDeflateStream&&n.compressed){let o=await this._deflateMessage(this._zlibDeflateStream,e);this._writeFn(o,n)}else this._writeFn(e,{...n,compressed:!1})}this._isProcessingWriteQueue=!1,this._onDidFinishProcessingWriteQueue.fire()}}isProcessingWriteQueue(){return this._isProcessingWriteQueue}_deflateMessage(e,n){return new Promise((o,i)=>{e.write(n),e.flush(s=>o(s))})}acceptFrame(e,n,o){this._readQueue.push({data:e,isCompressed:n,isLastFrameOfMessage:o}),this._processReadQueue()}async _processReadQueue(){if(!this._isProcessingReadQueue){for(this._isProcessingReadQueue=!0;this._readQueue.length>0;){let e=this._readQueue.shift();if(this._zlibInflateStream&&e.isCompressed){let n=await this._inflateFrame(this._zlibInflateStream,e.data,e.isLastFrameOfMessage);this._onData.fire(n)}else this._onData.fire(e.data)}this._isProcessingReadQueue=!1,this._onDidFinishProcessingReadQueue.fire()}}isProcessingReadQueue(){return this._isProcessingReadQueue}_inflateFrame(e,n,o){return new Promise((i,s)=>{e.write(n),o&&e.write(L.fromByteArray([0,0,255,255])),e.flush(a=>i(a))})}},YT=class extends _{constructor(e,n,o,i){super();this._tracer=e;this._onError=this._register(new w);this.onError=this._onError.event;this._recordedInflateBytes=[];this._pendingInflateData=[];this._recordInflateBytes=n,this._zlibInflate=y3(i),this._zlibInflate.on("error",s=>{this._tracer.traceSocketEvent("zlibInflateError",{message:s?.message,code:s?.code}),this._onError.fire(s)}),this._zlibInflate.on("data",s=>{this._tracer.traceSocketEvent("zlibInflateData",s),this._pendingInflateData.push(L.wrap(s))}),o&&(this._tracer.traceSocketEvent("zlibInflateInitialWrite",o.buffer),this._zlibInflate.write(o.buffer),this._zlibInflate.flush(()=>{this._tracer.traceSocketEvent("zlibInflateInitialFlushFired"),this._pendingInflateData.length=0}))}get recordedInflateBytes(){return this._recordInflateBytes?L.concat(this._recordedInflateBytes):L.alloc(0)}write(e){this._recordInflateBytes&&this._recordedInflateBytes.push(e.clone()),this._tracer.traceSocketEvent("zlibInflateWrite",e),this._zlibInflate.write(e.buffer)}setRecordInflateBytes(e){this._recordInflateBytes=e,e||(this._recordedInflateBytes.length=0)}flush(e){this._zlibInflate.flush(()=>{this._tracer.traceSocketEvent("zlibInflateFlushFired");let n=L.concat(this._pendingInflateData);this._pendingInflateData.length=0,e(n)})}dispose(){this._recordedInflateBytes.length=0,this._pendingInflateData.length=0;try{this._zlibInflate.close()}catch{}super.dispose()}},XT=class extends _{constructor(e,n){super();this._tracer=e;this._onError=this._register(new w);this.onError=this._onError.event;this._pendingDeflateData=[];this._zlibDeflate=v3({windowBits:15}),this._zlibDeflate.on("error",o=>{this._tracer.traceSocketEvent("zlibDeflateError",{message:o?.message,code:o?.code}),this._onError.fire(o)}),this._zlibDeflate.on("data",o=>{this._tracer.traceSocketEvent("zlibDeflateData",o),this._pendingDeflateData.push(L.wrap(o))})}write(e){this._tracer.traceSocketEvent("zlibDeflateWrite",e.buffer),this._zlibDeflate.write(e.buffer)}flush(e){this._zlibDeflate.flush(2,()=>{this._tracer.traceSocketEvent("zlibDeflateFlushFired");let n=L.concat(this._pendingDeflateData);this._pendingDeflateData.length=0,n=n.slice(0,n.byteLength-4),e(n)})}dispose(){this._pendingDeflateData.length=0;try{this._zlibDeflate.close()}catch{}super.dispose()}},zU=process.env.XDG_RUNTIME_DIR,b3={2:107,1:103}});var KU,Eu,NI=y(()=>{Se();X();KU=D("remoteAuthorityResolverService"),Eu=class r extends Kn{static isNotAvailable(t){return t instanceof r&&t._code==="NotAvailable"}static isTemporarilyNotAvailable(t){return t instanceof r&&t._code==="TemporarilyNotAvailable"}static isNoResolverFound(t){return t instanceof r&&t._code==="NoResolverFound"}static isInvalidAuthority(t){return t instanceof r&&t._code==="InvalidAuthority"}static isHandled(t){return t instanceof r&&t.isHandled}constructor(t,e="Unknown",n){super(t),this._message=t,this._code=e,this._detail=n,this.isHandled=e==="NotAvailable"&&n===!0,Object.setPrototypeOf(this,r.prototype)}}});function x3(r){switch(r){case 1:return"Management";case 2:return"ExtensionHost";case 3:return"Tunnel"}}function C3(r){let t=new xt;return setTimeout(()=>t.cancel(),r),t.token}async function E3(r,t,e){let{connectTo:n,connectionToken:o}=await r.addressProvider.getAddress();return{commit:r.commit,quality:r.quality,connectTo:n,connectionToken:o,reconnectionToken:t,reconnectionProtocol:e,remoteSocketFactoryService:r.remoteSocketFactoryService,signService:r.signService,logService:r.logService}}function w3(r){return jo(t=>new Promise((e,n)=>{let o=setTimeout(e,r*1e3);t.onCancellationRequested(()=>{clearTimeout(o),e()})}))}function T3(r){try{r.acceptDisconnect();let t=r.getSocket();r.dispose(),t.dispose()}catch(t){tt(t)}}function R3(r,t){return typeof r!="number"||!isFinite(r)||r<0?t:r>Number.MAX_SAFE_INTEGER?Number.MAX_SAFE_INTEGER:Math.floor(r)}function P3(r,t){for(;r.length<t;)r+=" ";return r}function k3(r,t){return`[remote-connection][${P3(x3(r),13)}][${t.substr(0,5)}\u2026]`}function FI(r,t,e){return`${k3(r,t)}[${e?"reconnect":"initial"}]`}var S3,ZT,eR,tR,VI,nR,jU,QU=y(()=>{Me();ze();jt();Se();de();Q();Ne();Wr();ya();Jt();za();NI();S3=30*1e3;ZT=class{constructor(t,e){this.reconnectionToken=t;this.millisSinceLastIncomingData=e;this.type=0}},eR=class{constructor(t,e,n,o){this.reconnectionToken=t;this.millisSinceLastIncomingData=e;this.durationSeconds=n;this.cancellableTimer=o;this.type=1}skipWait(){this.cancellableTimer.cancel()}},tR=class{constructor(t,e,n){this.reconnectionToken=t;this.millisSinceLastIncomingData=e;this.attempt=n;this.type=2}},VI=class{constructor(t,e,n){this.reconnectionToken=t;this.millisSinceLastIncomingData=e;this.attempt=n;this.type=4}},nR=class{constructor(t,e,n,o){this.reconnectionToken=t;this.millisSinceLastIncomingData=e;this.attempt=n;this.handled=o;this.type=3}},jU=class r extends _{constructor(e,n,o,i,s){super();this._connectionType=e;this._options=n;this.reconnectionToken=o;this.protocol=i;this._reconnectionFailureIsFatal=s;this._onDidStateChange=this._register(new w);this.onDidStateChange=this._onDidStateChange.event;this._permanentFailure=!1;this._isReconnecting=!1;this._isDisposed=!1;this._reconnectionGraceTime=108e5;this._onDidStateChange.fire(new VI(this.reconnectionToken,0,0)),this._register(i.onSocketClose(a=>{let l=FI(this._connectionType,this.reconnectionToken,!0);a?a.type===0?(this._options.logService.info(`${l} received socket close event (hadError: ${a.hadError}).`),a.error&&this._options.logService.error(a.error)):(this._options.logService.info(`${l} received socket close event (wasClean: ${a.wasClean}, code: ${a.code}, reason: ${a.reason}).`),a.event&&this._options.logService.error(a.event)):this._options.logService.info(`${l} received socket close event.`),this._beginReconnecting()})),this._register(i.onSocketTimeout(a=>{let l=FI(this._connectionType,this.reconnectionToken,!0);this._options.logService.info(`${l} received socket timeout event (reason: ${a.reason}, unacknowledgedMsgCount: ${a.unacknowledgedMsgCount}, timeSinceOldestUnacknowledgedMsg: ${a.timeSinceOldestUnacknowledgedMsg}, timeSinceLastReceivedSomeData: ${a.timeSinceLastReceivedSomeData}).`),this._beginReconnecting()})),r._instances.push(this),this._register(oe(()=>{let a=r._instances.indexOf(this);a>=0&&r._instances.splice(a,1)})),this._isPermanentFailure&&this._gotoPermanentFailure(r._permanentFailureMillisSinceLastIncomingData,r._permanentFailureAttempt,r._permanentFailureHandled)}static triggerPermanentFailure(e,n,o){this._permanentFailure=!0,this._permanentFailureMillisSinceLastIncomingData=e,this._permanentFailureAttempt=n,this._permanentFailureHandled=o,this._instances.forEach(i=>i._gotoPermanentFailure(this._permanentFailureMillisSinceLastIncomingData,this._permanentFailureAttempt,this._permanentFailureHandled))}static debugTriggerReconnection(){this._instances.forEach(e=>e._beginReconnecting())}static debugPauseSocketWriting(){this._instances.forEach(e=>e._pauseSocketWriting())}static{this._permanentFailure=!1}static{this._permanentFailureMillisSinceLastIncomingData=0}static{this._permanentFailureAttempt=0}static{this._permanentFailureHandled=!1}static{this._instances=[]}get _isPermanentFailure(){return this._permanentFailure||r._permanentFailure}updateGraceTime(e){let n=R3(e,108e5),o=FI(this._connectionType,this.reconnectionToken,!1);this._options.logService.trace(`${o} Applying reconnection grace time: ${n}ms (${Math.floor(n/1e3)}s)`),this._reconnectionGraceTime=n}dispose(){super.dispose(),this._isDisposed=!0}async _beginReconnecting(){if(!this._isReconnecting)try{this._isReconnecting=!0,await this._runReconnectingLoop()}finally{this._isReconnecting=!1}}async _runReconnectingLoop(){if(this._isPermanentFailure||this._isDisposed)return;let e=FI(this._connectionType,this.reconnectionToken,!0);this._options.logService.info(`${e} starting reconnecting loop. You can get more information with the trace log level.`),this._onDidStateChange.fire(new ZT(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData()));let n=[0,5,5,10,10,10,10,10,30],o=this._reconnectionGraceTime;if(this._options.logService.info(`${e} starting reconnection with grace time: ${o}ms (${Math.floor(o/1e3)}s)`),o<=0){this._options.logService.error(`${e} reconnection grace time is set to 0ms, will not attempt to reconnect.`),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),0,!1);return}let i=Date.now(),s=-1;do{s++;let a=s<n.length?n[s]:n[n.length-1];try{if(a>0){let c=w3(a);this._onDidStateChange.fire(new eR(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData(),a,c)),this._options.logService.info(`${e} waiting for ${a} seconds before reconnecting...`);try{await c}catch{}}if(this._isPermanentFailure){this._options.logService.error(`${e} permanent failure occurred while running the reconnecting loop.`);break}this._onDidStateChange.fire(new tR(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData(),s+1)),this._options.logService.info(`${e} resolving connection...`);let l=await E3(this._options,this.reconnectionToken,this.protocol);this._options.logService.info(`${e} connecting to ${l.connectTo}...`),await this._reconnect(l,C3(S3)),this._options.logService.info(`${e} reconnected!`),this._onDidStateChange.fire(new VI(this.reconnectionToken,this.protocol.getMillisSinceLastIncomingData(),s+1));break}catch(l){if(l.code==="VSCODE_CONNECTION_ERROR"){this._options.logService.error(`${e} A permanent error occurred in the reconnecting loop! Will give up now! Error:`),this._options.logService.error(l),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),s+1,!1);break}if(Date.now()-i>=o){let c=Math.round(o/1e3);this._options.logService.error(`${e} An error occurred while reconnecting, but it will be treated as a permanent error because the reconnection grace time (${c}s) has expired! Will give up now! Error:`),this._options.logService.error(l),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),s+1,!1);break}if(Eu.isTemporarilyNotAvailable(l)){this._options.logService.info(`${e} A temporarily not available error occurred while trying to reconnect, will try again...`),this._options.logService.trace(l);continue}if((l.code==="ETIMEDOUT"||l.code==="ENETUNREACH"||l.code==="ECONNREFUSED"||l.code==="ECONNRESET")&&l.syscall==="connect"){this._options.logService.info(`${e} A network error occurred while trying to reconnect, will try again...`),this._options.logService.trace(l);continue}if(mn(l)){this._options.logService.info(`${e} A promise cancelation error occurred while trying to reconnect, will try again...`),this._options.logService.trace(l);continue}if(l instanceof Eu){this._options.logService.error(`${e} A RemoteAuthorityResolverError occurred while trying to reconnect. Will give up now! Error:`),this._options.logService.error(l),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),s+1,Eu.isHandled(l));break}this._options.logService.error(`${e} An unknown error occurred while trying to reconnect, since this is an unknown case, it will be treated as a permanent error! Will give up now! Error:`),this._options.logService.error(l),this._onReconnectionPermanentFailure(this.protocol.getMillisSinceLastIncomingData(),s+1,!1);break}}while(!this._isPermanentFailure&&!this._isDisposed)}_onReconnectionPermanentFailure(e,n,o){this._reconnectionFailureIsFatal?r.triggerPermanentFailure(e,n,o):this._gotoPermanentFailure(e,n,o)}_gotoPermanentFailure(e,n,o){this._onDidStateChange.fire(new nR(this.reconnectionToken,e,n,o)),T3(this.protocol)}_pauseSocketWriting(){this.protocol.pauseSocketWriting()}}});var WI,HI,oR=y(()=>{X();WI=D("extensionHostStatusService"),HI=class{constructor(){this._exitInfo=new Map}setExitInfo(t,e){this._exitInfo.set(t,e)}getExitInfo(t){return this._exitInfo.get(t)||null}}});function D3(r){delete r[Lg.ENV_KEY],delete r[Og.ENV_KEY],delete r[rR.ENV_KEY]}function iR(r,t){D3(t),r.serialize(t)}var Lg,Og,rR,JU=y(()=>{Lg=class r{constructor(t){this.pipeName=t;this.type=1}static{this.ENV_KEY="VSCODE_EXTHOST_IPC_HOOK"}serialize(t){t[r.ENV_KEY]=this.pipeName}},Og=class r{constructor(){this.type=2}static{this.ENV_KEY="VSCODE_EXTHOST_WILL_SEND_SOCKET"}serialize(t){t[r.ENV_KEY]="1"}},rR=class r{constructor(){this.type=3}static{this.ENV_KEY="VSCODE_WILL_SEND_MESSAGE_PORT"}serialize(t){t[r.ENV_KEY]="1"}}});import*as YU from"child_process";import*as XU from"net";async function sR(r={},t,e,n,o,i){let s=await _g(e,n.userDataPath),a={};if(t)try{a=await La(i,o,n.args,process.env)}catch(g){o.error("ExtensionHostConnection#buildUserEnvironment resolving shell environment failed",g)}let c={...process.env,...a,...r,VSCODE_ESM_ENTRYPOINT:"vs/workbench/api/node/extensionHostProcess",VSCODE_HANDLES_UNCAUGHT_ERRORS:"true",VSCODE_NLS_CONFIG:JSON.stringify(s)},u=n.isBuilt?G(n.appRoot,"bin"):G(n.appRoot,"resources","server","bin-dev"),p=G(u,"remote-cli"),m=_3(c,"PATH");return m?m=p+pa+m:m=p,M3(c,"PATH",m),n.args["without-browser-env-var"]||(c.BROWSER=G(u,"helpers",te?"browser.cmd":"browser.sh")),c.VSCODE_RECONNECTION_GRACE_TIME=String(n.reconnectionGraceTime),o.trace(`[reconnection-grace-time] Setting VSCODE_RECONNECTION_GRACE_TIME env var for extension host: ${n.reconnectionGraceTime}ms (${Math.floor(n.reconnectionGraceTime/1e3)}s)`),A3(c),c}function _3(r,t){let e=Object.keys(r).filter(o=>o.toLowerCase()===t.toLowerCase()),n=e.length>0?e[0]:t;return r[n]}function M3(r,t,e){let n=Object.keys(r).filter(i=>i.toLowerCase()===t.toLowerCase()),o=n.length>0?n[0]:t;r[o]=e}function A3(r){for(let t of Object.keys(r))r[t]===null&&delete r[t]}var BI,wu,aR=y(()=>{ze();de();Q();Ne();Ue();me();Nd();Cu();tn();Pe();Ym();oR();RI();cc();JU();BI=class{constructor(t,e){this.socket=t;this.initialDataChunk=e}socketDrain(){return this.socket.drain()}toIExtHostSocketMessage(){let t,e,n;return this.socket instanceof Bs?(t=!0,e=!1,n=L.alloc(0)):(t=!1,e=this.socket.permessageDeflate,n=this.socket.recordedInflateBytes,this.socket.setRecordInflateBytes(!1)),{type:"VSCODE_EXTHOST_IPC_SOCKET",initialDataChunk:this.initialDataChunk.buffer.toString("base64"),skipWebSocketFrames:t,permessageDeflate:e,inflateBytes:n.buffer.toString("base64")}}},wu=class extends _{constructor(e,n,o,i,s,a,l,c){super();this._reconnectionToken=e;this._environmentService=s;this._logService=a;this._extensionHostStatusService=l;this._configurationService=c;this._onClose=this._register(new w);this.onClose=this._onClose.event;this._canSendSocket=!te||!this._environmentService.args["socket-path"],this._disposed=!1,this._remoteAddress=n,this._extensionHostProcess=null,this._connectionData=new BI(o,i),!this._canSendSocket&&o instanceof $s&&o.setRecordInflateBytes(!1),this._log("New connection established.")}dispose(){this._cleanResources(),super.dispose()}get _logPrefix(){return`[${this._remoteAddress}][${this._reconnectionToken.substr(0,8)}][ExtensionHostConnection] `}_log(e){this._logService.info(`${this._logPrefix}${e}`)}_logError(e){this._logService.error(`${this._logPrefix}${e}`)}async _pipeSockets(e,n){let o=new re;o.add(n.socket),o.add(oe(()=>{!e.destroyed&&!e.writableEnded&&e.end()}));let i=()=>{o.dispose()};o.add(n.socket.onEnd(i)),o.add(n.socket.onClose(i)),o.add(W.fromNodeEventEmitter(e,"end")(i)),o.add(W.fromNodeEventEmitter(e,"close")(i)),o.add(W.fromNodeEventEmitter(e,"error")(i)),o.add(n.socket.onData(s=>e.write(s.buffer))),o.add(W.fromNodeEventEmitter(e,"data")(s=>{n.socket.write(L.wrap(s))})),n.initialDataChunk.byteLength>0&&e.write(n.initialDataChunk.buffer)}async _sendSocketToExtensionHost(e,n){await n.socketDrain();let o=n.toIExtHostSocketMessage(),i;n.socket instanceof Bs?i=n.socket.socket:i=n.socket.socket.socket,e.send(o,i)}shortenReconnectionGraceTimeIfNecessary(){if(!this._extensionHostProcess)return;let e={type:"VSCODE_EXTHOST_IPC_REDUCE_GRACE_TIME"};this._extensionHostProcess.send(e)}acceptReconnection(e,n,o){this._remoteAddress=e,this._log("The client has reconnected."),!this._canSendSocket&&n instanceof $s&&n.setRecordInflateBytes(!1);let i=new BI(n,o);if(!this._extensionHostProcess){this._connectionData=i;return}this._sendSocketToExtensionHost(this._extensionHostProcess,i)}_cleanResources(){this._disposed||(this._disposed=!0,this._connectionData&&(this._connectionData.socket.end(),this._connectionData=null),this._extensionHostProcess&&(this._extensionHostProcess.kill(),this._extensionHostProcess=null),this._onClose.fire(void 0))}async start(e){try{let n=process.execArgv?process.execArgv.filter(m=>!/^--inspect(-brk)?=/.test(m)):[];e.port&&!process.pkg&&(n=[`--inspect${e.break?"-brk":""}=${e.port}`,"--experimental-network-inspection"]),this._log("Starting extension host process...");let o=await sR(e.env,!0,e.language,this._environmentService,this._logService,this._configurationService);Ud(o);let i;if(this._canSendSocket)iR(new Og,o),i=null;else{let{namedPipeServer:m,pipeName:g}=await this._listenOnPipe();iR(new Lg(g),o),i=m}let s={env:o,execArgv:n,silent:!0};s.execArgv.unshift("--dns-result-order=ipv4first");let a=["--type=extensionHost","--transformURIs"],l=this._environmentService.args["use-host-proxy"];a.push(`--useHostProxy=${l?"true":"false"}`),this._configurationService.getValue("extensions.supportNodeGlobalNavigator")&&a.push("--supportGlobalNavigator"),this._extensionHostProcess=YU.fork(Tt.asFileUri("bootstrap-fork").fsPath,a,s);let c=this._extensionHostProcess.pid;this._log(`<${c}> Launched Extension Host Process.`),this._extensionHostProcess.stdout.setEncoding("utf8"),this._extensionHostProcess.stderr.setEncoding("utf8");let u=W.fromNodeEventEmitter(this._extensionHostProcess.stdout,"data"),p=W.fromNodeEventEmitter(this._extensionHostProcess.stderr,"data");if(this._register(u(m=>this._log(`<${c}> ${m}`))),this._register(p(m=>this._log(`<${c}><stderr> ${m}`))),this._extensionHostProcess.on("error",m=>{this._logError(`<${c}> Extension Host Process had an error`),this._logService.error(m),this._cleanResources()}),this._extensionHostProcess.on("exit",(m,g)=>{this._extensionHostStatusService.setExitInfo(this._reconnectionToken,{code:m,signal:g}),this._log(`<${c}> Extension Host Process exited with code: ${m}, signal: ${g}.`),this._cleanResources()}),i)i.on("connection",m=>{i.close(),this._pipeSockets(m,this._connectionData)});else{let m=g=>{g.type==="VSCODE_EXTHOST_IPC_READY"&&(this._extensionHostProcess.removeListener("message",m),this._sendSocketToExtensionHost(this._extensionHostProcess,this._connectionData),this._connectionData=null)};this._extensionHostProcess.on("message",m)}}catch(n){this._logError("Failed to start extension host process"),this._logService.error(n),this._cleanResources()}}_listenOnPipe(){return new Promise((e,n)=>{let o=tl(),i=XU.createServer();i.on("error",n),i.listen(o,()=>{i?.removeListener("error",n),e({pipeName:o,namedPipeServer:i})})})}};wu=C([I(4,Ga),I(5,K),I(6,WI),I(7,mt)],wu)});function $I(r){let t=0,e=0,n=0;r>=1e3&&(n=Math.floor(r/1e3),r-=n*1e3),n>=60&&(e=Math.floor(n/60),n-=e*60),e>=60&&(t=Math.floor(e/60),e-=t*60);let o=t?`${t}h`:"",i=e?`${e}m`:"",s=n?`${n}s`:"",a=r?`${r}ms`:"";return`${o}${i}${s}${a}`}var qI,ZU=y(()=>{za();de();Me();qI=class{constructor(t,e,n,o,i){this._logService=t;this._reconnectionToken=e;this._onClose=new w;this.onClose=this._onClose.event;this._reconnectionGraceTime=i;let s=3e5;this._reconnectionShortGraceTime=i>0?Math.min(s,i):0,this._remoteAddress=n,this.protocol=o,this._disposed=!1,this._disconnectRunner1=new Cm(()=>{this._log(`The reconnection grace time of ${$I(this._reconnectionGraceTime)} has expired, so the connection will be disposed.`),this._cleanResources()},this._reconnectionGraceTime),this._disconnectRunner2=new Cm(()=>{this._log(`The reconnection short grace time of ${$I(this._reconnectionShortGraceTime)} has expired, so the connection will be disposed.`),this._cleanResources()},this._reconnectionShortGraceTime),W.once(this.protocol.onDidDispose)(()=>{this._log("The client has disconnected gracefully, so the connection will be disposed."),this._cleanResources()}),this._socketCloseListener=this.protocol.onSocketClose(()=>{this._log(`The client has disconnected, will wait for reconnection ${$I(this._reconnectionGraceTime)} before disposing...`),this._disconnectRunner1.schedule()}),this._log("New connection established.")}_log(t){this._logService.info(`[${this._remoteAddress}][${this._reconnectionToken.substr(0,8)}][ManagementConnection] ${t}`)}shortenReconnectionGraceTimeIfNecessary(){this._disconnectRunner2.isScheduled()||this._disconnectRunner1.isScheduled()&&(this._log(`Another client has connected, will shorten the wait for reconnection ${$I(this._reconnectionShortGraceTime)} before disposing...`),this._disconnectRunner2.schedule())}_cleanResources(){if(this._disposed)return;this._disposed=!0,this._disconnectRunner1.dispose(),this._disconnectRunner2.dispose(),this._socketCloseListener.dispose();let t=this.protocol.getSocket();this.protocol.sendDisconnect(),this.protocol.dispose(),t.end(),this._onClose.fire(void 0),this._onClose.dispose()}acceptReconnection(t,e,n){this._remoteAddress=t,this._log("The client has reconnected."),this._disconnectRunner1.cancel(),this._disconnectRunner2.cancel(),this.protocol.beginAcceptReconnection(e,n),this.protocol.endAcceptReconnection()}}});import*as eN from"cookie";import*as zI from"fs";async function L3(r,t){let e=r["without-connection-token"],n=r["connection-token"],o=r["connection-token-file"];if(e)return typeof n<"u"||typeof o<"u"?new qs("Please do not use the argument '--connection-token' or '--connection-token-file' at the same time as '--without-connection-token'."):new cR;if(typeof o<"u"){if(typeof n<"u")return new qs("Please do not use the argument '--connection-token' at the same time as '--connection-token-file'.");let i;try{i=zI.readFileSync(o).toString().replace(/\r?\n$/,"")}catch{return new qs(`Unable to read the connection token file at '${o}'.`)}return lR.test(i)?new Ug(i):new qs(`The connection token defined in '${o} does not adhere to the characters 0-9, a-z, A-Z, _, or -.`)}return typeof n<"u"?lR.test(n)?new Ug(n):new qs(`The connection token '${n} does not adhere to the characters 0-9, a-z, A-Z or -.`):new Ug(await t())}async function tN(r){return L3(r,async()=>{if(!r["user-data-dir"])return ye();let e=G(r["user-data-dir"],"token");try{let i=(await zI.promises.readFile(e)).toString().replace(/\r?\n$/,"");if(lR.test(i))return i}catch{}let n=ye();try{await ke.writeFile(e,n,{mode:384})}catch{}return n})}function nN(r,t,e){let n=e.getAll(Fi);if(r.validate(n.length>1?n:n[0]))return!0;let o=eN.parse(t.headers.cookie||"");return r.validate(o[ym])}var lR,cR,Ug,qs,Ng=y(()=>{Ue();Jt();Ne();Ao();lR=/^[0-9A-Za-z_-]+$/,cR=class{constructor(){this.type=0}validate(t){return!0}},Ug=class{constructor(t){this.value=t;this.type=2}validate(t){return t===this.value}},qs=class{constructor(t){this.message=t}}});var Ru,O3,Tu,GI=y(()=>{de();Q();X();Pe();Ru=D("serverLifetimeService"),O3=300*1e3,Tu=class extends _{constructor(e,n=process.exit,o){super();this._options=e;this._exit=n;this._logService=o;this._onWillShutdown=this._register(new w);this.onWillShutdown=this._onWillShutdown.event;this._onDidAbortShutdown=this._register(new w);this.onDidAbortShutdown=this._onDidAbortShutdown.event;this._consumers=new Map;this._totalCount=0;this._shutdownGeneration=0;this._options.enableAutoShutdown&&this._scheduleShutdown(!0)}get hasActiveConsumers(){return this._totalCount>0}active(e){this._shutdownGeneration++;let n=this._totalCount===0,o=this._consumers.get(e)??0;this._consumers.set(e,o+1),this._totalCount++,this._logService.debug(`ServerLifetime: consumer '${e}' active (total: ${this._totalCount})`),n&&this._cancelShutdown();let i=!1;return oe(()=>{if(i)return;i=!0;let s=this._consumers.get(e);s!==void 0&&(s<=1?this._consumers.delete(e):this._consumers.set(e,s-1)),this._totalCount--,this._logService.debug(`ServerLifetime: consumer '${e}' inactive (total: ${this._totalCount})`),this._totalCount===0&&this._options.enableAutoShutdown&&this._scheduleShutdown(!1)})}delay(){this._shutdownGeneration++,this._shutdownTimer?(this._logService.debug("ServerLifetime: delay requested, resetting shutdown timer"),this._cancelShutdown(),this._scheduleShutdown(!1)):this._shutdownPromise&&this._logService.debug("ServerLifetime: delay requested during shutdown, aborting pending exit")}_scheduleShutdown(e){this._options.shutdownWithoutDelay&&!e?this._tryShutdown():(this._logService.debug("ServerLifetime: scheduling shutdown timer"),this._shutdownTimer=setTimeout(()=>{this._shutdownTimer=void 0,this._tryShutdown()},O3))}_tryShutdown(){if(this._totalCount>0){this._logService.debug("ServerLifetime: consumer became active, aborting shutdown");return}if(this._shutdownPromise)return;this._logService.info("ServerLifetime: all consumers inactive, shutting down");let e=this._shutdownGeneration,n=[];this._onWillShutdown.fire({join:o=>n.push(o)}),this._shutdownPromise=Promise.all(n.map(o=>o.catch(i=>{this._logService.error("ServerLifetime: shutdown participant failed",i)}))).then(()=>{if(this._shutdownPromise=void 0,this._totalCount>0||e!==this._shutdownGeneration){this._logService.info("ServerLifetime: consumer became active during shutdown, aborting exit"),this._onDidAbortShutdown.fire(),this._totalCount===0&&this._options.enableAutoShutdown&&this._scheduleShutdown(!1);return}this.dispose(),this._exit(0)})}_cancelShutdown(){this._shutdownTimer&&(this._logService.debug("ServerLifetime: cancelling shutdown timer"),clearTimeout(this._shutdownTimer),this._shutdownTimer=void 0)}};Tu=C([I(2,K)],Tu)});import{networkInterfaces as U3}from"os";function F3(r){let t=r.replace(/\-/g,":").toLowerCase();return!N3.has(t)}function oN(){let r=U3();for(let t in r){let e=r[t];if(e){for(let{mac:n}of e)if(F3(n))return n}}throw new Error("Unable to retrieve mac address (unexpected format)")}var N3,rN=y(()=>{N3=new Set(["00:00:00:00:00:00","ff:ff:ff:ff:ff:ff","ac:de:48:00:11:22"])});import{networkInterfaces as V3}from"os";async function iN(r){return dR||(dR=(async()=>await H3(r)||ye())()),dR}async function H3(r){try{let t=await import("crypto"),e=oN();return t.createHash("sha256").update(e,"utf8").digest("hex")}catch(t){r(t);return}}async function sN(r){if(te){let t=await import("@vscode/windows-registry");try{return t.GetStringRegKey("HKEY_LOCAL_MACHINE",W3,"MachineId")||""}catch(e){return r(e),""}}return""}async function aN(r){try{let e=await(await import("@vscode/deviceid")).getDeviceId();return n0(e)}catch(t){return r(t),ye()}}var uR,dR,W3,pR=y(()=>{qm();Jt();rN();me();Ot();uR=new class{_isVirtualMachineMacAddress(r){return this._virtualMachineOUIs||(this._virtualMachineOUIs=fi.forStrings(),this._virtualMachineOUIs.set("00-50-56",!0),this._virtualMachineOUIs.set("00-0C-29",!0),this._virtualMachineOUIs.set("00-05-69",!0),this._virtualMachineOUIs.set("00-03-FF",!0),this._virtualMachineOUIs.set("00-1C-42",!0),this._virtualMachineOUIs.set("00-16-3E",!0),this._virtualMachineOUIs.set("08-00-27",!0),this._virtualMachineOUIs.set("00:50:56",!0),this._virtualMachineOUIs.set("00:0C:29",!0),this._virtualMachineOUIs.set("00:05:69",!0),this._virtualMachineOUIs.set("00:03:FF",!0),this._virtualMachineOUIs.set("00:1C:42",!0),this._virtualMachineOUIs.set("00:16:3E",!0),this._virtualMachineOUIs.set("08:00:27",!0)),!!this._virtualMachineOUIs.findSubstr(r)}value(){if(this._value===void 0){let r=0,t=0,e=V3();for(let n in e){let o=e[n];if(o)for(let{mac:i,internal:s}of o)s||(t+=1,this._isVirtualMachineMacAddress(i.toUpperCase())&&(r+=1))}this._value=t>0?r/t:0}return this._value}};W3="Software\\Microsoft\\SQMClient"});var Fg,lN=y(()=>{de();Q();Fg=class extends _{constructor(){super(...arguments);this._onCloseEmitter=this._register(new w);this._onReloadEmitter=this._register(new w);this._onTerminateEmitter=this._register(new w);this._onAttachEmitter=this._register(new w)}static{this.ChannelName="extensionhostdebugservice"}call(e,n,o){switch(n){case"close":return Promise.resolve(this._onCloseEmitter.fire({sessionId:o[0]}));case"reload":return Promise.resolve(this._onReloadEmitter.fire({sessionId:o[0]}));case"terminate":return Promise.resolve(this._onTerminateEmitter.fire({sessionId:o[0]}));case"attach":return Promise.resolve(this._onAttachEmitter.fire({sessionId:o[0],port:o[1],subId:o[2]}))}throw new Error("Method not implemented.")}listen(e,n,o){switch(n){case"close":return this._onCloseEmitter.event;case"reload":return this._onReloadEmitter.event;case"terminate":return this._onTerminateEmitter.event;case"attach":return this._onAttachEmitter.event}throw new Error("Method not implemented.")}}});var KI,cN=y(()=>{ie();KI=class{constructor(t,e){this.channel=t;this.getUriTransformer=e}async download(t,e,n){let o=this.getUriTransformer();o&&(t=o.transformOutgoingURI(t),e=o.transformOutgoingURI(e)),await this.channel.call("download",[t,e])}}});function dN(r){return r.toJSON()}function uN(r,t,e){if(!r||e>200)return null;if(typeof r=="object"){if(r instanceof b)return t.transformOutgoing(r);for(let n in r)if(Object.hasOwnProperty.call(r,n)){let o=uN(r[n],t,e+1);o!==null&&(r[n]=o)}}return null}function Mr(r,t){let e=uN(r,t,0);return e===null?r:e}function mR(r,t,e,n){if(!r||n>200)return null;if(typeof r=="object"){if(r.$mid===1)return e?b.revive(t.transformIncoming(r)):t.transformIncoming(r);if(r instanceof L)return null;for(let o in r)if(Object.hasOwnProperty.call(r,o)){let i=mR(r[o],t,e,n+1);i!==null&&(r[o]=i)}}return null}function gR(r,t){let e=mR(r,t,!1,0);return e===null?r:e}function ku(r,t){let e=mR(r,t,!0,0);return e===null?r:e}var jI,Pu,nl=y(()=>{ze();ad();ie();jI=class{constructor(t){this._uriTransformer=t}transformIncoming(t){let e=this._uriTransformer.transformIncoming(t);return e===t?t:dN(b.from(e))}transformOutgoing(t){let e=this._uriTransformer.transformOutgoing(t);return e===t?t:dN(b.from(e))}transformOutgoingURI(t){let e=this._uriTransformer.transformOutgoing(t);return e===t?t:b.from(e)}transformOutgoingScheme(t){return this._uriTransformer.transformOutgoingScheme(t)}},Pu=new class{transformIncoming(r){return r}transformOutgoing(r){return r}transformOutgoingURI(r){return r}transformOutgoingScheme(r){return r}}});function xi(r,t){return r?b.revive(t?t.transformIncoming(r):r):void 0}function Du(r,t){return t?t.transformOutgoingURI(r):r}function Vg(r,t){t=t||Pu;let e=r.manifest;return{...ku({...r,manifest:void 0},t),manifest:e}}function Hg(r,t){return r?.profileLocation?ku(r,t??Pu):r}function Wg(r,t){return t?xo(r,e=>e instanceof b?t.transformOutgoingURI(e):void 0):r}var QI,pN=y(()=>{de();en();ie();nl();hg();me();QI=class{constructor(t,e){this.service=t;this.getUriTransformer=e;this.onInstallExtension=W.buffer(t.onInstallExtension,"onInstallExtension",!0),this.onDidInstallExtensions=W.buffer(t.onDidInstallExtensions,"onDidInstallExtensions",!0),this.onUninstallExtension=W.buffer(t.onUninstallExtension,"onUninstallExtension",!0),this.onDidUninstallExtension=W.buffer(t.onDidUninstallExtension,"onDidUninstallExtension",!0),this.onDidUpdateExtensionMetadata=W.buffer(t.onDidUpdateExtensionMetadata,"onDidUpdateExtensionMetadata",!0)}listen(t,e){let n=this.getUriTransformer(t);switch(e){case"onInstallExtension":return W.map(this.onInstallExtension,o=>({...o,profileLocation:o.profileLocation?Du(o.profileLocation,n):o.profileLocation}));case"onDidInstallExtensions":return W.map(this.onDidInstallExtensions,o=>o.map(i=>({...i,local:i.local?Wg(i.local,n):i.local,profileLocation:i.profileLocation?Du(i.profileLocation,n):i.profileLocation})));case"onUninstallExtension":return W.map(this.onUninstallExtension,o=>({...o,profileLocation:o.profileLocation?Du(o.profileLocation,n):o.profileLocation}));case"onDidUninstallExtension":return W.map(this.onDidUninstallExtension,o=>({...o,profileLocation:o.profileLocation?Du(o.profileLocation,n):o.profileLocation}));case"onDidUpdateExtensionMetadata":return W.map(this.onDidUpdateExtensionMetadata,o=>({local:Wg(o.local,n),profileLocation:Du(o.profileLocation,n)}))}throw new Error("Invalid listen")}async call(t,e,n){let o=this.getUriTransformer(t);switch(e){case"zip":{let i=Vg(n[0],o),s=await this.service.zip(i);return Du(s,o)}case"install":return this.service.install(xi(n[0],o),Hg(n[1],o));case"installFromLocation":return this.service.installFromLocation(xi(n[0],o),xi(n[1],o));case"installExtensionsFromProfile":return this.service.installExtensionsFromProfile(n[0],xi(n[1],o),xi(n[2],o));case"getManifest":return this.service.getManifest(xi(n[0],o));case"getTargetPlatform":return this.service.getTargetPlatform();case"installFromGallery":return this.service.installFromGallery(n[0],Hg(n[1],o));case"installGalleryExtensions":{let i=n[0];return this.service.installGalleryExtensions(i.map(({extension:s,options:a})=>({extension:s,options:Hg(a,o)??{}})))}case"uninstall":return this.service.uninstall(Vg(n[0],o),Hg(n[1],o));case"uninstallExtensions":{let i=n[0];return this.service.uninstallExtensions(i.map(({extension:s,options:a})=>({extension:Vg(s,o),options:Hg(a,o)})))}case"getInstalled":return(await this.service.getInstalled(n[0],xi(n[1],o),n[2],n[3])).map(s=>Wg(s,o));case"toggleApplicationScope":{let i=await this.service.toggleApplicationScope(Vg(n[0],o),xi(n[1],o));return Wg(i,o)}case"copyExtensions":return this.service.copyExtensions(xi(n[0],o),xi(n[1],o));case"updateMetadata":{let i=await this.service.updateMetadata(Vg(n[0],o),n[1],xi(n[2],o));return Wg(i,o)}case"resetPinnedStateForAllUserExtensions":return this.service.resetPinnedStateForAllUserExtensions(n[0]);case"getExtensionsControlManifest":return this.service.getExtensionsControlManifest();case"download":return this.service.download(n[0],n[1],n[2]);case"cleanUp":return this.service.cleanUp()}throw new Error("Invalid call")}}});var JI,mN=y(()=>{ze();jt();de();JI=class{constructor(t){this.service=t}listen(t,e){throw new Error("Invalid listen")}call(t,e,n,o=we.None){switch(e){case"request":return this.service.request(n[0],o).then(async({res:i,stream:s})=>{let a=await cr(s);return[{statusCode:i.statusCode,headers:i.headers},a]});case"resolveProxy":return this.service.resolveProxy(n[0]);case"lookupAuthorization":return this.service.lookupAuthorization(n[0]);case"lookupKerberosAuthorization":return this.service.lookupKerberosAuthorization(n[0]);case"loadCertificates":return this.service.loadCertificates()}throw new Error("Invalid call")}}});function fR(r){if(!r||typeof r!="object")return{callstack:void 0,msg:bd(r)};let t=Array.isArray(r.stack)?r.stack.join(`
`):r.stack,e=r.message?r.message:bd(r);return{callstack:t,msg:e}}var gN,Bg,hR=y(()=>{Lt();Se();de();Q();en();it();(t=>{function r(e,n){return e.callstack<n.callstack?-1:e.callstack>n.callstack?1:0}t.compare=r})(gN||={});Bg=class r{constructor(t,e=r.ERROR_FLUSH_TIMEOUT){this._flushHandle=void 0;this._buffer=[];this._disposables=new re;this._telemetryService=t,this._flushDelay=e;let n=Jc.addListener(o=>this._onErrorEvent(o));this._disposables.add(oe(n)),this.installErrorListeners()}static{this.ERROR_FLUSH_TIMEOUT=5*1e3}dispose(){clearTimeout(this._flushHandle),this._flushBuffer(),this._disposables.dispose()}installErrorListeners(){}_onErrorEvent(t){if(!t||t.code||(t.detail&&t.detail.stack&&(t=t.detail),Kn.isErrorNoTelemetry(t)||t instanceof Un||ov.is(t)||typeof t?.message=="string"&&t.message.includes("Unable to read file")))return;let{callstack:e,msg:n}=fR(t);if(!e)return;let o={msg:n,callstack:e};nd.is(t)&&(o.kind=t.kind,o.listenerCount=t.listenerCount),this._enqueue(o)}_enqueue(t){let e=EM(this._buffer,t,gN.compare);e<0?(t.count=1,this._buffer.splice(~e,0,t)):(this._buffer[e].count||(this._buffer[e].count=0),this._buffer[e].count+=1),this._flushHandle===void 0&&(this._flushHandle=setTimeout(()=>{this._flushBuffer(),this._flushHandle=void 0},this._flushDelay))}_flushBuffer(){for(let t of this._buffer)this._telemetryService.publicLogError2("UnhandledError",t);this._buffer.length=0}}});var $g,fN=y(()=>{Se();hR();$g=class extends Bg{installErrorListeners(){rv(e=>console.error(e));let t=[];process.on("unhandledRejection",(e,n)=>{t.push(n),setTimeout(()=>{let o=t.indexOf(n);o>=0&&n.catch(i=>{t.splice(o,1),mn(i)||(console.warn(`rejected promise not handled within 1 second: ${i}`),i.stack&&console.warn(`stack trace: ${i.stack}`),e&&tt(e))})},1e3)}),process.on("rejectionHandled",e=>{let n=t.indexOf(e);n>=0&&t.splice(n,1)}),process.on("uncaughtException",e=>{iv(e)||tt(e)})}}});var hN,B3,vR,TTe,vN,ol=y(()=>{X();Uo();hN=D("ptyService"),B3={Backend:"workbench.contributions.terminal.processBackend"},vR=class{constructor(){this._backends=new Map}get backends(){return this._backends}registerTerminalBackend(t){let e=this._sanitizeRemoteAuthority(t.remoteAuthority);if(this._backends.has(e))throw new Error(`A terminal backend with remote authority '${e}' was already registered.`);this._backends.set(e,t)}getTerminalBackend(t){return this._backends.get(this._sanitizeRemoteAuthority(t))}_sanitizeRemoteAuthority(t){return t?.toLowerCase()??""}};lt.add(B3.Backend,new vR);TTe=D("localPtyService"),vN=D("terminalLogService")});var YI,_u,XI=y(()=>{ie();de();Pe();Q();YI=class{constructor(t,e){this.loggerService=t;this.getUriTransformer=e}listen(t,e){let n=this.getUriTransformer(t);switch(e){case"onDidChangeLoggers":return W.map(this.loggerService.onDidChangeLoggers,o=>({added:[...o.added].map(i=>this.transformLogger(i,n)),removed:[...o.removed].map(i=>this.transformLogger(i,n))}));case"onDidChangeVisibility":return W.map(this.loggerService.onDidChangeVisibility,o=>[n.transformOutgoingURI(o[0]),o[1]]);case"onDidChangeLogLevel":return W.map(this.loggerService.onDidChangeLogLevel,o=>LE(o)?o:[n.transformOutgoingURI(o[0]),o[1]])}throw new Error(`Event not found: ${e}`)}async call(t,e,n){let o=this.getUriTransformer(t);switch(e){case"setLogLevel":return LE(n[0])?this.loggerService.setLogLevel(n[0]):this.loggerService.setLogLevel(b.revive(o.transformIncoming(n[0][0])),n[0][1]);case"getRegisteredLoggers":return Promise.resolve([...this.loggerService.getRegisteredLoggers()].map(i=>this.transformLogger(i,o)))}throw new Error(`Call not found: ${e}`)}transformLogger(t,e){return{...t,resource:e.transformOutgoingURI(t.resource)}}},_u=class extends _{constructor(t,e){super(),e.call("setLogLevel",[t.getLogLevel()]),this._register(t.onDidChangeLogLevel(n=>e.call("setLogLevel",[n]))),e.call("getRegisteredLoggers").then(n=>{for(let o of n)t.registerLogger({...o,resource:b.revive(o.resource)})}),this._register(e.listen("onDidChangeVisibility")(([n,o])=>t.setVisibility(b.revive(n),o))),this._register(e.listen("onDidChangeLoggers")(({added:n,removed:o})=>{for(let i of n)t.registerLogger({...i,resource:b.revive(i.resource)});for(let i of o)t.deregisterLogger(i.resource)}))}}});var Mu,yN=y(()=>{Me();jt();de();Q();Pe();Mu=class extends _{constructor(e,n){super();this._logService=n;this._lastRequestId=0;this._pendingRequests=new Map;this._pendingRequestDisposables=new Map;this._onCreateRequest=this._register(new w);this.onCreateRequest=this._onCreateRequest.event;this._timeout=e===void 0?15e3:e,this._register(oe(()=>{for(let o of this._pendingRequestDisposables.values())Kt(o)}))}createRequest(e){return new Promise((n,o)=>{let i=++this._lastRequestId;this._pendingRequests.set(i,n),this._onCreateRequest.fire({requestId:i,...e});let s=new xt;Qo(this._timeout,s.token).then(()=>o(`Request ${i} timed out (${this._timeout}ms)`)),this._pendingRequestDisposables.set(i,[oe(()=>s.cancel())])})}acceptReply(e,n){let o=this._pendingRequests.get(e);o?(this._pendingRequests.delete(e),Kt(this._pendingRequestDisposables.get(e)||[]),this._pendingRequestDisposables.delete(e),o(n)):this._logService.warn(`RequestStore#acceptReply was called without receiving a matching request ${e}`)}};Mu=C([I(1,K)],Mu)});function IN(r,t){let e=[{name:null,description:d(3099,null)}];return e.push(...r.map(n=>({name:n.profileName,description:$3(n)}))),t&&e.push(...t.map(n=>({name:n.title,description:q3(n)}))),{values:e.map(n=>n.name),markdownDescriptions:e.map(n=>n.description)}}function $3(r){let t=`$(${on.isThemeIcon(r.icon)?r.icon.id:r.icon?r.icon:J.terminal.id}) ${r.profileName}
- path: ${r.path}`;return r.args&&(Z(r.args)?t+=`
- args: "${r.args}"`:t+=`
- args: [${r.args.length===0?"":`'${r.args.join("','")}'`}]`),r.overrideName!==void 0&&(t+=`
- overrideName: ${r.overrideName}`),r.color&&(t+=`
- color: ${r.color}`),r.env&&(t+=`
- env: ${JSON.stringify(r.env)}`),t}function q3(r){return`$(${on.isThemeIcon(r.icon)?r.icon.id:r.icon?r.icon:J.terminal.id}) ${r.title}
- extensionIdentifier: ${r.extensionIdentifier}`}var bN=y(()=>{Ki();ie();le();Va();Ee()});function IR(r){let t=r===2?"linux":r===1?"osx":"windows";return d(3078,null,Jh(r),'```json\n"terminal.integrated.profile.'+t+'": {\n  "bash": null\n}\n```',"[","](https://code.visualstudio.com/docs/terminal/profiles)")}function SN(){lt.as(On.Configuration).registerConfiguration(K3),j3()}function j3(r,t){let e=lt.as(On.Configuration),n;r&&(n=IN(r?.profiles,t));let o=bR;bR={id:"terminal",order:100,title:d(3082,null),type:"object",properties:{"terminal.integrated.defaultProfile.linux":{restricted:!0,markdownDescription:d(3073,null),type:["string","null"],default:null,enum:r?.os===3?n?.values:void 0,markdownEnumDescriptions:r?.os===3?n?.markdownDescriptions:void 0},"terminal.integrated.defaultProfile.osx":{restricted:!0,markdownDescription:d(3074,null),type:["string","null"],default:null,enum:r?.os===2?n?.values:void 0,markdownEnumDescriptions:r?.os===2?n?.markdownDescriptions:void 0},"terminal.integrated.defaultProfile.windows":{restricted:!0,markdownDescription:d(3075,null),type:["string","null"],default:null,enum:r?.os===1?n?.values:void 0,markdownEnumDescriptions:r?.os===1?n?.markdownDescriptions:void 0}}},e.updateConfigurations({add:[bR],remove:o?[o]:[]})}var z3,G3,Lu,yR,Au,K3,bR,xN=y(()=>{Ki();me();le();gi();Uo();ol();bN();z3={type:["string","null"],enum:["terminal.ansiBlack","terminal.ansiRed","terminal.ansiGreen","terminal.ansiYellow","terminal.ansiBlue","terminal.ansiMagenta","terminal.ansiCyan","terminal.ansiWhite"],default:null},G3={type:"string",enum:Array.from(Zw(),r=>r.id),markdownEnumDescriptions:Array.from(Zw(),r=>`$(${r.id})`)},Lu={args:{description:d(3083,null),type:"array",items:{type:"string"}},icon:{description:d(3086,null),...G3},color:{description:d(3084,null),...z3},env:{markdownDescription:d(3085,null),type:"object",additionalProperties:{type:["string","null"]},default:{}}},yR={type:"object",required:["path"],properties:{path:{description:d(3094,null),type:["string","array"],items:{type:"string"}},overrideName:{description:d(3093,null),type:"boolean"},...Lu}},Au={type:"object",required:["path"],properties:{path:{description:d(3081,null),type:["string"],items:{type:"string"}},...Lu}};K3={id:"terminal",order:100,title:d(3082,null),type:"object",properties:{"terminal.integrated.automationProfile.linux":{restricted:!0,markdownDescription:d(3069,null),type:["object","null"],default:null,anyOf:[{type:"null"},Au],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.automationProfile.osx":{restricted:!0,markdownDescription:d(3070,null),type:["object","null"],default:null,anyOf:[{type:"null"},Au],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.automationProfile.windows":{restricted:!0,markdownDescription:d(3071,null,"`terminal.integrated.automationShell.windows`"),type:["object","null"],default:null,anyOf:[{type:"null"},Au],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.agentHostProfile.linux":{restricted:!0,markdownDescription:d(3066,null,"`#terminal.integrated.profiles.linux#`","`#terminal.integrated.defaultProfile.linux#`"),type:["string","object","null"],default:null,anyOf:[{type:"null"},{type:"string"},Au],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.agentHostProfile.osx":{restricted:!0,markdownDescription:d(3067,null,"`#terminal.integrated.profiles.osx#`","`#terminal.integrated.defaultProfile.osx#`"),type:["string","object","null"],default:null,anyOf:[{type:"null"},{type:"string"},Au],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.agentHostProfile.windows":{restricted:!0,markdownDescription:d(3068,null,"`#terminal.integrated.profiles.windows#`","`#terminal.integrated.defaultProfile.windows#`"),type:["string","object","null"],default:null,anyOf:[{type:"null"},{type:"string"},Au],defaultSnippets:[{body:{path:"${1}",icon:"${2}"}}]},"terminal.integrated.profiles.windows":{restricted:!0,markdownDescription:IR(3),type:"object",default:{PowerShell:{source:"PowerShell",icon:J.terminalPowershell.id},"Command Prompt":{path:["${env:windir}\\Sysnative\\cmd.exe","${env:windir}\\System32\\cmd.exe"],args:[],icon:J.terminalCmd.id},"Git Bash":{source:"Git Bash",icon:J.terminalGitBash.id}},additionalProperties:{anyOf:[{type:"object",required:["source"],properties:{source:{description:d(3098,null),enum:["PowerShell","Git Bash"]},...Lu}},{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:d(3096,null),type:"string"},id:{description:d(3095,null),type:"string"},title:{description:d(3097,null),type:"string"},...Lu}},{type:"null"},yR]}},"terminal.integrated.profiles.osx":{restricted:!0,markdownDescription:IR(1),type:"object",default:{bash:{path:"bash",args:["-l"],icon:J.terminalBash.id},zsh:{path:"zsh",args:["-l"]},fish:{path:"fish",args:["-l"]},tmux:{path:"tmux",icon:J.terminalTmux.id},pwsh:{path:"pwsh",icon:J.terminalPowershell.id}},additionalProperties:{anyOf:[{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:d(3091,null),type:"string"},id:{description:d(3090,null),type:"string"},title:{description:d(3092,null),type:"string"},...Lu}},{type:"null"},yR]}},"terminal.integrated.profiles.linux":{restricted:!0,markdownDescription:IR(2),type:"object",default:{bash:{path:"bash",icon:J.terminalBash.id},zsh:{path:"zsh"},fish:{path:"fish"},tmux:{path:"tmux",icon:J.terminalTmux.id},pwsh:{path:"pwsh",icon:J.terminalPowershell.id}},additionalProperties:{anyOf:[{type:"object",required:["extensionIdentifier","id","title"],properties:{extensionIdentifier:{description:d(3088,null),type:"string"},id:{description:d(3087,null),type:"string"},title:{description:d(3089,null),type:"string"},...Lu}},{type:"null"},yR]}},"terminal.integrated.useWslProfiles":{description:d(3080,null),type:"boolean",default:!0},"terminal.integrated.inheritEnv":{scope:1,description:d(3076,null),type:"boolean",default:!0},"terminal.integrated.persistentSessionScrollback":{scope:1,markdownDescription:d(3077,null),type:"number",default:100},"terminal.integrated.showLinkHover":{scope:1,description:d(3079,null),type:"boolean",default:!0},"terminal.integrated.ignoreProcessNames":{markdownDescription:d(3072,null,"`#terminal.integrated.confirmOnKill#`"),type:"array",items:{type:"string",uniqueItems:!0},default:["starship","oh-my-posh","bash","zsh"]}}}});import*as eb from"os";async function Q3(){if(qg)return;if(!te){qg={release:eb.release(),buildNumber:0};return}let r,t;try{let e=await import("@vscode/windows-registry"),n="SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion",o=e.GetStringRegKey("HKEY_LOCAL_MACHINE",n,"CurrentBuild");o!==void 0&&(r=parseInt(o,10),isNaN(r)&&(r=void 0));let i=e.GetDWORDRegKey("HKEY_LOCAL_MACHINE",n,"CurrentMajorVersionNumber"),s=e.GetDWORDRegKey("HKEY_LOCAL_MACHINE",n,"CurrentMinorVersionNumber");i!==void 0&&s!==void 0&&o!==void 0&&(t=`${i}.${s}.${o}`)}catch{}finally{qg={release:t||eb.release(),buildNumber:r||J3()}}}async function CN(){return qg||await Q3(),qg.buildNumber}function J3(){let r=/(\d+)\.(\d+)\.(\d+)/g.exec(eb.release());return r&&r.length===4?parseInt(r[3],10):0}var qg,EN=y(()=>{me()});import*as RN from"fs";import*as PN from"child_process";function kN(r,t,e,n,o=process.env,i,s,a,l){return i=i||{existsFile:Io.existsFile,readFile:RN.promises.readFile},te?Y3(e,i,o,s,n.getValue("terminal.integrated.useWslProfiles")!==!1,r&&Ae(r)?{...r}:n.getValue("terminal.integrated.profiles.windows"),Z(t)?t:n.getValue("terminal.integrated.defaultProfile.windows"),l,a):rq(i,s,e,r&&Ae(r)?{...r}:n.getValue(qe?"terminal.integrated.profiles.linux":"terminal.integrated.profiles.osx"),Z(t)?t:n.getValue(qe?"terminal.integrated.defaultProfile.linux":"terminal.integrated.defaultProfile.osx"),l,a,o)}async function Y3(r,t,e,n,o,i,s,a,l){let c=process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432"),u=`${process.env.windir}\\${c?"Sysnative":"System32"}`,p=await CN()>=19041;await Z3(a);let m=new Map;if(r){m.set("PowerShell",{source:"PowerShell",icon:J.terminalPowershell,isAutoDetected:!0}),m.set("Windows PowerShell",{path:`${u}\\WindowsPowerShell\\v1.0\\powershell.exe`,icon:J.terminalPowershell,isAutoDetected:!0}),m.set("Git Bash",{source:"Git Bash",icon:J.terminalGitBash,isAutoDetected:!0}),m.set("Command Prompt",{path:`${u}\\cmd.exe`,icon:J.terminalCmd,isAutoDetected:!0}),m.set("Cygwin",{path:[{path:`${process.env.HOMEDRIVE}\\cygwin64\\bin\\bash.exe`,isUnsafe:!0},{path:`${process.env.HOMEDRIVE}\\cygwin\\bin\\bash.exe`,isUnsafe:!0}],args:["--login"],isAutoDetected:!0}),m.set("bash (MSYS2)",{path:[{path:`${process.env.HOMEDRIVE}\\msys64\\usr\\bin\\bash.exe`,isUnsafe:!0}],args:["--login","-i"],env:{CHERE_INVOKING:"1"},icon:J.terminalBash,isAutoDetected:!0});let h=`${process.env.CMDER_ROOT||`${process.env.HOMEDRIVE}\\cmder`}\\vendor\\bin\\vscode_init.cmd`;m.set("Cmder",{path:`${u}\\cmd.exe`,args:["/K",h],requiresPath:process.env.CMDER_ROOT?h:{path:h,isUnsafe:!0},isAutoDetected:!0})}_N(i,m);let g=await DN(m.entries(),s,t,e,n,l);if(r&&o&&p)try{let h=await nq(`${u}\\wsl.exe`,s);for(let v of h)(!i||!Object.prototype.hasOwnProperty.call(i,v.profileName))&&g.push(v)}catch{wN&&(n?.trace("WSL is not installed, so could not detect WSL profiles"),wN=!1)}return g}async function DN(r,t,e,n=process.env,o,i){let s=[];for(let[a,l]of r)s.push(X3(a,l,t,e,n,o,i));return(await Promise.all(s)).filter(a=>!!a)}async function X3(r,t,e,n,o=process.env,i,s){if(t===null)return;let a,l,c;if(An(t,{source:!0})){let g=zg?.get(t.source);if(!g)return;a=g.paths,l=t.args||g.args,t.icon?c=TN(t.icon):g.icon&&(c=g.icon)}else a=Array.isArray(t.path)?t.path:[t.path],l=te||Array.isArray(t.args)?t.args:void 0,c=TN(t.icon);let u;if(s){let g=a.map(v=>Z(v)?v:v.path),h=await s(g);u=new Array(a.length);for(let v=0;v<a.length;v++)Z(a[v])?u[v]=h[v]:u[v]={path:h[v],isUnsafe:!0}}else u=a.slice();let p;if(t.requiresPath){let g;if(Z(t.requiresPath)?g=t.requiresPath:(g=t.requiresPath.path,t.requiresPath.isUnsafe&&(p=g)),!await n.existsFile(g))return}let m=await tb(r,e,u,n,o,l,t.env,t.overrideName,t.isAutoDetected,p);if(!m){i?.debug("Terminal profile not validated",r,a);return}return m.isAutoDetected=t.isAutoDetected,m.icon=c,m.color=t.color,m}function TN(r){return Z(r)?{id:r}:r}async function Z3(r){if(zg&&!r)return;let[t,e]=await Promise.all([eq(),r||tq()]);zg=new Map,zg.set("Git Bash",{profileName:"Git Bash",paths:t,args:["--login","-i"]}),zg.set("PowerShell",{profileName:"PowerShell",paths:e,icon:J.terminalPowershell})}async function eq(){let r=new Set,t=await Kl("git.exe");if(t){let o=At(t);r.add(io(o,"../.."))}function e(o,i){i&&o.add(i)}e(r,process.env.ProgramW6432),e(r,process.env.ProgramFiles),e(r,process.env["ProgramFiles(X86)"]),e(r,`${process.env.LocalAppData}\\Program`);let n=[];for(let o of r)n.push(`${o}\\Git\\bin\\bash.exe`,`${o}\\Git\\usr\\bin\\bash.exe`,`${o}\\usr\\bin\\bash.exe`);return n.push(`${process.env.UserProfile}\\scoop\\apps\\git\\current\\bin\\bash.exe`),n.push(`${process.env.UserProfile}\\scoop\\apps\\git-with-openssh\\current\\bin\\bash.exe`),n}async function tq(){let r=[];for await(let t of dw())r.push(t.exePath);return r}async function nq(r,t){let e=[],n=await new Promise((i,s)=>{PN.exec("wsl.exe -l -q",{encoding:"utf16le",env:{...process.env,WSL_UTF8:"0"},timeout:1e3},(a,l)=>{if(a)return s("Problem occurred when getting wsl distros");i(l)})});if(!n)return[];let o=n.split(/\r?\n/).filter(i=>i.trim().length>0);for(let i of o){if(i===""||i.startsWith("docker-desktop"))continue;let s=`${i} (WSL)`,a={profileName:s,path:r,args:["-d",`${i}`],isDefault:s===t,icon:oq(i),isAutoDetected:!1};e.push(a)}return e}function oq(r){return r.includes("Ubuntu")?J.terminalUbuntu:r.includes("Debian")?J.terminalDebian:J.terminalLinux}async function rq(r,t,e,n,o,i,s,a){let l=new Map;if(e&&await r.existsFile("/etc/shells")){let c=(await r.readFile("/etc/shells")).toString(),u=(i||c.split(`
`)).map(m=>{let g=m.indexOf("#");return g===-1?m:m.substring(0,g)}).filter(m=>m.trim().length>0),p=new Map;for(let m of u){let g=vt(m),h=p.get(g)||0;h++,h>1&&(g=`${g} (${h})`),p.set(g,h),l.set(g,{path:m,isAutoDetected:!0})}}return _N(n,l),await DN(l.entries(),o,r,a,t,s)}function _N(r,t){if(r)for(let[e,n]of Object.entries(r))n===null||!Ae(n)||!An(n,{path:!0})&&!An(n,{source:!0})?t.delete(e):(n.icon=n.icon||t.get(e)?.icon,t.set(e,n))}async function tb(r,t,e,n,o,i,s,a,l,c){if(e.length===0)return Promise.resolve(void 0);let u=e.shift();if(u==="")return tb(r,t,e,n,o,i,s,a,l);let p=!Z(u)&&u.isUnsafe,m=Z(u)?u:u.path,g={profileName:r,path:m,args:i,env:s,overrideName:a,isAutoDetected:l,isDefault:r===t,isUnsafePath:p,requiresUnsafePath:c};if(vt(m)===m){let v=o.PATH?o.PATH.split(pa):void 0,S=await Kl(m,void 0,v,void 0,n.existsFile);return S?(g.path=S,g.isFromPath=!0,g):tb(r,t,e,n,o,i)}return await n.existsFile(wn(m))?g:tb(r,t,e,n,o,i,s,a,l)}var zg,wN,MN=y(()=>{Ki();Ue();me();Qm();Ee();Ao();uw();ol();EN();wN=!0});var Ou,AN=y(()=>{de();Q();me();Hs();tn();Pe();XI();Ym();yN();ol();xN();MN();gw();ya();Ou=class extends _{constructor(e,n,o,i){super();this._ptyHostStarter=e;this._configurationService=n;this._logService=o;this._loggerService=i;this._wasQuitRequested=!1;this._restartCount=0;this._isResponsive=!0;this._onPtyHostExit=this._register(new w);this.onPtyHostExit=this._onPtyHostExit.event;this._onPtyHostStart=this._register(new w);this.onPtyHostStart=this._onPtyHostStart.event;this._onPtyHostUnresponsive=this._register(new w);this.onPtyHostUnresponsive=this._onPtyHostUnresponsive.event;this._onPtyHostResponsive=this._register(new w);this.onPtyHostResponsive=this._onPtyHostResponsive.event;this._onPtyHostRequestResolveVariables=this._register(new w);this.onPtyHostRequestResolveVariables=this._onPtyHostRequestResolveVariables.event;this._onProcessData=this._register(new w);this.onProcessData=this._onProcessData.event;this._onProcessReady=this._register(new w);this.onProcessReady=this._onProcessReady.event;this._onProcessReplay=this._register(new w);this.onProcessReplay=this._onProcessReplay.event;this._onProcessOrphanQuestion=this._register(new w);this.onProcessOrphanQuestion=this._onProcessOrphanQuestion.event;this._onDidRequestDetach=this._register(new w);this.onDidRequestDetach=this._onDidRequestDetach.event;this._onDidChangeProperty=this._register(new w);this.onDidChangeProperty=this._onDidChangeProperty.event;this._onProcessExit=this._register(new w);this.onProcessExit=this._onProcessExit.event;this._ptyHostStore=this._register(new re);SN(),this._register(this._ptyHostStarter),this._register(oe(()=>this._disposePtyHost())),this._resolveVariablesRequestStore=this._register(new Mu(void 0,this._logService)),this._register(this._resolveVariablesRequestStore.onCreateRequest(this._onPtyHostRequestResolveVariables.fire,this._onPtyHostRequestResolveVariables)),this._ptyHostStarter.onRequestConnection&&this._register(W.once(this._ptyHostStarter.onRequestConnection)(()=>this._ensurePtyHost())),this._ptyHostStarter.onWillShutdown&&this._register(this._ptyHostStarter.onWillShutdown(()=>this._wasQuitRequested=!0))}get _proxy(){return this._ensurePtyHost(),this.__proxy}get _optionalProxy(){return this.__proxy}_ensurePtyHost(){this.__connection||this._startPtyHost()}get _ignoreProcessNames(){return this._configurationService.getValue("terminal.integrated.ignoreProcessNames")}async _refreshIgnoreProcessNames(){return this._optionalProxy?.refreshIgnoreProcessNames?.(this._ignoreProcessNames)}async _resolveShellEnv(){if(te)return process.env;try{return await La(this._configurationService,this._logService,{_:[]},process.env)}catch(e){return this._logService.error("ptyHost was unable to resolve shell environment",e),{}}}_startPtyHost(){let e=this._ptyHostStarter.start(),n=e.client,o=this._ptyHostStore;o.add(e.store),this._logService.getLevel()===1&&this._logService.trace("PtyHostService#_startPtyHost",new Error().stack?.replace(/^Error/,""));let i=_r.toService(n.getChannel("heartbeat"));o.add(i.onBeat(()=>this._handleHeartbeat())),this._handleHeartbeat(!0),o.add(e.onDidProcessExit(a=>{this._onPtyHostExit.fire(a.code),!this._wasQuitRequested&&!this._store.isDisposed&&(this._restartCount<=5?(this._logService.error(`ptyHost terminated unexpectedly with code ${a.code}`),this._restartCount++,this.restartPtyHost()):this._logService.error(`ptyHost terminated unexpectedly with code ${a.code}, giving up`))}));let s=_r.toService(n.getChannel("ptyHost"));o.add(s.onProcessData(a=>this._onProcessData.fire(a))),o.add(s.onProcessReady(a=>this._onProcessReady.fire(a))),o.add(s.onProcessExit(a=>this._onProcessExit.fire(a))),o.add(s.onDidChangeProperty(a=>this._onDidChangeProperty.fire(a))),o.add(s.onProcessReplay(a=>this._onProcessReplay.fire(a))),o.add(s.onProcessOrphanQuestion(a=>this._onProcessOrphanQuestion.fire(a))),o.add(s.onDidRequestDetach(a=>this._onDidRequestDetach.fire(a))),o.add(new _u(this._loggerService,n.getChannel("logger"))),this.__connection=e,this.__proxy=s,this._onPtyHostStart.fire(),o.add(this._configurationService.onDidChangeConfiguration(async a=>{a.affectsConfiguration("terminal.integrated.ignoreProcessNames")&&await this._refreshIgnoreProcessNames()})),this._refreshIgnoreProcessNames()}async createProcess(e,n,o,i,s,a,l,c,u,p,m){let g=setTimeout(()=>this._handleUnresponsiveCreateProcess(),5e3),h=await this._proxy.createProcess(e,n,o,i,s,a,l,c,u,p,m);return clearTimeout(g),h}updateTitle(e,n,o){return this._proxy.updateTitle(e,n,o)}updateIcon(e,n,o,i){return this._proxy.updateIcon(e,n,o,i)}attachToProcess(e){return this._proxy.attachToProcess(e)}detachFromProcess(e,n){return this._proxy.detachFromProcess(e,n)}shutdownAll(){return this._proxy.shutdownAll()}listProcesses(){return this._proxy.listProcesses()}async getPerformanceMarks(){return this._optionalProxy?.getPerformanceMarks()??[]}async reduceConnectionGraceTime(){return this._optionalProxy?.reduceConnectionGraceTime()}start(e){return this._proxy.start(e)}shutdown(e,n){return this._proxy.shutdown(e,n)}input(e,n){return this._proxy.input(e,n)}sendSignal(e,n){return this._proxy.sendSignal(e,n)}processBinary(e,n){return this._proxy.processBinary(e,n)}resize(e,n,o,i,s){return this._proxy.resize(e,n,o,i,s)}clearBuffer(e){return this._proxy.clearBuffer(e)}acknowledgeDataEvent(e,n){return this._proxy.acknowledgeDataEvent(e,n)}setUnicodeVersion(e,n){return this._proxy.setUnicodeVersion(e,n)}setNextCommandId(e,n,o){return this._proxy.setNextCommandId(e,n,o)}getInitialCwd(e){return this._proxy.getInitialCwd(e)}getCwd(e){return this._proxy.getCwd(e)}async getLatency(){let e=new ho,n=await this._proxy.getLatency();return e.stop(),[{label:"ptyhostservice<->ptyhost",latency:e.elapsed()},...n]}orphanQuestionReply(e){return this._proxy.orphanQuestionReply(e)}installAutoReply(e,n){return this._proxy.installAutoReply(e,n)}uninstallAllAutoReplies(){return this._proxy.uninstallAllAutoReplies()}getDefaultSystemShell(e){return this._optionalProxy?.getDefaultSystemShell(e)??ly(e??or,process.env)}async getProfiles(e,n,o,i=!1){let s=await this._resolveShellEnv();return kN(n,o,i,this._configurationService,s,void 0,this._logService,this._resolveVariables.bind(this,e))}async getEnvironment(){return this.__proxy?this._proxy.getEnvironment():{...process.env}}getWslPath(e,n){return this._proxy.getWslPath(e,n)}getRevivedPtyNewId(e,n){return this._proxy.getRevivedPtyNewId(e,n)}setTerminalLayoutInfo(e){return this._proxy.setTerminalLayoutInfo(e)}async getTerminalLayoutInfo(e){return this._optionalProxy?.getTerminalLayoutInfo(e)}async requestDetachInstance(e,n){return this._proxy.requestDetachInstance(e,n)}async acceptDetachInstanceReply(e,n){return this._proxy.acceptDetachInstanceReply(e,n)}async freePortKillProcess(e){if(!this._proxy.freePortKillProcess)throw new Error("freePortKillProcess does not exist on the pty proxy");return this._proxy.freePortKillProcess(e)}async serializeTerminalState(e){return this._proxy.serializeTerminalState(e)}async reviveTerminalProcesses(e,n,o){return this._proxy.reviveTerminalProcesses(e,n,o)}async refreshProperty(e,n){return this._proxy.refreshProperty(e,n)}async updateProperty(e,n,o){return this._proxy.updateProperty(e,n,o)}async restartPtyHost(){this._disposePtyHost(),this._isResponsive=!0,this._startPtyHost()}_disposePtyHost(){this._clearHeartbeatTimeouts(),this._optionalProxy?.shutdownAll().catch(()=>{}),this.__connection=void 0,this.__proxy=void 0,this._ptyHostStore.clear()}_handleHeartbeat(e){this._clearHeartbeatTimeouts(),this._heartbeatFirstTimeout=setTimeout(()=>this._handleHeartbeatFirstTimeout(),e?2e4:5e3*1.2),this._isResponsive||(this._isResponsive=!0,this._onPtyHostResponsive.fire())}_handleHeartbeatFirstTimeout(){this._logService.warn(`No ptyHost heartbeat after ${5e3*1.2/1e3} seconds`),this._heartbeatFirstTimeout=void 0,this._heartbeatSecondTimeout=setTimeout(()=>this._handleHeartbeatSecondTimeout(),5e3*1)}_handleHeartbeatSecondTimeout(){this._logService.error(`No ptyHost heartbeat after ${(5e3*1.2+5e3*1.2)/1e3} seconds`),this._heartbeatSecondTimeout=void 0,this._isResponsive&&(this._isResponsive=!1,this._onPtyHostUnresponsive.fire())}_handleUnresponsiveCreateProcess(){this._clearHeartbeatTimeouts(),this._logService.error(`No ptyHost response to createProcess after ${5e3/1e3} seconds`),this._isResponsive&&(this._isResponsive=!1,this._onPtyHostUnresponsive.fire())}_clearHeartbeatTimeouts(){this._heartbeatFirstTimeout&&(clearTimeout(this._heartbeatFirstTimeout),this._heartbeatFirstTimeout=void 0),this._heartbeatSecondTimeout&&(clearTimeout(this._heartbeatSecondTimeout),this._heartbeatSecondTimeout=void 0)}_resolveVariables(e,n){return this._resolveVariablesRequestStore.createRequest({workspaceId:e,originalText:n})}async acceptPtyHostResolvedVariables(e,n){this._resolveVariablesRequestStore.acceptReply(e,n)}};Ou=C([I(1,mt),I(2,K),I(3,Oo)],Ou)});function iq(r){return{transformIncoming:t=>t.scheme==="vscode-remote"?{scheme:"file",path:t.path,query:t.query,fragment:t.fragment}:t.scheme==="file"?{scheme:"vscode-local",path:t.path,query:t.query,fragment:t.fragment}:t,transformOutgoing:t=>t.scheme==="file"?{scheme:"vscode-remote",authority:r,path:t.path,query:t.query,fragment:t.fragment}:t.scheme==="vscode-local"?{scheme:"file",path:t.path,query:t.query,fragment:t.fragment}:t,transformOutgoingScheme:t=>t==="file"?"vscode-remote":t==="vscode-local"?"file":t}}function zs(r){return new jI(iq(r))}var Gg=y(()=>{nl()});import{exec as nb}from"child_process";import{totalmem as sq}from"os";function Kg(r){return new Promise((t,e)=>{let n,o=new Map,i=sq();function s(l,c,u,p,m){let g=o.get(c);if(l===r||g){let h={name:a(u),cmd:u,pid:l,ppid:c,load:p,mem:te?m:i*(m/100)};o.set(l,h),l===r&&(n=h),g&&(g.children||(g.children=[]),g.children.push(h),g.children.length>1&&(g.children=g.children.sort((v,S)=>v.pid-S.pid)))}}function a(l){let c=/--utility-sub-type=network/i,u=/--crashes-directory/i,p=/conhost\.exe.+--headless/i,m=/--type=([a-zA-Z-]+)/;if(u.exec(l))return"electron-crash-reporter";if(p.exec(l))return"conpty-agent";let g=m.exec(l);if(g&&g.length===2)return g[1]==="renderer"?"window":g[1]==="utility"?c.exec(l)?"utility-network-service":"utility-process":g[1]==="extensionHost"?"extension-host":g[1];if(l.indexOf("node ")<0&&l.indexOf("node.exe")<0){let h="";do g=aq.exec(l),g&&(h+=g+" ");while(g);if(h)return`electron-nodejs (${h.trim()})`}return l}if(process.platform==="win32"){let l=c=>c.indexOf("\\\\?\\")===0||c.indexOf("\\??\\")===0?c.substring(4):c.indexOf('"\\\\?\\')===0||c.indexOf('"\\??\\')===0?'"'+c.substring(5):c;import("@vscode/windows-process-tree").then(c=>{c.getProcessList(r,u=>{if(!u){e(new Error(`Root process ${r} not found`));return}c.getProcessCpuUsage(u,p=>{let m=new Map;p.forEach(g=>{let h=l(g.commandLine||"");m.set(g.pid,{name:a(h),cmd:h,pid:g.pid,ppid:g.ppid,load:g.cpu||0,mem:g.memory||0})}),n=m.get(r),n?(m.forEach(g=>{let h=m.get(g.ppid);h&&(h.children||(h.children=[]),h.children.push(g))}),m.forEach(g=>{g.children&&(g.children=g.children.sort((h,v)=>h.pid-v.pid))}),t(n)):e(new Error(`Root process ${r} not found`))})},c.ProcessDataFlag.CommandLine|c.ProcessDataFlag.Memory)})}else{let l=function(){let c=[n],u=[];for(;c.length;){let m=c.shift();m&&(u.push(m.pid),m.children&&(c=c.concat(m.children)))}let p=JSON.stringify(Tt.asFileUri("vs/base/node/cpuUsage.sh").fsPath);p+=" "+u.join(" "),nb(p,{},(m,g,h)=>{if(m||h)e(m||new Error(h.toString()));else{let v=g.toString().split(`
`);for(let S=0;S<u.length;S++){let T=o.get(u[S]);T.load=parseFloat(v[S])}if(!n){e(new Error(`Root process ${r} not found`));return}t(n)}})};nb("which ps",{},(c,u,p)=>{if(c||p)if(process.platform!=="linux")e(c||new Error(p.toString()));else{let m=JSON.stringify(Tt.asFileUri("vs/base/node/ps.sh").fsPath);nb(m,{},(g,h,v)=>{g||v?e(g||new Error(v.toString())):(LN(h,s),l())})}else{let m=u.toString().trim();nb(`${m} -ax -o pid=,ppid=,pcpu=,pmem=,command=`,{maxBuffer:1e3*1024,env:{LC_NUMERIC:"en_US.UTF-8"}},(h,v,S)=>{h||S&&!S.includes("screen size is bogus")?e(h||new Error(S.toString())):(LN(v,s),process.platform==="linux"?l():n?t(n):e(new Error(`Root process ${r} not found`)))})}})}})}function LN(r,t){let e=/^\s*([0-9]+)\s+([0-9]+)\s+([0-9]+\.[0-9]+)\s+([0-9]+\.[0-9]+)\s+(.+)$/,n=r.toString().split(`
`);for(let o of n){let i=e.exec(o.trim());i&&i.length===6&&t(parseInt(i[1]),parseInt(i[2]),i[5],parseFloat(i[3]),parseFloat(i[4]))}}var aq,SR=y(()=>{Ne();me();aq=/[a-zA-Z-]+\.js\b/g});function xR(r){let t=r;return!!t?.hostName&&!!t?.errorMessage}var lq,TPe,ON=y(()=>{X();lq="diagnosticsService",TPe=D(lq)});import*as UN from"fs";import*as Pn from"os";async function jg(r,t,e){let n=`${r}::${t.join(":")}::${e?.unbounded?"unbounded":"bounded"}`;if(e?.skipCache)CR.delete(n);else{let u=CR.get(n);if(u)return u}let o=[{tag:"grunt.js",filePattern:/^gruntfile\.js$/i},{tag:"gulp.js",filePattern:/^gulpfile\.js$/i},{tag:"tsconfig.json",filePattern:/^tsconfig\.json$/i},{tag:"package.json",filePattern:/^package\.json$/i},{tag:"jsconfig.json",filePattern:/^jsconfig\.json$/i},{tag:"tslint.json",filePattern:/^tslint\.json$/i},{tag:"eslint.json",filePattern:/^eslint\.json$/i},{tag:"tasks.json",filePattern:/^tasks\.json$/i},{tag:"launch.json",filePattern:/^launch\.json$/i},{tag:"mcp.json",filePattern:/^mcp\.json$/i},{tag:"settings.json",filePattern:/^settings\.json$/i},{tag:"webpack.config.js",filePattern:/^webpack\.config\.js$/i},{tag:"project.json",filePattern:/^project\.json$/i},{tag:"makefile",filePattern:/^makefile$/i},{tag:"sln",filePattern:/^.+\.sln$/i},{tag:"csproj",filePattern:/^.+\.csproj$/i},{tag:"cmake",filePattern:/^.+\.cmake$/i},{tag:"github-actions",filePattern:/^.+\.ya?ml$/i,relativePathPattern:/^\.github(?:\/|\\)workflows$/i},{tag:"devcontainer.json",filePattern:/^devcontainer\.json$/i},{tag:"dockerfile",filePattern:/^(dockerfile|docker\-compose\.ya?ml)$/i},{tag:"cursorrules",filePattern:/^\.cursorrules$/i},{tag:"cursorrules-dir",filePattern:/\.mdc$/i,relativePathPattern:/^\.cursor[\/\\]rules$/i},{tag:"github-instructions-dir",filePattern:/\.instructions\.md$/i,relativePathPattern:/^\.github[\/\\]instructions$/i},{tag:"github-prompts-dir",filePattern:/\.prompt\.md$/i,relativePathPattern:/^\.github[\/\\]prompts$/i},{tag:"clinerules",filePattern:/^\.clinerules$/i},{tag:"clinerules-dir",filePattern:/\.md$/i,relativePathPattern:/^\.clinerules$/i},{tag:"agent.md",filePattern:/^agent\.md$/i},{tag:"agents.md",filePattern:/^agents\.md$/i},{tag:"claude.md",filePattern:/^claude\.md$/i},{tag:"claude-settings",filePattern:/^settings\.json$/i,relativePathPattern:/^\.claude$/i},{tag:"claude-settings-local",filePattern:/^settings\.local\.json$/i,relativePathPattern:/^\.claude$/i},{tag:"claude-mcp",filePattern:/^mcp\.json$/i,relativePathPattern:/^\.claude$/i},{tag:"claude-commands-dir",filePattern:/\.md$/i,relativePathPattern:/^\.claude[\/\\]commands$/i},{tag:"claude-skills-dir",filePattern:/^SKILL\.md$/i,relativePathPattern:/^\.claude[\/\\]skills[\/\\]/i},{tag:"claude-rules-dir",filePattern:/\.md$/i,relativePathPattern:/^\.claude[\/\\]rules$/i},{tag:"gemini.md",filePattern:/^gemini\.md$/i},{tag:"copilot-instructions.md",filePattern:/^copilot\-instructions\.md$/i,relativePathPattern:/^\.github$/i}],i=new Map,s=new Map,a=e?.unbounded?Number.POSITIVE_INFINITY:2e4;function l(u,p,m,g){let h=p.substring(u.length+1);return In.withAsyncBody(async v=>{if(g.count>=a){g.maxReached=!0,v();return}let S;g.readdirCount++;try{S=await ke.readdir(p,{withFileTypes:!0})}catch{v();return}if(g.count>=a){g.maxReached=!0,v();return}let T=S.length;if(T===0){v();return}for(let E of S)if(E.isDirectory()){if(m.includes(E.name)||await l(u,G(p,E.name),m,g),--T===0){v();return}}else{if(g.count>=a){g.maxReached=!0,v();return}g.count++;let k=E.name.lastIndexOf("."),P;k>=0&&(P=E.name.substring(k+1)||void 0),i.set(P??Uu,(i.get(P??Uu)??0)+1);for(let U of o)U.relativePathPattern?.test(h)!==!1&&U.filePattern.test(E.name)&&s.set(U.tag,(s.get(U.tag)??0)+1);if(--T===0){v();return}}})}let c=In.withAsyncBody(async u=>{let p={count:0,maxReached:!1,readdirCount:0},m=new ho(!0);await l(r,r,t,p);let g=await cq(r);u({configFiles:ER(s),fileTypes:ER(i),fileCount:p.count,maxFilesReached:p.maxReached,launchConfigFiles:g,totalScanTime:m.elapsed(),totalReaddirCount:p.readdirCount})});return CR.set(n,c),c}function ER(r){return Array.from(r.entries(),([t,e])=>({name:t,count:e})).sort((t,e)=>e.count-t.count)}function wR(){let r={os:`${Pn.type()} ${Pn.arch()} ${Pn.release()}`,memory:`${(Pn.totalmem()/hi.GB).toFixed(2)}GB (${(Pn.freemem()/hi.GB).toFixed(2)}GB free)`,vmHint:`${Math.round(uR.value()*100)}%`},t=Pn.cpus();return t&&t.length>0&&(r.cpus=`${t[0].model} (${t.length} x ${t[0].speed})`),r}async function cq(r){try{let t=new Map,e=G(r,".vscode","launch.json"),n=await UN.promises.readFile(e),o=[],i=ur(n.toString(),o);if(o.length)return console.log(`Unable to parse ${e}`),[];if(Da(i)==="object"&&i.configurations)for(let s of i.configurations){let a=s.type;a&&(t.has(a)?t.set(a,t.get(a)+1):t.set(a,1))}return ER(t)}catch{return[]}}var CR,Uu,ob,NN=y(()=>{Me();Qr();Ne();Ue();me();ya();ie();pR();Ao();SR();ON();it();Fn();Rn();CR=new Map,Uu="\0no-extension";ob=class{constructor(t,e){this.telemetryService=t;this.productService=e}formatMachineInfo(t){let e=[];return e.push(`OS Version:       ${t.os}`),e.push(`CPUs:             ${t.cpus}`),e.push(`Memory (System):  ${t.memory}`),e.push(`VM:               ${t.vmHint}`),e.join(`
`)}formatEnvironment(t){let e=[];e.push(`Version:          ${this.productService.nameShort} ${this.productService.version} (${this.productService.commit||"Commit unknown"}, ${this.productService.date||"Date unknown"})`),e.push(`OS Version:       ${Pn.type()} ${Pn.arch()} ${Pn.release()}`);let n=Pn.cpus();return n&&n.length>0&&e.push(`CPUs:             ${n[0].model} (${n.length} x ${n[0].speed})`),e.push(`Memory (System):  ${(Pn.totalmem()/hi.GB).toFixed(2)}GB (${(Pn.freemem()/hi.GB).toFixed(2)}GB free)`),te||e.push(`Load (avg):       ${Pn.loadavg().map(o=>Math.round(o)).join(", ")}`),e.push(`VM:               ${Math.round(uR.value()*100)}%`),e.push(`Screen Reader:    ${t.screenReader?"yes":"no"}`),e.push(`Process Argv:     ${t.mainArguments.join(" ")}`),e.push(`GPU Status:       ${this.expandGPUFeatures(t.gpuFeatureStatus)}`),t.gpuLogMessages&&t.gpuLogMessages.length>0&&(e.push("GPU Log Messages:"),t.gpuLogMessages.forEach(o=>{e.push(`${o.header}: ${o.message}`)})),e.join(`
`)}async getPerformanceInfo(t,e,n){return Promise.all([Kg(t.mainPID),this.formatWorkspaceMetadata(t,n)]).then(async o=>{let[i,s]=o,a=this.formatProcessList(t,i);return e.forEach(l=>{if(xR(l))a+=`
${l.errorMessage}`,s+=`
${l.errorMessage}`;else if(a+=`

Remote: ${l.hostName}`,l.processes&&(a+=`
${this.formatProcessList(t,l.processes)}`),l.workspaceMetadata){s+=`
|  Remote: ${l.hostName}`;for(let c of Object.keys(l.workspaceMetadata)){let u=l.workspaceMetadata[c],p=`${u.fileCount} files`;u.maxFilesReached&&(p=`more than ${p}`),s+=`|    Folder (${c}): ${p}`,s+=this.formatWorkspaceStats(u)}}}),{processInfo:a,workspaceInfo:s}})}async getSystemInfo(t,e){let{memory:n,vmHint:o,os:i,cpus:s}=wR(),a={os:i,memory:n,cpus:s,vmHint:o,processArgs:`${t.mainArguments.join(" ")}`,gpuStatus:t.gpuFeatureStatus,screenReader:`${t.screenReader?"yes":"no"}`,remoteData:e};return te||(a.load=`${Pn.loadavg().map(l=>Math.round(l)).join(", ")}`),qe&&(a.linuxEnv={desktopSession:process.env.DESKTOP_SESSION,xdgSessionDesktop:process.env.XDG_SESSION_DESKTOP,xdgCurrentDesktop:process.env.XDG_CURRENT_DESKTOP,xdgSessionType:process.env.XDG_SESSION_TYPE}),Promise.resolve(a)}async getDiagnostics(t,e){let n=[];return Kg(t.mainPID).then(async o=>(n.push(""),n.push(this.formatEnvironment(t)),n.push(""),n.push(this.formatProcessList(t,o)),t.windows.some(i=>i.folderURIs&&i.folderURIs.length>0&&!i.remoteAuthority)&&(n.push(""),n.push("Workspace Stats: "),n.push(await this.formatWorkspaceMetadata(t))),e.forEach(i=>{if(xR(i))n.push(`
${i.errorMessage}`);else if(n.push(`

`),n.push(`Remote:           ${i.hostName}`),n.push(this.formatMachineInfo(i.machineInfo)),i.processes&&n.push(this.formatProcessList(t,i.processes)),i.workspaceMetadata)for(let s of Object.keys(i.workspaceMetadata)){let a=i.workspaceMetadata[s],l=`${a.fileCount} files`;a.maxFilesReached&&(l=`more than ${l}`),n.push(`Folder (${s}): ${l}`),n.push(this.formatWorkspaceStats(a))}}),n.push(""),n.push(""),n.join(`
`)))}formatWorkspaceStats(t){let e=[],o=0,i=(m,g)=>{let h=` ${m}(${g})`;o+h.length>60?(e.push(s),s="|                 ",o=s.length):o+=h.length,s+=h},s="|      File types:",a=10,l=t.fileTypes.filter(m=>m.name!==Uu),c=t.fileTypes.filter(m=>m.name===Uu).reduce((m,g)=>m+g.count,0),u=Math.min(l.length,a);for(let m=0;m<u;m++){let g=l[m];i(g.name,g.count)}let p=c;for(let m=u;m<l.length;m++)p+=l[m].count;if(p>0&&i("other",p),e.push(s),t.configFiles.length>=0&&(s="|      Conf files:",o=0,t.configFiles.forEach(m=>{i(m.name,m.count)}),e.push(s)),t.launchConfigFiles.length>0){let m="|      Launch Configs:";t.launchConfigFiles.forEach(g=>{let h=g.count>1?` ${g.name}(${g.count})`:` ${g.name}`;m+=h}),e.push(m)}return e.join(`
`)}expandGPUFeatures(t){let e=Math.max(...Object.keys(t).map(n=>n.length));return Object.keys(t).map(n=>`${n}:  ${" ".repeat(e-n.length)}  ${t[n]}`).join(`
                  `)}formatWorkspaceMetadata(t,e){let n=[],o=[];return t.windows.forEach(i=>{i.folderURIs.length===0||i.remoteAuthority||(n.push(`|  Window (${i.title})`),i.folderURIs.forEach(s=>{let a=b.revive(s);if(a.scheme===$.file){let l=a.fsPath;o.push(jg(l,["node_modules",".git"],e).then(c=>{let u=`${c.fileCount} files`;c.maxFilesReached&&(u=`more than ${u}`),n.push(`|    Folder (${vt(l)}): ${u}`),n.push(this.formatWorkspaceStats(c))}).catch(c=>{n.push(`|      Error: Unable to collect workspace stats for folder ${l} (${c.toString()})`)}))}else n.push(`|    Folder (${a.toString()}): Workspace stats not available.`)}))}),Promise.all(o).then(i=>n.join(`
`)).catch(i=>`Unable to collect workspace stats: ${i}`)}formatProcessList(t,e){let n=new Map;t.windows.forEach(i=>n.set(i.pid,`window [${i.id}] (${i.title})`)),t.pidToNames.forEach(({pid:i,name:s})=>n.set(i,s));let o=[];return o.push("CPU %	Mem MB	   PID	Process"),e&&this.formatProcessItem(t.mainPID,n,o,e,0),o.join(`
`)}formatProcessItem(t,e,n,o,i){let s=i===0,a;s?a=o.pid===t?this.productService.applicationName:"remote-server":e.has(o.pid)?a=e.get(o.pid):a=`${"  ".repeat(i)} ${o.name}`;let l=process.platform==="win32"?o.mem:Pn.totalmem()*(o.mem/100);n.push(`${o.load.toFixed(0).padStart(5," ")}	${(l/hi.MB).toFixed(0).padStart(6," ")}	${o.pid.toFixed(0).padStart(6," ")}	${a}`),Array.isArray(o.children)&&o.children.forEach(c=>this.formatProcessItem(t,e,n,c,i+1))}async getWorkspaceFileExtensions(t){let e=new Set;for(let{uri:n}of t.folders){let o=b.revive(n);if(o.scheme!==$.file)continue;let i=o.fsPath;try{(await jg(i,["node_modules",".git"])).fileTypes.forEach(a=>{a.name!==Uu&&e.add(a.name)})}catch{}}return{extensions:[...e]}}async reportWorkspaceStats(t){for(let{uri:e}of t.folders){let n=b.revive(e);if(n.scheme!==$.file)continue;let o=n.fsPath;try{let i=await jg(o,["node_modules",".git"]);this.telemetryService.publicLog2("workspace.stats",{"workspace.id":t.telemetryId,rendererSessionId:t.rendererSessionId}),i.fileTypes.forEach(s=>{s.name!==Uu&&this.telemetryService.publicLog2("workspace.stats.file",{rendererSessionId:t.rendererSessionId,type:s.name,count:s.count})}),i.launchConfigFiles.forEach(s=>{this.telemetryService.publicLog2("workspace.stats.launchConfigFile",{rendererSessionId:t.rendererSessionId,type:s.name,count:s.count})}),i.configFiles.forEach(s=>{this.telemetryService.publicLog2("workspace.stats.configFiles",{rendererSessionId:t.rendererSessionId,type:s.name,count:s.count})}),this.telemetryService.publicLog2("workspace.stats.metadata",{duration:i.totalScanTime,reachedLimit:i.maxFilesReached,fileCount:i.fileCount,readdirCount:i.totalReaddirCount})}catch{}}}};ob=C([I(0,Ct),I(1,Be)],ob)});var rb,FN=y(()=>{me();Wr();ie();Gg();nl();SR();NN();Ue();Ng();Rt();rb=class r{constructor(t,e,n,o,i){this._connectionToken=t;this._environmentService=e;this._userDataProfilesService=n;this._extensionHostStatusService=o;this._logService=i}static{this._namePool=1}async call(t,e,n){switch(e){case"getEnvironmentData":{let o=n,i=zs(o.remoteAuthority),s=await this._getEnvironmentData(o.profile);return s=Mr(s,i),s}case"getExtensionHostExitInfo":{let o=n;return this._extensionHostStatusService.getExitInfo(o.reconnectionToken)}case"getDiagnosticInfo":{let o=n,i={machineInfo:wR()},s=o.includeProcesses?Kg(process.pid):Promise.resolve(),a=[],l={};if(o.folders){let c=zs("");a=o.folders.map(p=>b.revive(c.transformIncoming(p))).filter(p=>p.scheme==="file").map(p=>jg(p.fsPath,["node_modules",".git"]).then(m=>{l[vt(p.fsPath)]=m}))}return Promise.all([s,...a]).then(([c,u])=>(i.processes=c||void 0,i.workspaceMetadata=o.folders?l:void 0,i))}}throw new Error(`IPC Command ${e} not found`)}listen(t,e,n){throw new Error("Not supported")}async _getEnvironmentData(t){t&&!this._userDataProfilesService.profiles.some(n=>n.id===t)&&await this._userDataProfilesService.createProfile(t,t);let e=!1;if(process.platform==="linux"){let n=process.glibcVersion;e=(n?parseInt(n.split(".")[1]):28)<=27||!!process.env.VSCODE_SERVER_CUSTOM_GLIBC_LINKER}return this._logService.trace(`[reconnection-grace-time] Server sending grace time to client: ${this._environmentService.reconnectionGraceTime}ms (${Math.floor(this._environmentService.reconnectionGraceTime/1e3)}s)`),{pid:process.pid,connectionToken:this._connectionToken.type!==0?this._connectionToken.value:"",appRoot:b.file(this._environmentService.appRoot),execPath:process.execPath,tmpDir:this._environmentService.tmpDir,settingsPath:this._environmentService.machineSettingsResource,mcpResource:this._environmentService.mcpResource,logsPath:this._environmentService.logsHome,extensionHostLogsPath:fe(this._environmentService.logsHome,`exthost${r._namePool++}`),globalStorageHome:this._userDataProfilesService.defaultProfile.globalStorageHome,workspaceStorageHome:this._environmentService.workspaceStorageHome,localHistoryHome:this._environmentService.localHistoryHome,userHome:this._environmentService.userHome,os:or,arch:process.arch,marks:J1(),useHostProxy:!!this._environmentService.args["use-host-proxy"],profiles:{home:this._userDataProfilesService.profilesHome,all:[...this._userDataProfilesService.profiles].map(n=>({...n}))},isUnsupportedGlibc:e,reconnectionGraceTime:this._environmentService.reconnectionGraceTime}}}});var ib,sb,VN=y(()=>{de();Rg();Q();ze();md();jt();ib=class extends _{constructor(e,n){super();this.provider=e;this.logService=n;this.sessionToWatcher=new Map;this.watchRequests=new Map}call(e,n,o){let i=this.getUriTransformer(e);switch(n){case"stat":return this.stat(i,o[0]);case"realpath":return this.realpath(i,o[0]);case"readdir":return this.readdir(i,o[0]);case"open":return this.open(i,o[0],o[1]);case"close":return this.close(o[0]);case"read":return this.read(o[0],o[1],o[2]);case"readFile":return this.readFile(i,o[0],o[1]);case"write":return this.write(o[0],o[1],o[2],o[3],o[4]);case"writeFile":return this.writeFile(i,o[0],o[1],o[2]);case"rename":return this.rename(i,o[0],o[1],o[2]);case"copy":return this.copy(i,o[0],o[1],o[2]);case"cloneFile":return this.cloneFile(i,o[0],o[1]);case"mkdir":return this.mkdir(i,o[0]);case"delete":return this.delete(i,o[0],o[1]);case"watch":return this.watch(i,o[0],o[1],o[2],o[3]);case"unwatch":return this.unwatch(o[0],o[1])}throw new Error(`IPC Command ${n} not found`)}listen(e,n,o){let i=this.getUriTransformer(e);switch(n){case"fileChange":return this.onFileChange(i,o[0]);case"readFileStream":return this.onReadFileStream(i,o[0],o[1])}throw new Error(`Unknown event ${n}`)}stat(e,n){let o=this.transformIncoming(e,n,!0);return this.provider.stat(o)}realpath(e,n){let o=this.transformIncoming(e,n,!0);return this.provider.realpath(o)}readdir(e,n){let o=this.transformIncoming(e,n);return this.provider.readdir(o)}async readFile(e,n,o){let i=this.transformIncoming(e,n,!0);this.logService.trace(`File action: readFile ${i.path}`);let s=await this.provider.readFile(i,o);return L.wrap(s)}onReadFileStream(e,n,o){let i=this.transformIncoming(e,n,!0),s=new xt,a=new w({onDidRemoveLastListener:()=>{s.cancel()}});this.logService.trace(`File action: readFileStream ${i.path}`);let l=this.provider.readFileStream(i,o,s.token);return pd(l,{onData:c=>a.fire(L.wrap(c)),onError:c=>a.fire(c),onEnd:()=>{a.fire("end"),a.dispose(),s.dispose()}}),a.event}writeFile(e,n,o,i){let s=this.transformIncoming(e,n);return this.logService.trace(`File action: writeFile ${s.path}`),this.provider.writeFile(s,o.buffer,i)}open(e,n,o){let i=this.transformIncoming(e,n,!0);return this.provider.open(i,o)}close(e){return this.provider.close(e)}async read(e,n,o){let i=L.alloc(o),a=await this.provider.read(e,n,i.buffer,0,o);return[i,a]}write(e,n,o,i,s){return this.provider.write(e,n,o.buffer,i,s)}mkdir(e,n){let o=this.transformIncoming(e,n);return this.provider.mkdir(o)}delete(e,n,o){let i=this.transformIncoming(e,n);return this.provider.delete(i,o)}rename(e,n,o,i){let s=this.transformIncoming(e,n),a=this.transformIncoming(e,o);return this.provider.rename(s,a,i)}copy(e,n,o,i){let s=this.transformIncoming(e,n),a=this.transformIncoming(e,o);return this.provider.copy(s,a,i)}cloneFile(e,n,o){let i=this.transformIncoming(e,n),s=this.transformIncoming(e,o);return this.provider.cloneFile(i,s)}onFileChange(e,n){let o=new w({onWillAddFirstListener:()=>{this.sessionToWatcher.set(n,this.createSessionFileWatcher(e,o))},onDidRemoveLastListener:()=>{Kt(this.sessionToWatcher.get(n)),this.sessionToWatcher.delete(n)}});return o.event}async watch(e,n,o,i,s){let a=this.sessionToWatcher.get(n);if(a){let l=this.transformIncoming(e,i),c=a.watch(o,l,s);this.watchRequests.set(n+o,c)}}async unwatch(e,n){let o=e+n,i=this.watchRequests.get(o);i&&(Kt(i),this.watchRequests.delete(o))}dispose(){super.dispose();for(let[,e]of this.watchRequests)e.dispose();this.watchRequests.clear();for(let[,e]of this.sessionToWatcher)e.dispose();this.sessionToWatcher.clear()}},sb=class extends _{constructor(e,n,o,i){super();this.uriTransformer=e;this.environmentService=i;this.watcherRequests=new Map;this.fileWatcher=this._register(new Ji(o)),this.registerListeners(n)}registerListeners(e){let n=this._register(new w);this._register(n.event(o=>{e.fire(o.map(i=>({resource:this.uriTransformer.transformOutgoingURI(i.resource),type:i.type,cId:i.cId})))})),this._register(this.fileWatcher.onDidChangeFile(o=>n.fire(o))),this._register(this.fileWatcher.onDidWatchError(o=>e.fire(o)))}getRecursiveWatcherOptions(e){}getExtraExcludes(e){}watch(e,n,o){let i=this.getExtraExcludes(this.environmentService);return Array.isArray(i)&&(o.excludes=[...o.excludes,...i]),this.watcherRequests.set(e,this.fileWatcher.watch(n,o)),oe(()=>{Kt(this.watcherRequests.get(e)),this.watcherRequests.delete(e)})}dispose(){for(let[,e]of this.watcherRequests)e.dispose();this.watcherRequests.clear(),super.dispose()}}});var ab,RR,HN=y(()=>{ie();Gg();Rg();Ue();VN();ab=class extends ib{constructor(e,n,o){super(new Ji(e),e);this.environmentService=n;this.configurationService=o;this.uriTransformerCache=new Map;this._register(this.provider)}getUriTransformer(e){let n=this.uriTransformerCache.get(e.remoteAuthority);return n||(n=zs(e.remoteAuthority),this.uriTransformerCache.set(e.remoteAuthority,n)),n}transformIncoming(e,n,o=!1){if(o&&n.path==="/vscode-resource"&&n.query){let i=JSON.parse(n.query).requestResourcePath;return b.from({scheme:"file",path:i})}return b.revive(e.transformIncoming(n))}createSessionFileWatcher(e,n){return new RR(e,n,this.logService,this.environmentService,this.configurationService)}},RR=class extends sb{constructor(t,e,n,o,i){super(t,e,n,o)}getRecursiveWatcherOptions(t){let e=t.args["file-watcher-polling"];if(e){let n=e.split(pa),o=Number(n[0]);if(o>0)return{usePolling:n.length>1?n.slice(1):!0,pollingInterval:o}}}getExtraExcludes(t){if(t.extensionsPath)return[He.join(t.extensionsPath,"**")]}}});var lb,WN=y(()=>{Q();Rn();lb=class extends _{constructor(e,n){super();this.telemetryService=e;this.telemetryAppender=n}async call(e,n,o){switch(n){case"updateTelemetryLevel":{let{telemetryLevel:i}=o;return this.telemetryService.updateInjectedTelemetryLevel(i)}case"logTelemetry":{let{eventName:i,data:s}=o;return this.telemetryAppender?this.telemetryAppender.log(i,s):Promise.resolve()}case"flushTelemetry":return this.telemetryAppender?this.telemetryAppender.flush():Promise.resolve();case"ping":return}throw new Error(`IPC Command ${n} not found`)}listen(e,n,o){throw new Error("Not supported")}dispose(){this.telemetryService.updateInjectedTelemetryLevel(0),super.dispose()}}});function dq(){let r=d(3061,null,rt.nameLong),t=rt.privacyStatementUrl?d(3047,null,"https://aka.ms/vscode-telemetry",rt.privacyStatementUrl):d(3048,null,"https://aka.ms/vscode-telemetry"),e=pn?"":d(3053,null),n=d(3046,null),o=d(3051,null),i=d(3062,null),s=d(3060,null),a=`
|       | ${n} | ${o} | ${i} |
|:------|:-------------:|:---------------:|:----------:|
| all   |       \u2713       |        \u2713        |     \u2713      |
| error |       \u2713       |        \u2713        |     -      |
| crash |       \u2713       |        -        |     -      |
| off   |       -       |        -        |     -      |
`,l=d(3056,null);return`
${r} ${t} ${e}

&nbsp;

${s}
${a}

&nbsp;

${l}
`}var es,uq,BN=y(()=>{Q();en();me();ng();Ot();le();tn();gi();ks();Fn();Uo();Rn();Zr();es=class{constructor(t,e,n){this._productService=n;this._experimentProperties={};this._pendingEvents=[];this._isExperimentPropertySet=!1;this._disposables=new re;this._cleanupPatterns=[];this._appenders=t.appenders,this._commonProperties=t.commonProperties??Object.create(null),this.sessionId=this._commonProperties.sessionID,this.machineId=this._commonProperties["common.machineId"],this.sqmId=this._commonProperties["common.sqmId"],this.devDeviceId=this._commonProperties["common.devDeviceId"],this.firstSessionDate=this._commonProperties["common.firstSessionDate"],this.msftInternal=this._commonProperties["common.msftInternal"],this._piiPaths=t.piiPaths||[],this._telemetryLevel=3,this._sendErrorTelemetry=!!t.sendErrorTelemetry,this._meteredConnectionService=t.meteredConnectionService,this._cleanupPatterns=[/(vscode-)?file:\/\/.*?\/resources\/app\//gi];for(let o of this._piiPaths)this._cleanupPatterns.push(new RegExp(Mo(o),"gi")),o.indexOf("\\")>=0&&this._cleanupPatterns.push(new RegExp(Mo(o.replace(/\\/g,"/")),"gi"));if(t.telemetryLevel!==void 0)this._updateTelemetryLevel(t.telemetryLevel);else{if(!e)throw new Error("TelemetryService requires a configuration service or a fixed telemetry level.");this._updateTelemetryLevel(eg(e)),this._disposables.add(e.onDidChangeConfiguration(o=>{(o.affectsConfiguration(Fd)||o.affectsConfiguration(Xm)||o.affectsConfiguration(dy))&&this._updateTelemetryLevel(eg(e))}))}t.waitForExperimentProperties?this._flushTimeout=setTimeout(()=>this._flushPendingEvents(),es.BUFFER_FLUSH_TIMEOUT):this._isExperimentPropertySet=!0}static{this.IDLE_START_EVENT_NAME="UserIdleStart"}static{this.IDLE_STOP_EVENT_NAME="UserIdleStop"}static{this.BUFFER_FLUSH_TIMEOUT=1e4}static{this.MAX_BUFFER_SIZE=1e3}static createWithLevel(t,e){return new es(t,void 0,e)}setExperimentProperty(t,e){this._experimentProperties[t]=new Xr(e),this._isExperimentPropertySet||this._flushPendingEvents()}setCommonProperty(t,e){this._commonProperties[t]=e}_flushPendingEvents(){if(!this._isExperimentPropertySet){this._isExperimentPropertySet=!0,this._flushTimeout!==void 0&&(clearTimeout(this._flushTimeout),this._flushTimeout=void 0);for(let t of this._pendingEvents)this._doLog(t.eventName,t.eventLevel,t.data);this._pendingEvents=[]}}_updateTelemetryLevel(t){let e=this._productService.enabledTelemetryLevels;if(e){this._sendErrorTelemetry=this.sendErrorTelemetry?e.error:!1;let n=e.usage?3:e.error?2:0;t=Math.min(t,n)}this._telemetryLevel=t}get sendErrorTelemetry(){return this._sendErrorTelemetry}get telemetryLevel(){return this._telemetryLevel}dispose(){this._flushPendingEvents(),this._disposables.dispose()}_log(t,e,n){if(!(this._telemetryLevel<e)&&!this._meteredConnectionService?.isConnectionMetered){if(!this._isExperimentPropertySet){this._pendingEvents.length<es.MAX_BUFFER_SIZE&&this._pendingEvents.push({eventName:t,eventLevel:e,data:n});return}this._doLog(t,e,n)}}_doLog(t,e,n){n=Rs(n,this._experimentProperties),n=tg(n,this._cleanupPatterns),n=Rs(n,this._commonProperties),e===2&&(n={...n,isError:!0}),this._appenders.forEach(o=>o.log(t,n??{}))}publicLog(t,e){this._log(t,3,e)}publicLog2(t,e){this.publicLog(t,e)}publicLogError(t,e){this._sendErrorTelemetry&&this._log(t,2,e)}publicLogError2(t,e){this.publicLogError(t,e)}};es=C([I(1,mt),I(2,Be)],es);uq=lt.as(On.Configuration);uq.registerConfiguration({id:sL,order:1,type:"object",title:d(3063,null),properties:{[Fd]:{type:"string",enum:["all","error","crash","off"],enumDescriptions:[d(3055,null),d(3057,null),d(3054,null),d(3058,null)],markdownDescription:dq(),default:"all",restricted:!0,scope:1,tags:["usesOnlineServices","telemetry"],policy:{name:"TelemetryLevel",category:"Telemetry",minimumVersion:"1.99",localization:{description:{key:"telemetry.telemetryLevel.policyDescription",value:d(3059,null)},enumDescriptions:[{key:"telemetry.telemetryLevel.default",value:d(3055,null)},{key:"telemetry.telemetryLevel.error",value:d(3057,null)},{key:"telemetry.telemetryLevel.crash",value:d(3054,null)},{key:"telemetry.telemetryLevel.off",value:d(3058,null)}]}}},"telemetry.feedback.enabled":{type:"boolean",default:!0,description:d(3052,null),policy:{name:"EnableFeedback",category:"Telemetry",minimumVersion:"1.99",localization:{description:{key:"telemetry.feedback.enabled",value:d(3052,null)}}}},[Xm]:{type:"boolean",markdownDescription:rt.privacyStatementUrl?d(3050,null,rt.nameLong,rt.privacyStatementUrl):d(3049,null,rt.nameLong),default:!0,restricted:!0,markdownDeprecationMessage:d(3045,null,`\`#${Fd}#\``),scope:1,tags:["usesOnlineServices","telemetry"]}}})});var Nu,$N,cb,qN=y(()=>{tn();X();Fn();Rn();BN();Zr();Nu=class extends es{constructor(t,e,n,o){super(t,n,o),this._injectedTelemetryLevel=e}get telemetryLevel(){return Math.min(super.telemetryLevel,this._injectedTelemetryLevel)}publicLog(t,e){if(!(this._injectedTelemetryLevel<3))return super.publicLog(t,e)}publicLog2(t,e){return this.publicLog(t,e)}publicLogError(t,e){return this._injectedTelemetryLevel<2?Promise.resolve(void 0):super.publicLogError(t,e)}publicLogError2(t,e){return this.publicLogError(t,e)}async updateInjectedTelemetryLevel(t){if(t===void 0)throw this._injectedTelemetryLevel=0,new Error("Telemetry level cannot be undefined. This will cause infinite looping!");this._injectedTelemetryLevel=Math.min(this._injectedTelemetryLevel,t),this._injectedTelemetryLevel===0&&this.dispose()}};Nu=C([I(2,mt),I(3,Be)],Nu);$N=new class extends Zm{async updateInjectedTelemetryLevel(){}},cb=Ct});function PR(r){let t=ui(r),e=pq[t.toLowerCase()];return Array.isArray(e)?e[0]:e}function kR(r,t){let e=mq.exec(r);return e?`${e[1].toLowerCase()}/${e[2].toLowerCase()}${e[3]??""}`:t?void 0:r}function zN(r){return["application/vnd.code.notebook.stdout","application/vnd.code.notebook.stderr"].includes(r)}var mr,pq,mq,dc=y(()=>{Ue();mr=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list",html:"text/html"}),pq={".aac":"audio/x-aac",".avi":"video/x-msvideo",".bmp":"image/bmp",".flv":"video/x-flv",".gif":"image/gif",".ico":"image/x-icon",".jpe":["image/jpg","image/jpeg"],".jpeg":["image/jpg","image/jpeg"],".jpg":["image/jpg","image/jpeg"],".m1v":"video/mpeg",".m2a":"audio/mpeg",".m2v":"video/mpeg",".m3a":"audio/mpeg",".mid":"audio/midi",".midi":"audio/midi",".mk3d":"video/x-matroska",".mks":"video/x-matroska",".mkv":"video/x-matroska",".mov":"video/quicktime",".movie":"video/x-sgi-movie",".mp2":"audio/mpeg",".mp2a":"audio/mpeg",".mp3":"audio/mpeg",".mp4":"video/mp4",".mp4a":"audio/mp4",".mp4v":"video/mp4",".mpe":"video/mpeg",".mpeg":"video/mpeg",".mpg":"video/mpeg",".mpg4":"video/mp4",".mpga":"audio/mpeg",".oga":"audio/ogg",".ogg":"audio/ogg",".opus":"audio/opus",".ogv":"video/ogg",".png":"image/png",".psd":"image/vnd.adobe.photoshop",".qt":"video/quicktime",".spx":"audio/ogg",".svg":"image/svg+xml",".tga":"image/x-tga",".tif":"image/tiff",".tiff":"image/tiff",".wav":"audio/x-wav",".webm":"video/webm",".webp":"image/webp",".wma":"audio/x-ms-wma",".wmv":"video/x-ms-wmv",".woff":"application/font-woff"};mq=/^(.+)\/(.+?)(;.+)?$/});var GN=y(()=>{Lt()});function se(r){return Object.assign(r,{apply:function(...e){if(e.length===0)return Reflect.construct(r,[]);{let n=e.length===1?[]:e[1];return Reflect.construct(r,n,e[0].constructor)}},call:function(...e){if(e.length===0)return Reflect.construct(r,[]);{let[n,...o]=e;return Reflect.construct(r,o,n.constructor)}}})}var gr=y(()=>{});var to,To,DR=y(()=>{Ns();gr();To=class{constructor(t,e=!1){Qc(this,to);tm(this,to,new Nt(t,{supportThemeIcons:e}))}static isMarkdownString(t){return t instanceof To?!0:!t||typeof t!="object"?!1:t.appendCodeblock&&t.appendMarkdown&&t.appendText&&t.value!==void 0}get value(){return an(this,to).value}set value(t){an(this,to).value=t}get isTrusted(){return an(this,to).isTrusted}set isTrusted(t){an(this,to).isTrusted=t}get supportThemeIcons(){return an(this,to).supportThemeIcons}set supportThemeIcons(t){an(this,to).supportThemeIcons=t}get supportHtml(){return an(this,to).supportHtml}set supportHtml(t){an(this,to).supportHtml=t}get supportAlertSyntax(){return an(this,to).supportAlertSyntax}set supportAlertSyntax(t){an(this,to).supportAlertSyntax=t}get baseUri(){return an(this,to).baseUri}set baseUri(t){an(this,to).baseUri=t}appendText(t){return an(this,to).appendText(t),this}appendMarkdown(t){return an(this,to).appendMarkdown(t),this}appendCodeblock(t,e){return an(this,to).appendCodeblock(e??"",t),this}};to=new WeakMap,To=C([se],To)});var Fe,Fu=y(()=>{Se();gr();Fe=class{static Min(...t){if(t.length===0)throw new TypeError;let e=t[0];for(let n=1;n<t.length;n++){let o=t[n];o.isBefore(e)&&(e=o)}return e}static Max(...t){if(t.length===0)throw new TypeError;let e=t[0];for(let n=1;n<t.length;n++){let o=t[n];o.isAfter(e)&&(e=o)}return e}static isPosition(t){if(!t)return!1;if(t instanceof Fe)return!0;let{line:e,character:n}=t;return typeof e=="number"&&typeof n=="number"}static of(t){if(t instanceof Fe)return t;if(this.isPosition(t))return new Fe(t.line,t.character);throw new Error("Invalid argument, is NOT a position-like object")}get line(){return this._line}get character(){return this._character}constructor(t,e){if(t<0)throw nt("line must be non-negative");if(e<0)throw nt("character must be non-negative");this._line=t,this._character=e}isBefore(t){return this._line<t._line?!0:t._line<this._line?!1:this._character<t._character}isBeforeOrEqual(t){return this._line<t._line?!0:t._line<this._line?!1:this._character<=t._character}isAfter(t){return!this.isBeforeOrEqual(t)}isAfterOrEqual(t){return!this.isBefore(t)}isEqual(t){return this._line===t._line&&this._character===t._character}compareTo(t){return this._line<t._line?-1:this._line>t.line?1:this._character<t._character?-1:this._character>t._character?1:0}translate(t,e=0){if(t===null||e===null)throw nt();let n;return typeof t>"u"?n=0:typeof t=="number"?n=t:(n=typeof t.lineDelta=="number"?t.lineDelta:0,e=typeof t.characterDelta=="number"?t.characterDelta:0),n===0&&e===0?this:new Fe(this.line+n,this.character+e)}with(t,e=this.character){if(t===null||e===null)throw nt();let n;return typeof t>"u"?n=this.line:typeof t=="number"?n=t:(n=typeof t.line=="number"?t.line:this.line,e=typeof t.character=="number"?t.character:this.character),n===this.line&&e===this.character?this:new Fe(n,e)}toJSON(){return{line:this.line,character:this.character}}[Symbol.for("debug.description")](){return`(${this.line}:${this.character})`}};Fe=C([se],Fe)});function _R(r){return r.isEmpty?`[${r.start.line}:${r.start.character})`:`[${r.start.line}:${r.start.character} -> ${r.end.line}:${r.end.character})`}var $e,ts=y(()=>{Se();gr();Fu();$e=class{static isRange(t){return t instanceof $e?!0:!t||typeof t!="object"?!1:Fe.isPosition(t.start)&&Fe.isPosition(t.end)}static of(t){if(t instanceof $e)return t;if(this.isRange(t))return new $e(t.start,t.end);throw new Error("Invalid argument, is NOT a range-like object")}get start(){return this._start}get end(){return this._end}constructor(t,e,n,o){let i,s;if(typeof t=="number"&&typeof e=="number"&&typeof n=="number"&&typeof o=="number"?(i=new Fe(t,e),s=new Fe(n,o)):Fe.isPosition(t)&&Fe.isPosition(e)&&(i=Fe.of(t),s=Fe.of(e)),!i||!s)throw new Error("Invalid arguments");i.isBefore(s)?(this._start=i,this._end=s):(this._start=s,this._end=i)}contains(t){return $e.isRange(t)?this.contains(t.start)&&this.contains(t.end):Fe.isPosition(t)?!(Fe.of(t).isBefore(this._start)||this._end.isBefore(t)):!1}isEqual(t){return this._start.isEqual(t._start)&&this._end.isEqual(t._end)}intersection(t){let e=Fe.Max(t.start,this._start),n=Fe.Min(t.end,this._end);if(!e.isAfter(n))return new $e(e,n)}union(t){if(this.contains(t))return this;if(t.contains(this))return t;let e=Fe.Min(t.start,this._start),n=Fe.Max(t.end,this.end);return new $e(e,n)}get isEmpty(){return this._start.isEqual(this._end)}get isSingleLine(){return this._start.line===this._end.line}with(t,e=this.end){if(t===null||e===null)throw nt();let n;return t?Fe.isPosition(t)?n=t:(n=t.start||this.start,e=t.end||this.end):n=this.start,n.isEqual(this._start)&&e.isEqual(this.end)?this:new $e(n,e)}toJSON(){return[this.start,this.end]}[Symbol.for("debug.description")](){return _R(this)}};$e=C([se],$e)});var _t,KN=y(()=>{gr();_t=class{constructor(t){this.value=t}append(t){return new _t(this.value?this.value+_t.sep+t:t)}intersects(t){return this.contains(t)||t.contains(this)}contains(t){return this.value===t.value||t.value.startsWith(this.value+_t.sep)}};_t.sep=".",_t=C([se],_t);_t.Empty=new _t("");_t.QuickFix=_t.Empty.append("quickfix");_t.Refactor=_t.Empty.append("refactor");_t.RefactorExtract=_t.Refactor.append("extract");_t.RefactorInline=_t.Refactor.append("inline");_t.RefactorMove=_t.Refactor.append("move");_t.RefactorRewrite=_t.Refactor.append("rewrite");_t.Source=_t.Empty.append("source");_t.SourceOrganizeImports=_t.Source.append("organizeImports");_t.SourceFixAll=_t.Source.append("fixAll");_t.Notebook=_t.Empty.append("notebook")});var db,rl,uc,jN=y(()=>{Lt();ie();gr();ts();db=(o=>(o[o.Hint=3]="Hint",o[o.Information=2]="Information",o[o.Warning=1]="Warning",o[o.Error=0]="Error",o))(db||{}),rl=class{static is(t){return t?typeof t.message=="string"&&t.location&&$e.isRange(t.location.range)&&b.isUri(t.location.uri):!1}constructor(t,e){this.location=t,this.message=e}static isEqual(t,e){return t===e?!0:!t||!e?!1:t.message===e.message&&t.location.range.isEqual(e.location.range)&&t.location.uri.toString()===e.location.uri.toString()}};rl=C([se],rl);uc=class{constructor(t,e,n=0){if(!$e.isRange(t))throw new TypeError("range must be set");if(!e)throw new TypeError("message must be set");this.range=t,this.message=e,this.severity=n}toJSON(){return{severity:db[this.severity],message:this.message,range:this.range,source:this.source,code:this.code}}static isEqual(t,e){return t===e?!0:!t||!e?!1:t.message===e.message&&t.severity===e.severity&&t.code===e.code&&t.severity===e.severity&&t.source===e.source&&t.range.isEqual(e.range)&&vn(t.tags,e.tags)&&vn(t.relatedInformation,e.relatedInformation,rl.isEqual)}};uc=C([se],uc)});var Ro,MR=y(()=>{ie();gr();Fu();ts();Ro=class{static isLocation(t){return t instanceof Ro?!0:t?$e.isRange(t.range)&&b.isUri(t.uri):!1}constructor(t,e){if(this.uri=t,e)if($e.isRange(e))this.range=$e.of(e);else if(Fe.isPosition(e))this.range=new $e(e,e);else throw new Error("Illegal argument")}toJSON(){return{uri:this.uri,range:this.range}}};Ro=C([se],Ro)});var Ci,Vu,Qg,fr,Jg,Yg,AR=y(()=>{gr();Se();dc();Jt();Ci=class r{static isNotebookRange(t){return t instanceof r?!0:t?typeof t.start=="number"&&typeof t.end=="number":!1}get start(){return this._start}get end(){return this._end}get isEmpty(){return this._start===this._end}constructor(t,e){if(t<0)throw nt("start must be positive");if(e<0)throw nt("end must be positive");t<=e?(this._start=t,this._end=e):(this._start=e,this._end=t)}with(t){let e=this._start,n=this._end;return t.start!==void 0&&(e=t.start),t.end!==void 0&&(n=t.end),e===this._start&&n===this._end?this:new r(e,n)}},Vu=class r{static validate(t){if(typeof t.kind!="number")throw new Error("NotebookCellData MUST have 'kind' property");if(typeof t.value!="string")throw new Error("NotebookCellData MUST have 'value' property");if(typeof t.languageId!="string")throw new Error("NotebookCellData MUST have 'languageId' property")}static isNotebookCellDataArray(t){return Array.isArray(t)&&t.every(e=>r.isNotebookCellData(e))}static isNotebookCellData(t){return!0}constructor(t,e,n,o,i,s,a){this.kind=t,this.value=e,this.languageId=n,this.mime=o,this.outputs=i??[],this.metadata=s,this.executionSummary=a,r.validate(this)}},Qg=class{constructor(t){this.cells=t}},fr=class{static isNotebookCellEdit(t){return t instanceof fr?!0:t?Ci.isNotebookRange(t)&&Array.isArray(t.newCells):!1}static replaceCells(t,e){return new fr(t,e)}static insertCells(t,e){return new fr(new Ci(t,t),e)}static deleteCells(t){return new fr(t,[])}static updateCellMetadata(t,e){let n=new fr(new Ci(t,t),[]);return n.newCellMetadata=e,n}static updateNotebookMetadata(t){let e=new fr(new Ci(0,0),[]);return e.newNotebookMetadata=t,e}constructor(t,e){this.range=t,this.newCells=e}};fr=C([se],fr);Jg=class r{constructor(t,e){this.data=t;this.mime=e;let n=kR(e,!0);if(!n)throw new Error(`INVALID mime type: ${e}. Must be in the format "type/subtype[;optionalparameter]"`);this.mime=n}static isNotebookCellOutputItem(t){return t instanceof r?!0:t?typeof t.mime=="string"&&t.data instanceof Uint8Array:!1}static error(t){let e={name:t.name,message:t.message,stack:t.stack};return r.json(e,"application/vnd.code.notebook.error")}static stdout(t){return r.text(t,"application/vnd.code.notebook.stdout")}static stderr(t){return r.text(t,"application/vnd.code.notebook.stderr")}static bytes(t,e="application/octet-stream"){return new r(t,e)}static $a=new TextEncoder;static text(t,e=mr.text){let n=r.$a.encode(String(t));return new r(n,e)}static json(t,e="text/x-json"){let n=JSON.stringify(t,void 0,"	");return r.text(n,e)}},Yg=class r{static isNotebookCellOutput(t){return t instanceof r?!0:!t||typeof t!="object"?!1:typeof t.id=="string"&&Array.isArray(t.items)}static ensureUniqueMimeTypes(t,e=!1){let n=new Set,o=new Set;for(let i=0;i<t.length;i++){let s=t[i],a=kR(s.mime);if(!n.has(a)||zN(a)){n.add(a);continue}o.add(i),e&&console.warn(`DUPLICATED mime type '${s.mime}' will be dropped`)}return o.size===0?t:t.filter((i,s)=>!o.has(s))}constructor(t,e,n){this.items=r.ensureUniqueMimeTypes(t,!0),typeof e=="string"?(this.id=e,this.metadata=n):(this.id=ye(),this.metadata=e??n)}}});function gq(r){let t=_R(r);return r.isEmpty||(r.active.isEqual(r.start)?t=`|${t}`:t=`${t}|`),t}var Ei,QN=y(()=>{gr();Fu();ts();Ei=class extends $e{static isSelection(t){return t instanceof Ei?!0:!t||typeof t!="object"?!1:$e.isRange(t)&&Fe.isPosition(t.anchor)&&Fe.isPosition(t.active)&&typeof t.isReversed=="boolean"}get anchor(){return this._anchor}get active(){return this._active}constructor(t,e,n,o){let i,s;if(typeof t=="number"&&typeof e=="number"&&typeof n=="number"&&typeof o=="number"?(i=new Fe(t,e),s=new Fe(n,o)):Fe.isPosition(t)&&Fe.isPosition(e)&&(i=Fe.of(t),s=Fe.of(e)),!i||!s)throw new Error("Invalid arguments");super(i,s),this._anchor=i,this._active=s}get isReversed(){return this._anchor===this._end}toJSON(){return{start:this.start,end:this.end,active:this.active,anchor:this.anchor}}[Symbol.for("debug.description")](){return gq(this)}};Ei=C([se],Ei)});var Fo,LR=y(()=>{gr();Fo=class{constructor(t){this._tabstop=1;this.value=t||""}static isSnippetString(t){return t instanceof Fo?!0:!t||typeof t!="object"?!1:typeof t.value=="string"}static _escape(t){return t.replace(/\$|}|\\/g,"\\$&")}appendText(t){return this.value+=Fo._escape(t),this}appendTabstop(t=this._tabstop++){return this.value+="$",this.value+=t,this}appendPlaceholder(t,e=this._tabstop++){if(typeof t=="function"){let n=new Fo;n._tabstop=this._tabstop,t(n),this._tabstop=n._tabstop,t=n.value}else t=Fo._escape(t);return this.value+="${",this.value+=e,this.value+=":",this.value+=t,this.value+="}",this}appendChoice(t,e=this._tabstop++){let n=t.map(o=>o.replaceAll(/[|\\,]/g,"\\$&")).join(",");return this.value+="${",this.value+=e,this.value+="|",this.value+=n,this.value+="|}",this}appendVariable(t,e){if(typeof e=="function"){let n=new Fo;n._tabstop=this._tabstop,e(n),this._tabstop=n._tabstop,e=n.value}else typeof e=="string"&&(e=e.replace(/\$|}/g,"\\$&"));return this.value+="${",this.value+=t,e&&(this.value+=":",this.value+=e),this.value+="}",this}};Fo=C([se],Fo)});var pc,OR=y(()=>{LR();ts();pc=class r{static isSnippetTextEdit(t){return t instanceof r?!0:t?$e.isRange(t.range)&&Fo.isSnippetString(t.snippet):!1}static replace(t,e){return new r(t,e)}static insert(t,e){return r.replace(new $e(t,t),e)}constructor(t,e){this.range=t,this.snippet=e}}});var ub,Gs,JN=y(()=>{gr();MR();ts();ub=(z=>(z[z.File=0]="File",z[z.Module=1]="Module",z[z.Namespace=2]="Namespace",z[z.Package=3]="Package",z[z.Class=4]="Class",z[z.Method=5]="Method",z[z.Property=6]="Property",z[z.Field=7]="Field",z[z.Constructor=8]="Constructor",z[z.Enum=9]="Enum",z[z.Interface=10]="Interface",z[z.Function=11]="Function",z[z.Variable=12]="Variable",z[z.Constant=13]="Constant",z[z.String=14]="String",z[z.Number=15]="Number",z[z.Boolean=16]="Boolean",z[z.Array=17]="Array",z[z.Object=18]="Object",z[z.Key=19]="Key",z[z.Null=20]="Null",z[z.EnumMember=21]="EnumMember",z[z.Struct=22]="Struct",z[z.Event=23]="Event",z[z.Operator=24]="Operator",z[z.TypeParameter=25]="TypeParameter",z))(ub||{}),Gs=class{static validate(t){if(!t.name)throw new Error("name must not be falsy")}constructor(t,e,n,o,i){this.name=t,this.kind=e,this.containerName=i,typeof n=="string"&&(this.containerName=n),o instanceof Ro?this.location=o:n instanceof $e&&(this.location=new Ro(o,n)),Gs.validate(this)}toJSON(){return{name:this.name,kind:ub[this.kind],location:this.location,containerName:this.containerName}}};Gs=C([se],Gs)});var Po,UR=y(()=>{Se();gr();Fu();ts();Po=class{static isTextEdit(t){return t instanceof Po?!0:!t||typeof t!="object"?!1:$e.isRange(t)&&typeof t.newText=="string"}static replace(t,e){return new Po(t,e)}static insert(t,e){return Po.replace(new $e(t,t),e)}static delete(t){return Po.replace(t,"")}static setEndOfLine(t){let e=new Po(new $e(new Fe(0,0),new Fe(0,0)),"");return e.newEol=t,e}get range(){return this._range}set range(t){if(t&&!$e.isRange(t))throw nt("range");this._range=t}get newText(){return this._newText||""}set newText(t){if(t&&typeof t!="string")throw nt("newText");this._newText=t}get newEol(){return this._newEol}set newEol(t){if(t&&typeof t!="number")throw nt("newEol");this._newEol=t}constructor(t,e){this._range=t,this._newText=e}toJSON(){return{range:this.range,newText:this.newText,newEol:this._newEol}}};Po=C([se],Po)});function pb(r){if(r.scheme!==$.vscodeNotebookCell)return;let t=r.fragment.indexOf("s");if(t<0)return;let e=parseInt(r.fragment.substring(0,t).replace(hq,""),YN),n=dr(r.fragment.substring(t+1)).toString();if(!isNaN(e))return{handle:e,notebook:r.with({scheme:n,fragment:null})}}function XN(r,t){let e=t.toString(YN),o=`${e.length<NR.length?NR[e.length-1]:"z"}${e}s${bo(L.fromString(r.scheme),!0,!0)}`;return r.with({scheme:$.vscodeNotebookCell,fragment:o})}function ZN(r){if(r.scheme!==$.vscodeNotebookMetadata)return;let t=dr(r.fragment).toString();return r.with({scheme:t,fragment:null})}function eF(r){let t=`${bo(L.fromString(r.scheme),!0,!0)}`;return r.with({scheme:$.vscodeNotebookMetadata,fragment:t})}function VR(r){if(r.scheme!==$.vscodeNotebookCellOutput)return;let t=new URLSearchParams(r.query),e=t.get("openIn");if(!e)return;let n=t.get("outputId")??void 0,o=pb(r.with({scheme:$.vscodeNotebookCell,query:null})),i=t.get("outputIndex")?parseInt(t.get("outputIndex")||"",10):void 0,s=o?o.notebook:r.with({scheme:t.get("notebookScheme")||$.file,fragment:null,query:null}),a=t.get("cellIndex")?parseInt(t.get("cellIndex")||"",10):void 0;return{notebook:s,openIn:e,outputId:n,outputIndex:i,cellHandle:o?.handle,cellFragment:r.fragment,cellIndex:a}}var fq,NR,hq,YN,FR,tF=y(()=>{ze();_n();Ne();Iu();X();fq=D("notebookDocumentService"),NR=["W","X","Y","Z","a","b","c","d","e","f"],hq=new RegExp(`^[${NR.join("")}]+`),YN=7;FR=class{constructor(){this._documents=new Xe}getNotebook(t){if(t.scheme===$.vscodeNotebookCell){let e=pb(t);if(e){let n=this._documents.get(e.notebook);if(n)return n}}if(t.scheme===$.vscodeNotebookCellOutput){let e=VR(t);if(e){let n=this._documents.get(e.notebook);if(n)return n}}return this._documents.get(t)}addNotebookDocument(t){this._documents.set(t.uri,t)}removeNotebookDocument(t){this._documents.delete(t.uri)}};Xi(fq,FR,1)});var __e,M_e,vq,HR,A_e,L_e,nF,O_e,yq,U_e,Xg=y(()=>{ze();Zy();Gr();dc();Ne();me();lo();tF();__e=["application/json","application/javascript","text/html","image/svg+xml",mr.latex,mr.markdown,"image/png","image/jpeg",mr.text],M_e=[mr.latex,mr.markdown,"application/json","text/html","image/svg+xml","image/png","image/jpeg",mr.text];(n=>{n.scheme=$.vscodeNotebookMetadata;function t(o){return eF(o)}n.generate=t;function e(o){return ZN(o)}n.parse=e})(vq||={});(c=>{c.scheme=$.vscodeNotebookCell;function t(u,p){return XN(u,p)}c.generate=t;function e(u){return pb(u)}c.parse=e;function n(u,p){return u.with({scheme:$.vscodeNotebookCellOutput,query:new URLSearchParams({openIn:"editor",outputId:p??"",notebookScheme:u.scheme!==$.file?u.scheme:""}).toString()})}c.generateCellOutputUriWithId=n;function o(u,p,m){return u.with({scheme:$.vscodeNotebookCellOutput,fragment:p.fragment,query:new URLSearchParams({openIn:"notebook",outputIndex:String(m)}).toString()})}c.generateCellOutputUriWithIndex=o;function i(u,p,m,g,h){return u.with({scheme:$.vscodeNotebookCellOutput,query:new URLSearchParams({openIn:"notebookOutputEditor",notebook:u.toString(),cellIndex:String(m),outputId:g,outputIndex:String(h)}).toString()})}c.generateOutputEditorUri=i;function s(u){return VR(u)}c.parseCellOutputUri=s;function a(u,p,m){return c.generate(u,p).with({scheme:m})}c.generateCellPropertyUri=a;function l(u,p){if(u.scheme===p)return c.parse(u.with({scheme:c.scheme}))}c.parseCellPropertyUri=l})(HR||={});A_e=new x("notebookEditorCursorAtBoundary","none"),L_e=new x("notebookEditorCursorAtLineBoundary","none"),nF=class r{static{this._prefix="notebook/"}static create(t,e){return`${r._prefix}${t}/${e??t}`}static parse(t){if(t.startsWith(r._prefix)){let e=t.substring(r._prefix.length).split("/");if(e.length===2)return{notebookType:e[0],viewType:e[1]}}}},O_e=new TextDecoder,yq="\x1B[A",U_e=yq.split("").map(r=>r.charCodeAt(0))});var il,rF=y(()=>{Lt();_n();Xg();AR();OR();gr();ts();UR();il=class{constructor(){this._edits=[]}_allEntries(){return this._edits}renameFile(t,e,n,o){this._edits.push({_type:1,from:t,to:e,options:n,metadata:o})}createFile(t,e,n){this._edits.push({_type:1,from:void 0,to:t,options:e,metadata:n})}deleteFile(t,e,n){this._edits.push({_type:1,from:t,to:void 0,options:e,metadata:n})}replaceNotebookMetadata(t,e,n){this._edits.push({_type:3,metadata:n,uri:t,edit:{editType:5,metadata:e}})}replaceNotebookCells(t,e,n,o){let i=e.start,s=e.end;(i!==s||n.length>0)&&this._edits.push({_type:5,uri:t,index:i,count:s-i,cells:n,metadata:o})}replaceNotebookCellMetadata(t,e,n,o){this._edits.push({_type:3,metadata:o,uri:t,edit:{editType:3,index:e,metadata:n}})}replace(t,e,n,o){this._edits.push({_type:2,uri:t,edit:new Po(e,n),metadata:o})}insert(t,e,n,o){this.replace(t,new $e(e,e),n,o)}delete(t,e,n){this.replace(t,e,"",n)}has(t){return this._edits.some(e=>e._type===2&&e.uri.toString()===t.toString())}set(t,e){if(e)for(let n of e){if(!n)continue;let o,i;Array.isArray(n)?(o=n[0],i=n[1]):o=n,fr.isNotebookCellEdit(o)?o.newCellMetadata?this.replaceNotebookCellMetadata(t,o.range.start,o.newCellMetadata,i):o.newNotebookMetadata?this.replaceNotebookMetadata(t,o.newNotebookMetadata,i):this.replaceNotebookCells(t,o.range,o.newCells,i):pc.isSnippetTextEdit(o)?this._edits.push({_type:6,uri:t,range:o.range,edit:o.snippet,metadata:i,keepWhitespace:o.keepWhitespace}):this._edits.push({_type:2,uri:t,edit:o,metadata:i})}else{for(let n=0;n<this._edits.length;n++){let o=this._edits[n];switch(o._type){case 2:case 6:case 3:case 5:o.uri.toString()===t.toString()&&(this._edits[n]=void 0);break}}wM(this._edits)}}get(t){let e=[];for(let n of this._edits)n._type===2&&n.uri.toString()===t.toString()&&e.push(n.edit);return e}entries(){let t=new Xe;for(let e of this._edits)if(e._type===2){let n=t.get(e.uri);n||(n=[e.uri,[]],t.set(e.uri,n)),n[1].push(e.edit)}return[...t.values()]}get size(){return this.entries().length}toJSON(){return this.entries()}};il=C([se],il)});function aF(r){let t="";for(let e=0;e<r.length;e++)t+=r[e].replace(/,/g,",,")+",";return t}function Rf(r){if(r){if(r.covered>r.total)throw new Error(`The total number of covered items (${r.covered}) cannot be greater than the total (${r.total})`);if(r.total<0)throw new Error(`The number of covered items (${r.total}) cannot be negative`)}}var hc,js,ef,Hu,sF,Wu,Bu,Qs,mb,$u,np,Ob,Ub,gb,fb,hb,vb,qu,zu,BR,Gu,yb,Ib,bb,$R,qR,Ku,mc,Sb,ju,ko,tf,nf,WR,Do,wq,Qu,of,op,Nb,Fb,Ks,vc,rf,Ju,xb,ll,Js,Cb,sl,Tq,gc,Eb,wb,Tb,Rb,Pb,kb,Db,Yu,Xu,Zu,ep,tp,uo,_b,Zg,Mb,Vb,Ab,Hb,Lb,al,fc,sf,Wb,Bb,$b,qb,rp,af,lf,zb,cf,df,Gb,uf,pf,mf,gf,Kb,ff,hf,vf,yf,If,bf,jb,Sf,Qb,Jb,Yb,xf,Cf,Xb,Zb,Ef,ns,wf,eS,yc,tS,nS,Ic,Vn,Vo,ip,os,iF,Tf,oS,rS,iS,sS,aS=y(()=>{Lt();ze();Se();ad();dc();Ot();Ee();ie();Jt();GN();Bn();it();NI();gr();DR();ts();KN();jN();MR();DR();AR();Fu();ts();QN();LR();OR();JN();UR();rF();js=class{constructor(t){Qc(this,hc);tm(this,hc,t)}static from(...t){let e=t;return new js(function(){if(e){for(let n of e)n&&typeof n.dispose=="function"&&n.dispose();e=void 0}})}dispose(){typeof an(this,hc)=="function"&&(an(this,hc).call(this),tm(this,hc,void 0))}};hc=new WeakMap,js=C([se],js);ef=class{constructor(t,e){if(!t)throw new Error("Illegal argument, contents must be defined");Array.isArray(t)?this.contents=t:this.contents=[t],this.range=e}};ef=C([se],ef);Hu=class extends ef{constructor(t,e,n,o){super(t,e),this.canIncreaseVerbosity=n,this.canDecreaseVerbosity=o}};Hu=C([se],Hu);sF=(n=>(n[n.Text=0]="Text",n[n.Read=1]="Read",n[n.Write=2]="Write",n))(sF||{}),Wu=class{constructor(t,e=0){this.range=t,this.kind=e}toJSON(){return{range:this.range,kind:sF[this.kind]}}};Wu=C([se],Wu);Bu=class{constructor(t,e){this.uri=t,this.highlights=e}toJSON(){return{uri:this.uri,highlights:this.highlights.map(t=>t.toJSON())}}};Bu=C([se],Bu);Qs=class{static validate(t){if(!t.name)throw new Error("name must not be falsy");if(!t.range.contains(t.selectionRange))throw new Error("selectionRange must be contained in fullRange");t.children?.forEach(Qs.validate)}constructor(t,e,n,o,i){this.name=t,this.detail=e,this.kind=n,this.range=o,this.selectionRange=i,this.children=[],Qs.validate(this)}};Qs=C([se],Qs);mb=class{constructor(t,e){this.title=t,this.kind=e}};mb=C([se],mb);$u=class{constructor(t,e){if(this.range=t,this.parent=e,e&&!e.range.contains(this.range))throw new Error("Invalid argument: parent must contain this range")}};$u=C([se],$u);np=class{constructor(t,e,n,o,i,s){this.kind=t,this.name=e,this.detail=n,this.uri=o,this.range=i,this.selectionRange=s}},Ob=class{constructor(t,e){this.fromRanges=e,this.from=t}},Ub=class{constructor(t,e){this.fromRanges=e,this.to=t}},gb=class{constructor(t,e){this.range=t,this.command=e}get isResolved(){return!!this.command}};gb=C([se],gb);fb=class{constructor(t,e){this.label=t,this.documentation=e}};fb=C([se],fb);hb=class{constructor(t,e){this.label=t,this.documentation=e,this.parameters=[]}};hb=C([se],hb);vb=class{constructor(){this.activeSignature=0;this.activeParameter=0;this.signatures=[]}};vb=C([se],vb);qu=class{constructor(t){this.value=t}};qu=C([se],qu);zu=class{constructor(t,e,n){this.position=t,this.label=e,this.kind=n}};zu=C([se],zu);BR=(ee=>(ee[ee.Text=0]="Text",ee[ee.Method=1]="Method",ee[ee.Function=2]="Function",ee[ee.Constructor=3]="Constructor",ee[ee.Field=4]="Field",ee[ee.Variable=5]="Variable",ee[ee.Class=6]="Class",ee[ee.Interface=7]="Interface",ee[ee.Module=8]="Module",ee[ee.Property=9]="Property",ee[ee.Unit=10]="Unit",ee[ee.Value=11]="Value",ee[ee.Enum=12]="Enum",ee[ee.Keyword=13]="Keyword",ee[ee.Snippet=14]="Snippet",ee[ee.Color=15]="Color",ee[ee.File=16]="File",ee[ee.Reference=17]="Reference",ee[ee.Folder=18]="Folder",ee[ee.EnumMember=19]="EnumMember",ee[ee.Constant=20]="Constant",ee[ee.Struct=21]="Struct",ee[ee.Event=22]="Event",ee[ee.Operator=23]="Operator",ee[ee.TypeParameter=24]="TypeParameter",ee[ee.User=25]="User",ee[ee.Issue=26]="Issue",ee))(BR||{}),Gu=class{constructor(t,e){this.label=t,this.kind=e}toJSON(){return{label:this.label,kind:this.kind&&BR[this.kind],detail:this.detail,documentation:this.documentation,sortText:this.sortText,filterText:this.filterText,preselect:this.preselect,insertText:this.insertText,textEdit:this.textEdit}}};Gu=C([se],Gu);yb=class{constructor(t=[],e=!1){this.items=t,this.isIncomplete=e}};yb=C([se],yb);Ib=class{constructor(t,e,n){this.insertText=t,this.range=e,this.command=n}};Ib=C([se],Ib);bb=class{constructor(t){this.commands=void 0;this.suppressSuggestions=void 0;this.items=t}};bb=C([se],bb);$R=(n=>(n[n.Keyboard=1]="Keyboard",n[n.Mouse=2]="Mouse",n[n.Command=3]="Command",n))($R||{});(t=>{function r(e){switch(e){case"keyboard":return 1;case"mouse":return 2;case"api":case"code.jump":case"code.navigation":return 3}}t.fromValue=r})($R||={});qR=(o=>(o[o.Other=0]="Other",o[o.Comment=1]="Comment",o[o.String=2]="String",o[o.RegEx=3]="RegEx",o))(qR||{});(t=>{function r(e){switch(e){case 0:return"other";case 1:return"comment";case 2:return"string";case 3:return"regex"}return"other"}t.toString=r})(qR||={});Ku=class{constructor(t,e){if(e&&!b.isUri(e))throw nt("target");if(!$e.isRange(t)||t.isEmpty)throw nt("range");this.range=t,this.target=e}};Ku=C([se],Ku);mc=class{constructor(t,e,n,o){this.red=t,this.green=e,this.blue=n,this.alpha=o}};mc=C([se],mc);Sb=class{constructor(t,e){if(e&&!(e instanceof mc))throw nt("color");if(!$e.isRange(t)||t.isEmpty)throw nt("range");this.range=t,this.color=e}};Sb=C([se],Sb);ju=class{constructor(t){if(!t||typeof t!="string")throw nt("label");this.label=t}};ju=C([se],ju);ko=class{constructor(t,e){this.label=e;if(typeof t!="string")throw nt("name");if(typeof e!="string")throw nt("name");this._id=t}static from(t){switch(t){case"clean":return ko.Clean;case"build":return ko.Build;case"rebuild":return ko.Rebuild;case"test":return ko.Test;default:return}}get id(){return this._id}};ko.Clean=new ko("clean","Clean"),ko.Build=new ko("build","Build"),ko.Rebuild=new ko("rebuild","Rebuild"),ko.Test=new ko("test","Test"),ko=C([se],ko);tf=class{constructor(t,e,n){if(typeof t!="string")throw nt("process");this._args=[],this._process=t,e!==void 0&&(Array.isArray(e)?(this._args=e,this._options=n):this._options=e)}get process(){return this._process}set process(t){if(typeof t!="string")throw nt("process");this._process=t}get args(){return this._args}set args(t){Array.isArray(t)||(t=[]),this._args=t}get options(){return this._options}set options(t){this._options=t}computeId(){let t=[];if(t.push("process"),this._process!==void 0&&t.push(this._process),this._args&&this._args.length>0)for(let e of this._args)t.push(e);return aF(t)}};tf=C([se],tf);nf=class{constructor(t,e,n){this._args=[];if(Array.isArray(e)){if(!t)throw nt("command can't be undefined or null");if(typeof t!="string"&&typeof t.value!="string")throw nt("command");this._command=t,e&&(this._args=e),this._options=n}else{if(typeof t!="string")throw nt("commandLine");this._commandLine=t,this._options=e}}get commandLine(){return this._commandLine}set commandLine(t){if(typeof t!="string")throw nt("commandLine");this._commandLine=t}get command(){return this._command?this._command:""}set command(t){if(typeof t!="string"&&typeof t.value!="string")throw nt("command");this._command=t}get args(){return this._args}set args(t){this._args=t||[]}get options(){return this._options}set options(t){this._options=t}computeId(){let t=[];if(t.push("shell"),this._commandLine!==void 0&&t.push(this._commandLine),this._command!==void 0&&t.push(typeof this._command=="string"?this._command:this._command.value),this._args&&this._args.length>0)for(let e of this._args)t.push(typeof e=="string"?e:e.value);return aF(t)}};nf=C([se],nf);WR=class{constructor(t){this._callback=t}computeId(){return"customExecution"+ye()}set callback(t){this._callback=t}get callback(){return this._callback}},Do=class{constructor(t,e,n,o,i,s){this.__deprecated=!1;this._definition=this.definition=t;let a;typeof e=="string"?(this._name=this.name=e,this._source=this.source=n,this.execution=o,a=i,this.__deprecated=!0):e===1||e===2?(this.target=e,this._name=this.name=n,this._source=this.source=o,this.execution=i,a=s):(this.target=e,this._name=this.name=n,this._source=this.source=o,this.execution=i,a=s),typeof a=="string"?(this._problemMatchers=[a],this._hasDefinedMatchers=!0):Array.isArray(a)?(this._problemMatchers=a,this._hasDefinedMatchers=!0):(this._problemMatchers=[],this._hasDefinedMatchers=!1),this._isBackground=!1,this._presentationOptions=Object.create(null),this._runOptions=Object.create(null)}get _id(){return this.__id}set _id(t){this.__id=t}get _deprecated(){return this.__deprecated}clear(){this.__id!==void 0&&(this.__id=void 0,this._scope=void 0,this.computeDefinitionBasedOnExecution())}computeDefinitionBasedOnExecution(){this._execution instanceof tf?this._definition={type:Do.ProcessType,id:this._execution.computeId()}:this._execution instanceof nf?this._definition={type:Do.ShellType,id:this._execution.computeId()}:this._execution instanceof WR?this._definition={type:Do.ExtensionCallbackType,id:this._execution.computeId()}:this._definition={type:Do.EmptyType,id:ye()}}get definition(){return this._definition}set definition(t){if(t==null)throw nt("Kind can't be undefined or null");this.clear(),this._definition=t}get scope(){return this._scope}set target(t){this.clear(),this._scope=t}get name(){return this._name}set name(t){if(typeof t!="string")throw nt("name");this.clear(),this._name=t}get execution(){return this._execution}set execution(t){t===null&&(t=void 0),this.clear(),this._execution=t;let e=this._definition.type;(Do.EmptyType===e||Do.ProcessType===e||Do.ShellType===e||Do.ExtensionCallbackType===e)&&this.computeDefinitionBasedOnExecution()}get problemMatchers(){return this._problemMatchers}set problemMatchers(t){if(Array.isArray(t))this.clear(),this._problemMatchers=t,this._hasDefinedMatchers=!0;else{this.clear(),this._problemMatchers=[],this._hasDefinedMatchers=!1;return}}get hasDefinedMatchers(){return this._hasDefinedMatchers}get isBackground(){return this._isBackground}set isBackground(t){t!==!0&&t!==!1&&(t=!1),this.clear(),this._isBackground=t}get source(){return this._source}set source(t){if(typeof t!="string"||t.length===0)throw nt("source must be a string of length > 0");this.clear(),this._source=t}get group(){return this._group}set group(t){t===null&&(t=void 0),this.clear(),this._group=t}get detail(){return this._detail}set detail(t){t===null&&(t=void 0),this._detail=t}get presentationOptions(){return this._presentationOptions}set presentationOptions(t){t==null&&(t=Object.create(null)),this.clear(),this._presentationOptions=t}get runOptions(){return this._runOptions}set runOptions(t){t==null&&(t=Object.create(null)),this.clear(),this._runOptions=t}};Do.ExtensionCallbackType="customExecution",Do.ProcessType="process",Do.ShellType="shell",Do.EmptyType="$empty",Do=C([se],Do);(t=>{function r(e){let n=e;return fo(n.value)?n.tooltip&&!Z(n.tooltip)?(console.log("INVALID view badge, invalid tooltip",n.tooltip),!1):!0:(console.log("INVALID view badge, invalid value",n.value),!1)}t.isViewBadge=r})(wq||={});Qu=class{constructor(t,e=0){this.collapsibleState=e;b.isUri(t)?this.resourceUri=t:this.label=t}static isTreeItem(t,e){let n=t;if(n.checkboxState!==void 0){let o=fo(n.checkboxState)?n.checkboxState:Ae(n.checkboxState)&&fo(n.checkboxState.state)?n.checkboxState.state:void 0,i=!fo(n.checkboxState)&&Ae(n.checkboxState)?n.checkboxState.tooltip:void 0;if(o===void 0||o!==1&&o!==0||i!==void 0&&!Z(i))return console.log("INVALID tree item, invalid checkboxState",n.checkboxState),!1}if(t instanceof Qu)return!0;if(n.label!==void 0&&!Z(n.label)&&!n.label?.label)return console.log("INVALID tree item, invalid label",n.label),!1;if(n.id!==void 0&&!Z(n.id))return console.log("INVALID tree item, invalid id",n.id),!1;if(n.iconPath!==void 0&&!Z(n.iconPath)&&!b.isUri(n.iconPath)&&(!n.iconPath||!Z(n.iconPath.id))){let o=n.iconPath;if(!o||!Z(o.light)&&!b.isUri(o.light)&&!Z(o.dark)&&!b.isUri(o.dark))return console.log("INVALID tree item, invalid iconPath",n.iconPath),!1}return n.description!==void 0&&!Z(n.description)&&typeof n.description!="boolean"?(console.log("INVALID tree item, invalid description",n.description),!1):n.resourceUri!==void 0&&!b.isUri(n.resourceUri)?(console.log("INVALID tree item, invalid resourceUri",n.resourceUri),!1):n.tooltip!==void 0&&!Z(n.tooltip)&&!(n.tooltip instanceof To)?(console.log("INVALID tree item, invalid tooltip",n.tooltip),!1):n.command!==void 0&&!n.command.command?(console.log("INVALID tree item, invalid command",n.command),!1):n.collapsibleState!==void 0&&n.collapsibleState<0&&n.collapsibleState>2?(console.log("INVALID tree item, invalid collapsibleState",n.collapsibleState),!1):n.contextValue!==void 0&&!Z(n.contextValue)?(console.log("INVALID tree item, invalid contextValue",n.contextValue),!1):n.accessibilityInformation!==void 0&&!n.accessibilityInformation?.label?(console.log("INVALID tree item, invalid accessibilityInformation",n.accessibilityInformation),!1):!0}};Qu=C([se],Qu);of=class{constructor(t){this.value=t}async asString(){return typeof this.value=="string"?this.value:JSON.stringify(this.value)}asFile(){}};of=C([se],of);op=class extends of{},Nb=class extends op{$b;constructor(t){super(""),this.$b=t}asFile(){return this.$b}},Fb=class{constructor(t,e,n,o){this.name=t,this.uri=e,this._itemId=n,this._getData=o}data(){return this._getData()}},Ju=class{constructor(t){Qc(this,vc);Qc(this,Ks,new Map);for(let[e,n]of t??[]){let o=an(this,Ks).get(nm(this,vc,rf).call(this,e));o?o.push(n):an(this,Ks).set(nm(this,vc,rf).call(this,e),[n])}}get(t){return an(this,Ks).get(nm(this,vc,rf).call(this,t))?.[0]}set(t,e){an(this,Ks).set(nm(this,vc,rf).call(this,t),[e])}forEach(t,e){for(let[n,o]of an(this,Ks))for(let i of o)t.call(e,i,n,this)}*[Symbol.iterator](){for(let[t,e]of an(this,Ks))for(let n of e)yield[t,n]}};Ks=new WeakMap,vc=new WeakSet,rf=function(t){return t.toLowerCase()},Ju=C([se],Ju);xb=class{constructor(t,e,n){this.insertText=t,this.title=e,this.kind=n}};xb=C([se],xb);ll=class r{constructor(t){this.value=t}static{this.sep="."}append(...t){return new r((this.value?[this.value,...t]:t).join(r.sep))}intersects(t){return this.contains(t)||t.contains(this)}contains(t){return this.value===t.value||t.value.startsWith(this.value+r.sep)}};ll.Empty=new ll("");ll.Text=new ll("text");ll.TextUpdateImports=ll.Text.append("updateImports");Js=class{constructor(t,e){this.id=t,this.color=e}static isThemeIcon(t){return typeof t.id!="string"?(console.log("INVALID ThemeIcon, invalid id",t.id),!1):!0}};Js=C([se],Js);Js.File=new Js("file");Js.Folder=new Js("folder");Cb=class{constructor(t){this.id=t}};Cb=C([se],Cb);sl=class{get base(){return this._base}set base(t){this._base=t,this._baseUri=b.file(t)}get baseUri(){return this._baseUri}set baseUri(t){this._baseUri=t,this._base=t.fsPath}constructor(t,e){if(typeof t!="string"&&(!t||!b.isUri(t)&&!b.isUri(t.uri)))throw nt("base");if(typeof e!="string")throw nt("pattern");typeof t=="string"?this.baseUri=b.file(t):b.isUri(t)?this.baseUri=t:this.baseUri=t.uri,this.pattern=e}toJSON(){return{pattern:this.pattern,base:this.base,baseUri:this.baseUri.toJSON()}}};sl=C([se],sl);Tq=new WeakMap,gc=class{constructor(t,e,n,o,i){this.enabled=typeof t=="boolean"?t:!0,typeof e=="string"&&(this.condition=e),typeof n=="string"&&(this.hitCondition=n),typeof o=="string"&&(this.logMessage=o),typeof i=="string"&&(this.mode=i)}get id(){return this._id||(this._id=Tq.get(this)??ye()),this._id}};gc=C([se],gc);Eb=class extends gc{constructor(t,e,n,o,i,s){if(super(e,n,o,i,s),t===null)throw nt("location");this.location=t}};Eb=C([se],Eb);wb=class extends gc{constructor(t,e,n,o,i,s){super(e,n,o,i,s),this.functionName=t}};wb=C([se],wb);Tb=class extends gc{constructor(t,e,n,o,i,s,a,l){if(super(o,i,s,a,l),!e)throw nt("dataId");this.label=t,this.dataId=e,this.canPersist=n}};Tb=C([se],Tb);Rb=class{constructor(t,e,n){this.command=t,this.args=e||[],this.options=n}};Rb=C([se],Rb);Pb=class{constructor(t,e){this.port=t,this.host=e}};Pb=C([se],Pb);kb=class{constructor(t){this.path=t}};kb=C([se],kb);Db=class{constructor(t){this.implementation=t}};Db=C([se],Db);Yu=class{constructor(t,e){this.range=t,this.expression=e}};Yu=C([se],Yu);Xu=class{constructor(t,e){this.range=t,this.text=e}};Xu=C([se],Xu);Zu=class{constructor(t,e,n=!0){this.range=t,this.variableName=e,this.caseSensitiveLookup=n}};Zu=C([se],Zu);ep=class{constructor(t,e){this.range=t,this.expression=e}};ep=C([se],ep);tp=class{constructor(t,e){this.frameId=t,this.stoppedLocation=e}};tp=C([se],tp);uo=class extends Error{static FileExists(t){return new uo(t,"EntryExists",uo.FileExists)}static FileNotFound(t){return new uo(t,"EntryNotFound",uo.FileNotFound)}static FileNotADirectory(t){return new uo(t,"EntryNotADirectory",uo.FileNotADirectory)}static FileIsADirectory(t){return new uo(t,"EntryIsADirectory",uo.FileIsADirectory)}static NoPermissions(t){return new uo(t,"NoPermissions",uo.NoPermissions)}static Unavailable(t){return new uo(t,"Unavailable",uo.Unavailable)}constructor(t,e="Unknown",n){super(b.isUri(t)?t.toString(!0):t),this.code=n?.name??"Unknown",ew(this,e),Object.setPrototypeOf(this,uo.prototype),typeof Error.captureStackTrace=="function"&&typeof n=="function"&&Error.captureStackTrace(this,n)}};uo=C([se],uo);_b=class{constructor(t,e,n){this.start=t,this.end=e,this.kind=n}};_b=C([se],_b);Zg=class{constructor(){}};Zg.Back={iconPath:new Js("arrow-left")},Zg=C([se],Zg);Mb=class{constructor(t){this.kind=t}};Mb=C([se],Mb);Vb=class{constructor(t,e=[]){this.uri=t;this.provides=Yc(e)}},Ab=class{constructor(t,e){this.label=t;this.timestamp=e}};Ab=C([se],Ab);Hb=class{constructor(t,e,n){this.controllerId=t;this.profileId=e;this.kind=n}},Lb=class{constructor(t=void 0,e=void 0,n=void 0,o=!1,i=!0){this.include=t;this.exclude=e;this.profile=n;this.continuous=o;this.preserveFocus=i}};Lb=C([se],Lb);al=class{constructor(t){this.message=t}static diff(t,e,n){let o=new al(t);return o.expectedOutput=e,o.actualOutput=n,o}};al=C([se],al);fc=class{constructor(t){this.id=t}};fc=C([se],fc);sf=class{constructor(t,e){this.covered=t;this.total=e;Rf(this)}};Wb=class r{constructor(t,e,n,o,i=[]){this.uri=t;this.statementCoverage=e;this.branchCoverage=n;this.declarationCoverage=o;this.includesTests=i}static fromDetails(t,e){let n=new sf(0,0),o=new sf(0,0),i=new sf(0,0);for(let a of e)if("branches"in a){n.total+=1,n.covered+=a.executed?1:0;for(let l of a.branches)o.total+=1,o.covered+=l.executed?1:0}else i.total+=1,i.covered+=a.executed?1:0;let s=new r(t,n,o.total>0?o:void 0,i.total>0?i:void 0);return s.detailedCoverage=e,s}},Bb=class{constructor(t,e,n=[]){this.executed=t;this.location=e;this.branches=n}get executionCount(){return+this.executed}set executionCount(t){this.executed=t}},$b=class{constructor(t,e,n){this.executed=t;this.location=e;this.label=n}get executionCount(){return+this.executed}set executionCount(t){this.executed=t}},qb=class{constructor(t,e,n){this.name=t;this.executed=e;this.location=n}get executionCount(){return+this.executed}set executionCount(t){this.executed=t}},rp=class{constructor(t,e,n,o,i,s){this.kind=t,this.name=e,this.detail=n,this.uri=o,this.range=i,this.selectionRange=s}},af=class{constructor(t){if(typeof t!="string"&&t.isTrusted===!0)throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants.");this.value=typeof t=="string"?new To(t):t}},lf=class{constructor(t,e){if(typeof t!="string"&&t.isTrusted===!0)throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants.");this.value=typeof t=="string"?new To(t):t,this.vulnerabilities=e}},zb=class{constructor(t,e,n,o){this.title=t,this.message=e,this.data=n,this.buttons=o}},cf=class{constructor(t,e){this.value=t,this.baseUri=e}},df=class{constructor(t,e,n){this.value=t,this.title=e,this.readOnly=n}},Gb=class{constructor(t,e,n,o){this.description=t,this.agentName=e,this.prompt=n,this.result=o}},uf=class{constructor(t,e){this.value=t,this.value2=t,this.title=e}},pf=class{constructor(t){this.value=t}},mf=class{constructor(t,e,n){this.value=t,this.id=e,this.metadata=n}},gf=class{constructor(t,e,n,o){this.hookType=t,this.stopReason=e,this.systemMessage=n,this.metadata=o}},Kb=class{constructor(t,e){this.id=t,this.value=e}},ff=class{constructor(t,e,n,o){this.resolvedModel=t,this.resolvedModelName=e,this.predictedLabel=n,this.confidence=o}},hf=class{constructor(t){if(typeof t!="string"&&t.isTrusted===!0)throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants.");this.value=typeof t=="string"?new To(t):t}},vf=class{constructor(t){if(typeof t!="string"&&t.isTrusted===!0)throw new Error("The boolean form of MarkdownString.isTrusted is NOT supported for chat participants.");this.value=typeof t=="string"?new To(t):t}},yf=class{constructor(t){this.value=t}},If=class{constructor(t,e,n){this.value=t,this.iconPath=e,this.options=n}},bf=class{constructor(t,e,n){this.value=t,this.isEdit=e,this.undoStopId=n}},jb=class{constructor(t,e,n){this.value=t,this.license=e,this.snippet=n}},Sf=class{constructor(t,e){this.uri=t;this.range=e}},Qb=class{constructor(t){this.extensions=t}},Jb=class{constructor(t,e,n,o,i){this.title=e;this.description=n;this.author=o;this.linkTag=i;Ml(t)?(this.uri=t,this.command={title:"Open Pull Request",command:"vscode.open",arguments:[t]}):this.command=t}toJSON(){return{$mid:26,uri:this.uri,title:this.title,description:this.description,author:this.author}}},Yb=class{constructor(t,e,n,o){this.id=t,this.type=e,this.title=n,this.message=o?.message,this.options=o?.options,this.defaultValue=o?.defaultValue,this.allowFreeformInput=o?.allowFreeformInput}},xf=class{constructor(t,e=!0){this.questions=t,this.allowSkip=e}},Cf=class{constructor(t,e){this.uri=t,e===!0?(this.isDone=!0,this.edits=[]):this.edits=Array.isArray(e)?e:[e]}},Xb=class{constructor(t,e){this.uri=t,e===!0?(this.isDone=!0,this.edits=[]):this.edits=Array.isArray(e)?e:[e]}},Zb=class{constructor(t){this.edits=t}},Ef=class{constructor(t,e,n){this.toolName=t,this.toolCallId=e,this.errorMessage=n}},ns=class r{constructor(t){this.id=t}static{this.Agent=new r("agent")}static{this.Skill=new r("skill")}static{this.Instructions=new r("instructions")}static{this.Prompt=new r("prompt")}static{this.Hook=new r("hook")}static{this.Plugins=new r("plugins")}},wf=class{constructor(t,e,n,o,i){this.mimeType=t,this.data=e,this.reference=n,this.isPasted=o,this.isURL=i}},eS=class{constructor(t){this.diagnostics=t}},yc=class{constructor(t,e,n){this.callId=t,this.content=e,this.isError=n??!1}},tS=class r{constructor(t,e,n){this._content=[];this.role=t,this.content=e,this.name=n}static User(t,e){return new r(1,t,e)}static Assistant(t,e){return new r(2,t,e)}set content(t){typeof t=="string"?this._content=[new Vn(t)]:this._content=t}get content(){return this._content}},nS=class r{constructor(t,e,n){this._content=[];this.role=t,this.content=e,this.name=n}static User(t,e){return new r(1,t,e)}static Assistant(t,e){return new r(2,t,e)}set content(t){typeof t=="string"?this._content=[new Vn(t)]:this._content=t}get content(){return this._content}set content2(t){t&&(this.content=t.map(e=>typeof e=="string"?new Vn(e):e))}get content2(){return this.content.map(t=>t instanceof Vn?t.value:t)}},Ic=class{constructor(t,e,n){this.callId=t,this.name=e,this.input=n}},Vn=class{constructor(t,e){this.value=t,e=e}toJSON(){return{$mid:21,value:this.value,audience:this.audience}}},Vo=class r{constructor(t,e,n){this.mimeType=e,this.data=t,this.audience=n}static image(t,e){return new r(t,e)}static json(t,e="text/x-json"){let n=JSON.stringify(t,void 0,"	");return new r(L.fromString(n).buffer,e)}static text(t,e=mr.text){return new r(L.fromString(t).buffer,e)}toJSON(){return{$mid:24,mimeType:this.mimeType,data:bo(L.wrap(this.data)),audience:this.audience}}},ip=class{constructor(t,e,n){this.value=t,this.id=e,this.metadata=n}toJSON(){return{$mid:22,value:this.value,id:this.id,metadata:this.metadata}}},os=class{constructor(t){this.value=t}toJSON(){return{$mid:23,value:this.value}}},iF=class r extends Error{static $c="LanguageModelError";static NotFound(t){return new r(t,r.NotFound.name)}static NoPermissions(t){return new r(t,r.NoPermissions.name)}static Blocked(t){return new r(t,r.Blocked.name)}static tryDeserialize(t){if(t.name===r.$c)return new r(t.message,t.code,t.cause)}constructor(t,e,n){super(t,{cause:n}),this.name=r.$c,this.code=e??""}},Tf=class{constructor(t){this.content=t}toJSON(){return{$mid:20,content:this.content}}},oS=class{constructor(t,e){this.id=t;this.label=e}},rS=class{constructor(t,e,n){this.label=t;this.name=e;this.instructions=n}},iS=class{constructor(t,e,n,o={},i,s){this.label=t;this.command=e;this.args=n;this.env=o;this.version=i;this.metadata=s}},sS=class{constructor(t,e,n={},o,i,s){this.label=t;this.uri=e;this.headers=n;this.version=o;this.metadata=i;this.authentication=s}}});var lS,cF=y(()=>{Lt();Gr();Jt();lS=Object.freeze({create:r=>jn(r.map(t=>t.toString())).join(`\r
`),split:r=>r.split(`\r
`),parse:r=>lS.split(r).filter(t=>!t.startsWith("#"))})});function KR(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}function fF(r){Sc=r}function Ar(r,t){if(t){if(hF.test(r))return r.replace(Rq,dF)}else if(vF.test(r))return r.replace(Pq,dF);return r}function qt(r,t){let e=typeof r=="string"?r:r.source;t=t||"";let n={replace:(o,i)=>{let s=typeof i=="string"?i:i.source;return s=s.replace(Dq,"$1"),e=e.replace(o,s),n},getRegex:()=>new RegExp(e,t)};return n}function uF(r){try{r=encodeURI(r).replace(/%25/g,"%")}catch{return null}return r}function pF(r,t){let e=r.replace(/\|/g,(i,s,a)=>{let l=!1,c=s;for(;--c>=0&&a[c]==="\\";)l=!l;return l?"|":" |"}),n=e.split(/ \|/),o=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;o<n.length;o++)n[o]=n[o].trim().replace(/\\\|/g,"|");return n}function Pf(r,t,e){let n=r.length;if(n===0)return"";let o=0;for(;o<n;){let i=r.charAt(n-o-1);if(i===t&&!e)o++;else if(i!==t&&e)o++;else break}return r.slice(0,n-o)}function _q(r,t){if(r.indexOf(t[1])===-1)return-1;let e=0;for(let n=0;n<r.length;n++)if(r[n]==="\\")n++;else if(r[n]===t[0])e++;else if(r[n]===t[1]&&(e--,e<0))return n;return-1}function mF(r,t,e,n){let o=t.href,i=t.title?Ar(t.title):null,s=r[1].replace(/\\([\[\]])/g,"$1");if(r[0].charAt(0)!=="!"){n.state.inLink=!0;let a={type:"link",raw:e,href:o,title:i,text:s,tokens:n.inlineTokens(s)};return n.state.inLink=!1,a}return{type:"image",raw:e,href:o,title:i,text:Ar(s)}}function Mq(r,t){let e=r.match(/^(\s+)(?:```)/);if(e===null)return t;let n=e[1];return t.split(`
`).map(o=>{let i=o.match(/^\s+/);if(i===null)return o;let[s]=i;return s.length>=n.length?o.slice(n.length):o}).join(`
`)}function Ft(r,t){return bc.parse(r,t)}var Sc,hF,Rq,vF,Pq,kq,dF,Dq,Df,ap,Aq,Lq,Oq,Mf,Uq,yF,IF,jR,Nq,QR,Fq,Vq,uS,JR,Hq,bF,Wq,YR,gF,Bq,$q,SF,qq,xF,zq,Af,Gq,Kq,jq,Qq,Jq,Yq,Xq,Zq,ez,dS,tz,CF,EF,nz,XR,oz,zR,rz,cS,kf,Ys,lp,_f,Xs,sp,GR,bc,O1e,U1e,N1e,F1e,V1e,H1e,W1e,wF=y(()=>{Sc=KR();hF=/[&<>"']/,Rq=new RegExp(hF.source,"g"),vF=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Pq=new RegExp(vF.source,"g"),kq={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},dF=r=>kq[r];Dq=/(^|[^\[])\^/g;Df={exec:()=>null};ap=class{options;rules;lexer;constructor(t){this.options=t||Sc}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let n=e[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?n:Pf(n,`
`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let n=e[0],o=Mq(n,e[3]||"");return{type:"code",raw:n,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:o}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let n=e[2].trim();if(/#$/.test(n)){let o=Pf(n,"#");(this.options.pedantic||!o||/ $/.test(o))&&(n=o.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:Pf(e[0],`
`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let n=Pf(e[0],`
`).split(`
`),o="",i="",s=[];for(;n.length>0;){let a=!1,l=[],c;for(c=0;c<n.length;c++)if(/^ {0,3}>/.test(n[c]))l.push(n[c]),a=!0;else if(!a)l.push(n[c]);else break;n=n.slice(c);let u=l.join(`
`),p=u.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,`
    $1`).replace(/^ {0,3}>[ \t]?/gm,"");o=o?`${o}
${u}`:u,i=i?`${i}
${p}`:p;let m=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(p,s,!0),this.lexer.state.top=m,n.length===0)break;let g=s[s.length-1];if(g?.type==="code")break;if(g?.type==="blockquote"){let h=g,v=h.raw+`
`+n.join(`
`),S=this.blockquote(v);s[s.length-1]=S,o=o.substring(0,o.length-h.raw.length)+S.raw,i=i.substring(0,i.length-h.text.length)+S.text;break}else if(g?.type==="list"){let h=g,v=h.raw+`
`+n.join(`
`),S=this.list(v);s[s.length-1]=S,o=o.substring(0,o.length-g.raw.length)+S.raw,i=i.substring(0,i.length-h.raw.length)+S.raw,n=v.substring(s[s.length-1].raw.length).split(`
`);continue}}return{type:"blockquote",raw:o,tokens:s,text:i}}}list(t){let e=this.rules.block.list.exec(t);if(e){let n=e[1].trim(),o=n.length>1,i={type:"list",raw:"",ordered:o,start:o?+n.slice(0,-1):"",loose:!1,items:[]};n=o?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=o?n:"[*+-]");let s=new RegExp(`^( {0,3}${n})((?:[	 ][^\\n]*)?(?:\\n|$))`),a=!1;for(;t;){let l=!1,c="",u="";if(!(e=s.exec(t))||this.rules.block.hr.test(t))break;c=e[0],t=t.substring(c.length);let p=e[2].split(`
`,1)[0].replace(/^\t+/,T=>" ".repeat(3*T.length)),m=t.split(`
`,1)[0],g=!p.trim(),h=0;if(this.options.pedantic?(h=2,u=p.trimStart()):g?h=e[1].length+1:(h=e[2].search(/[^ ]/),h=h>4?1:h,u=p.slice(h),h+=e[1].length),g&&/^ *$/.test(m)&&(c+=m+`
`,t=t.substring(m.length+1),l=!0),!l){let T=new RegExp(`^ {0,${Math.min(3,h-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ 	][^\\n]*)?(?:\\n|$))`),E=new RegExp(`^ {0,${Math.min(3,h-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),k=new RegExp(`^ {0,${Math.min(3,h-1)}}(?:\`\`\`|~~~)`),P=new RegExp(`^ {0,${Math.min(3,h-1)}}#`);for(;t;){let U=t.split(`
`,1)[0];if(m=U,this.options.pedantic&&(m=m.replace(/^ {1,4}(?=( {4})*[^ ])/g,"  ")),k.test(m)||P.test(m)||T.test(m)||E.test(t))break;if(m.search(/[^ ]/)>=h||!m.trim())u+=`
`+m.slice(h);else{if(g||p.search(/[^ ]/)>=4||k.test(p)||P.test(p)||E.test(p))break;u+=`
`+m}!g&&!m.trim()&&(g=!0),c+=U+`
`,t=t.substring(U.length+1),p=m.slice(h)}}i.loose||(a?i.loose=!0:/\n *\n *$/.test(c)&&(a=!0));let v=null,S;this.options.gfm&&(v=/^\[[ xX]\] /.exec(u),v&&(S=v[0]!=="[ ] ",u=u.replace(/^\[[ xX]\] +/,""))),i.items.push({type:"list_item",raw:c,task:!!v,checked:S,loose:!1,text:u,tokens:[]}),i.raw+=c}i.items[i.items.length-1].raw=i.items[i.items.length-1].raw.trimEnd(),i.items[i.items.length-1].text=i.items[i.items.length-1].text.trimEnd(),i.raw=i.raw.trimEnd();for(let l=0;l<i.items.length;l++)if(this.lexer.state.top=!1,i.items[l].tokens=this.lexer.blockTokens(i.items[l].text,[]),!i.loose){let c=i.items[l].tokens.filter(p=>p.type==="space"),u=c.length>0&&c.some(p=>/\n.*\n/.test(p.raw));i.loose=u}if(i.loose)for(let l=0;l<i.items.length;l++)i.items[l].loose=!0;return i}}html(t){let e=this.rules.block.html.exec(t);if(e)return{type:"html",block:!0,raw:e[0],pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:e[0]}}def(t){let e=this.rules.block.def.exec(t);if(e){let n=e[1].toLowerCase().replace(/\s+/g," "),o=e[2]?e[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",i=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:n,raw:e[0],href:o,title:i}}}table(t){let e=this.rules.block.table.exec(t);if(!e||!/[:|]/.test(e[2]))return;let n=pF(e[1]),o=e[2].replace(/^\||\| *$/g,"").split("|"),i=e[3]&&e[3].trim()?e[3].replace(/\n[ \t]*$/,"").split(`
`):[],s={type:"table",raw:e[0],header:[],align:[],rows:[]};if(n.length===o.length){for(let a of o)/^ *-+: *$/.test(a)?s.align.push("right"):/^ *:-+: *$/.test(a)?s.align.push("center"):/^ *:-+ *$/.test(a)?s.align.push("left"):s.align.push(null);for(let a=0;a<n.length;a++)s.header.push({text:n[a],tokens:this.lexer.inline(n[a]),header:!0,align:s.align[a]});for(let a of i)s.rows.push(pF(a,s.header.length).map((l,c)=>({text:l,tokens:this.lexer.inline(l),header:!1,align:s.align[c]})));return s}}lheading(t){let e=this.rules.block.lheading.exec(t);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(t){let e=this.rules.block.paragraph.exec(t);if(e){let n=e[1].charAt(e[1].length-1)===`
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:n,tokens:this.lexer.inline(n)}}}text(t){let e=this.rules.block.text.exec(t);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(t){let e=this.rules.inline.escape.exec(t);if(e)return{type:"escape",raw:e[0],text:Ar(e[1])}}tag(t){let e=this.rules.inline.tag.exec(t);if(e)return!this.lexer.state.inLink&&/^<a /i.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(t){let e=this.rules.inline.link.exec(t);if(e){let n=e[2].trim();if(!this.options.pedantic&&/^</.test(n)){if(!/>$/.test(n))return;let s=Pf(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=_q(e[2],"()");if(s>-1){let l=(e[0].indexOf("!")===0?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,l).trim(),e[3]=""}}let o=e[2],i="";if(this.options.pedantic){let s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);s&&(o=s[1],i=s[3])}else i=e[3]?e[3].slice(1,-1):"";return o=o.trim(),/^</.test(o)&&(this.options.pedantic&&!/>$/.test(n)?o=o.slice(1):o=o.slice(1,-1)),mF(e,{href:o&&o.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer)}}reflink(t,e){let n;if((n=this.rules.inline.reflink.exec(t))||(n=this.rules.inline.nolink.exec(t))){let o=(n[2]||n[1]).replace(/\s+/g," "),i=e[o.toLowerCase()];if(!i){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return mF(n,i,n[0],this.lexer)}}emStrong(t,e,n=""){let o=this.rules.inline.emStrongLDelim.exec(t);if(!o||o[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(o[1]||o[2]||"")||!n||this.rules.inline.punctuation.exec(n)){let s=[...o[0]].length-1,a,l,c=s,u=0,p=o[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(p.lastIndex=0,e=e.slice(-1*t.length+s);(o=p.exec(e))!=null;){if(a=o[1]||o[2]||o[3]||o[4]||o[5]||o[6],!a)continue;if(l=[...a].length,o[3]||o[4]){c+=l;continue}else if((o[5]||o[6])&&s%3&&!((s+l)%3)){u+=l;continue}if(c-=l,c>0)continue;l=Math.min(l,l+c+u);let m=[...o[0]][0].length,g=t.slice(0,s+o.index+m+l);if(Math.min(s,l)%2){let v=g.slice(1,-1);return{type:"em",raw:g,text:v,tokens:this.lexer.inlineTokens(v)}}let h=g.slice(2,-2);return{type:"strong",raw:g,text:h,tokens:this.lexer.inlineTokens(h)}}}}codespan(t){let e=this.rules.inline.code.exec(t);if(e){let n=e[2].replace(/\n/g," "),o=/[^ ]/.test(n),i=/^ /.test(n)&&/ $/.test(n);return o&&i&&(n=n.substring(1,n.length-1)),n=Ar(n,!0),{type:"codespan",raw:e[0],text:n}}}br(t){let e=this.rules.inline.br.exec(t);if(e)return{type:"br",raw:e[0]}}del(t){let e=this.rules.inline.del.exec(t);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(t){let e=this.rules.inline.autolink.exec(t);if(e){let n,o;return e[2]==="@"?(n=Ar(e[1]),o="mailto:"+n):(n=Ar(e[1]),o=n),{type:"link",raw:e[0],text:n,href:o,tokens:[{type:"text",raw:n,text:n}]}}}url(t){let e;if(e=this.rules.inline.url.exec(t)){let n,o;if(e[2]==="@")n=Ar(e[0]),o="mailto:"+n;else{let i;do i=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(i!==e[0]);n=Ar(e[0]),e[1]==="www."?o="http://"+e[0]:o=e[0]}return{type:"link",raw:e[0],text:n,href:o,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(t){let e=this.rules.inline.text.exec(t);if(e){let n;return this.lexer.state.inRawBlock?n=e[0]:n=Ar(e[0]),{type:"text",raw:e[0],text:n}}}},Aq=/^(?: *(?:\n|$))+/,Lq=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,Oq=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Mf=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Uq=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,yF=/(?:[*+-]|\d{1,9}[.)])/,IF=qt(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,yF).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),jR=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Nq=/^[^\n]+/,QR=/(?!\s*\])(?:\\.|[^\[\]\\])+/,Fq=qt(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",QR).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Vq=qt(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,yF).getRegex(),uS="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",JR=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Hq=qt("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",JR).replace("tag",uS).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),bF=qt(jR).replace("hr",Mf).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",uS).getRegex(),Wq=qt(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",bF).getRegex(),YR={blockquote:Wq,code:Lq,def:Fq,fences:Oq,heading:Uq,hr:Mf,html:Hq,lheading:IF,list:Vq,newline:Aq,paragraph:bF,table:Df,text:Nq},gF=qt("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Mf).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",uS).getRegex(),Bq={...YR,table:gF,paragraph:qt(jR).replace("hr",Mf).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",gF).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",uS).getRegex()},$q={...YR,html:qt(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",JR).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Df,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:qt(jR).replace("hr",Mf).replace("heading",` *#{1,6} *[^
]`).replace("lheading",IF).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},SF=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,qq=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,xF=/^( {2,}|\\)\n(?!\s*$)/,zq=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Af="\\p{P}\\p{S}",Gq=qt(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,Af).getRegex(),Kq=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,jq=qt(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Af).getRegex(),Qq=qt("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Af).getRegex(),Jq=qt("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Af).getRegex(),Yq=qt(/\\([punct])/,"gu").replace(/punct/g,Af).getRegex(),Xq=qt(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Zq=qt(JR).replace("(?:-->|$)","-->").getRegex(),ez=qt("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Zq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),dS=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,tz=qt(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",dS).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),CF=qt(/^!?\[(label)\]\[(ref)\]/).replace("label",dS).replace("ref",QR).getRegex(),EF=qt(/^!?\[(ref)\](?:\[\])?/).replace("ref",QR).getRegex(),nz=qt("reflink|nolink(?!\\()","g").replace("reflink",CF).replace("nolink",EF).getRegex(),XR={_backpedal:Df,anyPunctuation:Yq,autolink:Xq,blockSkip:Kq,br:xF,code:qq,del:Df,emStrongLDelim:jq,emStrongRDelimAst:Qq,emStrongRDelimUnd:Jq,escape:SF,link:tz,nolink:EF,punctuation:Gq,reflink:CF,reflinkSearch:nz,tag:ez,text:zq,url:Df},oz={...XR,link:qt(/^!?\[(label)\]\((.*?)\)/).replace("label",dS).getRegex(),reflink:qt(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",dS).getRegex()},zR={...XR,escape:qt(SF).replace("])","~|])").getRegex(),url:qt(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},rz={...zR,br:qt(xF).replace("{2,}","*").getRegex(),text:qt(zR.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},cS={normal:YR,gfm:Bq,pedantic:$q},kf={normal:XR,gfm:zR,breaks:rz,pedantic:oz},Ys=class r{tokens;options;state;tokenizer;inlineQueue;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||Sc,this.options.tokenizer=this.options.tokenizer||new ap,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let e={block:cS.normal,inline:kf.normal};this.options.pedantic?(e.block=cS.pedantic,e.inline=kf.pedantic):this.options.gfm&&(e.block=cS.gfm,this.options.breaks?e.inline=kf.breaks:e.inline=kf.gfm),this.tokenizer.rules=e}static get rules(){return{block:cS,inline:kf}}static lex(t,e){return new r(e).lex(t)}static lexInline(t,e){return new r(e).inlineTokens(t)}lex(t){t=t.replace(/\r\n|\r/g,`
`),this.blockTokens(t,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let n=this.inlineQueue[e];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,e=[],n=!1){this.options.pedantic?t=t.replace(/\t/g,"    ").replace(/^ +$/gm,""):t=t.replace(/^( *)(\t+)/gm,(a,l,c)=>l+"    ".repeat(c.length));let o,i,s;for(;t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(a=>(o=a.call({lexer:this},t,e))?(t=t.substring(o.raw.length),e.push(o),!0):!1))){if(o=this.tokenizer.space(t)){t=t.substring(o.raw.length),o.raw.length===1&&e.length>0?e[e.length-1].raw+=`
`:e.push(o);continue}if(o=this.tokenizer.code(t)){t=t.substring(o.raw.length),i=e[e.length-1],i&&(i.type==="paragraph"||i.type==="text")?(i.raw+=`
`+o.raw,i.text+=`
`+o.text,this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(o);continue}if(o=this.tokenizer.fences(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.heading(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.hr(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.blockquote(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.list(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.html(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.def(t)){t=t.substring(o.raw.length),i=e[e.length-1],i&&(i.type==="paragraph"||i.type==="text")?(i.raw+=`
`+o.raw,i.text+=`
`+o.raw,this.inlineQueue[this.inlineQueue.length-1].src=i.text):this.tokens.links[o.tag]||(this.tokens.links[o.tag]={href:o.href,title:o.title});continue}if(o=this.tokenizer.table(t)){t=t.substring(o.raw.length),e.push(o);continue}if(o=this.tokenizer.lheading(t)){t=t.substring(o.raw.length),e.push(o);continue}if(s=t,this.options.extensions&&this.options.extensions.startBlock){let a=1/0,l=t.slice(1),c;this.options.extensions.startBlock.forEach(u=>{c=u.call({lexer:this},l),typeof c=="number"&&c>=0&&(a=Math.min(a,c))}),a<1/0&&a>=0&&(s=t.substring(0,a+1))}if(this.state.top&&(o=this.tokenizer.paragraph(s))){i=e[e.length-1],n&&i?.type==="paragraph"?(i.raw+=`
`+o.raw,i.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(o),n=s.length!==t.length,t=t.substring(o.raw.length);continue}if(o=this.tokenizer.text(t)){t=t.substring(o.raw.length),i=e[e.length-1],i&&i.type==="text"?(i.raw+=`
`+o.raw,i.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=i.text):e.push(o);continue}if(t){let a="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(a);break}else throw new Error(a)}}return this.state.top=!0,e}inline(t,e=[]){return this.inlineQueue.push({src:t,tokens:e}),e}inlineTokens(t,e=[]){let n,o,i,s=t,a,l,c;if(this.tokens.links){let u=Object.keys(this.tokens.links);if(u.length>0)for(;(a=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)u.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(a=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(a=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,a.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(l||(c=""),l=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(u=>(n=u.call({lexer:this},t,e))?(t=t.substring(n.raw.length),e.push(n),!0):!1))){if(n=this.tokenizer.escape(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.tag(t)){t=t.substring(n.raw.length),o=e[e.length-1],o&&n.type==="text"&&o.type==="text"?(o.raw+=n.raw,o.text+=n.text):e.push(n);continue}if(n=this.tokenizer.link(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(n.raw.length),o=e[e.length-1],o&&n.type==="text"&&o.type==="text"?(o.raw+=n.raw,o.text+=n.text):e.push(n);continue}if(n=this.tokenizer.emStrong(t,s,c)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.codespan(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.br(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.del(t)){t=t.substring(n.raw.length),e.push(n);continue}if(n=this.tokenizer.autolink(t)){t=t.substring(n.raw.length),e.push(n);continue}if(!this.state.inLink&&(n=this.tokenizer.url(t))){t=t.substring(n.raw.length),e.push(n);continue}if(i=t,this.options.extensions&&this.options.extensions.startInline){let u=1/0,p=t.slice(1),m;this.options.extensions.startInline.forEach(g=>{m=g.call({lexer:this},p),typeof m=="number"&&m>=0&&(u=Math.min(u,m))}),u<1/0&&u>=0&&(i=t.substring(0,u+1))}if(n=this.tokenizer.inlineText(i)){t=t.substring(n.raw.length),n.raw.slice(-1)!=="_"&&(c=n.raw.slice(-1)),l=!0,o=e[e.length-1],o&&o.type==="text"?(o.raw+=n.raw,o.text+=n.text):e.push(n);continue}if(t){let u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return e}},lp=class{options;parser;constructor(t){this.options=t||Sc}space(t){return""}code({text:t,lang:e,escaped:n}){let o=(e||"").match(/^\S*/)?.[0],i=t.replace(/\n$/,"")+`
`;return o?'<pre><code class="language-'+Ar(o)+'">'+(n?i:Ar(i,!0))+`</code></pre>
`:"<pre><code>"+(n?i:Ar(i,!0))+`</code></pre>
`}blockquote({tokens:t}){return`<blockquote>
${this.parser.parse(t)}</blockquote>
`}html({text:t}){return t}heading({tokens:t,depth:e}){return`<h${e}>${this.parser.parseInline(t)}</h${e}>
`}hr(t){return`<hr>
`}list(t){let e=t.ordered,n=t.start,o="";for(let a=0;a<t.items.length;a++){let l=t.items[a];o+=this.listitem(l)}let i=e?"ol":"ul",s=e&&n!==1?' start="'+n+'"':"";return"<"+i+s+`>
`+o+"</"+i+`>
`}listitem(t){let e="";if(t.task){let n=this.checkbox({checked:!!t.checked});t.loose?t.tokens.length>0&&t.tokens[0].type==="paragraph"?(t.tokens[0].text=n+" "+t.tokens[0].text,t.tokens[0].tokens&&t.tokens[0].tokens.length>0&&t.tokens[0].tokens[0].type==="text"&&(t.tokens[0].tokens[0].text=n+" "+t.tokens[0].tokens[0].text)):t.tokens.unshift({type:"text",raw:n+" ",text:n+" "}):e+=n+" "}return e+=this.parser.parse(t.tokens,!!t.loose),`<li>${e}</li>
`}checkbox({checked:t}){return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:t}){return`<p>${this.parser.parseInline(t)}</p>
`}table(t){let e="",n="";for(let i=0;i<t.header.length;i++)n+=this.tablecell(t.header[i]);e+=this.tablerow({text:n});let o="";for(let i=0;i<t.rows.length;i++){let s=t.rows[i];n="";for(let a=0;a<s.length;a++)n+=this.tablecell(s[a]);o+=this.tablerow({text:n})}return o&&(o=`<tbody>${o}</tbody>`),`<table>
<thead>
`+e+`</thead>
`+o+`</table>
`}tablerow({text:t}){return`<tr>
${t}</tr>
`}tablecell(t){let e=this.parser.parseInline(t.tokens),n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`</${n}>
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${t}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:e,tokens:n}){let o=this.parser.parseInline(n),i=uF(t);if(i===null)return o;t=i;let s='<a href="'+t+'"';return e&&(s+=' title="'+e+'"'),s+=">"+o+"</a>",s}image({href:t,title:e,text:n}){let o=uF(t);if(o===null)return n;t=o;let i=`<img src="${t}" alt="${n}"`;return e&&(i+=` title="${e}"`),i+=">",i}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):t.text}},_f=class{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}},Xs=class r{options;renderer;textRenderer;constructor(t){this.options=t||Sc,this.options.renderer=this.options.renderer||new lp,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new _f}static parse(t,e){return new r(e).parse(t)}static parseInline(t,e){return new r(e).parseInline(t)}parse(t,e=!0){let n="";for(let o=0;o<t.length;o++){let i=t[o];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[i.type]){let a=i,l=this.options.extensions.renderers[a.type].call({parser:this},a);if(l!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(a.type)){n+=l||"";continue}}let s=i;switch(s.type){case"space":{n+=this.renderer.space(s);continue}case"hr":{n+=this.renderer.hr(s);continue}case"heading":{n+=this.renderer.heading(s);continue}case"code":{n+=this.renderer.code(s);continue}case"table":{n+=this.renderer.table(s);continue}case"blockquote":{n+=this.renderer.blockquote(s);continue}case"list":{n+=this.renderer.list(s);continue}case"html":{n+=this.renderer.html(s);continue}case"paragraph":{n+=this.renderer.paragraph(s);continue}case"text":{let a=s,l=this.renderer.text(a);for(;o+1<t.length&&t[o+1].type==="text";)a=t[++o],l+=`
`+this.renderer.text(a);e?n+=this.renderer.paragraph({type:"paragraph",raw:l,text:l,tokens:[{type:"text",raw:l,text:l}]}):n+=l;continue}default:{let a='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return n}parseInline(t,e){e=e||this.renderer;let n="";for(let o=0;o<t.length;o++){let i=t[o];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[i.type]){let a=this.options.extensions.renderers[i.type].call({parser:this},i);if(a!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i.type)){n+=a||"";continue}}let s=i;switch(s.type){case"escape":{n+=e.text(s);break}case"html":{n+=e.html(s);break}case"link":{n+=e.link(s);break}case"image":{n+=e.image(s);break}case"strong":{n+=e.strong(s);break}case"em":{n+=e.em(s);break}case"codespan":{n+=e.codespan(s);break}case"br":{n+=e.br(s);break}case"del":{n+=e.del(s);break}case"text":{n+=e.text(s);break}default:{let a='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return n}},sp=class{options;constructor(t){this.options=t||Sc}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}},GR=class{defaults=KR();options=this.setOptions;parse=this.parseMarkdown(Ys.lex,Xs.parse);parseInline=this.parseMarkdown(Ys.lexInline,Xs.parseInline);Parser=Xs;Renderer=lp;TextRenderer=_f;Lexer=Ys;Tokenizer=ap;Hooks=sp;constructor(...t){this.use(...t)}walkTokens(t,e){let n=[];for(let o of t)switch(n=n.concat(e.call(this,o)),o.type){case"table":{let i=o;for(let s of i.header)n=n.concat(this.walkTokens(s.tokens,e));for(let s of i.rows)for(let a of s)n=n.concat(this.walkTokens(a.tokens,e));break}case"list":{let i=o;n=n.concat(this.walkTokens(i.items,e));break}default:{let i=o;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(s=>{let a=i[s].flat(1/0);n=n.concat(this.walkTokens(a,e))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,e)))}}return n}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(n=>{let o={...n};if(o.async=this.defaults.async||o.async||!1,n.extensions&&(n.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let s=e.renderers[i.name];s?e.renderers[i.name]=function(...a){let l=i.renderer.apply(this,a);return l===!1&&(l=s.apply(this,a)),l}:e.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=e[i.level];s?s.unshift(i.tokenizer):e[i.level]=[i.tokenizer],i.start&&(i.level==="block"?e.startBlock?e.startBlock.push(i.start):e.startBlock=[i.start]:i.level==="inline"&&(e.startInline?e.startInline.push(i.start):e.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(e.childTokens[i.name]=i.childTokens)}),o.extensions=e),n.renderer){let i=this.defaults.renderer||new lp(this.defaults);for(let s in n.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let a=s,l=n.renderer[a],c=i[a];i[a]=(...u)=>{let p=l.apply(i,u);return p===!1&&(p=c.apply(i,u)),p||""}}o.renderer=i}if(n.tokenizer){let i=this.defaults.tokenizer||new ap(this.defaults);for(let s in n.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let a=s,l=n.tokenizer[a],c=i[a];i[a]=(...u)=>{let p=l.apply(i,u);return p===!1&&(p=c.apply(i,u)),p}}o.tokenizer=i}if(n.hooks){let i=this.defaults.hooks||new sp;for(let s in n.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if(s==="options")continue;let a=s,l=n.hooks[a],c=i[a];sp.passThroughHooks.has(s)?i[a]=u=>{if(this.defaults.async)return Promise.resolve(l.call(i,u)).then(m=>c.call(i,m));let p=l.call(i,u);return c.call(i,p)}:i[a]=(...u)=>{let p=l.apply(i,u);return p===!1&&(p=c.apply(i,u)),p}}o.hooks=i}if(n.walkTokens){let i=this.defaults.walkTokens,s=n.walkTokens;o.walkTokens=function(a){let l=[];return l.push(s.call(this,a)),i&&(l=l.concat(i.call(this,a))),l}}this.defaults={...this.defaults,...o}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return Ys.lex(t,e??this.defaults)}parser(t,e){return Xs.parse(t,e??this.defaults)}parseMarkdown(t,e){return(o,i)=>{let s={...i},a={...this.defaults,...s},l=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&s.async===!1)return l(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof o>"u"||o===null)return l(new Error("marked(): input parameter is undefined or null"));if(typeof o!="string")return l(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(o)+", string expected"));if(a.hooks&&(a.hooks.options=a),a.async)return Promise.resolve(a.hooks?a.hooks.preprocess(o):o).then(c=>t(c,a)).then(c=>a.hooks?a.hooks.processAllTokens(c):c).then(c=>a.walkTokens?Promise.all(this.walkTokens(c,a.walkTokens)).then(()=>c):c).then(c=>e(c,a)).then(c=>a.hooks?a.hooks.postprocess(c):c).catch(l);try{a.hooks&&(o=a.hooks.preprocess(o));let c=t(o,a);a.hooks&&(c=a.hooks.processAllTokens(c)),a.walkTokens&&this.walkTokens(c,a.walkTokens);let u=e(c,a);return a.hooks&&(u=a.hooks.postprocess(u)),u}catch(c){return l(c)}}}onError(t,e){return n=>{if(n.message+=`
Please report this to https://github.com/markedjs/marked.`,t){let o="<p>An error occurred:</p><pre>"+Ar(n.message+"",!0)+"</pre>";return e?Promise.resolve(o):o}if(e)return Promise.reject(n);throw n}}},bc=new GR;Ft.options=Ft.setOptions=function(r){return bc.setOptions(r),Ft.defaults=bc.defaults,fF(Ft.defaults),Ft};Ft.getDefaults=KR;Ft.defaults=Sc;Ft.use=function(...r){return bc.use(...r),Ft.defaults=bc.defaults,fF(Ft.defaults),Ft};Ft.walkTokens=function(r,t){return bc.walkTokens(r,t)};Ft.parseInline=bc.parseInline;Ft.Parser=Xs;Ft.parser=Xs.parse;Ft.Renderer=lp;Ft.TextRenderer=_f;Ft.Lexer=Ys;Ft.lexer=Ys.lex;Ft.Tokenizer=ap;Ft.Hooks=sp;Ft.parse=Ft;O1e=Ft.options,U1e=Ft.setOptions,N1e=Ft.use,F1e=Ft.walkTokens,V1e=Ft.parseInline,H1e=Xs.parse,W1e=Ys.lex});function*TF(r){let t=[r];for(;t.length>0;){let e=t.pop();if(yield e,e.children)for(let n of e.children.values())t.push(n)}}var Ho,pS,Lf,RF=y(()=>{Gr();Ho=Symbol("unset"),pS=class{constructor(){this.root=new Lf;this._size=0}get size(){return this._size}get nodes(){return this.root.children?.values()||Gt.empty()}get entries(){return this.root.children?.entries()||Gt.empty()}insert(t,e,n){this.opNode(t,o=>o._value=e,n)}mutate(t,e){this.opNode(t,n=>n._value=e(n._value===Ho?void 0:n._value))}mutatePath(t,e){this.opNode(t,()=>{},n=>e(n))}delete(t){let e=this.getPathToKey(t);if(!e)return;let n=e.length-1,o=e[n].node._value;if(o!==Ho){for(this._size--,e[n].node._value=Ho;n>0;n--){let{node:i,part:s}=e[n];if(i.children?.size||i._value!==Ho)break;e[n-1].node.children.delete(s)}return o}}*deleteRecursive(t){let e=this.getPathToKey(t);if(!e)return;let n=e[e.length-1].node;for(let o=e.length-1;o>0;o--){let i=e[o-1];if(i.node.children.delete(e[o].part),i.node.children.size>0||i.node._value!==Ho)break}for(let o of TF(n))o._value!==Ho&&(this._size--,yield o._value);n===this.root&&(this.root._value=Ho,this.root.children=void 0)}find(t){let e=this.root;for(let n of t){let o=e.children?.get(n);if(!o)return;e=o}return e._value===Ho?void 0:e._value}hasKeyOrParent(t){let e=this.root;for(let n of t){let o=e.children?.get(n);if(!o)return!1;if(o._value!==Ho)return!0;e=o}return!1}hasKeyOrChildren(t){let e=this.root;for(let n of t){let o=e.children?.get(n);if(!o)return!1;e=o}return!0}hasKey(t){let e=this.root;for(let n of t){let o=e.children?.get(n);if(!o)return!1;e=o}return e._value!==Ho}getPathToKey(t){let e=[{part:"",node:this.root}],n=0;for(let o of t){let i=e[n].node.children?.get(o);if(!i)return;e.push({part:o,node:i}),n++}return e}opNode(t,e,n){let o=this.root;for(let a of t){if(o.children)if(o.children.has(a))o=o.children.get(a);else{let l=new Lf;o.children.set(a,l),o=l}else{let l=new Lf;o.children=new Map([[a,l]]),o=l}n?.(o)}let i=o._value===Ho?0:1;e(o);let s=o._value===Ho?0:1;this._size+=s-i}*values(){for(let{_value:t}of TF(this.root))t!==Ho&&(yield t)}};Lf=class{constructor(){this._value=Ho}get value(){return this._value===Ho?void 0:this._value}set value(t){this._value=t===void 0?Ho:t}}});var PF=y(()=>{de();Q()});var kF,DF=y(()=>{de();kF=new class{constructor(){this._zoomLevel=0;this._onDidChangeZoomLevel=new w;this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(r){r=Math.min(Math.max(-5,r),20),this._zoomLevel!==r&&(this._zoomLevel=r,this._onDidChangeZoomLevel.fire(this._zoomLevel))}}});var sz,ZR,eP,az,mS,tP,nP,lz,cz,dz,wi,_F=y(()=>{me();DF();sz=ut?1.5:1.35,ZR=8,eP=class r{constructor(t){this._bareFontInfoBrand=void 0;this.pixelRatio=t.pixelRatio,this.fontFamily=String(t.fontFamily),this.fontWeight=String(t.fontWeight),this.fontSize=t.fontSize,this.fontFeatureSettings=t.fontFeatureSettings,this.fontVariationSettings=t.fontVariationSettings,this.lineHeight=t.lineHeight|0,this.letterSpacing=t.letterSpacing}static _create(t,e,n,o,i,s,a,l,c){s===0?s=sz*n:s<ZR&&(s=s*n),s=Math.round(s),s<ZR&&(s=ZR);let u=1+(c?0:kF.getZoomLevel()*.1);return n*=u,s*=u,i===nP&&(e==="normal"||e==="bold"?i=tP:(i=`'wght' ${parseInt(e,10)}`,e="normal")),new r({pixelRatio:l,fontFamily:t,fontWeight:e,fontSize:n,fontFeatureSettings:o,fontVariationSettings:i,lineHeight:s,letterSpacing:a})}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.fontVariationSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){let t=wi.fontFamily,e=r._wrapInQuotes(this.fontFamily);return t&&this.fontFamily!==t?`${e}, ${t}`:e}static _wrapInQuotes(t){return/[,"']/.test(t)?t:/[+ ]/.test(t)?`"${t}"`:t}},az=2,mS=class extends eP{constructor(e,n){super(e);this._editorStylingBrand=void 0;this.version=az;this.isTrusted=n,this.isMonospace=e.isMonospace,this.typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=e.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=e.canUseHalfwidthRightwardsArrow,this.spaceWidth=e.spaceWidth,this.middotWidth=e.middotWidth,this.wsmiddotWidth=e.wsmiddotWidth,this.maxDigitWidth=e.maxDigitWidth}equals(e){return this.fontFamily===e.fontFamily&&this.fontWeight===e.fontWeight&&this.fontSize===e.fontSize&&this.fontFeatureSettings===e.fontFeatureSettings&&this.fontVariationSettings===e.fontVariationSettings&&this.lineHeight===e.lineHeight&&this.letterSpacing===e.letterSpacing&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===e.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.maxDigitWidth===e.maxDigitWidth}},tP="normal",nP="translate",lz="Consolas, 'Courier New', monospace",cz="Menlo, Monaco, 'Courier New', monospace",dz="'Droid Sans Mono', monospace",wi={fontFamily:ut?cz:te?lz:dz,fontWeight:"normal",fontSize:ut?12:14,lineHeight:0,letterSpacing:0}});var oP,MF=y(()=>{oP={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}}});function uz(r=""){let t="(-?\\d*\\.\\d\\w*)|([^";for(let e of rP)r.indexOf(e)>=0||(t+="\\"+e);return t+="\\s]+)",new RegExp(t,"g")}var rP,iMe,pz,AF=y(()=>{Gr();Q();mv();rP="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";iMe=uz(),pz=new va;pz.unshift({maxLen:1e3,windowSize:15,timeBudget:150})});var cMe,dMe,LF=y(()=>{lo();X();cMe=D("accessibilityService"),dMe=new x("accessibilityModeEnabled",!1)});function gS(r,t){if(typeof r!="object"||typeof t!="object"||!r||!t)return new cp(t,r!==t);if(Array.isArray(r)||Array.isArray(t)){let n=Array.isArray(r)&&Array.isArray(t)&&vn(r,t);return new cp(t,!n)}let e=!1;for(let n in t)if(t.hasOwnProperty(n)){let o=gS(r[n],t[n]);o.didChange&&(r[n]=o.newValue,e=!0)}return new cp(r,e)}function ne(r,t){return typeof r>"u"?t:r==="false"?!1:!!r}function gz(r,t,e,n){if(typeof r=="string"&&(r=parseInt(r,10)),typeof r!="number"||isNaN(r))return t;let o=r;return o=Math.max(e,o),o=Math.min(n,o),o|0}function It(r,t,e,n){return typeof r!="string"?t:n&&r in n?n[r]:e.indexOf(r)===-1?t:r}function fz(r){switch(r){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}function hz(r){switch(r){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}function OF(r){switch(r){case"line":return 1;case"block":return 2;case"underline":return 3;case"line-thin":return 4;case"block-outline":return 5;case"underline-thin":return 6}}function vz(r){return r==="ctrlCmd"?ut?"metaKey":"ctrlKey":"altKey"}function UF(r,t){if(typeof r!="string")return t;switch(r){case"hidden":return 2;case"visible":return 3;default:return 1}}function dp(r,t,e){let n=e.indexOf(r);return n===-1?t:e[n]}function M(r){return yz[r.id]=r,r}var mz,iP,bt,cp,rs,cl,ve,Ke,hr,po,yt,Cc,sP,aP,lP,cP,dP,uP,pP,mP,gP,fP,hP,vP,yP,IP,bP,SP,xP,CP,EP,wP,TP,RP,PP,kP,DP,_P,MP,AP,LP,OP,UP,NP,Ti,xc,FP,VP,HP,WP,BP,$P,qP,zP,GP,KP,jP,yz,bMe,NF=y(()=>{Lt();en();me();PF();tE();_F();MF();AF();le();LF();mz=8,iP=class{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}},bt=class{constructor(t,e,n,o){this.id=t,this.name=e,this.defaultValue=n,this.schema=o}applyUpdate(t,e){return gS(t,e)}compute(t,e,n){return n}},cp=class{constructor(t,e){this.newValue=t;this.didChange=e}};rs=class{constructor(t,e){this.schema=void 0;this.id=t,this.name="_never_",this.defaultValue=e}applyUpdate(t,e){return gS(t,e)}validate(t){return this.defaultValue}},cl=class{constructor(t,e,n,o){this.id=t,this.name=e,this.defaultValue=n,this.schema=o}applyUpdate(t,e){return gS(t,e)}compute(t,e,n){return n}};ve=class extends cl{constructor(t,e,n,o=void 0){typeof o<"u"&&(o.type="boolean",o.default=n),super(t,e,n,o)}validate(t){return ne(t,this.defaultValue)}};Ke=class r extends cl{static clampedInt(t,e,n,o){return gz(t,e,n,o)}constructor(t,e,n,o,i,s=void 0){typeof s<"u"&&(s.type="integer",s.default=n,s.minimum=o,s.maximum=i),super(t,e,n,s),this.minimum=o,this.maximum=i}validate(t){return r.clampedInt(t,this.defaultValue,this.minimum,this.maximum)}},hr=class r extends cl{static clamp(t,e,n){return t<e?e:t>n?n:t}static float(t,e){return typeof t=="string"&&(t=parseFloat(t)),typeof t!="number"||isNaN(t)?e:t}constructor(t,e,n,o,i,s,a){typeof i<"u"&&(i.type="number",i.default=n,i.minimum=s,i.maximum=a),super(t,e,n,i),this.validationFn=o,this.minimum=s,this.maximum=a}validate(t){return this.validationFn(r.float(t,this.defaultValue))}},po=class r extends cl{static string(t,e){return typeof t!="string"?e:t}constructor(t,e,n,o=void 0){typeof o<"u"&&(o.type="string",o.default=n),super(t,e,n,o)}validate(t){return r.string(t,this.defaultValue)}};yt=class extends cl{constructor(t,e,n,o,i=void 0){typeof i<"u"&&(i.type="string",i.enum=o.slice(0),i.default=n),super(t,e,n,i),this._allowedValues=o}validate(t){return It(t,this.defaultValue,this._allowedValues)}},Cc=class extends bt{constructor(t,e,n,o,i,s,a=void 0){typeof a<"u"&&(a.type="string",a.enum=i,a.default=o),super(t,e,n,a),this._allowedValues=i,this._convert=s}validate(t){return typeof t!="string"?this.defaultValue:this._allowedValues.indexOf(t)===-1?this.defaultValue:this._convert(t)}};sP=class extends bt{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[d(309,null),d(311,null),d(310,null)],default:"auto",tags:["accessibility"],description:d(308,null)})}validate(t){switch(t){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(t,e,n){return n===0?t.accessibilitySupport:n}},aP=class extends bt{constructor(){let t={insertSpace:!0,ignoreEmptyLines:!0};super(29,"comments",t,{"editor.comments.insertSpace":{type:"boolean",default:t.insertSpace,description:d(339,null)},"editor.comments.ignoreEmptyLines":{type:"boolean",default:t.ignoreEmptyLines,description:d(338,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{insertSpace:ne(e.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:ne(e.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}};lP=class extends rs{constructor(){super(162,"")}compute(t,e,n){let o=["monaco-editor"];return e.get(48)&&o.push(e.get(48)),t.extraEditorClassName&&o.push(t.extraEditorClassName),e.get(82)==="default"?o.push("mouse-default"):e.get(82)==="copy"&&o.push("mouse-copy"),e.get(127)&&o.push("showUnused"),e.get(157)&&o.push("showDeprecated"),o.join(" ")}},cP=class extends ve{constructor(){super(45,"emptySelectionClipboard",!0,{description:d(462,null)})}compute(t,e,n){return n&&t.emptySelectionClipboard}},dP=class extends bt{constructor(){let t={cursorMoveOnType:!0,findOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0,closeOnResult:!1,history:"workspace",replaceHistory:"workspace"};super(50,"find",t,{"editor.find.cursorMoveOnType":{type:"boolean",default:t.cursorMoveOnType,description:d(475,null)},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:t.seedSearchStringFromSelection,enumDescriptions:[d(398,null),d(397,null),d(399,null)],description:d(481,null)},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:t.autoFindInSelection,enumDescriptions:[d(392,null),d(390,null),d(391,null)],description:d(473,null)},"editor.find.globalFindClipboard":{type:"boolean",default:t.globalFindClipboard,description:d(477,null),included:ut},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:t.addExtraSpaceOnTop,description:d(472,null)},"editor.find.loop":{type:"boolean",default:t.loop,description:d(479,null)},"editor.find.closeOnResult":{type:"boolean",default:t.closeOnResult,description:d(474,null)},"editor.find.history":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[d(393,null),d(394,null)],description:d(478,null)},"editor.find.replaceHistory":{type:"string",enum:["never","workspace"],default:"workspace",enumDescriptions:[d(395,null),d(396,null)],description:d(480,null)},"editor.find.findOnType":{type:"boolean",default:t.findOnType,description:d(476,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{cursorMoveOnType:ne(e.cursorMoveOnType,this.defaultValue.cursorMoveOnType),findOnType:ne(e.findOnType,this.defaultValue.findOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection=="boolean"?e.seedSearchStringFromSelection?"always":"never":It(e.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof e.autoFindInSelection=="boolean"?e.autoFindInSelection?"always":"never":It(e.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:ne(e.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:ne(e.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:ne(e.loop,this.defaultValue.loop),closeOnResult:ne(e.closeOnResult,this.defaultValue.closeOnResult),history:It(e.history,this.defaultValue.history,["never","workspace"]),replaceHistory:It(e.replaceHistory,this.defaultValue.replaceHistory,["never","workspace"])}}},uP=class r extends bt{static{this.OFF='"liga" off, "calt" off'}static{this.ON='"liga" on, "calt" on'}constructor(){super(60,"fontLigatures",r.OFF,{anyOf:[{type:"boolean",description:d(491,null)},{type:"string",description:d(490,null)}],description:d(492,null),default:!1})}validate(t){return typeof t>"u"?this.defaultValue:typeof t=="string"?t==="false"||t.length===0?r.OFF:t==="true"?r.ON:t:t?r.ON:r.OFF}},pP=class r extends bt{static{this.OFF=tP}static{this.TRANSLATE=nP}constructor(){super(63,"fontVariations",r.OFF,{anyOf:[{type:"boolean",description:d(494,null)},{type:"string",description:d(495,null)}],description:d(496,null),default:!1})}validate(t){return typeof t>"u"?this.defaultValue:typeof t=="string"?t==="false"?r.OFF:t==="true"?r.TRANSLATE:t:t?r.TRANSLATE:r.OFF}compute(t,e,n){return t.fontInfo.fontVariationSettings}},mP=class extends rs{constructor(){super(59,new mS({pixelRatio:0,fontFamily:"",fontWeight:"",fontSize:0,fontFeatureSettings:"",fontVariationSettings:"",lineHeight:0,letterSpacing:0,isMonospace:!1,typicalHalfwidthCharacterWidth:0,typicalFullwidthCharacterWidth:0,canUseHalfwidthRightwardsArrow:!1,spaceWidth:0,middotWidth:0,wsmiddotWidth:0,maxDigitWidth:0},!1))}compute(t,e,n){return t.fontInfo}},gP=class extends rs{constructor(){super(161,1)}compute(t,e,n){return t.inputMode==="overtype"?e.get(92):e.get(34)}},fP=class extends rs{constructor(){super(170,!1)}compute(t,e){return t.editContextSupported&&e.get(44)}},hP=class extends rs{constructor(){super(172,!1)}compute(t,e){return t.accessibilitySupport===2?e.get(7):e.get(6)}},vP=class extends cl{constructor(){super(61,"fontSize",wi.fontSize,{type:"number",minimum:6,maximum:100,default:wi.fontSize,description:d(493,null)})}validate(t){let e=hr.float(t,this.defaultValue);return e===0?wi.fontSize:hr.clamp(e,6,100)}compute(t,e,n){return t.fontInfo.fontSize}},yP=class r extends bt{static{this.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1e3}constructor(){super(62,"fontWeight",wi.fontWeight,{anyOf:[{type:"number",minimum:r.MINIMUM_VALUE,maximum:r.MAXIMUM_VALUE,errorMessage:d(498,null)},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:r.SUGGESTION_VALUES}],default:wi.fontWeight,description:d(497,null)})}validate(t){return t==="normal"||t==="bold"?t:String(Ke.clampedInt(t,wi.fontWeight,r.MINIMUM_VALUE,r.MAXIMUM_VALUE))}},IP=class extends bt{constructor(){let t={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",multipleTests:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:"",alternativeTestsCommand:""},e={type:"string",enum:["peek","gotoAndPeek","goto"],default:t.multiple,enumDescriptions:[d(403,null),d(402,null),d(401,null)]},n=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(67,"gotoLocation",t,{"editor.gotoLocation.multiple":{deprecationMessage:d(400,null)},"editor.gotoLocation.multipleDefinitions":{description:d(386,null),...e},"editor.gotoLocation.multipleTypeDefinitions":{description:d(389,null),...e},"editor.gotoLocation.multipleDeclarations":{description:d(385,null),...e},"editor.gotoLocation.multipleImplementations":{description:d(387,null),...e},"editor.gotoLocation.multipleReferences":{description:d(388,null),...e},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:t.alternativeDefinitionCommand,enum:n,description:d(316,null)},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:t.alternativeTypeDefinitionCommand,enum:n,description:d(319,null)},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:t.alternativeDeclarationCommand,enum:n,description:d(315,null)},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:t.alternativeImplementationCommand,enum:n,description:d(317,null)},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:t.alternativeReferenceCommand,enum:n,description:d(318,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{multiple:It(e.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:It(e.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:It(e.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:It(e.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:It(e.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:It(e.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:It(e.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:po.string(e.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:po.string(e.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:po.string(e.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:po.string(e.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:po.string(e.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:po.string(e.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}},bP=class extends bt{constructor(){let t={enabled:"on",delay:300,hidingDelay:300,sticky:!0,above:!0,showLongLineWarning:!0};super(69,"hover",t,{"editor.hover.enabled":{type:"string",enum:["on","off","onKeyboardModifier"],default:t.enabled,markdownEnumDescriptions:[d(507,null),d(506,null),d(508,null,ut?"Command":"Control")],description:d(505,null),keywords:["hint","info","tooltip"]},"editor.hover.delay":{type:"number",default:t.delay,minimum:0,maximum:1e4,description:d(504,null)},"editor.hover.sticky":{type:"boolean",default:t.sticky,description:d(511,null)},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:t.hidingDelay,markdownDescription:d(509,null)},"editor.hover.above":{type:"boolean",default:t.above,description:d(503,null)},"editor.hover.showLongLineWarning":{type:"boolean",default:t.showLongLineWarning,description:d(510,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:It(e.enabled,this.defaultValue.enabled,["on","off","onKeyboardModifier"]),delay:Ke.clampedInt(e.delay,this.defaultValue.delay,0,1e4),sticky:ne(e.sticky,this.defaultValue.sticky),hidingDelay:Ke.clampedInt(e.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:ne(e.above,this.defaultValue.above),showLongLineWarning:ne(e.showLongLineWarning,this.defaultValue.showLongLineWarning)}}},SP=class r extends rs{constructor(){super(165,{width:0,height:0,glyphMarginLeft:0,glyphMarginWidth:0,glyphMarginDecorationLaneCount:0,lineNumbersLeft:0,lineNumbersWidth:0,decorationsLeft:0,decorationsWidth:0,contentLeft:0,contentWidth:0,minimap:{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:0,minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:0},viewportColumn:0,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1,verticalScrollbarWidth:0,horizontalScrollbarHeight:0,overviewRuler:{top:0,width:0,height:0,right:0}})}compute(t,e,n){return r.computeLayout(e,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(t){let e=t.height/t.lineHeight,n=Math.floor(t.paddingTop/t.lineHeight),o=Math.floor(t.paddingBottom/t.lineHeight);t.scrollBeyondLastLine&&(o=Math.max(o,e-1));let i=(n+t.viewLineCount+o)/(t.pixelRatio*t.height),s=Math.floor(t.viewLineCount/i);return{typicalViewportLineCount:e,extraLinesBeforeFirstLine:n,extraLinesBeyondLastLine:o,desiredRatio:i,minimapLineCount:s}}static _computeMinimapLayout(t,e){let n=t.outerWidth,o=t.outerHeight,i=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(i*o),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:o};let s=e.stableMinimapLayoutInput,a=s&&t.outerHeight===s.outerHeight&&t.lineHeight===s.lineHeight&&t.typicalHalfwidthCharacterWidth===s.typicalHalfwidthCharacterWidth&&t.pixelRatio===s.pixelRatio&&t.scrollBeyondLastLine===s.scrollBeyondLastLine&&t.paddingTop===s.paddingTop&&t.paddingBottom===s.paddingBottom&&t.minimap.enabled===s.minimap.enabled&&t.minimap.side===s.minimap.side&&t.minimap.size===s.minimap.size&&t.minimap.showSlider===s.minimap.showSlider&&t.minimap.renderCharacters===s.minimap.renderCharacters&&t.minimap.maxColumn===s.minimap.maxColumn&&t.minimap.scale===s.minimap.scale&&t.verticalScrollbarWidth===s.verticalScrollbarWidth&&t.isViewportWrapping===s.isViewportWrapping,l=t.lineHeight,c=t.typicalHalfwidthCharacterWidth,u=t.scrollBeyondLastLine,p=t.minimap.renderCharacters,m=i>=2?Math.round(t.minimap.scale*2):t.minimap.scale,g=t.minimap.maxColumn,h=t.minimap.size,v=t.minimap.side,S=t.verticalScrollbarWidth,T=t.viewLineCount,E=t.remainingWidth,k=t.isViewportWrapping,P=p?2:3,U=Math.floor(i*o),xe=U/i,V=!1,ae=!1,j=P*m,z=m/i,ee=1;if(h==="fill"||h==="fit"){let{typicalViewportLineCount:B,extraLinesBeforeFirstLine:Y,extraLinesBeyondLastLine:ue,desiredRatio:Ie,minimapLineCount:ht}=r.computeContainedMinimapLineCount({viewLineCount:T,scrollBeyondLastLine:u,paddingTop:t.paddingTop,paddingBottom:t.paddingBottom,height:o,lineHeight:l,pixelRatio:i});if(T/ht>1)V=!0,ae=!0,m=1,j=1,z=m/i;else{let dt=!1,kt=m+1;if(h==="fit"){let Mt=Math.ceil((Y+T+ue)*j);k&&a&&E<=e.stableFitRemainingWidth?(dt=!0,kt=e.stableFitMaxMinimapScale):dt=Mt>U}if(h==="fill"||dt){V=!0;let Mt=m;j=Math.min(l*i,Math.max(1,Math.floor(1/Ie))),k&&a&&E<=e.stableFitRemainingWidth&&(kt=e.stableFitMaxMinimapScale),m=Math.min(kt,Math.max(1,Math.floor(j/P))),m>Mt&&(ee=Math.min(2,m/Mt)),z=m/i/ee,U=Math.ceil(Math.max(B,Y+T+ue)*j),k?(e.stableMinimapLayoutInput=t,e.stableFitRemainingWidth=E,e.stableFitMaxMinimapScale=m):(e.stableMinimapLayoutInput=null,e.stableFitRemainingWidth=0)}}}let Ce=Math.floor(g*z),Bt=Math.min(Ce,Math.max(0,Math.floor((E-S-2)*z/(c+z)))+mz),Xt=Math.floor(i*Bt),ce=Xt/i;Xt=Math.floor(Xt*ee);let N=p?1:2,H=v==="left"?0:n-Bt-S;return{renderMinimap:N,minimapLeft:H,minimapWidth:Bt,minimapHeightIsEditorHeight:V,minimapIsSampling:ae,minimapScale:m,minimapLineHeight:j,minimapCanvasInnerWidth:Xt,minimapCanvasInnerHeight:U,minimapCanvasOuterWidth:ce,minimapCanvasOuterHeight:xe}}static computeLayout(t,e){let n=e.outerWidth|0,o=e.outerHeight|0,i=e.lineHeight|0,s=e.lineNumbersDigitCount|0,a=e.typicalHalfwidthCharacterWidth,l=e.maxDigitWidth,c=e.pixelRatio,u=e.viewLineCount,p=t.get(154),m=p==="inherit"?t.get(153):p,g=m==="inherit"?t.get(149):m,h=t.get(152),v=e.isDominatedByLongLines,S=t.get(66),T=t.get(76).renderType!==0,E=t.get(77),k=t.get(119),P=t.get(96),U=t.get(81),xe=t.get(117),V=xe.verticalScrollbarSize,ae=xe.verticalHasArrows,j=xe.arrowSize,z=xe.horizontalScrollbarSize,ee=t.get(52),Ce=t.get(126)!=="never",Bt=t.get(74);ee&&Ce&&(Bt+=16);let Xt=0;if(T){let Dn=Math.max(s,E);Xt=Math.round(Dn*l)}let ce=0;S&&(ce=i*e.glyphMarginDecorationLaneCount);let N=0,H=N+ce,B=H+Xt,Y=B+Bt,ue=n-ce-Xt-Bt,Ie=!1,ht=!1,je=-1;t.get(2)===2&&m==="inherit"&&v?(Ie=!0,ht=!0):g==="on"||g==="bounded"?ht=!0:g==="wordWrapColumn"&&(je=h);let dt=r._computeMinimapLayout({outerWidth:n,outerHeight:o,lineHeight:i,typicalHalfwidthCharacterWidth:a,pixelRatio:c,scrollBeyondLastLine:k,paddingTop:P.top,paddingBottom:P.bottom,minimap:U,verticalScrollbarWidth:V,viewLineCount:u,remainingWidth:ue,isViewportWrapping:ht},e.memory||new iP);dt.renderMinimap!==0&&dt.minimapLeft===0&&(N+=dt.minimapWidth,H+=dt.minimapWidth,B+=dt.minimapWidth,Y+=dt.minimapWidth);let kt=ue-dt.minimapWidth,Mt=Math.max(1,Math.floor((kt-V-2)/a)),kn=ae?j:0;return ht&&(je=Math.max(1,Mt),g==="bounded"&&(je=Math.min(je,h))),{width:n,height:o,glyphMarginLeft:N,glyphMarginWidth:ce,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount,lineNumbersLeft:H,lineNumbersWidth:Xt,decorationsLeft:B,decorationsWidth:Bt,contentLeft:Y,contentWidth:kt,minimap:dt,viewportColumn:Mt,isWordWrapMinified:Ie,isViewportWrapping:ht,wrappingColumn:je,verticalScrollbarWidth:V,horizontalScrollbarHeight:z,overviewRuler:{top:kn,width:V,height:o-2*kn,right:0}}}},xP=class extends bt{constructor(){super(156,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[d(724,null),d(723,null)],type:"string",enum:["simple","advanced"],default:"simple",description:d(722,null)}})}validate(t){return It(t,"simple",["simple","advanced"])}compute(t,e,n){return e.get(2)===2?"advanced":n}},CP=class extends bt{constructor(){let t={enabled:"onCode"};super(73,"lightbulb",t,{"editor.lightbulb.enabled":{type:"string",enum:["off","onCode","on"],default:t.enabled,enumDescriptions:[d(424,null),d(426,null),d(425,null)],description:d(463,null)}})}validate(t){return!t||typeof t!="object"?this.defaultValue:{enabled:It(t.enabled,this.defaultValue.enabled,["off","onCode","on"])}}},EP=class extends bt{constructor(){let t={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(131,"stickyScroll",t,{"editor.stickyScroll.enabled":{type:"boolean",default:t.enabled,description:d(428,null)},"editor.stickyScroll.maxLineCount":{type:"number",default:t.maxLineCount,minimum:1,maximum:20,description:d(429,null)},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:t.defaultModel,description:d(427,null)},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:t.scrollWithEditor,description:d(430,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:ne(e.enabled,this.defaultValue.enabled),maxLineCount:Ke.clampedInt(e.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:It(e.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:ne(e.scrollWithEditor,this.defaultValue.scrollWithEditor)}}},wP=class extends bt{constructor(){let t={enabled:"on",fontSize:0,fontFamily:"",padding:!1,maximumLength:43};super(159,"inlayHints",t,{"editor.inlayHints.enabled":{type:"string",default:t.enabled,description:d(513,null),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[d(420,null),d(421,null,ut?"Ctrl+Option":"Ctrl+Alt"),d(419,null,ut?"Ctrl+Option":"Ctrl+Alt"),d(418,null)]},"editor.inlayHints.fontSize":{type:"number",default:t.fontSize,markdownDescription:d(515,null,"`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:t.fontFamily,markdownDescription:d(514,null,"`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:t.padding,description:d(517,null)},"editor.inlayHints.maximumLength":{type:"number",default:t.maximumLength,markdownDescription:d(516,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return typeof e.enabled=="boolean"&&(e.enabled=e.enabled?"on":"off"),{enabled:It(e.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:Ke.clampedInt(e.fontSize,this.defaultValue.fontSize,0,100),fontFamily:po.string(e.fontFamily,this.defaultValue.fontFamily),padding:ne(e.padding,this.defaultValue.padding),maximumLength:Ke.clampedInt(e.maximumLength,this.defaultValue.maximumLength,0,Number.MAX_SAFE_INTEGER)}}},TP=class extends bt{constructor(){super(74,"lineDecorationsWidth",10)}validate(t){return typeof t=="string"&&/^\d+(\.\d+)?ch$/.test(t)?-parseFloat(t.substring(0,t.length-2)):Ke.clampedInt(t,this.defaultValue,0,1e3)}compute(t,e,n){return n<0?Ke.clampedInt(-n*t.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):n}},RP=class extends hr{constructor(){super(75,"lineHeight",wi.lineHeight,t=>hr.clamp(t,0,150),{markdownDescription:d(540,null)},0,150)}compute(t,e,n){return t.fontInfo.lineHeight}},PP=class extends bt{constructor(){let t={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:"none",renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,markSectionHeaderRegex:"\\bMARK:\\s*(?<separator>-?)\\s*(?<label>.*)$",sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(81,"minimap",t,{"editor.minimap.enabled":{type:"boolean",default:t.enabled,description:d(553,null)},"editor.minimap.autohide":{type:"string",enum:["none","mouseover","scroll"],enumDescriptions:[d(551,null),d(550,null),d(552,null)],default:t.autohide,description:d(549,null)},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[d(567,null),d(565,null),d(566,null)],default:t.size,description:d(564,null)},"editor.minimap.side":{type:"string",enum:["left","right"],default:t.side,description:d(563,null)},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:t.showSlider,description:d(562,null)},"editor.minimap.scale":{type:"number",default:t.scale,minimum:1,maximum:3,enum:[1,2,3],description:d(557,null)},"editor.minimap.renderCharacters":{type:"boolean",default:t.renderCharacters,description:d(556,null)},"editor.minimap.maxColumn":{type:"number",default:t.maxColumn,description:d(555,null)},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:t.showRegionSectionHeaders,description:d(561,null)},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:t.showMarkSectionHeaders,description:d(560,null)},"editor.minimap.markSectionHeaderRegex":{type:"string",default:t.markSectionHeaderRegex,description:d(554,null)},"editor.minimap.sectionHeaderFontSize":{type:"number",default:t.sectionHeaderFontSize,description:d(558,null)},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:t.sectionHeaderLetterSpacing,description:d(559,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t,n=this.defaultValue.markSectionHeaderRegex,o=e.markSectionHeaderRegex;if(typeof o=="string")try{new RegExp(o,"d"),n=o}catch{}return{enabled:ne(e.enabled,this.defaultValue.enabled),autohide:It(e.autohide,this.defaultValue.autohide,["none","mouseover","scroll"]),size:It(e.size,this.defaultValue.size,["proportional","fill","fit"]),side:It(e.side,this.defaultValue.side,["right","left"]),showSlider:It(e.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:ne(e.renderCharacters,this.defaultValue.renderCharacters),scale:Ke.clampedInt(e.scale,1,1,3),maxColumn:Ke.clampedInt(e.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:ne(e.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:ne(e.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),markSectionHeaderRegex:n,sectionHeaderFontSize:hr.clamp(hr.float(e.sectionHeaderFontSize,this.defaultValue.sectionHeaderFontSize),4,32),sectionHeaderLetterSpacing:hr.clamp(hr.float(e.sectionHeaderLetterSpacing,this.defaultValue.sectionHeaderLetterSpacing),0,5)}}};kP=class extends bt{constructor(){super(96,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:d(592,null)},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:d(591,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{top:Ke.clampedInt(e.top,0,0,1e3),bottom:Ke.clampedInt(e.bottom,0,0,1e3)}}},DP=class extends bt{constructor(){let t={enabled:!0,cycle:!0};super(98,"parameterHints",t,{"editor.parameterHints.enabled":{type:"boolean",default:t.enabled,description:d(594,null)},"editor.parameterHints.cycle":{type:"boolean",default:t.cycle,description:d(593,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:ne(e.enabled,this.defaultValue.enabled),cycle:ne(e.cycle,this.defaultValue.cycle)}}},_P=class extends rs{constructor(){super(163,1)}compute(t,e,n){return t.pixelRatio}},MP=class extends bt{constructor(){super(100,"placeholder",void 0)}validate(t){return typeof t>"u"?this.defaultValue:typeof t=="string"?t:this.defaultValue}},AP=class extends bt{constructor(){let t={other:"offWhenInlineCompletions",comments:"off",strings:"off"},e=[{type:"boolean"},{type:"string",enum:["on","inline","off","offWhenInlineCompletions"],enumDescriptions:[d(587,null),d(518,null),d(585,null),d(586,null)]}];super(102,"quickSuggestions",t,{anyOf:[{type:"boolean"},{type:"string",enum:["on","inline","off","offWhenInlineCompletions"],enumDescriptions:[d(609,null),d(606,null),d(607,null),d(608,null)]},{type:"object",additionalProperties:!1,properties:{strings:{anyOf:e,default:t.strings,description:d(605,null)},comments:{anyOf:e,default:t.comments,description:d(603,null)},other:{anyOf:e,default:t.other,description:d(604,null)}}}],default:t,markdownDescription:d(602,null,"`#editor.suggestOnTriggerCharacters#`"),experiment:{mode:"auto"}}),this.defaultValue=t}validate(t){if(typeof t=="boolean"){let c=t?"on":"off";return{comments:c,strings:c,other:c}}if(typeof t=="string"){let c=["on","inline","off","offWhenInlineCompletions"],u=It(t,this.defaultValue.other,c);return{comments:u,strings:u,other:u}}if(!t||typeof t!="object")return this.defaultValue;let{other:e,comments:n,strings:o}=t,i=["on","inline","off","offWhenInlineCompletions"],s,a,l;return typeof e=="boolean"?s=e?"on":"off":s=It(e,this.defaultValue.other,i),typeof n=="boolean"?a=n?"on":"off":a=It(n,this.defaultValue.comments,i),typeof o=="boolean"?l=o?"on":"off":l=It(o,this.defaultValue.strings,i),{other:s,comments:a,strings:l}}},LP=class extends bt{constructor(){super(76,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[d(543,null),d(544,null),d(545,null),d(542,null)],default:"on",description:d(541,null)})}validate(t){let e=this.defaultValue.renderType,n=this.defaultValue.renderFn;return typeof t<"u"&&(typeof t=="function"?(e=4,n=t):t==="interval"?e=3:t==="relative"?e=2:t==="on"?e=1:e=0),{renderType:e,renderFn:n}}},OP=class extends bt{constructor(){let t=[],e={type:"number",description:d(626,null)};super(116,"rulers",t,{type:"array",items:{anyOf:[e,{type:["object"],properties:{column:e,color:{type:"string",description:d(625,null),format:"color-hex"}}}]},default:t,description:d(624,null)})}validate(t){if(Array.isArray(t)){let e=[];for(let n of t)if(typeof n=="number")e.push({column:Ke.clampedInt(n,0,0,1e4),color:null});else if(n&&typeof n=="object"){let o=n;e.push({column:Ke.clampedInt(o.column,0,0,1e4),color:o.color})}return e.sort((n,o)=>n.column-o.column),e}return this.defaultValue}},UP=class extends bt{constructor(){super(105,"readOnlyMessage",void 0)}validate(t){return!t||typeof t!="object"?this.defaultValue:t}};NP=class extends bt{constructor(){let t={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(117,"scrollbar",t,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[d(636,null),d(638,null),d(637,null)],default:"auto",description:d(635,null)},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[d(629,null),d(631,null),d(630,null)],default:"auto",description:d(628,null)},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:t.verticalScrollbarSize,description:d(639,null)},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:t.horizontalScrollbarSize,description:d(632,null)},"editor.scrollbar.scrollByPage":{type:"boolean",default:t.scrollByPage,description:d(634,null)},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:t.ignoreHorizontalScrollbarInContentHeight,description:d(633,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t,n=Ke.clampedInt(e.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),o=Ke.clampedInt(e.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:Ke.clampedInt(e.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:UF(e.vertical,this.defaultValue.vertical),horizontal:UF(e.horizontal,this.defaultValue.horizontal),useShadows:ne(e.useShadows,this.defaultValue.useShadows),verticalHasArrows:ne(e.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:ne(e.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:ne(e.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:ne(e.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:n,horizontalSliderSize:Ke.clampedInt(e.horizontalSliderSize,n,0,1e3),verticalScrollbarSize:o,verticalSliderSize:Ke.clampedInt(e.verticalSliderSize,o,0,1e3),scrollByPage:ne(e.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:ne(e.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}},Ti="inUntrustedWorkspace",xc={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"},FP=class extends bt{constructor(){let t={nonBasicASCII:Ti,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Ti,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(142,"unicodeHighlight",t,{[xc.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ti],default:t.nonBasicASCII,description:d(699,null)},[xc.invisibleCharacters]:{restricted:!0,type:"boolean",default:t.invisibleCharacters,description:d(698,null)},[xc.ambiguousCharacters]:{restricted:!0,type:"boolean",default:t.ambiguousCharacters,description:d(695,null)},[xc.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ti],default:t.includeComments,description:d(696,null)},[xc.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,Ti],default:t.includeStrings,description:d(697,null)},[xc.allowedCharacters]:{restricted:!0,type:"object",default:t.allowedCharacters,description:d(693,null),additionalProperties:{type:"boolean"}},[xc.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:t.allowedLocales,description:d(694,null)}})}applyUpdate(t,e){let n=!1;e.allowedCharacters&&t&&(pt(t.allowedCharacters,e.allowedCharacters)||(t={...t,allowedCharacters:e.allowedCharacters},n=!0)),e.allowedLocales&&t&&(pt(t.allowedLocales,e.allowedLocales)||(t={...t,allowedLocales:e.allowedLocales},n=!0));let o=super.applyUpdate(t,e);return n?new cp(o.newValue,!0):o}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{nonBasicASCII:dp(e.nonBasicASCII,Ti,[!0,!1,Ti]),invisibleCharacters:ne(e.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:ne(e.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:dp(e.includeComments,Ti,[!0,!1,Ti]),includeStrings:dp(e.includeStrings,Ti,[!0,!1,Ti]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(t,e){if(typeof t!="object"||!t)return e;let n={};for(let[o,i]of Object.entries(t))i===!0&&(n[o]=!0);return n}},VP=class extends bt{constructor(){let t={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default",syntaxHighlightingEnabled:!0,minShowDelay:0,suppressInSnippetMode:!0,edits:{enabled:!0,showCollapsed:!1,renderSideBySide:"auto",allowCodeShifting:"always",showLongDistanceHint:!0,longDistanceHintContextLineCount:0},triggerCommandOnProviderChange:!1,experimental:{suppressInlineSuggestions:"",showOnSuggestConflict:"never",emptyResponseInformation:!0}};super(71,"inlineSuggest",t,{"editor.inlineSuggest.enabled":{type:"boolean",default:t.enabled,description:d(526,null)},"editor.inlineSuggest.showToolbar":{type:"string",default:t.showToolbar,enum:["always","onHover","never"],enumDescriptions:[d(531,null),d(533,null),d(532,null)],description:d(530,null)},"editor.inlineSuggest.syntaxHighlightingEnabled":{type:"boolean",default:t.syntaxHighlightingEnabled,description:d(537,null)},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:t.suppressSuggestions,description:d(536,null)},"editor.inlineSuggest.suppressInSnippetMode":{type:"boolean",default:t.suppressInSnippetMode,description:d(535,null)},"editor.inlineSuggest.minShowDelay":{type:"number",default:0,minimum:0,maximum:1e4,description:d(528,null)},"editor.inlineSuggest.experimental.suppressInlineSuggestions":{type:"string",default:t.experimental.suppressInlineSuggestions,tags:["experimental"],description:d(534,null),experiment:{mode:"auto"}},"editor.inlineSuggest.experimental.emptyResponseInformation":{type:"boolean",default:t.experimental.emptyResponseInformation,tags:["experimental"],description:d(525,null),experiment:{mode:"auto"}},"editor.inlineSuggest.triggerCommandOnProviderChange":{type:"boolean",default:t.triggerCommandOnProviderChange,tags:["experimental"],description:d(538,null),experiment:{mode:"auto"}},"editor.inlineSuggest.experimental.showOnSuggestConflict":{type:"string",default:t.experimental.showOnSuggestConflict,tags:["experimental"],enum:["always","never","whenSuggestListIsIncomplete"],description:d(529,null),experiment:{mode:"auto"}},"editor.inlineSuggest.fontFamily":{type:"string",default:t.fontFamily,description:d(527,null)},"editor.inlineSuggest.edits.allowCodeShifting":{type:"string",default:t.edits.allowCodeShifting,description:d(520,null),enum:["always","horizontal","never"],tags:["nextEditSuggestions"]},"editor.inlineSuggest.edits.showLongDistanceHint":{type:"boolean",default:t.edits.showLongDistanceHint,description:d(524,null),tags:["nextEditSuggestions","experimental"]},"editor.inlineSuggest.edits.longDistanceHintContextLineCount":{type:"number",default:t.edits.longDistanceHintContextLineCount,minimum:0,maximum:10,description:d(521,null),tags:["nextEditSuggestions","experimental"],experiment:{mode:"auto"}},"editor.inlineSuggest.edits.renderSideBySide":{type:"string",default:t.edits.renderSideBySide,description:d(522,null),enum:["auto","never"],enumDescriptions:[d(422,null),d(423,null)],tags:["nextEditSuggestions"]},"editor.inlineSuggest.edits.showCollapsed":{type:"boolean",default:t.edits.showCollapsed,description:d(523,null),tags:["nextEditSuggestions"]}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:ne(e.enabled,this.defaultValue.enabled),mode:It(e.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:It(e.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:ne(e.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:ne(e.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:po.string(e.fontFamily,this.defaultValue.fontFamily),syntaxHighlightingEnabled:ne(e.syntaxHighlightingEnabled,this.defaultValue.syntaxHighlightingEnabled),minShowDelay:Ke.clampedInt(e.minShowDelay,0,0,1e4),suppressInSnippetMode:ne(e.suppressInSnippetMode,this.defaultValue.suppressInSnippetMode),edits:this._validateEdits(e.edits),triggerCommandOnProviderChange:ne(e.triggerCommandOnProviderChange,this.defaultValue.triggerCommandOnProviderChange),experimental:this._validateExperimental(e.experimental)}}_validateEdits(t){if(!t||typeof t!="object")return this.defaultValue.edits;let e=t;return{enabled:ne(e.enabled,this.defaultValue.edits.enabled),showCollapsed:ne(e.showCollapsed,this.defaultValue.edits.showCollapsed),allowCodeShifting:It(e.allowCodeShifting,this.defaultValue.edits.allowCodeShifting,["always","horizontal","never"]),showLongDistanceHint:ne(e.showLongDistanceHint,this.defaultValue.edits.showLongDistanceHint),longDistanceHintContextLineCount:Ke.clampedInt(e.longDistanceHintContextLineCount,this.defaultValue.edits.longDistanceHintContextLineCount,0,10),renderSideBySide:It(e.renderSideBySide,this.defaultValue.edits.renderSideBySide,["never","auto"])}}_validateExperimental(t){if(!t||typeof t!="object")return this.defaultValue.experimental;let e=t;return{suppressInlineSuggestions:po.string(e.suppressInlineSuggestions,this.defaultValue.experimental.suppressInlineSuggestions),showOnSuggestConflict:It(e.showOnSuggestConflict,this.defaultValue.experimental.showOnSuggestConflict,["always","never","whenSuggestListIsIncomplete"]),emptyResponseInformation:ne(e.emptyResponseInformation,this.defaultValue.experimental.emptyResponseInformation)}}},HP=class extends bt{constructor(){let t={enabled:oP.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:oP.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(21,"bracketPairColorization",t,{"editor.bracketPairColorization.enabled":{type:"boolean",default:t.enabled,markdownDescription:d(329,null,"`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:t.independentColorPoolPerBracketType,description:d(330,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:ne(e.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:ne(e.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}},WP=class extends bt{constructor(){let t={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(22,"guides",t,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[d(407,null),d(405,null),d(406,null)],default:t.bracketPairs,description:d(404,null)},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[d(411,null),d(409,null),d(410,null)],default:t.bracketPairsHorizontal,description:d(408,null)},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:t.highlightActiveBracketPair,description:d(412,null)},"editor.guides.indentation":{type:"boolean",default:t.indentation,description:d(417,null)},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[d(416,null),d(414,null),d(415,null)],default:t.highlightActiveIndentation,description:d(413,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{bracketPairs:dp(e.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:dp(e.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:ne(e.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:ne(e.indentation,this.defaultValue.indentation),highlightActiveIndentation:dp(e.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}};BP=class extends bt{constructor(){let t={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,fitWidthToDetails:!1,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(134,"suggest",t,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[d(666,null),d(668,null)],default:t.insertMode,description:d(664,null)},"editor.suggest.filterGraceful":{type:"boolean",default:t.filterGraceful,description:d(663,null)},"editor.suggest.localityBonus":{type:"boolean",default:t.localityBonus,description:d(671,null)},"editor.suggest.shareSuggestSelections":{type:"boolean",default:t.shareSuggestSelections,markdownDescription:d(674,null)},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[d(665,null),d(667,null),d(670,null),d(669,null)],default:t.selectionMode,markdownDescription:d(673,null,"`#editor.quickSuggestions#`","`#editor.suggestOnTriggerCharacters#`")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:t.snippetsPreventQuickSuggestions,description:d(678,null)},"editor.suggest.showIcons":{type:"boolean",default:t.showIcons,description:d(675,null)},"editor.suggest.showStatusBar":{type:"boolean",default:t.showStatusBar,description:d(677,null)},"editor.suggest.preview":{type:"boolean",default:t.preview,description:d(672,null)},"editor.suggest.showInlineDetails":{type:"boolean",default:t.showInlineDetails,description:d(676,null)},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:d(355,null)},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:d(448,null)},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:d(444,null)},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:d(435,null)},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:d(437,null)},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:d(431,null)},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:d(441,null)},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:d(460,null)},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:d(432,null)},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:d(454,null)},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:d(445,null)},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:d(449,null)},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:d(451,null)},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:d(440,null)},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:d(450,null)},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:d(457,null)},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:d(459,null)},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:d(434,null)},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:d(439,null)},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:d(438,null)},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:d(447,null)},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:d(455,null)},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:d(433,null)},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:d(442,null)},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:d(452,null)},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:d(436,null)},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:d(443,null)},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:d(456,null)},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:d(453,null)},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:d(458,null)},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:d(446,null)}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{insertMode:It(e.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:ne(e.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:ne(e.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:ne(e.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:ne(e.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:It(e.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:ne(e.showIcons,this.defaultValue.showIcons),showStatusBar:ne(e.showStatusBar,this.defaultValue.showStatusBar),preview:ne(e.preview,this.defaultValue.preview),previewMode:It(e.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:ne(e.showInlineDetails,this.defaultValue.showInlineDetails),fitWidthToDetails:ne(e.fitWidthToDetails,this.defaultValue.fitWidthToDetails),showMethods:ne(e.showMethods,this.defaultValue.showMethods),showFunctions:ne(e.showFunctions,this.defaultValue.showFunctions),showConstructors:ne(e.showConstructors,this.defaultValue.showConstructors),showDeprecated:ne(e.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:ne(e.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:ne(e.showFields,this.defaultValue.showFields),showVariables:ne(e.showVariables,this.defaultValue.showVariables),showClasses:ne(e.showClasses,this.defaultValue.showClasses),showStructs:ne(e.showStructs,this.defaultValue.showStructs),showInterfaces:ne(e.showInterfaces,this.defaultValue.showInterfaces),showModules:ne(e.showModules,this.defaultValue.showModules),showProperties:ne(e.showProperties,this.defaultValue.showProperties),showEvents:ne(e.showEvents,this.defaultValue.showEvents),showOperators:ne(e.showOperators,this.defaultValue.showOperators),showUnits:ne(e.showUnits,this.defaultValue.showUnits),showValues:ne(e.showValues,this.defaultValue.showValues),showConstants:ne(e.showConstants,this.defaultValue.showConstants),showEnums:ne(e.showEnums,this.defaultValue.showEnums),showEnumMembers:ne(e.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:ne(e.showKeywords,this.defaultValue.showKeywords),showWords:ne(e.showWords,this.defaultValue.showWords),showColors:ne(e.showColors,this.defaultValue.showColors),showFiles:ne(e.showFiles,this.defaultValue.showFiles),showReferences:ne(e.showReferences,this.defaultValue.showReferences),showFolders:ne(e.showFolders,this.defaultValue.showFolders),showTypeParameters:ne(e.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:ne(e.showSnippets,this.defaultValue.showSnippets),showUsers:ne(e.showUsers,this.defaultValue.showUsers),showIssues:ne(e.showIssues,this.defaultValue.showIssues)}}},$P=class extends bt{constructor(){super(129,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:d(648,null),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:d(649,null),default:!0,type:"boolean"}})}validate(t){return!t||typeof t!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:ne(t.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:ne(t.selectSubwords,this.defaultValue.selectSubwords)}}},qP=class extends bt{constructor(){let t=[];super(147,"wordSegmenterLocales",t,{anyOf:[{type:"string"},{type:"array",items:{type:"string"}}],description:d(708,null),type:"array",items:{type:"string"},default:t})}validate(t){if(typeof t=="string"&&(t=[t]),Array.isArray(t)){let e=[];for(let n of t)if(typeof n=="string")try{Intl.Segmenter.supportedLocalesOf(n).length>0&&e.push(n)}catch{}return e}return this.defaultValue}},zP=class extends bt{constructor(){super(155,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[d(720,null),d(721,null),d(719,null),d(718,null)],description:d(717,null),default:"same"}})}validate(t){switch(t){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(t,e,n){return e.get(2)===2?0:n}},GP=class extends rs{constructor(){super(166,{isDominatedByLongLines:!1,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1})}compute(t,e,n){let o=e.get(165);return{isDominatedByLongLines:t.isDominatedByLongLines,isWordWrapMinified:o.isWordWrapMinified,isViewportWrapping:o.isViewportWrapping,wrappingColumn:o.wrappingColumn}}},KP=class extends bt{constructor(){let t={enabled:!0,showDropSelector:"afterDrop"};super(43,"dropIntoEditor",t,{"editor.dropIntoEditor.enabled":{type:"boolean",default:t.enabled,markdownDescription:d(358,null)},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:d(359,null),enum:["afterDrop","never"],enumDescriptions:[d(360,null),d(361,null)],default:"afterDrop"}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:ne(e.enabled,this.defaultValue.enabled),showDropSelector:It(e.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}},jP=class extends bt{constructor(){let t={enabled:!0,showPasteSelector:"afterPaste"};super(97,"pasteAs",t,{"editor.pasteAs.enabled":{type:"boolean",default:t.enabled,markdownDescription:d(595,null)},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:d(596,null),enum:["afterPaste","never"],enumDescriptions:[d(597,null),d(598,null)],default:"afterPaste"}})}validate(t){if(!t||typeof t!="object")return this.defaultValue;let e=t;return{enabled:ne(e.enabled,this.defaultValue.enabled),showPasteSelector:It(e.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}},yz=[];bMe={acceptSuggestionOnCommitCharacter:M(new ve(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:d(304,null)})),acceptSuggestionOnEnter:M(new yt(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",d(306,null),""],markdownDescription:d(305,null)})),accessibilitySupport:M(new sP),accessibilityPageSize:M(new Ke(3,"accessibilityPageSize",500,1,1073741824,{description:d(307,null),tags:["accessibility"]})),allowOverflow:M(new ve(4,"allowOverflow",!0)),allowVariableLineHeights:M(new ve(5,"allowVariableLineHeights",!0,{description:d(314,null)})),allowVariableFonts:M(new ve(6,"allowVariableFonts",!0,{description:d(312,null)})),allowVariableFontsInAccessibilityMode:M(new ve(7,"allowVariableFontsInAccessibilityMode",!1,{description:d(313,null),tags:["accessibility"]})),ariaLabel:M(new po(8,"ariaLabel",d(461,null))),ariaRequired:M(new ve(9,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:M(new ve(12,"screenReaderAnnounceInlineSuggestion",!0,{description:d(627,null),tags:["accessibility"]})),autoClosingBrackets:M(new yt(10,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",d(364,null),d(363,null),""],description:d(320,null)})),autoClosingComments:M(new yt(11,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",d(366,null),d(365,null),""],description:d(321,null)})),autoClosingDelete:M(new yt(13,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",d(367,null),""],description:d(322,null)})),autoClosingOvertype:M(new yt(14,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",d(368,null),""],description:d(323,null)})),autoClosingQuotes:M(new yt(15,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",d(370,null),d(369,null),""],description:d(324,null)})),autoIndent:M(new Cc(16,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],fz,{enumDescriptions:[d(375,null),d(374,null),d(372,null),d(371,null),d(373,null)],description:d(325,null)})),autoIndentOnPaste:M(new ve(17,"autoIndentOnPaste",!1,{description:d(326,null)})),autoIndentOnPasteWithinString:M(new ve(18,"autoIndentOnPasteWithinString",!0,{description:d(327,null)})),automaticLayout:M(new ve(19,"automaticLayout",!1)),autoSurround:M(new yt(20,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[d(377,null),d(378,null),d(376,null),""],description:d(328,null)})),bracketPairColorization:M(new HP),bracketPairGuides:M(new WP),stickyTabStops:M(new ve(132,"stickyTabStops",!1,{description:d(662,null)})),codeLens:M(new ve(23,"codeLens",!0,{description:d(331,null)})),codeLensFontFamily:M(new po(24,"codeLensFontFamily","",{description:d(332,null)})),codeLensFontSize:M(new Ke(25,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:d(333,null)})),colorDecorators:M(new ve(26,"colorDecorators",!0,{description:d(335,null)})),colorDecoratorActivatedOn:M(new yt(168,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[d(380,null),d(381,null),d(379,null)],description:d(334,null)})),colorDecoratorsLimit:M(new Ke(27,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:d(336,null)})),columnSelection:M(new ve(28,"columnSelection",!1,{description:d(337,null)})),comments:M(new aP),contextmenu:M(new ve(30,"contextmenu",!0)),copyWithSyntaxHighlighting:M(new ve(31,"copyWithSyntaxHighlighting",!0,{description:d(340,null)})),cursorBlinking:M(new Cc(32,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],hz,{description:d(341,null)})),cursorSmoothCaretAnimation:M(new yt(33,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[d(345,null),d(344,null),d(346,null)],description:d(343,null)})),cursorStyle:M(new Cc(34,"cursorStyle",1,"line",["line","block","underline","line-thin","block-outline","underline-thin"],OF,{description:d(347,null)})),overtypeCursorStyle:M(new Cc(92,"overtypeCursorStyle",2,"block",["line","block","underline","line-thin","block-outline","underline-thin"],OF,{description:d(588,null)})),cursorSurroundingLines:M(new Ke(35,"cursorSurroundingLines",0,0,1073741824,{description:d(348,null)})),cursorSurroundingLinesStyle:M(new yt(36,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[d(351,null),d(350,null)],markdownDescription:d(349,null)})),cursorWidth:M(new Ke(37,"cursorWidth",0,0,1073741824,{markdownDescription:d(352,null)})),cursorHeight:M(new Ke(38,"cursorHeight",0,0,1073741824,{markdownDescription:d(342,null)})),disableLayerHinting:M(new ve(39,"disableLayerHinting",!1)),disableMonospaceOptimizations:M(new ve(40,"disableMonospaceOptimizations",!1)),domReadOnly:M(new ve(41,"domReadOnly",!1)),doubleClickSelectsBlock:M(new ve(173,"doubleClickSelectsBlock",!0,{description:d(356,null)})),dragAndDrop:M(new ve(42,"dragAndDrop",!0,{description:d(357,null)})),emptySelectionClipboard:M(new cP),dropIntoEditor:M(new KP),editContext:M(new ve(44,"editContext",!0,{description:d(362,null),included:cm||Yh||lm})),renderRichScreenReaderContent:M(new ve(107,"renderRichScreenReaderContent",!1,{markdownDescription:d(618,null)})),stickyScroll:M(new EP),experimentalGpuAcceleration:M(new yt(46,"experimentalGpuAcceleration","off",["off","on"],{tags:["experimental"],enumDescriptions:[d(465,null),d(466,null)],description:d(464,null)})),experimentalWhitespaceRendering:M(new yt(47,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[d(470,null),d(468,null),d(469,null)],description:d(467,null)})),extraEditorClassName:M(new po(48,"extraEditorClassName","")),fastScrollSensitivity:M(new hr(49,"fastScrollSensitivity",5,r=>r<=0?5:r,{markdownDescription:d(471,null)})),find:M(new dP),fixedOverflowWidgets:M(new ve(51,"fixedOverflowWidgets",!1)),folding:M(new ve(52,"folding",!0,{description:d(482,null)})),foldingStrategy:M(new yt(53,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[d(487,null),d(488,null)],description:d(486,null)})),foldingHighlight:M(new ve(54,"foldingHighlight",!0,{description:d(483,null)})),foldingImportsByDefault:M(new ve(55,"foldingImportsByDefault",!1,{description:d(484,null)})),foldingMaximumRegions:M(new Ke(56,"foldingMaximumRegions",5e3,10,65e3,{description:d(485,null)})),unfoldOnClickAfterEndOfLine:M(new ve(57,"unfoldOnClickAfterEndOfLine",!1,{description:d(692,null)})),fontFamily:M(new po(58,"fontFamily",wi.fontFamily,{description:d(489,null)})),fontInfo:M(new mP),fontLigatures2:M(new uP),fontSize:M(new vP),fontWeight:M(new yP),fontVariations:M(new pP),formatOnPaste:M(new ve(64,"formatOnPaste",!1,{description:d(499,null)})),formatOnType:M(new ve(65,"formatOnType",!1,{description:d(500,null)})),glyphMargin:M(new ve(66,"glyphMargin",!0,{description:d(501,null)})),gotoLocation:M(new IP),hideCursorInOverviewRuler:M(new ve(68,"hideCursorInOverviewRuler",!1,{description:d(502,null)})),hover:M(new bP),inDiffEditor:M(new ve(70,"inDiffEditor",!1)),inertialScroll:M(new ve(158,"inertialScroll",!1,{description:d(512,null)})),letterSpacing:M(new hr(72,"letterSpacing",wi.letterSpacing,r=>hr.clamp(r,-5,20),{description:d(539,null)})),lightbulb:M(new CP),lineDecorationsWidth:M(new TP),lineHeight:M(new RP),lineNumbers:M(new LP),lineNumbersMinChars:M(new Ke(77,"lineNumbersMinChars",5,1,300)),linkedEditing:M(new ve(78,"linkedEditing",!1,{description:d(546,null)})),links:M(new ve(79,"links",!0,{description:d(547,null)})),matchBrackets:M(new yt(80,"matchBrackets","always",["always","near","never"],{description:d(548,null)})),minimap:M(new PP),mouseStyle:M(new yt(82,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:M(new hr(83,"mouseWheelScrollSensitivity",1,r=>r===0?1:r,{markdownDescription:d(569,null)})),mouseWheelZoom:M(new ve(84,"mouseWheelZoom",!1,{markdownDescription:ut?d(571,null):d(570,null)})),multiCursorMergeOverlapping:M(new ve(85,"multiCursorMergeOverlapping",!0,{description:d(573,null)})),multiCursorModifier:M(new Cc(86,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],vz,{markdownEnumDescriptions:[d(576,null),d(575,null)],markdownDescription:d(574,null)})),mouseMiddleClickAction:M(new yt(87,"mouseMiddleClickAction","default",["default","openLink","ctrlLeftClick"],{description:d(568,null)})),multiCursorPaste:M(new yt(88,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[d(579,null),d(578,null)],markdownDescription:d(577,null)})),multiCursorLimit:M(new Ke(89,"multiCursorLimit",1e4,1,1e5,{markdownDescription:d(572,null)})),occurrencesHighlight:M(new yt(90,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[d(582,null),d(583,null),d(581,null)],markdownDescription:d(580,null)})),occurrencesHighlightDelay:M(new Ke(91,"occurrencesHighlightDelay",0,0,2e3,{description:d(584,null),tags:["preview"]})),overtypeOnPaste:M(new ve(93,"overtypeOnPaste",!0,{description:d(589,null)})),overviewRulerBorder:M(new ve(94,"overviewRulerBorder",!0,{description:d(590,null)})),overviewRulerLanes:M(new Ke(95,"overviewRulerLanes",3,0,3)),padding:M(new kP),pasteAs:M(new jP),parameterHints:M(new DP),peekWidgetDefaultFocus:M(new yt(99,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[d(601,null),d(600,null)],description:d(599,null)})),placeholder:M(new MP),definitionLinkOpensInPeek:M(new ve(101,"definitionLinkOpensInPeek",!1,{description:d(354,null)})),quickSuggestions:M(new AP),quickSuggestionsDelay:M(new Ke(103,"quickSuggestionsDelay",10,0,1073741824,{description:d(610,null),experiment:{mode:"auto"}})),readOnly:M(new ve(104,"readOnly",!1)),readOnlyMessage:M(new UP),renameOnType:M(new ve(106,"renameOnType",!1,{description:d(611,null),markdownDeprecationMessage:d(612,null)})),renderControlCharacters:M(new ve(108,"renderControlCharacters",!0,{description:d(613,null),restricted:!0})),renderFinalNewline:M(new yt(109,"renderFinalNewline",qe?"dimmed":"on",["off","on","dimmed"],{description:d(614,null)})),renderLineHighlight:M(new yt(110,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",d(616,null)],description:d(615,null)})),renderLineHighlightOnlyWhenFocus:M(new ve(111,"renderLineHighlightOnlyWhenFocus",!1,{description:d(617,null)})),renderValidationDecorations:M(new yt(112,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:M(new yt(113,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",d(620,null),d(621,null),d(622,null),""],description:d(619,null)})),revealHorizontalRightPadding:M(new Ke(114,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:M(new ve(115,"roundedSelection",!0,{description:d(623,null)})),rulers:M(new OP),scrollbar:M(new NP),scrollBeyondLastColumn:M(new Ke(118,"scrollBeyondLastColumn",4,0,1073741824,{description:d(640,null)})),scrollBeyondLastLine:M(new ve(119,"scrollBeyondLastLine",!0,{description:d(641,null)})),scrollOnMiddleClick:M(new ve(171,"scrollOnMiddleClick",!1,{description:d(642,null)})),scrollPredominantAxis:M(new ve(120,"scrollPredominantAxis",!0,{description:d(643,null)})),selectionClipboard:M(new ve(121,"selectionClipboard",!0,{description:d(644,null),included:qe})),selectionHighlight:M(new ve(122,"selectionHighlight",!0,{description:d(645,null)})),selectionHighlightMaxLength:M(new Ke(123,"selectionHighlightMaxLength",200,0,1073741824,{description:d(646,null)})),selectionHighlightMultiline:M(new ve(124,"selectionHighlightMultiline",!1,{description:d(647,null)})),selectOnLineNumbers:M(new ve(125,"selectOnLineNumbers",!0)),showFoldingControls:M(new yt(126,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[d(652,null),d(654,null),d(653,null)],description:d(651,null)})),showUnused:M(new ve(127,"showUnused",!0,{description:d(655,null)})),showDeprecated:M(new ve(157,"showDeprecated",!0,{description:d(650,null)})),inlayHints:M(new wP),snippetSuggestions:M(new yt(128,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[d(661,null),d(658,null),d(659,null),d(660,null)],description:d(657,null)})),smartSelect:M(new $P),smoothScrolling:M(new ve(130,"smoothScrolling",!1,{description:d(656,null)})),stopRenderingLineAfter:M(new Ke(133,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:M(new BP),inlineSuggest:M(new VP),inlineCompletionsAccessibilityVerbose:M(new ve(169,"inlineCompletionsAccessibilityVerbose",!1,{description:d(519,null)})),suggestFontSize:M(new Ke(135,"suggestFontSize",0,0,1e3,{markdownDescription:d(679,null,"`0`","`#editor.fontSize#`")})),suggestLineHeight:M(new Ke(136,"suggestLineHeight",0,0,1e3,{markdownDescription:d(680,null,"`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:M(new ve(137,"suggestOnTriggerCharacters",!0,{description:d(681,null)})),suggestSelection:M(new yt(138,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[d(683,null),d(684,null),d(685,null)],description:d(682,null)})),tabCompletion:M(new yt(139,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[d(688,null),d(687,null),d(689,null)],description:d(686,null)})),tabIndex:M(new Ke(140,"tabIndex",0,-1,1073741824)),trimWhitespaceOnDelete:M(new ve(141,"trimWhitespaceOnDelete",!1,{description:d(691,null)})),unicodeHighlight:M(new FP),unusualLineTerminators:M(new yt(143,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[d(701,null),d(702,null),d(703,null)],description:d(700,null)})),useShadowDOM:M(new ve(144,"useShadowDOM",!0)),useTabStops:M(new ve(145,"useTabStops",!0,{description:d(704,null)})),wordBreak:M(new yt(146,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[d(707,null),d(706,null)],description:d(705,null)})),wordSegmenterLocales:M(new qP),wordSeparators:M(new po(148,"wordSeparators",rP,{description:d(709,null)})),wordWrap:M(new yt(149,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[d(712,null),d(713,null),d(714,null),d(711,null)],description:d(710,null)})),wordWrapBreakAfterCharacters:M(new po(150,"wordWrapBreakAfterCharacters"," 	})]?|/&.,;\xA2\xB0\u2032\u2033\u2030\u2103\u3001\u3002\uFF61\uFF64\uFFE0\uFF0C\uFF0E\uFF1A\uFF1B\uFF1F\uFF01\uFF05\u30FB\uFF65\u309D\u309E\u30FD\u30FE\u30FC\u30A1\u30A3\u30A5\u30A7\u30A9\u30C3\u30E3\u30E5\u30E7\u30EE\u30F5\u30F6\u3041\u3043\u3045\u3047\u3049\u3063\u3083\u3085\u3087\u308E\u3095\u3096\u31F0\u31F1\u31F2\u31F3\u31F4\u31F5\u31F6\u31F7\u31F8\u31F9\u31FA\u31FB\u31FC\u31FD\u31FE\u31FF\u3005\u303B\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C\uFF6D\uFF6E\uFF6F\uFF70\u201D\u3009\u300B\u300D\u300F\u3011\u3015\uFF09\uFF3D\uFF5D\uFF63")),wordWrapBreakBeforeCharacters:M(new po(151,"wordWrapBreakBeforeCharacters","([{\u2018\u201C\u3008\u300A\u300C\u300E\u3010\u3014\uFF08\uFF3B\uFF5B\uFF62\xA3\xA5\uFF04\uFFE1\uFFE5+\uFF0B")),wordWrapColumn:M(new Ke(152,"wordWrapColumn",80,1,1073741824,{markdownDescription:d(715,null)})),wordWrapOverride1:M(new yt(153,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:M(new yt(154,"wordWrapOverride2","inherit",["off","on","inherit"])),wrapOnEscapedLineFeeds:M(new ve(160,"wrapOnEscapedLineFeeds",!1,{markdownDescription:d(716,null)})),effectiveCursorStyle:M(new gP),editorClassName:M(new lP),defaultColorDecorators:M(new yt(167,"defaultColorDecorators","auto",["auto","always","never"],{enumDescriptions:[d(383,null),d(382,null),d(384,null)],description:d(353,null)})),pixelRatio:M(new _P),tabFocusMode:M(new ve(164,"tabFocusMode",!1,{markdownDescription:d(690,null)})),layoutInfo:M(new SP),wrappingInfo:M(new GP),wrappingIndent:M(new zP),wrappingStrategy:M(new xP),effectiveEditContextEnabled:M(new fP),effectiveAllowVariableFonts:M(new hP)}});var Ri,fS=y(()=>{Ri=class r{constructor(t,e){this.lineNumber=t,this.column=e}with(t=this.lineNumber,e=this.column){return t===this.lineNumber&&e===this.column?this:new r(t,e)}delta(t=0,e=0){return this.with(Math.max(1,this.lineNumber+t),Math.max(1,this.column+e))}equals(t){return r.equals(this,t)}static equals(t,e){return!t&&!e?!0:!!t&&!!e&&t.lineNumber===e.lineNumber&&t.column===e.column}isBefore(t){return r.isBefore(this,t)}static isBefore(t,e){return t.lineNumber<e.lineNumber?!0:e.lineNumber<t.lineNumber?!1:t.column<e.column}isBeforeOrEqual(t){return r.isBeforeOrEqual(this,t)}static isBeforeOrEqual(t,e){return t.lineNumber<e.lineNumber?!0:e.lineNumber<t.lineNumber?!1:t.column<=e.column}static compare(t,e){let n=t.lineNumber|0,o=e.lineNumber|0;if(n===o){let i=t.column|0,s=e.column|0;return i-s}return n-o}clone(){return new r(this.lineNumber,this.column)}toString(){return"("+this.lineNumber+","+this.column+")"}static lift(t){return new r(t.lineNumber,t.column)}static isIPosition(t){return!!t&&typeof t.lineNumber=="number"&&typeof t.column=="number"}toJSON(){return{lineNumber:this.lineNumber,column:this.column}}}});var bn,Zs=y(()=>{fS();bn=class r{constructor(t,e,n,o){t>n||t===n&&e>o?(this.startLineNumber=n,this.startColumn=o,this.endLineNumber=t,this.endColumn=e):(this.startLineNumber=t,this.startColumn=e,this.endLineNumber=n,this.endColumn=o)}isEmpty(){return r.isEmpty(this)}static isEmpty(t){return t.startLineNumber===t.endLineNumber&&t.startColumn===t.endColumn}containsPosition(t){return r.containsPosition(this,t)}static containsPosition(t,e){return!(e.lineNumber<t.startLineNumber||e.lineNumber>t.endLineNumber||e.lineNumber===t.startLineNumber&&e.column<t.startColumn||e.lineNumber===t.endLineNumber&&e.column>t.endColumn)}static strictContainsPosition(t,e){return!(e.lineNumber<t.startLineNumber||e.lineNumber>t.endLineNumber||e.lineNumber===t.startLineNumber&&e.column<=t.startColumn||e.lineNumber===t.endLineNumber&&e.column>=t.endColumn)}containsRange(t){return r.containsRange(this,t)}static containsRange(t,e){return!(e.startLineNumber<t.startLineNumber||e.endLineNumber<t.startLineNumber||e.startLineNumber>t.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumn<t.startColumn||e.endLineNumber===t.endLineNumber&&e.endColumn>t.endColumn)}strictContainsRange(t){return r.strictContainsRange(this,t)}static strictContainsRange(t,e){return!(e.startLineNumber<t.startLineNumber||e.endLineNumber<t.startLineNumber||e.startLineNumber>t.endLineNumber||e.endLineNumber>t.endLineNumber||e.startLineNumber===t.startLineNumber&&e.startColumn<=t.startColumn||e.endLineNumber===t.endLineNumber&&e.endColumn>=t.endColumn)}plusRange(t){return r.plusRange(this,t)}static plusRange(t,e){let n,o,i,s;return e.startLineNumber<t.startLineNumber?(n=e.startLineNumber,o=e.startColumn):e.startLineNumber===t.startLineNumber?(n=e.startLineNumber,o=Math.min(e.startColumn,t.startColumn)):(n=t.startLineNumber,o=t.startColumn),e.endLineNumber>t.endLineNumber?(i=e.endLineNumber,s=e.endColumn):e.endLineNumber===t.endLineNumber?(i=e.endLineNumber,s=Math.max(e.endColumn,t.endColumn)):(i=t.endLineNumber,s=t.endColumn),new r(n,o,i,s)}intersectRanges(t){return r.intersectRanges(this,t)}static intersectRanges(t,e){let n=t.startLineNumber,o=t.startColumn,i=t.endLineNumber,s=t.endColumn,a=e.startLineNumber,l=e.startColumn,c=e.endLineNumber,u=e.endColumn;return n<a?(n=a,o=l):n===a&&(o=Math.max(o,l)),i>c?(i=c,s=u):i===c&&(s=Math.min(s,u)),n>i||n===i&&o>s?null:new r(n,o,i,s)}equalsRange(t){return r.equalsRange(this,t)}static equalsRange(t,e){return!t&&!e?!0:!!t&&!!e&&t.startLineNumber===e.startLineNumber&&t.startColumn===e.startColumn&&t.endLineNumber===e.endLineNumber&&t.endColumn===e.endColumn}getEndPosition(){return r.getEndPosition(this)}static getEndPosition(t){return new Ri(t.endLineNumber,t.endColumn)}getStartPosition(){return r.getStartPosition(this)}static getStartPosition(t){return new Ri(t.startLineNumber,t.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(t,e){return new r(this.startLineNumber,this.startColumn,t,e)}setStartPosition(t,e){return new r(t,e,this.endLineNumber,this.endColumn)}collapseToStart(){return r.collapseToStart(this)}static collapseToStart(t){return new r(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}collapseToEnd(){return r.collapseToEnd(this)}static collapseToEnd(t){return new r(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn)}delta(t){return new r(this.startLineNumber+t,this.startColumn,this.endLineNumber+t,this.endColumn)}isSingleLine(){return this.startLineNumber===this.endLineNumber}static fromPositions(t,e=t){return new r(t.lineNumber,t.column,e.lineNumber,e.column)}static lift(t){return t?new r(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(t){return!!t&&typeof t.startLineNumber=="number"&&typeof t.startColumn=="number"&&typeof t.endLineNumber=="number"&&typeof t.endColumn=="number"}static areIntersectingOrTouching(t,e){return!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn||e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn)}static areIntersecting(t,e){return!(t.endLineNumber<e.startLineNumber||t.endLineNumber===e.startLineNumber&&t.endColumn<=e.startColumn||e.endLineNumber<t.startLineNumber||e.endLineNumber===t.startLineNumber&&e.endColumn<=t.startColumn)}static areOnlyIntersecting(t,e){return!(t.endLineNumber<e.startLineNumber-1||t.endLineNumber===e.startLineNumber&&t.endColumn<e.startColumn-1||e.endLineNumber<t.startLineNumber-1||e.endLineNumber===t.startLineNumber&&e.endColumn<t.startColumn-1)}static compareRangesUsingStarts(t,e){if(t&&e){let i=t.startLineNumber|0,s=e.startLineNumber|0;if(i===s){let a=t.startColumn|0,l=e.startColumn|0;if(a===l){let c=t.endLineNumber|0,u=e.endLineNumber|0;if(c===u){let p=t.endColumn|0,m=e.endColumn|0;return p-m}return c-u}return a-l}return i-s}return(t?1:0)-(e?1:0)}static compareRangesUsingEnds(t,e){return t.endLineNumber===e.endLineNumber?t.endColumn===e.endColumn?t.startLineNumber===e.startLineNumber?t.startColumn-e.startColumn:t.startLineNumber-e.startLineNumber:t.endColumn-e.endColumn:t.endLineNumber-e.endLineNumber}static spansMultipleLines(t){return t.endLineNumber>t.startLineNumber}toJSON(){return this}}});var QP=y(()=>{});var VF=y(()=>{Zs()});var hS,JP,HF=y(()=>{de();Q();QP();hS=class{constructor(){this._tokenizationSupports=new Map;this._factories=new Map;this._onDidChange=new w;this.onDidChange=this._onDidChange.event;this._colorMap=null}handleChange(t){this._onDidChange.fire({changedLanguages:t,changedColorMap:!1})}register(t,e){return this._tokenizationSupports.set(t,e),this.handleChange([t]),oe(()=>{this._tokenizationSupports.get(t)===e&&(this._tokenizationSupports.delete(t),this.handleChange([t]))})}get(t){return this._tokenizationSupports.get(t)||null}registerFactory(t,e){this._factories.get(t)?.dispose();let n=new JP(this,t,e);return this._factories.set(t,n),oe(()=>{let o=this._factories.get(t);!o||o!==n||(this._factories.delete(t),o.dispose())})}async getOrCreate(t){let e=this.get(t);if(e)return e;let n=this._factories.get(t);return!n||n.isResolved?null:(await n.resolve(),this.get(t))}isResolved(t){if(this.get(t))return!0;let n=this._factories.get(t);return!!(!n||n.isResolved)}setColorMap(t){this._colorMap=t,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}},JP=class extends _{constructor(e,n,o){super();this._registry=e;this._languageId=n;this._factory=o;this._isDisposed=!1;this._resolvePromise=null;this._isResolved=!1}get isResolved(){return this._isResolved}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){let e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}});function YP(r){return!!r&&b.isUri(r.uri)&&bn.isIRange(r.range)}var bz,zMe,Sz,ea,XP,GMe,vS=y(()=>{Ki();ie();VF();Zs();HF();le();(i=>{let r=new Map;r.set(0,J.symbolMethod),r.set(1,J.symbolFunction),r.set(2,J.symbolConstructor),r.set(3,J.symbolField),r.set(4,J.symbolVariable),r.set(5,J.symbolClass),r.set(6,J.symbolStruct),r.set(7,J.symbolInterface),r.set(8,J.symbolModule),r.set(9,J.symbolProperty),r.set(10,J.symbolEvent),r.set(11,J.symbolOperator),r.set(12,J.symbolUnit),r.set(13,J.symbolValue),r.set(15,J.symbolEnum),r.set(14,J.symbolConstant),r.set(16,J.symbolEnumMember),r.set(17,J.symbolKeyword),r.set(28,J.symbolSnippet),r.set(18,J.symbolText),r.set(19,J.symbolColor),r.set(20,J.symbolFile),r.set(21,J.symbolReference),r.set(22,J.symbolCustomColor),r.set(23,J.symbolFolder),r.set(24,J.symbolTypeParameter),r.set(25,J.account),r.set(26,J.issues),r.set(27,J.tools);function t(s){let a=r.get(s);return a||(console.info("No codicon found for CompletionItemKind "+s),a=J.symbolProperty),a}i.toIcon=t;function e(s){switch(s){case 0:return d(887,null);case 1:return d(883,null);case 2:return d(875,null);case 3:return d(880,null);case 4:return d(900,null);case 5:return d(872,null);case 6:return d(893,null);case 7:return d(884,null);case 8:return d(888,null);case 9:return d(890,null);case 10:return d(879,null);case 11:return d(889,null);case 12:return d(897,null);case 13:return d(899,null);case 14:return d(874,null);case 15:return d(877,null);case 16:return d(878,null);case 17:return d(886,null);case 18:return d(894,null);case 19:return d(873,null);case 20:return d(881,null);case 21:return d(891,null);case 22:return d(876,null);case 23:return d(882,null);case 24:return d(896,null);case 25:return d(898,null);case 26:return d(885,null);case 27:return d(895,null);case 28:return d(892,null);default:return""}}i.toLabel=e;let n=new Map;n.set("method",0),n.set("function",1),n.set("constructor",2),n.set("field",3),n.set("variable",4),n.set("class",5),n.set("struct",6),n.set("interface",7),n.set("module",8),n.set("property",9),n.set("event",10),n.set("operator",11),n.set("unit",12),n.set("value",13),n.set("constant",14),n.set("enum",15),n.set("enum-member",16),n.set("enumMember",16),n.set("keyword",17),n.set("snippet",28),n.set("text",18),n.set("color",19),n.set("file",20),n.set("reference",21),n.set("customcolor",22),n.set("folder",23),n.set("type-parameter",24),n.set("typeParameter",24),n.set("account",25),n.set("issue",26),n.set("tool",27);function o(s,a){let l=n.get(s);return typeof l>"u"&&!a&&(l=9),l}i.fromString=o})(bz||={});zMe={17:d(848,null),16:d(849,null),4:d(850,null),13:d(851,null),8:d(852,null),9:d(853,null),21:d(854,null),23:d(855,null),7:d(856,null),0:d(857,null),11:d(858,null),10:d(859,null),19:d(860,null),5:d(861,null),1:d(862,null),2:d(863,null),20:d(864,null),15:d(865,null),18:d(866,null),24:d(867,null),3:d(868,null),6:d(869,null),14:d(870,null),22:d(871,null),25:d(902,null),12:d(903,null)};(o=>{let r=new Map;r.set(0,J.symbolFile),r.set(1,J.symbolModule),r.set(2,J.symbolNamespace),r.set(3,J.symbolPackage),r.set(4,J.symbolClass),r.set(5,J.symbolMethod),r.set(6,J.symbolProperty),r.set(7,J.symbolField),r.set(8,J.symbolConstructor),r.set(9,J.symbolEnum),r.set(10,J.symbolInterface),r.set(11,J.symbolFunction),r.set(12,J.symbolVariable),r.set(13,J.symbolConstant),r.set(14,J.symbolString),r.set(15,J.symbolNumber),r.set(16,J.symbolBoolean),r.set(17,J.symbolArray),r.set(18,J.symbolObject),r.set(19,J.symbolKey),r.set(20,J.symbolNull),r.set(21,J.symbolEnumMember),r.set(22,J.symbolStruct),r.set(23,J.symbolEvent),r.set(24,J.symbolOperator),r.set(25,J.symbolTypeParameter);function t(i){let s=r.get(i);return s||(console.info("No codicon found for SymbolKind "+i),s=J.symbolProperty),s}o.toIcon=t;let e=new Map;e.set(0,20),e.set(1,8),e.set(2,8),e.set(3,8),e.set(4,5),e.set(5,0),e.set(6,9),e.set(7,3),e.set(8,2),e.set(9,15),e.set(10,7),e.set(11,1),e.set(12,4),e.set(13,14),e.set(14,18),e.set(15,13),e.set(16,13),e.set(17,13),e.set(18,13),e.set(19,17),e.set(20,13),e.set(21,16),e.set(22,6),e.set(23,10),e.set(24,11),e.set(25,24);function n(i){let s=e.get(i);return s===void 0&&(console.info("No completion kind found for SymbolKind "+i),s=20),s}o.toCompletionKind=n})(Sz||={});ea=class r{constructor(t){this.value=t}static{this.Comment=new r("comment")}static{this.Imports=new r("imports")}static{this.Region=new r("region")}static fromValue(t){switch(t){case"comment":return r.Comment;case"imports":return r.Imports;case"region":return r.Region}return new r(t)}};(t=>{function r(e){return!e||typeof e!="object"?!1:typeof e.id=="string"&&typeof e.title=="string"}t.is=r})(XP||={});GMe=new hS});var WF=y(()=>{en()});var Of,Cz,XMe,BF=y(()=>{zi();le();X();Of=(o=>(o[o.Hint=1]="Hint",o[o.Info=2]="Info",o[o.Warning=4]="Warning",o[o.Error=8]="Error",o))(Of||{});(a=>{function r(l,c){return c-l}a.compare=r;let t=Object.create(null);t[8]=d(2962,null),t[4]=d(2966,null),t[2]=d(2964,null);function e(l){return t[l]||""}a.toString=e;let n=Object.create(null);n[8]=d(2963,null),n[4]=d(2967,null),n[2]=d(2965,null);function o(l){return n[l]||""}a.toStringPlural=o;function i(l){switch(l){case We.Error:return 8;case We.Warning:return 4;case We.Info:return 2;case We.Ignore:return 1}}a.fromSeverity=i;function s(l){switch(l){case 8:return We.Error;case 4:return We.Warning;case 2:return We.Info;case 1:return We.Ignore}}a.toSeverity=s})(Of||={});(n=>{function t(o){return e(o,!0)}n.makeKey=t;function e(o,i){let s=[""];return o.source?s.push(o.source.replace("\xA6","\\\xA6")):s.push(""),o.code?typeof o.code=="string"?s.push(o.code.replace("\xA6","\\\xA6")):s.push(o.code.value.replace("\xA6","\\\xA6")):s.push(""),o.severity!==void 0&&o.severity!==null?s.push(Of.toString(o.severity)):s.push(""),o.message&&i?s.push(o.message.replace("\xA6","\\\xA6")):s.push(""),o.startLineNumber!==void 0&&o.startLineNumber!==null?s.push(o.startLineNumber.toString()):s.push(""),o.startColumn!==void 0&&o.startColumn!==null?s.push(o.startColumn.toString()):s.push(""),o.endLineNumber!==void 0&&o.endLineNumber!==null?s.push(o.endLineNumber.toString()):s.push(""),o.endColumn!==void 0&&o.endColumn!==null?s.push(o.endColumn.toString()):s.push(""),s.push(""),s.join("\xA6")}n.makeKeyOptionalMessage=e})(Cz||={});XMe=D("markerService")});var Ez,i0e,$F,yS,s0e,qF=y(()=>{Me();jt();Q();X();Ez=D("progressService"),i0e=Object.freeze({total(){},worked(){},done(){}}),$F=class{constructor(t){this.callback=t}static{this.None=Object.freeze({report(){}})}get value(){return this._value}report(t){this._value=t,this.callback(this._value)}},yS=class extends _{constructor(e,n){super();this.deferred=new ao;n.withProgress(e,o=>(this.reporter=o,this.lastStep&&o.report(this.lastStep),this.deferred.p)),this._register(oe(()=>this.deferred.complete()))}report(e){this.reporter?this.reporter.report(e):this.lastStep=e}};yS=C([I(1,Ez)],yS);s0e=D("editorProgressService")});var ZP,zF,IS,GF,ek=y(()=>{de();Q();le();ZP=class extends _{constructor(e,n="",o="",i=!0,s){super();this._onDidChange=this._register(new w);this._enabled=!0;this._id=e,this._label=n,this._cssClass=o,this._enabled=i,this._actionCallback=s}get onDidChange(){return this._onDidChange.event}get id(){return this._id}get label(){return this._label}set label(e){this._setLabel(e)}_setLabel(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))}get tooltip(){return this._tooltip||""}set tooltip(e){this._setTooltip(e)}_setTooltip(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))}get class(){return this._cssClass}set class(e){this._setClass(e)}_setClass(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))}get enabled(){return this._enabled}set enabled(e){this._setEnabled(e)}_setEnabled(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))}get checked(){return this._checked}set checked(e){this._setChecked(e)}_setChecked(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))}async run(e,n){this._actionCallback&&await this._actionCallback(e)}},zF=class r{constructor(){this.id=r.ID;this.label="";this.tooltip="";this.class="separator";this.enabled=!1;this.checked=void 0}static join(...t){let e=[];for(let n of t)n.length&&(e.length?e=[...e,new r,...n]:e=n);return e}static clean(t){for(;t.length>0&&t[0].id===r.ID;)t.shift();for(;t.length>0&&t[t.length-1].id===r.ID;)t.pop();for(let e=t.length-2;e>=0;e--)t[e].id===r.ID&&t[e+1].id===r.ID&&t.splice(e+1,1);return t}static{this.ID="vs.actions.separator"}async run(){}},IS=class{constructor(t,e,n,o){this.tooltip="";this.enabled=!0;this.checked=void 0;this.id=t,this.label=e,this.class=o,this._actions=n}get actions(){return this._actions}async run(){}},GF=class r extends ZP{static{this.ID="vs.actions.empty"}constructor(){super(r.ID,d(46,null),void 0,!1)}}});function SS(r){if(ta(r))return!1;let t=r;return t?.original!==void 0&&t.modified!==void 0}function KF(r){if(ta(r))return!1;let t=r;return!t||t.resources&&!Array.isArray(t.resources)?!1:!!t.resources||!!t.multiDiffSource}function tk(r){if(ta(r)||SS(r))return!1;let t=r;return t?.primary!==void 0&&t.secondary!==void 0}function bS(r){if(ta(r))return!1;let t=r;return b.isUri(t?.base?.resource)&&b.isUri(t?.input1?.resource)&&b.isUri(t?.input2?.resource)&&b.isUri(t?.result?.resource)}function ta(r){return r instanceof ok}function Tz(r){let t=r;return b.isUri(t?.preferredResource)}function Rz(r){let t=r;return ta(t?.primary)&&ta(t?.secondary)}function jF(r){let t=r;return ta(t?.modified)&&ta(t?.original)}var wz,sk,nk,N0e,ok,rk,Uf,ik,Nf=y(()=>{le();Ee();ie();Q();X();Uo();it();Ne();Ol();ek();zi();wz={EditorPane:"workbench.contributions.editors",EditorFactory:"workbench.contributions.editor.inputFactories"},sk={id:"default",displayName:d(5296,null),providerDisplayName:d(5293,null)};nk=class{constructor(){this.mapIdToSaveSource=new Map}registerSource(t,e){let n=this.mapIdToSaveSource.get(t);return n||(n={source:t,label:e},this.mapIdToSaveSource.set(t,n)),n.source}getSourceLabel(t){return this.mapIdToSaveSource.get(t)?.label??t}},N0e=new nk,ok=class extends _{};rk=class{getOriginalUri(t,e){if(!t)return;if(bS(t))return Uf.getOriginalUri(t.result,e);if(e?.supportSideBySide){let{primary:o,secondary:i}=this.getSideEditors(t);if(o&&i){if(e?.supportSideBySide===3)return{primary:this.getOriginalUri(o,{filterByScheme:e.filterByScheme}),secondary:this.getOriginalUri(i,{filterByScheme:e.filterByScheme})};if(e?.supportSideBySide===4)return this.getOriginalUri(o,{filterByScheme:e.filterByScheme})??this.getOriginalUri(i,{filterByScheme:e.filterByScheme});t=e.supportSideBySide===1?o:i}}if(SS(t)||KF(t)||tk(t)||bS(t))return;let n=Tz(t)?t.preferredResource:t.resource;return!n||!e?.filterByScheme?n:this.filterUri(n,e.filterByScheme)}getSideEditors(t){return Rz(t)||tk(t)?{primary:t.primary,secondary:t.secondary}:jF(t)||SS(t)?{primary:t.modified,secondary:t.original}:{primary:void 0,secondary:void 0}}getCanonicalUri(t,e){if(!t)return;if(bS(t))return Uf.getCanonicalUri(t.result,e);if(e?.supportSideBySide){let{primary:o,secondary:i}=this.getSideEditors(t);if(o&&i){if(e?.supportSideBySide===3)return{primary:this.getCanonicalUri(o,{filterByScheme:e.filterByScheme}),secondary:this.getCanonicalUri(i,{filterByScheme:e.filterByScheme})};if(e?.supportSideBySide===4)return this.getCanonicalUri(o,{filterByScheme:e.filterByScheme})??this.getCanonicalUri(i,{filterByScheme:e.filterByScheme});t=e.supportSideBySide===1?o:i}}if(SS(t)||KF(t)||tk(t)||bS(t))return;let n=t.resource;return!n||!e?.filterByScheme?n:this.filterUri(n,e.filterByScheme)}filterUri(t,e){if(Array.isArray(e)){if(e.some(n=>t.scheme===n))return t}else if(e===t.scheme)return t}},Uf=new rk,ik=class{constructor(){this.editorSerializerConstructors=new Map;this.editorSerializerInstances=new Map}start(t){let e=this.instantiationService=t.get(Tn);for(let[n,o]of this.editorSerializerConstructors)this.createEditorSerializer(n,o,e);this.editorSerializerConstructors.clear()}createEditorSerializer(t,e,n){let o=n.createInstance(e);this.editorSerializerInstances.set(t,o)}registerFileEditorFactory(t){if(this.fileEditorFactory)throw new Error("Can only register one file editor factory.");this.fileEditorFactory=t}getFileEditorFactory(){return mm(this.fileEditorFactory)}registerEditorSerializer(t,e){if(this.editorSerializerConstructors.has(t)||this.editorSerializerInstances.has(t))throw new Error(`A editor serializer with type ID '${t}' was already registered.`);return this.instantiationService?this.createEditorSerializer(t,e,this.instantiationService):this.editorSerializerConstructors.set(t,e),oe(()=>{this.editorSerializerConstructors.delete(t),this.editorSerializerInstances.delete(t)})}getEditorSerializer(t){return this.editorSerializerInstances.get(typeof t=="string"?t:t.typeId)}};lt.add(wz.EditorFactory,new ik)});var QF=y(()=>{});var W0e,JF=y(()=>{X();W0e=D("agentHostConnectionsService")});var ak,lk,xS,Pz,kz,CS=y(()=>{ie();QF();X();Uo();JF();ak=class{constructor(){this._contributions=new Set}register(t){return this._contributions.add(t),{dispose:()=>this._contributions.delete(t)}}getActivators(t){return Array.from(this._contributions).filter(e=>e.matchSessionType(t))}};lt.add("workbench.contrib.chatSessions.asyncActivation",new ak);(l=>(l.CopilotCLI="copilotcli",l.CopilotCloud="copilot-cloud-agent",l.Local="local",l.Codex="openai-codex",l.Growth="copilot-growth",l.AgentHostCopilot="agent-host-copilotcli",l.AgentHostClaude="agent-host-claude",l.AgentHostCodex="agent-host-codex"))(lk||={});xS=lk.Local;(o=>{function r(i){return new Map(Object.entries(i))}o.fromRecord=r;function t(i){let s=Object.create(null),a=n(i);for(let[l,c]of a)s[l]=c;return s}o.toRecord=t;function e(i){if(!i)return;let s=n(i);return Array.from(s,([a,l])=>({optionId:a,value:typeof l=="string"?l:l.id}))}o.toStrValueArray=e;function n(i){return i instanceof Map?i:Object.entries(i)}})(Pz||={});kz=D("chatSessionsService")});function ES(r){let t=dl.parseLocalSessionId(r);return t||r.toString()}var dl,Ff=y(()=>{ze();Ne();Rt();ie();Jt();CS();(s=>{s.scheme=$.vscodeLocalChatSession;function t(a){let l=bo(L.wrap(new TextEncoder().encode(a)),!1,!0);return b.from({scheme:s.scheme,authority:xS,path:"/"+l})}s.forSession=t;function e(){let a=Math.floor(Math.random()*1e9);return t(`chat-${a}`)}s.getNewSessionUri=e;function n(a){let l=i(a);return l?.chatSessionType===xS?l.sessionId:void 0}s.parseLocalSessionId=n;function o(a){return!!n(a)}s.isLocalSession=o;function i(a){if(a.scheme!==s.scheme||!a.authority)return;let l=a.path.split("/");if(l.length!==2)return;let c=a.authority,u=dr(l[1]);return{chatSessionType:c,sessionId:new TextDecoder().decode(u.buffer)}}})(dl||={})});function Dz(r){if(!r||typeof r!="object")return!1;if(on.isThemeIcon(r)||b.isUri(r))return!0;let t=r;return b.isUri(t.light)&&b.isUri(t.dark)}function YF(r){return typeof r=="object"&&r!==null&&r.$mid==="agentHostChatReference"}function XF(r,t,e,n,o){let i;try{i=b.parse(r.chatResource)}catch{return}return{kind:"chatReference",id:t,name:e,value:i,endTurn:r.endTurn,range:n,_meta:o}}function ZF(r){return r.kind==="implicit"}function e2(r){return r.kind==="string"}function dk(r){return r.kind==="image"}function wS(r){return r.kind==="element"}function t2(r){return r.kind==="promptFile"}function n2(r){return r.kind==="promptText"}function o2(r){let t=r;return typeof t=="object"&&t!==null&&(typeof t.value=="string"||typeof t.value>"u")&&(typeof t.name=="string"||typeof t.name>"u")&&(t.resourceUri===void 0||b.isUri(t.resourceUri))&&(typeof t.name=="string"||b.isUri(t.resourceUri))&&(t.iconPath===void 0||Dz(t.iconPath))&&b.isUri(t.uri)&&typeof t.handle=="number"}var ck,up,Vf=y(()=>{Ki();Rt();Va();ie();Jt();vS();le();ze();(i=>{i.icon=J.error;function t(s){return{filterUri:s.resource,owner:s.owner,problemMessage:s.message,filterRange:{startLineNumber:s.startLineNumber,endLineNumber:s.endLineNumber,startColumn:s.startColumn,endColumn:s.endColumn}}}i.fromMarker=t;function e(s){return{id:n(s),name:o(s),icon:i.icon,value:s,kind:"diagnostic",...s}}i.toEntry=e;function n(s){return[s.filterUri,s.owner,s.filterSeverity,s.filterRange?.startLineNumber,s.filterRange?.startColumn].join(":")}i.id=n;function o(s){let a;if((p=>(p[p.MaxChars=30]="MaxChars",p[p.MaxSpaceLookback=10]="MaxSpaceLookback"))(a||={}),s.problemMessage){if(s.problemMessage.length<30)return s.problemMessage;let c=s.problemMessage.lastIndexOf(" ",30);return c===-1||c+10<30?s.problemMessage.substring(0,30)+"\u2026":s.problemMessage.substring(0,c)+"\u2026"}let l=d(10331,null);return s.filterUri&&(l=d(10332,null,Ln(s.filterUri))),l}i.label=o})(ck||={});(n=>{function r(o){return b.isUri(o.value)?o.value:YP(o.value)?o.value.uri:void 0}n.toUri=r;function t(o){if(o.value instanceof Uint8Array){let i={...o};return i.value={$base64:bo(L.wrap(o.value))},i}return wS(o)&&o.imageData instanceof Uint8Array?{...o,imageData:{$base64:bo(L.wrap(o.imageData))}}:o}n.toExport=t;function e(o){if(o&&"values"in o&&Array.isArray(o.values))return{kind:"generic",id:o.id??"",name:o.name,value:o.values[0]?.value,range:o.range,modelDescription:o.modelDescription,references:o.references};if(o.value&&typeof o.value=="object"&&"$base64"in o.value&&typeof o.value.$base64=="string"){let i={...o};return i.value=dr(o.value.$base64).buffer,i}return wS(o)&&o.imageData&&typeof o.imageData=="object"&&"$base64"in o.imageData&&typeof o.imageData.$base64=="string"?{...o,imageData:dr(o.imageData.$base64).buffer}:o}n.fromExport=e})(up||={})});function a2(r,t){let e=uk.get(r);if(e)return e;let n=_z(r,t);if(n){let o=r2.get(n)??0;o++,r2.set(n,o);let i=o===1?n:`${n}#${o}`;return uk.set(r,i),i}}function _z(r,t){let e=uk.get(r);if(e)return e;let n=t.owner?Az(t.owner)+".":"",o,i=t.debugNameSource;if(i!==void 0)if(typeof i=="function"){if(o=i(),o!==void 0)return n+o}else return n+i;let s=t.referenceFn;if(s!==void 0&&(o=Hf(s),o!==void 0))return n+o;if(t.owner!==void 0){let a=Mz(t.owner,r);if(a!==void 0)return n+a}}function Mz(r,t){for(let e in r)if(r[e]===t)return e}function Az(r){let t=s2.get(r);if(t)return t;let e=pk(r)??"Object",n=i2.get(e)??0;n++,i2.set(e,n);let o=n===1?e:`${e}#${n}`;return s2.set(r,o),o}function pk(r){let t=r.constructor;if(t)return t.name==="Object"?void 0:t.name}function Hf(r){let t=r.toString(),n=/\/\*\*\s*@description\s*([^*]*)\*\//.exec(t);return(n?n[1]:void 0)?.trim()}var Hn,r2,uk,i2,s2,Lr=y(()=>{Hn=class{constructor(t,e,n){this.owner=t;this.debugNameSource=e;this.referenceFn=n}getDebugName(t){return a2(t,this)}},r2=new Map,uk=new WeakMap;i2=new Map,s2=new WeakMap});function Wo(r,t){return r===t}function Lz(){return(r,t)=>r===t}function mk(r,t,e){return vn(r,t,e??Wo)}function Oz(r){return(t,e)=>vn(t,e,r??Wo)}function Wf(r,t){if(r===t)return!0;if(Array.isArray(r)&&Array.isArray(t)){if(r.length!==t.length)return!1;for(let e=0;e<r.length;e++)if(!Wf(r[e],t[e]))return!1;return!0}if(r&&typeof r=="object"&&t&&typeof t=="object"&&Object.getPrototypeOf(r)===Object.prototype&&Object.getPrototypeOf(t)===Object.prototype){let e=r,n=t,o=Object.keys(e),i=Object.keys(n),s=new Set(i);if(o.length!==i.length)return!1;for(let a of o)if(!s.has(a)||!Wf(e[a],n[a]))return!1;return!0}return!1}function Uz(){return(r,t)=>Wf(r,t)}function Nz(r,t){return JSON.stringify(r)===JSON.stringify(t)}function Fz(){return(r,t)=>JSON.stringify(r)===JSON.stringify(t)}function Vz(){return(r,t)=>r.equals(t)}function Hz(r,t,e){return r==null||t===void 0||t===null?t===r:e(r,t)}function Wz(r){return(t,e)=>t==null||e===void 0||e===null?e===t:r(t,e)}var Bz,TS=y(()=>{Lt();(p=>(p.strict=Wo,p.strictC=Lz,p.array=mk,p.arrayC=Oz,p.structural=Wf,p.structuralC=Uz,p.jsonStringify=Nz,p.jsonStringifyC=Fz,p.thisC=Vz,p.ifDefined=Hz,p.ifDefinedC=Wz))(Bz||={})});var Jo=y(()=>{qr();TS();Se();de();Q()});function gk(r){let t=new Error("BugIndicatingErrorRecovery: "+r);tt(t),console.error("recovered from an error that indicates a bug",t)}var l2=y(()=>{Jo()});function Bf(r){Ec?Ec instanceof RS?Ec.loggers.push(r):Ec=new RS([Ec,r]):Ec=r}function zt(){return Ec}function c2(r){fk=r}function d2(r){fk&&fk(r)}var Ec,fk,RS,is=y(()=>{RS=class{constructor(t){this.loggers=t}handleObservableCreated(t,e){for(let n of this.loggers)n.handleObservableCreated(t,e)}handleOnListenerCountChanged(t,e){for(let n of this.loggers)n.handleOnListenerCountChanged(t,e)}handleObservableUpdated(t,e){for(let n of this.loggers)n.handleObservableUpdated(t,e)}handleAutorunCreated(t,e){for(let n of this.loggers)n.handleAutorunCreated(t,e)}handleAutorunDisposed(t){for(let e of this.loggers)e.handleAutorunDisposed(t)}handleAutorunDependencyChanged(t,e,n){for(let o of this.loggers)o.handleAutorunDependencyChanged(t,e,n)}handleAutorunStarted(t){for(let e of this.loggers)e.handleAutorunStarted(t)}handleAutorunFinished(t){for(let e of this.loggers)e.handleAutorunFinished(t)}handleDerivedDependencyChanged(t,e,n){for(let o of this.loggers)o.handleDerivedDependencyChanged(t,e,n)}handleDerivedCleared(t){for(let e of this.loggers)e.handleDerivedCleared(t)}handleBeginTransaction(t){for(let e of this.loggers)e.handleBeginTransaction(t)}handleEndTransaction(t){for(let e of this.loggers)e.handleEndTransaction(t)}}});function pl(r,t){let e=new ul(r,t);try{r(e)}finally{e.finish()}}function hk(r,t,e){r?t(r):pl(t,e)}var ul,na=y(()=>{l2();Lr();is();ul=class{constructor(t,e){this._fn=t;this._getDebugName=e;this._updatingObservers=[];zt()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():Hf(this._fn)}updateObserver(t,e){if(!this._updatingObservers){gk("Transaction already finished!"),pl(n=>{n.updateObserver(t,e)});return}this._updatingObservers.push({observer:t,observable:e}),t.beginUpdate(e)}finish(){let t=this._updatingObservers;if(!t){gk("transaction.finish() has already been called!");return}for(let e=0;e<t.length;e++){let{observer:n,observable:o}=t[e];n.endUpdate(o)}this._updatingObservers=null,zt()?.handleEndTransaction(this)}debugGetUpdatingObservers(){return this._updatingObservers}}});function $z(r){let t=r.match(/\((.*):(\d+):(\d+)\)/);if(t)return{fileName:t[1],line:parseInt(t[2]),column:parseInt(t[3]),id:r};let e=r.match(/at ([^\(\)]*):(\d+):(\d+)/);if(e)return{fileName:e[1],line:parseInt(e[2]),column:parseInt(e[3]),id:r}}var gn,vk,Or=y(()=>{(n=>{let r=!1;function t(){r=!0}n.enable=t;function e(){if(!r)return;let o=Error,i=o.stackTraceLimit;o.stackTraceLimit=3;let s=new Error().stack;return o.stackTraceLimit=i,vk.fromStack(s,2)}n.ofCaller=e})(gn||={});vk=class r{constructor(t,e,n,o){this.fileName=t;this.line=e;this.column=n;this.id=o}static fromStack(t,e){let n=t.split(`
`),o=$z(n[e+1]);if(o)return new r(o.fileName,o.line,o.column,o.id)}}});function u2(r){yk=r}function m2(r){p2=r}function f2(r){g2=r}function h2(r){Ik=r}var yk,p2,g2,Ik,$f,bk,Ur,Pi=y(()=>{Or();Lr();is();$f=class{get TChange(){return null}reportChanges(){this.get()}read(t){return t?t.readObservable(this):this.get()}map(t,e,n=gn.ofCaller()){let o=e===void 0?void 0:t,i=e===void 0?t:e;return yk({owner:o,debugName:()=>{let s=Hf(i);if(s!==void 0)return s;let l=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(i.toString());if(l)return`${this.debugName}.${l[2]}`;if(!o)return`${this.debugName} (mapped)`},debugReferenceFn:i},s=>i(this.read(s),s),n)}flatten(){return yk({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},t=>this.read(t).read(t))}recomputeInitiallyAndOnChange(t,e){return t.add(p2(this,e)),this}keepObserved(t){return t.add(g2(this)),this}get debugValue(){return this.get()}get debug(){return new bk(this)}},bk=class{constructor(t){this.observable=t}getDependencyGraph(){return Ik(this.observable,{type:"dependencies"})}getObserverGraph(){return Ik(this.observable,{type:"observers"})}},Ur=class extends $f{constructor(e){super();this._observers=new Set;zt()?.handleObservableCreated(this,e)}addObserver(e){let n=this._observers.size;this._observers.add(e),n===0&&this.onFirstObserverAdded(),n!==this._observers.size&&zt()?.handleOnListenerCountChanged(this,this._observers.size)}removeObserver(e){let n=this._observers.delete(e);n&&this._observers.size===0&&this.onLastObserverRemoved(),n&&zt()?.handleOnListenerCountChanged(this,this._observers.size)}onFirstObserverAdded(){}onLastObserverRemoved(){}log(){let e=!!zt();return d2(this),e||zt()?.handleObservableCreated(this,gn.ofCaller()),this}debugGetObservers(){return this._observers}}});function Wn(r,t,e=gn.ofCaller()){let n;return typeof r=="string"?n=new Hn(void 0,r,void 0):n=new Hn(r,void 0,void 0),new ss(n,t,Wo,e)}var ss,oa=y(()=>{na();Pi();Jo();Lr();is();Or();ss=class extends Ur{constructor(e,n,o,i){super(i);this._debugNameData=e;this._equalityComparator=o;this._value=n,zt()?.handleObservableUpdated(this,{hadValue:!1,newValue:n,change:void 0,didChange:!0,oldValue:void 0})}get debugName(){return this._debugNameData.getDebugName(this)??"ObservableValue"}get(){return this._value}set(e,n,o){if(o===void 0&&this._equalityComparator(this._value,e))return;let i;n||(n=i=new ul(()=>{},()=>`Setting ${this.debugName}`));try{let s=this._value;this._setValue(e),zt()?.handleObservableUpdated(this,{oldValue:s,newValue:e,change:o,didChange:!0,hadValue:!0});for(let a of this._observers)n.updateObserver(a,this),a.handleChange(this,o)}finally{i&&i.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}debugGetState(){return{value:this._value}}debugSetValue(e){this._value=e}}});var PS,v2=y(()=>{na();is();Pi();PS=class extends Ur{constructor(e,n,o,i){super(i);this._debugNameData=e;this._equalityComparator=o;this._isUpToDate=!0;this._deltas=[];this._updateCounter=0;this._value=n}get debugName(){return this._debugNameData.getDebugName(this)??"LazyObservableValue"}get(){return this._update(),this._value}_update(){if(!this._isUpToDate)if(this._isUpToDate=!0,this._deltas.length>0){for(let e of this._deltas){zt()?.handleObservableUpdated(this,{change:e,didChange:!0,oldValue:"(unknown)",newValue:this._value,hadValue:!0});for(let n of this._observers)n.handleChange(this,e)}this._deltas.length=0}else{zt()?.handleObservableUpdated(this,{change:void 0,didChange:!0,oldValue:"(unknown)",newValue:this._value,hadValue:!0});for(let e of this._observers)e.handleChange(this,void 0)}}_beginUpdate(){if(this._updateCounter++,this._updateCounter===1)for(let e of this._observers)e.beginUpdate(this)}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){this._update();let e=[...this._observers];for(let n of e)n.endUpdate(this)}}addObserver(e){let n=!this._observers.has(e)&&this._updateCounter>0;super.addObserver(e),n&&e.beginUpdate(this)}removeObserver(e){let n=this._observers.has(e)&&this._updateCounter>0;super.removeObserver(e),n&&e.endUpdate(this)}set(e,n,o){if(o===void 0&&this._equalityComparator(this._value,e))return;let i;n||(n=i=new ul(()=>{},()=>`Setting ${this.debugName}`));try{if(this._isUpToDate=!1,this._setValue(e),o!==void 0&&this._deltas.push(o),n.updateObserver({beginUpdate:()=>this._beginUpdate(),endUpdate:()=>this._endUpdate(),handleChange:(s,a)=>{},handlePossibleChange:s=>{}},this),this._updateCounter>1)for(let s of this._observers)s.handlePossibleChange(this)}finally{i&&i.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}}});function qf(r,t,e=gn.ofCaller()){return r.lazy?new PS(new Hn(r.owner,r.debugName,void 0),t,r.equalsFn??Wo,e):new ss(new Hn(r.owner,r.debugName,void 0),t,r.equalsFn??Wo,e)}var kS=y(()=>{Lr();Jo();oa();v2();Or()});function qz(r){switch(r){case 1:return"dependenciesMightHaveChanged";case 2:return"stale";case 3:return"upToDate";default:return"<unknown>"}}var ra,DS=y(()=>{Jo();is();ra=class{constructor(t,e,n,o){this._debugNameData=t;this._runFn=e;this._changeTracker=n;this._state=2;this._updateCount=0;this._disposed=!1;this._dependencies=new Set;this._dependenciesToBeRemoved=new Set;this._isRunning=!1;this._iteration=0;this._store=void 0;this._delayedStore=void 0;this._changeSummary=this._changeTracker?.createChangeSummary(void 0),zt()?.handleAutorunCreated(this,o),this._run(),fa(this)}get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}dispose(){if(!this._disposed){this._disposed=!0;for(let t of this._dependencies)t.removeObserver(this);this._dependencies.clear(),this._store!==void 0&&this._store.dispose(),this._delayedStore!==void 0&&this._delayedStore.dispose(),zt()?.handleAutorunDisposed(this),ha(this)}}_run(){let t=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=t,this._state=3;try{if(!this._disposed){zt()?.handleAutorunStarted(this);let e=this._changeSummary,n=this._delayedStore;n!==void 0&&(this._delayedStore=void 0);try{this._isRunning=!0,this._changeTracker&&(this._changeTracker.beforeUpdate?.(this,e),this._changeSummary=this._changeTracker.createChangeSummary(e)),this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._runFn(this,e)}catch(o){ma(o)}finally{this._isRunning=!1,n!==void 0&&n.dispose()}}}finally{this._disposed||zt()?.handleAutorunFinished(this);for(let e of this._dependenciesToBeRemoved)e.removeObserver(this);this._dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(t){this._state===3&&(this._checkIterations(),this._state=1),this._updateCount++}endUpdate(t){try{if(this._updateCount===1){this._iteration=1;do{if(this._checkIterations())return;if(this._state===1){this._state=3;for(let e of this._dependencies)if(e.reportChanges(),this._state===2)break}this._iteration++,this._state!==3&&this._run()}while(this._state!==3)}}finally{this._updateCount--}pm(()=>this._updateCount>=0)}handlePossibleChange(t){this._state===3&&this._isDependency(t)&&(this._checkIterations(),this._state=1)}handleChange(t,e){if(this._isDependency(t)){zt()?.handleAutorunDependencyChanged(this,t,e);try{(!this._changeTracker||this._changeTracker.handleChange({changedObservable:t,change:e,didChange:o=>o===t},this._changeSummary))&&(this._checkIterations(),this._state=2)}catch(n){ma(n)}}}_isDependency(t){return this._dependencies.has(t)&&!this._dependenciesToBeRemoved.has(t)}_ensureNoRunning(){if(!this._isRunning)throw new wt("The reader object cannot be used outside its compute function!")}readObservable(t){if(this._ensureNoRunning(),this._disposed)return t.get();t.addObserver(this);let e=t.get();return this._dependencies.add(t),this._dependenciesToBeRemoved.delete(t),e}get store(){if(this._ensureNoRunning(),this._disposed)throw new wt("Cannot access store after dispose");return this._store===void 0&&(this._store=new re),this._store}get delayedStore(){if(this._ensureNoRunning(),this._disposed)throw new wt("Cannot access store after dispose");return this._delayedStore===void 0&&(this._delayedStore=new re),this._delayedStore}debugGetState(){return{isRunning:this._isRunning,updateCount:this._updateCount,dependencies:this._dependencies,state:this._state,stateStr:qz(this._state)}}debugRerun(){this._isRunning?this._state=2:this._run()}_checkIterations(){return this._iteration>100?(ma(new wt(`Autorun '${this.debugName}' is stuck in an infinite update loop.`)),!0):!1}}});function Nr(r,t=gn.ofCaller()){return new ra(new Hn(void 0,void 0,r),r,void 0,t)}function Sk(r,t,e=gn.ofCaller()){let n,o=!1;n=Nr(i=>{t({delayedStore:i.delayedStore,store:i.store,readObservable:i.readObservable.bind(i),dispose:()=>{n?r.delete(n):o=!0}})},e),o?n.dispose():r.add(n)}var wc=y(()=>{Jo();Lr();DS();Or();oa();na()});function zz(r){switch(r){case 0:return"initial";case 1:return"dependenciesMightHaveChanged";case 2:return"stale";case 3:return"upToDate";default:return"<unknown>"}}var $n,pp=y(()=>{Pi();Jo();is();$n=class extends Ur{constructor(e,n,o,i=void 0,s,a){super(a);this._debugNameData=e;this._computeFn=n;this._changeTracker=o;this._handleLastObserverRemoved=i;this._equalityComparator=s;this._state=0;this._value=void 0;this._updateCount=0;this._dependencies=new Set;this._dependenciesToBeRemoved=new Set;this._changeSummary=void 0;this._isUpdating=!1;this._isComputing=!1;this._didReportChange=!1;this._isInBeforeUpdate=!1;this._isReaderValid=!1;this._store=void 0;this._delayedStore=void 0;this._removedObserverToCallEndUpdateOn=null;this._changeSummary=this._changeTracker?.createChangeSummary(void 0)}get debugName(){return this._debugNameData.getDebugName(this)??"(anonymous)"}onLastObserverRemoved(){this._state=0,this._value=void 0,zt()?.handleDerivedCleared(this);for(let e of this._dependencies)e.removeObserver(this);this._dependencies.clear(),this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._delayedStore!==void 0&&(this._delayedStore.dispose(),this._delayedStore=void 0),this._handleLastObserverRemoved?.()}get(){if(this._isComputing,this._observers.size===0){let n;try{this._isReaderValid=!0;let o;this._changeTracker&&(o=this._changeTracker.createChangeSummary(void 0),this._changeTracker.beforeUpdate?.(this,o)),n=this._computeFn(this,o)}finally{this._isReaderValid=!1}return this.onLastObserverRemoved(),n}else{do{if(this._state===1){for(let n of this._dependencies)if(n.reportChanges(),this._state===2)break}this._state===1&&(this._state=3),this._state!==3&&this._recompute()}while(this._state!==3);return this._value}}_recompute(){let e=!1;this._isComputing=!0,this._didReportChange=!1;let n=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=n;try{let o=this._changeSummary;this._isReaderValid=!0,this._changeTracker&&(this._isInBeforeUpdate=!0,this._changeTracker.beforeUpdate?.(this,o),this._isInBeforeUpdate=!1,this._changeSummary=this._changeTracker?.createChangeSummary(o));let i=this._state!==0,s=this._value;this._state=3;let a=this._delayedStore;a!==void 0&&(this._delayedStore=void 0);try{this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._value=this._computeFn(this,o)}finally{this._isReaderValid=!1;for(let l of this._dependenciesToBeRemoved)l.removeObserver(this);this._dependenciesToBeRemoved.clear(),a!==void 0&&a.dispose()}e=this._didReportChange||i&&!this._equalityComparator(s,this._value),zt()?.handleObservableUpdated(this,{oldValue:s,newValue:this._value,change:void 0,didChange:e,hadValue:i})}catch(o){ma(o)}if(this._isComputing=!1,!this._didReportChange&&e)for(let o of this._observers)o.handleChange(this,void 0);else this._didReportChange=!1}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){if(this._isUpdating)throw new wt("Cyclic deriveds are not supported yet!");this._updateCount++,this._isUpdating=!0;try{let n=this._updateCount===1;if(this._state===3&&(this._state=1,!n))for(let o of this._observers)o.handlePossibleChange(this);if(n)for(let o of this._observers)o.beginUpdate(this)}finally{this._isUpdating=!1}}endUpdate(e){if(this._updateCount--,this._updateCount===0){let n=[...this._observers];for(let o of n)o.endUpdate(this);if(this._removedObserverToCallEndUpdateOn){let o=[...this._removedObserverToCallEndUpdateOn];this._removedObserverToCallEndUpdateOn=null;for(let i of o)i.endUpdate(this)}}pm(()=>this._updateCount>=0)}handlePossibleChange(e){if(this._state===3&&this._dependencies.has(e)&&!this._dependenciesToBeRemoved.has(e)){this._state=1;for(let n of this._observers)n.handlePossibleChange(this)}}handleChange(e,n){if(this._dependencies.has(e)&&!this._dependenciesToBeRemoved.has(e)||this._isInBeforeUpdate){zt()?.handleDerivedDependencyChanged(this,e,n);let o=!1;try{o=this._changeTracker?this._changeTracker.handleChange({changedObservable:e,change:n,didChange:s=>s===e},this._changeSummary):!0}catch(s){ma(s)}let i=this._state===3;if(o&&(this._state===1||i)&&(this._state=2,i))for(let s of this._observers)s.handlePossibleChange(this)}}_ensureReaderValid(){if(!this._isReaderValid)throw new wt("The reader object cannot be used outside its compute function!")}readObservable(e){this._ensureReaderValid(),e.addObserver(this);let n=e.get();return this._dependencies.add(e),this._dependenciesToBeRemoved.delete(e),n}reportChange(e){this._ensureReaderValid(),this._didReportChange=!0;for(let n of this._observers)n.handleChange(this,e)}get store(){return this._ensureReaderValid(),this._store===void 0&&(this._store=new re),this._store}get delayedStore(){return this._ensureReaderValid(),this._delayedStore===void 0&&(this._delayedStore=new re),this._delayedStore}addObserver(e){let n=!this._observers.has(e)&&this._updateCount>0;super.addObserver(e),n&&(this._removedObserverToCallEndUpdateOn?.delete(e)||e.beginUpdate(this))}removeObserver(e){this._observers.has(e)&&this._updateCount>0&&(this._removedObserverToCallEndUpdateOn||(this._removedObserverToCallEndUpdateOn=new Set),this._removedObserverToCallEndUpdateOn.add(e)),super.removeObserver(e)}debugGetState(){return{state:this._state,stateStr:zz(this._state),updateCount:this._updateCount,isComputing:this._isComputing,dependencies:this._dependencies,value:this._value}}debugSetValue(e){this._value=e}debugRecompute(){this.beginUpdate(this);try{this._isComputing?this._state=2:this._recompute()}finally{this.endUpdate(this)}}setValue(e,n,o){this._value=e;let i=this._observers;n.updateObserver(this,this);for(let s of i)s.handleChange(this,o)}}});function mp(r,t,e=gn.ofCaller()){return t!==void 0?new $n(new Hn(r,void 0,t),t,void 0,void 0,Wo,e):new $n(new Hn(void 0,void 0,r),r,void 0,void 0,Wo,e)}function xk(r,t,e=gn.ofCaller()){return new $n(new Hn(r.owner,r.debugName,r.debugReferenceFn),t,void 0,r.onLastObserverRemoved,r.equalsFn??Wo,e)}var _S=y(()=>{Jo();Or();Lr();Pi();pp();u2(xk)});var y2=y(()=>{wc();na();_S();oa()});var Ck=y(()=>{Se();jt()});var I2=y(()=>{Lr();Ck();Jo();wc();pp();Or()});function ii(...r){let t,e,n,o;return r.length===2?[e,n]=r:[t,e,n,o]=r,new ri(new Hn(t,void 0,n),e,n,()=>ri.globalTransaction,Wo,o??gn.ofCaller())}var ri,ml=y(()=>{na();Jo();Lr();is();Pi();Or();ri=class extends Ur{constructor(e,n,o,i,s,a){super(a);this._debugNameData=e;this.event=n;this._getValue=o;this._getTransaction=i;this._equalityComparator=s;this._hasValue=!1;this.handleEvent=e=>{let n=this._getValue(e),o=this._value,i=this._hasValue,s=!i||!this._equalityComparator(o,n),a=!1;s&&(this._value=n,this._hasValue=!0,i&&(a=!0,hk(this._getTransaction(),l=>{zt()?.handleObservableUpdated(this,{oldValue:o,newValue:n,change:void 0,didChange:s,hadValue:i});for(let c of this._observers)l.updateObserver(c,this),c.handleChange(this,void 0)},()=>{let l=this.getDebugName();return"Event fired"+(l?`: ${l}`:"")}))),a||zt()?.handleObservableUpdated(this,{oldValue:o,newValue:n,change:void 0,didChange:s,hadValue:i})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){let e=this.getDebugName();return"From Event"+(e?`: ${e}`:"")}onFirstObserverAdded(){this._subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this._subscription.dispose(),this._subscription=void 0,this._hasValue=!1,this._value=void 0}get(){return this._subscription?(this._hasValue||this.handleEvent(void 0),this._value):this._getValue(void 0)}debugSetValue(e){this._value=e}debugGetState(){return{value:this._value,hasValue:this._hasValue}}};(e=>{e.Observer=ri;function t(n,o){let i=!1;ri.globalTransaction===void 0&&(ri.globalTransaction=n,i=!0);try{o()}finally{i&&(ri.globalTransaction=void 0)}}e.batchEventsGlobally=t})(ii||={})});var Ek=y(()=>{na();Lr();Pi();Or()});function b2(r){let t=new MS(!1,void 0);return r.addObserver(t),oe(()=>{r.removeObserver(t)})}function S2(r,t){let e=new MS(!0,t);r.addObserver(e);try{e.beginUpdate(r)}finally{e.endUpdate(r)}return oe(()=>{r.removeObserver(e)})}var MS,wk=y(()=>{wc();oa();Jo();_S();ml();Ek();Pi();Or();f2(b2);m2(S2);MS=class{constructor(t,e){this._forceRecompute=t;this._handleValue=e;this._counter=0}beginUpdate(t){this._counter++}endUpdate(t){this._counter===1&&this._forceRecompute&&(this._handleValue?this._handleValue(t.get()):t.reportChanges()),this._counter--}handlePossibleChange(t){}handleChange(t,e){}}});var x2=y(()=>{Jo()});function AS(r){return new Tk(r)}var Tk,C2=y(()=>{Pi();Tk=class extends $f{constructor(e){super();this.value=e}get debugName(){return this.toString()}get(){return this.value}addObserver(e){}removeObserver(e){}log(){return this}toString(){return`Const: ${this.value}`}}});function Pk(r,t,e=gn.ofCaller()){return new Rk(typeof r=="string"?r:new Hn(r,void 0,void 0),t,e)}var Rk,E2=y(()=>{na();Lr();Pi();Or();Rk=class extends Ur{constructor(e,n,o){super(o);this.event=n;this.handleEvent=()=>{pl(e=>{for(let n of this._observers)e.updateObserver(n,this),n.handleChange(this,void 0)},()=>this.debugName)};this.debugName=typeof e=="string"?e:e.getDebugName(this)??"Observable Signal From Event"}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}});var w2=y(()=>{Jo();ml()});var T2=y(()=>{Ck();Jo();wc()});var R2=y(()=>{Jo();Lr();ml();wc();wk()});var P2=y(()=>{kS()});var k2=y(()=>{kS()});function D2(r){LS||(LS=new zf,Bf(LS)),LS.addFilteredObj(r)}function Yz(r){let t=new Array,e=[],n="";function o(s){if("length"in s)for(let a of s)a&&o(a);else"text"in s?(n+=`%c${s.text}`,t.push(s.style),s.data&&e.push(...s.data)):"data"in s&&e.push(...s.data)}o(r);let i=[n,...t];return i.push(...e),i}function gp(r){return si(r,{color:"black"})}function fp(r){return si(tG(`${r}: `,10),{color:"black",bold:!0})}function si(r,t={color:"black"}){function e(o){return Object.entries(o).reduce((i,[s,a])=>`${i}${s}:${a};`,"")}let n={color:t.color};return t.strikeThrough&&(n["text-decoration"]="line-through"),t.bold&&(n["font-weight"]="bold"),{text:r,style:e(n)}}function Fr(r,t){switch(typeof r){case"number":return""+r;case"string":return r.length+2<=t?`"${r}"`:`"${r.substr(0,t-7)}"+...`;case"boolean":return r?"true":"false";case"undefined":return"undefined";case"object":return r===null?"null":Array.isArray(r)?Xz(r,t):Zz(r,t);case"symbol":return r.toString();case"function":return`[[Function${r.name?" "+r.name:""}]]`;default:return""+r}}function Xz(r,t){let e="[ ",n=!0;for(let o of r){if(n||(e+=", "),e.length-5>t){e+="...";break}n=!1,e+=`${Fr(o,t-e.length)}`}return e+=" ]",e}function Zz(r,t){if(typeof r.toString=="function"&&r.toString!==Object.prototype.toString){let i=r.toString();return i.length<=t?i:i.substring(0,t-3)+"..."}let e=pk(r),n=e?e+"(":"{ ",o=!0;for(let[i,s]of Object.entries(r)){if(o||(n+=", "),n.length-5>t){n+="...";break}o=!1,n+=`${i}: ${Fr(s,t-n.length)}`}return n+=e?")":" }",n}function eG(r,t){let e="";for(let n=1;n<=t;n++)e+=r;return e}function tG(r,t){for(;r.length<t;)r+=" ";return r}var LS,zf,OS=y(()=>{is();Lr();pp();zf=class{constructor(){this.indentation=0;this.changedObservablesSets=new WeakMap}addFilteredObj(t){this._filteredObjects||(this._filteredObjects=new Set),this._filteredObjects.add(t)}_isIncluded(t){return this._filteredObjects?.has(t)??!0}textToConsoleArgs(t){return Yz([gp(eG("|  ",this.indentation)),t])}formatInfo(t){return t.hadValue?t.didChange?[gp(" "),si(Fr(t.oldValue,70),{color:"red",strikeThrough:!0}),gp(" "),si(Fr(t.newValue,60),{color:"green"})]:[gp(" (unchanged)")]:[gp(" "),si(Fr(t.newValue,60),{color:"green"}),gp(" (initial)")]}handleObservableCreated(t){if(t instanceof $n){let e=t;if(this.changedObservablesSets.set(e,new Set),!1){let o=[];e.__debugUpdating=o;let i=e.beginUpdate;e.beginUpdate=a=>(o.push(a),i.apply(e,[a]));let s=e.endUpdate;e.endUpdate=a=>{let l=o.indexOf(a);return l===-1&&console.error("endUpdate called without beginUpdate",e.debugName,a.debugName),o.splice(l,1),s.apply(e,[a])}}}}handleOnListenerCountChanged(t,e){}handleObservableUpdated(t,e){if(this._isIncluded(t)){if(t instanceof $n){this._handleDerivedRecomputed(t,e);return}console.log(...this.textToConsoleArgs([fp("observable value changed"),si(t.debugName,{color:"BlueViolet"}),...this.formatInfo(e)]))}}formatChanges(t){if(t.size!==0)return si(" (changed deps: "+[...t].map(e=>e.debugName).join(", ")+")",{color:"gray"})}handleDerivedDependencyChanged(t,e,n){this._isIncluded(t)&&this.changedObservablesSets.get(t)?.add(e)}_handleDerivedRecomputed(t,e){if(!this._isIncluded(t))return;let n=this.changedObservablesSets.get(t);n&&(console.log(...this.textToConsoleArgs([fp("derived recomputed"),si(t.debugName,{color:"BlueViolet"}),...this.formatInfo(e),this.formatChanges(n),{data:[{fn:t._debugNameData.referenceFn??t._computeFn}]}])),n.clear())}handleDerivedCleared(t){this._isIncluded(t)&&console.log(...this.textToConsoleArgs([fp("derived cleared"),si(t.debugName,{color:"BlueViolet"})]))}handleFromEventObservableTriggered(t,e){this._isIncluded(t)&&console.log(...this.textToConsoleArgs([fp("observable from event triggered"),si(t.debugName,{color:"BlueViolet"}),...this.formatInfo(e),{data:[{fn:t._getValue}]}]))}handleAutorunCreated(t){this._isIncluded(t)&&this.changedObservablesSets.set(t,new Set)}handleAutorunDisposed(t){}handleAutorunDependencyChanged(t,e,n){this._isIncluded(t)&&this.changedObservablesSets.get(t).add(e)}handleAutorunStarted(t){let e=this.changedObservablesSets.get(t);e&&(this._isIncluded(t)&&console.log(...this.textToConsoleArgs([fp("autorun"),si(t.debugName,{color:"BlueViolet"}),this.formatChanges(e),{data:[{fn:t._debugNameData.referenceFn??t._runFn}]}])),e.clear(),this.indentation++)}handleAutorunFinished(t){this.indentation--}handleBeginTransaction(t){let e=t.getDebugName();e===void 0&&(e=""),this._isIncluded(t)&&console.log(...this.textToConsoleArgs([fp("transaction"),si(e,{color:"BlueViolet"}),{data:[{fn:t._fn}]}])),this.indentation++}handleEndTransaction(){this.indentation--}}});var US,_2=y(()=>{US=class r{constructor(t,e){this._channelFactory=t;this._getHandler=e;this._channel=this._channelFactory({handleNotification:i=>{let s=i,a=this._getHandler().notifications[s[0]];if(!a)throw new Error(`Unknown notification "${s[0]}"!`);a(...s[1])},handleRequest:i=>{let s=i;try{return{type:"result",value:this._getHandler().requests[s[0]](...s[1])}}catch(a){return{type:"error",value:a}}}});let n=new Proxy({},{get:(i,s)=>{if(s!=="then")return async(...a)=>{let l=await this._channel.sendRequest([s,a]);if(l.type==="error")throw l.value;return l.value}}}),o=new Proxy({},{get:(i,s)=>{if(s!=="then")return(...a)=>{this._channel.sendNotification([s,a])}}});this.api={notifications:o,requests:n}}static createHost(t,e){return new r(t,e)}static createClient(t,e){return new r(t,e)}}});function M2(r,t){let e=globalThis,n=[],o,{channel:i,handler:s}=nG({sendNotification:l=>{o?o.sendNotification(l):n.push(l)}}),a;return(e.$$debugValueEditor_debugChannels??(e.$$debugValueEditor_debugChannels={}))[r]=l=>{a=t(),o=l;for(let c of n)l.sendNotification(c);return n=[],s},US.createClient(i,()=>{if(!a)throw new Error("Not supported");return a})}function nG(r){let t;return{channel:n=>(t=n,{sendNotification:o=>{r.sendNotification(o)},sendRequest:o=>{throw new Error("not supported")}}),handler:{handleRequest:n=>n.type==="notification"?t?.handleNotification(n.data):t?.handleRequest(n.data)}}}var A2=y(()=>{_2()});function kk(r,t){for(let e in t)r[e]&&typeof r[e]=="object"&&t[e]&&typeof t[e]=="object"?kk(r[e],t[e]):r[e]=t[e]}function Dk(r,t){for(let e in t)t[e]===null?delete r[e]:r[e]&&typeof r[e]=="object"&&t[e]&&typeof t[e]=="object"?Dk(r[e],t[e]):r[e]=t[e]}var NS,L2=y(()=>{NS=class{constructor(){this._timeout=void 0}throttle(t,e){this._timeout===void 0&&(this._timeout=setTimeout(()=>{this._timeout=void 0,t()},e))}dispose(){this._timeout!==void 0&&clearTimeout(this._timeout)}}});var FS,O2=y(()=>{DS();OS();A2();L2();Ee();ml();Se();pp();oa();Or();FS=class r{constructor(){this._declarationId=0;this._instanceId=0;this._declarations=new Map;this._instanceInfos=new WeakMap;this._aliveInstances=new Map;this._activeTransactions=new Set;this._channel=M2("observableDevTools",()=>({notifications:{setDeclarationIdFilter:t=>{},logObservableValue:t=>{console.log("logObservableValue",t)},flushUpdates:()=>{this._flushUpdates()},resetUpdates:()=>{this._pendingChanges=null,this._channel.api.notifications.handleChange(this._fullState,!0)}},requests:{getDeclarations:()=>{let t={};for(let e of this._declarations.values())t[e.id]=e;return{decls:t}},getSummarizedInstances:()=>null,getObservableValueInfo:t=>({observers:[...this._aliveInstances.get(t).debugGetObservers()].map(n=>this._formatObserver(n)).filter(zr)}),getDerivedInfo:t=>{let e=this._aliveInstances.get(t);return{dependencies:[...e.debugGetState().dependencies].map(n=>this._formatObservable(n)).filter(zr),observers:[...e.debugGetObservers()].map(n=>this._formatObserver(n)).filter(zr)}},getAutorunInfo:t=>({dependencies:[...this._aliveInstances.get(t).debugGetState().dependencies].map(n=>this._formatObservable(n)).filter(zr)}),getTransactionState:()=>this.getTransactionState(),setValue:(t,e)=>{let n=this._aliveInstances.get(t);if(n instanceof $n)n.debugSetValue(e);else if(n instanceof ss)n.debugSetValue(e);else if(n instanceof ri)n.debugSetValue(e);else throw new wt("Observable is not supported");let o=[...n.debugGetObservers()];for(let i of o)i.beginUpdate(n);for(let i of o)i.handleChange(n,void 0);for(let i of o)i.endUpdate(n)},getValue:t=>{let e=this._aliveInstances.get(t);if(e instanceof $n)return Fr(e.debugGetState().value,200);if(e instanceof ss)return Fr(e.debugGetState().value,200)},logValue:t=>{let e=this._aliveInstances.get(t);if(e&&"get"in e)console.log("Logged Value:",e.get());else throw new wt("Observable is not supported")},rerun:t=>{let e=this._aliveInstances.get(t);if(e instanceof $n)e.debugRecompute();else if(e instanceof ra)e.debugRerun();else throw new wt("Observable is not supported")}}}));this._pendingChanges=null;this._changeThrottler=new NS;this._fullState={};this._flushUpdates=()=>{this._pendingChanges!==null&&(this._channel.api.notifications.handleChange(this._pendingChanges,!1),this._pendingChanges=null)};gn.enable()}static{this._instance=void 0}static getInstance(){return r._instance===void 0&&(r._instance=new r),r._instance}getTransactionState(){let t=[],e=[...this._activeTransactions];if(e.length===0)return;let n=e.flatMap(i=>i.debugGetUpdatingObservers()??[]).map(i=>i.observer),o=new Set;for(;n.length>0;){let i=n.shift();if(o.has(i))continue;o.add(i);let s=this._getInfo(i,a=>{o.has(a)||n.push(a)});s&&t.push(s)}return{names:e.map(i=>i.getDebugName()??"tx"),affected:t}}_getObservableInfo(t){let e=this._instanceInfos.get(t);if(!e){tt(new wt("No info found"));return}return e}_getAutorunInfo(t){let e=this._instanceInfos.get(t);if(!e){tt(new wt("No info found"));return}return e}_getInfo(t,e){if(t instanceof $n){let n=[...t.debugGetObservers()];for(let l of n)e(l);let o=this._getObservableInfo(t);if(!o)return;let i=t.debugGetState(),s={name:t.debugName,instanceId:o.instanceId,updateCount:i.updateCount},a=[...o.changedObservables].map(l=>this._instanceInfos.get(l)?.instanceId).filter(zr);if(i.isComputing)return{...s,type:"observable/derived",state:"updating",changedDependencies:a,initialComputation:!1};switch(i.state){case 0:return{...s,type:"observable/derived",state:"noValue"};case 3:return{...s,type:"observable/derived",state:"upToDate"};case 2:return{...s,type:"observable/derived",state:"stale",changedDependencies:a};case 1:return{...s,type:"observable/derived",state:"possiblyStale"}}}else if(t instanceof ra){let n=this._getAutorunInfo(t);if(!n)return;let o={name:t.debugName,instanceId:n.instanceId,updateCount:n.updateCount},i=[...n.changedObservables].map(s=>this._instanceInfos.get(s).instanceId);if(t.debugGetState().isRunning)return{...o,type:"autorun",state:"updating",changedDependencies:i};switch(t.debugGetState().state){case 3:return{...o,type:"autorun",state:"upToDate"};case 2:return{...o,type:"autorun",state:"stale",changedDependencies:i};case 1:return{...o,type:"autorun",state:"possiblyStale"}}}}_formatObservable(t){let e=this._getObservableInfo(t);if(e)return{name:t.debugName,instanceId:e.instanceId}}_formatObserver(t){if(t instanceof $n)return{name:t.toString(),instanceId:this._getObservableInfo(t)?.instanceId};let e=this._getAutorunInfo(t);if(e)return{name:t.toString(),instanceId:e.instanceId}}_handleChange(t){Dk(this._fullState,t),this._pendingChanges===null?this._pendingChanges=t:kk(this._pendingChanges,t),this._changeThrottler.throttle(this._flushUpdates,10)}_getDeclarationId(t,e){if(!e)return-1;let n=this._declarations.get(e.id);return n===void 0&&(n={id:this._declarationId++,type:t,url:e.fileName,line:e.line,column:e.column},this._declarations.set(e.id,n),this._handleChange({decls:{[n.id]:n}})),n.id}handleObservableCreated(t,e){let o={declarationId:this._getDeclarationId("observable/value",e),instanceId:this._instanceId++,listenerCount:0,lastValue:void 0,updateCount:0,changedObservables:new Set};this._instanceInfos.set(t,o)}handleOnListenerCountChanged(t,e){let n=this._getObservableInfo(t);if(n){if(n.listenerCount===0&&e>0){let o=t instanceof $n?"observable/derived":"observable/value";this._aliveInstances.set(n.instanceId,t),this._handleChange({instances:{[n.instanceId]:{instanceId:n.instanceId,declarationId:n.declarationId,formattedValue:n.lastValue,type:o,name:t.debugName}}})}else n.listenerCount>0&&e===0&&(this._handleChange({instances:{[n.instanceId]:null}}),this._aliveInstances.delete(n.instanceId));n.listenerCount=e}}handleObservableUpdated(t,e){if(t instanceof $n){this._handleDerivedRecomputed(t,e);return}let n=this._getObservableInfo(t);n&&e.didChange&&(n.lastValue=Fr(e.newValue,30),n.listenerCount>0&&this._handleChange({instances:{[n.instanceId]:{formattedValue:n.lastValue}}}))}handleAutorunCreated(t,e){let o={declarationId:this._getDeclarationId("autorun",e),instanceId:this._instanceId++,updateCount:0,changedObservables:new Set};this._instanceInfos.set(t,o),this._aliveInstances.set(o.instanceId,t),o&&this._handleChange({instances:{[o.instanceId]:{instanceId:o.instanceId,declarationId:o.declarationId,runCount:0,type:"autorun",name:t.debugName}}})}handleAutorunDisposed(t){let e=this._getAutorunInfo(t);e&&(this._handleChange({instances:{[e.instanceId]:null}}),this._instanceInfos.delete(t),this._aliveInstances.delete(e.instanceId))}handleAutorunDependencyChanged(t,e,n){let o=this._getAutorunInfo(t);o&&o.changedObservables.add(e)}handleAutorunStarted(t){}handleAutorunFinished(t){let e=this._getAutorunInfo(t);e&&(e.changedObservables.clear(),e.updateCount++,this._handleChange({instances:{[e.instanceId]:{runCount:e.updateCount}}}))}handleDerivedDependencyChanged(t,e,n){let o=this._getObservableInfo(t);o&&o.changedObservables.add(e)}_handleDerivedRecomputed(t,e){let n=this._getObservableInfo(t);if(!n)return;let o=Fr(e.newValue,30);n.updateCount++,n.changedObservables.clear(),n.lastValue=o,n.listenerCount>0&&this._handleChange({instances:{[n.instanceId]:{formattedValue:o,recomputationCount:n.updateCount}}})}handleDerivedCleared(t){let e=this._getObservableInfo(t);e&&(e.lastValue=void 0,e.changedObservables.clear(),e.listenerCount>0&&this._handleChange({instances:{[e.instanceId]:{formattedValue:void 0}}}))}handleBeginTransaction(t){this._activeTransactions.add(t)}handleEndTransaction(t){this._activeTransactions.delete(t)}}});function U2(r,t){let e=t?.debugNamePostProcessor??(i=>i),n=Tc.from(r,e);if(!n)return"";let o=new Set;return t.type==="observers"?F2(n,0,o,t).trim():N2(n,0,o,t).trim()}function N2(r,t,e,n){let o="		".repeat(t),i=[];if(e.has(r.sourceObj))return i.push(`${o}* ${r.type} ${r.name} (already listed)`),i.join(`
`);if(e.add(r.sourceObj),i.push(`${o}* ${r.type} ${r.name}:`),i.push(`${o}  value: ${Fr(r.value,50)}`),i.push(`${o}  state: ${r.state}`),r.dependencies.length>0){i.push(`${o}  dependencies:`);for(let a of r.dependencies){let l=Tc.from(a,n.debugNamePostProcessor??(c=>c))??Tc.unknown(a);i.push(N2(l,t+1,e,n))}}return i.join(`
`)}function F2(r,t,e,n){let o="		".repeat(t),i=[];if(e.has(r.sourceObj))return i.push(`${o}* ${r.type} ${r.name} (already listed)`),i.join(`
`);if(e.add(r.sourceObj),i.push(`${o}* ${r.type} ${r.name}:`),i.push(`${o}  value: ${Fr(r.value,50)}`),i.push(`${o}  state: ${r.state}`),r.observers.length>0){i.push(`${o}  observers:`);for(let a of r.observers){let l=Tc.from(a,n.debugNamePostProcessor??(c=>c))??Tc.unknown(a);i.push(F2(l,t+1,e,n))}}return i.join(`
`)}var Tc,V2=y(()=>{pp();ml();oa();DS();OS();Tc=class r{constructor(t,e,n,o,i,s,a){this.sourceObj=t;this.name=e;this.type=n;this.value=o;this.state=i;this.dependencies=s;this.observers=a}static from(t,e){if(t instanceof ra){let n=t.debugGetState();return new r(t,e(t.debugName),"autorun",void 0,n.stateStr,Array.from(n.dependencies),[])}else if(t instanceof $n){let n=t.debugGetState();return new r(t,e(t.debugName),"derived",n.value,n.stateStr,Array.from(n.dependencies),Array.from(t.debugGetObservers()))}else if(t instanceof ss){let n=t.debugGetState();return new r(t,e(t.debugName),"observableValue",n.value,"upToDate",[],Array.from(t.debugGetObservers()))}else if(t instanceof ri){let n=t.debugGetState();return new r(t,e(t.debugName),"fromEvent",n.value,n.hasValue?"upToDate":"initial",[],Array.from(t.debugGetObservers()))}}static unknown(t){return new r(t,"(unknown)","unknown",void 0,"unknown",[],[])}}});var iG,W2=y(()=>{kS();wc();oa();_S();y2();I2();wk();x2();C2();Ek();ml();E2();na();w2();T2();R2();ml();oa();P2();k2();Or();is();OS();O2();Sr();Pi();V2();h2(U2);c2(D2);iG=!1;iG&&Bf(new zf);ln&&ln.VSCODE_DEV_DEBUG_OBSERVABLES&&Bf(FS.getInstance())});var ia=y(()=>{W2()});function sG(r){return!!r&&typeof r=="object"&&"uri"in r&&r.uri instanceof b&&"version"in r&&typeof r.version=="number"&&"ranges"in r&&Array.isArray(r.ranges)&&r.ranges.every(bn.isIRange)}function B2(r){return!!r&&typeof r=="object"&&"documents"in r&&Array.isArray(r.documents)&&r.documents.every(sG)}function $2(r){return!!r&&typeof r=="object"&&"command"in r&&"language"in r}var De,aG,q2,hp=y(()=>{Q();ia();Ee();ie();Zs();X();(m=>{let r;(P=>(P[P.Streaming=0]="Streaming",P[P.WaitingForConfirmation=1]="WaitingForConfirmation",P[P.Executing=2]="Executing",P[P.WaitingForPostApproval=3]="WaitingForPostApproval",P[P.Completed=4]="Completed",P[P.Cancelled=5]="Cancelled",P[P.WaitingForAuthentication=6]="WaitingForAuthentication"))(r=m.StateKind||={});function t(g,h){if(g.kind==="toolInvocationSerialized")return g.isConfirmed===void 0||typeof g.isConfirmed=="boolean"?{type:g.isConfirmed?4:0}:g.isConfirmed;let v=g.state.read(h);if(!(v.type===0||v.type===1))return v.type===5?{type:v.reason}:v.confirmed}m.executionConfirmedOrDenied=t;function e(g,h){let v=t(g);if(v)return Promise.resolve(v);let S=new re;return new Promise(T=>{h&&S.add(h.onCancellationRequested(()=>{T({type:0})})),S.add(Nr(E=>{let k=t(g,E);k&&(S.dispose(),T(k))}))}).finally(()=>{S.dispose()})}m.awaitConfirmation=e;function n(g,h){let v=g.state.read(h);if(v.type===4)return v.postConfirmed||{type:1};if(v.type===5)return{type:v.reason}}function o(g,h){let v=g?.state.get();return v?.type===1||v?.type===3?(v.confirm(h),!0):!1}m.confirmWith=o;function i(g,h){let v=n(g);if(v)return Promise.resolve(v);let S=new re;return new Promise(T=>{h&&S.add(h.onCancellationRequested(()=>{T({type:0})})),S.add(Nr(E=>{let k=n(g,E);k&&(S.dispose(),T(k))}))}).finally(()=>{S.dispose()})}m.awaitPostConfirmation=i;function s(g,h){if(g.kind==="toolInvocationSerialized")return g.resultDetails;let v=g.state.read(h);if(v.type===4||v.type===3)return v.resultDetails}m.resultDetails=s;function a(g,h){if(g.kind==="toolInvocationSerialized")return!0;let v=g.state.read(h);return v.type===4||v.type===5}m.isComplete=a;function l(g,h){return!!(g.presentation==="hidden"||g.presentation==="hiddenAfterComplete"&&a(g,h))}m.isEffectivelyHidden=l;function c(g,h){return g.kind==="toolInvocationSerialized"?!1:g.state.read(h).type===0}m.isStreaming=c;function u(g,h){if(g.kind==="toolInvocationSerialized")return;let v=g.state.read(h);if(v.type!==0)return v.parameters}m.getParameters=u;function p(g,h){if(g.kind==="toolInvocationSerialized")return;let v=g.state.read(h);if(v.type!==0)return v.confirmationMessages}m.getConfirmationMessages=p})(De||={});(o=>{function r(i){return i.kind==="sent"}o.isSent=r;function t(i){return i.kind==="rejected"}o.isRejected=t;function e(i){return i.kind==="queued"}o.isQueued=e;function n(i){if(i.kind!=="sent")throw new Error(`Expected ChatSendResult to be 'sent', but was '${i.kind}'`)}o.assertSent=n})(aG||={});q2=D("IChatService")});var gFe,fFe,hFe,z2,_k,vFe,yFe,IFe,bFe,lG,SFe,Mk=y(()=>{me();le();lo();gFe=new x("isMac",ut,d(2672,null)),fFe=new x("isLinux",qe,d(2671,null)),hFe=new x("isWindows",te,d(2676,null)),z2=new x("isWeb",pn,d(2675,null)),_k=new x("isMacNative",ut&&!pn,d(2673,null)),vFe=new x("isIOS",lM,d(2670,null)),yFe=new x("isMobile",cM,d(2674,null)),IFe=new x("isDevelopment",!1,!0),bFe=new x("productQualityType","",d(2677,null)),lG="inputFocus",SFe=new x(lG,!1,d(2669,null))});var Ak,G2=y(()=>{X();Ak=D("languageService")});var Lk,K2=y(()=>{X();Lk=D("modelService")});var j2=y(()=>{me()});var BFe,$Fe,qFe,zFe,GFe,KFe,Q2,jFe,QFe,J2,JFe,YFe,XFe,ZFe,e2e,t2e,n2e,o2e,r2e,Y2,cG,i2e,s2e,a2e,l2e,c2e,d2e,u2e,p2e,m2e,g2e,f2e,h2e,v2e,y2e,I2e,b2e,S2e,x2e,C2e,E2e,w2e,T2e,R2e,P2e,k2e,dG,D2e,_2e,M2e,A2e,L2e,O2e,U2e,N2e,F2e,V2e,H2e,W2e,B2e,$2e,q2e,z2e,G2e,K2e,j2e,Q2e,J2e,Y2e,X2e,Z2e,e4e,t4e,n4e,o4e,r4e,i4e,s4e,a4e,l4e,c4e,d4e,u4e,p4e,m4e,g4e,f4e,h4e,v4e,Yo,VS,Ok=y(()=>{Q();le();lo();Mk();Rt();G2();it();K2();Ne();j2();Nf();BFe=new x("workbenchState",void 0,{type:"string",description:d(5291,null)}),$Fe=new x("workspaceFolderCount",0,d(5292,null)),qFe=new x("openFolderWorkspaceSupport",!0,!0),zFe=new x("enterMultiRootWorkspaceSupport",!0,!0),GFe=new x("emptyWorkspaceSupport",!0,!0),KFe=new x("dirtyWorkingCopies",!1,d(5231,null)),Q2=new x("remoteName","",d(5268,null)),jFe=new x("virtualWorkspace","",d(5290,null)),QFe=new x("temporaryWorkspace",!1,d(5284,null)),J2=new x("isSessionsWindow",!1,d(5254,null)),JFe=new x("hasWebFileSystemAccess",!1,!0),YFe=new x("embedderIdentifier",void 0,d(5243,null)),XFe=new x("inAutomation",!1,d(5246,null)),ZFe=new x("isEnabledFileDownloads",!0,!0),e2e=new x("isEnabledFileUploads",!0,!0),t2e=new x("isEnabledCoderGettingStarted",!0,!0),n2e=new x("isFullscreen",!1,d(5252,null)),o2e=new x("isAuxiliaryWindowFocusedContext",!1,d(5249,null)),r2e=new x("isWindowAlwaysOnTop",!1,d(5256,null)),Y2=new x("isAuxiliaryWindow",!1,d(5248,null)),cG=Ge.or(_k,Ge.and(Ge.notEquals("config.window.menuBarVisibility","hidden"),Ge.notEquals("config.window.menuBarVisibility","toggle"),Ge.notEquals("config.window.menuBarVisibility","compact"))),i2e=Ge.and(_k.negate(),cG),s2e=new x("activeEditorIsDirty",!1,d(5219,null)),a2e=new x("activeEditorIsNotPreview",!1,d(5222,null)),l2e=new x("activeEditorIsFirstInGroup",!1,d(5220,null)),c2e=new x("activeEditorIsLastInGroup",!1,d(5221,null)),d2e=new x("activeEditorIsPinned",!1,d(5223,null)),u2e=new x("activeEditorIsReadonly",!1,d(5224,null)),p2e=new x("activeCompareEditorCanSwap",!1,d(5207,null)),m2e=new x("activeEditorCanToggleReadonly",!0,d(5214,null)),g2e=new x("activeEditorCanRevert",!1,d(5213,null)),f2e=new x("activeEditorCanSplitInGroup",!0),h2e=new x("activeEditorCannotClose",!1,d(5212,null)),v2e=new x("activeEditor",null,{type:"string",description:d(5210,null)}),y2e=new x("activeEditorAvailableEditorIds","",d(5211,null)),I2e=new x("textCompareEditorVisible",!1,d(5286,null)),b2e=new x("textCompareEditorActive",!1,d(5285,null)),S2e=new x("sideBySideEditorActive",!1,d(5281,null)),x2e=new x("activeCustomEditorDiffCanToggleLayout",!1,d(5208,null)),C2e=new x("activeCustomEditorTextDiff",!1,d(5209,null)),E2e=new x("groupEditorsCount",0,d(5245,null)),w2e=new x("isTopRightEditorGroup",!1,d(5255,null)),T2e=new x("activeEditorGroupEmpty",!1,d(5215,null)),R2e=new x("activeEditorGroupIndex",0,d(5216,null)),P2e=new x("activeEditorGroupLast",!1,d(5217,null)),k2e=new x("activeEditorGroupLocked",!1,d(5218,null)),dG=new x("multipleEditorGroups",!1,d(5258,null)),D2e=dG.toNegated(),_2e=new x("multipleEditorsSelectedInGroup",!1,d(5259,null)),M2e=new x("twoEditorsSelectedInGroup",!1,d(5289,null)),A2e=new x("SelectedEditorsInGroupFileOrUntitledResourceContextKey",!0,d(5278,null)),L2e=new x("editorPartMultipleEditorGroups",!1,d(5241,null)),O2e=new x("editorPartMaximizedEditorGroup",!1,d(5234,null)),U2e=new x("editorPartModal",!1,d(5235,null)),N2e=new x("editorPartModalVisible",!1,d(5240,null)),F2e=new x("editorPartModalMaximized",!1,d(5236,null)),V2e=new x("editorPartModalNavigation",!1,d(5237,null)),H2e=new x("editorPartModalSidebar",!1,d(5238,null)),W2e=new x("editorPartModalSidebarVisible",!1,d(5239,null)),B2e=new x("editorIsOpen",!1,d(5233,null)),$2e=new x("editorAreaFocus",!1,d(5232,null)),q2e=new x("inZenMode",!1,d(5247,null)),z2e=new x("isCenteredLayout",!1,d(5253,null)),G2e=new x("splitEditorsVertically",!1,d(5282,null)),K2e=new x("mainEditorAreaVisible",!0,d(5257,null)),j2e=new x("editorTabsVisible",!0,d(5242,null)),Q2e=new x("sideBarVisible",!1,d(5280,null)),J2e=new x("sideBarFocus",!1,d(5279,null)),Y2e=new x("activeViewlet","",d(5226,null)),X2e=new x("statusBarFocused",!1,d(5283,null)),Z2e=new x("titleBarStyle","custom",d(5287,null)),e4e=new x("titleBarVisible",!1,d(5288,null)),t4e=new x("isCompactTitleBar",!1,d(5250,null)),n4e=new x("bannerFocused",!1,d(5230,null)),o4e=new x("notificationFocus",!0,d(5261,null)),r4e=new x("notificationCenterVisible",!1,d(5260,null)),i4e=new x("notificationToastsVisible",!1,d(5262,null)),s4e=new x("activeAuxiliary","",d(5206,null)),a4e=new x("auxiliaryBarFocus",!1,d(5227,null)),l4e=new x("auxiliaryBarVisible",!1,d(5229,null)),c4e=new x("secondarySideBarVisible",!1,d(5277,null)),d4e=new x("auxiliaryBarMaximized",!1,d(5228,null)),u4e=new x("activePanel","",d(5225,null)),p4e=new x("panelFocus",!1,d(5264,null)),m4e=new x("panelPosition","bottom",d(5266,null)),g4e=new x("panelAlignment","center",d(5263,null)),f4e=new x("panelVisible",!1,d(5267,null)),h4e=new x("panelMaximized",!1,d(5265,null)),v4e=new x("focusedView","",d(5244,null)),Yo=class{constructor(t,e,n,o){this._contextKeyService=t;this._fileService=e;this._languageService=n;this._modelService=o;this._schemeKey=Yo.Scheme.bindTo(this._contextKeyService),this._filenameKey=Yo.Filename.bindTo(this._contextKeyService),this._dirnameKey=Yo.Dirname.bindTo(this._contextKeyService),this._pathKey=Yo.Path.bindTo(this._contextKeyService),this._langIdKey=Yo.LangId.bindTo(this._contextKeyService),this._resourceKey=Yo.Resource.bindTo(this._contextKeyService),this._extensionKey=Yo.Extension.bindTo(this._contextKeyService),this._hasResource=Yo.HasResource.bindTo(this._contextKeyService),this._isFileSystemResource=Yo.IsFileSystemResource.bindTo(this._contextKeyService)}static{this.Scheme=new x("resourceScheme",void 0,{type:"string",description:d(5275,null)})}static{this.Filename=new x("resourceFilename",void 0,{type:"string",description:d(5272,null)})}static{this.Dirname=new x("resourceDirname",void 0,{type:"string",description:d(5270,null)})}static{this.Path=new x("resourcePath",void 0,{type:"string",description:d(5274,null)})}static{this.LangId=new x("resourceLangId",void 0,{type:"string",description:d(5273,null)})}static{this.Resource=new x("resource",void 0,{type:"URI",description:d(5269,null)})}static{this.Extension=new x("resourceExtname",void 0,{type:"string",description:d(5271,null)})}static{this.HasResource=new x("resourceSet",void 0,{type:"boolean",description:d(5276,null)})}static{this.IsFileSystemResource=new x("isFileSystemResource",void 0,{type:"boolean",description:d(5251,null)})}_setLangId(){let t=this.get();if(!t){this._langIdKey.set(null);return}let e=this._modelService.getModel(t)?.getLanguageId()??this._languageService.guessLanguageIdByFilepathOrFirstLine(t);this._langIdKey.set(e)}set(t){t=t??void 0,!yo(this._value,t)&&(this._value=t,this._contextKeyService.bufferChangeEvents(()=>{this._resourceKey.set(t?t.toString():null),this._schemeKey.set(t?t.scheme:null),this._filenameKey.set(t?Ln(t):null),this._dirnameKey.set(t?this.uriToPath(bm(t)):null),this._pathKey.set(t?this.uriToPath(t):null),this._setLangId(),this._extensionKey.set(t?Im(t):null),this._hasResource.set(!!t),this._isFileSystemResource.set(t?this._fileService.hasProvider(t):!1)}))}uriToPath(t){return t.scheme===$.file?t.fsPath:t.path}reset(){this._value=void 0,this._contextKeyService.bufferChangeEvents(()=>{this._resourceKey.reset(),this._schemeKey.reset(),this._filenameKey.reset(),this._dirnameKey.reset(),this._pathKey.reset(),this._langIdKey.reset(),this._extensionKey.reset(),this._hasResource.reset(),this._isFileSystemResource.reset()})}get(){return this._value}};Yo=C([I(0,Vi),I(1,Oe),I(2,Ak),I(3,Lk)],Yo);VS=class extends Yo{constructor(e,n,o,i){super(e,n,o,i);this._disposables=new re;this._disposables.add(n.onDidChangeFileSystemProviderRegistrations(()=>{let s=this.get();this._isFileSystemResource.set(!!(s&&n.hasProvider(s)))})),this._disposables.add(i.onModelAdded(s=>{yo(s.uri,this.get())&&this._setLangId()})),this._disposables.add(i.onModelLanguageChanged(s=>{yo(s.model.uri,this.get())&&this._setLangId()}))}dispose(){this._disposables.dispose()}};VS=C([I(0,Vi),I(1,Oe),I(2,Ak),I(3,Lk)],VS)});var HS,uG,X2,WS=y(()=>{HS="chat.disableAIFeatures",uG={"**/.vscode/*.json":!1,"**/.github/agents/**":!1,"**/.github/hooks/**":!1,"**/.claude/agents/**":!1,"**/.claude/settings.json":!1,"**/.claude/settings.local.json":!1},X2={"**/*":!0,"**/.git/**":!1,"**/{package.json,server.xml,build.rs,web.config,.gitattributes,.env,Cargo.toml}":!1,"**/{.npmrc,.yarnrc,.yarnrc.yml,.pnpmfile.js,.pnpmfile.cjs,.pnpmfile.mjs,pnpm-workspace.yaml}":!1,"**/*.{code-workspace,csproj,fsproj,vbproj,vcxproj,proj,targets,props,gradle,gradle.kts}":!1,"**/gradle.properties":!1,"**/ruby_lsp/*/addon":!1,"**/*.lock":!1,"**/*-lock.{yaml,json}":!1,...uG}});var Z2,w4e,e4=y(()=>{Rt();zi();le();X();Z2=D("dialogService"),w4e=D("fileDialogService")});var t4,P4e,n4=y(()=>{X();t4=D("IAuthenticationService"),P4e=D("IAuthenticationExtensionsService")});var BS,Uk=y(()=>{X();BS=D("openerService")});var vp,$S=y(()=>{X();Nn();vp=Pt});var o4,r4=y(()=>{X();o4=D("lifecycleService")});var qS,Nk=y(()=>{X();qS=D("defaultAccountService")});function mG(r){return r===10||r===6||r===7||r===11||r===8||r===9}function Fk(r,t,e){return!(r.getValue(i4)!==!0||t!==1||e.hidden||e.disabledInWorkspace)}function s4(r,t,e){e.publicLog2("chatEntitlements",{chatHidden:!!r.hidden,chatDisabled:!!r.disabled,chatEntitlement:r.entitlement,chatRegistered:!!r.registered,chatAnonymous:Fk(t,r.entitlement,r)})}function Gf(r,t){let e={...r,...t};for(let n of Object.keys(t))t[n]===void 0&&r?.[n]!==void 0&&(e[n]=r[n]);return e}function gG(r){let t={resetDate:r.quota_reset_date_utc??r.quota_reset_date??r.limited_user_reset_date,resetDateHasTime:typeof r.quota_reset_date_utc=="string",usageBasedBilling:r.token_based_billing,canUpgradePlan:r.can_upgrade_plan};if(r.monthly_quotas?.chat&&typeof r.limited_user_quotas?.chat=="number"&&(t.chat={percentRemaining:Math.min(100,Math.max(0,r.limited_user_quotas.chat/r.monthly_quotas.chat*100)),unlimited:!1}),r.monthly_quotas?.completions&&typeof r.limited_user_quotas?.completions=="number"&&(t.completions={percentRemaining:Math.min(100,Math.max(0,r.limited_user_quotas.completions/r.monthly_quotas.completions*100)),unlimited:!1}),r.quota_snapshots){for(let n of["chat","completions","premium_interactions"]){let o=r.quota_snapshots[n];if(!o)continue;let i=o.entitlement!==void 0?Number(o.entitlement):void 0,s=o.credits_used!==void 0?Number(o.credits_used):void 0;if(!o.unlimited&&i===0)continue;let a=o.quota_remaining!==void 0?Number(o.quota_remaining):void 0,l={percentRemaining:Math.min(100,Math.max(0,o.percent_remaining)),unlimited:o.unlimited,hasQuota:o.has_quota,usageBasedBilling:r.token_based_billing,resetAt:o.quota_reset_at||void 0,entitlement:i!==void 0&&Number.isFinite(i)&&i>=0?i:void 0,quotaRemaining:a!==void 0&&Number.isFinite(a)&&a>=0?a:void 0,creditsUsed:s!==void 0&&Number.isFinite(s)&&s>=0?s:void 0};switch(n){case"chat":t.chat=l;break;case"completions":t.completions=l;break;case"premium_interactions":t.premiumChat=l;break}}let e=r.quota_snapshots.premium_interactions;t.additionalUsageEnabled=e?.overage_permitted??!1,t.additionalUsageCount=e?.overage_count??0,t.additionalUsageEntitlement=e?.overage_entitlement??0}return t}var pe,pG,zS,i4,sa,Kf,ki,Vk=y(()=>{ks();Me();jt();de();Oi();Q();le();tn();WS();lo();e4();X();Pe();Fn();yi();Us();Rn();n4();Uk();ie();zi();$S();me();r4();Iu();ia();Nk();(a=>(a.Setup={hidden:new x("chatSetupHidden",!1,!0),installed:new x("chatSetupInstalled",!1,!0),disabled:new x("chatSetupDisabled",!1,!0),disabledInWorkspace:new x("chatSetupDisabledInWorkspace",!1,!0),untrusted:new x("chatSetupUntrusted",!1,!0),later:new x("chatSetupLater",!1,!0),registered:new x("chatSetupRegistered",!1,!0),completed:new x("chatSetupCompleted",!1,!0)},a.Entitlement={signedOut:new x("chatEntitlementSignedOut",!1,!0),canSignUp:new x("chatPlanCanSignUp",!1,!0),planFree:new x("chatPlanFree",!1,!0),planPro:new x("chatPlanPro",!1,!0),planEdu:new x("chatPlanEdu",!1,!0),planProPlus:new x("chatPlanProPlus",!1,!0),planMax:new x("chatPlanMax",!1,!0),planBusiness:new x("chatPlanBusiness",!1,!0),planEnterprise:new x("chatPlanEnterprise",!1,!0),organisations:new x("chatEntitlementOrganisations",void 0,!0),internal:new x("chatEntitlementInternal",!1,!0),sku:new x("chatEntitlementSku",void 0,!0)},a.chatQuotaExceeded=new x("chatQuotaExceeded",!1,!0),a.completionsQuotaExceeded=new x("completionsQuotaExceeded",!1,!0),a.chatAnonymous=new x("chatAnonymous",!1,!0),a.clientByokEnabled=new x("github.copilot.clientByokEnabled",!0,!0),a.hasByokModels=new x("github.copilot.hasByokModels",!1,!0)))(pe||={});pG=D("chatEntitlementService");zS={upgradePlanUrl:rt.defaultChatAgent?.upgradePlanUrl??"",providerUriSetting:rt.defaultChatAgent?.providerUriSetting??"",entitlementSignupLimitedUrl:rt.defaultChatAgent?.entitlementSignupLimitedUrl??"",chatQuotaExceededContext:rt.defaultChatAgent?.chatQuotaExceededContext??"",completionsQuotaExceededContext:rt.defaultChatAgent?.completionsQuotaExceededContext??""},i4="chat.allowAnonymousAccess";sa=class extends _{constructor(e,n,o,i,s,a,l,c){super();this.contextKeyService=i;this.configurationService=s;this.telemetryService=a;this.logService=l;this.storageService=c;this._onDidChangeQuotaExceeded=this._register(new w);this.onDidChangeQuotaExceeded=this._onDidChangeQuotaExceeded.event;this._onDidChangeQuotaRemaining=this._register(new w);this.onDidChangeQuotaRemaining=this._onDidChangeQuotaRemaining.event;this._onDidChangeUsageBasedBilling=this._register(new w);this.onDidChangeUsageBasedBilling=this._onDidChangeUsageBasedBilling.event;this.ExtensionQuotaContextKeys={chatQuotaExceeded:zS.chatQuotaExceededContext,completionsQuotaExceeded:zS.completionsQuotaExceededContext};this._onDidChangeAnonymous=this._register(new w);this.onDidChangeAnonymous=this._onDidChangeAnonymous.event;this.anonymousObs=ii(this.onDidChangeAnonymous,()=>this.anonymous);let u=this.storageService.getBoolean(sa.CACHED_UBB_STORAGE_KEY,0);if(this._quotas=u!==void 0?{usageBasedBilling:u}:{},this.chatQuotaExceededContextKey=pe.chatQuotaExceeded.bindTo(this.contextKeyService),this.completionsQuotaExceededContextKey=pe.completionsQuotaExceeded.bindTo(this.contextKeyService),this.anonymousContextKey=pe.chatAnonymous.bindTo(this.contextKeyService),this.anonymousContextKey.set(this.anonymous),this.contextKeyService.getContextKeyValue(pe.clientByokEnabled.key)===void 0&&pe.clientByokEnabled.bindTo(this.contextKeyService),this.onDidChangeEntitlement=W.map(W.filter(this.contextKeyService.onDidChangeContext,m=>m.affectsSome(new Set([pe.Entitlement.planEdu.key,pe.Entitlement.planPro.key,pe.Entitlement.planBusiness.key,pe.Entitlement.planEnterprise.key,pe.Entitlement.planProPlus.key,pe.Entitlement.planMax.key,pe.Entitlement.planFree.key,pe.Entitlement.canSignUp.key,pe.Entitlement.signedOut.key,pe.Entitlement.organisations.key,pe.Entitlement.internal.key,pe.Entitlement.sku.key])),this._store),()=>{},this._store),this.entitlementObs=ii(this.onDidChangeEntitlement,()=>this.entitlement),this.onDidChangeSentiment=W.map(W.filter(this.contextKeyService.onDidChangeContext,m=>m.affectsSome(new Set([pe.Setup.completed.key,pe.Setup.hidden.key,pe.Setup.disabled.key,pe.Setup.untrusted.key,pe.Setup.installed.key,pe.Setup.later.key,pe.Setup.registered.key])),this._store),()=>{},this._store),this.sentimentObs=ii(this.onDidChangeSentiment,()=>this.sentiment),pn&&!o.remoteAuthority&&!o.isSessionsWindow){pe.Setup.hidden.bindTo(this.contextKeyService).set(!0);return}if(!n.defaultChatAgent)return;let p=this.context=new yn(()=>this._register(e.createInstance(ki)));this.requests=new yn(()=>this._register(e.createInstance(Kf,p.value,{clearQuotas:()=>this.clearQuotas(),acceptQuotas:m=>this.acceptQuotas(m)}))),this.registerListeners()}static{this.CACHED_UBB_STORAGE_KEY="chat.usageBasedBilling"}get entitlement(){return this.contextKeyService.getContextKeyValue(pe.Entitlement.planEdu.key)===!0?10:this.contextKeyService.getContextKeyValue(pe.Entitlement.planPro.key)===!0?6:this.contextKeyService.getContextKeyValue(pe.Entitlement.planBusiness.key)===!0?8:this.contextKeyService.getContextKeyValue(pe.Entitlement.planEnterprise.key)===!0?9:this.contextKeyService.getContextKeyValue(pe.Entitlement.planProPlus.key)===!0?7:this.contextKeyService.getContextKeyValue(pe.Entitlement.planMax.key)===!0?11:this.contextKeyService.getContextKeyValue(pe.Entitlement.planFree.key)===!0?5:this.contextKeyService.getContextKeyValue(pe.Entitlement.canSignUp.key)===!0?3:this.contextKeyService.getContextKeyValue(pe.Entitlement.signedOut.key)===!0?1:2}get isInternal(){return this.contextKeyService.getContextKeyValue(pe.Entitlement.internal.key)===!0}get organisations(){return this.contextKeyService.getContextKeyValue(pe.Entitlement.organisations.key)}get sku(){return this.contextKeyService.getContextKeyValue(pe.Entitlement.sku.key)}get copilotTrackingId(){return this.context?.value.state.copilotTrackingId}get clientByokEnabled(){return this.contextKeyService.getContextKeyValue("github.copilot.clientByokEnabled")===!0}get hasByokModels(){return this.contextKeyService.getContextKeyValue("github.copilot.hasByokModels")===!0}get quotas(){return this._quotas}registerListeners(){let e=new Set([this.ExtensionQuotaContextKeys.chatQuotaExceeded,this.ExtensionQuotaContextKeys.completionsQuotaExceeded]),n=this._register(new so);this._register(this.contextKeyService.onDidChangeContext(s=>{s.affectsSome(e)&&(n.value&&n.value.cancel(),n.value=new xt,this.update(n.value.token))}));let o=this.anonymous,i=()=>{let s=this.anonymous;s!==o&&(o=s,this.anonymousContextKey.set(s),this.context?.hasValue&&s4(this.context.value.state,this.configurationService,this.telemetryService),this._onDidChangeAnonymous.fire())};this._register(this.configurationService.onDidChangeConfiguration(s=>{s.affectsConfiguration(i4)&&i()})),this._register(this.onDidChangeEntitlement(()=>i())),this._register(this.onDidChangeSentiment(()=>i()))}acceptQuotas(e){let n=this._quotas,o=this.quotaCopilotTrackingId===this.copilotTrackingId?n:{},i={...e,chat:e.chat?Gf(o.chat,e.chat):void 0,completions:e.completions?Gf(o.completions,e.completions):void 0,premiumChat:e.premiumChat?Gf(o.premiumChat,e.premiumChat):void 0,sessionRateLimit:e.sessionRateLimit?Gf(o.sessionRateLimit,e.sessionRateLimit):void 0,weeklyRateLimit:e.weeklyRateLimit?Gf(o.weeklyRateLimit,e.weeklyRateLimit):void 0};this.quotaCopilotTrackingId=this.copilotTrackingId,this._quotas=i,this.updateContextKeys(),n.usageBasedBilling!==i.usageBasedBilling&&(i.usageBasedBilling!==void 0?this.storageService.store(sa.CACHED_UBB_STORAGE_KEY,i.usageBasedBilling,0,1):this.storageService.remove(sa.CACHED_UBB_STORAGE_KEY,0)),this.logService.getLevel()===1&&this.logService.trace(`[chat entitlement]: acceptQuotas: ${JSON.stringify(i)}`);let{changed:s}=this.compareQuotas(n.chat,i.chat),{changed:a}=this.compareQuotas(n.completions,i.completions),{changed:l}=this.compareQuotas(n.premiumChat,i.premiumChat);(s.exceeded||a.exceeded||l.exceeded)&&this._onDidChangeQuotaExceeded.fire();let c=n.sessionRateLimit?.percentRemaining!==i.sessionRateLimit?.percentRemaining,u=n.weeklyRateLimit?.percentRemaining!==i.weeklyRateLimit?.percentRemaining;(s.remaining||a.remaining||l.remaining||c||u||n.usageBasedBilling!==i.usageBasedBilling)&&this._onDidChangeQuotaRemaining.fire(),n.usageBasedBilling!==i.usageBasedBilling&&this._onDidChangeUsageBasedBilling.fire(),n.additionalUsageEnabled!==void 0&&i.additionalUsageEnabled!==void 0&&n.additionalUsageEnabled!==i.additionalUsageEnabled&&this.telemetryService.publicLog2("chatAdditionalSpendConfiguration",{enabled:i.additionalUsageEnabled??!1,entitlement:this.entitlement}),i.additionalUsageEnabled&&i.premiumChat?.percentRemaining===0&&n.premiumChat?.percentRemaining!==void 0&&n.premiumChat.percentRemaining>0&&this.telemetryService.publicLog2("chatAdditionalSpendActive",{entitlement:this.entitlement,additionalUsageCount:i.additionalUsageCount??0})}compareQuotas(e,n){return{changed:{exceeded:e?.percentRemaining===0!=(n?.percentRemaining===0),remaining:e?.percentRemaining!==n?.percentRemaining||e?.usageBasedBilling!==n?.usageBasedBilling||e?.creditsUsed!==n?.creditsUsed}}}clearQuotas(){this.acceptQuotas({})}updateContextKeys(){let e=this._quotas.chat?.percentRemaining===0,n=this._quotas.premiumChat?.unlimited?this._quotas.premiumChat.hasQuota===!1:this._quotas.premiumChat?.percentRemaining===0,o=this._quotas.additionalUsageEnabled??!1,i=this.entitlement===8||this.entitlement===9;this.chatQuotaExceededContextKey.set(e||n&&(i||!o)),this.completionsQuotaExceededContextKey.set(this._quotas.completions?.percentRemaining===0)}get sentiment(){return{completed:this.contextKeyService.getContextKeyValue(pe.Setup.completed.key)===!0,installed:this.contextKeyService.getContextKeyValue(pe.Setup.installed.key)===!0,hidden:this.contextKeyService.getContextKeyValue(pe.Setup.hidden.key)===!0,disabledInWorkspace:this.contextKeyService.getContextKeyValue(pe.Setup.disabledInWorkspace.key)===!0,disabled:this.contextKeyService.getContextKeyValue(pe.Setup.disabled.key)===!0,untrusted:this.contextKeyService.getContextKeyValue(pe.Setup.untrusted.key)===!0,later:this.contextKeyService.getContextKeyValue(pe.Setup.later.key)===!0,registered:this.contextKeyService.getContextKeyValue(pe.Setup.registered.key)===!0}}get anonymous(){return Fk(this.configurationService,this.entitlement,this.sentiment)}markAnonymousRateLimited(){this.anonymous&&(this.chatQuotaExceededContextKey.set(!0),this._onDidChangeQuotaExceeded.fire())}markSetupCompleted(){this.context?.value.update({completed:!0})}setForceHidden(e){this.context?this.context.value.setForceHidden(e):pe.Setup.hidden.bindTo(this.contextKeyService).set(e)}async update(e){await this.requests?.value.forceResolveEntitlement(e)}};sa=C([I(0,Tn),I(1,Be),I(2,vp),I(3,Vi),I(4,mt),I(5,Ct),I(6,K),I(7,ni)],sa);Kf=class extends _{constructor(e,n,o,i,s,a,l,c,u,p){super();this.context=e;this.chatQuotasAccessor=n;this.telemetryService=o;this.logService=i;this.requestService=s;this.dialogService=a;this.openerService=l;this.lifecycleService=c;this.defaultAccountService=u;this.authenticationService=p;this.pendingResolveCts=new xt;this.state={entitlement:this.context.state.entitlement},this.registerListeners(),this.resolve()}registerListeners(){this._register(this.defaultAccountService.onDidChangeDefaultAccount(()=>this.resolve())),this._register(this.context.onDidChange(()=>{(this.context.state.disabled||this.context.state.entitlement===1)&&(this.state={entitlement:this.state.entitlement,quotas:void 0},this.chatQuotasAccessor.clearQuotas())}))}async resolve(){this.pendingResolveCts.dispose(!0);let e=this.pendingResolveCts=new xt,n=await this.defaultAccountService.getDefaultAccount();if(e.token.isCancellationRequested)return;let o;n?this.state.entitlement===1&&(o={entitlement:2}):o={entitlement:1},o&&this.update(o),n&&await this.resolveEntitlement(n,e.token)}async resolveEntitlement(e,n){let o=await this.doResolveEntitlement(e,n);return typeof o?.entitlement=="number"&&!n.isCancellationRequested&&this.update(o),o}async doResolveEntitlement(e,n){if(n.isCancellationRequested)return;let o=e.entitlementsData;if(!o)return this.logService.trace("[chat entitlement]: no entitlements data available on default account"),{entitlement:o===null?1:2};let i;o.access_type_sku==="free_limited_copilot"?i=5:o.access_type_sku==="free_educational_quota"?i=10:o.can_signup_for_limited?i=3:o.copilot_plan==="individual_edu"?i=10:o.copilot_plan==="individual"?i=6:o.copilot_plan==="individual_pro"?i=7:o.copilot_plan==="individual_max"?i=11:o.copilot_plan==="business"?i=8:o.copilot_plan==="enterprise"?i=9:i=4;let s={entitlement:i,organisations:o.organization_login_list,quotas:this.toQuotas(o),sku:o.access_type_sku,copilotTrackingId:o.analytics_tracking_id};return this.logService.trace(`[chat entitlement]: resolved to ${s.entitlement}, quotas: ${JSON.stringify(s.quotas)}`),this.telemetryService.publicLog2("chatInstallEntitlement",{entitlement:s.entitlement,tid:o.analytics_tracking_id,sku:s.sku,quotaChatUnlimited:s.quotas?.chat?.unlimited,quotaChatHasQuota:s.quotas?.chat?.hasQuota,quotaChatEntitlement:s.quotas?.chat?.entitlement,quotaPremiumChat:s.quotas?.premiumChat?.percentRemaining,quotaPremiumChatUnlimited:s.quotas?.premiumChat?.unlimited,quotaPremiumChatHasQuota:s.quotas?.premiumChat?.hasQuota,quotaPremiumChatEntitlement:s.quotas?.premiumChat?.entitlement,quotaCompletions:s.quotas?.completions?.percentRemaining,quotaCompletionsUnlimited:s.quotas?.completions?.unlimited,quotaCompletionsHasQuota:s.quotas?.completions?.hasQuota,quotaCompletionsEntitlement:s.quotas?.completions?.entitlement,quotaResetDate:s.quotas?.resetDate,usageBasedBilling:s.quotas?.usageBasedBilling,additionalUsageEnabled:s.quotas?.additionalUsageEnabled,additionalUsageCount:s.quotas?.additionalUsageCount,canUpgradePlan:s.quotas?.canUpgradePlan}),s}toQuotas(e){return gG(e)}async request(e,n,o,i,s,a){let l;for(let c of i){if(s.isCancellationRequested)return l;try{let u=await this.requestService.request({type:n,url:e,data:n==="POST"?JSON.stringify(o):void 0,disableCache:!0,headers:{Authorization:`Bearer ${c.accessToken}`},callSite:a},s),p=u.res.statusCode;if(p&&p!==200){l=u;continue}return u}catch(u){s.isCancellationRequested||this.logService.error(`[chat entitlement] request: error ${u}`)}}return l}update(e){this.state=e,this.context.update({entitlement:this.state.entitlement,organisations:this.state.organisations,sku:this.state.sku,copilotTrackingId:this.state.copilotTrackingId}),e.quotas&&this.chatQuotasAccessor.acceptQuotas(e.quotas)}async forceResolveEntitlement(e=we.None){let n=await this.defaultAccountService.refresh({forceRefresh:!0});if(n)return this.resolveEntitlement(n,e)}async signUpFree(){let e=await this.getSessions();if(e.length!==0)return this.doSignUpFree(e)}async doSignUpFree(e){let n={restricted_telemetry:this.telemetryService.telemetryLevel===0?"disabled":"enabled",public_code_suggestions:"enabled"},o=await this.request(zS.entitlementSignupLimitedUrl,"POST",n,e,we.None,"chatEntitlementService.signUpFree");if(!o)return await this.onUnknownSignUpError(d(19590,null),"[chat entitlement] sign-up: no response")?this.doSignUpFree(e):{errorCode:1};if(o.res.statusCode&&o.res.statusCode!==200){if(o.res.statusCode===422)try{let l=await Ad(o);if(l){let c=JSON.parse(l);if(typeof c.message=="string"&&c.message)return this.onUnprocessableSignUpError(`[chat entitlement] sign-up: unprocessable entity (${c.message})`,c.message),{errorCode:o.res.statusCode}}}catch{}return await this.onUnknownSignUpError(d(19591,null,o.res.statusCode),`[chat entitlement] sign-up: unexpected status code ${o.res.statusCode}`)?this.doSignUpFree(e):{errorCode:o.res.statusCode}}let i=null;try{i=await Ad(o)}catch{}if(!i)return await this.onUnknownSignUpError(d(19589,null),"[chat entitlement] sign-up: response has no content")?this.doSignUpFree(e):{errorCode:2};let s;try{s=JSON.parse(i),this.logService.trace(`[chat entitlement] sign-up: response is ${i}`)}catch(a){return await this.onUnknownSignUpError(d(19588,null),`[chat entitlement] sign-up: error parsing response (${a})`)?this.doSignUpFree(e):{errorCode:3}}return this.update({entitlement:5}),!!s?.subscribed}async getSessions(){let e=await this.defaultAccountService.getDefaultAccount();if(e){let o=(await this.authenticationService.getSessions(e.authenticationProvider.id)).filter(i=>i.id===e.sessionId);if(o.length)return o}return[...await this.authenticationService.getSessions(this.defaultAccountService.getDefaultAccountAuthenticationProvider().id)]}async onUnknownSignUpError(e,n){if(this.logService.error(n),!this.lifecycleService.willShutdown){let{confirmed:o}=await this.dialogService.confirm({type:We.Error,message:d(19592,null),detail:e,primaryButton:d(19587,null)});return o}return!1}onUnprocessableSignUpError(e,n){this.logService.error(e),this.lifecycleService.willShutdown||this.dialogService.prompt({type:We.Error,message:d(19593,null),detail:n,buttons:[{label:d(19579,null),run:()=>{}},{label:d(19578,null),run:()=>this.openerService.open(b.parse(zS.upgradePlanUrl))}]})}async signIn(e){let n=await this.defaultAccountService.signIn({additionalScopes:e?.additionalScopes,extraAuthorizeParameters:{get_started_with:"copilot-vscode"},provider:e?.useSocialProvider});if(!n)return{};let o=await this.doResolveEntitlement(n,we.None);return{defaultAccount:n,entitlements:o}}dispose(){this.pendingResolveCts.dispose(!0),super.dispose()}};Kf=C([I(2,Ct),I(3,K),I(4,Yn),I(5,Z2),I(6,BS),I(7,o4),I(8,qS),I(9,t4)],Kf);ki=class extends _{constructor(e,n,o,i,s){super();this.storageService=n;this.logService=o;this.configurationService=i;this.telemetryService=s;this.suspendedState=void 0;this._onDidChange=this._register(new w);this.onDidChange=this._onDidChange.event;this.updateBarrier=void 0;this._forceHidden=!1;this.canSignUpContextKey=pe.Entitlement.canSignUp.bindTo(e),this.signedOutContextKey=pe.Entitlement.signedOut.bindTo(e),this.freeContextKey=pe.Entitlement.planFree.bindTo(e),this.eduContextKey=pe.Entitlement.planEdu.bindTo(e),this.proContextKey=pe.Entitlement.planPro.bindTo(e),this.proPlusContextKey=pe.Entitlement.planProPlus.bindTo(e),this.maxContextKey=pe.Entitlement.planMax.bindTo(e),this.businessContextKey=pe.Entitlement.planBusiness.bindTo(e),this.enterpriseContextKey=pe.Entitlement.planEnterprise.bindTo(e),this.organisationsContextKey=pe.Entitlement.organisations.bindTo(e),this.isInternalContextKey=pe.Entitlement.internal.bindTo(e),this.skuContextKey=pe.Entitlement.sku.bindTo(e),this.completedContext=pe.Setup.completed.bindTo(e),this.hiddenContext=pe.Setup.hidden.bindTo(e),this.disabledInWorkspaceContext=pe.Setup.disabledInWorkspace.bindTo(e),this.laterContext=pe.Setup.later.bindTo(e),this.installedContext=pe.Setup.installed.bindTo(e),this.disabledContext=pe.Setup.disabled.bindTo(e),this.untrustedContext=pe.Setup.untrusted.bindTo(e),this.registeredContext=pe.Setup.registered.bindTo(e),this._state=this.storageService.getObject(ki.CHAT_ENTITLEMENT_CONTEXT_STORAGE_KEY,0)??{entitlement:1,organisations:void 0,sku:void 0,copilotTrackingId:void 0},this.storageService.getBoolean(ki.CHAT_ENTITLEMENT_CONTEXT_MIGRATED_STORAGE_KEY,0)===!0||(this.storageService.store(ki.CHAT_ENTITLEMENT_CONTEXT_MIGRATED_STORAGE_KEY,!0,0,1),this._state.installed&&!this._state.completed&&(this._state.completed=!0,this.storageService.store(ki.CHAT_ENTITLEMENT_CONTEXT_STORAGE_KEY,this._state,0,1))),this.updateContextSync(),this.registerListeners()}static{this.CHAT_ENTITLEMENT_CONTEXT_STORAGE_KEY="chat.setupContext"}static{this.CHAT_ENTITLEMENT_CONTEXT_MIGRATED_STORAGE_KEY="chat.setupContext.migrated.v1"}get state(){return this.withConfiguration(this.suspendedState??this._state)}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(HS)&&this.updateContext()}))}withConfiguration(e){return this._forceHidden||this.configurationService.getValue(HS)===!0?{...e,hidden:!0}:e}setForceHidden(e){this._forceHidden!==e&&(this._forceHidden=e,this.updateContext())}async update(e){this.logService.trace(`[chat entitlement context] update(): ${JSON.stringify(e)}`);let n=JSON.stringify(this._state);if(typeof e.installed=="boolean"&&typeof e.disabled=="boolean"&&typeof e.untrusted=="boolean"&&(this._state.installed=e.installed,this._state.disabled=e.disabled,this._state.untrusted=e.untrusted,this._state.disabledInWorkspace=e.disabledInWorkspace,e.installed&&!e.disabled&&(e.hidden=!1)),typeof e.hidden=="boolean"&&(this._state.hidden=e.hidden),typeof e.later=="boolean"&&(this._state.later=e.later),typeof e.completed=="boolean"&&(this._state.completed=e.completed),typeof e.entitlement=="number"&&(this._state.entitlement=e.entitlement,this._state.organisations=e.organisations,this._state.sku=e.sku,this._state.copilotTrackingId=e.copilotTrackingId,this._state.entitlement===5||mG(this._state.entitlement)?this._state.registered=!0:this._state.entitlement===3&&(this._state.registered=!1)),Fk(this.configurationService,this._state.entitlement,this._state)&&(this._state.sku="no_auth_limited_copilot"),n!==JSON.stringify(this._state))return this.storageService.store(ki.CHAT_ENTITLEMENT_CONTEXT_STORAGE_KEY,{...this._state,later:void 0},0,1),this.updateContext()}async updateContext(){await this.updateBarrier?.wait(),this.updateContextSync()}updateContextSync(){let e=this.withConfiguration(this._state);this.signedOutContextKey.set(e.entitlement===1),this.canSignUpContextKey.set(e.entitlement===3),this.freeContextKey.set(e.entitlement===5),this.eduContextKey.set(e.entitlement===10),this.proContextKey.set(e.entitlement===6),this.proPlusContextKey.set(e.entitlement===7),this.maxContextKey.set(e.entitlement===11),this.businessContextKey.set(e.entitlement===8),this.enterpriseContextKey.set(e.entitlement===9),this.organisationsContextKey.set(e.organisations),this.isInternalContextKey.set(!!e.organisations?.some(n=>n==="github"||n==="microsoft"||n==="ms-copilot"||n==="MicrosoftCopilot")),this.skuContextKey.set(e.sku),this.completedContext.set(!!e.completed),this.hiddenContext.set(!!e.hidden),this.disabledInWorkspaceContext.set(!!e.disabledInWorkspace),this.laterContext.set(!!e.later),this.installedContext.set(!!e.installed),this.disabledContext.set(!!e.disabled),this.untrustedContext.set(!!e.untrusted),this.registeredContext.set(!!e.registered),this.logService.trace(`[chat entitlement context] updateContext(): ${JSON.stringify(e)}`),s4(e,this.configurationService,this.telemetryService),this._onDidChange.fire()}suspend(){this.suspendedState={...this._state},this.updateBarrier=new wr}resume(){this.suspendedState=void 0,this.updateBarrier?.open(),this.updateBarrier=void 0}};ki=C([I(0,Vi),I(1,ni),I(2,K),I(3,mt),I(4,Ct)],ki);Xi(pG,sa,0)});var a4=y(()=>{});function Pc(r){let t=l4.get(r);return t||(t=e=>e.managedSettings?.[r],l4.set(r,t)),t}function Kk(r){return r.chat_preview_features_enabled===!1||r.managedSettingsActive===!0?!1:void 0}function d4(r){let t={};for(let e in r){let n=r[e].managedSettings;if(n)for(let o in n)t[o]=n[o]}return t}function u4(r){for(let t in r){let e=r[t].managedSettings;if(e&&!ga(e))return!0}return!1}function p4(r,t,e){let n={};for(let o in t){let i=r[o];i!==void 0&&(typeof i===t[o].type?n[o]=i:e?.(`Ignoring managed setting "${o}": expected ${t[o].type}, got ${typeof i}`))}return n}function m4(r,t,e){let n={nativeMdm:r,server:t,file:e},o=new Map;for(let a of c4){let l=n[a];if(l)for(let c of Object.keys(l)){let u=l[c];if(u===void 0)continue;let p=o.get(c);p?p.contributions.push({channel:a,value:u}):o.set(c,{value:u,source:a,contributions:[{channel:a,value:u}]})}}let i=new Set,s=[];for(let[a,l]of o)s.push([a,l.value]),i.add(l.source);return{values:Object.fromEntries(s),resolutions:o,activeSources:c4.filter(a=>i.has(a))}}var fG,hG,wVe,Hk,Wk,jf,Rc,Bk,$k,qk,zk,Gk,l4,TVe,RVe,c4,PVe,GS=y(()=>{de();a4();Ee();X();fG="forceRemoteSettingsRefresh",hG="sandbox.enabled",wVe={[fG]:{type:"boolean"},[hG]:{type:"boolean"}},Hk="chat.mcp.allowManagedServersOnly",Wk="telemetry.enabled",jf="telemetry.endpoint",Rc="telemetry.protocol",Bk="telemetry.captureContent",$k="telemetry.lockCaptureContent",qk="telemetry.serviceName",zk="telemetry.resourceAttributes",Gk="telemetry.headers",l4=new Map;TVe=D("managedSettingsService");RVe=D("nativeManagedSettingsService");c4=["nativeMdm","server","file"];PVe=D("fileManagedSettingsService")});function f4(r){switch(r){case"nativeMdm":return"nativeMdm";case"server":return"serverManagedSettings";case"file":return"fileManagedSettings"}}function vG(r){let t=r;if(typeof t=="string")try{t=JSON.parse(t)}catch{}return Array.isArray(t)?t.filter(e=>typeof e=="string").map(e=>e.trim().toLowerCase()).filter(e=>e.length>0):[]}var g4,h4,QVe,KS,v4=y(()=>{de();en();le();lo();X();Pe();GS();kd();Nk();g4="ChatApprovedAccountOrganizations",h4=new x("chatAccountPolicyGateActive",!1,{type:"boolean",description:d(20066,null)}),QVe=D("accountPolicyGateService"),KS=class extends oy{constructor(e,n,o,i,s){super();this.logService=e;this.defaultAccountService=n;this._gateInfo={state:"inactive"};this._onDidChangeGateInfo=this._register(new w);this.onDidChangeGateInfo=this._onDidChangeGateInfo.event;this._managedSettings={};this._onDidChangeManagedSettings=this._register(new w);this.onDidChangeManagedSettings=this._onDidChangeManagedSettings.event;this.managedPolicyReader=o,this.nativeManagedSettingsService=i,this.fileManagedSettingsService=s,this._updatePolicyDefinitions(this.policyDefinitions),this._register(this.defaultAccountService.onDidChangePolicyData(()=>{this._updatePolicyDefinitions(this.policyDefinitions)})),this._register(this.defaultAccountService.onDidChangeDefaultAccount(()=>{this._updatePolicyDefinitions(this.policyDefinitions)})),this.managedPolicyReader&&this._register(this.managedPolicyReader.onDidChange(a=>{a.includes(g4)&&this._updatePolicyDefinitions(this.policyDefinitions)})),this.nativeManagedSettingsService&&this._register(this.nativeManagedSettingsService.onDidChangeManagedSettings(()=>{this._updatePolicyDefinitions(this.policyDefinitions)})),this.fileManagedSettingsService&&this._register(this.fileManagedSettingsService.onDidChangeManagedSettings(()=>{this._updatePolicyDefinitions(this.policyDefinitions)})),this.defaultAccountService.getDefaultAccount().then(()=>{this._updatePolicyDefinitions(this.policyDefinitions)})}get gateInfo(){return this._gateInfo}getManagedSettingValue(e){return this._managedSettings[e]}async _updatePolicyDefinitions(e){this.logService.trace(`AccountPolicyService#_updatePolicyDefinitions: Got ${Object.keys(e).length} policy definitions`);let n=await this.updateCopilotManagedSettingDefinitions(e),o=[],i=this.getPolicyData(n),s=this._gateInfo;this._gateInfo=this.computeGateInfo();let a=s.approvedOrganizations?.join(`
`)??"",l=this._gateInfo.approvedOrganizations?.join(`
`)??"",c=s.state!==this._gateInfo.state||s.reason!==this._gateInfo.reason||a!==l,u=this._gateInfo.state==="restricted"&&this._gateInfo.reason!=="policyNotResolved";for(let p in e){let m=this.resolvePolicyValue(e[p],i,u);this.updatePolicyValue(p,m?.value,m?.source)&&o.push(p)}o.length&&this._onDidChange.fire(o),c&&this._onDidChangeGateInfo.fire(this._gateInfo)}resolvePolicyValue(e,n,o){if(o&&(e.value!==void 0||e.restrictedValue!==void 0))return{value:PA(e),source:"accountGate"};let i=e.value;if(!n||!i)return;let{policyData:s,managedSettingResolutions:a}=n,l=i(s);if(l===void 0)return;let c="account";if(e.managedSettings){let u=s.managedSettings??{},p=Object.keys(e.managedSettings).filter(m=>Object.hasOwn(u,m));if(p.length>0){let m=h=>({...s,managedSettings:Object.fromEntries(Object.entries(u).filter(([v])=>!h.has(v)))}),g=new Set(p);if(i(m(g))!==l){let h=new Set;for(let T of p){let E=a.get(T)?.source;E&&h.add(E)}let v=new Set;for(let T of h){let E=new Set(p.filter(k=>a.get(k)?.source===T));i(m(E))!==l&&v.add(T)}let S=v.size>0?v:h;c=S.size===1?f4(Array.from(S)[0]):"mixedManagedSettings"}}}if(c==="account"&&s.managedSettingsActive===!0&&i({...s,managedSettingsActive:!1})!==l){let u=new Set;for(let p of a.values())u.add(p.source);u.size>0&&(c=u.size===1?f4(Array.from(u)[0]):"mixedManagedSettings")}return{value:l,source:c}}async updateCopilotManagedSettingDefinitions(e){return!this.nativeManagedSettingsService||!u4(e)?this.nativeManagedSettingsService?.managedSettings:this.nativeManagedSettingsService.updatePolicyDefinitions(e)}getPolicyData(e){let n=this.defaultAccountService.policyData??void 0,o=e??this.nativeManagedSettingsService?.managedSettings,i=this.fileManagedSettingsService?.managedSettings,s=m4(o,n?.managedSettings,i);if(pt(this._managedSettings,s.values)||(this._managedSettings=s.values,this._onDidChangeManagedSettings.fire()),!n&&s.activeSources.length===0)return;let a=d4(this.policyDefinitions),l=p4(s.values,a,c=>this.logService.warn(`[AccountPolicy] ${c}`));return{policyData:{...n,managedSettings:l,managedSettingsActive:s.activeSources.length>0},managedSettingResolutions:s.resolutions}}computeGateInfo(){if(!this.managedPolicyReader)return{state:"inactive"};let e=this.managedPolicyReader.getPolicyValue(g4),n=vG(e);if(n.length===0)return{state:"inactive"};let o=this.defaultAccountService.currentDefaultAccount;if(!o)return{state:"restricted",reason:"noAccount",approvedOrganizations:n};let i=this.defaultAccountService.getDefaultAccountAuthenticationProvider();return o.authenticationProvider.id!==i.id?{state:"restricted",reason:"wrongProvider",approvedOrganizations:n}:!n.includes("*")&&!(o.entitlementsData?.organization_login_list??[]).map(l=>l.toLowerCase()).some(l=>n.includes(l))?{state:"restricted",reason:"orgNotApproved",approvedOrganizations:n}:this.defaultAccountService.policyData===null?{state:"restricted",reason:"policyNotResolved",approvedOrganizations:n}:{state:"satisfied",approvedOrganizations:n}}};KS=C([I(0,K),I(1,qS)],KS)});var y4=y(()=>{Ne()});var I4=y(()=>{Us()});var cHe,yG,IG,b4=y(()=>{ng();le();gi();lo();X();Uo();cHe=new x("agentHostEnabled",!1,{type:"boolean",description:d(1865,null)}),yG=D("agentHostEnablementService"),IG=lt.as(On.Configuration);IG.registerConfiguration({id:"chatAgentHost",title:d(1870,null),type:"object",properties:{"chat.editor.preferCopilotHarness":{type:"boolean",description:d(1868,null),default:!1,tags:["experimental"],experiment:{mode:"startup"},policy:{name:"ChatEditorPreferCopilotHarness",category:"InteractiveSession",minimumVersion:"1.134",localization:{description:{key:"chat.editor.preferCopilotHarness.policy",value:d(1869,null)}}}},"chat.defaultToCopilotHarness":{type:"boolean",description:d(1866,null),default:!1,tags:["experimental"],experiment:{mode:"startup"}},"chat.editor.localAgent.enabled":{type:"boolean",description:d(1867,null),default:!0,tags:["experimental"],experiment:{mode:"startup"}}}})});var jk,DHe,yp,_He,MHe,AHe,LHe,OHe,Qf=y(()=>{Ne();CS();tn();Us();zd();y4();lo();Vk();Ok();Ff();I4();b4();WS();jk=(o=>(o.Default="default",o.Assisted="assisted",o.AutoApprove="autoApprove",o.Autopilot="autopilot",o))(jk||{}),DHe=new Set(Object.values(jk)),yp=(o=>(o.Chat="panel",o.Terminal="terminal",o.Notebook="notebook",o.EditorInline="editor",o))(yp||{});(t=>{function r(e){switch(e){case"panel":return"panel";case"terminal":return"terminal";case"notebook":return"notebook";case"editor":return"editor"}return"panel"}t.fromRaw=r})(yp||={});_He=new Set([$.vscodeChatEditor,$.vscodeChatResponseResource,$.walkThrough,$.vscodeLocalChatSession,$.vscodeSettings,$.webviewPanel,$.vscodeUserData,$.extension,"ccreq","openai-codex"]),MHe=[$.vscodeChatInput,$.sessionsChatInput],AHe=Ge.and(pe.Setup.hidden.negate(),pe.Setup.disabledInWorkspace.negate(),J2.negate(),Ge.has("config.chat.agent.enabled"),Y2.negate()),LHe=new x("inModelsEditor",!1),OHe=new x("inModelsSearch",!1)});var Vr,bG,Qk=y(()=>{le();lo();Mk();Ok();Vk();v4();Qf();(q=>{q.responseVote=new x("chatSessionResponseVote","",{type:"string",description:d(10325,null)}),q.responseDetectedAgentCommand=new x("chatSessionResponseDetectedAgentOrCommand",!1,{type:"boolean",description:d(10297,null)}),q.responseSupportsIssueReporting=new x("chatResponseSupportsIssueReporting",!1,{type:"boolean",description:d(10288,null)}),q.responseIsFiltered=new x("chatSessionResponseFiltered",!1,{type:"boolean",description:d(10286,null)}),q.responseHasError=new x("chatSessionResponseError",!1,{type:"boolean",description:d(10284,null)}),q.responseHasFeedbackSurvey=new x("chatSessionResponseHasFeedbackSurvey",!1,{type:"boolean",description:d(10287,null)}),q.responseFeedbackSurveyOpen=new x("chatSessionResponseFeedbackSurveyOpen",!1,{type:"boolean",description:d(10285,null)}),q.requestInProgress=new x("chatSessionRequestInProgress",!1,{type:"boolean",description:d(10324,null)}),q.hasActiveRequest=new x("chatSessionHasActiveRequest",!1,{type:"boolean",description:d(10289,null)}),q.currentlyEditing=new x("chatSessionCurrentlyEditing",!1,{type:"boolean",description:d(10322,null)}),q.currentlyEditingInput=new x("chatSessionCurrentlyEditingInput",!1,{type:"boolean",description:d(10323,null)});let p;(EC=>(EC.Sent="s",EC.Queue="q",EC.Steer="st"))(p=q.EditingRequestType||={}),q.editingRequestType=new x("chatEditingSentRequest",void 0,{type:"string",description:d(10250,null)}),q.isResponse=new x("chatResponse",!1,{type:"boolean",description:d(10283,null)}),q.isRequest=new x("chatRequest",!1,{type:"boolean",description:d(10281,null)}),q.isFirstRequest=new x("chatFirstRequest",!1,{type:"boolean",description:d(10256,null)}),q.isPendingRequest=new x("chatRequestIsPending",!1,{type:"boolean",description:d(10282,null)}),q.itemId=new x("chatItemId","",{type:"string",description:d(10268,null)}),q.lastItemId=new x("chatLastItemId",[],{type:"string",description:d(10269,null)}),q.editApplied=new x("chatEditApplied",!1,{type:"boolean",description:d(10244,null)}),q.inputHasText=new x("chatInputHasText",!1,{type:"boolean",description:d(10321,null)}),q.inputHasSendableContent=new x("chatInputHasSendableContent",!1,{type:"boolean",description:d(10320,null)}),q.inputHasFocus=new x("chatInputHasFocus",!1,{type:"boolean",description:d(10319,null)}),q.inChatInput=new x("inChatInput",!1,{type:"boolean",description:d(10317,null)}),q.inChatSession=new x("inChat",!1,{type:"boolean",description:d(10310,null)}),q.inChatQuestionCarousel=new x("inChatQuestionCarousel",!1,{type:"boolean",description:d(10313,null)}),q.chatQuestionCarouselHasTerminal=new x("chatQuestionCarouselHasTerminal",!1,{type:"boolean",description:d(10279,null)}),q.inChatEditor=new x("inChatEditor",!1,{type:"boolean",description:d(10312,null)}),q.findSupported=new x("chatFindSupported",!1,{type:"boolean",description:d(10253,null)}),q.findWidgetVisible=new x("chatFindWidgetVisible",!1,{type:"boolean",description:d(10255,null)}),q.findInputFocused=new x("chatFindInputFocused",!1,{type:"boolean",description:d(10252,null)}),q.findWidgetFocused=new x("chatFindWidgetFocused",!1,{type:"boolean",description:d(10254,null)}),q.inChatTodoList=new x("inChatTodoList",!1,{type:"boolean",description:d(10316,null)}),q.inChatTip=new x("inChatTip",!1,{type:"boolean",description:d(10315,null)}),q.inChatComposer=new x("inChatComposer",!1,{type:"boolean",description:d(10311,null)}),q.multipleChatTips=new x("multipleChatTips",!1,{type:"boolean",description:d(10328,null)}),q.inChatTerminalToolOutput=new x("inChatTerminalToolOutput",!1,{type:"boolean",description:d(10314,null)}),q.chatModeKind=new x("chatAgentKind","ask",{type:"string",description:d(10225,null)}),q.chatPermissionLevel=new x("chatPermissionLevel","default",{type:"string",description:d(10278,null)}),q.chatModeName=new x("chatModeName","",{type:"string",description:d(10272,null)}),q.chatModelId=new x("chatModelId","",{type:"string",description:d(10270,null)}),q.speechToTextRecording=new x("chatSpeechToTextRecording",!1,{type:"boolean",description:d(10304,null)}),q.speechToTextConfigured=new x("chatSpeechToTextConfigured",!1,{type:"boolean",description:d(10302,null)}),q.speechToTextPreparing=new x("chatSpeechToTextPreparing",!1,{type:"boolean",description:d(10303,null)}),q.supported=Ge.or(z2.negate(),Q2.notEqualsTo(""),Ge.has("config.chat.experimental.serverlessWebEnabled")),q.enabled=new x("chatIsEnabled",!1,{type:"boolean",description:d(10265,null)}),q.accountPolicyGateActive=h4,q.lockedToCodingAgent=new x("lockedToCodingAgent",!1,{type:"boolean",description:d(10327,null)}),q.lockedCodingAgentId=new x("lockedCodingAgentId","",{type:"string",description:d(10326,null)}),q.readOnly=new x("chatIsReadonly",!1,{type:"boolean",description:d(10267,null)}),q.chatIsAgentHostSession=new x("chatIsAgentHostSession",!1,{type:"boolean",description:d(10264,null)}),q.chatAgentHostProviderId=new x("chatAgentHostProviderId","",{type:"string",description:d(10241,null)}),q.chatAgentHostHasImmutablePrimaryWorkingDirectory=new x("chatAgentHostHasImmutablePrimaryWorkingDirectory",!1,{type:"boolean",description:d(10240,null)}),q.chatAgentHostFolderPickerVisible=new x("chatAgentHostFolderPickerVisible",!1,{type:"boolean",description:d(10239,null)}),q.chatSessionHasCustomAgentTarget=new x("chatSessionHasCustomAgentTarget",!1,{type:"boolean",description:d(10290,null)}),q.chatSessionHasTargetedModels=new x("chatSessionHasTargetedModels",!1,{type:"boolean",description:d(10294,null)}),q.agentSupportsAttachments=new x("agentSupportsAttachments",!1,{type:"boolean",description:d(10238,null)}),q.withinEditSessionDiff=new x("withinEditSessionDiff",!1,{type:"boolean",description:d(10330,null)}),q.filePartOfEditSession=new x("filePartOfEditSession",!1,{type:"boolean",description:d(10306,null)}),q.extensionParticipantRegistered=new x("chatPanelExtensionParticipantRegistered",!1,{type:"boolean",description:d(10275,null)}),q.panelParticipantRegistered=new x("chatPanelParticipantRegistered",!1,{type:"boolean",description:d(10277,null)}),q.chatEditingCanUndo=new x("chatEditingCanUndo",!1,{type:"boolean",description:d(10246,null)}),q.chatEditingCanRedo=new x("chatEditingCanRedo",!1,{type:"boolean",description:d(10245,null)}),q.languageModelsAreUserSelectable=new x("chatModelsAreUserSelectable",!1,{type:"boolean",description:d(10271,null)}),q.nonCopilotLanguageModelsAreUserSelectable=new x("chatNonCopilotModelsAreUserSelectable",!1,{type:"boolean",description:d(10274,null)}),q.chatSessionHasModels=new x("chatSessionHasModels",!1,{type:"boolean",description:d(10293,null)}),q.chatSessionOptionsValid=new x("chatSessionOptionsValid",!0,{type:"boolean",description:d(10296,null)}),q.extensionInvalid=new x("chatExtensionInvalid",!1,{type:"boolean",description:d(10251,null)}),q.inputCursorAtTop=new x("chatCursorAtTop",!1),q.inputHasAgent=new x("chatInputHasAgent",!1),q.location=new x("chatLocation",void 0),q.inQuickChat=new x("quickChatHasFocus",!1,{type:"boolean",description:d(10318,null)}),q.inAgentSessionsWelcome=new x("inAgentSessionsWelcome",!1,{type:"boolean",description:d(10308,null)}),q.inAutomationsDialog=new x("inAutomationsDialog",!1,{type:"boolean",description:d(10309,null)}),q.chatSessionType=new x("chatSessionType","",{type:"string",description:d(10300,null)}),q.hasFileAttachments=new x("chatHasFileAttachments",!1,{type:"boolean",description:d(10260,null)}),q.chatSessionIsEmpty=new x("chatSessionIsEmpty",!0,{type:"boolean",description:d(10295,null)}),q.hasPendingRequests=new x("chatHasPendingRequests",!1,{type:"boolean",description:d(10262,null)}),q.chatSessionHasDebugData=new x("chatSessionHasDebugData",!1,{type:"boolean",description:d(10291,null)}),q.chatSessionHasDebugTools=new x("chatSessionHasDebugTools",!1,{type:"boolean",description:d(10292,null)}),q.remoteJobCreating=new x("chatRemoteJobCreating",!1,{type:"boolean",description:d(10280,null)}),q.hasRemoteCodingAgent=new x("hasRemoteCodingAgent",!1,d(10307,null)),q.hasCanDelegateProviders=new x("chatHasCanDelegateProviders",!1,{type:"boolean",description:d(10259,null)}),q.enableRemoteCodingAgentPromptFileOverlay=new x("enableRemoteCodingAgentPromptFileOverlay",!1,d(10305,null)),q.skipChatRequestInProgressMessage=new x("chatSkipRequestInProgressMessage",!1,{type:"boolean",description:d(10301,null)}),q.Setup=pe.Setup,q.Entitlement=pe.Entitlement,q.chatQuotaExceeded=pe.chatQuotaExceeded,q.completionsQuotaExceeded=pe.completionsQuotaExceeded,q.Editing={hasToolConfirmation:new x("chatHasToolConfirmation",!1,{type:"boolean",description:d(10249,null)}),hasElicitationRequest:new x("chatHasElicitationRequest",!1,{type:"boolean",description:d(10247,null)}),hasQuestionCarousel:new x("chatHasQuestionCarousel",!1,{type:"boolean",description:d(10248,null)})},q.Tools={toolsCount:new x("toolsCount",0,{type:"number",description:d(10329,null)})},q.foregroundSessionCount=new x("chatForegroundSessionCount",0,{type:"number",description:d(10257,null)}),q.Modes={hasCustomChatModes:new x("chatHasCustomAgents",!1,{type:"boolean",description:d(10258,null)}),agentModeDisabledByPolicy:new x("chatAgentModeDisabledByPolicy",!1,{type:"boolean",description:d(10242,null)})},q.panelLocation=new x("chatPanelLocation",void 0,{type:"number",description:d(10276,null)}),q.agentSessionsViewerFocused=new x("agentSessionsViewerFocused",!0,{type:"boolean",description:d(10233,null)}),q.agentSessionsViewerOrientation=new x("agentSessionsViewerOrientation",void 0,{type:"number",description:d(10234,null)}),q.agentSessionsViewerPosition=new x("agentSessionsViewerPosition",void 0,{type:"number",description:d(10235,null)}),q.agentSessionsViewerVisible=new x("agentSessionsViewerVisible",void 0,{type:"boolean",description:d(10236,null)}),q.agentSessionType=new x("chatSessionType","",{type:"string",description:d(10237,null)}),q.agentSessionPullRequest=new x("chatSessionPullRequest","",{type:"string",description:d(10231,null)}),q.chatSessionSupportsDelegation=new x("chatSessionSupportsDelegation",!0,{type:"boolean",description:d(10298,null)}),q.hasPendingDelegationTarget=new x("chatHasPendingDelegationTarget",!1,{type:"boolean",description:d(10261,null)}),q.chatSessionSupportsFork=new x("chatSessionSupportsFork",!1,{type:"boolean",description:d(10299,null)}),q.agentSessionSection=new x("agentSessionSection","",{type:"string",description:d(10232,null)}),q.isArchivedAgentSession=new x("agentSessionIsArchived",!1,{type:"boolean",description:d(10228,null)}),q.isPinnedAgentSession=new x("agentSessionIsPinned",!1,{type:"boolean",description:d(10229,null)}),q.isReadAgentSession=new x("agentSessionIsRead",!1,{type:"boolean",description:d(10230,null)}),q.hasMultipleAgentSessionsSelected=new x("agentSessionHasMultipleSelected",!1,{type:"boolean",description:d(10227,null)}),q.hasAgentSessionChanges=new x("agentSessionHasChanges",!1,{type:"boolean",description:d(10226,null)}),q.isKatexMathElement=new x("chatIsKatexMathElement",!1,{type:"boolean",description:d(10266,null)}),q.hasUsedCreateSlashCommands=new x("chatHasUsedCreateSlashCommands",!1,{type:"boolean",description:d(10263,null)}),q.contextUsageHasBeenOpened=new x("chatContextUsageHasBeenOpened",!1,{type:"boolean",description:d(10243,null)}),q.newChatButtonExperimentIcon=new x("chatNewChatButtonExperimentIcon","",{type:"string",description:d(10273,null)})})(Vr||={});(n=>(n.inEditingMode=Ge.or(Vr.chatModeKind.isEqualTo("edit"),Vr.chatModeKind.isEqualTo("agent")),n.isAgentHostSession=Vr.chatIsAgentHostSession.isEqualTo(!0),n.isAgentHostSessionItem=Ge.or(Ge.regex(Vr.agentSessionType.key,/^agent-host-/),Ge.regex(Vr.agentSessionType.key,/^remote-/))))(bG||={})});var x4,C4=y(()=>{le();de();zi();X();x4=D("notificationService")});var Jk,eWe,E4,w4=y(()=>{X();Ne();Jk=class{constructor(t){this.options=t}getItemLabel(t){return t.label}getItemDescription(t){if(!this.options?.skipDescription)return t.description}getItemPath(t){if(!this.options?.skipPath)return t.resource?.scheme===$.file?t.resource.fsPath:t.resource?.path}},eWe=new Jk,E4=D("quickInputService")});var T4,oWe,R4=y(()=>{X();T4=D("encryptionService"),oWe=D("encryptionMainService")});function QS(r){return`${Jf}${r}`}async function SG(r,t,e,n){let o=QS(r);n?.trace("[secrets] getting secret for key:",o);let i=t(o);if(!i){n?.trace("[secrets] no secret found for key:",o);return}n?.trace("[secrets] decrypting secret for key:",o);let s=await e(i);return n?.trace("[secrets] decrypted secret for key:",o),s}async function xG(r,t,e,n,o){o?.trace("[secrets] encrypting secret for key:",r);let i=await n(t),s=QS(r);o?.trace("[secrets] storing encrypted secret for key:",s),e(s,i),o?.trace("[secrets] stored encrypted secret for key:",s)}var Jf,CG,P4,jS,k4=y(()=>{Me();R4();X();Us();de();Pe();Q();Oi();me();Jf="secret://";CG=['{"extensionId":"vscode.github-authentication","key":"github.auth"}'],P4=D("secretStorageService"),jS=class extends _{constructor(e,n,o,i){super();this._useInMemoryStorage=e;this._storageService=n;this._encryptionService=o;this._logService=i;this.onDidChangeSecretEmitter=this._register(new w);this.onDidChangeSecret=this.onDidChangeSecretEmitter.event;this._sequencer=new cd;this._type="unknown";this._onDidChangeValueDisposable=this._register(new re);this._lazyStorageService=new yn(()=>this.initialize())}useSharedStorage(e){return te&&CG.includes(e)}get type(){return this._type}get resolvedStorageService(){return this._lazyStorageService.value}get(e){return this._sequencer.queue(e,async()=>{let n=await this.resolvedStorageService;try{return await SG(e,o=>this.getValueFromStorage(e,o,n),this._type==="in-memory"?o=>Promise.resolve(o):o=>this._encryptionService.decrypt(o),this._logService)}catch(o){this._logService.error(o);let i=QS(e);this._logService.trace("[secrets] deleting invalid secret for key:",i),this.removeValueFromStorage(e,i,n),this._logService.trace("[secrets] deleted invalid secret for key:",i);return}})}set(e,n){return this._sequencer.queue(e,async()=>{let o=await this.resolvedStorageService;try{await xG(e,n,(i,s)=>this.setValueInStorage(e,i,s,o),this._type==="in-memory"?i=>Promise.resolve(i):i=>this._encryptionService.encrypt(i),this._logService)}catch(i){throw this._logService.error(i),i}})}delete(e){return this._sequencer.queue(e,async()=>{let n=await this.resolvedStorageService,o=QS(e);this._logService.trace("[secrets] deleting secret for key:",o),this.removeValueFromStorage(e,o,n),this._logService.trace("[secrets] deleted secret for key:",o)})}keys(){return this._sequencer.queue("__keys__",async()=>{let e=await this.resolvedStorageService;this._logService.trace("[secrets] fetching keys of all secrets");let n=e.keys(-1,1);return this._logService.trace("[secrets] fetched keys of all secrets"),n.filter(o=>o.startsWith(Jf)).map(o=>o.slice(Jf.length))})}getValueFromStorage(e,n,o){return this.useSharedStorage(e)?(this._logService.trace(`[SecretStorageService] Fetching value for cross-app shared secret: ${n}`),o.get(n,-2)):o.get(n,-1)}removeValueFromStorage(e,n,o){let i=this.useSharedStorage(e)?-2:-1;o.remove(n,i)}setValueInStorage(e,n,o,i){if(this.useSharedStorage(e)){this._logService.trace(`[SecretStorageService] Setting value for cross-app shared secret: ${n}`),i.store(n,o,-2,1);return}i.store(n,o,-1,1)}async initialize(){let e;if(!this._useInMemoryStorage&&await this._encryptionService.isEncryptionAvailable())this._logService.trace("[SecretStorageService] Encryption is available, using persisted storage"),this._type="persisted",e=this._storageService;else{if(this._type==="in-memory")return this._storageService;this._logService.trace("[SecretStorageService] Encryption is not available, falling back to in-memory storage"),this._type="in-memory",e=this._register(new Dy)}return this._onDidChangeValueDisposable.clear(),this._onDidChangeValueDisposable.add(W.any(e.onDidChangeValue(-1,void 0,this._onDidChangeValueDisposable),e.onDidChangeValue(-2,void 0,this._onDidChangeValueDisposable))(n=>{this.onDidChangeValue(n.key)})),e}reinitialize(){this._lazyStorageService=new yn(()=>this.initialize())}onDidChangeValue(e){if(!e.startsWith(Jf))return;let n=e.slice(Jf.length);this._logService.trace(`[SecretStorageService] Notifying change in value for secret: ${n}`),this.onDidChangeSecretEmitter.fire(n)}};jS=C([I(1,ni),I(2,T4),I(3,K)],jS)});var Yk,Xk,Zk=y(()=>{Se();Bn();Yk=class{constructor(){this._generators=new Map;this._cache=new WeakMap}register(t,e){this._generators.set(t,e)}readActivationEvents(t){return this._cache.has(t)||this._cache.set(t,this._readActivationEvents(t)),this._cache.get(t)}createActivationEventsMap(t){let e=Object.create(null);for(let n of t){let o=this.readActivationEvents(n);o.length>0&&(e[nn.toKey(n.identifier)]=o)}return e}_readActivationEvents(t){if(typeof t.main>"u"&&typeof t.browser>"u")return[];let e=Array.isArray(t.activationEvents)?t.activationEvents.slice(0):[];for(let n=0;n<e.length;n++)e[n]==="onUri"&&(e[n]=`onUri:${nn.toKey(t.identifier)}`);if(!t.contributes)return e;for(let n in t.contributes){let o=this._generators.get(n);if(!o)continue;let i=t.contributes[n],s=Array.isArray(i)?i:[i];try{e.push(...o(s))}catch(a){tt(a)}}return e}},Xk=new Yk});function JS(r,t){return!0}function eD(r,t){if(!JS(r,t))throw new Error(`Extension '${r.identifier.value}' CANNOT use API proposal: ${t}.
Its package.json#enabledApiProposals-property declares: ${r.enabledApiProposals?.join(", ")??"[]"} but NOT ${t}.
 The missing proposal MUST be added and you must start in extension development mode or use the following command line switch: --enable-proposed-api ${r.identifier.value}`)}var AWe,D4,tD=y(()=>{de();Q();Me();ie();ei();Zk();Bn();X();AWe=Object.freeze({identifier:new nn("nullExtensionDescription"),name:"Null Extension Description",version:"0.0.0",publisher:"vscode",engines:{vscode:""},extensionLocation:b.parse("void:location"),isBuiltin:!1,targetPlatform:"undefined",isUserBuiltin:!1,isUnderDevelopment:!1,preRelease:!1}),D4=D("extensionService")});var EG,Yf,_4=y(()=>{EG={activeComment:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.activeComment.d.ts"},agentEditorComments:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.agentEditorComments.d.ts"},agentSessionsWorkspace:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.agentSessionsWorkspace.d.ts"},agentsWindowConfiguration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.agentsWindowConfiguration.d.ts"},aiRelatedInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiRelatedInformation.d.ts"},aiSettingsSearch:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiSettingsSearch.d.ts"},aiTextSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.aiTextSearchProvider.d.ts"},authIssuers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authIssuers.d.ts"},authLearnMore:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authLearnMore.d.ts"},authProviderSpecific:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authProviderSpecific.d.ts"},authSession:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSession.d.ts"},authSessionAccountIcon:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSessionAccountIcon.d.ts"},authSessionAudience:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authSessionAudience.d.ts"},authenticationChallenges:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.authenticationChallenges.d.ts"},browser:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.browser.d.ts"},canonicalUriProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.canonicalUriProvider.d.ts"},chatContextProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatContextProvider.d.ts"},chatDebug:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatDebug.d.ts"},chatHooks:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatHooks.d.ts"},chatInputNotification:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatInputNotification.d.ts"},chatOutputRenderer:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatOutputRenderer.d.ts"},chatParticipantAdditions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatParticipantAdditions.d.ts"},chatParticipantPrivate:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatParticipantPrivate.d.ts"},chatPromptFiles:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatPromptFiles.d.ts"},chatProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatProvider.d.ts"},chatReferenceBinaryData:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatReferenceBinaryData.d.ts"},chatReferenceDiagnostic:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatReferenceDiagnostic.d.ts"},chatSessionCustomizationProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatSessionCustomizationProvider.d.ts"},chatSessionsProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatSessionsProvider.d.ts"},chatStatusItem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatStatusItem.d.ts"},chatTab:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.chatTab.d.ts"},codeActionAI:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codeActionAI.d.ts"},codeActionRanges:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codeActionRanges.d.ts"},codiconDecoration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.codiconDecoration.d.ts"},commentReactor:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentReactor.d.ts"},commentReveal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentReveal.d.ts"},commentThreadApplicability:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentThreadApplicability.d.ts"},commentingRangeHint:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentingRangeHint.d.ts"},commentsDraftState:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.commentsDraftState.d.ts"},contribAccessibilityHelpContent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribAccessibilityHelpContent.d.ts"},contribChatEditorInlineGutterMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribChatEditorInlineGutterMenu.d.ts"},contribCommentEditorActionsMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentEditorActionsMenu.d.ts"},contribCommentPeekContext:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentPeekContext.d.ts"},contribCommentThreadAdditionalMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts"},contribCommentsViewThreadMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribCommentsViewThreadMenus.d.ts"},contribDebugCreateConfiguration:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribDebugCreateConfiguration.d.ts"},contribDiffEditorGutterToolBarMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribDiffEditorGutterToolBarMenus.d.ts"},contribEditSessions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribEditSessions.d.ts"},contribEditorContentMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribEditorContentMenu.d.ts"},contribLabelFormatterWorkspaceTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribLabelFormatterWorkspaceTooltip.d.ts"},contribLanguageModelToolSets:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribLanguageModelToolSets.d.ts"},contribMenuBarHome:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMenuBarHome.d.ts"},contribMergeEditorMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMergeEditorMenus.d.ts"},contribMultiDiffEditorMenus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribMultiDiffEditorMenus.d.ts"},contribNotebookStaticPreloads:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribNotebookStaticPreloads.d.ts"},contribRemoteHelp:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribRemoteHelp.d.ts"},contribShareMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribShareMenu.d.ts"},contribSourceControlArtifactGroupMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlArtifactGroupMenu.d.ts"},contribSourceControlArtifactMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlArtifactMenu.d.ts"},contribSourceControlHistoryItemMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlHistoryItemMenu.d.ts"},contribSourceControlHistoryTitleMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlHistoryTitleMenu.d.ts"},contribSourceControlInputBoxMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlInputBoxMenu.d.ts"},contribSourceControlTitleMenu:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribSourceControlTitleMenu.d.ts"},contribStatusBarItems:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribStatusBarItems.d.ts"},contribViewContainerTitle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewContainerTitle.d.ts"},contribViewsRemote:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewsRemote.d.ts"},contribViewsWelcome:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.contribViewsWelcome.d.ts"},css:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.css.d.ts"},customEditorDiffs:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.customEditorDiffs.d.ts"},customEditorMove:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.customEditorMove.d.ts"},dataChannels:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.dataChannels.d.ts"},debugVisualization:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.debugVisualization.d.ts"},defaultChatParticipant:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.defaultChatParticipant.d.ts"},devDeviceId:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.devDeviceId.d.ts"},diffCommand:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.diffCommand.d.ts"},diffContentOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.diffContentOptions.d.ts"},documentDiff:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentDiff.d.ts"},documentFiltersExclusive:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentFiltersExclusive.d.ts"},documentSyntaxHighlighting:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.documentSyntaxHighlighting.d.ts"},editSessionIdentityProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editSessionIdentityProvider.d.ts"},editorHoverVerbosityLevel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorHoverVerbosityLevel.d.ts"},editorInsets:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.editorInsets.d.ts"},embeddings:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.embeddings.d.ts"},envIsConnectionMetered:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.envIsConnectionMetered.d.ts"},environmentPower:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.environmentPower.d.ts"},extensionAffinity:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionAffinity.d.ts"},extensionRuntime:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionRuntime.d.ts"},extensionsAny:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.extensionsAny.d.ts"},externalUriOpener:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.externalUriOpener.d.ts"},fileSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileSearchProvider.d.ts"},fileSearchProvider2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fileSearchProvider2.d.ts"},findFiles2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findFiles2.d.ts"},findTextInFiles:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findTextInFiles.d.ts"},findTextInFiles2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.findTextInFiles2.d.ts"},fsChunks:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.fsChunks.d.ts"},inlineCompletionsAdditions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.inlineCompletionsAdditions.d.ts"},interactive:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.interactive.d.ts"},interactiveWindow:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.interactiveWindow.d.ts"},ipc:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.ipc.d.ts"},languageModelCapabilities:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelCapabilities.d.ts"},languageModelPricing:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelPricing.d.ts"},languageModelProxy:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelProxy.d.ts"},languageModelSystem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelSystem.d.ts"},languageModelThinkingPart:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelThinkingPart.d.ts"},languageModelToolResultAudience:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelToolResultAudience.d.ts"},languageModelToolSupportsModel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageModelToolSupportsModel.d.ts"},languageStatusText:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.languageStatusText.d.ts"},linkPresentation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.linkPresentation.d.ts"},mappedEditsProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts"},markdownAlertSyntax:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.markdownAlertSyntax.d.ts"},mcpServerDefinitions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mcpServerDefinitions.d.ts"},mcpToolDefinitions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.mcpToolDefinitions.d.ts"},multiDocumentHighlightProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts"},nativeWindowHandle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.nativeWindowHandle.d.ts"},newSymbolNamesProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.newSymbolNamesProvider.d.ts"},notebookCellExecution:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookCellExecution.d.ts"},notebookControllerAffinityHidden:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookControllerAffinityHidden.d.ts"},notebookDeprecated:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookDeprecated.d.ts"},notebookExecution:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookExecution.d.ts"},notebookKernelSource:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookKernelSource.d.ts"},notebookLiveShare:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookLiveShare.d.ts"},notebookMessaging:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMessaging.d.ts"},notebookMime:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookMime.d.ts"},notebookReplDocument:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookReplDocument.d.ts"},notebookVariableProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.notebookVariableProvider.d.ts"},portsAttributes:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.portsAttributes.d.ts"},profileContentHandlers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.profileContentHandlers.d.ts"},quickDiffProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickDiffProvider.d.ts"},quickPickItemTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickItemTooltip.d.ts"},quickPickSortByLabel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.quickPickSortByLabel.d.ts"},remoteCodingAgents:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.remoteCodingAgents.d.ts"},resolvers:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.resolvers.d.ts"},scmActionButton:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmActionButton.d.ts"},scmArtifactProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmArtifactProvider.d.ts"},scmHistoryProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmHistoryProvider.d.ts"},scmMultiDiffEditor:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmMultiDiffEditor.d.ts"},scmProviderOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmProviderOptions.d.ts"},scmSelectedProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmSelectedProvider.d.ts"},scmTextDocument:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmTextDocument.d.ts"},scmValidation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.scmValidation.d.ts"},shareProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.shareProvider.d.ts"},speech:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.speech.d.ts"},statusBarItemTooltip:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.statusBarItemTooltip.d.ts"},tabInputMultiDiff:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tabInputMultiDiff.d.ts"},tabInputTextMerge:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tabInputTextMerge.d.ts"},taskExecutionTerminal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskExecutionTerminal.d.ts"},taskPresentationGroup:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskPresentationGroup.d.ts"},taskProblemMatcherStatus:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskProblemMatcherStatus.d.ts"},taskRunOptions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.taskRunOptions.d.ts"},telemetry:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.telemetry.d.ts"},terminalCompletionProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalCompletionProvider.d.ts"},terminalDataWriteEvent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalDataWriteEvent.d.ts"},terminalDimensions:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalDimensions.d.ts"},terminalExecuteCommandEvent:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalExecuteCommandEvent.d.ts"},terminalQuickFixProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalQuickFixProvider.d.ts"},terminalRemoteResolver:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalRemoteResolver.d.ts"},terminalSelection:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalSelection.d.ts"},terminalShellEnv:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalShellEnv.d.ts"},terminalTitle:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.terminalTitle.d.ts"},testObserver:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testObserver.d.ts"},testRelatedCode:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.testRelatedCode.d.ts"},textDocumentChangeReason:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textDocumentChangeReason.d.ts"},textEditorDiffInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textEditorDiffInformation.d.ts"},textSearchComplete2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchComplete2.d.ts"},textSearchProvider:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchProvider.d.ts"},textSearchProvider2:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.textSearchProvider2.d.ts"},timeline:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.timeline.d.ts"},tokenInformation:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tokenInformation.d.ts"},toolInvocationApproveCombination:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.toolInvocationApproveCombination.d.ts"},toolProgress:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.toolProgress.d.ts"},treeItemMarkdownLabel:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeItemMarkdownLabel.d.ts"},treeViewActiveItem:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewActiveItem.d.ts"},treeViewMarkdownMessage:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewMarkdownMessage.d.ts"},treeViewReveal:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.treeViewReveal.d.ts"},tunnelFactory:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tunnelFactory.d.ts"},tunnels:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.tunnels.d.ts"},valueSelectionInQuickPick:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.valueSelectionInQuickPick.d.ts"},workspaceTrust:{proposal:"https://raw.githubusercontent.com/microsoft/vscode/main/src/vscode-dts/vscode.proposed.workspaceTrust.d.ts"}},Yf=Object.freeze(EG)});var sD,nD,oD,wG,M4,rD,iD,A4,L4,O4=y(()=>{le();Se();zi();Co();Wv();Uo();Bn();Fn();Zk();_4();sD=lt.as(Bl.JSONContribution),nD=class r{constructor(t,e){this.added=t;this.removed=e}static _toSet(t){let e=new og;for(let n=0,o=t.length;n<o;n++)e.add(t[n].description.identifier);return e}static compute(t,e){if(!t||!t.length)return new r(e,[]);if(!e||!e.length)return new r([],t);let n=this._toSet(t),o=this._toSet(e),i=e.filter(a=>!n.has(a.description.identifier)),s=t.filter(a=>!o.has(a.description.identifier));return new r(i,s)}},oD=class{constructor(t,e,n){this.name=t,this.defaultExtensionKind=e,this.canHandleResolver=n,this._handler=null,this._users=null,this._delta=null}setHandler(t){if(this._handler!==null)throw new Error("Handler already set!");return this._handler=t,this._handle(),{dispose:()=>{this._handler=null}}}acceptUsers(t){this._delta=nD.compute(this._users,t),this._users=t,this._handle()}_handle(){if(!(this._handler===null||this._users===null||this._delta===null))try{this._handler(this._users,this._delta)}catch(t){tt(t)}}},wG={type:"string",enum:["ui","workspace"],enumDescriptions:[d(19875,null),d(19955,null)]},M4="vscode://schemas/vscode-extensions",rD={properties:{engines:{type:"object",description:d(19939,null),properties:{vscode:{type:"string",description:d(19940,null),default:"^1.105.0"}}},publisher:{description:d(19951,null),type:"string"},displayName:{description:d(19936,null),type:"string"},categories:{description:d(19930,null),type:"array",uniqueItems:!0,items:{oneOf:[{type:"string",enum:vy},{type:"string",const:"Languages",deprecationMessage:d(19931,null)}]}},galleryBanner:{type:"object",description:d(19943,null),properties:{color:{description:d(19944,null),type:"string"},theme:{description:d(19945,null),type:"string",enum:["dark","light"]}}},contributes:{description:d(19932,null),type:"object",properties:{},default:{}},preview:{type:"boolean",description:d(19949,null)},enableProposedApi:{type:"boolean",deprecationMessage:d(19938,null)},enabledApiProposals:{markdownDescription:d(19937,null),type:"array",uniqueItems:!0,items:{type:"string",enum:Object.keys(Yf).map(r=>r),markdownEnumDescriptions:Object.values(Yf).map(r=>r.proposal)}},api:{markdownDescription:d(19910,null),type:"string",enum:["none"],enumDescriptions:[d(19911,null)]},activationEvents:{description:d(19876,null),type:"array",items:{type:"string",defaultSnippets:[{label:"onWebviewPanel",description:d(19907,null),body:"onWebviewPanel:viewType"},{label:"onLanguage",description:d(19890,null),body:"onLanguage:${1:languageId}"},{label:"onCommand",description:d(19880,null),body:"onCommand:${2:commandId}"},{label:"onDebug",description:d(19882,null),body:"onDebug"},{label:"onDebugInitialConfigurations",description:d(19885,null),body:"onDebugInitialConfigurations"},{label:"onDebugDynamicConfigurations",description:d(19884,null),body:"onDebugDynamicConfigurations"},{label:"onDebugResolve",description:d(19886,null),body:"onDebugResolve:${6:type}"},{label:"onDebugAdapterProtocolTracker",description:d(19883,null),body:"onDebugAdapterProtocolTracker:${6:type}"},{label:"workspaceContains",description:d(19909,null),body:"workspaceContains:${4:filePattern}"},{label:"onStartupFinished",description:d(19898,null),body:"onStartupFinished"},{label:"onTaskType",description:d(19899,null),body:"onTaskType:${1:taskType}"},{label:"onFileSystem",description:d(19888,null),body:"onFileSystem:${1:scheme}"},{label:"onEditSession",description:d(19887,null),body:"onEditSession:${1:scheme}"},{label:"onSearch",description:d(19897,null),body:"onSearch:${7:scheme}"},{label:"onView",body:"onView:${5:viewId}",description:d(19905,null)},{label:"onUri",body:"onUri",description:d(19904,null)},{label:"onOpenExternalUri",body:"onOpenExternalUri",description:d(19895,null)},{label:"onCustomEditor",body:"onCustomEditor:${9:viewType}",description:d(19881,null)},{label:"onNotebook",body:"onNotebook:${1:type}",description:d(19894,null)},{label:"onAuthenticationRequest",body:"onAuthenticationRequest:${11:authenticationProviderId}",description:d(19877,null)},{label:"onRenderer",description:d(19896,null),body:"onRenderer:${11:rendererId}"},{label:"onTerminalProfile",body:"onTerminalProfile:${1:terminalId}",description:d(19901,null)},{label:"onTerminalQuickFixRequest",body:"onTerminalQuickFixRequest:${1:quickFixId}",description:d(19902,null)},{label:"onWalkthrough",body:"onWalkthrough:${1:walkthroughID}",description:d(19906,null)},{label:"onIssueReporterOpened",body:"onIssueReporterOpened",description:d(19889,null)},{label:"onChatParticipant",body:"onChatParticipant:${1:participantId}",description:d(19879,null)},{label:"onChatContextProvider",body:"onChatContextProvider:${1:contextProviderId}",description:d(19878,null)},{label:"onLanguageModelChatProvider",body:"onLanguageModelChatProvider:${1:vendor}",description:d(19891,null)},{label:"onLanguageModelTool",body:"onLanguageModelTool:${1:toolId}",description:d(19892,null)},{label:"onTerminal",body:"onTerminal:{1:shellType}",description:d(19900,null)},{label:"onTerminalShellIntegration",body:"onTerminalShellIntegration:${1:shellType}",description:d(19903,null)},{label:"onMcpCollection",description:d(19893,null),body:"onMcpCollection:${2:collectionId}"},{label:"*",description:d(19908,null),body:"*"}]}},badges:{type:"array",description:d(19912,null),items:{type:"object",required:["url","href","description"],properties:{url:{type:"string",description:d(19915,null)},href:{type:"string",description:d(19914,null)},description:{type:"string",description:d(19913,null)}}}},markdown:{type:"string",description:d(19948,null),enum:["github","standard"],default:"github"},qna:{default:"marketplace",description:d(19952,null),anyOf:[{type:["string","boolean"],enum:["marketplace",!1]},{type:"string"}]},extensionDependencies:{description:d(19942,null),type:"array",uniqueItems:!0,items:{type:"string",pattern:rg}},extensionAffinity:{description:d(19941,null),type:"array",uniqueItems:!0,items:{type:"string",pattern:rg}},extensionPack:{description:d(19933,null),type:"array",uniqueItems:!0,items:{type:"string",pattern:rg}},extensionKind:{description:d(19868,null),type:"array",items:wG,default:["workspace"],defaultSnippets:[{body:["ui"],description:d(19870,null)},{body:["workspace"],description:d(19872,null)},{body:["ui","workspace"],description:d(19871,null)},{body:["workspace","ui"],description:d(19873,null)},{body:[],description:d(19869,null)}]},capabilities:{description:d(19916,null),type:"object",properties:{virtualWorkspaces:{description:d(19924,null),type:["boolean","object"],defaultSnippets:[{label:"limited",body:{supported:"${1:limited}",description:"${2}"}},{label:"false",body:{supported:!1,description:"${2}"}}],default:(!0).valueOf,properties:{supported:{markdownDescription:d(19926,null),type:["string","boolean"],enum:["limited",!0,!1],enumDescriptions:[d(19928,null),d(19929,null),d(19927,null)]},description:{type:"string",markdownDescription:d(19925,null)}}},untrustedWorkspaces:{description:d(19917,null),type:"object",required:["supported"],defaultSnippets:[{body:{supported:"${1:limited}",description:"${2}"}}],properties:{supported:{markdownDescription:d(19920,null),type:["string","boolean"],enum:["limited",!0,!1],enumDescriptions:[d(19922,null),d(19923,null),d(19921,null)]},restrictedConfigurations:{description:d(19919,null),type:"array",items:{type:"string"}},description:{type:"string",markdownDescription:d(19918,null)}}}}},sponsor:{description:d(19934,null),type:"object",defaultSnippets:[{body:{url:"${1:https:}"}}],properties:{url:{description:d(19935,null),type:"string"}}},scripts:{type:"object",properties:{"vscode:prepublish":{description:d(19953,null),type:"string"},"vscode:uninstall":{description:d(19954,null),type:"string"}}},icon:{type:"string",description:d(19946,null)},l10n:{type:"string",description:d(19947,null)},pricing:{type:"string",markdownDescription:d(19950,null),enum:["Free","Trial"],default:"Free"}}},iD=class{constructor(){this._extensionPoints=new Map}registerExtensionPoint(t){if(this._extensionPoints.has(t.extensionPoint))throw new Error("Duplicate extension point: "+t.extensionPoint);let e=new oD(t.extensionPoint,t.defaultExtensionKind,t.canHandleResolver);return this._extensionPoints.set(t.extensionPoint,e),t.activationEventsGenerator&&Xk.register(t.extensionPoint,t.activationEventsGenerator),rD.properties.contributes.properties[t.extensionPoint]=t.jsonSchema,sD.registerSchema(M4,rD),e}getExtensionPoints(){return Array.from(this._extensionPoints.values())}},A4={ExtensionsRegistry:"ExtensionsRegistry"};lt.add(A4.ExtensionsRegistry,new iD);L4=lt.as(A4.ExtensionsRegistry);sD.registerSchema(M4,rD);sD.registerSchema(LL,{properties:{extensionEnabledApiProposals:{description:d(19874,null),type:"object",properties:{},additionalProperties:{anyOf:[{type:"array",uniqueItems:!0,items:{type:"string",enum:Object.keys(Yf),markdownEnumDescriptions:Object.values(Yf).map(r=>r.proposal)}}]}}}})});var U4,N4=y(()=>{X();U4=D("ILanguageModelsConfigurationService")});function kG(r,t){if(!(!r||r===YS))return TG.has(r)&&t&&PG.some(e=>nn.equals(t,e))?r:RG}function DG(r,t){let e=b.parse(r);return e.scheme===$.vscode&&t?e.with({scheme:t}):e}function MG(r,t,e){if(!r?.properties)return[];let n=[];for(let[o,i]of Object.entries(r.properties)){if(!i.enum||!Array.isArray(i.enum)||i.enum.length<1)continue;let s=t[o]??i.default,a=(typeof i.title=="string"?i.title:void 0)??o.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/^./,m=>m.toUpperCase()),l=i.default,c=i.enumItemLabels,u=i.enumDescriptions,p=i.enum.map((m,g)=>{let h=c?.[g]??String(m),v=m===l?d(10444,null,h):h,S=u?.[g]??"";return{id:`configureModel.${o}.${m}`,label:v,class:void 0,enabled:!0,tooltip:S,checked:s===m,run:()=>e(o,m)}});n.push(new IS(`configureModel.${o}`,a,p))}return n}var YS,TG,RG,PG,cD,B4,F4,_G,V4,H4,W4,Xf,aD,lD,kc,dD=y(()=>{Me();jt();Se();de();Ul();Gr();Q();ia();en();zi();Ot();ek();Ee();Ne();ie();Jt();le();lo();Bn();X();Pe();C4();Uk();Fn();yi();w4();k4();Us();Rn();tD();O4();Qk();N4();YS="copilot",TG=new Set(["openai","anthropic","gemini","ollama","openrouter","azure","xai","customoai","customendpoint"]),RG="3p-extension",PG=["github.copilot-chat","github.copilot"];(c=>{function r(u){return(typeof u.capabilities?.agentMode>"u"||u.capabilities.agentMode)&&!!u.capabilities?.toolCalling}c.suitableForAgentMode=r;function t(u){return`${u.name} (${u.vendor})`}c.asQualifiedName=t;function e(u,p){return p.vendor===YS&&u===p.name?!0:u===t(p)}c.matchesQualifiedName=e;function n(u){return!!u.promo&&u.promo.discountPercent>0}c.hasPromoDiscount=n;function o(u){return!!u.promo&&u.promo.discountPercent>=0&&!!u.promo.message}c.hasPromoMessage=o;function i(u){if(!u)return;let p=new Date(u);if(isNaN(p.getTime()))return;let m=p.toLocaleDateString(void 0,{year:"numeric",month:"long",day:"numeric"});return d(10437,null,m)}c.getPromoEndsAtLabel=i,c.autoModelSelectionDocsUrl="https://docs.github.com/en/copilot/concepts/models/auto-model-selection";function a(u){let p=d(10431,null),m=d(10433,null,c.autoModelSelectionDocsUrl);if(typeof u=="number"&&u>0){let g=d(10432,null,u);return`${p} ${g} ${m}`}return`${p} ${m}`}c.getAutoModelDescription=a;function l(u){return u.byokModelIdentifier}c.getAgentHostByokManageModelsIdentifier=l})(cD||={});B4=D("ILanguageModelsService"),F4={type:"object",required:["vendor","displayName"],properties:{vendor:{type:"string",description:d(10457,null)},displayName:{type:"string",description:d(10453,null)},configuration:{type:"object",description:d(10449,null),anyOf:[{$ref:"http://json-schema.org/draft-07/schema#"},{properties:{properties:{type:"object",additionalProperties:{$ref:"http://json-schema.org/draft-07/schema#",properties:{secret:{type:"boolean",description:d(10450,null)}}}},additionalProperties:{$ref:"http://json-schema.org/draft-07/schema#",properties:{secret:{type:"boolean",description:d(10450,null)}}}}}]},managementCommand:{type:"string",description:d(10455,null),deprecated:!0,deprecationMessage:d(10456,null)},deprecation:{type:"object",description:d(10451,null),properties:{link:{type:"string",description:d(10452,null)}}},when:{type:"string",description:d(10459,null)}}};_G=L4.registerExtensionPoint({extensionPoint:"languageModelChatProviders",jsonSchema:{description:d(10448,null),oneOf:[F4,{type:"array",items:F4}]},activationEventsGenerator:function*(r){for(let t of r)yield`onLanguageModelChatProvider:${t.vendor}`}}),V4="chatModelRecentlyUsed",H4="chatModelPinned",W4="chatModelVisibility",Xf="copilot/auto",aD="chat.participantNameRegistry",lD="chat.modelsControl";kc=class{constructor(t,e,n,o,i,s,a,l,c,u,p,m){this._extensionService=t;this._logService=e;this._storageService=n;this._contextKeyService=o;this._languageModelsConfigurationService=i;this._quickInputService=s;this._secretStorageService=a;this._productService=l;this._requestService=c;this._notificationService=u;this._openerService=p;this._telemetryService=m;this._store=new re;this._providers=new Map;this._vendors=new Map;this._deprecationNoticeShownVendors=new Set;this._onDidChangeLanguageModelVendors=this._store.add(new w);this.onDidChangeLanguageModelVendors=this._onDidChangeLanguageModelVendors.event;this._modelsGroups=new Map;this._modelCache=new Map;this._resolveLMSequencer=new cd;this._modelConfigurations=new Map;this._onLanguageModelChange=this._store.add(new w);this.onDidChangeLanguageModels=this._onLanguageModelChange.event;this._recentlyUsedModelIds=[];this._pinnedModelIds=[];this._hiddenModelIds=new Set;this._onDidChangeModelsControlManifest=this._store.add(new w);this.onDidChangeModelsControlManifest=this._onDidChangeModelsControlManifest.event;this._onDidChangePinnedModels=this._store.add(new w);this.onDidChangePinnedModels=this._onDidChangePinnedModels.event;this._onDidChangeModelVisibility=this._store.add(new w);this.onDidChangeModelVisibility=this._onDidChangeModelVisibility.event;this._modelsControlManifest={free:{},paid:{}};this._chatControlDisposed=!1;this._restrictedChatParticipants=Wn(this,Object.create(null));this.restrictedChatParticipants=this._restrictedChatParticipants;this._hasUserSelectableModels=Vr.languageModelsAreUserSelectable.bindTo(o),this._hasNonCopilotUserSelectableModels=Vr.nonCopilotLanguageModelsAreUserSelectable.bindTo(o),this._recentlyUsedModelIds=this._readRecentlyUsedModels(),this._pinnedModelIds=this._readPinnedModels(),this._readVisibility(),this._initChatControlData(),this._store.add(this.onDidChangeLanguageModels(()=>{let g=!1,h=!1;for(let v of this._modelCache.values())if(v.isUserSelectable!==!1&&(g=!0,v.vendor!==YS)){h=!0;break}this._hasUserSelectableModels.set(g),this._hasNonCopilotUserSelectableModels.set(h),this._refreshModelsControlManifest()})),this._store.add(this._languageModelsConfigurationService.onDidChangeLanguageModelGroups(g=>this._onDidChangeLanguageModelGroups(g))),this._store.add(_G.setHandler((g,{added:h,removed:v})=>{let S=[],T=[];for(let E of h)for(let k of Gt.wrap(E.value)){if(this._vendors.has(k.vendor)){E.collector.error(d(10458,null,k.vendor));continue}if(fm(k.vendor)){E.collector.error(d(10454,null));continue}if(k.vendor.trim()!==k.vendor){E.collector.error(d(10460,null));continue}S.push(k)}for(let E of v)for(let k of Gt.wrap(E.value))T.push(k);this.deltaLanguageModelChatProviderDescriptors(S,T)}))}static{this.SECRET_KEY_PREFIX="chat.lm.secret."}static{this.SECRET_INPUT="${input:{0}}"}deltaLanguageModelChatProviderDescriptors(t,e){let n=[],o=[];for(let i of t){if(this._vendors.has(i.vendor)){this._logService.error(`The vendor '${i.vendor}' is already registered and cannot be registered twice`);continue}if(fm(i.vendor)){this._logService.error("The vendor field cannot be empty.");continue}if(i.vendor.trim()!==i.vendor){this._logService.error("The vendor field cannot start or end with whitespace.");continue}let s={vendor:i.vendor,displayName:i.displayName,configuration:i.configuration,managementCommand:i.managementCommand,deprecation:i.deprecation,when:i.when,isDefault:i.vendor===YS};this._vendors.set(i.vendor,s),n.push(i.vendor)}for(let i of e)this._vendors.delete(i.vendor),this._providers.delete(i.vendor),this._clearModelCache(i.vendor),this._modelsGroups.delete(i.vendor),o.push(i.vendor);for(let[i,s]of this._providers)this._vendors.has(i)||this._providers.delete(i);if((n.length>0||o.length>0)&&(this._onDidChangeLanguageModelVendors.fire([...n,...o]),o.length>0))for(let i of o)this._onLanguageModelChange.fire(i)}async _onDidChangeLanguageModelGroups(t){let e=new Set(t.map(n=>n.vendor));await Promise.all(Array.from(e).map(n=>this._resolveAllLanguageModels(n,!0)))}getVendors(){return Array.from(this._vendors.values()).filter(t=>{if(!t.when)return!0;let e=Ge.deserialize(t.when);return e?this._contextKeyService.contextMatchesRules(e):!1})}getLanguageModelIds(){return Array.from(this._modelCache.keys())}lookupLanguageModel(t){return this._modelCache.get(t)}lookupLanguageModelByQualifiedName(t){for(let[e,n]of this._modelCache.entries())if(cD.matchesQualifiedName(t,n))return{metadata:n,identifier:e}}async _resolveAllLanguageModels(t,e){let n=this._vendors.get(t);if(!n)return;let o=this._providers.get(t);if(o||(await this._extensionService.activateByEvent(`onLanguageModelChatProvider:${t}`),o=this._providers.get(t)),!o){this._logService.warn(`[LM] No provider registered for vendor ${t}`);return}return this._resolveLMSequencer.queue(t,async()=>{let i=[],s=[];try{let g=await o.provideLanguageModelChatInfo({silent:e},we.None);if(g.length){i.push(...g);let h=[];for(let v of g)n.isDefault?v.metadata.isUserSelectable!==!1?h.push(v.identifier):this._logService.trace(`[LM] Skipping model ${v.identifier} from model picker as it is not user selectable.`):h.push(v.identifier);s.push({modelIdentifiers:h})}}catch(g){s.push({modelIdentifiers:[],status:{message:he(g),severity:We.Error}})}let a=this._languageModelsConfigurationService.getLanguageModelsProviderGroups(),l=new Map;for(let g of a){if(g.vendor!==t)continue;if(!n.configuration&&i.length>0){if(g.settings)for(let v of i){let S=g.settings[v.metadata.id];S&&l.set(v.identifier,{...S})}s.push({group:g,modelIdentifiers:[]});continue}let h=await this._resolveConfiguration(g,n.configuration);try{let v=await o.provideLanguageModelChatInfo({group:g.name,silent:e,configuration:h},we.None);if(v.length){for(let S=0;S<v.length;S++)v[S].metadata.detail||(v[S]={...v[S],metadata:{...v[S].metadata,detail:g.name}});i.push(...v),s.push({group:g,modelIdentifiers:v.map(S=>S.identifier)})}if(g.settings)for(let S of v){let T=g.settings[S.metadata.id];T&&l.set(S.identifier,{...T})}}catch(v){s.push({group:g,modelIdentifiers:[],status:{message:he(v),severity:We.Error}})}}let c=this._modelsGroups.has(t),u=this._modelsGroups.get(t)??[];this._modelsGroups.set(t,s);let p=this._clearModelCache(t),m=!c;for(let g of i){if(this._modelCache.has(g.identifier)){this._logService.warn(`[LM] Model ${g.identifier} is already registered. Skipping.`);continue}this._modelCache.set(g.identifier,g.metadata),m=m||!pt(p.get(g.identifier),g.metadata),p.delete(g.identifier)}this._logService.trace(`[LM] Resolved language models for vendor ${t}`,i),m=m||p.size>0,m||(m=this._hasGroupStructureChanged(u,s)),this._clearModelConfigurations(t);for(let[g,h]of l)this._modelCache.has(g)&&this._modelConfigurations.set(g,h);m?this._onLanguageModelChange.fire(t):this._logService.trace(`[LM] No changes in language models for vendor ${t}`)})}_hasGroupStructureChanged(t,e){if(t.length!==e.length)return!0;for(let n=0;n<t.length;n++){let o=t[n],i=e[n];if(o.group?.name!==i.group?.name||o.group?.vendor!==i.group?.vendor||o.status?.message!==i.status?.message||o.status?.severity!==i.status?.severity||o.modelIdentifiers.length!==i.modelIdentifiers.length)return!0}return!1}getLanguageModelGroups(t){return this._modelsGroups.get(t)??[]}hasResolvedVendor(t){return this._modelsGroups.has(t)}async selectLanguageModels(t){if(t.vendor)await this._resolveAllLanguageModels(t.vendor,!0);else{let n=Array.from(this._vendors.keys());await Promise.all(n.map(o=>this._resolveAllLanguageModels(o,!0)))}let e=[];for(let[n,o]of this._modelCache)(t.vendor===void 0||o.vendor===t.vendor)&&(t.family===void 0||o.family===t.family)&&(t.version===void 0||o.version===t.version)&&(t.id===void 0||o.id===t.id)&&e.push(n);return this._logService.trace("[LM] selected language models",t,e),e}registerLanguageModelProvider(t,e){if(this._logService.trace("[LM] registering language model provider",t,e),!this._vendors.has(t))throw new Error(`Chat model provider uses UNKNOWN vendor ${t}.`);if(this._providers.has(t))throw new Error(`Chat model provider for vendor ${t} is already registered.`);this._providers.set(t,e);let n=e.onDidChange(()=>{this._resolveAllLanguageModels(t,!0)});return oe(()=>{this._logService.trace("[LM] UNregistered language model provider",t),this._clearModelCache(t),this._modelsGroups.delete(t),this._providers.delete(t),n.dispose()})}async sendChatRequest(t,e,n,o,i){let s=this._modelCache.get(t),a=this._providers.get(s?.vendor||"");if(!a)throw new Error(`Chat provider for model ${t} is not registered.`);s&&(this._logProviderUsageTelemetry(s),this._maybeShowProviderDeprecationNotice(s));let l=this.getModelConfiguration(t),c=l?{...o,configuration:{...l,...o.configuration}}:o;return a.sendChatRequest(t,n,e,c,i)}_maybeShowProviderDeprecationNotice(t){let e=this._vendors.get(t.vendor),n=e?.deprecation?.link;if(!n||this._deprecationNoticeShownVendors.has(t.vendor))return;this._deprecationNoticeShownVendors.add(t.vendor);let o=(e.displayName||t.vendor).replace(/\s*\(deprecated\)\s*$/i,"");this._notificationService.prompt(We.Info,d(10439,null,o),[{label:d(10438,null),run:()=>{this._openerService.open(DG(n,this._productService.urlProtocol))}}],{neverShowAgain:{id:`chat.providerDeprecation.${t.vendor}`,scope:2}})}_logProviderUsageTelemetry(t){let e=kG(t?.vendor,t?.extension);e&&this._telemetryService.publicLog2("chat.languageModelRequest",{provider:e,isBYOK:!!t?.isBYOK})}_resolveModelConfigurationWithDefaults(t,e){let n=this._modelConfigurations.get(t),o=e?.configurationSchema;if(!o?.properties&&!n)return;let i={};if(o?.properties)for(let[s,a]of Object.entries(o.properties))a.default!==void 0&&(i[s]=a.default);if(!(!n&&Object.keys(i).length===0))return{...i,...n}}computeTokenLength(t,e,n){let o=this._modelCache.get(t);if(!o)throw new Error(`Chat model ${t} could not be found.`);let i=this._providers.get(o.vendor);if(!i)throw new Error(`Chat provider for model ${t} is not registered.`);return i.provideTokenCount(t,e,n)}getModelConfiguration(t){let e=this._modelCache.get(t);return this._resolveModelConfigurationWithDefaults(t,e)}async setModelConfiguration(t,e){let n=this._modelCache.get(t);if(!n)return;let o=this._languageModelsConfigurationService.getLanguageModelsProviderGroups(),i;if(i=o.find(c=>c.vendor===n.vendor&&c.settings?.[n.id]!==void 0),!i){let u=this._modelsGroups.get(n.vendor)?.find(p=>p.modelIdentifiers.includes(t)&&p.group)?.group;u&&(i=o.find(p=>p.vendor===u.vendor&&p.name===u.name)??u)}i||(i=o.find(c=>c.vendor===n.vendor));let a={...this._modelConfigurations.get(t)??{},...e},l=n.configurationSchema;if(l?.properties)for(let[c,u]of Object.entries(a)){let p=l.properties[c];p?.default!==void 0&&p.default===u&&delete a[c]}if(i){let c=i.settings??{},u;Object.keys(a).length===0?(u={...c},delete u[n.id]):u={...c,[n.id]:a};let p={...i,settings:Object.keys(u).length>0?u:void 0};!p.settings&&Object.keys(p).filter(m=>m!=="name"&&m!=="vendor"&&m!=="range"&&m!=="modelsRange"&&m!=="settings").length===0?await this._languageModelsConfigurationService.removeLanguageModelsProviderGroup(i):await this._languageModelsConfigurationService.updateLanguageModelsProviderGroup(i,p)}else if(Object.keys(a).length>0){let c=this._vendors.get(n.vendor);if(!c)return;let u={name:c.displayName,vendor:n.vendor,settings:{[n.id]:a}};await this._languageModelsConfigurationService.addLanguageModelsProviderGroup(u)}Object.keys(a).length>0?this._modelConfigurations.set(t,a):this._modelConfigurations.delete(t),this._onLanguageModelChange.fire(n.vendor)}getModelConfigurationActions(t){let e=this._modelCache.get(t),n=this._modelConfigurations.get(t)??{};return MG(e?.configurationSchema,n,(o,i)=>this.setModelConfiguration(t,{[o]:i}))}async configureLanguageModelsProviderGroup(t,e){let n=this.getVendors().find(({vendor:l})=>l===t);if(!n)throw new Error(`Vendor ${t} not found.`);if(n.managementCommand){await this._resolveAllLanguageModels(n.vendor,!1);return}let o=this._languageModelsConfigurationService.getLanguageModelsProviderGroups(),i=o.find(l=>l.vendor===t&&l.name===e),s=await this.promptForName(o,n,i);if(!s)return;let a=i?await this._resolveConfiguration(i,n.configuration):void 0;try{let l=n.configuration?await this.promptForConfiguration(s,n.configuration,a):void 0;if(n.configuration&&!l)return;let c=await this._resolveLanguageModelProviderGroup(s,t,l,n.configuration),u=i?await this._languageModelsConfigurationService.updateLanguageModelsProviderGroup(i,c):await this._languageModelsConfigurationService.addLanguageModelsProviderGroup(c);if(n.configuration&&this.requireConfiguring(n.configuration)){let p=this.getSnippetForFirstUnconfiguredProperty(l??{},n.configuration);await this._languageModelsConfigurationService.configureLanguageModels({group:u,snippet:p})}}catch(l){if(mn(l))return;throw l}}async renameLanguageModelsProviderGroup(t,e){let n=this.getVendors().find(({vendor:a})=>a===t);if(!n)throw new Error(`Vendor ${t} not found.`);let o=this._languageModelsConfigurationService.getLanguageModelsProviderGroups(),i=o.find(a=>a.vendor===t&&a.name===e);if(!i)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);let s=await this.promptForName(o,n,i);!s||s===i.name||await this._languageModelsConfigurationService.updateLanguageModelsProviderGroup(i,{...i,name:s})}async updateLanguageModelsProviderGroupApiKey(t,e){let n=this.getVendors().find(({vendor:a})=>a===t),o=n?.configuration,i=o?.properties?.apiKey;if(!n||!o||!i)return;let s=this._languageModelsConfigurationService.getLanguageModelsProviderGroups().find(a=>a.vendor===t&&a.name===e);if(!s)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);try{let a=await this._resolveConfiguration(s,o),l=await this.promptForValue(s.name,"apiKey",i,!!o.required?.includes("apiKey"),a);if(l===void 0||l===a.apiKey)return;let c={...a,apiKey:l},u={...await this._resolveLanguageModelProviderGroup(s.name,t,c,o),settings:s.settings};await this._languageModelsConfigurationService.updateLanguageModelsProviderGroup(s,u),await this._deleteSecretsInConfiguration(s,o)}catch(a){if(mn(a))return;throw a}}async addLanguageModelsProviderGroupModel(t,e){let n=this.getVendors().find(({vendor:c})=>c===t),i=n?.configuration?.properties?.models;if(!n||!i)return;let s=this._languageModelsConfigurationService.getLanguageModelsProviderGroups().find(c=>c.vendor===t&&c.name===e);if(!s)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);let a=Array.isArray(s.models),l=a?this.getSnippetForArrayItem(i):this.getSnippetForProperty("models",i);l&&await this._languageModelsConfigurationService.configureLanguageModels({group:s,snippet:l,snippetTarget:a?"models":"group"})}async openLanguageModelsProviderGroupSettings(t,e){let n=this._languageModelsConfigurationService.getLanguageModelsProviderGroups().find(o=>o.vendor===t&&o.name===e);if(!n)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);await this._languageModelsConfigurationService.configureLanguageModels({group:n})}async configureModel(t){let e=this._modelCache.get(t);if(!e||!e.configurationSchema)return;let n=this._modelsGroups.get(e.vendor),o;if(n){for(let s of n)if(s.modelIdentifiers.includes(t)&&s.group){o=s.group;break}}if(!o){let s=this.getVendors().find(c=>c.vendor===e.vendor);if(!s)return;let l={name:s.displayName,vendor:e.vendor,settings:{[e.id]:{}}};o=await this._languageModelsConfigurationService.addLanguageModelsProviderGroup(l),await this._resolveAllLanguageModels(e.vendor,!0)}let i=this._getModelConfigurationSnippet(e.id,e.configurationSchema);await this._languageModelsConfigurationService.configureLanguageModels({group:o,snippet:i})}_getModelConfigurationSnippet(t,e){let n=[];if(e.properties)for(let[i,s]of Object.entries(e.properties))if(s.defaultSnippets?.[0]){let a=s.defaultSnippets[0],l=a.bodyText??JSON.stringify(a.body,null,"			");l=l.replace(/"(\^[^"]*)"/g,(c,u)=>u.substring(1)),n.push(`			"${i}": ${l}`)}else s.default!==void 0?n.push(`			"${i}": ${JSON.stringify(s.default)}`):n.push(`			"${i}": \${${i}}`);let o=n.length>0?`{
${n.join(`,
`)}
		}`:`{
			$0
		}`;return`"settings": {
		"${t}": ${o}
	}`}async addLanguageModelsProviderGroup(t,e,n){let o=this.getVendors().find(({vendor:s})=>s===e);if(!o)throw new Error(`Vendor ${e} not found.`);let i=await this._resolveLanguageModelProviderGroup(t,e,n,o.configuration);await this._languageModelsConfigurationService.addLanguageModelsProviderGroup(i)}async removeLanguageModelsProviderGroup(t,e){let n=this.getVendors().find(({vendor:s})=>s===t);if(!n)throw new Error(`Vendor ${t} not found.`);let i=this._languageModelsConfigurationService.getLanguageModelsProviderGroups().find(s=>s.vendor===t&&s.name===e);if(!i)throw new Error(`Language model provider group ${e} for vendor ${t} not found.`);await this._deleteSecretsInConfiguration(i,n.configuration),await this._languageModelsConfigurationService.removeLanguageModelsProviderGroup(i)}requireConfiguring(t){if(t.additionalProperties)return!0;if(!t.properties)return!1;for(let e of Object.keys(t.properties))if(!this.canPromptForProperty(t.properties[e]))return!0;return!1}getSnippetForFirstUnconfiguredProperty(t,e){if(e.properties){for(let n of Object.keys(e.properties))if(t[n]===void 0){let o=e.properties[n],i=this.getSnippetForProperty(n,o);if(i)return i}}}getSnippetForProperty(t,e){let n=this.getDefaultSnippetBodyText(e);return n?`"${t}": ${n}`:void 0}getSnippetForArrayItem(t){return this.getDefaultSnippetBodyText(t,!0)}getDefaultSnippetBodyText(t,e=!1){let n=t.defaultSnippets?.[0];if(!n)return;let o=e?Array.isArray(n.body)&&n.body.length>0?JSON.stringify(n.body[0],null,"	"):void 0:n.bodyText??JSON.stringify(n.body,null,"	");if(o)return o.replace(/"(\^[^"]*)"/g,(i,s)=>s.substring(1))}async promptForName(t,e,n){let o=n?.name;if(!o){o=e.displayName;let a=1;for(;t.some(l=>l.vendor===e.vendor&&l.name===o);)a++,o=`${e.displayName} ${a}`}let i,s=new re;try{await new Promise(a=>{let l=s.add(this._quickInputService.createInputBox());l.title=d(10440,null),l.placeholder=d(10443,null),l.value=o,l.ignoreFocusOut=!0,s.add(l.onDidChangeValue(c=>{if(!c){l.validationMessage=d(10441,null),l.severity=We.Error;return}if(t.some(u=>u!==n&&u.vendor===e.vendor&&u.name===c)){l.validationMessage=d(10445,null),l.severity=We.Error;return}l.validationMessage=void 0,l.severity=We.Ignore})),s.add(l.onDidAccept(async()=>{i=l.value,l.hide()})),s.add(l.onDidHide(()=>a())),l.show()})}finally{s.dispose()}return i}async promptForConfiguration(t,e,n){if(!e.properties)return;let o=n?{...n}:{};for(let i of Object.keys(e.properties)){let s=e.properties[i],a=!!e.required?.includes(i),l=await this.promptForValue(t,i,s,a,n);l!==void 0&&(o[i]=l)}return o}async promptForValue(t,e,n,o,i){if(!n||!this.canPromptForProperty(n))return;if(n.type==="array"&&n.items&&!Array.isArray(n.items)&&n.items.enum){let a=await this.promptForArray(t,e,n);return a===void 0?void 0:a}if(n.type==="string"&&Array.isArray(n.enum)&&n.enum.length>0)return this.promptForEnum(t,e,n,i);let s=await this.promptForInput(t,e,n,o,i);if(s!==void 0)return s}canPromptForProperty(t){return!t||typeof t=="boolean"?!1:!!(t.type==="array"&&t.items&&!Array.isArray(t.items)&&t.items.enum||t.type==="string"||t.type==="number"||t.type==="integer"||t.type==="boolean")}getDescriptionPlaintext(t){if(t.description)return t.description;let e=t.markdownDescription;if(e)return e.replace(/`([^`]+)`/g,"$1").replace(/\*\*([^*]+)\*\*/g,"$1").replace(/\*([^*]+)\*/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1")}async promptForArray(t,e,n){if(!n.items||Array.isArray(n.items)||!n.items.enum)return;let o=n.items.enum,i=new re;try{return await new Promise(s=>{let a=i.add(this._quickInputService.createQuickPick());a.title=`${t}: ${n.title??e}`,a.items=o.map(l=>({label:l})),a.placeholder=this.getDescriptionPlaintext(n)??d(10446,null,e),a.canSelectMany=!0,a.ignoreFocusOut=!0,i.add(a.onDidAccept(()=>{s(a.selectedItems.map(l=>l.label)),a.hide()})),i.add(a.onDidHide(()=>{s(void 0)})),a.show()})}finally{i.dispose()}}async promptForEnum(t,e,n,o){let i=n.enum;if(!Array.isArray(i)||i.length===0)return;let s=n.enumDescriptions,a=Array.isArray(n.enumItemLabels)?n.enumItemLabels:void 0,l=o?.[e]!==void 0?String(o[e]):n.default!==void 0?String(n.default):void 0,c=i.map((p,m)=>({label:a?.[m]??String(p),description:s?.[m],id:String(p)})),u=new re;try{return await new Promise(p=>{let m=u.add(this._quickInputService.createQuickPick());if(m.title=`${t}: ${n.title??e}`,m.items=c,m.placeholder=this.getDescriptionPlaintext(n)??d(10446,null,e),m.ignoreFocusOut=!0,l!==void 0){let g=c.find(h=>h.id===l);g&&(m.activeItems=[g])}u.add(m.onDidAccept(()=>{let g=m.selectedItems[0];p(g?.id),m.hide()})),u.add(m.onDidHide(()=>{p(void 0)})),m.show()})}finally{u.dispose()}}async promptForInput(t,e,n,o,i){let s=new re;try{let a=c=>{if(!c&&o)return d(10447,null)},l=await new Promise((c,u)=>{let p=s.add(this._quickInputService.createInputBox());p.title=`${t}: ${n.title??e}`,p.placeholder=d(10442,null,e),p.password=!!n.secret,p.ignoreFocusOut=!0,i?.[e]?p.value=String(i?.[e]):n.default&&(p.value=String(n.default));let m=this.getDescriptionPlaintext(n);m&&(p.prompt=m),s.add(p.onDidChangeValue(g=>{let h=a(g);h?(p.validationMessage=h,p.severity=We.Error):(p.validationMessage=void 0,p.severity=We.Ignore)})),s.add(p.onDidAccept(()=>{let g=a(p.value);if(g){p.validationMessage=g,p.severity=We.Error;return}c(p.value),p.hide()})),s.add(p.onDidHide(g=>{g.reason===2?u(new et):c(void 0)})),p.show()});return l?n.type==="number"||n.type==="integer"?Number(l):n.type==="boolean"?l==="true":l:void 0}finally{s.dispose()}}encodeSecretKey(t){return QM(kc.SECRET_INPUT,t)}decodeSecretKey(t){if(Z(t))return t.substring(t.indexOf(":")+1,t.length-1)}_clearModelCache(t){let e=new Map;for(let[n,o]of this._modelCache.entries())o.vendor===t&&(e.set(n,o),this._modelCache.delete(n));return e}_clearModelConfigurations(t){for(let[e]of this._modelConfigurations)(this._modelCache.get(e)?.vendor===t||e.startsWith(`${t}/`))&&this._modelConfigurations.delete(e)}async _resolveConfiguration(t,e){if(!e)return{};let n={};for(let o in t){if(o==="vendor"||o==="name"||o==="range"||o==="modelsRange"||o==="settings")continue;let i=t[o];if(e.properties?.[o]?.secret){let s=this.decodeSecretKey(i);i=s?await this._secretStorageService.get(s):void 0}n[o]=i}return n}async _resolveLanguageModelProviderGroup(t,e,n,o){if(!o)return{name:t,vendor:e};let i={};for(let s in n){let a=n[s];if(o.properties?.[s]?.secret&&Z(a)){let l=`${kc.SECRET_KEY_PREFIX}${Rr(ye()).toString(16)}`;await this._secretStorageService.set(l,s==="apiKey"?a.trim():a),a=this.encodeSecretKey(l)}i[s]=a}return{name:t,vendor:e,...i}}async _deleteSecretsInConfiguration(t,e){if(!e)return;let{vendor:n,name:o,range:i,modelsRange:s,...a}=t;for(let l in a){let c=t[l];if(e.properties?.[l]?.secret){let u=this.decodeSecretKey(c);u&&await this._secretStorageService.delete(u)}}}async migrateLanguageModelsProviderGroup(t){let{vendor:e,name:n,...o}=t;if(!this._vendors.get(e))throw new Error(`Vendor ${e} not found.`);await this._extensionService.activateByEvent(`onLanguageModelChatProvider:${e}`);let i=this._providers.get(e);if(!i)throw new Error(`Chat model provider for vendor ${e} is not registered.`);await i.provideLanguageModelChatInfo({group:n,silent:!1,configuration:o},we.None),await this.addLanguageModelsProviderGroup(n,e,o)}_readRecentlyUsedModels(){return this._storageService.getObject(V4,0,[])}_saveRecentlyUsedModels(){this._storageService.store(V4,this._recentlyUsedModelIds,0,0)}getRecentlyUsedModelIds(){return this._recentlyUsedModelIds.filter(t=>this._modelCache.has(t)&&t!==Xf).slice(0,4)}addToRecentlyUsedList(t){if(t===Xf)return;let e=this._recentlyUsedModelIds.indexOf(t);e!==-1&&this._recentlyUsedModelIds.splice(e,1),this._recentlyUsedModelIds.unshift(t),this._recentlyUsedModelIds.length>20&&(this._recentlyUsedModelIds.length=20),this._saveRecentlyUsedModels()}clearRecentlyUsedList(){this._recentlyUsedModelIds=[],this._saveRecentlyUsedModels()}_readPinnedModels(){return this._storageService.getObject(H4,0,[])}_savePinnedModels(){this._storageService.store(H4,this._pinnedModelIds,0,0)}getPinnedModelIds(){return this._pinnedModelIds.filter(t=>t!==Xf&&this._modelCache.has(t))}pinModel(t){t===Xf||this._pinnedModelIds.includes(t)||(this._pinnedModelIds.push(t),this._savePinnedModels(),this._onDidChangePinnedModels.fire())}unpinModel(t){let e=this._pinnedModelIds.indexOf(t);e!==-1&&(this._pinnedModelIds.splice(e,1),this._savePinnedModels(),this._onDidChangePinnedModels.fire())}isModelPinned(t){return t!==Xf&&this._pinnedModelIds.includes(t)}_getGroupNameForVendor(t){return this._vendors.get(t)?.displayName??t}_getModelIdsInGroup(t,e){let n=this._modelsGroups.get(t);if(!n)return[];let o=[],i=this._getGroupNameForVendor(t);for(let s of n)if((s.group?.name??i)===e)for(let l of s.modelIdentifiers){let c=this._modelCache.get(l);c&&cD.getAgentHostByokManageModelsIdentifier(c)!==void 0||o.push(l)}return o}_readVisibility(){let t=this._storageService.getObject(W4,0,{});this._hiddenModelIds=new Set(Array.isArray(t?.hiddenModels)?t.hiddenModels:[])}_saveVisibility(){this._storageService.store(W4,{hiddenModels:Array.from(this._hiddenModelIds)},0,0)}isGroupHidden(t,e){let n=this._getModelIdsInGroup(t,e);return n.length>0&&n.every(o=>this._hiddenModelIds.has(o))}isModelHidden(t){return this._hiddenModelIds.has(t)}setGroupHidden(t,e,n){this.setModelsHidden(this._getModelIdsInGroup(t,e),n)}setModelHidden(t,e){this.setModelsHidden([t],e)}setModelsHidden(t,e){let n=!1;for(let o of t)e?this._hiddenModelIds.has(o)||(this._hiddenModelIds.add(o),n=!0):this._hiddenModelIds.delete(o)&&(n=!0);n&&(this._saveVisibility(),this._onDidChangeModelVisibility.fire())}getHiddenModelIds(){return Array.from(this._hiddenModelIds)}getModelsControlManifest(){return this._modelsControlManifest}_setModelsControlManifest(t){this._modelsControlRawResponse=t,this._refreshModelsControlManifest()}_refreshModelsControlManifest(){let t=this._modelsControlRawResponse,e={},n={};if(t?.free){let o=Array.isArray(t.free)?t.free:Object.values(t.free);for(let i of o)!i||!Ae(i)||(e[i.id]={label:i.label,featured:i.featured,exists:this._modelCache.has(`copilot/${i.id}`)})}if(t?.paid){let o=Array.isArray(t.paid)?t.paid:Object.values(t.paid);for(let i of o)!i||!Ae(i)||(n[i.id]={label:i.label,featured:i.featured,minVSCodeVersion:i.minVSCodeVersion,exists:this._modelCache.has(`copilot/${i.id}`)})}this._modelsControlManifest={free:e,paid:n},this._onDidChangeModelsControlManifest.fire(this._modelsControlManifest)}_initChatControlData(){if(this._chatControlUrl=this._productService.chatParticipantRegistry,!this._chatControlUrl)return;let t=this._storageService.get(aD,-1);try{this._restrictedChatParticipants.set(JSON.parse(t??"{}"),void 0)}catch{this._storageService.remove(aD,-1)}let e=this._storageService.get(lD,-1);try{let n=JSON.parse(e??"{}");Ae(n)&&this._setModelsControlManifest(n)}catch{this._storageService.remove(lD,-1)}this._refreshChatControlData()}_refreshChatControlData(){this._chatControlDisposed||this._fetchChatControlData().catch(t=>this._logService.warn("Failed to fetch chat control data",t)).then(()=>Qo(300*1e3)).then(()=>this._refreshChatControlData())}async _fetchChatControlData(){this._logService.trace("[LM] Fetching chat control data from",this._chatControlUrl);let t;try{t=await this._requestService.request({type:"GET",url:this._chatControlUrl,callSite:"languageModels.fetchChatControlData"},we.None)}catch(o){this._logService.warn("[LM] Failed to request chat control data",he(o));return}if(t.res.statusCode!==200){this._logService.warn(`[LM] Chat control data request failed with status ${t.res.statusCode}`);return}let e;try{e=await $i(t)}catch(o){this._logService.warn("[LM] Failed to parse chat control response",he(o));return}if(this._logService.trace("[LM] Received chat control response",e?Object.keys(e):"null"),!e||e.version!==1){this._logService.warn("[LM] Unexpected chat control response version",e?.version);return}let n=e.restrictedChatParticipants;this._restrictedChatParticipants.set(n,void 0),this._storageService.store(aD,JSON.stringify(n),-1,1),e.models&&(this._logService.trace("[LM] Updating models control manifest",{freeCount:Object.keys(e.models.free??{}).length,paidCount:Object.keys(e.models.paid??{}).length}),this._setModelsControlManifest(e.models),this._storageService.store(lD,JSON.stringify(e.models),-1,1))}dispose(){this._chatControlDisposed=!0,this._store.dispose(),this._providers.clear()}};kc=C([I(0,D4),I(1,K),I(2,ni),I(3,Vi),I(4,U4),I(5,E4),I(6,P4),I(7,Be),I(8,Yn),I(9,x4),I(10,BS),I(11,Ct)],kc)});function eh(r,t){let e=ES(r),n=`${LG}${e}/${t}`,o=$4.get(e);o||(o=new Set,$4.set(e,o)),o.add(n),Vt(n)}var LG,$4,Zf,uD=y(()=>{Wr();Ff();LG="code/chat/",$4=new Map,Zf={RequestStart:"request/start",RequestUiUpdated:"request/uiUpdated",WillCollectInstructions:"request/willCollectInstructions",DidCollectInstructions:"request/didCollectInstructions",FirstToken:"request/firstToken",RequestComplete:"request/complete",AgentWillInvoke:"agent/willInvoke",AgentDidInvoke:"agent/didInvoke"}});function pD(r){return`${r.extensionId.value}.${r.id}`}function OG(r){return r.name!==void 0}function ex(r){let t=OG(r)?r:{...r,name:r.id};return t.extensionPublisherId||(t.extensionPublisherId=r.extensionPublisher??""),t.extensionDisplayName||(t.extensionDisplayName=""),t.extensionId||(t.extensionId=new nn("")),un(t)}var q4,XS,Ip,z4,ZS,tx=y(()=>{BC();de();Gr();Q();Os();Ot();tn();lo();Bn();X();Qk();Qf();dD();uD();q4=D("chatAgentService"),XS=class extends _{constructor(e,n){super();this.contextKeyService=e;this.configurationService=n;this._agents=new Map;this._onDidChangeAgents=this._register(new w);this.onDidChangeAgents=this._onDidChangeAgents.event;this._onWillInvokeAgent=this._register(new w);this.onWillInvokeAgent=this._onWillInvokeAgent.event;this._agentsContextKeys=new Set;this._hasToolsAgent=!1;this._chatParticipantDetectionProviders=new Map;this._agentCompletionProviders=new Map;this._hasDefaultAgent=Vr.enabled.bindTo(this.contextKeyService),this._extensionAgentRegistered=Vr.extensionParticipantRegistered.bindTo(this.contextKeyService),this._defaultAgentRegistered=Vr.panelParticipantRegistered.bindTo(this.contextKeyService),this._register(e.onDidChangeContext(o=>{o.affectsSome(this._agentsContextKeys)&&this._updateContextKeys()}))}static{this.AGENT_LEADER="@"}registerAgent(e,n){if(this.getAgent(e))throw new Error(`Agent already registered: ${JSON.stringify(e)}`);let i=this,s=n.slashCommands;n={...n,get slashCommands(){return s.filter(l=>!l.when||i.contextKeyService.contextMatchesRules(Ge.deserialize(l.when)))}};let a={data:n};return this._agents.set(e,a),this._updateAgentsContextKeys(),this._updateContextKeys(),this._onDidChangeAgents.fire(void 0),oe(()=>{this._agents.delete(e),this._updateAgentsContextKeys(),this._updateContextKeys(),this._onDidChangeAgents.fire(void 0)})}_updateAgentsContextKeys(){this._agentsContextKeys.clear();for(let e of this._agents.values())if(e.data.when){let n=Ge.deserialize(e.data.when);for(let o of n?.keys()||[])this._agentsContextKeys.add(o)}}_updateContextKeys(){let e=!1,n=!1,o=!1;for(let i of this.getAgents())i.isDefault&&(i.isCore||(e=!0),i.id==="chat.setup"||i.id==="github.copilot.editsAgent"?o=!0:n=!0);this._defaultAgentRegistered.set(n),this._extensionAgentRegistered.set(e),o!==this._hasToolsAgent&&(this._hasToolsAgent=o,this._onDidChangeAgents.fire(this.getDefaultAgent("panel","agent")))}registerAgentImplementation(e,n){let o=this._agents.get(e);if(!o)throw new Error(`Unknown agent: ${JSON.stringify(e)}`);if(o.impl)throw new Error(`Agent already has implementation: ${JSON.stringify(e)}`);return o.data.isDefault&&this._hasDefaultAgent.set(!0),o.impl=n,this._onDidChangeAgents.fire(new Ip(o.data,n)),oe(()=>{o.impl=void 0,this._onDidChangeAgents.fire(void 0),o.data.isDefault&&this._hasDefaultAgent.set(Gt.some(this._agents.values(),i=>i.data.isDefault&&!!i.impl))})}registerDynamicAgent(e,n){e.isDynamic=!0;let o={data:e,impl:n};return this._agents.set(e.id,o),this._onDidChangeAgents.fire(new Ip(e,n)),oe(()=>{this._agents.delete(e.id),this._onDidChangeAgents.fire(void 0)})}registerAgentCompletionProvider(e,n){return this._agentCompletionProviders.set(e,n),{dispose:()=>{this._agentCompletionProviders.delete(e)}}}async getAgentCompletionItems(e,n,o){return await this._agentCompletionProviders.get(e)?.(n,o)??[]}updateAgent(e,n){let o=this._agents.get(e);if(!o?.impl)throw new Error(`No activated agent with id ${JSON.stringify(e)} registered`);o.data.metadata={...o.data.metadata,...n},this._onDidChangeAgents.fire(new Ip(o.data,o.impl))}getDefaultAgent(e,n="ask"){return this._preferExtensionAgent(this.getActivatedAgents().filter(o=>n&&!o.modes.includes(n)?!1:!!o.isDefault&&o.locations.includes(e)))}get hasToolsAgent(){return!!this.configurationService.getValue("chat.agent.enabled")}getContributedDefaultAgent(e){return this._preferExtensionAgent(this.getAgents().filter(n=>!!n.isDefault&&n.locations.includes(e)))}_preferExtensionAgent(e){return xM(e,n=>!n.isCore)??e.at(-1)}getAgent(e,n=!1){if(!(!this._agentIsEnabled(e)&&!n))return this._agents.get(e)?.data}_agentIsEnabled(e){let n=typeof e=="string"?this._agents.get(e):e;return!n?.data.when||this.contextKeyService.contextMatchesRules(Ge.deserialize(n.data.when))}getAgentByFullyQualifiedId(e){let n=Gt.find(this._agents.values(),o=>pD(o.data)===e)?.data;if(!(n&&!this._agentIsEnabled(n.id)))return n}getAgents(){return Array.from(this._agents.values()).map(e=>e.data).filter(e=>this._agentIsEnabled(e.id))}getActivatedAgents(){return Array.from(this._agents.values()).filter(e=>!!e.impl).filter(e=>this._agentIsEnabled(e.data.id)).map(e=>new Ip(e.data,e.impl))}getAgentsByName(e){return this._preferExtensionAgents(this.getAgents().filter(n=>n.name===e))}_preferExtensionAgents(e){let n=e.filter(o=>!o.isCore);return n.length>0?n:e}agentHasDupeName(e){let n=this.getAgent(e);return n?this.getAgentsByName(n.name).filter(o=>o.extensionId.value!==n.extensionId.value).length>0:!1}async invokeAgent(e,n,o,i,s){eh(n.sessionResource,Zf.AgentWillInvoke);let a=this._agents.get(e);if(!a?.impl)throw new Error(`No activated agent with id "${e}"`);this._onWillInvokeAgent.fire({agentId:e,request:n});let l=await a.impl.invoke(n,o,i,s);return eh(n.sessionResource,Zf.AgentDidInvoke),l}setRequestTools(e,n,o){let i=this._agents.get(e);i?.impl&&i.impl.setRequestTools?.(n,o)}setYieldRequested(e,n,o){let i=this._agents.get(e);i?.impl&&i.impl.setYieldRequested?.(n,o)}async getFollowups(e,n,o,i,s){let a=this._agents.get(e);return a?.impl?.provideFollowups?a.impl.provideFollowups(n,o,i,s):[]}async getChatTitle(e,n,o){let i=this._agents.get(e);if(i?.impl?.provideChatTitle)return i.impl.provideChatTitle(n,o)}async getChatSummary(e,n,o){let i=this._agents.get(e);if(i?.impl?.provideChatSummary)return i.impl.provideChatSummary(n,o)}registerChatParticipantDetectionProvider(e,n){return this._chatParticipantDetectionProviders.set(e,n),oe(()=>{this._chatParticipantDetectionProviders.delete(e)})}hasChatParticipantDetectionProviders(){return this._chatParticipantDetectionProviders.size>0}async detectAgentOrCommand(e,n,o,i){let s=Gt.first(this._chatParticipantDetectionProviders.values());if(!s)return;let a=this.getAgents().reduce((p,m)=>{if(m.locations.includes(o.location)){p.push({participant:m.id,disambiguation:m.disambiguation??[]});for(let g of m.slashCommands)p.push({participant:m.id,command:g.name,disambiguation:g.disambiguation??[]})}return p},[]),l=await s.provideParticipantDetection(e,n,{...o,participants:a},i);if(!l)return;let c=this.getAgent(l.participant);if(!c)return;if(!l.command)return{agent:c};let u=c?.slashCommands.find(p=>p.name===l.command);if(u)return{agent:c,command:u}}};XS=C([I(0,Vi),I(1,mt)],XS);Ip=class{constructor(t,e){this.data=t;this.impl=e}get id(){return this.data.id}get name(){return this.data.name??""}get fullName(){return this.data.fullName??""}get description(){return this.data.description??""}get extensionId(){return this.data.extensionId}get extensionVersion(){return this.data.extensionVersion}get extensionPublisherId(){return this.data.extensionPublisherId}get extensionPublisherDisplayName(){return this.data.publisherDisplayName}get extensionDisplayName(){return this.data.extensionDisplayName}get isDefault(){return this.data.isDefault}get isCore(){return this.data.isCore}get metadata(){return this.data.metadata}get slashCommands(){return this.data.slashCommands}get locations(){return this.data.locations}get modes(){return this.data.modes}get disambiguation(){return this.data.disambiguation}async invoke(t,e,n,o){return this.impl.invoke(t,e,n,o)}setRequestTools(t,e){this.impl.setRequestTools?.(t,e)}setYieldRequested(t,e){this.impl.setYieldRequested?.(t,e)}async provideFollowups(t,e,n,o){return this.impl.provideFollowups?this.impl.provideFollowups(t,e,n,o):[]}toJSON(){return this.data}},z4=D("chatAgentNameService"),ZS=class{constructor(t){this.languageModelsService=t}getAgentNameRestriction(t){if(t.isCore)return!0;let e=this.checkAgentNameRestriction(t.name,t).get(),n=!t.fullName||this.checkAgentNameRestriction(t.fullName.replace(/\s/g,""),t).get();return e&&n}checkAgentNameRestriction(t,e){return this.languageModelsService.restrictedChatParticipants.map(o=>o[t.toLowerCase()]).map(o=>o?o.some(i=>vo(i,i.includes(".")?e.extensionId.value:e.extensionPublisherId)):!0)}};ZS=C([I(0,B4)],ZS)});var UG,NG,FG,VG,mD,HG,bp,G4=y(()=>{Pe();UG=250,NG=500,FG=250,VG=1e3,mD=10,HG=2,bp=class{constructor(t){this.logService=t;let e=Date.now();this._data={totalTime:0,lastUpdateTime:e,impliedWordLoadRate:0,lastWordCount:0,firstMarkdownTime:void 0,bootstrapActive:!0,wordCountAtBootstrapExit:void 0,updatesWithNewWords:0},this._publicData={impliedWordLoadRate:0,lastWordCount:0}}get data(){return this._publicData}get internalData(){return this._data}update(t){let{totalWordCount:e}=t;if(e===this._data.lastWordCount){this.trace("Update- no new words");return}let n=Date.now(),o=e-this._data.lastWordCount,i=this._data.lastWordCount===0,s=this._data.firstMarkdownTime,a=this._data.wordCountAtBootstrapExit;typeof s!="number"&&e>0&&(s=n);let l=this._data.updatesWithNewWords+1;i&&(this._data.lastUpdateTime=n);let c=o>mD?VG:FG,u=Math.min(n-this._data.lastUpdateTime,c),p=this._data.totalTime+u,m=i&&e>mD?NG:UG,g=this._data.bootstrapActive;if(g){let k=s;typeof k=="number"&&l>=HG&&e>=mD?(g=!1,p=Math.max(n-k,u),a=this._data.lastWordCount,this.trace("Has stable data")):p=Math.max(p,m)}let h=typeof a=="number"?Math.max(e-a,0):e,v=p,S=g?e:h,T=v>0?S/(v/1e3):0;this._data={totalTime:p,lastUpdateTime:n,impliedWordLoadRate:T,lastWordCount:e,firstMarkdownTime:s,bootstrapActive:g,wordCountAtBootstrapExit:a,updatesWithNewWords:l},this._publicData={impliedWordLoadRate:T,lastWordCount:e};let E=g?e:h;return this.trace(`Update- got ${E} words over last ${p}ms = ${T} words/s`),this._data}trace(t){this.logService.trace(`ChatStreamStatsTracker#update: ${t}`)}};bp=C([I(0,K)],bp)});var gD,WG,BG,$G,qG,K4=y(()=>{Ot();gD=/(?<![a-zA-Z0-9])(?<dollars>\${1,2})(?!\.|\(["'])((?:\\.|[^\\\n])*?(?:\\.|[^\\\n\$]))\k<dollars>(?![a-zA-Z0-9])/,WG="vscode-katex-container",BG="data-latex",$G=new RegExp("^"+gD.source);(i=>{let r=/^(\${1,2})\n((?:\\[^]|[^\\])+?)\n\1(?:\n|$)/;function t(s,a={}){return{extensions:[n(a,e(s,a,!1)),o(a,e(s,a,!0))]}}i.extension=t;function e(s,a,l){return c=>{let u;try{let p=s.renderToString(c.text,{...a,throwOnError:!0,displayMode:c.displayMode});u=`<span class="${WG}" ${BG}="${JM(c.text)}">${p}</span>`}catch{u=c.raw}return u+(l?`
`:"")}}function n(s,a){let l=$G;return{name:"inlineKatex",level:"inline",start(c){let u,p=c;for(;p;){if(u=p.indexOf("$"),u===-1)return;if(p.substring(u).match(l))return u;p=p.substring(u+1).replace(/^\$+/,"")}},tokenizer(c,u){let p=c.match(l);if(p)return{type:"inlineKatex",raw:p[0],text:p[2].trim(),displayMode:p[1].length===2}},renderer:a}}function o(s,a){return{name:"blockKatex",level:"block",start(l){return l.match(new RegExp(r.source,"m"))?.index},tokenizer(l,c){let u=l.match(r);if(u)return{type:"blockKatex",raw:u[0],text:u[2].trim(),displayMode:u[1].length===2}},renderer:a}}})(qG||={})});function KG(r,t){let n=new RegExp("(?:"+GG+")|(?:"+gD.source+Bo`)|\p{sc=Han}|=+|\++|-+|[^\s\|\p{sc=Han}|=|\+|\-|${"`"}]+`,"gu"),o=Array.from(r.matchAll(n)),i=o.slice(0,t),s=t>=o.length?r.length:i.length?i.at(-1).index+i.at(-1)[0].length:0,a=r.substring(0,s);return{value:a,returnedWordCount:i.length===0?a.length?1:0:i.length,isFullString:s>=r.length,totalWordCount:o.length}}function j4(r){return KG(r,Number.MAX_SAFE_INTEGER).returnedWordCount}var Bo,GG,Q4=y(()=>{K4();Bo=String.raw,GG=Bo`(?<!\\)`+Bo`(!?\[`+Bo`(?:`+Bo`[^\[\]\\]|`+Bo`\\.|`+Bo`\[[^\[\]]*\]`+Bo`)*`+Bo`\])`+Bo`(\(\s*)`+Bo`(`+Bo`[^\s\(\)<](?:[^\s\(\)]|\([^\s\(\)]*?\))*|`+Bo`<(?:\\[<>]|[^<>])+>`+Bo`)`+Bo`\s*(?:"[^"]*"|'[^']*'|\([^\(\)]*\))?\s*`+Bo`\)`});function J4(r){return!!r&&typeof r=="object"&&"message"in r}function QG(r){return!!r&&typeof r.setVote<"u"}var nx,Sp,Dc,Y4=y(()=>{Ki();de();Q();Me();X();hp();tx();G4();Q4();nx=class extends _{constructor(e,n,o){super();this._model=e;this._options=n;this.instantiationService=o;this._onDidDisposeModel=this._register(new w);this.onDidDisposeModel=this._onDidDisposeModel.event;this._onDidChange=this._register(new w);this.onDidChange=this._onDidChange.event;this._items=[];this._inputPlaceholder=void 0;this._editing=void 0;e.getRequests().forEach((i,s)=>{let a=this.instantiationService.createInstance(Sp,i);this._items.push(a),i.response&&this.onAddResponse(i.response)}),this._register(e.onDidDispose(()=>this._onDidDisposeModel.fire())),this._register(e.onDidChangePendingRequests(()=>this._onDidChange.fire(null))),this._register(e.onDidChange(i=>{if(i.kind==="addRequest"){let a=this.instantiationService.createInstance(Sp,i.request);this._items.push(a),i.request.response&&this.onAddResponse(i.request.response)}else if(i.kind==="addResponse")this.onAddResponse(i.response);else if(i.kind==="removeRequest"){let a=this._items.findIndex(c=>J4(c)&&c.id===i.requestId);a>=0&&this._items.splice(a,1);let l=i.responseId&&this._items.findIndex(c=>QG(c)&&c.id===i.responseId);if(typeof l=="number"&&l>=0){let u=this._items.splice(l,1)[0];u instanceof Dc&&u.dispose()}}let s=i.kind==="addRequest"?{kind:"addRequest"}:i.kind==="initialize"?{kind:"initialize"}:i.kind==="setHidden"?{kind:"setHidden"}:null;this._onDidChange.fire(s)}))}get inputPlaceholder(){return this._inputPlaceholder}get model(){return this._model}setInputPlaceholder(e){this._inputPlaceholder=e,this._onDidChange.fire({kind:"changePlaceholder"})}resetInputPlaceholder(){this._inputPlaceholder=void 0,this._onDidChange.fire({kind:"changePlaceholder"})}get sessionResource(){return this._model.sessionResource}onAddResponse(e){let n=this.instantiationService.createInstance(Dc,e,this);this._register(n.onDidChange(()=>this._onDidChange.fire(null))),this._items.push(n)}getItems(){let e=this._items.filter(o=>!(o.isHiddenFromTranscript||o.shouldBeRemovedOnSend&&!o.shouldBeRemovedOnSend.afterUndoStop));this._options?.maxVisibleItems!==void 0&&e.length>this._options.maxVisibleItems&&(e=e.slice(-this._options.maxVisibleItems));let n=this._model.getPendingRequests().filter(o=>!o.request.isHiddenFromTranscript);if(n.length>0){let o=n.filter(s=>s.kind==="steering"),i=n.filter(s=>s.kind==="queued");if(o.length>0){let s=o.every(a=>a.request.isSystemInitiated);e.push({kind:"pendingDivider",id:"pending-divider-steering",sessionResource:this._model.sessionResource,isComplete:!0,dividerKind:"steering",isSystemInitiated:s,currentRenderedHeight:void 0});for(let a of o){let l=this.instantiationService.createInstance(Sp,a.request,a.kind);e.push(l)}}if(i.length>0){e.push({kind:"pendingDivider",id:"pending-divider-queued",sessionResource:this._model.sessionResource,isComplete:!0,dividerKind:"queued",currentRenderedHeight:void 0});for(let s of i){let a=this.instantiationService.createInstance(Sp,s.request,s.kind);e.push(a)}}}return e}get editing(){return this._editing}setEditing(e){this.editing&&e&&this.editing.id===e.id||(this._editing=e)}dispose(){super.dispose(),Kt(this._items.filter(e=>e instanceof Dc)),this._items.length=0}};nx=C([I(2,Tn)],nx);Sp=class{constructor(t,e){this._model=t;this._pendingKind=e}get id(){return this._model.id}get dataId(){return`${this.id}_${this._model.version+(this._model.response?.isComplete?1:0)}`}get sessionResource(){return this._model.session.sessionResource}get username(){return"User"}get avatarIcon(){return J.account}get message(){return this._model.message}get messageText(){return this.message.text}get attempt(){return this._model.attempt}get variables(){return this._model.variableData.variables}get contentReferences(){return this._model.response?.contentReferences}get confirmation(){return this._model.confirmation}get isComplete(){return this._model.response?.isComplete??!1}get isCompleteAddedRequest(){return this._model.isCompleteAddedRequest}get isTerminalCommand(){return this._model.isTerminalCommand}get shouldBeRemovedOnSend(){return this._model.shouldBeRemovedOnSend}get isHiddenFromTranscript(){return this._model.isHiddenFromTranscript}get shouldBeBlocked(){return this._model.shouldBeBlocked}get slashCommand(){return this._model.response?.slashCommand}get agentOrSlashCommandDetected(){return this._model.response?.agentOrSlashCommandDetected??!1}get attachedContext(){return this._model.attachedContext}get modelId(){return this._model.modelId}get resolvedModelId(){let t=this._model.response?.result?.metadata?.resolvedModel;return typeof t=="string"?t:void 0}get timestamp(){return this._model.timestamp}get requestTimestamp(){return this._model.requestTimestamp}get origin(){return this._model.origin}get pendingKind(){return this._pendingKind}get isSystemInitiated(){return this._model.isSystemInitiated}get systemInitiatedLabel(){return this._model.systemInitiatedLabel}},Dc=class extends _{constructor(e,n,o,i){super();this._model=e;this.session=n;this.instantiationService=o;this.chatAgentNameService=i;this._modelChangeCount=0;this._onDidChange=this._register(new w);this.onDidChange=this._onDidChange.event;this.renderData=void 0;this._vulnerabilitiesListExpanded=!1;e.isComplete||(this.liveUpdateTracker=this.instantiationService.createInstance(bp));let s=this.liveUpdateTracker?this._register(new Ko(()=>{let a=j4(e.entireResponse.getMarkdown());this.liveUpdateTracker.update({totalWordCount:a})},0)):void 0;this._register(e.onDidChange(()=>{s?.schedule(),this._modelChangeCount++,this._onDidChange.fire()}))}get model(){return this._model}get id(){return this._model.id}get dataId(){return this._model.id+`_${this._modelChangeCount}`+(this.isLast?"_last":"")}get sessionResource(){return this._model.session.sessionResource}get username(){return this.agent?this.chatAgentNameService.getAgentNameRestriction(this.agent)?this.agent.fullName||this.agent.name:pD(this.agent):this._model.username}get agent(){return this._model.agent}get slashCommand(){return this._model.slashCommand}get agentOrSlashCommandDetected(){return this._model.agentOrSlashCommandDetected}get response(){return this._model.response}get usedContext(){return this._model.usedContext}get contentReferences(){return this._model.contentReferences}get codeCitations(){return this._model.codeCitations}get progressMessages(){return this._model.progressMessages}get isComplete(){return this._model.isComplete}get isCanceled(){return this._model.isCanceled}get shouldBeBlocked(){return this._model.shouldBeBlocked}get shouldBeRemovedOnSend(){return this._model.shouldBeRemovedOnSend}get isHiddenFromTranscript(){return this._model.isHiddenFromTranscript}get isCompleteAddedRequest(){return this._model.isCompleteAddedRequest}get isTerminalCommand(){return this._model.request?.isTerminalCommand??!1}get replyFollowups(){return this._model.followups?.filter(e=>e.kind==="reply")}get result(){return this._model.result}get errorDetails(){return this.result?.errorDetails}get vote(){return this._model.vote}get requestId(){return this._model.requestId}get isStale(){return this._model.isStale}get isLast(){return this.session.getItems().at(-1)===this}get usedReferencesExpanded(){if(typeof this._usedReferencesExpanded=="boolean")return this._usedReferencesExpanded}set usedReferencesExpanded(e){this._usedReferencesExpanded=e}get vulnerabilitiesListExpanded(){return this._vulnerabilitiesListExpanded}set vulnerabilitiesListExpanded(e){this._vulnerabilitiesListExpanded=e}get contentUpdateTimings(){return this.liveUpdateTracker?.data}get confirmationAdjustedTimestamp(){return this._model.confirmationAdjustedTimestamp}get usageObs(){return this._model.usageObs}get completionTokenCountObs(){return this._model.completionTokenCountObs}setVote(e){this._modelChangeCount++,this._model.setVote(e)}setEditApplied(e,n){this._modelChangeCount++,this._model.setEditApplied(e,n)}};Dc=C([I(2,Tn),I(3,z4)],Dc)});var Xo,fD=y(()=>{Se();Xo=class r{constructor(t,e){this.start=t;this.endExclusive=e;if(t>e)throw new wt(`Invalid range: ${this.toString()}`)}static fromTo(t,e){return new r(t,e)}static equals(t,e){return t.start===e.start&&t.endExclusive===e.endExclusive}static addRange(t,e){let n=0;for(;n<e.length&&e[n].endExclusive<t.start;)n++;let o=n;for(;o<e.length&&e[o].start<=t.endExclusive;)o++;if(n===o)e.splice(n,0,t);else{let i=Math.min(t.start,e[n].start),s=Math.max(t.endExclusive,e[o-1].endExclusive);e.splice(n,o-n,new r(i,s))}}static tryCreate(t,e){if(!(t>e))return new r(t,e)}static ofLength(t){return new r(0,t)}static ofStartAndLength(t,e){return new r(t,t+e)}static emptyAt(t){return new r(t,t)}get isEmpty(){return this.start===this.endExclusive}delta(t){return new r(this.start+t,this.endExclusive+t)}deltaStart(t){return new r(this.start+t,this.endExclusive)}deltaEnd(t){return new r(this.start,this.endExclusive+t)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(t){return this.start===t.start&&this.endExclusive===t.endExclusive}containsRange(t){return this.start<=t.start&&t.endExclusive<=this.endExclusive}contains(t){return this.start<=t&&t<this.endExclusive}join(t){return new r(Math.min(this.start,t.start),Math.max(this.endExclusive,t.endExclusive))}intersect(t){let e=Math.max(this.start,t.start),n=Math.min(this.endExclusive,t.endExclusive);if(e<=n)return new r(e,n)}intersectionLength(t){let e=Math.max(this.start,t.start),n=Math.min(this.endExclusive,t.endExclusive);return Math.max(0,n-e)}intersects(t){let e=Math.max(this.start,t.start),n=Math.min(this.endExclusive,t.endExclusive);return e<n}intersectsOrTouches(t){let e=Math.max(this.start,t.start),n=Math.min(this.endExclusive,t.endExclusive);return e<=n}isBefore(t){return this.endExclusive<=t.start}isAfter(t){return this.start>=t.endExclusive}slice(t){return t.slice(this.start,this.endExclusive)}substring(t){return t.substring(this.start,this.endExclusive)}clip(t){if(this.isEmpty)throw new wt(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,t))}clipCyclic(t){if(this.isEmpty)throw new wt(`Invalid clipping range: ${this.toString()}`);return t<this.start?this.endExclusive-(this.start-t)%this.length:t>=this.endExclusive?this.start+(t-this.start)%this.length:t}map(t){let e=[];for(let n=this.start;n<this.endExclusive;n++)e.push(t(n));return e}forEach(t){for(let e=this.start;e<this.endExclusive;e++)t(e)}joinRightTouching(t){if(this.endExclusive!==t.start)throw new wt(`Invalid join: ${this.toString()} and ${t.toString()}`);return new r(this.start,t.endExclusive)}withMargin(t,e){return e===void 0&&(e=t),new r(this.start-t,this.endExclusive+e)}}});var X4,r9e,i9e,s9e,a9e,l9e,c9e,d9e,u9e,hD=y(()=>{ze();Se();ia();Ee();ie();le();lo();X();X4=D("chatEditingService"),r9e=new x("chatEditingWidgetFileState",void 0,d(10429,null)),i9e=new x("chatEditingAgentSupportsReadonlyReferences",void 0,d(10428,null)),s9e=new x("decidedChatEditingResource",[]),a9e=new x("chatEditingResource",void 0),l9e=new x("inChatEditingSession",void 0),c9e=new x("hasUndecidedChatEditingResource",!1),d9e=new x("hasAppliedChatEdits",!1),u9e=new x("applyingChatEditsFailed",!1)});function vD(r){return $2(r)&&(r={kind:"terminal",commandLine:{original:r.command,toolEdited:void 0,userEdited:void 0},language:r.language}),r}var Z4=y(()=>{_n();hD();hp()});function eV(r){return{kind:r.kind,sourceSessionResource:r.sourceSessionResource.toJSON()}}function tV(r){if(r?.kind!=="delegation")return;let t=b.revive(r.sourceSessionResource);return t?{kind:r.kind,sourceSessionResource:t}:void 0}var C9e,nV=y(()=>{Q();ie();X();C9e=D("chatRequestOriginService")});var oV=y(()=>{});function yD(r){return typeof r=="object"&&typeof r?.output=="object"&&typeof r?.output?.mimeType=="string"&&r?.output?.type==="data"}var th,W9e,JG,YG,nh=y(()=>{Gr();Q();Ne();ia();ie();le();it();X();oV();(i=>{i.Internal={type:"internal",label:"Built-In"},i.External={type:"external",label:"External"};function e(s){switch(s.type){case"extension":return`extension:${s.extensionId.value}`;case"mcp":return`mcp:${s.collectionId}:${s.definitionId}`;case"user":return`user:${s.file.toString()}`;case"internal":return"internal";case"external":return"external"}}i.toKey=e;function n(s,a){return e(s)===e(a)}i.equals=n;function o(s){return s.type==="internal"?{ordinal:1,label:d(10932,null)}:s.type==="mcp"?{ordinal:2,label:s.serverLabel||s.label}:s.type==="user"?{ordinal:0,label:d(10934,null)}:{ordinal:3,label:s.label}}i.classify=o})(th||={});W9e=D("ILanguageModelToolsService");(a=>(a.execute="execute",a.edit="edit",a.search="search",a.agent="agent",a.read="read",a.web="web",a.todo="todo"))(JG||={});(e=>(e.runSubagent="runSubagent",e.vscode="vscode"))(YG||={})});var oh,rV=y(()=>{ze();ia();Va();le();hp();nh();oh=class r{constructor(t,e,n,o,i,s={},a){this.toolCallId=n;this.kind="toolInvocation";this.isAttachedToThinking=!1;this._toolSpecificDataKind=Wn(this,void 0);this.toolSpecificDataKind=this._toolSpecificDataKind;this._progress=Wn(this,{progress:0});this._partialInput=Wn(this,void 0);this._streamingMessage=Wn(this,void 0);let l="";s.startInStreaming?l=e.displayName:s.startInCancelled&&(l=s.cancelReasonMessage??d(10473,null,e.displayName)),this.invocationMessage=t?.invocationMessage??l,this.pastTenseMessage=t?.pastTenseMessage,this.originMessage=t?.originMessage,this.confirmationMessages=t?.confirmationMessages,this.presentation=t?.presentation,this.toolSpecificData=t?.toolSpecificData,this.toolId=e.id,this.icon=t?.icon??(e.icon&&on.isThemeIcon(e.icon)?e.icon:void 0),this.source=e.source,this.subAgentInvocationId=o,this.parameters=i,this.chatRequestId=a,s.startInCancelled?this._state=Wn(this,{type:De.StateKind.Cancelled,reason:s.cancelReason??0,reasonMessage:s.cancelReasonMessage,parameters:this.parameters,confirmationMessages:this.confirmationMessages}):s.startInStreaming?this._state=Wn(this,{type:De.StateKind.Streaming,partialInput:this._partialInput,streamingMessage:this._streamingMessage}):this.confirmationMessages?.title?this._state=Wn(this,{type:De.StateKind.WaitingForConfirmation,parameters:this.parameters,confirmationMessages:this.confirmationMessages,confirm:c=>this._confirm(c)}):this._state=Wn(this,{type:De.StateKind.Executing,confirmed:{type:1,reason:this.confirmationMessages?.confirmationNotNeededReason},progress:this._progress,parameters:this.parameters,confirmationMessages:this.confirmationMessages})}get toolSpecificData(){return this._toolSpecificData}set toolSpecificData(t){this._toolSpecificData=t,this._toolSpecificDataKind.set(t?.kind,void 0)}get state(){return this._state}static createStreaming(t){return new r(void 0,t.toolData,t.toolCallId,t.subagentInvocationId,void 0,{startInStreaming:!0},t.chatRequestId)}static createCancelled(t,e,n,o){return new r(void 0,t.toolData,t.toolCallId,t.subagentInvocationId,e,{startInCancelled:!0,cancelReason:n,cancelReasonMessage:o},t.chatRequestId)}_confirm(t){t.type===0||t.type===5?this._state.set({type:De.StateKind.Cancelled,reason:t.type,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0):this._state.set({type:De.StateKind.Executing,confirmed:t,progress:this._progress,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0)}updatePartialInput(t){this._state.get().type===De.StateKind.Streaming&&this._partialInput.set(t,void 0)}updateStreamingMessage(t){this._state.get().type===De.StateKind.Streaming&&this._streamingMessage.set(t,void 0)}notifyToolSpecificDataChanged(){let t=this._state.get();this._state.set({...t},void 0)}updateConfirmationMessages(t){let e=this._state.get();e.type===De.StateKind.WaitingForConfirmation&&(this.confirmationMessages=t,this._state.set({...e,confirmationMessages:t},void 0))}cancelFromStreaming(t,e){return this._state.get().type!==De.StateKind.Streaming?!1:(this._state.set({type:De.StateKind.Cancelled,reason:t,reasonMessage:e,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0),!0)}transitionFromStreaming(t,e,n){if(this._state.get().type!==De.StateKind.Streaming)return;let i=this._streamingMessage.get();i&&!t?.invocationMessage&&(this.invocationMessage=i),this._updatePreparedInvocation(t,e),n?this._confirm(n):this.confirmationMessages?.title?this._state.set({type:De.StateKind.WaitingForConfirmation,parameters:this.parameters,confirmationMessages:this.confirmationMessages,confirm:s=>this._confirm(s)},void 0):this._state.set({type:De.StateKind.Executing,confirmed:{type:1,reason:this.confirmationMessages?.confirmationNotNeededReason},progress:this._progress,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0)}updatePreparedInvocation(t,e){let n=this._state.get();return n.type===De.StateKind.Streaming||n.type===De.StateKind.Completed||n.type===De.StateKind.Cancelled?!1:(this._updatePreparedInvocation(t,e),this._state.set({...n,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0),!0)}_updatePreparedInvocation(t,e){this.parameters=e,t&&(t.invocationMessage&&(this.invocationMessage=t.invocationMessage),this.pastTenseMessage=t.pastTenseMessage,this.confirmationMessages=t.confirmationMessages,this.presentation=t.presentation,this.toolSpecificData=t.toolSpecificData)}requestConfirmation(t){let e=this._state.get().type;if(e===De.StateKind.Streaming){this.transitionFromStreaming(t,this.parameters,void 0);return}e===De.StateKind.Completed||e===De.StateKind.Cancelled||e===De.StateKind.WaitingForConfirmation||(t.invocationMessage&&(this.invocationMessage=t.invocationMessage),this.pastTenseMessage=t.pastTenseMessage,this.confirmationMessages=t.confirmationMessages,this.presentation=t.presentation,this.toolSpecificData=t.toolSpecificData,this.confirmationMessages?.title&&this._state.set({type:De.StateKind.WaitingForConfirmation,parameters:this.parameters,confirmationMessages:this.confirmationMessages,confirm:n=>this._confirm(n)},void 0))}_setCompleted(t,e){if(e&&(e.type===0||e.type===5)){this._state.set({type:De.StateKind.Cancelled,reason:e.type,parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0);return}this._state.set({type:De.StateKind.Completed,confirmed:De.executionConfirmedOrDenied(this)||{type:1},resultDetails:t?.toolResultDetails,postConfirmed:e,contentForModel:t?.content||[],parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0)}async didExecuteTool(t,e,n){let o=this._state.get();if(o.type===De.StateKind.Completed||o.type===De.StateKind.Cancelled)return o;if(t?.toolSpecificData&&(this.toolSpecificData=t.toolSpecificData),t?.toolResultMessage?this.pastTenseMessage=t.toolResultMessage:this._progress.get().message&&(this.pastTenseMessage=this._progress.get().message),this.confirmationMessages?.confirmResults&&!t?.toolResultError&&t?.confirmResults!==!1&&!e){let i=await n?.();i?this._setCompleted(t,i):this._state.set({type:De.StateKind.WaitingForPostApproval,confirmed:De.executionConfirmedOrDenied(this)||{type:1},resultDetails:t?.toolResultDetails,contentForModel:t?.content||[],confirm:s=>this._setCompleted(t,s),parameters:this.parameters,confirmationMessages:this.confirmationMessages},void 0)}else this._setCompleted(t);return this._state.get()}setAuthenticationRequired(t,e=()=>{}){let n=this._state.get();n.type!==De.StateKind.Executing&&n.type!==De.StateKind.WaitingForAuthentication||this._state.set({type:De.StateKind.WaitingForAuthentication,server:t,cancel:n.type===De.StateKind.WaitingForAuthentication?n.cancel:e,confirmed:n.confirmed,parameters:n.parameters,confirmationMessages:n.confirmationMessages},void 0)}setAuthenticationResolved(){let t=this._state.get();t.type===De.StateKind.WaitingForAuthentication&&this._state.set({type:De.StateKind.Executing,confirmed:t.confirmed,progress:this._progress,parameters:t.parameters,confirmationMessages:t.confirmationMessages},void 0)}acceptProgress(t){let e=this._progress.get();this._progress.set({progress:t.progress||e.progress||0,message:t.message},void 0)}toJSON(){let t=this.state.get().type===De.StateKind.WaitingForPostApproval,e=t?void 0:De.resultDetails(this);return{kind:"toolInvocationSerialized",presentation:this.presentation,invocationMessage:this.invocationMessage,pastTenseMessage:this.pastTenseMessage,originMessage:this.originMessage,isConfirmed:t?{type:5}:De.executionConfirmedOrDenied(this),isComplete:!0,source:this.source,resultDetails:yD(e)?{output:{type:"data",mimeType:e.output.mimeType,base64Data:bo(e.output.value)}}:e,toolSpecificData:this.toolSpecificData?.kind==="automationConfiguration"?void 0:this.toolSpecificData,toolCallId:this.toolCallId,toolId:this.toolId,subAgentInvocationId:this.subAgentInvocationId,generatedTitle:this.generatedTitle}}}});var ox,iV=y(()=>{Me();de();ox=class{constructor(t,e,n,o,i,s,a,l,c,u){this.title=t;this.content=e;this.actions=n;this.canProvideFeedback=o;this.planUri=i;this.resolveId=s;this.data=a;this.isUsed=l;this.source=c;this.isOutdated=u;this.kind="planReview";this.completion=new ao;this._onDidDismiss=new w;this.onDidDismiss=this._onDidDismiss.event}dismiss(){this.isUsed||(this.isUsed=!0,this.draftFeedback=void 0,this.draftCollapsed=void 0,this.completion.complete(void 0),this._onDidDismiss.fire())}toJSON(){return{kind:this.kind,title:this.title,content:this.content,actions:this.actions,canProvideFeedback:this.canProvideFeedback,planUri:this.planUri,resolveId:this.resolveId,data:this.data,isUsed:this.isUsed,isOutdated:this.isOutdated,source:this.source}}}});var rx,sV=y(()=>{Me();rx=class{constructor(t,e,n,o,i,s,a,l,c){this.questions=t;this.allowSkip=e;this.resolveId=n;this.data=o;this.isUsed=i;this.message=s;this.source=a;this.terminalId=l;this.answerPresentation=c;this.kind="questionCarousel";this.completion=new ao}dismiss(t){this.isUsed||(this.data=t??{},this.isUsed=!0,this.draftAnswers=void 0,this.draftCurrentIndex=void 0,this.draftCollapsed=void 0,this.completion.complete({answers:t}))}toJSON(){return{kind:this.kind,questions:this.questions,allowSkip:this.allowSkip,resolveId:this.resolveId,data:this.data,isUsed:this.isUsed,answeredExternally:this.answeredExternally,autoReply:this.autoReply,message:this.message,source:this.source,terminalId:this.terminalId,answerPresentation:this.answerPresentation}}}});function aV(r){return{text:r.text,parts:r.parts.map(t=>{if(t.kind===xp.Kind)return new xp(new Xo(t.range.start,t.range.endExclusive),t.editorRange,t.text);if(t.kind===ix.Kind)return new ix(new Xo(t.range.start,t.range.endExclusive),t.editorRange,t.variableName,t.variableArg,t.variableId||"");if(t.kind===sx.Kind)return new sx(new Xo(t.range.start,t.range.endExclusive),t.editorRange,t.toolName,t.toolId,t.displayName,t.icon);if(t.kind===ax.Kind)return new ax(new Xo(t.range.start,t.range.endExclusive),t.editorRange,t.id,t.name,t.icon,t.tools??[]);if(t.kind===lx.Kind){let e=t.agent;return e=ex(e),new lx(new Xo(t.range.start,t.range.endExclusive),t.editorRange,e)}else{if(t.kind===cx.Kind)return new cx(new Xo(t.range.start,t.range.endExclusive),t.editorRange,t.command);if(t.kind===dx.Kind)return new dx(new Xo(t.range.start,t.range.endExclusive),t.editorRange,t.slashCommand);if(t.kind===ux.Kind)return new ux(new Xo(t.range.start,t.range.endExclusive),t.editorRange,t.name,t.displayText);if(t.kind===px.Kind)return new px(new Xo(t.range.start,t.range.endExclusive),t.editorRange,t.text,t.id,t.modelDescription,un(t.data),t.fullName,t.icon,t.isFile,t.isDirectory,t._meta,t.isAttachmentReference);throw new Error(`Unknown chat request part: ${t.kind}`)}})}}var ZG,xp,mx,eK,rh,ix,sx,ax,lx,cx,dx,ux,px,lV=y(()=>{Os();Va();fD();Zs();tx();Vf();TS();(t=>{function r(e,n){return e.text===n.text&&mk(e.parts,n.parts,(o,i)=>o.kind===i.kind&&Xo.equals(o.range,i.range)&&bn.equalsRange(o.editorRange,i.editorRange)&&o.text===i.text)}t.equals=r})(ZG||={});xp=class r{constructor(t,e,n){this.range=t;this.editorRange=e;this.text=n;this.kind=r.Kind}static{this.Kind="text"}get promptText(){return this.text}},mx="#",eK="@",rh="/",ix=class r{constructor(t,e,n,o,i){this.range=t;this.editorRange=e;this.variableName=n;this.variableArg=o;this.variableId=i;this.kind=r.Kind}static{this.Kind="var"}get text(){let t=this.variableArg?`:${this.variableArg}`:"";return`${mx}${this.variableName}${t}`}get promptText(){return this.text}},sx=class r{constructor(t,e,n,o,i,s){this.range=t;this.editorRange=e;this.toolName=n;this.toolId=o;this.displayName=i;this.icon=s;this.kind=r.Kind}static{this.Kind="tool"}get text(){return`${mx}${this.toolName}`}get promptText(){return this.text}toVariableEntry(){return{kind:"tool",id:this.toolId,name:this.toolName,range:this.range,value:void 0,icon:on.isThemeIcon(this.icon)?this.icon:void 0,fullName:this.displayName}}},ax=class r{constructor(t,e,n,o,i,s){this.range=t;this.editorRange=e;this.id=n;this.name=o;this.icon=i;this.tools=s;this.kind=r.Kind}static{this.Kind="toolset"}get text(){return`${mx}${this.name}`}get promptText(){return this.text}toVariableEntry(){return{kind:"toolset",id:this.id,name:this.name,range:this.range,icon:this.icon,value:this.tools}}},lx=class r{constructor(t,e,n){this.range=t;this.editorRange=e;this.agent=n;this.kind=r.Kind}static{this.Kind="agent"}get text(){return`${eK}${this.agent.name}`}get promptText(){return""}},cx=class r{constructor(t,e,n){this.range=t;this.editorRange=e;this.command=n;this.kind=r.Kind}static{this.Kind="subcommand"}get text(){return`${rh}${this.command.name}`}get promptText(){return""}},dx=class r{constructor(t,e,n){this.range=t;this.editorRange=e;this.slashCommand=n;this.kind=r.Kind}static{this.Kind="slash"}get text(){return`${rh}${this.slashCommand.command}`}get promptText(){return`${rh}${this.slashCommand.command}`}},ux=class r{constructor(t,e,n,o){this.range=t;this.editorRange=e;this.name=n;this.kind=r.Kind;o!==void 0&&(this.displayText=o)}static{this.Kind="prompt"}get text(){return this.displayText??`${rh}${this.name}`}get promptText(){return this.displayText??`${rh}${this.name}`}},px=class r{constructor(t,e,n,o,i,s,a,l,c,u,p,m){this.range=t;this.editorRange=e;this.text=n;this.id=o;this.modelDescription=i;this.data=s;this.fullName=a;this.icon=l;this.isFile=c;this.isDirectory=u;this._meta=p;this.isAttachmentReference=m;this.kind=r.Kind}static{this.Kind="dynamic"}get referenceText(){return this.text.replace(mx,"")}get promptText(){return this.text}toVariableEntry(){if(this.id==="vscode.problems")return ck.toEntry(this.data.filter);if(YF(this.data)){let t=XF(this.data,this.id,this.fullName??this.referenceText,this.range,this._meta);if(t)return t}return{kind:this.isDirectory?"directory":this.isFile?"file":"generic",id:this.id,name:this.referenceText,range:this.range,value:this.data,fullName:this.fullName,icon:this.icon,_meta:this._meta}}}});function tK(r){return r?.reduce((t,e)=>t+e.outputTokens,0)}function nK(r){return{attachments:(r.attachments??[]).map(up.fromExport),mode:r.mode,selectedModel:r.selectedModel&&{identifier:r.selectedModel.identifier,metadata:r.selectedModel.metadata},modelConfiguration:r.selectedModel?r.selectedModel.modelConfiguration??r.modelConfiguration:void 0,contrib:r.contrib,inputText:r.inputText,selections:r.selections,permissionLevel:r.permissionLevel}}function pV(r){return!!r&&Array.isArray(r.requests)&&typeof r.responderUsername=="string"}function oK(r){let t=r;return pV(r)&&typeof t.creationDate=="number"&&typeof t.sessionId=="string"&&r.requests.every(e=>!e.usedContext||B2(e.usedContext))}function cV(r,t){if(r.baseUri&&t.baseUri){if(!(r.baseUri.scheme===t.baseUri.scheme&&r.baseUri.authority===t.baseUri.authority&&r.baseUri.path===t.baseUri.path&&r.baseUri.query===t.baseUri.query&&r.baseUri.fragment===t.baseUri.fragment))return!1}else if(r.baseUri||t.baseUri)return!1;return pt(r.isTrusted,t.isTrusted)&&r.supportHtml===t.supportHtml&&r.supportThemeIcons===t.supportThemeIcons}function rK(r){return"subAgentInvocationId"in r&&!!r.subAgentInvocationId}function dV(r,t){let e=typeof t=="string"?t:t.value;return{value:r.value+e,isTrusted:r.isTrusted,supportThemeIcons:r.supportThemeIcons,supportHtml:r.supportHtml,baseUri:r.baseUri}}function iK(r){if(r.length===0)return"";let t=r.reduce((n,o)=>n.add(o.license),new Set);return t.size===1?d(10464,null,t.size):d(10465,null,t.size)}function sK(r,t,e,n){if(!OE(e.getLevel(),2)||r?.selectedModel?.identifier===t?.selectedModel?.identifier)return;let o=new Error().stack,i=`[ChatModelChanged] ChatModel Input State model changed: ${r?.selectedModel?.identifier} (was: ${t?.selectedModel?.identifier}) in session ${n} ${o}`;e.debug(i)}var uV,Di,gx,fx,ID,bD,Cp,SD,Ep,mV,gV=y(()=>{Lt();qr();ze();Se();de();Ns();Q();_n();Os();Ne();en();ia();Rt();Ee();ie();Jt();fD();le();Pe();Xg();Vf();Z4();nV();uD();hp();Qf();rV();iV();sV();nh();hD();tx();lV();Ff();(t=>{function r(e){return{variables:e.variables.map(up.toExport)}}t.toExport=r})(uV||={});Di={reason:"other"},gx=class{constructor(t){this._shouldBeBlocked=Wn(this,!1);this._version=0;this._session=t.session,this.message=t.message,this._variableData=t.variableData,this.requestTimestamp=t.timestamp,this.timestamp=t.timestamp??t.fallbackTimestamp??Date.now(),this._attempt=t.attempt??0,this.modeInfo=t.modeInfo,this._confirmation=t.confirmation,this._locationData=t.locationData,this._attachedContext=t.attachedContext,this.isCompleteAddedRequest=t.isCompleteAddedRequest??!1,this.modelId=t.modelId,this.id=t.restoredId??"request_"+ye(),this._editedFileEvents=t.editedFileEvents,this.userSelectedTools=t.userSelectedTools,this.isSystemInitiated=t.isSystemInitiated,this.isHiddenFromTranscript=t.isHiddenFromTranscript??!1,this.systemInitiatedLabel=t.systemInitiatedLabel,this.terminalExecutionId=t.terminalExecutionId,this.isTerminalCommand=t.isTerminalCommand??!1,this.origin=t.origin}get shouldBeBlocked(){return this._shouldBeBlocked}setShouldBeBlocked(t){this._shouldBeBlocked.set(t,void 0)}get session(){return this._session}get attempt(){return this._attempt}get variableData(){return this._variableData}set variableData(t){this._version++,this._variableData=t}get confirmation(){return this._confirmation}get locationData(){return this._locationData}get attachedContext(){return this._attachedContext}get editedFileEvents(){return this._editedFileEvents}get version(){return this._version}adoptTo(t){this._session=t}},fx=class{get value(){return this._responseParts}constructor(t){this._responseParts=t}toString(){return this._responseRepr===void 0&&(this._responseRepr=this.computeRepr()),this._responseRepr}getMarkdown(){return this._markdownContent===void 0&&(this._markdownContent=this.computeMarkdownContent()),this._markdownContent}getFinalResponse(){let t=this._responseParts,e=t.length-1;for(;e>=0;){let s=t[e];if(s.kind==="markdownContent"||s.kind==="markdownVuln"){if(s.content.value.length>0)break}else if(s.kind==="inlineReference")break;e--}if(e<0)return"";let n=e;for(;e>=0;){let s=t[e];if(s.kind==="markdownContent"||s.kind==="markdownVuln"||s.kind==="inlineReference")e--;else break}let o=e+1,i=[];for(let s=o;s<=n;s++){let a=t[s];a.kind==="inlineReference"?i.push(this.inlineRefToRepr(a)):(a.kind==="markdownContent"||a.kind==="markdownVuln")&&a.content.value.length>0&&i.push(a.content.value)}return i.join("")}_invalidateRepr(){this._responseRepr=void 0,this._markdownContent=void 0}computeMarkdownContent(){let t=[];for(let e of this._responseParts)e.kind==="inlineReference"?t.push(this.inlineRefToRepr(e)):(e.kind==="markdownContent"||e.kind==="markdownVuln")&&e.content.value.length>0&&t.push(e.content.value);return t.join("")}computeRepr(){return this.partsToRepr(this._responseParts)}partsToRepr(t){let e=[],n=[],o=!1;for(let i of t){let s;switch(i.kind){case"clearToPreviousToolInvocation":n=[],e.length=0,o=!1;continue;case"treeData":case"progressMessage":case"codeblockUri":case"extensions":case"pullRequest":case"undoStop":case"workspaceEdit":case"externalEdit":case"elicitation2":case"elicitationSerialized":case"thinking":case"hook":case"voiceProgress":case"multiDiffData":case"mcpServersStarting":case"mcpAuthenticationRequired":case"mcpServersStartingSlow":case"questionCarousel":case"planReview":case"disabledClaudeHooks":case"autoModeResolution":continue;case"systemNotification":s={text:i.content.value,isBlock:!0};break;case"toolInvocation":case"toolInvocationSerialized":s=this.getToolInvocationText(i);break;case"inlineReference":s={text:this.inlineRefToRepr(i)};break;case"command":s={text:i.command.title,isBlock:!0};break;case"textEditGroup":case"notebookEditGroup":o=!0;continue;case"confirmation":if(i.message instanceof Nt){s={text:`${i.title}
${i.message.value}`,isBlock:!0};break}s={text:`${i.title}
${i.message}`,isBlock:!0};break;case"markdownContent":case"markdownVuln":case"progressTask":case"progressTaskSerialized":case"warning":case"info":s={text:i.content.value};break;default:continue}s.isBlock?(n.length&&(e.push(n.join("")),n=[]),e.push(s.text)):n.push(s.text)}return n.length&&e.push(n.join("")),o&&e.push(d(10467,null)),e.join(`

`)}inlineRefToRepr(t){return"uri"in t.inlineReference?this.uriToRepr(t.inlineReference.uri,t.inlineReference.range):"name"in t.inlineReference?tT(t.inlineReference.name):this.uriToRepr(t.inlineReference)}getToolInvocationText(t){let e=s=>s.presentationOverrides?.commandLine??s.commandLine.forDisplay??s.commandLine.userEdited??s.commandLine.toolEdited??s.commandLine.original,n="",o="";if(t.pastTenseMessage?n=typeof t.pastTenseMessage=="string"?t.pastTenseMessage:t.pastTenseMessage.value:n=typeof t.invocationMessage=="string"?t.invocationMessage:t.invocationMessage.value,t.toolSpecificData&&t.toolSpecificData.kind==="terminal"){n="Ran terminal command";let s=vD(t.toolSpecificData);o=e(s)}let i=n;if(o&&(i+=`: ${o}`),t.kind==="toolInvocationSerialized"||t.kind==="toolInvocation"&&De.isComplete(t)){let s=De.resultDetails(t);if(s&&"input"in s){let a=t.kind==="toolInvocationSerialized"||De.isComplete(t)?"Completed":"Errored",l=t.toolSpecificData?.kind==="terminal"?e(vD(t.toolSpecificData)):s.input;i+=`
${a} with input: ${l}`}}return{text:i,isBlock:!0}}uriToRepr(t,e){if(t.scheme===$.http||t.scheme===$.https)return t.toString(!1);let n=e?e.startLineNumber===e.endLineNumber?`:${e.startLineNumber}`:`:${e.startLineNumber}-${e.endLineNumber}`:"";return tT(Ln(t)+n)}},ID=class extends fx{constructor(e,n){let o=e.value.findIndex(i=>i.kind==="undoStop"&&i.id===n);e.value[o+1]?.kind==="codeblockUri"&&e.value[o-1]?.kind==="markdownContent"&&o--;super(o===-1?e.value.slice():e.value.slice(0,o));this.undoStop=n}},bD=class extends fx{constructor(e){super(Yc(e).map(n=>"kind"in n?n:Si(n)?{content:n,kind:"markdownContent"}:{kind:"treeData",treeData:n}));this._store=new re;this._onDidChangeValue=this._store.add(new w);this._citations=[]}get onDidChangeValue(){return this._onDidChangeValue.event}dispose(){this._store.dispose()}clear(){this.finalizeReasoningDuration(),this._responseParts=[],this._contentChanged(!0)}clearToPreviousToolInvocation(e){this.finalizeReasoningDuration();let n=-1;for(let o=this._responseParts.length-1;o>=0;o--){let i=this._responseParts[o];if(i.kind==="toolInvocation"||i.kind==="toolInvocationSerialized"){n=o;break}}n!==-1?this._responseParts=this._responseParts.slice(0,n+1):this._responseParts=[],e&&this._responseParts.push({kind:"warning",content:new Nt(e)}),this._contentChanged(!0)}updateContent(e,n){if(e.kind!=="thinking"&&this.finalizeReasoningDuration(),e.kind==="clearToPreviousToolInvocation"){e.reason===2?this.clearToPreviousToolInvocation(d(10466,null)):e.reason===1?this.clearToPreviousToolInvocation(d(10468,null)):this.clearToPreviousToolInvocation();return}else if(e.kind==="markdownContent"){let o=this._responseParts.filter(i=>i.kind!=="textEditGroup"&&!rK(i)).at(-1);if(!o||o.kind!=="markdownContent"||!cV(o.content,e.content))this._responseParts.push(e);else{let i=this._responseParts.indexOf(o);this._responseParts[i]={...o,content:dV(o.content,e.content)}}this._contentChanged(n)}else if(e.kind==="systemNotification"){let o=this._responseParts.at(-1);o?.kind==="toolInvocation"&&De.isStreaming(o)&&!De.isEffectivelyHidden(o)?this._responseParts.splice(this._responseParts.length-1,0,e):this._responseParts.push(e),this._contentChanged(n)}else if(e.kind==="thinking"){let o=this._responseParts.filter(l=>l.kind!=="textEditGroup").at(-1),i=o&&o.kind==="thinking"?Array.isArray(o.value)?o.value.join(""):o.value||"":"",s=Array.isArray(e.value)?e.value.join(""):e.value||"",a=l=>l.length===0;if(a(s)?this.finalizeReasoningDuration():this._activeReasoning||(this._activeReasoning={part:e,startedAt:Date.now()}),!o||o.kind!=="thinking"||a(s)||a(i)||!cV(new Nt(i),new Nt(s)))this._responseParts.push(e);else{let l=this._responseParts.indexOf(o),c={...o,value:dV(new Nt(i),new Nt(s)).value};this._responseParts[l]=c,this._activeReasoning?.part===o&&(this._activeReasoning.part=c)}this._contentChanged(n)}else if(e.kind==="textEdit"||e.kind==="notebookEdit"){let o=HR.parse(e.uri)?.notebook,i=o??e.uri,s=e.isExternalEdit;if(e.kind==="textEdit"&&!o)this._mergeOrPushTextEditGroup(i,e.edits,e.done,s);else if(e.kind==="textEdit"){let a=e.edits.map(l=>({uri:e.uri,edit:l}));this._mergeOrPushNotebookEditGroup(i,a,e.done,s)}else this._mergeOrPushNotebookEditGroup(i,e.edits,e.done,s);this._contentChanged(n)}else if(e.kind==="progressTask"){let o=this._responseParts.push(e)-1;this._contentChanged(n);let i=e.onDidAddProgress(()=>{this._contentChanged(!1)});e.task?.().then(s=>{i.dispose(),typeof s=="string"&&(this._responseParts[o].content=new Nt(s)),this._contentChanged(!1)})}else if(e.kind==="toolInvocation")Sk(this._store,o=>{e.state.read(o),this._contentChanged(!1),De.isComplete(e,o)&&o.dispose()}),this._responseParts.push(e),this._contentChanged(n);else if(e.kind==="externalToolInvocationUpdate")this._handleExternalToolInvocationUpdate(e),this._contentChanged(n);else if(e.kind==="progressMessage"&&e.id!==void 0){let o=this._responseParts.findIndex(i=>i.kind==="progressMessage"&&i.id===e.id);o===-1?this._responseParts.push(e):this._responseParts[o]=e,this._contentChanged(n)}else this._responseParts.push(e),this._contentChanged(n)}finalizeReasoningDuration(){this._activeReasoning&&(this._activeReasoning.part.reasoningDurationMs=Math.max(0,Date.now()-this._activeReasoning.startedAt),this._activeReasoning=void 0)}addCitation(e){this._citations.push(e),this._contentChanged()}resolveInlineReference(e,n){for(let o=0;o<this._responseParts.length;o++){let i=this._responseParts[o];if(!(i.kind!=="inlineReference"||i.resolveId!==e))return this._responseParts[o]={...i,inlineReference:n.inlineReference,name:n.name??i.name},this._contentChanged(),!0}return!1}_mergeOrPushTextEditGroup(e,n,o,i){for(let s of this._responseParts)if(s.kind==="textEditGroup"&&!s.done&&yo(s.uri,e)){s.edits.push(n),s.done=o;return}this._responseParts.push({kind:"textEditGroup",uri:e,edits:[n],done:o,isExternalEdit:i})}_mergeOrPushNotebookEditGroup(e,n,o,i){for(let s of this._responseParts)if(s.kind==="notebookEditGroup"&&!s.done&&yo(s.uri,e)){s.edits.push(n),s.done=o;return}this._responseParts.push({kind:"notebookEditGroup",uri:e,edits:[n],done:o,isExternalEdit:i})}_handleExternalToolInvocationUpdate(e){let n=this._responseParts.findLast(s=>s.kind==="toolInvocation"&&s.toolCallId===e.toolCallId);if(n){e.toolSpecificData!==void 0&&(n.toolSpecificData=e.toolSpecificData),e.isComplete&&n.didExecuteTool({content:[],toolResultMessage:e.pastTenseMessage,toolResultError:e.errorMessage,toolResultDetails:e.resultDetails});return}let o={id:e.toolName,source:th.External,displayName:e.toolName,modelDescription:e.toolName},i=new oh({invocationMessage:e.invocationMessage,pastTenseMessage:e.pastTenseMessage,toolSpecificData:e.toolSpecificData},o,e.toolCallId,e.subagentInvocationId,void 0,{},void 0);e.isComplete&&(e.toolSpecificData!==void 0&&(i.toolSpecificData=e.toolSpecificData),i.didExecuteTool({content:[],toolResultMessage:e.pastTenseMessage,toolResultError:e.errorMessage,toolResultDetails:e.resultDetails})),this._responseParts.push(i)}computeRepr(){let e=super.computeRepr();return this._citations.length&&(e+=`

`+iK(this._citations)),e}_contentChanged(e){this._invalidateRepr(),e||this._onDidChangeValue.fire()}};Cp=class extends _{constructor(e){super();this._onDidChange=this._register(new w);this.onDidChange=this._onDidChange.event;this._modelState=Wn(this,{value:0});this._usageObs=Wn(this,void 0);this._subagentCopilotCredits=new Map;this._completionTokenCountObs=Wn(this,void 0);this._shouldBeBlocked=Wn(this,!1);this._contentReferences=[];this._codeCitations=[];this._progressMessages=[];this._isStale=!1;this._session=e.session,this._agent=e.agent,this._slashCommand=e.slashCommand,this.requestId=e.requestId,this._timestamp=e.timestamp||Date.now(),e.modelState&&this._modelState.set(e.modelState,void 0),this._completionTimestamp=e.completionTimestamp===null?void 0:e.completionTimestamp??(e.modelState&&"completedAt"in e.modelState?e.modelState.completedAt:void 0),this._timeSpentWaitingAccumulator=e.timeSpentWaiting||0,this._elapsedMs=e.elapsedMs,this._vote=e.vote,this._result=e.result,this._followups=e.followups?[...e.followups]:void 0,this.isCompleteAddedRequest=e.isCompleteAddedRequest??!1,this._shouldBeRemovedOnSend=e.shouldBeRemovedOnSend,this._shouldBeBlocked.set(e.shouldBeBlocked??!1,void 0),this._isStale=Array.isArray(e.responseContent)&&(e.responseContent.length!==0||Si(e.responseContent)&&e.responseContent.value.length!==0),this._response=this._register(new bD(e.responseContent)),this._codeBlockInfos=e.codeBlockInfos?[...e.codeBlockInfos]:void 0;let n=Pk(this,this.onDidChange),o=n.map((a,l)=>{n.read(l);for(let c of this._response.value){if(c.kind==="toolInvocation"){let u=c.state.read(l);if(u.type===De.StateKind.WaitingForConfirmation){let p=u.confirmationMessages?.title;return p?Si(p)?p.value:p:void 0}if(u.type===De.StateKind.WaitingForPostApproval)return d(10470,null);if(u.type===De.StateKind.WaitingForAuthentication)return d(10471,null,u.server.name)}if(c.kind==="confirmation"&&!c.isUsed)return c.title;if(c.kind==="questionCarousel"&&!c.isUsed)return d(10469,null);if(c.kind==="planReview"&&!c.isUsed)return d(10472,null);if(c.kind==="elicitation2"&&c.state.read(l)==="pending"){let u=c.title;return Si(u)?u.value:u}}}),i=o.map(a=>!!a).map(a=>a?Date.now():void 0);this.isPendingConfirmation=i.map((a,l)=>a?{startedWaitingAt:a,detail:o.read(l)}:void 0),this.isInProgress=n.map((a,l)=>(n.read(l),!o.read(l)&&!this.shouldBeRemovedOnSend&&(this._modelState.read(l).value===0||this._modelState.read(l).value===4))),this.isIncomplete=this._modelState.map(a=>a.value===0||a.value===4),this._register(this._response.onDidChangeValue(()=>this._onDidChange.fire(Di))),this.id=e.restoredId??"response_"+ye();let s;this.confirmationAdjustedTimestamp=mp(a=>{let l=this.isPendingConfirmation.read(a);return l?(this._modelState.set({value:4},void 0),s||(s=l.startedWaitingAt)):s&&(this._modelState.read(a).value===4&&this._modelState.set({value:0},void 0),this._timeSpentWaitingAccumulator+=Date.now()-s,s=void 0),this._timestamp+this._timeSpentWaitingAccumulator}).recomputeInitiallyAndOnChange(this._store)}get shouldBeBlocked(){return this._shouldBeBlocked}get request(){return this.session.getRequests().find(e=>e.id===this.requestId)}get session(){return this._session}get shouldBeRemovedOnSend(){return this._shouldBeRemovedOnSend}get isHiddenFromTranscript(){return this.request?.isHiddenFromTranscript??!1}get isComplete(){return this._modelState.get().value!==0&&this._modelState.get().value!==4}get timestamp(){return this._timestamp}set shouldBeRemovedOnSend(e){this._shouldBeRemovedOnSend!==e&&(this._shouldBeRemovedOnSend=e,this._onDidChange.fire(Di))}get isCanceled(){return this._modelState.get().value===2}get completedAt(){let e=this._modelState.get();if(e.value===1||e.value===2||e.value===3)return e.completedAt}get completionTimestamp(){return this._completionTimestamp}get state(){let e=this._modelState.get().value;return e===1&&this._result?.errorDetails&&this.result?.errorDetails?.code!=="canceled"?3:e}get stateT(){return this._modelState.get()}get vote(){return this._vote}get followups(){return this._followups}get entireResponse(){return this._finalizedResponse||this._response}get result(){return this._result}get usage(){return this._usageObs.get()}get usageObs(){return this._usageObs}get completionTokenCount(){return this._completionTokenCountObs.get()}get completionTokenCountObs(){return this._completionTokenCountObs}get elapsedMs(){return this._elapsedMs}get username(){return this.session.responderUsername}get agent(){return this._agent}get slashCommand(){return this._slashCommand}get agentOrSlashCommandDetected(){return this._agentOrSlashCommandDetected??!1}get usedContext(){return this._usedContext}get contentReferences(){return Array.from(this._contentReferences)}get codeCitations(){return this._codeCitations}get progressMessages(){return this._progressMessages}get isStale(){return this._isStale}get response(){let e=this._shouldBeRemovedOnSend?.afterUndoStop;return e?(this._responseView?.undoStop!==e&&(this._responseView=new ID(this._response,e)),this._responseView):this._finalizedResponse||this._response}get codeBlockInfos(){return this._codeBlockInfos}initializeCodeBlockInfos(e){if(this._codeBlockInfos)throw new wt("Code block infos have already been initialized");this._codeBlockInfos=[...e]}setBlockedState(e){this._shouldBeBlocked.set(e,void 0)}updateContent(e,n){this._response.updateContent(e,n)}resolveInlineReference(e,n){return this._response.resolveInlineReference(e,n)}addUndoStop(e){this._onDidChange.fire({reason:"undoStop",id:e.id}),this._response.updateContent(e,!0)}applyReference(e){e.kind==="usedContext"?this._usedContext=e:e.kind==="reference"&&(this._contentReferences.push(e),this._onDidChange.fire(Di))}applyCodeCitation(e){this._codeCitations.push(e),this._response.addCitation(e),this._onDidChange.fire(Di)}setAgent(e,n){this._agent=e,this._slashCommand=n,this._agentOrSlashCommandDetected=!e.isDefault||!!n,this._onDidChange.fire(Di)}setResult(e){if(this.isCanceled&&e.errorDetails){let{errorDetails:n,...o}=e;this._result=o}else this._result=e;this._onDidChange.fire(Di)}setUsage(e){this._parentUsage=e,this._setUsage(this._withSubagentCopilotCredits(e),!0)}setSubagentCopilotCredits(e,n){let o=this._subagentCopilotCredits.get(e);if(!Number.isFinite(n)||n<0||o!==void 0&&n<=o)return;this._subagentCopilotCredits.set(e,n);let i=this._parentUsage??{kind:"usage",promptTokens:0,completionTokens:0};this._setUsage(this._withSubagentCopilotCredits(i),!1)}_withSubagentCopilotCredits(e){let n=0;for(let o of this._subagentCopilotCredits.values())n+=o;return n===0?e:{...e,copilotCredits:(e.copilotCredits??0)+n}}_setUsage(e,n){let o=this._usageObs.get();if(o&&this.isSameUsage(o,e))return;let i=!o||o.promptTokens!==e.promptTokens||o.completionTokens!==e.completionTokens||o.outputBuffer!==e.outputBuffer;this._usageObs.set(e,void 0);let s=tK(e.modelTotals);if(s!==void 0)this._completionTokenCountObs.set(s,void 0);else if(n&&i){let a=this._completionTokenCountObs.get()??0;this._completionTokenCountObs.set(a+e.completionTokens,void 0)}this._onDidChange.fire(Di)}setElapsedMs(e){this._elapsedMs=Math.max(0,e)}isSameUsage(e,n){return e.promptTokens===n.promptTokens&&e.completionTokens===n.completionTokens&&e.outputBuffer===n.outputBuffer&&e.copilotCredits===n.copilotCredits&&e.sessionCopilotCredits===n.sessionCopilotCredits&&pt(e.promptTokenDetails,n.promptTokenDetails)&&pt(e.modelTotals,n.modelTotals)}complete(e=Date.now()){this._complete(e,e)}completeWithoutTimestamp(){this._complete(Date.now(),void 0)}_complete(e,n){if(this.isComplete)return;this._result?.errorDetails?.responseIsRedacted&&this._response.clear(),this._response.finalizeReasoningDuration(),this._elapsedMs??=Math.max(0,e-this.confirmationAdjustedTimestamp.get());let o=this._result?.errorDetails&&this._result.errorDetails.code!=="canceled"?3:1;this._completionTimestamp=n,this._modelState.set({value:o,completedAt:e},void 0),this._onDidChange.fire({reason:"completedRequest"})}cancel(){this._response.finalizeReasoningDuration();for(let n of this._response.value)n.kind==="toolInvocation"&&n instanceof oh?n.cancelFromStreaming(5):n instanceof ox?n.dismiss():n instanceof rx&&n.dismiss(void 0);let e=Date.now();this._elapsedMs??=Math.max(0,e-this.confirmationAdjustedTimestamp.get()),this._completionTimestamp=e,this._modelState.set({value:2,completedAt:e},void 0),this._onDidChange.fire({reason:"completedRequest"})}setFollowups(e){this._followups=e,this._onDidChange.fire(Di)}setVote(e){this._vote=e,this._onDidChange.fire(Di)}setEditApplied(e,n){return!this.response.value.includes(e)||!e.state?!1:(e.state.applied=n,this._onDidChange.fire(Di),!0)}adoptTo(e){this._session=e,this._onDidChange.fire(Di)}finalizeUndoState(){this._finalizedResponse=this.response,this._responseView=void 0,this._shouldBeRemovedOnSend=void 0}dispose(){super.dispose(),this._response.clear(),this._codeBlockInfos&&(this._codeBlockInfos.length=0)}toJSON(){let e=this._modelState.get(),n=this.isPendingConfirmation.get();return{responseId:this.id,result:this.result,responseMarkdownInfo:this.codeBlockInfos?.map(o=>({suggestionId:o.suggestionId})),followups:this.followups,modelState:e.value===0||e.value===4?{value:2,completedAt:Date.now()}:e,vote:this.vote,slashCommand:this.slashCommand,usedContext:this.usedContext,contentReferences:this.contentReferences,codeCitations:this.codeCitations,responseTimestamp:this._timestamp,timeSpentWaiting:(n?Date.now()-n.startedWaitingAt:0)+this._timeSpentWaitingAccumulator,promptTokens:this.usage?.promptTokens,completionTokens:this.completionTokenCount,outputBuffer:this.usage?.outputBuffer,promptTokenDetails:this.usage?.promptTokenDetails,copilotCredits:this.usage?.copilotCredits,modelTotals:this.usage?.modelTotals,sessionCopilotCredits:this.usage?.sessionCopilotCredits,elapsedMs:this.elapsedMs??(this.completedAt?Math.max(0,this.completedAt-this.confirmationAdjustedTimestamp.get()):void 0)}}};SD=class{constructor(t,e,n){this.logger=e;this.sessionId=n;this._state=qf({debugName:"inputModelState",equalsFn:pt},t),this.state=this._state}get intendedModel(){return this._intendedModel}setIntendedModel(t){this._intendedModel=t}setState(t){let e=this._state.get();sK(t,e,this.logger,this.sessionId),this._state.set({attachments:[],mode:{id:"agent",kind:"agent"},selectedModel:void 0,inputText:"",selections:[],contrib:{},...e,...t,origin:t.origin},void 0)}clearState(){this._state.set(void 0,void 0)}toJSON(){let t=this.state.get();if(!t)return;let e=t.attachments.filter(n=>!(e2(n)||ZF(n)&&o2(n.value)));return{contrib:t.contrib,attachments:e.map(up.toExport),mode:t.mode,selectedModel:t.selectedModel?{identifier:t.selectedModel.identifier,metadata:t.selectedModel.metadata,modelConfiguration:t.modelConfiguration}:void 0,inputText:t.inputText,selections:t.selections,permissionLevel:t.permissionLevel}}},Ep=class extends _{constructor(e,n,o,i,s,a){super();this.logService=o;this.chatAgentService=i;this.chatEditingService=s;this.chatService=a;this._onDidDispose=this._register(new w);this.onDidDispose=this._onDidDispose.event;this._onDidChange=this._register(new w);this.onDidChange=this._onDidChange.event;this._pendingRequests=[];this._onDidChangePendingRequests=this._register(new w);this.onDidChangePendingRequests=this._onDidChangePendingRequests.event;this._isImported=!1;this._isDeleted=!1;this._canUseTools=!0;this.currentEditedFileEvents=new Xe;this._checkpoint=void 0;let l=e?.value,c=pV(l),u=c&&oK(l);l&&!c&&this.logService.warn(`ChatModel#constructor: Loaded malformed session data: ${JSON.stringify(l)}`),this._isImported=!!l&&c&&!u,n.resource?(this._sessionId=ES(n.resource),this._sessionResource=n.resource):u?(this._sessionId=l.sessionId,this._sessionResource=dl.forSession(l.sessionId)):(this._sessionId=ye(),this._sessionResource=dl.forSession(this._sessionId)),this._disableBackgroundKeepAlive=n.disableBackgroundKeepAlive??!1,this._timestamp=u&&l.creationDate||Date.now(),this._requests=l?this._deserialize(l):[],this._customTitle=u?l.customTitle:void 0;let p=n.inputState||(u&&l.inputState?l.inputState:void 0);if(this.inputModel=new SD(p&&nK(p),this.logService,this._sessionId),this.dataSerializer=e?.serializer,this._initialResponderUsername=l?.responderUsername,this._repoData=u&&l.repoData?l.repoData:void 0,this._workingDirectory=u&&l.workingDirectory?b.parse(l.workingDirectory):void 0,u&&l.pendingRequests&&(this._pendingRequests=this._deserializePendingRequests(l.pendingRequests)),this._initialLocation=l?.initialLocation??n.initialLocation,this._canUseTools=n.canUseTools,this.isReadOnly=n.isReadOnly??AS(!1),this.lastRequestObs=ii(this,this.onDidChange,()=>this._requests.at(-1)),this._register(Nr(m=>{let g=this.lastRequestObs.read(m);g?.response&&m.store.add(g.response.onDidChange(async h=>{!this._editingSession||h.reason!=="completedRequest"||this._onDidChange.fire({kind:"completedRequest",request:g})}))})),this.requestInProgress=this.lastRequestObs.map((m,g)=>m?.response?.isInProgress.read(g)??!1),this.hasActiveRequest=this.lastRequestObs.map((m,g)=>m?.response?.isIncomplete.read(g)??!1),this.requestNeedsInput=this.lastRequestObs.map((m,g)=>{let h=m?.response?.isPendingConfirmation.read(g);if(h)return{title:this.title,detail:h.detail}}),this.initialLocation==="panel"&&!n.disableBackgroundKeepAlive){let m=this._register(new so);this._register(Nr(g=>{let h=this.requestInProgress.read(g),v=this.requestNeedsInput.read(g),S=h||!!v;S&&!m.value?m.value=a.acquireExistingSession(this._sessionResource,"ChatModel#requestInProgressKeepAlive"):!S&&m.value&&m.clear()}))}}static getDefaultTitle(e){let n=e.at(0)?.message??"";return(typeof n=="string"?n:n.text).split(`
`)[0].substring(0,200)}get repoData(){return this._repoData}setRepoData(e){this._repoData=e}get workingDirectory(){return this._workingDirectory}setWorkingDirectory(e){this._workingDirectory=e}getPendingRequests(){return this._pendingRequests}setPendingRequests(e){let n=new Map(this._pendingRequests.map(i=>[i.request.id,i])),o=[];for(let{requestId:i,kind:s}of e){let a=n.get(i);a&&o.push(a.kind===s?a:{request:a.request,kind:s,sendOptions:a.sendOptions})}this._pendingRequests.length=0,this._pendingRequests.push(...o),this._onDidChangePendingRequests.fire()}replacePendingRequests(e){this._pendingRequests.length===e.length&&e.every((n,o)=>this._pendingRequests[o]===n)||(this._pendingRequests.length=0,this._pendingRequests.push(...e),this._onDidChangePendingRequests.fire())}addPendingRequest(e,n,o){let i={request:e,kind:n,sendOptions:o};if(n==="steering"){let s=0;for(let a=0;a<this._pendingRequests.length&&this._pendingRequests[a].kind==="steering";a++)s=a+1;this._pendingRequests.splice(s,0,i)}else this._pendingRequests.push(i);return this._onDidChangePendingRequests.fire(),i}removePendingRequest(e){let n=this._pendingRequests.findIndex(o=>o.request.id===e);n!==-1&&(this._pendingRequests.splice(n,1),this._onDidChangePendingRequests.fire())}dequeuePendingRequest(){let e=this._pendingRequests.shift();return e&&this._onDidChangePendingRequests.fire(),e}dequeueAllSteeringRequests(){let e=[];for(;this._pendingRequests.at(0)?.kind==="steering";)e.push(this._pendingRequests.shift());return e.length>0&&this._onDidChangePendingRequests.fire(),e}clearPendingRequests(){this._pendingRequests.length>0&&(this._pendingRequests.length=0,this._onDidChangePendingRequests.fire())}get sessionId(){return this._sessionId}get sessionResource(){return this._sessionResource}get hasRequests(){return this._requests.length>0}get lastRequest(){return this._requests.at(-1)}get sessionCost(){let e=0,n=0;for(let o of this._requests){let i=o.response?.usage;typeof i?.copilotCredits=="number"&&(e+=i.copilotCredits),typeof i?.sessionCopilotCredits=="number"&&(n=Math.max(n,i.sessionCopilotCredits))}return Math.max(e,n)}get timestamp(){return this._timestamp}get timing(){let e=this._requests.at(-1),n=e?.response,o=e?.timestamp,i=n?.completedAt??n?.timestamp;return{created:this._timestamp,lastRequestStarted:o,lastRequestEnded:i}}get lastMessageDate(){return this._requests.at(-1)?.timestamp??this._timestamp}get _defaultAgent(){return this.chatAgentService.getDefaultAgent("panel","ask")}get responderUsername(){return this._defaultAgent?.fullName??this._initialResponderUsername??""}get isImported(){return this._isImported}get isDeleted(){return this._isDeleted}markDeleted(){this._isDeleted=!0}get customTitle(){return this._customTitle}get title(){return this._customTitle||Ep.getDefaultTitle(this._requests)}get hasCustomTitle(){return this._customTitle!==void 0}get editingSession(){return this._editingSession}get initialLocation(){return this._initialLocation}get canUseTools(){return this._canUseTools}get willKeepAlive(){return!this._disableBackgroundKeepAlive}startEditingSession(e,n){let o=this._editingSession??=this._register(n?this.chatEditingService.transferEditingSession(this,n):e?this.chatEditingService.startOrContinueGlobalEditingSession(this):this.chatEditingService.createEditingSession(this));if(!this._disableBackgroundKeepAlive){let i=this._register(new so);this._register(Nr(s=>{let a=o.entries.read(s).some(l=>l.state.read(s)===0);a&&!i.value?i.value=this.chatService.acquireExistingSession(this._sessionResource,"ChatModel#modifiedEditsKeepAlive"):!a&&i.value&&i.clear()}))}this._register(Nr(i=>{this._setDisabledRequests(o.requestDisablement.read(i))}))}notifyEditingAction(e){let n=e.outcome==="accepted"?1:e.outcome==="rejected"?2:e.outcome==="userModified"?3:null;n!==null&&(!this.currentEditedFileEvents.has(e.uri)||this.currentEditedFileEvents.get(e.uri)?.eventKind===1)&&this.currentEditedFileEvents.set(e.uri,{eventKind:n,uri:e.uri})}_deserialize(e){let n=An(e,{serializer:!0})?e.value.requests:e.requests;if(!Array.isArray(n))return this.logService.error(`Ignoring malformed session data: ${JSON.stringify(e)}`),[];try{return n.map(o=>this._deserializeRequest(o))}catch(o){return this.logService.error("Failed to parse chat data",o),[]}}_deserializeRequest(e){let n=typeof e.message=="string"?this.getParsedRequestFromString(e.message):aV(e.message),o=this.reviveVariableData(e.variableData),i=typeof e.timestamp=="number"&&e.timestamp>0?e.timestamp:void 0,s=new gx({session:this,message:n,variableData:o,timestamp:i,fallbackTimestamp:this._timestamp,restoredId:e.requestId,confirmation:e.confirmation,editedFileEvents:e.editedFileEvents,modelId:e.modelId,modeInfo:e.modeInfo,isSystemInitiated:e.isSystemInitiated,isHiddenFromTranscript:e.hiddenFromTranscript,systemInitiatedLabel:e.systemInitiatedLabel,terminalExecutionId:e.terminalExecutionId,origin:tV(e.origin)});if(s.shouldBeRemovedOnSend=e.isHidden?{requestId:e.requestId}:e.shouldBeRemovedOnSend,e.response||e.result||e.responseErrorDetails){let a=e.agent&&"metadata"in e.agent?ex(e.agent):void 0,l="responseErrorDetails"in e?{errorDetails:e.responseErrorDetails}:e.result,c=e.modelState||{value:e.isCanceled?2:1,completedAt:Date.now()};if((c.value===0||c.value===4)&&(c={value:2,completedAt:Date.now()}),e.response)for(let u of e.response)An(u,{kind:!0})&&(u.kind==="questionCarousel"||u.kind==="planReview")&&(u.isUsed=!0);s.response=new Cp({responseContent:e.response??[new Nt(e.response)],session:this,agent:a,slashCommand:e.slashCommand,requestId:s.id,modelState:c,completionTimestamp:e.modelState&&"completedAt"in e.modelState&&Number.isFinite(e.modelState.completedAt)&&e.modelState.completedAt>0?e.modelState.completedAt:null,vote:e.vote,timestamp:typeof e.responseTimestamp=="number"&&e.responseTimestamp>0?e.responseTimestamp:i,result:l,followups:e.followups,restoredId:e.responseId,timeSpentWaiting:e.timeSpentWaiting,elapsedMs:e.elapsedMs,shouldBeBlocked:s.shouldBeBlocked.get(),codeBlockInfos:e.responseMarkdownInfo?.map(u=>({suggestionId:u.suggestionId}))}),s.response.shouldBeRemovedOnSend=e.isHidden?{requestId:e.requestId}:e.shouldBeRemovedOnSend,(typeof e.completionTokens=="number"||typeof e.promptTokens=="number"||typeof e.copilotCredits=="number"||typeof e.sessionCopilotCredits=="number")&&s.response.setUsage({kind:"usage",promptTokens:e.promptTokens??0,completionTokens:e.completionTokens??0,outputBuffer:e.outputBuffer,promptTokenDetails:e.promptTokenDetails,copilotCredits:e.copilotCredits,modelTotals:e.modelTotals,sessionCopilotCredits:e.sessionCopilotCredits}),e.usedContext&&s.response.applyReference(un(e.usedContext)),e.contentReferences?.forEach(u=>s.response.applyReference(un(u))),e.codeCitations?.forEach(u=>s.response.applyCodeCitation(un(u)))}return s}reviveVariableData(e){let n=e&&Array.isArray(e.variables)?e:{variables:[]};return n.variables=n.variables.map(up.fromExport),n}getParsedRequestFromString(e){let n=[new xp(new Xo(0,e.length),{startColumn:1,startLineNumber:1,endColumn:1,endLineNumber:1},e)];return{text:e,parts:n}}_deserializePendingRequests(e){try{return e.map(n=>({id:n.id,request:this._deserializeRequest(n.request),kind:n.kind,sendOptions:{...n.sendOptions,userSelectedTools:n.sendOptions.userSelectedTools?AS(n.sendOptions.userSelectedTools):void 0}}))}catch(n){return this.logService.error("Failed to parse pending chat requests",n),[]}}getRequests(){return this._requests}resetCheckpoint(){for(let e of this._requests)e.setShouldBeBlocked(!1),e.response&&e.response.setBlockedState(!1)}setCheckpoint(e){let n,o=-1;if(!(e!==void 0&&(this._requests.forEach((i,s)=>{i.id===e&&(o=s,n=i,i.setShouldBeBlocked(!0))}),!n))){for(let i=this._requests.length-1;i>=0;i-=1){let s=this._requests[i];this._checkpoint&&!n?(s.setShouldBeBlocked(!1),s.response&&s.response.setBlockedState(!1)):n&&i>=o?(s.setShouldBeBlocked(!0),s.response&&s.response.setBlockedState(!0)):n&&i<o&&(s.setShouldBeBlocked(!1),s.response&&s.response.setBlockedState(!1))}this._checkpoint=n}}get checkpoint(){return this._checkpoint}_setDisabledRequests(e){this._requests.forEach(n=>{let o=e.find(i=>i.requestId===n.id);n.shouldBeRemovedOnSend=o,n.response&&(n.response.shouldBeRemovedOnSend=o)}),this._onDidChange.fire({kind:"setHidden"})}addRequest(e,n,o,i,s,a,l,c,u,p,m,g,h,v,S,T,E,k,P,U){let xe=[...this.currentEditedFileEvents.values()];this.currentEditedFileEvents.clear();let V=k===void 0?Date.now():typeof k=="number"&&Number.isFinite(k)&&k>0?k:void 0,ae=new gx({restoredId:h,session:this,message:e,variableData:n,timestamp:V,fallbackTimestamp:this._timestamp,attempt:o,modeInfo:i,confirmation:l,locationData:c,attachedContext:u,isCompleteAddedRequest:p,modelId:m,editedFileEvents:xe.length?xe:void 0,userSelectedTools:g,isSystemInitiated:v,isHiddenFromTranscript:P,systemInitiatedLabel:S,terminalExecutionId:T,isTerminalCommand:E,origin:U});return ae.response=new Cp({responseContent:[],session:this,agent:s,slashCommand:a,requestId:ae.id,isCompleteAddedRequest:p,codeBlockInfos:void 0}),this._requests.push(ae),eh(this.sessionResource,Zf.RequestUiUpdated),this._onDidChange.fire({kind:"addRequest",request:ae}),ae}setCustomTitle(e){this._customTitle=e,this._onDidChange.fire({kind:"setCustomTitle",title:e})}updateRequest(e,n){e.variableData=n,this._onDidChange.fire({kind:"changedRequest",request:e})}adoptRequest(e){let n=e.session,o=n._requests.findIndex(i=>i.id===e.id);o!==-1&&(n._requests.splice(o,1),e.adoptTo(this),e.response?.adoptTo(this),this._requests.push(e),n._onDidChange.fire({kind:"removeRequest",requestId:e.id,responseId:e.response?.id,reason:2}),this._onDidChange.fire({kind:"addRequest",request:e}))}acceptResponseProgress(e,n,o){if(e.response||(e.response=new Cp({responseContent:[],session:this,requestId:e.id,codeBlockInfos:void 0})),e.response.isComplete)throw new Error("acceptResponseProgress: Adding progress to a completed response");n.kind==="usage"?e.response.setUsage(n):n.kind==="usedContext"||n.kind==="reference"?e.response.applyReference(n):n.kind==="codeCitation"?e.response.applyCodeCitation(n):n.kind==="move"?this._onDidChange.fire({kind:"move",target:n.uri,range:n.range}):n.kind==="codeblockUri"&&n.isEdit?(e.response.addUndoStop({id:n.undoStopId??ye(),kind:"undoStop"}),e.response.updateContent(n,o)):n.kind==="progressTaskResult"?this.logService.error(`Couldn't handle progress: ${JSON.stringify(n)}`):e.response.updateContent(n,o)}removeRequest(e,n=0){let o=this._requests.findIndex(s=>s.id===e),i=this._requests[o];o!==-1&&(this._onDidChange.fire({kind:"removeRequest",requestId:i.id,responseId:i.response?.id,reason:n}),this._requests.splice(o,1),i.response?.dispose())}cancelRequest(e){e.response&&e.response.cancel()}setResponse(e,n){e.response||(e.response=new Cp({responseContent:[],session:this,requestId:e.id,codeBlockInfos:void 0})),e.response.setResult(n)}setFollowups(e,n){e.response&&e.response.setFollowups(n)}setResponseModel(e,n){e.response=n,this._onDidChange.fire({kind:"addResponse",response:n})}toExport(){return{responderUsername:this.responderUsername,initialLocation:this.initialLocation,requests:this._requests.map(e=>{let n={...e.message,parts:e.message.parts.map(s=>s&&"toJSON"in s?s.toJSON():s)},o=e.response?.agent,i=o&&"toJSON"in o?o.toJSON():o?{...o}:void 0;return{requestId:e.id,message:n,variableData:uV.toExport(e.variableData),response:e.response?e.response.entireResponse.value.filter(s=>s.kind!=="voiceProgress").map(s=>s.kind==="treeData"?s.treeData:s.kind==="markdownContent"?s.content:s):void 0,shouldBeRemovedOnSend:e.shouldBeRemovedOnSend,agent:i,timestamp:e.requestTimestamp,confirmation:e.confirmation,editedFileEvents:e.editedFileEvents,modelId:e.modelId,modeInfo:e.modeInfo,isSystemInitiated:e.isSystemInitiated||void 0,hiddenFromTranscript:e.isHiddenFromTranscript||void 0,systemInitiatedLabel:e.systemInitiatedLabel,terminalExecutionId:e.terminalExecutionId,origin:e.origin?eV(e.origin):void 0,...e.response?.toJSON()}})}}toJSON(){return{version:3,...this.toExport(),sessionId:this.sessionId,creationDate:this._timestamp,customTitle:this._customTitle,inputState:this.inputModel.toJSON(),workingDirectory:this._workingDirectory?.toString()}}dispose(){this._requests.forEach(e=>e.response?.dispose()),this._onDidDispose.fire(),super.dispose(),this._requests.length=0,this.dataSerializer=void 0,this._editingSession=void 0}};Ep=C([I(2,K),I(3,q4),I(4,X4),I(5,q2)],Ep);(n=>{n.scheme=$.vscodeChatResponseResource;function t(o,i,s,a){return b.from({scheme:n.scheme,authority:Ea(L.fromString(o.toString())),path:`/tool/${i}/${s}`+(a?`/${a}`:"")})}n.createUri=t;function e(o){if(o.scheme!==n.scheme)return;let i=o.path.split("/");if(i.length<4)return;let[,s,a,l]=i;if(s!=="tool")return;let c;try{c=b.parse(_m(o.authority).toString())}catch(u){if(u instanceof SyntaxError)c=dl.forSession(o.authority);else throw u}return{sessionResource:c,toolCallId:a,index:Number(l)}}n.parseUri=e})(mV||={})});function fV(r){if(r instanceof Uint8Array)return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(!r||typeof r!="object"||Array.isArray(r))return;let t=r,e=Object.keys(t).sort((o,i)=>Number(o)-Number(i));if(e.length===0)return;let n=new Uint8Array(e.length);for(let o=0;o<e.length;o++){let i=t[e[o]];if(e[o]!==String(o)||typeof i!="number"||!Number.isInteger(i)||i<0||i>255)return;n[o]=i}return n}var hV=y(()=>{ze();dc();ie();le();vS();Y4();gV();hp();nh();Vf()});function wp(r,t=te){return lE(r,t)?r.charAt(0).toUpperCase()+r.slice(1):r}var xD=y(()=>{Ni();Ue();me();Rt();Ot()});var vV=y(()=>{le()});var ih=y(()=>{});var yV=y(()=>{});var IV=y(()=>{});var bV=y(()=>{});var SV=y(()=>{});var xV=y(()=>{});var CV=y(()=>{});var EV=y(()=>{});var wV=y(()=>{});var CD=y(()=>{});var TV=y(()=>{});var RV=y(()=>{});var sh=y(()=>{yV();IV();bV();SV();xV();CV();EV();wV();CD();TV();RV()});var PV=y(()=>{});var kV=y(()=>{});var DV=y(()=>{});var _V=y(()=>{});var MV=y(()=>{});var AV=y(()=>{});var LV=y(()=>{});var OV=y(()=>{});var UV=y(()=>{});var NV=y(()=>{});var ED=y(()=>{DV();_V();MV();AV();LV();OV();UV();NV()});function VV(r,t){return t?`${r.replace(/#/g,"%23")}#range=${t.start.line}:${t.start.character}-${t.end.line}:${t.end.character}`:r}function WV(r,t){let e=typeof r=="string"?r:r.toString(),n=bo(L.fromString(e),!1,!0);return`${HV}://${wD}/${n}/${encodeURIComponent(t)}`}function fK(r){let t;try{t=typeof r=="string"?b.parse(r):r}catch{return}if(t.scheme!==HV||!t.authority)return;let e=t.path.replace(/^\//,"");if(e)try{if(t.authority===wD){let[n,...o]=e.split("/"),i=o.join("/");return!n||!i?void 0:{session:dr(n).toString(),chatId:`${wD}/${decodeURIComponent(i)}`}}return{session:dr(e).toString(),chatId:t.authority}}catch{return}}function hK(r){return fK(r)?.session}function BV(r){let t=hK(r);if(t===void 0)throw new Error(`Malformed AHP chat URI: ${typeof r=="string"?r:r.toString()}`);return t}var gK,k3e,HV,wD,TD=y(()=>{Lt();ze();Ee();ie();kV();sh();sh();ED();sh();gK="subagent",k3e=`/${gK}/`,HV="ahp-chat",wD="subagent"});var $V=y(()=>{Qr();Rt()});function vK(r,t){let e=VV(r.toString());return t?`${e.replace(/#/g,"%23")}#${t}`:e}function yK(r){return{type:"hook",id:vK(r),uri:r.toString(),name:Ln(r)}}function bK(r){if(r.type!==void 0&&r.type!=="command")return;let t=typeof r.command=="string"&&r.command.length>0,e=typeof r.bash=="string"&&r.bash.length>0,n=typeof r.powershell=="string"&&r.powershell.length>0,o=typeof r.windows=="string"&&r.windows.length>0,i=typeof r.linux=="string"&&r.linux.length>0,s=typeof r.osx=="string"&&r.osx.length>0;if(!t&&!e&&!n&&!o&&!i&&!s)return;let a=o?r.windows:n?r.powershell:void 0,l=i?r.linux:e?r.bash:void 0,c=s?r.osx:e?r.bash:void 0,u=typeof r.timeout=="number"?r.timeout:typeof r.timeoutSec=="number"?r.timeoutSec:void 0;return{...t&&{command:r.command},...a&&{windows:a},...l&&{linux:l},...c&&{osx:c},...typeof r.env=="object"&&r.env!==null&&{env:r.env},...u!==void 0&&{timeout:u}}}function qV(r,t,e){let n=bK(r);if(!n)return;let o,i=typeof r.cwd=="string"?r.cwd:void 0;return i?i.startsWith("~/")?o=b.joinPath(e,i.substring(2)):zo(i)?o=b.file(i):t&&(o=fe(t,i)):o=t,{...n,cwd:o}}function SK(r,t,e){if(!r||typeof r!="object")return[];let n=r,o=[],i=n.hooks;if(i!==void 0&&Array.isArray(i))for(let s of i){if(!s||typeof s!="object")continue;let a=qV(s,t,e);a&&o.push(a)}else{let s=qV(n,t,e);s&&o.push(s)}return o}function xK(r,t,e,n){if(!t||typeof t!="object")return[];let o=t;if(o.disableAllHooks===!0)return[];let i=o.hooks,s=i&&typeof i=="object"&&!Array.isArray(i)?i:o,a=[],l=yK(r);for(let c of Object.keys(s)){let u=IK[c];if(!u)continue;let p=s[c];if(!Array.isArray(p))continue;let m=[];for(let g of p)m.push(...SK(g,e,n));m.length>0&&a.push({type:u,commands:m,uri:r,originalId:c,customization:l})}return a}var PD,Tp,rqe,IK,zV=y(()=>{Qr();en();Ue();Rt();Ot();Ee();ie();vV();ih();sh();PV();TD();$V();(t=>{function r(e,n){return e===n?!0:!e||!n?!1:e.command===n.command&&e.windows===n.windows&&e.linux===n.linux&&e.osx===n.osx&&yo(e.cwd,n.cwd)&&pt(e.env,n.env)&&e.timeout===n.timeout&&yo(e.sourceUri,n.sourceUri)}t.isEquals=r})(PD||={});Tp="com.github.copilot",rqe={format:3,manifestPath:"plugin.json",hookConfigPath:`${Tp}/hooks/hooks.json`,componentPaths:{commands:`${Tp}/commands`,skills:"skills",agents:`${Tp}/agents`,rules:`${Tp}/rules`,hooks:`${Tp}/hooks/hooks.json`,mcpServers:"mcp.json"},manifestExtensionNamespace:Tp,requiresManifest:!0,pluginRootTokens:[],pluginRootEnvVars:[],parseHooks(r,t,e,n,o){return xK(r,t,n,o)}};IK={SessionStart:"SessionStart",SessionEnd:"SessionEnd",UserPromptSubmit:"UserPromptSubmit",PreToolUse:"PreToolUse",PostToolUse:"PostToolUse",PreCompact:"PreCompact",SubagentStart:"SubagentStart",SubagentStop:"SubagentStop",Stop:"Stop",ErrorOccurred:"ErrorOccurred",sessionStart:"SessionStart",sessionEnd:"SessionEnd",userPromptSubmitted:"UserPromptSubmit",preToolUse:"PreToolUse",postToolUse:"PostToolUse",agentStop:"Stop",subagentStop:"SubagentStop",errorOccurred:"ErrorOccurred"}});var kD=y(()=>{le()});var hx,GV,KV,jV=y(()=>{le();kD();hx=(u=>(u.SessionStart="SessionStart",u.SessionEnd="SessionEnd",u.UserPromptSubmit="UserPromptSubmit",u.PreToolUse="PreToolUse",u.PostToolUse="PostToolUse",u.PreCompact="PreCompact",u.SubagentStart="SubagentStart",u.SubagentStop="SubagentStop",u.Stop="Stop",u.ErrorOccurred="ErrorOccurred",u))(hx||{}),GV={vscode:{SessionStart:"SessionStart",UserPromptSubmit:"UserPromptSubmit",PreToolUse:"PreToolUse",PostToolUse:"PostToolUse",PreCompact:"PreCompact",SubagentStart:"SubagentStart",SubagentStop:"SubagentStop",Stop:"Stop"},"github-copilot":{sessionStart:"SessionStart",sessionEnd:"SessionEnd",userPromptSubmitted:"UserPromptSubmit",preToolUse:"PreToolUse",postToolUse:"PostToolUse",agentStop:"Stop",subagentStop:"SubagentStop",errorOccurred:"ErrorOccurred"},claude:{SessionStart:"SessionStart",UserPromptSubmit:"UserPromptSubmit",PreToolUse:"PreToolUse",PostToolUse:"PostToolUse",PreCompact:"PreCompact",SubagentStart:"SubagentStart",SubagentStop:"SubagentStop",Stop:"Stop"},undefined:Object.fromEntries(Object.values(hx).map(r=>[r,r]))},KV={SessionStart:{label:d(10555,null),description:d(10554,null)},UserPromptSubmit:{label:d(10563,null),description:d(10562,null)},PreToolUse:{label:d(10551,null),description:d(10550,null)},PostToolUse:{label:d(10547,null),description:d(10546,null)},PreCompact:{label:d(10549,null),description:d(10548,null)},SubagentStart:{label:d(10559,null),description:d(10558,null)},SubagentStop:{label:d(10561,null),description:d(10560,null)},Stop:{label:d(10557,null),description:d(10556,null)},SessionEnd:{label:d(10553,null),description:d(10552,null)},ErrorOccurred:{label:d(10545,null),description:d(10544,null)}}});function QV(r,t){return Object.fromEntries(Object.entries(GV[r]).map(([e,n])=>[e,{...t,description:KV[n]?.description}]))}function JV(r,t){return t===1&&r.windows?r.windows:t===2&&r.osx?r.osx:t===3&&r.linux?r.linux:r.command}var EK,vr,wK,TK,RK,PK,kK,DK,Iqe,YV=y(()=>{le();ie();Rt();Ue();xD();me();zV();jV();kD();(t=>{function r(e,n){if(e===n)return!0;if(!e||!n)return!1;for(let o of Object.values(hx)){let i=e[o],s=n[o];if(i?.length!==s?.length)return!1;if(i&&s){for(let a=0;a<i.length;a++)if(!PD.isEquals(i[a],s[a]))return!1}}return!0}t.isEquals=r})(EK||={});vr={type:d(10537,null),command:d(10528,null),windows:d(10538,null),linux:d(10532,null),osx:d(10533,null),bash:d(10526,null),powershell:d(10534,null),cwd:d(10530,null),env:d(10531,null),timeout:d(10535,null),timeoutSec:d(10536,null)},wK={type:"object",additionalProperties:!0,required:["type"],anyOf:[{required:["command"]},{required:["windows"]},{required:["linux"]},{required:["osx"]},{required:["bash"]},{required:["powershell"]}],errorMessage:d(10529,null),properties:{type:{type:"string",enum:["command"],description:vr.type},command:{type:"string",description:vr.command},windows:{type:"string",description:vr.windows},linux:{type:"string",description:vr.linux},osx:{type:"string",description:vr.osx},cwd:{type:"string",description:vr.cwd},env:{type:"object",additionalProperties:{type:"string"},description:vr.env},timeout:{type:"number",default:30,description:vr.timeout}}},TK={type:"array",items:wK};RK=QV("vscode",TK),PK={type:"object",additionalProperties:!0,required:["type"],anyOf:[{required:["bash"]},{required:["powershell"]}],errorMessage:d(10527,null),properties:{type:{type:"string",enum:["command"],description:vr.type},bash:{type:"string",description:vr.bash},powershell:{type:"string",description:vr.powershell},cwd:{type:"string",description:vr.cwd},env:{type:"object",additionalProperties:{type:"string"},description:vr.env},timeoutSec:{type:"number",default:10,description:vr.timeoutSec}}},kK={type:"array",items:PK},DK=QV("github-copilot",kK),Iqe={$schema:"http://json-schema.org/draft-07/schema#",type:"object",description:d(10539,null),additionalProperties:!0,required:["hooks"],properties:{hooks:{type:"object",description:d(10540,null),additionalProperties:!0}},if:{required:["version"],properties:{version:{type:"number"}}},then:{properties:{version:{type:"number",description:d(10543,null)},hooks:{properties:DK}}},else:{properties:{hooks:{properties:RK}}},defaultSnippets:[{label:d(10541,null),description:d(10542,null),body:{hooks:{SessionStart:[{type:"command",command:'${1:echo "Session started" >> session.log}'}],PreToolUse:[{type:"command",command:"${2:./scripts/validate.sh}",timeout:15}]}}}]}});var Tqe,Rqe,Pqe,_K,kqe,Dqe,_qe,Mqe,Aqe,Lqe,Oqe,Uqe,Nqe,Fqe,Vqe,Hqe,Wqe,Bqe,$qe,qqe,zqe,Gqe,Kqe,jqe,Qqe,Jqe,Yqe,Xqe,Zqe,eze,tze,nze,oze,rze,ize,sze,aze,lze,cze,dze,uze,pze,mze,gze,fze,hze,vze,yze,Ize,bze,Sze,xze,Cze,Eze,wze,Tze,Rze,Pze,kze,Dze,_ze,Mze,Aze,Lze,Oze,Uze,MK,AK,XV=y(()=>{ie();le();lo();X();Tqe=new x("debugType",void 0,{type:"string",description:d(12076,null)}),Rqe=new x("debugConfigurationType",void 0,{type:"string",description:d(12067,null)}),Pqe=new x("debugState","inactive",{type:"string",description:d(12075,null)}),_K="debugUx",kqe=new x(_K,"default",{type:"string",description:d(12077,null)}),Dqe=new x("hasDebugged",!1,{type:"boolean",description:d(12085,null)}),_qe=new x("inDebugMode",!1,{type:"boolean",description:d(12087,null)}),Mqe=new x("inDebugRepl",!1,{type:"boolean",description:d(12088,null)}),Aqe=new x("breakpointWidgetVisible",!1,{type:"boolean",description:d(12057,null)}),Lqe=new x("inBreakpointWidget",!1,{type:"boolean",description:d(12086,null)}),Oqe=new x("breakpointsFocused",!0,{type:"boolean",description:d(12055,null)}),Uqe=new x("watchExpressionsFocused",!0,{type:"boolean",description:d(12113,null)}),Nqe=new x("watchExpressionsExist",!1,{type:"boolean",description:d(12112,null)}),Fqe=new x("variablesFocused",!0,{type:"boolean",description:d(12109,null)}),Vqe=new x("expressionSelected",!1,{type:"boolean",description:d(12081,null)}),Hqe=new x("breakpointInputFocused",!1,{type:"boolean",description:d(12051,null)}),Wqe=new x("callStackItemType",void 0,{type:"string",description:d(12063,null)}),Bqe=new x("callStackSessionIsAttach",!1,{type:"boolean",description:d(12065,null)}),$qe=new x("callStackItemStopped",!1,{type:"boolean",description:d(12062,null)}),qqe=new x("callStackSessionHasOneThread",!1,{type:"boolean",description:d(12064,null)}),zqe=new x("callStackFocused",!0,{type:"boolean",description:d(12061,null)}),Gqe=new x("watchItemType",void 0,{type:"string",description:d(12114,null)}),Kqe=new x("canViewMemory",void 0,{type:"boolean",description:d(12066,null)}),jqe=new x("breakpointItemType",void 0,{type:"string",description:d(12053,null)}),Qqe=new x("breakpointItemBytes",void 0,{type:"boolean",description:d(12052,null)}),Jqe=new x("breakpointHasModes",!1,{type:"boolean",description:d(12050,null)}),Yqe=new x("breakpointSupportsCondition",!1,{type:"boolean",description:d(12056,null)}),Xqe=new x("loadedScriptsSupported",!1,{type:"boolean",description:d(12093,null)}),Zqe=new x("loadedScriptsItemType",void 0,{type:"string",description:d(12092,null)}),eze=new x("focusedSessionIsAttach",!1,{type:"boolean",description:d(12082,null)}),tze=new x("focusedSessionIsNoDebug",!1,{type:"boolean",description:d(12083,null)}),nze=new x("stepBackSupported",!1,{type:"boolean",description:d(12098,null)}),oze=new x("restartFrameSupported",!1,{type:"boolean",description:d(12096,null)}),rze=new x("stackFrameSupportsRestart",!1,{type:"boolean",description:d(12097,null)}),ize=new x("jumpToCursorSupported",!1,{type:"boolean",description:d(12090,null)}),sze=new x("stepIntoTargetsSupported",!1,{type:"boolean",description:d(12099,null)}),aze=new x("breakpointsExist",!1,{type:"boolean",description:d(12054,null)}),lze=new x("debuggersAvailable",!1,{type:"boolean",description:d(12070,null)}),cze=new x("debugExtensionAvailable",!0,{type:"boolean",description:d(12068,null)}),dze=new x("debugProtocolVariableMenuContext",void 0,{type:"string",description:d(12071,null)}),uze=new x("debugSetVariableSupported",!1,{type:"boolean",description:d(12074,null)}),pze=new x("debugSetDataBreakpointAddressSupported",!1,{type:"boolean",description:d(12072,null)}),mze=new x("debugSetExpressionSupported",!1,{type:"boolean",description:d(12073,null)}),gze=new x("breakWhenValueChangesSupported",!1,{type:"boolean",description:d(12058,null)}),fze=new x("breakWhenValueIsAccessedSupported",!1,{type:"boolean",description:d(12059,null)}),hze=new x("breakWhenValueIsReadSupported",!1,{type:"boolean",description:d(12060,null)}),vze=new x("terminateDebuggeeSupported",!1,{type:"boolean",description:d(12101,null)}),yze=new x("suspendDebuggeeSupported",!1,{type:"boolean",description:d(12100,null)}),Ize=new x("terminateThreadsSupported",!1,{type:"boolean",description:d(12102,null)}),bze=new x("variableEvaluateNamePresent",!1,{type:"boolean",description:d(12103,null)}),Sze=new x("variableIsReadonly",!1,{type:"boolean",description:d(12106,null)}),xze=new x("variableValue",!1,{type:"string",description:d(12111,null)}),Cze=new x("variableType",!1,{type:"string",description:d(12110,null)}),Eze=new x("variableInterfaces",!1,{type:"array",description:d(12105,null)}),wze=new x("variableName",!1,{type:"string",description:d(12108,null)}),Tze=new x("variableLanguage",!1,{type:"string",description:d(12107,null)}),Rze=new x("variableExtensionId",!1,{type:"string",description:d(12104,null)}),Pze=new x("exceptionWidgetVisible",!1,{type:"boolean",description:d(12080,null)}),kze=new x("multiSessionRepl",!1,{type:"boolean",description:d(12095,null)}),Dze=new x("multiSessionDebug",!1,{type:"boolean",description:d(12094,null)}),_ze=new x("disassembleRequestSupported",!1,{type:"boolean",description:d(12078,null)}),Mze=new x("disassemblyViewFocus",!1,{type:"boolean",description:d(12079,null)}),Aze=new x("languageSupportsDisassembleRequest",!1,{type:"boolean",description:d(12091,null)}),Lze=new x("focusedStackFrameHasInstructionReference",!1,{type:"boolean",description:d(12084,null)}),Oze={enum:["neverOpen","openOnSessionStart","openOnFirstSessionStart"],default:"openOnFirstSessionStart",description:d(12089,null)},Uze=D("debugService");(e=>(e.deserialize=n=>n,e.serialize=n=>n))(MK||={});(e=>(e.deserialize=n=>({id:n.id,name:n.name,iconPath:n.iconPath&&{light:b.revive(n.iconPath.light),dark:b.revive(n.iconPath.dark)},iconClass:n.iconClass,visualization:n.visualization}),e.serialize=n=>n))(AK||={})});function _c(r,t){let[e,n]=t.split("/");for(let o of r.resources){let[i,s]=o.type.split("/");if(i===e){if(!n||s===n)return o.id;break}}}var vx,ah=y(()=>{X();vx=D("IMcpGalleryManifestService")});var aa,lh,Zo,yx,Ix,bx,gl=y(()=>{X();aa=D("IMcpGalleryService"),lh=D("IMcpManagementService"),Zo=D("IAllowedMcpServersService"),yx="chat.mcp.access",Ix="chat.mcp.allowedServers",bx="chat.mcp.deniedServers"});function ch(r,t,e,n){return Rp.registerIcon(r,t,e,n)}function VK(){let r=vO();for(let t in r){let e="\\"+r[t].toString(16);Rp.registerIcon(t,{fontCharacter:e})}}var LK,OK,UK,NK,FK,DD,Rp,eH,tH,ZV,tGe,nGe,oGe,rGe,iGe,nH=y(()=>{Me();Ki();Wy();Va();de();Ee();ie();le();Wv();Uo();Q();LK={IconContribution:"base.contributions.icons"};(t=>{function r(e,n){let o=e.defaults;for(;on.isThemeIcon(o);){let i=Rp.getIcon(o.id);if(!i)return;o=i.defaults}return o}t.getDefinition=r})(OK||={});(e=>{function r(n){return{weight:n.weight,style:n.style,src:n.src.map(o=>({format:o.format,location:o.location.toString()}))}}e.toJSONObject=r;function t(n){let o=i=>Z(i)?i:void 0;if(n&&Array.isArray(n.src)&&n.src.every(i=>Z(i.format)&&Z(i.location)))return{weight:o(n.weight),style:o(n.style),src:n.src.map(i=>({format:i.format,location:b.parse(i.location)}))}}e.fromJSONObject=t})(UK||={});NK=/^([\w_-]+)$/,FK=d(3365,null),DD=class extends _{constructor(){super();this._onDidChange=this._register(new w);this.onDidChange=this._onDidChange.event;this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:d(3362,null),pattern:NK.source,patternErrorMessage:FK},fontCharacter:{type:"string",description:d(3361,null)}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}};this.iconReferenceSchema={type:"string",pattern:`^${on.iconNameExpression}$`,enum:[],enumDescriptions:[]};this.iconsById={},this.iconFontsById={}}registerIcon(e,n,o,i){let s=this.iconsById[e];if(s){if(o&&!s.description){s.description=o,this.iconSchema.properties[e].markdownDescription=`${o} $(${e})`;let c=this.iconReferenceSchema.enum.indexOf(e);c!==-1&&(this.iconReferenceSchema.enumDescriptions[c]=o),this._onDidChange.fire()}return s}let a={id:e,description:o,defaults:n,deprecationMessage:i};this.iconsById[e]=a;let l={$ref:"#/definitions/icons"};return i&&(l.deprecationMessage=i),o&&(l.markdownDescription=`${o}: $(${e})`),this.iconSchema.properties[e]=l,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(o||""),this._onDidChange.fire(),{id:e}}deregisterIcon(e){delete this.iconsById[e],delete this.iconSchema.properties[e];let n=this.iconReferenceSchema.enum.indexOf(e);n!==-1&&(this.iconReferenceSchema.enum.splice(n,1),this.iconReferenceSchema.enumDescriptions.splice(n,1)),this._onDidChange.fire()}getIcons(){return Object.keys(this.iconsById).map(e=>this.iconsById[e])}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}getIconReferenceSchema(){return this.iconReferenceSchema}registerIconFont(e,n){let o=this.iconFontsById[e];return o||(this.iconFontsById[e]=n,this._onDidChange.fire(),n)}deregisterIconFont(e){delete this.iconFontsById[e]}getIconFont(e){return this.iconFontsById[e]}toString(){let e=(s,a)=>s.id.localeCompare(a.id),n=s=>{for(;on.isThemeIcon(s.defaults);)s=this.iconsById[s.defaults.id];return`codicon codicon-${s?s.id:""}`},o=[];o.push("| preview     | identifier                        | default codicon ID                | description"),o.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");let i=Object.keys(this.iconsById).map(s=>this.iconsById[s]);for(let s of i.filter(a=>!!a.description).sort(e))o.push(`|<i class="${n(s)}"></i>|${s.id}|${on.isThemeIcon(s.defaults)?s.defaults.id:s.id}|${s.description||""}|`);o.push("| preview     | identifier                        "),o.push("| ----------- | --------------------------------- |");for(let s of i.filter(a=>!on.isThemeIcon(a.defaults)).sort(e))o.push(`|<i class="${n(s)}"></i>|${s.id}|`);return o.join(`
`)}},Rp=new DD;lt.add(LK.IconContribution,Rp);VK();eH="vscode://schemas/icons",tH=lt.as(Bl.JSONContribution);tH.registerSchema(eH,Rp.getIconSchema());ZV=new Ko(()=>tH.notifySchemaChanged(eH),200);Rp.onDidChange(()=>{ZV.isScheduled()||ZV.schedule()});tGe=ch("widget-close",J.close,d(3366,null)),nGe=ch("goto-previous-location",J.arrowUp,d(3364,null)),oGe=ch("goto-next-location",J.arrowDown,d(3363,null)),rGe=on.modify(J.sync,"spin"),iGe=on.modify(J.loading,"spin")});var Sx,gGe,fGe,hGe,HK,vGe,WK,yGe,IGe,bGe,_D=y(()=>{Ee();le();X();lo();ie();nH();Ki();Sx=D("IUserDataProfileService"),gGe=D("IUserDataProfileManagementService"),fGe=D("IUserDataProfileImportExportService"),hGe=ch("defaultProfile-icon",J.settings,d(20452,null)),HK=rm(20454,"Profiles"),vGe={...HK},WK="code-profile",yGe=[{name:d(20453,null),extensions:[WK]}],IGe=new x("currentProfile",""),bGe=new x("hasProfiles",!1)});var as,Mc,dh=y(()=>{qr();Me();ze();Qr();iT();Q();_n();tn();it();Iu();X();wo();ih();as=D("IMcpResourceScannerService"),Mc=class extends _{constructor(e,n){super();this.fileService=e;this.uriIdentityService=n;this.resourcesAccessQueueMap=new Xe}async scanMcpServers(e,n){return this.withProfileMcpServers(e,n)}async addMcpServers(e,n,o){await this.withProfileMcpServers(n,o,i=>{let s=i.inputs??[],a=i.servers??{};for(let{name:l,config:c,inputs:u}of e)if(a[l]=c,u){let p=new Set(s.map(g=>g.id)),m=u.filter(g=>!p.has(g.id));s=[...s,...m]}return{servers:a,inputs:s,sandbox:i.sandbox}})}async updateSandboxConfig(e,n,o){await this.withProfileMcpServers(n,o,e)}async removeMcpServers(e,n,o){await this.withProfileMcpServers(n,o,i=>{for(let s of e)i.servers?.[s]&&delete i.servers[s];return i})}async withProfileMcpServers(e,n,o){return this.getResourceAccessQueue(e).queue(async()=>{n=n??2;let i={};try{let s=await this.fileService.readFile(e),a=[],l=ur(s.value.toString(),a,{allowTrailingComma:!0,allowEmptyContent:!0})||{};if(a.length>0)throw new Error("Failed to parse scanned MCP servers: "+a.map(c=>`[${c.offset}, ${c.length}] ${nc(c.error)}`).join(", "));if(n===2)i=this.fromUserMcpServers(l);else if(n===6)i=this.fromWorkspaceFolderMcpServers(l);else if(n===5){let c=l;c.settings?.mcp&&(i=this.fromWorkspaceFolderMcpServers(c.settings?.mcp))}}catch(s){if(Dt(s)!==1)throw s}return o&&(i=o(i??{}),n===2?await this.writeScannedMcpServers(e,i):n===6?await this.writeScannedMcpServersToWorkspaceFolder(e,i):n===5?await this.writeScannedMcpServersToWorkspace(e,i):Tl(n,`Invalid Target: ${dA(n)}`)),i})}async writeScannedMcpServers(e,n){n.servers&&Object.keys(n.servers).length>0||n.inputs&&n.inputs.length>0||n.sandbox!==void 0?await this.fileService.writeFile(e,L.fromString(JSON.stringify(n,null,"	"))):await this.fileService.del(e)}async writeScannedMcpServersToWorkspaceFolder(e,n){await this.fileService.writeFile(e,L.fromString(JSON.stringify(n,null,"	")))}async writeScannedMcpServersToWorkspace(e,n){let o;try{let i=await this.fileService.readFile(e),s=[];if(o=ur(i.value.toString(),s,{allowTrailingComma:!0,allowEmptyContent:!0}),s.length>0)throw new Error("Failed to parse scanned MCP servers: "+s.map(a=>`[${a.offset}, ${a.length}] ${nc(a.error)}`).join(", "))}catch(i){if(Dt(i)!==1)throw i;o={settings:{}}}o.settings||(o.settings={}),o.settings.mcp=n,await this.fileService.writeFile(e,L.fromString(JSON.stringify(o,null,"	")))}fromUserMcpServers(e){let n={inputs:e.inputs,sandbox:e.sandbox},o=Object.entries(e.servers??{});if(o.length>0){n.servers={};for(let[i,s]of o)n.servers[i]=this.sanitizeServer(s)}return n}fromWorkspaceFolderMcpServers(e){let n={inputs:e.inputs,sandbox:e.sandbox},o=Object.entries(e.servers??{});if(o.length>0){n.servers={};for(let[i,s]of o){let a=this.sanitizeServer(s);n.servers[i]=a}}return n}sanitizeServer(e){let n;if(e.config){let o=e;n={...o.config,version:o.version,gallery:o.gallery}}else n=e;return(n.type===void 0||n.type!=="http"&&n.type!=="stdio")&&(n.type=n.command?"stdio":"http"),n}getResourceAccessQueue(e){let n=this.resourcesAccessQueueMap.get(e);return n||(n=new Tr,this.resourcesAccessQueueMap.set(e,n)),n}};Mc=C([I(0,Oe),I(1,Je)],Mc);Xi(as,Mc,1)});var Cx,BK,GGe,KGe,jGe,$K,QGe,JGe,YGe,XGe,xx,oH,ls,la,rH,iH,MD=y(()=>{gi();tn();X();Cx=".vscode",BK="settings",GGe=`${Cx}/${BK}.json`,KGe=[1,3],jGe=[2,4,5,6,7],$K=[4,5,6],QGe=[1,...$K],JGe=[2,3,4,5,6,7],YGe=[4,5,6,7],XGe=[5,6,7],xx="tasks",oH="launch",ls="mcp",la=Object.create(null);la[xx]=`${Cx}/${xx}.json`;la[oH]=`${Cx}/${oH}.json`;la[ls]=`${Cx}/${ls}.json`;rH=Object.create(null);rH[xx]=`${xx}.json`;rH[ls]=`${ls}.json`;iH=mt});var Ex,nKe,AD=y(()=>{X();Me();Ex=D("remoteAgentService"),nKe=new class{constructor(){this.maxSampleCount=5;this.sampleDelay=2e3;this.initial=[];this.maxInitialCount=3;this.average=[];this.maxAverageCount=100;this.highLatencyMultiple=2;this.highLatencyMinThreshold=500;this.highLatencyMaxThreshold=1500;this.lastMeasurement=void 0}get latency(){return this.lastMeasurement}async measure(r){let t=1/0;for(let n=0;n<this.maxSampleCount;n++){let o=await r.getRoundTripTime();if(o===void 0)return;t=Math.min(t,o/2),await Qo(this.sampleDelay)}this.average.push(t),this.average.length>this.maxAverageCount&&this.average.shift();let e;return this.initial.length<this.maxInitialCount?this.initial.push(t):e=this.initial.reduce((n,o)=>n+o,0)/this.initial.length,this.lastMeasurement={initial:e,current:t,average:this.average.reduce((n,o)=>n+o,0)/this.average.length,high:typeof e>"u"?!1:t>this.highLatencyMaxThreshold||t>this.highLatencyMinThreshold&&t>e*this.highLatencyMultiple},this.lastMeasurement}}});var Pp,Ac,Lc,cs,kp,wx=y(()=>{Me();ze();jt();de();Ns();Q();_n();en();Ee();ie();le();tn();Nn();it();X();Pe();wo();No();gl();ih();dh();Pp=class extends _{constructor(e){super();this.logService=e}getMcpServerConfigurationFromManifest(e,n){if(n==="remote"&&e.remotes?.length){let c=e.remotes[0].url,u=e.remotes[0].headers??[],{inputs:p,variables:m}=this.processKeyValueInputs(c.startsWith("https://api.githubcopilot.com/mcp")?u.filter(g=>g.name.toLowerCase()!=="authorization"):u);return{mcpServerConfiguration:{config:{type:"http",url:e.remotes[0].url,headers:Object.keys(p).length?p:void 0},inputs:m.length?m:void 0},notices:[]}}let o=e.packages?.find(c=>c.registryType===n)??e.packages?.[0];if(!o)throw new Error("No server package found");let i=[],s=[],a={},l=[];if(o.registryType==="oci"&&(i.push("run"),i.push("-i"),i.push("--rm")),o.runtimeArguments?.length){let c=this.processArguments(o.runtimeArguments??[]);i.push(...c.args),s.push(...c.variables),l.push(...c.notices)}if(o.environmentVariables?.length){let{inputs:c,variables:u,notices:p}=this.processKeyValueInputs(o.environmentVariables??[]);s.push(...u),l.push(...p);for(let[m,g]of Object.entries(c))a[m]=g,o.registryType==="oci"&&(i.push("-e"),i.push(m))}switch(o.registryType){case"npm":o.registryBaseUrl&&i.push("--registry",o.registryBaseUrl),i.push(o.version?`${o.identifier}@${o.version}`:o.identifier);break;case"pypi":o.registryBaseUrl&&i.push("--index-url",o.registryBaseUrl),i.push(o.version?`${o.identifier}@${o.version}`:o.identifier);break;case"oci":{let c=o.registryBaseUrl?`${o.registryBaseUrl}/${o.identifier}`:o.identifier;i.push(o.version?`${c}:${o.version}`:c);break}case"nuget":i.push(o.version?`${o.identifier}@${o.version}`:o.identifier),i.push("--yes"),o.registryBaseUrl&&i.push("--source",o.registryBaseUrl),o.packageArguments?.length&&i.push("--");break}if(o.packageArguments?.length){let c=this.processArguments(o.packageArguments);i.push(...c.args),s.push(...c.variables),l.push(...c.notices)}return{notices:l,mcpServerConfiguration:{config:{type:"stdio",command:this.getCommandName(o.registryType),args:i.length?i:void 0,env:Object.keys(a).length?a:void 0},inputs:s.length?s:void 0}}}getCommandName(e){switch(e){case"npm":return"npx";case"oci":return"docker";case"pypi":return"uvx";case"nuget":return"dnx"}return e}getVariables(e){let n=[];for(let[o,i]of Object.entries(e))n.push({id:o,type:i.choices?"pickString":"promptString",description:i.description??"",password:!!i.isSecret,default:i.default,options:i.choices});return n}processKeyValueInputs(e){let n=[],o={},i=[];for(let s of e){let a=s.variables?this.getVariables(s.variables):[],l=s.value||"";if(a.length){for(let c of a)l=l.replace(`{${c.id}}`,`\${input:${c.id}}`);i.push(...a)}else!l&&(s.description||s.choices||s.default!==void 0)&&(i.push({id:s.name,type:s.choices?"pickString":"promptString",description:s.description??"",password:!!s.isSecret,default:s.default,options:s.choices}),l=`\${input:${s.name}}`);o[s.name]=l}return{inputs:o,variables:i,notices:n}}processArguments(e){let n=[],o=[],i=[];for(let s of e){let a=s.variables?this.getVariables(s.variables):[];if(s.type==="positional"){let l=s.value;if(l){for(let c of a)l=l.replace(`{${c.id}}`,`\${input:${c.id}}`);n.push(l),a.length&&o.push(...a)}else s.valueHint&&(s.description||s.default!==void 0)?(o.push({id:s.valueHint,type:"promptString",description:s.description??"",password:!1,default:s.default}),n.push(`\${input:${s.valueHint}}`)):n.push(s.valueHint??"")}else if(s.type==="named"){if(!s.name){i.push(`Named argument is missing a name. ${JSON.stringify(s)}`);continue}if(n.push(s.name),s.value){let l=s.value;for(let c of a)l=l.replace(`{${c.id}}`,`\${input:${c.id}}`);n.push(l),a.length&&o.push(...a)}else if(s.description||s.default!==void 0){let l=s.name.replace(/^--?/,"");o.push({id:l,type:"promptString",description:s.description??"",password:!1,default:s.default}),n.push(`\${input:${l}}`)}}}return{args:n,variables:o,notices:i}}};Pp=C([I(0,K)],Pp);Ac=class extends Pp{constructor(e,n,o,i,s,a,l,c){super(a);this.mcpResource=e;this.target=n;this.mcpGalleryService=o;this.fileService=i;this.uriIdentityService=s;this.mcpResourceScannerService=l;this.allowedMcpServersService=c;this.local=new Map;this._onInstallMcpServer=this._register(new w);this.onInstallMcpServer=this._onInstallMcpServer.event;this._onDidInstallMcpServers=this._register(new w);this._onDidUpdateMcpServers=this._register(new w);this._onUninstallMcpServer=this._register(new w);this._onDidUninstallMcpServer=this._register(new w);this.reloadConfigurationScheduler=this._register(new Ko(()=>this.updateLocal(),50))}get onDidInstallMcpServers(){return this._onDidInstallMcpServers.event}get onDidUpdateMcpServers(){return this._onDidUpdateMcpServers.event}get onUninstallMcpServer(){return this._onUninstallMcpServer.event}get onDidUninstallMcpServer(){return this._onDidUninstallMcpServer.event}ensureServerAllowed(e){let n=this.allowedMcpServersService.isAllowed(e);if(n!==!0)throw new Error(n.value)}initialize(){return this.initializePromise||(this.initializePromise=(async()=>{try{this.local=await this.populateLocalServers()}finally{this.startWatching()}})()),this.initializePromise}async populateLocalServers(){this.logService.trace("AbstractMcpResourceManagementService#populateLocalServers",this.mcpResource.toString());let e=new Map;try{let n=await this.mcpResourceScannerService.scanMcpServers(this.mcpResource,this.target);n.servers&&await Promise.allSettled(Object.entries(n.servers).map(async([o,i])=>{let s=await this.scanLocalServer(o,i,n.sandbox);e.set(o,s)}))}catch(n){throw this.logService.debug("Could not read user MCP servers:",n),n}return e}startWatching(){this._register(this.fileService.watch(this.mcpResource)),this._register(this.fileService.onDidFilesChange(e=>{e.affects(this.mcpResource)&&this.reloadConfigurationScheduler.schedule()}))}async updateLocal(e){try{let n=await this.populateLocalServers(),o=[],i=[],s=[...this.local.keys()].filter(a=>!n.has(a));for(let a of s)this.local.delete(a);for(let[a,l]of n){let c=this.local.get(a);c?pt(c,l)||(i.push(l),this.local.set(a,l)):(o.push(l),this.local.set(a,l))}for(let a of s)this.local.delete(a),this._onDidUninstallMcpServer.fire({name:a,mcpResource:this.mcpResource});i.length&&this._onDidUpdateMcpServers.fire(i.map(a=>({name:a.name,local:a,source:e?.name===a.name?e:void 0,mcpResource:this.mcpResource}))),o.length&&this._onDidInstallMcpServers.fire(o.map(a=>({name:a.name,local:a,source:e?.name===a.name?e:void 0,mcpResource:this.mcpResource})))}catch(n){this.logService.error("Failed to load installed MCP servers:",n)}}async getInstalled(){return await this.initialize(),Array.from(this.local.values())}async scanLocalServer(e,n,o){let i=await this.getLocalServerInfo(e,n);return i||(i={name:e,version:n.version,galleryUrl:Z(n.gallery)?n.gallery:void 0}),{name:e,config:n,rootSandbox:o,mcpResource:this.mcpResource,version:i.version,location:i.location,displayName:i.displayName,description:i.description,publisher:i.publisher,publisherDisplayName:i.publisherDisplayName,galleryUrl:i.galleryUrl,galleryId:i.galleryId,repositoryUrl:i.repositoryUrl,readmeUrl:i.readmeUrl,icon:i.icon,codicon:i.codicon,manifest:i.manifest,source:n.gallery?"gallery":"local"}}async install(e,n){this.logService.trace("MCP Management Service: install",e.name),this.ensureServerAllowed(e),this._onInstallMcpServer.fire({name:e.name,mcpResource:this.mcpResource});try{await this.mcpResourceScannerService.addMcpServers([e],this.mcpResource,this.target),await this.updateLocal();let o=this.local.get(e.name);if(!o)throw new Error(`Failed to install MCP server: ${e.name}`);return o}catch(o){throw this._onDidInstallMcpServers.fire([{name:e.name,error:o,mcpResource:this.mcpResource}]),o}}async uninstall(e,n){this.logService.trace("MCP Management Service: uninstall",e.name),this._onUninstallMcpServer.fire({name:e.name,mcpResource:this.mcpResource});try{if(!(await this.mcpResourceScannerService.scanMcpServers(this.mcpResource,this.target)).servers)return;await this.mcpResourceScannerService.removeMcpServers([e.name],this.mcpResource,this.target),e.location&&await this.fileService.del(b.revive(e.location),{recursive:!0}),await this.updateLocal()}catch(o){throw this._onDidUninstallMcpServer.fire({name:e.name,error:o,mcpResource:this.mcpResource}),o}}};Ac=C([I(2,aa),I(3,Oe),I(4,Je),I(5,K),I(6,as),I(7,Zo)],Ac);Lc=class extends Ac{constructor(t,e,n,o,i,s,a,l){super(t,2,e,n,o,i,s,a),this.mcpLocation=o.extUri.joinPath(l.userRoamingDataHome,"mcp")}async installFromGallery(t,e){throw new Error("Not supported")}async updateMetadata(t,e){await this.updateMetadataFromGallery(e),await this.updateLocal(e);let n=(await this.getInstalled()).find(o=>o.name===t.name);if(!n)throw new Error(`Failed to find MCP server: ${t.name}`);return n}async updateMetadataFromGallery(t){let e=t.configuration,n=this.getLocation(t.name,t.version),o=this.uriIdentityService.extUri.joinPath(n,"manifest.json"),i={galleryUrl:t.galleryUrl,galleryId:t.id,name:t.name,displayName:t.displayName,description:t.description,version:t.version,publisher:t.publisher,publisherDisplayName:t.publisherDisplayName,repositoryUrl:t.repositoryUrl,licenseUrl:t.license,icon:t.icon,codicon:t.codicon,manifest:e};if(await this.fileService.writeFile(o,L.fromString(JSON.stringify(i))),t.readmeUrl||t.readme){let s=t.readme?t.readme:await this.mcpGalleryService.getReadme(t,we.None);await this.fileService.writeFile(this.uriIdentityService.extUri.joinPath(n,"README.md"),L.fromString(s))}return e}async getLocalServerInfo(t,e){let n,o,i;if(e.gallery){o=this.getLocation(t,e.version);let s=this.uriIdentityService.extUri.joinPath(o,"manifest.json");try{let a=await this.fileService.readFile(s);n=JSON.parse(a.value.toString()),n.galleryUrl?.includes("/v0/")&&(n.galleryUrl=n.galleryUrl.substring(0,n.galleryUrl.indexOf("/v0/")),await this.fileService.writeFile(s,L.fromString(JSON.stringify(n)))),n.location=o,i=this.uriIdentityService.extUri.joinPath(o,"README.md"),await this.fileService.exists(i)||(i=void 0),n.readmeUrl=i}catch(a){Dt(a)===1?this.logService.trace("MCP Management Service: manifest not found",s.toString()):this.logService.error("MCP Management Service: failed to read manifest",o.toString(),a)}}return n}getLocation(t,e){return t=t.replace("/","."),this.uriIdentityService.extUri.joinPath(this.mcpLocation,e?`${t}-${e}`:t)}installFromUri(t,e){throw new Error("Method not supported.")}canInstall(){throw new Error("Not supported")}};Lc=C([I(1,aa),I(2,Oe),I(3,Je),I(4,K),I(5,as),I(6,Zo),I(7,Pt)],Lc);cs=class extends Pp{constructor(e,n){super(n);this.allowedMcpServersService=e}canInstall(e){let n=this.allowedMcpServersService.isAllowed(e);return n!==!0?new Nt(d(2975,null,n.value)):!0}};cs=C([I(0,Zo),I(1,K)],cs);kp=class extends cs{constructor(e,n,o,i){super(e,n);this.userDataProfilesService=o;this.instantiationService=i;this._onInstallMcpServer=this._register(new w);this.onInstallMcpServer=this._onInstallMcpServer.event;this._onDidInstallMcpServers=this._register(new w);this.onDidInstallMcpServers=this._onDidInstallMcpServers.event;this._onDidUpdateMcpServers=this._register(new w);this.onDidUpdateMcpServers=this._onDidUpdateMcpServers.event;this._onUninstallMcpServer=this._register(new w);this.onUninstallMcpServer=this._onUninstallMcpServer.event;this._onDidUninstallMcpServer=this._register(new w);this.onDidUninstallMcpServer=this._onDidUninstallMcpServer.event;this.mcpResourceManagementServices=new Xe}getMcpResourceManagementService(e){let n=this.mcpResourceManagementServices.get(e);if(!n){let o=new re,i=o.add(this.createMcpResourceManagementService(e));o.add(i.onInstallMcpServer(s=>this._onInstallMcpServer.fire(s))),o.add(i.onDidInstallMcpServers(s=>this._onDidInstallMcpServers.fire(s))),o.add(i.onDidUpdateMcpServers(s=>this._onDidUpdateMcpServers.fire(s))),o.add(i.onUninstallMcpServer(s=>this._onUninstallMcpServer.fire(s))),o.add(i.onDidUninstallMcpServer(s=>this._onDidUninstallMcpServer.fire(s))),this.mcpResourceManagementServices.set(e,n={service:i,dispose:()=>o.dispose()})}return n.service}async getInstalled(e){let n=e||this.userDataProfilesService.defaultProfile.mcpResource;return this.getMcpResourceManagementService(n).getInstalled()}async install(e,n){let o=n?.mcpResource||this.userDataProfilesService.defaultProfile.mcpResource;return this.getMcpResourceManagementService(o).install(e,n)}async uninstall(e,n){let o=n?.mcpResource||this.userDataProfilesService.defaultProfile.mcpResource;return this.getMcpResourceManagementService(o).uninstall(e,n)}async installFromGallery(e,n){let o=n?.mcpResource||this.userDataProfilesService.defaultProfile.mcpResource;return this.getMcpResourceManagementService(o).installFromGallery(e,n)}async updateMetadata(e,n,o){return this.getMcpResourceManagementService(o||this.userDataProfilesService.defaultProfile.mcpResource).updateMetadata(e,n)}dispose(){this.mcpResourceManagementServices.forEach(e=>e.dispose()),this.mcpResourceManagementServices.clear(),super.dispose()}createMcpResourceManagementService(e){return this.instantiationService.createInstance(Lc,e)}};kp=C([I(0,Zo),I(1,K),I(2,Yt),I(3,Tn)],kp)});function Oc(r,t){return r?b.revive(t?t.transformIncoming(r):r):void 0}function fl(r,t){t=t||Pu;let e=r.manifest;return{...ku({...r,manifest:void 0},t),manifest:e}}function OD(r,t){return r?.mcpResource?ku(r,t??Pu):r}function UD(r,t){return t?xo(r,e=>e instanceof b?t.transformOutgoingURI(e):void 0):r}function uh(r,t){return t?t.transformOutgoingURI(r):r}var Tx,Dp,ND=y(()=>{de();en();ie();nl();Pe();gl();wx();Tx=class{constructor(t,e){this.service=t;this.getUriTransformer=e;this.onInstallMcpServer=W.buffer(t.onInstallMcpServer,"onInstallMcpServer",!0),this.onDidInstallMcpServers=W.buffer(t.onDidInstallMcpServers,"onDidInstallMcpServers",!0),this.onDidUpdateMcpServers=W.buffer(t.onDidUpdateMcpServers,"onDidUpdateMcpServers",!0),this.onUninstallMcpServer=W.buffer(t.onUninstallMcpServer,"onUninstallMcpServer",!0),this.onDidUninstallMcpServer=W.buffer(t.onDidUninstallMcpServer,"onDidUninstallMcpServer",!0)}listen(t,e){let n=this.getUriTransformer(t);switch(e){case"onInstallMcpServer":return W.map(this.onInstallMcpServer,o=>({...o,mcpResource:uh(o.mcpResource,n)}));case"onDidInstallMcpServers":return W.map(this.onDidInstallMcpServers,o=>o.map(i=>({...i,local:i.local?UD(i.local,n):i.local,mcpResource:uh(i.mcpResource,n)})));case"onDidUpdateMcpServers":return W.map(this.onDidUpdateMcpServers,o=>o.map(i=>({...i,local:i.local?UD(i.local,n):i.local,mcpResource:uh(i.mcpResource,n)})));case"onUninstallMcpServer":return W.map(this.onUninstallMcpServer,o=>({...o,mcpResource:uh(o.mcpResource,n)}));case"onDidUninstallMcpServer":return W.map(this.onDidUninstallMcpServer,o=>({...o,mcpResource:uh(o.mcpResource,n)}))}throw new Error("Invalid listen")}async call(t,e,n){let o=this.getUriTransformer(t),i=Array.isArray(n)?n:[];switch(e){case"getInstalled":return(await this.service.getInstalled(Oc(i[0],o))).map(a=>UD(a,o));case"install":return this.service.install(i[0],OD(i[1],o));case"installFromGallery":return this.service.installFromGallery(i[0],OD(i[1],o));case"uninstall":return this.service.uninstall(fl(i[0],o),OD(i[1],o));case"updateMetadata":return this.service.updateMetadata(fl(i[0],o),i[1],Oc(i[2],o))}throw new Error("Invalid call")}},Dp=class extends cs{constructor(e,n,o){super(n,o);this.channel=e;this._onInstallMcpServer=this._register(new w);this._onDidInstallMcpServers=this._register(new w);this._onUninstallMcpServer=this._register(new w);this._onDidUninstallMcpServer=this._register(new w);this._onDidUpdateMcpServers=this._register(new w);this._register(this.channel.listen("onInstallMcpServer")(i=>this._onInstallMcpServer.fire({...i,mcpResource:Oc(i.mcpResource,null)}))),this._register(this.channel.listen("onDidInstallMcpServers")(i=>this._onDidInstallMcpServers.fire(i.map(s=>({...s,local:s.local?fl(s.local,null):s.local,mcpResource:Oc(s.mcpResource,null)}))))),this._register(this.channel.listen("onDidUpdateMcpServers")(i=>this._onDidUpdateMcpServers.fire(i.map(s=>({...s,local:s.local?fl(s.local,null):s.local,mcpResource:Oc(s.mcpResource,null)}))))),this._register(this.channel.listen("onUninstallMcpServer")(i=>this._onUninstallMcpServer.fire({...i,mcpResource:Oc(i.mcpResource,null)}))),this._register(this.channel.listen("onDidUninstallMcpServer")(i=>this._onDidUninstallMcpServer.fire({...i,mcpResource:Oc(i.mcpResource,null)})))}get onInstallMcpServer(){return this._onInstallMcpServer.event}get onDidInstallMcpServers(){return this._onDidInstallMcpServers.event}get onUninstallMcpServer(){return this._onUninstallMcpServer.event}get onDidUninstallMcpServer(){return this._onDidUninstallMcpServer.event}get onDidUpdateMcpServers(){return this._onDidUpdateMcpServers.event}install(e,n){return Promise.resolve(this.channel.call("install",[e,n])).then(o=>fl(o,null))}installFromGallery(e,n){return Promise.resolve(this.channel.call("installFromGallery",[e,n])).then(o=>fl(o,null))}uninstall(e,n){return Promise.resolve(this.channel.call("uninstall",[e,n]))}getInstalled(e){return Promise.resolve(this.channel.call("getInstalled",[e])).then(n=>n.map(o=>fl(o,null)))}updateMetadata(e,n,o){return Promise.resolve(this.channel.call("updateMetadata",[e,n,o])).then(i=>fl(i,null))}};Dp=C([I(1,Zo),I(2,K)],Dp)});var Rx,Px,FD=y(()=>{de();No();nl();Q();Rx=class{constructor(t,e){this.service=t;this.getUriTransformer=e}listen(t,e){let n=this.getUriTransformer(t);if(e==="onDidChangeProfiles")return W.map(this.service.onDidChangeProfiles,o=>({all:o.all.map(i=>Mr({...i},n)),added:o.added.map(i=>Mr({...i},n)),removed:o.removed.map(i=>Mr({...i},n)),updated:o.updated.map(i=>Mr({...i},n))}));throw new Error(`Invalid listen ${e}`)}async call(t,e,n){let o=this.getUriTransformer(t);switch(e){case"createProfile":{let i=await this.service.createProfile(n[0],n[1],n[2]);return Mr({...i},o)}case"updateProfile":{let i=ti(gR(n[0],o),this.service.profilesHome.scheme);return i=await this.service.updateProfile(i,n[1]),Mr({...i},o)}case"removeProfile":{let i=ti(gR(n[0],o),this.service.profilesHome.scheme);return this.service.removeProfile(i)}}throw new Error(`Invalid call ${e}`)}},Px=class extends _{constructor(e,n,o){super();this.profilesHome=n;this.channel=o;this._profiles=[];this._onDidChangeProfiles=this._register(new w);this.onDidChangeProfiles=this._onDidChangeProfiles.event;this._profiles=e.map(i=>ti(i,this.profilesHome.scheme)),this._register(this.channel.listen("onDidChangeProfiles")(i=>{let s=i.added.map(c=>ti(c,this.profilesHome.scheme)),a=i.removed.map(c=>ti(c,this.profilesHome.scheme)),l=i.updated.map(c=>ti(c,this.profilesHome.scheme));this._profiles=i.all.map(c=>ti(c,this.profilesHome.scheme)),this._onDidChangeProfiles.fire({added:s,removed:a,updated:l,all:this.profiles})})),this.onDidResetWorkspaces=this.channel.listen("onDidResetWorkspaces")}get defaultProfile(){return this.profiles[0]}get profiles(){return this._profiles}async createNamedProfile(e,n,o){let i=await this.channel.call("createNamedProfile",[e,n,o]);return ti(i,this.profilesHome.scheme)}async createProfile(e,n,o,i){let s=await this.channel.call("createProfile",[e,n,o,i]);return ti(s,this.profilesHome.scheme)}async createTransientProfile(e){let n=await this.channel.call("createTransientProfile",[e]);return ti(n,this.profilesHome.scheme)}async setProfileForWorkspace(e,n){await this.channel.call("setProfileForWorkspace",[e,n])}removeProfile(e){return this.channel.call("removeProfile",[e])}async updateProfile(e,n){let o=await this.channel.call("updateProfile",[e,n]);return ti(o,this.profilesHome.scheme)}resetWorkspaces(){return this.channel.call("resetWorkspaces")}cleanUp(){return this.channel.call("cleanUp")}cleanUpTransientProfiles(){return this.channel.call("cleanUpTransientProfiles")}}});var VD,HD,ph,sH=y(()=>{Q();Iu();X();No();AD();Us();Pe();_D();Lt();$S();FD();Se();VD="associatedRemoteProfiles",HD=D("IRemoteUserDataProfilesService"),ph=class extends _{constructor(e,n,o,i,s,a){super();this.environmentService=e;this.remoteAgentService=n;this.userDataProfilesService=o;this.userDataProfileService=i;this.storageService=s;this.logService=a;this.initPromise=this.init()}async init(){let e=this.remoteAgentService.getConnection();if(!e)return;let n=await this.remoteAgentService.getEnvironment();if(!n)return;this.remoteUserDataProfilesService=new Px(n.profiles.all,n.profiles.home,e.getChannel("userDataProfiles")),this._register(this.userDataProfilesService.onDidChangeProfiles(i=>this.onDidChangeLocalProfiles(i)));let o=await this.getAssociatedRemoteProfile(this.userDataProfileService.currentProfile,this.remoteUserDataProfilesService);o.isDefault||this.setAssociatedRemoteProfiles([...this.getAssociatedRemoteProfiles(),o.id]),this.cleanUp()}async onDidChangeLocalProfiles(e){for(let n of e.removed){let o=this.remoteUserDataProfilesService?.profiles.find(i=>i.id===n.id);o&&await this.remoteUserDataProfilesService?.removeProfile(o)}}async getRemoteProfiles(){if(await this.initPromise,!this.remoteUserDataProfilesService)throw new Kn("Remote profiles service not available in the current window");return this.remoteUserDataProfilesService.profiles}async getRemoteProfile(e){if(await this.initPromise,!this.remoteUserDataProfilesService)throw new Kn("Remote profiles service not available in the current window");return this.getAssociatedRemoteProfile(e,this.remoteUserDataProfilesService)}async getAssociatedRemoteProfile(e,n){if(e.isDefault)return n.defaultProfile;let o=n.profiles.find(i=>i.id===e.id);return o||(o=await n.createProfile(e.id,e.name,{transient:e.isTransient,useDefaultFlags:e.useDefaultFlags}),this.setAssociatedRemoteProfiles([...this.getAssociatedRemoteProfiles(),this.userDataProfileService.currentProfile.id])),o}getAssociatedRemoteProfiles(){return this.environmentService.remoteAuthority?this.parseAssociatedRemoteProfiles()[this.environmentService.remoteAuthority]??[]:[]}setAssociatedRemoteProfiles(e){if(this.environmentService.remoteAuthority){let n=this.parseAssociatedRemoteProfiles();e=jn(e),e.length?n[this.environmentService.remoteAuthority]=e:delete n[this.environmentService.remoteAuthority],Object.keys(n).length?this.storageService.store(VD,JSON.stringify(n),-1,1):this.storageService.remove(VD,-1)}}parseAssociatedRemoteProfiles(){if(this.environmentService.remoteAuthority){let e=this.storageService.get(VD,-1);try{return e?JSON.parse(e):{}}catch(n){this.logService.error(n)}}return{}}async cleanUp(){let e=[];for(let n of this.getAssociatedRemoteProfiles()){let o=this.remoteUserDataProfilesService?.profiles.find(s=>s.id===n);if(!o)continue;let i=this.userDataProfilesService.profiles.find(s=>s.id===n);if(i){i.name!==o.name&&await this.remoteUserDataProfilesService?.updateProfile(o,{name:i.name}),e.push(n);continue}o&&await this.remoteUserDataProfilesService?.removeProfile(o)}this.setAssociatedRemoteProfiles(e)}};ph=C([I(0,vp),I(1,Ex),I(2,Yt),I(3,Sx),I(4,ni),I(5,K)],ph);Xi(HD,ph,1)});var qK,zK,GK,WD,EQe,kx,mh,gh,aH=y(()=>{Q();gl();X();_D();de();dh();zd();wo();MD();Pe();AD();tn();ND();No();sH();wx();it();_n();qK="usrlocal",zK="usrremote",GK="workspace",WD="ws",EQe=lh,kx=class extends cs{constructor(e,n,o,i,s,a,l,c,u,p){super(n,o);this.mcpManagementService=e;this.userDataProfileService=i;this.uriIdentityService=s;this.workspaceContextService=a;this.userDataProfilesService=c;this.remoteUserDataProfilesService=u;this._onInstallMcpServer=this._register(new w);this.onInstallMcpServer=this._onInstallMcpServer.event;this._onDidInstallMcpServers=this._register(new w);this.onDidInstallMcpServers=this._onDidInstallMcpServers.event;this._onDidUpdateMcpServers=this._register(new w);this.onDidUpdateMcpServers=this._onDidUpdateMcpServers.event;this._onUninstallMcpServer=this._register(new w);this.onUninstallMcpServer=this._onUninstallMcpServer.event;this._onDidUninstallMcpServer=this._register(new w);this.onDidUninstallMcpServer=this._onDidUninstallMcpServer.event;this._onInstallMcpServerInCurrentProfile=this._register(new w);this.onInstallMcpServerInCurrentProfile=this._onInstallMcpServerInCurrentProfile.event;this._onDidInstallMcpServersInCurrentProfile=this._register(new w);this.onDidInstallMcpServersInCurrentProfile=this._onDidInstallMcpServersInCurrentProfile.event;this._onDidUpdateMcpServersInCurrentProfile=this._register(new w);this.onDidUpdateMcpServersInCurrentProfile=this._onDidUpdateMcpServersInCurrentProfile.event;this._onUninstallMcpServerInCurrentProfile=this._register(new w);this.onUninstallMcpServerInCurrentProfile=this._onUninstallMcpServerInCurrentProfile.event;this._onDidUninstallMcpServerInCurrentProfile=this._register(new w);this.onDidUninstallMcpServerInCurrentProfile=this._onDidUninstallMcpServerInCurrentProfile.event;this._onDidChangeProfile=this._register(new w);this.onDidChangeProfile=this._onDidChangeProfile.event;this.workspaceMcpManagementService=this._register(p.createInstance(gh));let m=l.getConnection();m&&(this.remoteMcpManagementService=this._register(p.createInstance(Dp,m.getChannel("mcpManagement")))),this._register(this.mcpManagementService.onInstallMcpServer(g=>{this._onInstallMcpServer.fire(g),s.extUri.isEqual(g.mcpResource,this.userDataProfileService.currentProfile.mcpResource)&&this._onInstallMcpServerInCurrentProfile.fire({...g,scope:"user"})})),this._register(this.mcpManagementService.onDidInstallMcpServers(g=>{let{mcpServerInstallResult:h,mcpServerInstallResultInCurrentProfile:v}=this.createInstallMcpServerResultsFromEvent(g,"user");this._onDidInstallMcpServers.fire(h),v.length&&this._onDidInstallMcpServersInCurrentProfile.fire(v)})),this._register(this.mcpManagementService.onDidUpdateMcpServers(g=>{let{mcpServerInstallResult:h,mcpServerInstallResultInCurrentProfile:v}=this.createInstallMcpServerResultsFromEvent(g,"user");this._onDidUpdateMcpServers.fire(h),v.length&&this._onDidUpdateMcpServersInCurrentProfile.fire(v)})),this._register(this.mcpManagementService.onUninstallMcpServer(g=>{this._onUninstallMcpServer.fire(g),s.extUri.isEqual(g.mcpResource,this.userDataProfileService.currentProfile.mcpResource)&&this._onUninstallMcpServerInCurrentProfile.fire({...g,scope:"user"})})),this._register(this.mcpManagementService.onDidUninstallMcpServer(g=>{this._onDidUninstallMcpServer.fire(g),s.extUri.isEqual(g.mcpResource,this.userDataProfileService.currentProfile.mcpResource)&&this._onDidUninstallMcpServerInCurrentProfile.fire({...g,scope:"user"})})),this._register(this.workspaceMcpManagementService.onInstallMcpServer(async g=>{this._onInstallMcpServer.fire(g),this._onInstallMcpServerInCurrentProfile.fire({...g,scope:"workspace"})})),this._register(this.workspaceMcpManagementService.onDidInstallMcpServers(async g=>{let{mcpServerInstallResult:h}=this.createInstallMcpServerResultsFromEvent(g,"workspace");this._onDidInstallMcpServers.fire(h),this._onDidInstallMcpServersInCurrentProfile.fire(h)})),this._register(this.workspaceMcpManagementService.onUninstallMcpServer(async g=>{this._onUninstallMcpServer.fire(g),this._onUninstallMcpServerInCurrentProfile.fire({...g,scope:"workspace"})})),this._register(this.workspaceMcpManagementService.onDidUninstallMcpServer(async g=>{this._onDidUninstallMcpServer.fire(g),this._onDidUninstallMcpServerInCurrentProfile.fire({...g,scope:"workspace"})})),this._register(this.workspaceMcpManagementService.onDidUpdateMcpServers(g=>{let{mcpServerInstallResult:h}=this.createInstallMcpServerResultsFromEvent(g,"workspace");this._onDidUpdateMcpServers.fire(h),this._onDidUpdateMcpServersInCurrentProfile.fire(h)})),this.remoteMcpManagementService&&(this._register(this.remoteMcpManagementService.onInstallMcpServer(async g=>{this._onInstallMcpServer.fire(g);let h=await this.getRemoteMcpResource(this.userDataProfileService.currentProfile.mcpResource);(h?s.extUri.isEqual(g.mcpResource,h):this.userDataProfileService.currentProfile.isDefault)&&this._onInstallMcpServerInCurrentProfile.fire({...g,scope:"remoteUser"})})),this._register(this.remoteMcpManagementService.onDidInstallMcpServers(g=>this.handleRemoteInstallMcpServerResultsFromEvent(g,this._onDidInstallMcpServers,this._onDidInstallMcpServersInCurrentProfile))),this._register(this.remoteMcpManagementService.onDidUpdateMcpServers(g=>this.handleRemoteInstallMcpServerResultsFromEvent(g,this._onDidInstallMcpServers,this._onDidInstallMcpServersInCurrentProfile))),this._register(this.remoteMcpManagementService.onUninstallMcpServer(async g=>{this._onUninstallMcpServer.fire(g);let h=await this.getRemoteMcpResource(this.userDataProfileService.currentProfile.mcpResource);(h?s.extUri.isEqual(g.mcpResource,h):this.userDataProfileService.currentProfile.isDefault)&&this._onUninstallMcpServerInCurrentProfile.fire({...g,scope:"remoteUser"})})),this._register(this.remoteMcpManagementService.onDidUninstallMcpServer(async g=>{this._onDidUninstallMcpServer.fire(g);let h=await this.getRemoteMcpResource(this.userDataProfileService.currentProfile.mcpResource);(h?s.extUri.isEqual(g.mcpResource,h):this.userDataProfileService.currentProfile.isDefault)&&this._onDidUninstallMcpServerInCurrentProfile.fire({...g,scope:"remoteUser"})}))),this._register(i.onDidChangeCurrentProfile(g=>{this.uriIdentityService.extUri.isEqual(g.previous.mcpResource,g.profile.mcpResource)||this._onDidChangeProfile.fire()}))}createInstallMcpServerResultsFromEvent(e,n){let o=[],i=[];for(let s of e){let a={...s,local:s.local?this.toWorkspaceMcpServer(s.local,n):void 0};o.push(a),this.uriIdentityService.extUri.isEqual(s.mcpResource,this.userDataProfileService.currentProfile.mcpResource)&&i.push(a)}return{mcpServerInstallResult:o,mcpServerInstallResultInCurrentProfile:i}}async handleRemoteInstallMcpServerResultsFromEvent(e,n,o){let i=[],s=[],a=await this.getRemoteMcpResource(this.userDataProfileService.currentProfile.mcpResource);for(let l of e){let c={...l,local:l.local?this.toWorkspaceMcpServer(l.local,"remoteUser"):void 0};i.push(c),(a?this.uriIdentityService.extUri.isEqual(l.mcpResource,a):this.userDataProfileService.currentProfile.isDefault)&&s.push(c)}n.fire(i),s.length&&o.fire(s)}async getInstalled(){let e=[],[n,o,i]=await Promise.all([this.mcpManagementService.getInstalled(this.userDataProfileService.currentProfile.mcpResource),this.remoteMcpManagementService?.getInstalled(await this.getRemoteMcpResource())??Promise.resolve([]),this.workspaceMcpManagementService?.getInstalled()??Promise.resolve([])]);for(let s of n)e.push(this.toWorkspaceMcpServer(s,"user"));for(let s of o)e.push(this.toWorkspaceMcpServer(s,"remoteUser"));for(let s of i)e.push(this.toWorkspaceMcpServer(s,"workspace"));return e}toWorkspaceMcpServer(e,n){return{...e,id:`mcp.config.${this.getConfigId(e,n)}.${e.name}`,scope:n}}getConfigId(e,n){if(n==="user")return qK;if(n==="remoteUser")return zK;if(n==="workspace"){let o=this.workspaceContextService.getWorkspace();if(o.configuration&&this.uriIdentityService.extUri.isEqual(o.configuration,e.mcpResource))return GK;let i=o.folders;for(let s=0;s<i.length;s++){let a=i[s];if(this.uriIdentityService.extUri.isEqual(this.uriIdentityService.extUri.joinPath(a.uri,la[ls]),e.mcpResource))return`${WD}${s}`}}return"unknown"}async install(e,n){if(n=n??{},n.target===5||Lw(n.target)){let i=n.target===5?this.workspaceContextService.getWorkspace().configuration:n.target.toResource(la[ls]);if(!i)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=i;let s=await this.workspaceMcpManagementService.install(e,n);return this.toWorkspaceMcpServer(s,"workspace")}if(n.target===4){if(!this.remoteMcpManagementService)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=await this.getRemoteMcpResource(n.mcpResource);let i=await this.remoteMcpManagementService.install(e,n);return this.toWorkspaceMcpServer(i,"remoteUser")}if(n.target&&n.target!==2&&n.target!==3)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=this.userDataProfileService.currentProfile.mcpResource;let o=await this.mcpManagementService.install(e,n);return this.toWorkspaceMcpServer(o,"user")}async installFromGallery(e,n){if(n=n??{},n.target===5||Lw(n.target)){let i=n.target===5?this.workspaceContextService.getWorkspace().configuration:n.target.toResource(la[ls]);if(!i)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=i;let s=await this.workspaceMcpManagementService.installFromGallery(e,n);return this.toWorkspaceMcpServer(s,"workspace")}if(n.target===4){if(!this.remoteMcpManagementService)throw new Error(`Illegal target: ${n.target}`);n.mcpResource=await this.getRemoteMcpResource(n.mcpResource);let i=await this.remoteMcpManagementService.installFromGallery(e,n);return this.toWorkspaceMcpServer(i,"remoteUser")}if(n.target&&n.target!==2&&n.target!==3)throw new Error(`Illegal target: ${n.target}`);n.mcpResource||(n.mcpResource=this.userDataProfileService.currentProfile.mcpResource);let o=await this.mcpManagementService.installFromGallery(e,n);return this.toWorkspaceMcpServer(o,"user")}async updateMetadata(e,n,o){if(e.scope==="workspace"){let s=await this.workspaceMcpManagementService.updateMetadata(e,n,o);return this.toWorkspaceMcpServer(s,"workspace")}if(e.scope==="remoteUser"){if(!this.remoteMcpManagementService)throw new Error(`Illegal target: ${e.scope}`);let s=await this.remoteMcpManagementService.updateMetadata(e,n,o);return this.toWorkspaceMcpServer(s,"remoteUser")}let i=await this.mcpManagementService.updateMetadata(e,n,o);return this.toWorkspaceMcpServer(i,"user")}async uninstall(e){if(e.scope==="workspace")return this.workspaceMcpManagementService.uninstall(e);if(e.scope==="remoteUser"){if(!this.remoteMcpManagementService)throw new Error(`Illegal target: ${e.scope}`);return this.remoteMcpManagementService.uninstall(e)}return this.mcpManagementService.uninstall(e,{mcpResource:this.userDataProfileService.currentProfile.mcpResource})}async getRemoteMcpResource(e){if(!e&&this.userDataProfileService.currentProfile.isDefault)return;e=e??this.userDataProfileService.currentProfile.mcpResource;let n=this.userDataProfilesService.profiles.find(o=>this.uriIdentityService.extUri.isEqual(o.mcpResource,e));return n?n=await this.remoteUserDataProfilesService.getRemoteProfile(n):n=(await this.remoteUserDataProfilesService.getRemoteProfiles()).find(o=>this.uriIdentityService.extUri.isEqual(o.mcpResource,e)),n?.mcpResource}};kx=C([I(1,Zo),I(2,K),I(3,Sx),I(4,Je),I(5,qd),I(6,Ex),I(7,Yt),I(8,HD),I(9,Tn)],kx);mh=class extends Ac{constructor(t,e,n,o,i,s,a,l){super(t,e,n,o,i,s,a,l)}async installFromGallery(t,e){this.logService.trace("MCP Management Service: installGallery",t.name,t.galleryUrl),this._onInstallMcpServer.fire({name:t.name,mcpResource:this.mcpResource});try{let n=e?.packageType??t.configuration.packages?.[0]?.registryType??"remote",{mcpServerConfiguration:o,notices:i}=this.getMcpServerConfigurationFromManifest(t.configuration,n);i.length>0&&this.logService.warn(`MCP Management Service: Warnings while installing ${t.name}`,i);let s={name:t.name,config:{...o.config,gallery:t.galleryUrl??!0,version:t.version},inputs:o.inputs};this.ensureServerAllowed(s),await this.mcpResourceScannerService.addMcpServers([s],this.mcpResource,this.target),await this.updateLocal(t);let a=(await this.getInstalled()).find(l=>l.name===t.name);if(!a)throw new Error(`Failed to install MCP server: ${t.name}`);return a}catch(n){throw this._onDidInstallMcpServers.fire([{name:t.name,source:t,error:n,mcpResource:this.mcpResource}]),n}}updateMetadata(){throw new Error("Not supported")}installFromUri(){throw new Error("Not supported")}async getLocalServerInfo(t,e){if(!e.gallery)return;let[n]=await this.mcpGalleryService.getMcpServersFromGallery([{name:t}]);if(n)return{name:n.name,version:e.version,displayName:n.displayName,description:n.description,galleryUrl:n.galleryUrl,manifest:n.configuration,publisher:n.publisher,publisherDisplayName:n.publisherDisplayName,repositoryUrl:n.repositoryUrl,icon:n.icon}}canInstall(t){throw new Error("Not supported")}};mh=C([I(2,aa),I(3,Oe),I(4,Je),I(5,K),I(6,as),I(7,Zo)],mh);gh=class extends cs{constructor(e,n,o,i,s){super(e,o);this.uriIdentityService=n;this.workspaceContextService=i;this.instantiationService=s;this._onInstallMcpServer=this._register(new w);this.onInstallMcpServer=this._onInstallMcpServer.event;this._onDidInstallMcpServers=this._register(new w);this.onDidInstallMcpServers=this._onDidInstallMcpServers.event;this._onDidUpdateMcpServers=this._register(new w);this.onDidUpdateMcpServers=this._onDidUpdateMcpServers.event;this._onUninstallMcpServer=this._register(new w);this.onUninstallMcpServer=this._onUninstallMcpServer.event;this._onDidUninstallMcpServer=this._register(new w);this.onDidUninstallMcpServer=this._onDidUninstallMcpServer.event;this.allMcpServers=[];this.workspaceMcpManagementServices=new Xe;this.initialize()}async initialize(){try{await this.onDidChangeWorkbenchState(),await this.onDidChangeWorkspaceFolders({added:this.workspaceContextService.getWorkspace().folders,removed:[],changed:[]}),this._register(this.workspaceContextService.onDidChangeWorkspaceFolders(e=>this.onDidChangeWorkspaceFolders(e))),this._register(this.workspaceContextService.onDidChangeWorkbenchState(e=>this.onDidChangeWorkbenchState()))}catch(e){this.logService.error("Failed to initialize workspace folders",e)}}async onDidChangeWorkbenchState(){this.workspaceConfiguration&&await this.removeWorkspaceService(this.workspaceConfiguration),this.workspaceConfiguration=this.workspaceContextService.getWorkspace().configuration,this.workspaceConfiguration&&await this.addWorkspaceService(this.workspaceConfiguration,5)}async onDidChangeWorkspaceFolders(e){try{await Promise.allSettled(e.removed.map(n=>this.removeWorkspaceService(n.toResource(la[ls]))))}catch(n){this.logService.error(n)}try{await Promise.allSettled(e.added.map(n=>this.addWorkspaceService(n.toResource(la[ls]),6)))}catch(n){this.logService.error(n)}}async addWorkspaceService(e,n){if(this.workspaceMcpManagementServices.has(e))return;let o=new re,i=o.add(this.instantiationService.createInstance(mh,e,n));try{let s=await i.getInstalled();if(this.allMcpServers.push(...s),s.length>0){let a=s.map(l=>({name:l.name,local:l,mcpResource:l.mcpResource}));this._onDidInstallMcpServers.fire(a)}}catch(s){this.logService.warn("Failed to get installed servers from",e.toString(),s)}o.add(i.onInstallMcpServer(s=>this._onInstallMcpServer.fire(s))),o.add(i.onDidInstallMcpServers(s=>{for(let{local:a}of s)a&&this.allMcpServers.push(a);this._onDidInstallMcpServers.fire(s)})),o.add(i.onDidUpdateMcpServers(s=>{for(let{local:a,mcpResource:l}of s)if(a){let c=this.allMcpServers.findIndex(u=>this.uriIdentityService.extUri.isEqual(u.mcpResource,l)&&u.name===a.name);c!==-1&&this.allMcpServers.splice(c,1,a)}this._onDidUpdateMcpServers.fire(s)})),o.add(i.onUninstallMcpServer(s=>this._onUninstallMcpServer.fire(s))),o.add(i.onDidUninstallMcpServer(s=>{let a=this.allMcpServers.findIndex(l=>this.uriIdentityService.extUri.isEqual(l.mcpResource,s.mcpResource)&&l.name===s.name);a!==-1&&(this.allMcpServers.splice(a,1),this._onDidUninstallMcpServer.fire(s))})),this.workspaceMcpManagementServices.set(e,{service:i,dispose:()=>o.dispose()})}async removeWorkspaceService(e){let n=this.workspaceMcpManagementServices.get(e);if(n){try{let o=await n.service.getInstalled();this.allMcpServers=this.allMcpServers.filter(i=>!o.some(s=>this.uriIdentityService.extUri.isEqual(s.mcpResource,i.mcpResource)));for(let i of o)this._onDidUninstallMcpServer.fire({name:i.name,mcpResource:i.mcpResource})}catch(o){this.logService.warn("Failed to get installed servers from",e.toString(),o)}this.workspaceMcpManagementServices.delete(e),n.dispose()}}async getInstalled(){return this.allMcpServers}async install(e,n){if(!n?.mcpResource)throw new Error("MCP resource is required");let o=this.workspaceMcpManagementServices.get(n?.mcpResource);if(!o)throw new Error(`No MCP management service found for resource: ${n?.mcpResource.toString()}`);return o.service.install(e,n)}async uninstall(e,n){let o=e.mcpResource,i=this.workspaceMcpManagementServices.get(o);if(!i)throw new Error(`No MCP management service found for resource: ${o.toString()}`);return i.service.uninstall(e,n)}installFromGallery(e,n){if(!n?.mcpResource)throw new Error("MCP resource is required");let o=this.workspaceMcpManagementServices.get(n?.mcpResource);if(!o)throw new Error(`No MCP management service found for resource: ${n?.mcpResource.toString()}`);return o.service.installFromGallery(e,n)}updateMetadata(){throw new Error("Not supported")}dispose(){this.workspaceMcpManagementServices.forEach(e=>e.dispose()),this.workspaceMcpManagementServices.clear(),super.dispose()}};gh=C([I(0,Zo),I(1,Je),I(2,K),I(3,qd),I(4,Tn)],gh)});var BD,lH=y(()=>{(l=>(l.LATEST_PROTOCOL_VERSION="2025-11-25",l.JSONRPC_VERSION="2.0",l.PARSE_ERROR=-32700,l.INVALID_REQUEST=-32600,l.METHOD_NOT_FOUND=-32601,l.INVALID_PARAMS=-32602,l.INTERNAL_ERROR=-32603,l.URL_ELICITATION_REQUIRED=-32042))(BD||={})});var cH=y(()=>{lH()});var KK,jK,QK,pH,JK,YQe,YK,fh,XK,dH,ZK,Dx,XQe,ZQe,ej,eJe,tJe,mH=y(()=>{Lt();qr();ze();Q();en();ia();Rt();ie();le();tn();lo();Bn();X();ah();aH();cH();KK="mcp.config.";(n=>{function r(o,i){return o.id===i.id&&o.remoteAuthority===i.remoteAuthority&&o.label===i.label&&o.trustBehavior===i.trustBehavior&&pt(o.sandbox,i.sandbox)}n.equals=r;function t(o){return o.configTarget===5||o.configTarget===6}n.isWorkspaceDiscovered=t;function e(o){return o.id.startsWith(`${KK}${WD}`)}n.isVscodeMcpJson=e})(jK||={});(n=>{function r(o){return o}n.toSerialized=r;function t(o){return{id:o.id,label:o.label,cacheNonce:o.cacheNonce,staticMetadata:o.staticMetadata,launch:fh.fromSerialized(o.launch),defaultCwd:o.defaultCwd?b.revive(o.defaultCwd):void 0,sandboxEnabled:o.sandboxEnabled,variableReplacement:o.variableReplacement?pH.fromSerialized(o.variableReplacement):void 0}}n.fromSerialized=t;function e(o,i){return o.id===i.id&&o.label===i.label&&o.cacheNonce===i.cacheNonce&&yo(o.defaultCwd,i.defaultCwd)&&vn(o.roots,i.roots,(s,a)=>s.toString()===a.toString())&&pt(o.launch,i.launch)&&pt(o.presentation,i.presentation)&&pt(o.variableReplacement,i.variableReplacement)&&pt(o.devMode,i.devMode)&&o.sandboxEnabled===i.sandboxEnabled}n.equals=e})(QK||={});(e=>{function r(n){return n}e.toSerialized=r;function t(n){return{section:n.section,folder:n.folder?{...n.folder,uri:b.revive(n.folder.uri)}:void 0,target:n.target}}e.fromSerialized=t})(pH||={});(t=>t.Empty={working:!1,starting:[],serversRequiringInteraction:[]})(JK||={});YQe=D("IMcpService");(t=>{let r;(s=>(s[s.Trusted=0]="Trusted",s[s.TrustedOnNonce=1]="TrustedOnNonce",s[s.Untrusted=2]="Untrusted",s[s.Unknown=3]="Unknown"))(r=t.Kind||={})})(YK||={});(n=>{function r(o){return o}n.toSerialized=r;function t(o){switch(o.type){case 2:return{type:o.type,uri:b.revive(o.uri),headers:o.headers,oauth:o.oauth,authentication:o.authentication};case 1:return{type:o.type,cwd:o.cwd,command:o.command,args:o.args,env:o.env,envFile:o.envFile,sandbox:o.sandbox}}}n.fromSerialized=t;async function e(o){let i=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(JSON.stringify(o)));return Ea(L.wrap(new Uint8Array(i)))}n.hash=e})(fh||={});(i=>{let r;(u=>(u[u.Stopped=0]="Stopped",u[u.Starting=1]="Starting",u[u.Running=2]="Running",u[u.Error=3]="Error"))(r=i.Kind||={}),i.toString=s=>{switch(s.state){case 0:return d(14284,null);case 1:return d(14283,null);case 2:return d(14282,null);case 3:return d(14281,null,s.message);default:Tl(s)}},i.toKindString=s=>{switch(s){case 0:return"stopped";case 1:return"starting";case 2:return"running";case 3:return"error";default:Tl(s)}},i.canBeStarted=s=>s===3||s===0,i.isRunning=s=>!(0,i.canBeStarted)(s.state)})(XK||={});dH=class r extends Error{constructor(e){super(`${r.prefix}${e}`);this.reason=e}static{this.prefix="User interaction required: "}static is(e){return e.message.startsWith(this.prefix)}},ZK=D("IMcpWorkbenchService"),Dx=class extends _{constructor(e,n){super();this.containers=e;this._register(n.onChange(this.update,this))}set mcpServer(e){this.containers.forEach(n=>n.mcpServer=e)}update(e){for(let n of this.containers)e&&n.mcpServer?e.id===n.mcpServer.id&&(n.mcpServer=e):n.update()}};Dx=C([I(1,ZK)],Dx);XQe=new x("mcpServersGalleryStatus","unavailable"),ZQe=new x("hasInstalledMcpServers",!0);(o=>{o.scheme="mcp-resource";let t="dylo78gyp";function e(i,s){return typeof s=="string"&&(s=b.parse(s)),s.with({scheme:o.scheme,authority:Ea(L.fromString(i.id)),path:["",s.scheme,s.authority||t].join("/")+s.path})}o.fromServer=e;function n(i){if(typeof i=="string"&&(i=b.parse(i)),i.scheme!==o.scheme)throw new Error(`Invalid MCP resource URI: ${i.toString()}`);let s=i.path.split("/");if(s.length<3)throw new Error(`Invalid MCP resource URI: ${i.toString()}`);let[,a,l,...c]=s,u=new URL(`${a}://${l.toLowerCase()===t?"":l}`);return u.pathname=c.length?"/"+c.join("/"):"",u.search=i.query,u.hash=i.fragment,{definitionId:_m(i.authority).toString(),resourceURL:u}}o.toServer=n})(ej||={});eJe=D("IMcpServerSampling"),tJe=D("IMcpElicitationService")});var iJe,sJe,gH=y(()=>{X();iJe=D("scm"),sJe=D("scmView")});var _i,hh=y(()=>{_i=class r{constructor(t,e=t.length){this.path=t;this.viewEnd=e;if(t.length===0||e<1)throw new Error("cannot create test with empty path")}static fromExtHostTestItem(t,e,n=t.parent){if(t._isRoot)return new r([e]);let o=[t.id];for(let i=n;i&&i.id!==e;i=i.parent)o.push(i.id);return o.push(e),new r(o.reverse())}static isRoot(t){return!t.includes("\0")}static root(t){let e=t.indexOf("\0");return e===-1?t:t.slice(0,e)}static fromString(t){return new r(t.split("\0"))}static join(t,e){return new r([...t.path,e])}static split(t){return t.split("\0")}static joinToString(t,e){return t.toString()+"\0"+e}static parentId(t){let e=t.lastIndexOf("\0");return e===-1?void 0:t.slice(0,e)}static localId(t){let e=t.lastIndexOf("\0");return e===-1?t:t.slice(e+1)}static isChild(t,e){return e[t.length]==="\0"&&e.startsWith(t)}static compare(t,e){return t===e?0:r.isChild(t,e)?2:r.isChild(e,t)?3:1}static getLengthOfCommonPrefix(t,e){if(t===0)return 0;let n=0;for(;n<t-1;){for(let o=1;o<t;o++){let i=e(o-1),s=e(o);if(i.path[n]!==s.path[n])return n}n++}return n}get rootId(){return new r(this.path,1)}get parentId(){return this.viewEnd>1?new r(this.path,this.viewEnd-1):void 0}get localId(){return this.path[this.viewEnd-1]}get controllerId(){return this.path[0]}get isRoot(){return this.viewEnd===1}*idsFromRoot(){for(let t=1;t<=this.viewEnd;t++)yield new r(this.path,t)}*idsToRoot(){for(let t=this.viewEnd;t>0;t--)yield new r(this.path,t)}compare(t){if(typeof t=="string")return r.compare(this.toString(),t);for(let e=0;e<t.viewEnd&&e<this.viewEnd;e++)if(t.path[e]!==this.path[e])return 1;return t.viewEnd>this.viewEnd?2:t.viewEnd<this.viewEnd?3:0}toJSON(){return this.toString()}toString(){if(!this.stringifed){this.stringifed=this.path[0];for(let t=1;t<this.viewEnd;t++)this.stringifed+="\0",this.stringifed+=this.path[t]}return this.stringifed}}});function e_(r){return{...r,location:r.location?.toJSON()}}function t_(r){return r.location=r.location?Ri.isIPosition(r.location)?Ri.lift(r.location):bn.lift(r.location):void 0,r}var vJe,vh,$D,qD,zD,GD,_x,fH,XD,ZD,KD,_p,jD,tj,hH,nj,oj,QD,JD,YD,rj,Mx=y(()=>{ie();fS();Zs();le();hh();vJe={2:d(18392,null),4:d(18391,null),8:d(18390,null)};(e=>(e.serialize=n=>({range:n.range.toJSON(),uri:n.uri.toJSON()}),e.deserialize=(n,o)=>({range:bn.lift(o.range),uri:n.asCanonicalUri(b.revive(o.uri))})))(vh||={});(e=>(e.serialize=n=>({label:n.label,uri:n.uri?.toJSON(),position:n.position?.toJSON()}),e.deserialize=(n,o)=>({label:o.label,uri:o.uri?n.asCanonicalUri(b.revive(o.uri)):void 0,position:o.position?Ri.lift(o.position):void 0})))($D||={});(e=>(e.serialize=n=>({message:n.message,type:0,expected:n.expected,actual:n.actual,contextValue:n.contextValue,location:n.location&&vh.serialize(n.location),stackTrace:n.stackTrace?.map($D.serialize)}),e.deserialize=(n,o)=>({message:o.message,type:0,expected:o.expected,actual:o.actual,contextValue:o.contextValue,location:o.location&&vh.deserialize(n,o.location),stackTrace:o.stackTrace&&o.stackTrace.map(i=>$D.deserialize(n,i))})))(qD||={});(e=>(e.serialize=n=>({message:n.message,type:1,offset:n.offset,length:n.length,location:n.location&&vh.serialize(n.location)}),e.deserialize=(n,o)=>({message:o.message,type:1,offset:o.offset,length:o.length,location:o.location&&vh.deserialize(n,o.location)})))(zD||={});(n=>(n.serialize=o=>o.type===0?qD.serialize(o):zD.serialize(o),n.deserialize=(o,i)=>i.type===0?qD.deserialize(o,i):zD.deserialize(o,i),n.isDiffable=o=>o.type===0&&o.actual!==void 0&&o.expected!==void 0))(GD||={});(n=>(n.serializeWithoutMessages=o=>({state:o.state,duration:o.duration,messages:[]}),n.serialize=o=>({state:o.state,duration:o.duration,messages:o.messages.map(GD.serialize)}),n.deserialize=(o,i)=>({state:i.state,duration:i.duration,messages:i.messages.map(s=>GD.deserialize(o,s))})))(_x||={});fH="\0",XD=(r,t)=>r+fH+t,ZD=r=>{let t=r.indexOf(fH);return{ctrlId:r.slice(0,t),tagId:r.slice(t+1)}};(e=>(e.serialize=n=>({extId:n.extId,label:n.label,tags:n.tags,busy:n.busy,children:void 0,uri:n.uri?.toJSON(),range:n.range?.toJSON()||null,description:n.description,error:n.error,sortText:n.sortText}),e.deserialize=(n,o)=>({extId:o.extId,label:o.label,tags:o.tags,busy:o.busy,children:void 0,uri:o.uri?n.asCanonicalUri(b.revive(o.uri)):void 0,range:o.range?bn.lift(o.range):null,description:o.description,error:o.error,sortText:o.sortText})))(KD||={});(e=>(e.serialize=n=>({expand:n.expand,item:KD.serialize(n.item)}),e.deserialize=(n,o)=>({controllerId:_i.root(o.item.extId),expand:o.expand,item:KD.deserialize(n,o.item)})))(_p||={});(e=>(e.serialize=n=>{let o;return n.item&&(o={},n.item.label!==void 0&&(o.label=n.item.label),n.item.tags!==void 0&&(o.tags=n.item.tags),n.item.busy!==void 0&&(o.busy=n.item.busy),n.item.uri!==void 0&&(o.uri=n.item.uri?.toJSON()),n.item.range!==void 0&&(o.range=n.item.range?.toJSON()),n.item.description!==void 0&&(o.description=n.item.description),n.item.error!==void 0&&(o.error=n.item.error),n.item.sortText!==void 0&&(o.sortText=n.item.sortText)),{extId:n.extId,expand:n.expand,item:o}},e.deserialize=n=>{let o;return n.item&&(o={},n.item.label!==void 0&&(o.label=n.item.label),n.item.tags!==void 0&&(o.tags=n.item.tags),n.item.busy!==void 0&&(o.busy=n.item.busy),n.item.range!==void 0&&(o.range=n.item.range?bn.lift(n.item.range):null),n.item.description!==void 0&&(o.description=n.item.description),n.item.error!==void 0&&(o.error=n.item.error),n.item.sortText!==void 0&&(o.sortText=n.item.sortText)),{extId:n.extId,expand:n.expand,item:o}}))(jD||={});(n=>(n.serializeWithoutMessages=o=>({..._p.serialize(o),ownComputedState:o.ownComputedState,computedState:o.computedState,tasks:o.tasks.map(_x.serializeWithoutMessages)}),n.serialize=o=>({..._p.serialize(o),ownComputedState:o.ownComputedState,computedState:o.computedState,tasks:o.tasks.map(_x.serialize)}),n.deserialize=(o,i)=>({..._p.deserialize(o,i),ownComputedState:i.ownComputedState,computedState:i.computedState,tasks:i.tasks.map(s=>_x.deserialize(o,s)),retired:!0})))(tj||={});(e=>(e.empty=()=>({covered:0,total:0}),e.sum=(n,o)=>{n.covered+=o.covered,n.total+=o.total}))(hH||={});(n=>(n.serialize=o=>({id:o.id,statement:o.statement,branch:o.branch,declaration:o.declaration,testIds:o.testIds,uri:o.uri.toJSON()}),n.deserialize=(o,i)=>({id:i.id,statement:i.statement,branch:i.branch,declaration:i.declaration,testIds:i.testIds,uri:o.asCanonicalUri(b.revive(i.uri))}),n.empty=(o,i)=>({id:o,uri:i,statement:hH.empty()})))(nj||={});(e=>(e.serialize=n=>n.type===0?JD.serialize(n):YD.serialize(n),e.deserialize=n=>n.type===0?JD.deserialize(n):YD.deserialize(n)))(oj||={});(e=>(e.serialize=e_,e.deserialize=t_))(QD||={});(e=>(e.serialize=e_,e.deserialize=t_))(JD||={});(e=>(e.serialize=n=>({...e_(n),branches:n.branches?.map(QD.serialize)}),e.deserialize=n=>({...t_(n),branches:n.branches?.map(QD.deserialize)})))(YD||={});(e=>(e.deserialize=(n,o)=>o.op===0?{op:o.op,item:_p.deserialize(n,o.item)}:o.op===1?{op:o.op,item:jD.deserialize(o.item)}:o.op===2?{op:o.op,uri:n.asCanonicalUri(b.revive(o.uri)),docv:o.docv}:o,e.serialize=n=>n.op===0?{op:n.op,item:_p.serialize(n.item)}:n.op===1?{op:n.op,item:jD.serialize(n.item)}:n))(rj||={})});var bJe,vH=y(()=>{X();bJe=D("IAiSettingsSearchService")});var HJe,yH=y(()=>{X();Nf();HJe=D("editorGroupsService")});var IH,bH,SH,n_=y(()=>{X();yH();IH=D("editorService"),bH=-1,SH=-2});function A(r){let t=new o_(r);return ij[t.nid]=t,t}var o_,ij,Mp,Ax=y(()=>{o_=class r{constructor(t){this._proxyIdentifierBrand=void 0;this.sid=t,this.nid=++r.count}static{this.count=0}},ij=[];Mp=class{constructor(t){this.value=t}}});var yh,sj,cYe,r_,Ap,i_,xH,s_=y(()=>{Me();de();Q();qr();Mx();hh();yh=(r,t)=>r===t,sj={range:(r,t)=>r===t?!0:!r||!t?!1:r.equalsRange(t),busy:yh,label:yh,description:yh,error:yh,sortText:yh,tags:(r,t)=>!(r.length!==t.length||r.some(e=>!t.includes(e)))},cYe=Object.entries(sj),r_=class extends Error{constructor(t){super(`Attempted to insert a duplicate test item ID ${t}`)}},Ap=class extends Error{constructor(t){super(`TestItem with ID "${t}" is invalid. Make sure to create it from the createTestItem method.`)}},i_=class extends Error{constructor(t,e,n){super(`TestItem with ID "${t}" is from controller "${e}" and cannot be added as a child of an item from controller "${n}".`)}},xH=(r,t,e)=>{let n=new Map;return{get size(){return n.size},forEach(o,i){for(let s of n.values())o.call(i,s,this)},[Symbol.iterator](){return n.entries()},replace(o){let i=new Map,s=new Set(n.keys()),a={op:5,ops:[]};for(let l of o){if(!(l instanceof e))throw new Ap(l.id);let c=t(l).controllerId;if(c!==r.controllerId)throw new i_(l.id,c,r.controllerId);if(i.has(l.id))throw new r_(l.id);i.set(l.id,l),s.delete(l.id),a.ops.push({op:0,item:l})}for(let l of s.keys())a.ops.push({op:3,id:l});r.listener?.(a),n=i},add(o){if(!(o instanceof e))throw new Ap(o.id);n.set(o.id,o),r.listener?.({op:0,item:o})},delete(o){n.delete(o)&&r.listener?.({op:3,id:o})},get(o){return n.get(o)},toJSON(){return Array.from(n.values())}}}});var CH,EH,Lx,a_=y(()=>{s_();CH=new WeakMap,EH=(r,t)=>{let e={controllerId:t};return CH.set(r,e),e},Lx=r=>{let t=CH.get(r);if(!t)throw new Ap(r?.id||"<unknown>");return t}});function P_(r){return typeof r>"u"?r:typeof r=="string"?b.file(r):r}function OH(r){switch(typeof r.mimeType=="string"?r.mimeType.toLowerCase():""){case"image/png":case"image/jpeg":case"image/jpg":case"image/gif":case"image/webp":case"image/bmp":return!0;default:return!1}}var R_,ge,ca,aj,da,wH,lj,l_,cj,c_,Ux,dj,ct,Ih,d_,TH,uj,us,pj,ua,Uc,u_,mj,xh,gj,fj,hl,hj,vj,yj,Ij,bj,p_,Sj,RH,xj,PH,Cj,kH,Ej,m_,g_,wj,Tj,DH,_H,Rj,Pj,kj,Dj,_j,Mj,f_,Aj,Lj,h_,Oj,ds,Uj,k_,v_,y_,Nj,bh,I_,b_,Fj,Vj,Hj,Wj,Bj,MH,vl,D_,AH,Ch,$j,qj,zj,__,Gj,Ox,Kj,LH,Sh,jj,Qj,S_,UH,NH,FH,VH,x_,HH,C_,WH,BH,$H,qH,zH,GH,KH,jH,QH,JH,YH,Jj,Yj,E_,XH,ZH,eW,tW,w_,nW,Xj,Zj,oW,eQ,rW,Nx,M_,iW,tQ,sW,nQ,oQ,T_,rQ,aW,iQ,lW,sQ,aQ,lQ,cQ,dQ,cW,uQ,pQ,mQ,dW,uW,gQ,A_=y(()=>{Lt();ze();cF();um();Ns();_n();wF();Os();ad();dc();en();me();RF();Rt();Va();Ee();ie();Jt();NF();Zs();QP();vS();WF();BF();qF();Nf();Ff();Vf();hV();CS();Qf();YV();nh();dD();XV();mH();Xg();Xg();gH();hh();Mx();vH();n_();tD();Ax();a_();aS();aS();(e=>{function r(n){let{selectionStartLineNumber:o,selectionStartColumn:i,positionLineNumber:s,positionColumn:a}=n,l=new Fe(o-1,i-1),c=new Fe(s-1,a-1);return new Ei(l,c)}e.to=r;function t(n){let{anchor:o,active:i}=n;return{selectionStartLineNumber:o.line+1,selectionStartColumn:o.character+1,positionLineNumber:i.line+1,positionColumn:i.character+1}}e.from=t})(R_||={});(e=>{function r(n){if(!n)return;let{start:o,end:i}=n;return{startLineNumber:o.line+1,startColumn:o.character+1,endLineNumber:i.line+1,endColumn:i.character+1}}e.from=r;function t(n){if(!n)return;let{startLineNumber:o,startColumn:i,endLineNumber:s,endColumn:a}=n;return new $e(o-1,i-1,s-1,a-1)}e.to=t})(ge||={});(e=>{function r(n){return{uri:n.uri,range:ge.from(n.range)}}e.from=r;function t(n){return new Ro(b.revive(n.uri),ge.to(n.range))}e.to=t})(ca||={});(t=>{function r(e){switch(e){case 1:return 1;case 0:return 0;case 3:return 3;case 2:return 2}}t.to=r})(aj||={});(e=>{function r(n){return new Fe(n.lineNumber-1,n.column-1)}e.to=r;function t(n){return{lineNumber:n.line+1,column:n.character+1}}e.from=t})(da||={});(n=>{function r(o,i,s){return Go(Yc(o).map(a=>t(a,i,s)))}n.from=r;function t(o,i,s){if(typeof o=="string")return{$serialized:!0,language:o,isBuiltin:s?.isBuiltin};if(o)return{$serialized:!0,language:o.language,scheme:e(o.scheme,i),pattern:ds.from(o.pattern)??void 0,exclusive:o.exclusive,notebookType:o.notebookType,isBuiltin:s?.isBuiltin}}function e(o,i){return i&&typeof o=="string"?i.transformOutgoingScheme(o):o}})(wH||={});(e=>{function r(n){return n.viewType!==void 0}function t(n,o,i){return r(n)?{viewType:n.viewType}:{uri:wH.from(n.uri,o,i)}}e.from=t})(lj||={});(e=>{function r(n){switch(n){case 1:return 1;case 2:return 2}}e.from=r;function t(n){switch(n){case 1:return 1;case 2:return 2;default:return}}e.to=t})(l_||={});(e=>{function r(n){let o;return n.code&&(Z(n.code)||fo(n.code)?o=String(n.code):o={value:String(n.code.value),target:n.code.target}),{...ge.from(n.range),message:n.message,source:n.source,code:o,severity:Ux.from(n.severity),relatedInformation:n.relatedInformation&&n.relatedInformation.map(c_.from),tags:Array.isArray(n.tags)?Go(n.tags.map(l_.from)):void 0}}e.from=r;function t(n){let o=new uc(ge.to(n),n.message,Ux.to(n.severity));return o.source=n.source,o.code=Z(n.code)?n.code:n.code?.value,o.relatedInformation=n.relatedInformation&&n.relatedInformation.map(c_.to),o.tags=n.tags&&Go(n.tags.map(l_.to)),o}e.to=t})(cj||={});(e=>{function r(n){return{...ge.from(n.location.range),message:n.message,resource:n.location.uri}}e.from=r;function t(n){return new rl(new Ro(n.resource,ge.to(n)),n.message)}e.to=t})(c_||={});(e=>{function r(n){switch(n){case 0:return 8;case 1:return 4;case 2:return 2;case 3:return 1}return 8}e.from=r;function t(n){switch(n){case 2:return 2;case 4:return 1;case 8:return 0;case 1:return 3;default:return 0}}e.to=t})(Ux||={});(e=>{function r(n){return typeof n=="number"&&n>=1?n-1:n===-2?SH:bH}e.from=r;function t(n){if(typeof n=="number"&&n>=0)return n+1;throw new Error("invalid 'EditorGroupColumn'")}e.to=t})(dj||={});(s=>{function r(a){return a.map(s.from)}s.fromMany=r;function t(a){return a&&typeof a=="object"&&typeof a.language=="string"&&typeof a.value=="string"}function e(a){let l;if(t(a)){let{language:p,value:m}=a;l={value:"```"+p+`
`+m+"\n```\n"}}else To.isMarkdownString(a)?l={value:a.value,isTrusted:a.isTrusted,supportThemeIcons:a.supportThemeIcons,supportHtml:a.supportHtml,supportAlertSyntax:a.supportAlertSyntax,baseUri:a.baseUri}:typeof a=="string"?l={value:a}:l={value:""};let c=Object.create(null);l.uris=c;let u=({href:p})=>{try{let m=b.parse(p,!0);m=m.with({query:n(m.query,c)}),c[p]=m}catch{}return""};return Ft.walkTokens(Ft.lexer(l.value),p=>{p.type==="link"?u({href:p.href}):p.type==="image"&&typeof p.href=="string"&&u(CO(p.href))}),l}s.from=e;function n(a,l){if(!a)return a;let c;try{c=Ry(a)}catch{}if(!c)return a;let u=!1;return c=xo(c,p=>{if(b.isUri(p)){let m=`__uri_${Math.random().toString(16).slice(2,8)}`;return l[m]=p,u=!0,m}else return}),u?JSON.stringify(c):a}function o(a){let l=new To(a.value,a.supportThemeIcons);return l.isTrusted=a.isTrusted,l.supportHtml=a.supportHtml,l.supportAlertSyntax=a.supportAlertSyntax,l.baseUri=a.baseUri?b.from(a.baseUri):void 0,l}s.to=o;function i(a){if(a)return typeof a=="string"?a:s.from(a)}s.fromStrict=i})(ct||={});(t=>{function r(e){return typeof e>"u"?e:{contentText:e.contentText,contentIconPath:e.contentIconPath?P_(e.contentIconPath):void 0,border:e.border,borderColor:e.borderColor,fontStyle:e.fontStyle,fontWeight:e.fontWeight,textDecoration:e.textDecoration,color:e.color,backgroundColor:e.backgroundColor,margin:e.margin,width:e.width,height:e.height}}t.from=r})(Ih||={});(t=>{function r(e){return typeof e>"u"?e:{backgroundColor:e.backgroundColor,outline:e.outline,outlineColor:e.outlineColor,outlineStyle:e.outlineStyle,outlineWidth:e.outlineWidth,border:e.border,borderColor:e.borderColor,borderRadius:e.borderRadius,borderSpacing:e.borderSpacing,borderStyle:e.borderStyle,borderWidth:e.borderWidth,fontStyle:e.fontStyle,fontWeight:e.fontWeight,textDecoration:e.textDecoration,cursor:e.cursor,color:e.color,opacity:e.opacity,letterSpacing:e.letterSpacing,gutterIconPath:e.gutterIconPath?P_(e.gutterIconPath):void 0,gutterIconSize:e.gutterIconSize,overviewRulerColor:e.overviewRulerColor,before:e.before?Ih.from(e.before):void 0,after:e.after?Ih.from(e.after):void 0}}t.from=r})(d_||={});(t=>{function r(e){if(typeof e>"u")return e;switch(e){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3}}t.from=r})(TH||={});(t=>{function r(e){return{isWholeLine:e.isWholeLine,rangeBehavior:e.rangeBehavior?TH.from(e.rangeBehavior):void 0,overviewRulerLane:e.overviewRulerLane,light:e.light?d_.from(e.light):void 0,dark:e.dark?d_.from(e.dark):void 0,backgroundColor:e.backgroundColor,outline:e.outline,outlineColor:e.outlineColor,outlineStyle:e.outlineStyle,outlineWidth:e.outlineWidth,border:e.border,borderColor:e.borderColor,borderRadius:e.borderRadius,borderSpacing:e.borderSpacing,borderStyle:e.borderStyle,borderWidth:e.borderWidth,fontStyle:e.fontStyle,fontWeight:e.fontWeight,textDecoration:e.textDecoration,cursor:e.cursor,color:e.color,opacity:e.opacity,letterSpacing:e.letterSpacing,gutterIconPath:e.gutterIconPath?P_(e.gutterIconPath):void 0,gutterIconSize:e.gutterIconSize,overviewRulerColor:e.overviewRulerColor,before:e.before?Ih.from(e.before):void 0,after:e.after?Ih.from(e.after):void 0}}t.from=r})(uj||={});(e=>{function r(n){return{text:n.newText,eol:n.newEol&&f_.from(n.newEol),range:ge.from(n.range)}}e.from=r;function t(n){let o=new Po(ge.to(n.range),n.text);return o.newEol=typeof n.eol>"u"?void 0:f_.to(n.eol),o}e.to=t})(us||={});(e=>{function r(n,o){let i={edits:[]};if(n instanceof il){let s=new Ss;for(let a of n._allEntries())a._type===1&&b.isUri(a.to)&&a.from===void 0&&s.add(a.to);for(let a of n._allEntries())if(a._type===1){let l;a.options?.contents&&(ArrayBuffer.isView(a.options.contents)?l={type:"base64",value:bo(L.wrap(a.options.contents))}:l={type:"dataTransferItem",id:a.options.contents._itemId}),i.edits.push({oldResource:a.from,newResource:a.to,options:{...a.options,contents:l},metadata:a.metadata})}else a._type===2?i.edits.push({resource:a.uri,textEdit:us.from(a.edit),versionId:s.has(a.uri)?void 0:o?.getTextDocumentVersion(a.uri),metadata:a.metadata}):a._type===6?i.edits.push({resource:a.uri,textEdit:{range:ge.from(a.range),text:a.edit.value,insertAsSnippet:!0,keepWhitespace:a.keepWhitespace},versionId:s.has(a.uri)?void 0:o?.getTextDocumentVersion(a.uri),metadata:a.metadata}):a._type===3?i.edits.push({metadata:a.metadata,resource:a.uri,cellEdit:a.edit,notebookVersionId:o?.getNotebookDocumentVersion(a.uri)}):a._type===5&&i.edits.push({metadata:a.metadata,resource:a.uri,notebookVersionId:o?.getNotebookDocumentVersion(a.uri),cellEdit:{editType:1,index:a.index,count:a.count,cells:a.cells.map(bh.from)}})}return i}e.from=r;function t(n){let o=new il,i=new Xe;for(let s of n.edits)if(s.textEdit){let a=s,l=b.revive(a.resource),c=ge.to(a.textEdit.range),u=a.textEdit.text,p=a.textEdit.insertAsSnippet,m;p?m=pc.replace(c,new Fo(u)):m=Po.replace(c,u);let g=i.get(l);g?g.push(m):i.set(l,[m])}else o.renameFile(b.revive(s.oldResource),b.revive(s.newResource),s.options);for(let[s,a]of i)o.set(s,a);return o}e.to=t})(pj||={});(n=>{let r=Object.create(null);r[0]=0,r[1]=1,r[2]=2,r[3]=3,r[4]=4,r[5]=5,r[6]=6,r[7]=7,r[8]=8,r[9]=9,r[10]=10,r[11]=11,r[12]=12,r[13]=13,r[14]=14,r[15]=15,r[16]=16,r[17]=17,r[18]=18,r[19]=19,r[20]=20,r[21]=21,r[22]=22,r[23]=23,r[24]=24,r[25]=25;function t(o){return typeof r[o]=="number"?r[o]:6}n.from=t;function e(o){for(let i in r)if(r[i]===o)return Number(i);return 6}n.to=e})(ua||={});(e=>{function r(n){if(n===1)return 1}e.from=r;function t(n){if(n===1)return 1}e.to=t})(Uc||={});(e=>{function r(n){return{name:n.name,kind:ua.from(n.kind),tags:n.tags&&n.tags.map(Uc.from),containerName:n.containerName,location:hl.from(n.location)}}e.from=r;function t(n){let o=new Gs(n.name,ua.to(n.kind),n.containerName,hl.to(n.location));return o.tags=n.tags&&n.tags.map(Uc.to),o}e.to=t})(u_||={});(e=>{function r(n){let o={name:n.name||"!!MISSING: name!!",detail:n.detail,range:ge.from(n.range),selectionRange:ge.from(n.selectionRange),kind:ua.from(n.kind),tags:n.tags?.map(Uc.from)??[]};return n.children&&(o.children=n.children.map(r)),o}e.from=r;function t(n){let o=new Qs(n.name,n.detail,ua.to(n.kind),ge.to(n.range),ge.to(n.selectionRange));return wl(n.tags)&&(o.tags=n.tags.map(Uc.to)),n.children&&(o.children=n.children.map(t)),o}e.to=t})(mj||={});(e=>{function r(n){let o=new np(ua.to(n.kind),n.name,n.detail||"",b.revive(n.uri),ge.to(n.range),ge.to(n.selectionRange));return o._sessionId=n._sessionId,o._itemId=n._itemId,o}e.to=r;function t(n,o,i){if(o=o??n._sessionId,i=i??n._itemId,o===void 0||i===void 0)throw new Error("invalid item");return{_sessionId:o,_itemId:i,name:n.name,detail:n.detail,kind:ua.from(n.kind),uri:n.uri,range:ge.from(n.range),selectionRange:ge.from(n.selectionRange),tags:n.tags?.map(Uc.from)}}e.from=t})(xh||={});(t=>{function r(e){return new Ob(xh.to(e.from),e.fromRanges.map(n=>ge.to(n)))}t.to=r})(gj||={});(t=>{function r(e){return new Ub(xh.to(e.to),e.fromRanges.map(n=>ge.to(n)))}t.to=r})(fj||={});(e=>{function r(n){return{range:n.range&&ge.from(n.range),uri:n.uri}}e.from=r;function t(n){return new Ro(b.revive(n.uri),ge.to(n.range))}e.to=t})(hl||={});(e=>{function r(n){let o=n,i=n;return{originSelectionRange:o.originSelectionRange?ge.from(o.originSelectionRange):void 0,uri:o.targetUri?o.targetUri:i.uri,range:ge.from(o.targetRange?o.targetRange:i.range),targetSelectionRange:o.targetSelectionRange?ge.from(o.targetSelectionRange):void 0}}e.from=r;function t(n){return{targetUri:b.revive(n.uri),targetRange:ge.to(n.range),targetSelectionRange:n.targetSelectionRange?ge.to(n.targetSelectionRange):void 0,originSelectionRange:n.originSelectionRange?ge.to(n.originSelectionRange):void 0}}e.to=t})(hj||={});(e=>{function r(n){return{range:ge.from(n.range),contents:ct.fromMany(n.contents),canIncreaseVerbosity:n.canIncreaseVerbosity,canDecreaseVerbosity:n.canDecreaseVerbosity}}e.from=r;function t(n){let o=n.contents.map(ct.to),i=ge.to(n.range),s=n.canIncreaseVerbosity,a=n.canDecreaseVerbosity;return new Hu(o,i,s,a)}e.to=t})(vj||={});(e=>{function r(n){return{range:ge.from(n.range),expression:n.expression}}e.from=r;function t(n){return new Yu(ge.to(n.range),n.expression)}e.to=t})(yj||={});(e=>{function r(n){if(n instanceof Xu)return{type:"text",range:ge.from(n.range),text:n.text};if(n instanceof Zu)return{type:"variable",range:ge.from(n.range),variableName:n.variableName,caseSensitiveLookup:n.caseSensitiveLookup};if(n instanceof ep)return{type:"expression",range:ge.from(n.range),expression:n.expression};throw new Error("Unknown 'InlineValue' type")}e.from=r;function t(n){switch(n.type){case"text":return{range:ge.to(n.range),text:n.text};case"variable":return{range:ge.to(n.range),variableName:n.variableName,caseSensitiveLookup:n.caseSensitiveLookup};case"expression":return{range:ge.to(n.range),expression:n.expression}}}e.to=t})(Ij||={});(e=>{function r(n){return{frameId:n.frameId,stoppedLocation:ge.from(n.stoppedLocation)}}e.from=r;function t(n){return new tp(n.frameId,ge.to(n.stoppedLocation))}e.to=t})(bj||={});(e=>{function r(n){return{range:ge.from(n.range),kind:n.kind}}e.from=r;function t(n){return new Wu(ge.to(n.range),n.kind)}e.to=t})(p_||={});(e=>{function r(n){return{uri:n.uri,highlights:n.highlights.map(p_.from)}}e.from=r;function t(n){return new Bu(b.revive(n.uri),n.highlights.map(p_.to))}e.to=t})(Sj||={});(t=>{function r(e){switch(e){case 1:return 1;case 2:return 2;case 0:default:return 0}}t.to=r})(RH||={});(t=>{function r(e){return{triggerKind:RH.to(e.triggerKind),triggerCharacter:e.triggerCharacter}}t.to=r})(xj||={});(e=>{function r(n){if(n===1)return 1}e.from=r;function t(n){if(n===1)return 1}e.to=t})(PH||={});(t=>{function r(e,n,o){return"icon"in e&&"command"in e?{command:n.toInternal(e.command,o),icon:cW.fromThemeIcon(e.icon)}:{command:n.toInternal(e,o)}}t.from=r})(Cj||={});(o=>{let r=new Map([[1,0],[2,1],[3,2],[4,3],[5,4],[6,5],[7,7],[21,6],[8,8],[9,9],[10,12],[11,13],[20,14],[12,15],[19,16],[13,17],[14,28],[0,18],[15,19],[16,20],[17,21],[18,23],[22,10],[23,11],[24,24],[26,26],[25,25]]);function t(i){return r.get(i)??9}o.from=t;let e=new Map([[0,1],[1,2],[2,3],[3,4],[4,5],[5,6],[7,7],[6,21],[8,8],[9,9],[12,10],[13,11],[14,20],[15,12],[16,19],[17,13],[28,14],[18,0],[19,15],[20,16],[21,17],[23,18],[10,22],[11,23],[24,24],[25,25],[26,26]]);function n(i){return e.get(i)??9}o.to=n})(kH||={});(t=>{function r(e,n){let o=new Gu(e.label);return o.insertText=e.insertText,o.kind=kH.to(e.kind),o.tags=e.tags?.map(PH.to),o.detail=e.detail,o.documentation=Si(e.documentation)?ct.to(e.documentation):e.documentation,o.sortText=e.sortText,o.filterText=e.filterText,o.preselect=e.preselect,o.commitCharacters=e.commitCharacters,bn.isIRange(e.range)?o.range=ge.to(e.range):typeof e.range=="object"&&(o.range={inserting:ge.to(e.range.insert),replacing:ge.to(e.range.replace)}),o.keepWhitespace=typeof e.insertTextRules>"u"?!1:!!(e.insertTextRules&1),typeof e.insertTextRules<"u"&&e.insertTextRules&4?o.insertText=new Fo(e.insertText):(o.insertText=e.insertText,o.textEdit=o.range instanceof $e?new Po(o.range,o.insertText):void 0),e.additionalTextEdits&&e.additionalTextEdits.length>0&&(o.additionalTextEdits=e.additionalTextEdits.map(i=>us.to(i))),o.command=n&&e.command?n.fromInternal(e.command):void 0,o}t.to=r})(Ej||={});(e=>{function r(n){if(typeof n.label!="string"&&!Array.isArray(n.label))throw new TypeError("Invalid label");return{label:n.label,documentation:ct.fromStrict(n.documentation)}}e.from=r;function t(n){return{label:n.label,documentation:Si(n.documentation)?ct.to(n.documentation):n.documentation}}e.to=t})(m_||={});(e=>{function r(n){return{label:n.label,documentation:ct.fromStrict(n.documentation),parameters:Array.isArray(n.parameters)?n.parameters.map(m_.from):[],activeParameter:n.activeParameter}}e.from=r;function t(n){return{label:n.label,documentation:Si(n.documentation)?ct.to(n.documentation):n.documentation,parameters:Array.isArray(n.parameters)?n.parameters.map(m_.to):[],activeParameter:n.activeParameter}}e.to=t})(g_||={});(e=>{function r(n){return{activeSignature:n.activeSignature,activeParameter:n.activeParameter,signatures:Array.isArray(n.signatures)?n.signatures.map(g_.from):[]}}e.from=r;function t(n){return{activeSignature:n.activeSignature,activeParameter:n.activeParameter,signatures:Array.isArray(n.signatures)?n.signatures.map(g_.to):[]}}e.to=t})(wj||={});(t=>{function r(e,n){let o=new zu(da.to(n.position),typeof n.label=="string"?n.label:n.label.map(DH.to.bind(void 0,e)),n.kind&&_H.to(n.kind));return o.textEdits=n.textEdits&&n.textEdits.map(us.to),o.tooltip=Si(n.tooltip)?ct.to(n.tooltip):n.tooltip,o.paddingLeft=n.paddingLeft,o.paddingRight=n.paddingRight,o}t.to=r})(Tj||={});(t=>{function r(e,n){let o=new qu(n.label);return o.tooltip=Si(n.tooltip)?ct.to(n.tooltip):n.tooltip,XP.is(n.command)&&(o.command=e.fromInternal(n.command)),n.location&&(o.location=hl.to(n.location)),o}t.to=r})(DH||={});(e=>{function r(n){return n}e.from=r;function t(n){return n}e.to=t})(_H||={});(e=>{function r(n){return{range:ge.from(n.range),url:n.target,tooltip:n.tooltip}}e.from=r;function t(n){let o;if(n.url)try{o=typeof n.url=="string"?b.parse(n.url,!0):b.revive(n.url)}catch{}let i=new Ku(ge.to(n.range),o);return i.tooltip=n.tooltip,i}e.to=t})(Rj||={});(e=>{function r(n){let o=new ju(n.label);return n.textEdit&&(o.textEdit=us.to(n.textEdit)),n.additionalTextEdits&&(o.additionalTextEdits=n.additionalTextEdits.map(i=>us.to(i))),o}e.to=r;function t(n){return{label:n.label,textEdit:n.textEdit?us.from(n.textEdit):void 0,additionalTextEdits:n.additionalTextEdits?n.additionalTextEdits.map(o=>us.from(o)):void 0}}e.from=t})(Pj||={});(e=>{function r(n){return new mc(n[0],n[1],n[2],n[3])}e.to=r;function t(n){return[n.red,n.green,n.blue,n.alpha]}e.from=t})(kj||={});(e=>{function r(n){return{range:ge.from(n.range)}}e.from=r;function t(n){return new $u(ge.to(n.range))}e.to=t})(Dj||={});(t=>{function r(e){switch(e){case 2:return 2;case 1:return 1;case 3:case 4:return 3}}t.to=r})(_j||={});(e=>{function r(n){switch(n){case 0:return 0;case 2:return 2;case 3:return 3;case 1:default:return 1}}e.from=r;function t(n){switch(n){case 0:return 0;case 2:return 2;case 3:return 3;case 1:default:return 1}}e.to=t})(Mj||={});(e=>{function r(n){if(n===2)return 1;if(n===1)return 0}e.from=r;function t(n){if(n===1)return 2;if(n===0)return 1}e.to=t})(f_||={});(t=>{function r(e){if(typeof e=="object")return e.viewId;switch(e){case 1:return 3;case 10:return 10;case 15:return 15}throw new Error("Unknown 'ProgressLocation'")}t.from=r})(Aj||={});(e=>{function r(n){let o={start:n.start+1,end:n.end+1};return n.kind&&(o.kind=h_.from(n.kind)),o}e.from=r;function t(n){let o={start:n.start-1,end:n.end-1};return n.kind&&(o.kind=h_.to(n.kind)),o}e.to=t})(Lj||={});(e=>{function r(n){if(n)switch(n){case 1:return ea.Comment;case 2:return ea.Imports;case 3:return ea.Region}}e.from=r;function t(n){if(n)switch(n.value){case ea.Comment.value:return 1;case ea.Imports.value:return 2;case ea.Region.value:return 3}}e.to=t})(h_||={});(t=>{function r(e){if(e)return{pinned:typeof e.preview=="boolean"?!e.preview:void 0,inactive:e.background,preserveFocus:e.preserveFocus,selection:typeof e.selection=="object"?ge.from(e.selection):void 0,override:typeof e.override=="boolean"?sk.id:void 0}}t.from=r})(Oj||={});(o=>{function r(i){return i instanceof sl?i.toJSON():typeof i=="string"?i:t(i)||e(i)?new sl(i.baseUri??i.base,i.pattern).toJSON():i}o.from=r;function t(i){let s=i;return s?b.isUri(s.baseUri)&&typeof s.pattern=="string":!1}function e(i){let s=i;return s?typeof s.base=="string"&&typeof s.pattern=="string":!1}function n(i){return typeof i=="string"?i:new sl(b.revive(i.baseUri),i.pattern)}o.to=n})(ds||={});(t=>{function r(e){if(e){if(Array.isArray(e))return e.map(r);if(typeof e=="string")return e;{let n=e;return{language:n.language,scheme:n.scheme,pattern:ds.from(n.pattern)??void 0,exclusive:n.exclusive,notebookType:n.notebookType}}}else return}t.from=r})(Uj||={});(e=>{function r(n){return{start:n.start,end:n.end}}e.from=r;function t(n){return new Ci(n.start,n.end)}e.to=t})(k_||={});(e=>{function r(n){return{timing:typeof n.runStartTime=="number"&&typeof n.runEndTime=="number"?{startTime:n.runStartTime,endTime:n.runEndTime}:void 0,executionOrder:n.executionOrder,success:n.lastRunSuccess}}e.to=r;function t(n){return{lastRunSuccess:n.success,runStartTime:n.timing?.startTime,runEndTime:n.timing?.endTime,executionOrder:n.executionOrder}}e.from=t})(v_||={});(e=>{function r(n){switch(n){case 1:return 1;case 2:default:return 2}}e.from=r;function t(n){switch(n){case 1:return 1;case 2:default:return 2}}e.to=t})(y_||={});(e=>{function r(n){let o={metadata:n.metadata??Object.create(null),cells:[]};for(let i of n.cells)Vu.validate(i),o.cells.push(bh.from(i));return o}e.from=r;function t(n){let o=new Qg(n.cells.map(bh.to));return ga(n.metadata)||(o.metadata=n.metadata),o}e.to=t})(Nj||={});(e=>{function r(n){return{cellKind:y_.from(n.kind),language:n.languageId,mime:n.mime,source:n.value,metadata:n.metadata,internalMetadata:v_.from(n.executionSummary??{}),outputs:n.outputs?n.outputs.map(b_.from):[]}}e.from=r;function t(n){return new Vu(y_.to(n.cellKind),n.source,n.language,n.mime,n.outputs?n.outputs.map(b_.to):void 0,n.metadata,n.internalMetadata?v_.to(n.internalMetadata):void 0)}e.to=t})(bh||={});(e=>{function r(n){return{mime:n.mime,valueBytes:L.wrap(n.data)}}e.from=r;function t(n){return new Jg(n.valueBytes.buffer,n.mime)}e.to=t})(I_||={});(e=>{function r(n){return{outputId:n.id,items:n.items.map(I_.from),metadata:n.metadata}}e.from=r;function t(n){let o=n.items.map(I_.to);return new Yg(o,n.outputId,n.metadata)}e.to=t})(b_||={});(n=>{function r(o){return e(o)?{include:ds.from(o.include)??void 0,exclude:ds.from(o.exclude)??void 0}:ds.from(o)??void 0}n.from=r;function t(o){return e(o)?{include:ds.to(o.include),exclude:ds.to(o.exclude)}:ds.to(o)}n.to=t;function e(o){let i=o;return i?!Wt(i.include)&&!Wt(i.exclude):!1}})(Fj||={});(t=>{function r(e,n,o){let i=typeof e.command=="string"?{title:"",command:e.command}:e.command;return{alignment:e.alignment===1?1:2,command:n.toInternal(i,o),text:e.text,tooltip:e.tooltip,accessibilityInformation:e.accessibilityInformation,priority:e.priority}}t.from=r})(Vj||={});(t=>{function r(e,n,o){let i=typeof e.command=="string"?{title:"",command:e.command}:e.command;return{command:n.toInternal(i,o),label:e.label,description:e.description,detail:e.detail,documentation:e.documentation}}t.from=r})(Hj||={});(t=>{function r(e){return{transientOutputs:e?.transientOutputs??!1,transientCellMetadata:e?.transientCellMetadata??{},transientDocumentMetadata:e?.transientDocumentMetadata??{},cellContentMetadata:e?.cellContentMetadata??{}}}t.from=r})(Wj||={});(e=>{function r(n){return{uri:n.uri,provides:n.provides}}e.from=r;function t(n){return new Vb(b.revive(n.uri),n.provides)}e.to=t})(Bj||={});(e=>{function r(n){return{message:ct.fromStrict(n.message)||"",type:0,expected:n.expectedOutput,actual:n.actualOutput,contextValue:n.contextValue,location:n.location&&{range:ge.from(n.location.range),uri:n.location.uri},stackTrace:n.stackTrace?.map(o=>({label:o.label,position:o.position&&da.from(o.position),uri:o.uri&&b.revive(o.uri).toJSON()}))}}e.from=r;function t(n){let o=new al(typeof n.message=="string"?n.message:ct.to(n.message));return o.actualOutput=n.actual,o.expectedOutput=n.expected,o.contextValue=n.contextValue,o.location=n.location?hl.to(n.location):void 0,o}e.to=t})(MH||={});(e=>(e.namespace=XD,e.denamespace=ZD))(vl||={});(t=>{function r(e){return{controllerId:e.controllerId,profileId:e.profileId,group:AH.from(e.kind)}}t.from=r})(D_||={});(e=>{let r={3:8,2:4,1:2};function t(n){return r.hasOwnProperty(n)?r[n]:2}e.from=t})(AH||={});(e=>{function r(n){let o=Lx(n).controllerId;return{extId:_i.fromExtHostTestItem(n,o).toString(),label:n.label,uri:b.revive(n.uri),busy:n.busy,tags:n.tags.map(i=>vl.namespace(o,i.id)),range:bn.lift(ge.from(n.range)),description:n.description||null,sortText:n.sortText||null,error:n.error&&ct.fromStrict(n.error)||null}}e.from=r;function t(n){return{parent:void 0,error:void 0,id:_i.fromString(n.extId).localId,label:n.label,uri:b.revive(n.uri),tags:(n.tags||[]).map(o=>{let{tagId:i}=vl.denamespace(o);return new fc(i)}),children:{add:()=>{},delete:()=>{},forEach:()=>{},*[Symbol.iterator](){},get:()=>{},replace:()=>{},size:0},range:ge.to(n.range||void 0),canResolveChildren:!1,busy:n.busy,description:n.description||void 0,sortText:n.sortText||void 0}}e.toPlain=t})(Ch||={});(e=>{function r(n){return{id:n.id}}e.from=r;function t(n){return new fc(n.id)}e.to=t})(vl||={});(e=>{let r=(n,o)=>{let i=n.value;if(!i)return;let s={...Ch.toPlain(i.item),parent:o,taskStates:i.tasks.map(a=>({state:a.state,duration:a.duration,messages:a.messages.filter(l=>l.type===0).map(MH.to)})),children:[]};if(n.children)for(let a of n.children.values()){let l=r(a,s);l&&s.children.push(l)}return s};function t(n){let o=new pS;for(let a of n.items)o.insert(_i.fromString(a.item.extId).path,a);let i=[o.nodes],s=[];for(;i.length;)for(let a of i.pop())a.value?s.push(a):a.children&&i.push(a.children.values());return{completedAt:n.completedAt,results:s.map(a=>r(a)).filter(zr)}}e.to=t})($j||={});(s=>{function r(a){return{covered:a.covered,total:a.total}}function t(a){return"line"in a?da.from(a):ge.from(a)}function e(a){if(a)return"endLineNumber"in a?ge.to(a):da.to(a)}function n(a){if(a.type===1){let l=[];if(a.branches)for(let c of a.branches)l.push({executed:c.count,location:e(c.location),label:c.label});return new Bb(a.count,e(a.location),a.branches?.map(c=>new $b(c.count,e(c.location),c.label)))}else return new qb(a.name,a.count,e(a.location))}s.to=n;function o(a){if(typeof a.executed=="number"&&a.executed<0)throw new Error(`Invalid coverage count ${a.executed}`);return"branches"in a?{count:a.executed,location:t(a.location),type:1,branches:a.branches.length?a.branches.map(l=>({count:l.executed,location:l.location&&t(l.location),label:l.label})):void 0}:{type:0,name:a.name,count:a.executed,location:t(a.location)}}s.fromDetails=o;function i(a,l,c){return Rf(c.statementCoverage),Rf(c.branchCoverage),Rf(c.declarationCoverage),{id:l,uri:c.uri,statement:r(c.statementCoverage),branch:c.branchCoverage&&r(c.branchCoverage),declaration:c.declarationCoverage&&r(c.declarationCoverage),testIds:c instanceof Wb&&c.includesTests.length?c.includesTests.map(u=>_i.fromExtHostTestItem(u,a).toString()):void 0}}s.fromFile=i})(qj||={});(t=>{function r(e){switch(e){case 1:return 1;case 2:return 2}}t.to=r})(zj||={});(e=>{function r(n){let o=new rp(ua.to(n.kind),n.name,n.detail||"",b.revive(n.uri),ge.to(n.range),ge.to(n.selectionRange));return o._sessionId=n._sessionId,o._itemId=n._itemId,o}e.to=r;function t(n,o,i){if(o=o??n._sessionId,i=i??n._itemId,o===void 0||i===void 0)throw new Error("invalid item");return{_sessionId:o,_itemId:i,kind:ua.from(n.kind),name:n.name,detail:n.detail??"",uri:n.uri,range:ge.from(n.range),selectionRange:ge.from(n.selectionRange),tags:n.tags?.map(Uc.from)}}e.from=t})(__||={});(t=>{function r(e){if(e)return{value:e.value,tooltip:e.tooltip}}t.from=r})(Gj||={});(o=>{function r(i,s,a){let l=s.fileData;return l?new Nb(new Fb(l.name,b.revive(l.uri),l.id,El(()=>a(l.id)))):i===mr.uriList&&s.uriListData?new op(n(s.uriListData)):new op(s.asString)}o.to=r;async function t(i,s,a=ye()){let l=await s.asString();if(i===mr.uriList)return{id:a,asString:l,fileData:void 0,uriListData:e(l)};let c=s.asFile();return{id:a,asString:l,fileData:c?{name:c.name,uri:c.uri,id:c._itemId??c.id}:void 0}}o.from=t;function e(i){return lS.split(i).map(s=>{if(s.startsWith("#"))return s;try{return b.parse(s)}catch{}return s})}function n(i){return lS.create(i.map(s=>typeof s=="string"?s:b.revive(s)))}})(Ox||={});(n=>{function r(o,i){let s=o.items.map(([a,l])=>[a,Ox.to(a,l,i)]);return new Ju(s)}n.toDataTransfer=r;async function t(o){return{items:await Promise.all(Array.from(o,async([s,a])=>[s,await Ox.from(s,a)]))}}n.from=t;async function e(o){return{items:await Promise.all(Array.from(o,async([s,a])=>[s,await Ox.from(s,a,a.id)]))}}n.fromList=e})(Kj||={});(e=>{function r(n,o){return{kind:"reply",agentId:n.participant??o?.agentId??"",subCommand:n.command??o?.command,message:n.prompt,title:n.label}}e.from=r;function t(n){return{prompt:n.message,label:n.title,participant:n.agentId,command:n.subCommand}}e.to=t})(LH||={});(e=>{function r(n){switch(n){case 0:return 3;case 1:return 1;case 2:return 2}}e.to=r;function t(n){switch(n){case 3:return 0;case 1:return 1;case 2:return 2}return 1}e.from=t})(Sh||={});(e=>{function r(n){let o=n.content.map(a=>{if(a.type==="text")return new Vn(a.value,a.audience);if(a.type==="tool_result"){let l=Go(a.value.map(c=>c.type==="text"?new Vn(c.value,c.audience):c.type==="data"?new Vo(c.data.buffer,c.mimeType):c.type==="prompt_tsx"?new os(c.value):void 0));return new yc(a.toolCallId,l,a.isError)}else{if(a.type==="image_url")return new Vo(a.value.data.buffer,a.value.mimeType);if(a.type==="data")return new Vo(a.data.buffer,a.mimeType);if(a.type==="tool_use")return new Ic(a.toolCallId,a.name,a.parameters)}}).filter(a=>a!==void 0),i=Sh.to(n.role);return new tS(i,o,n.name)}e.to=r;function t(n){let o=Sh.from(n.role),i=n.name,s=n.content;typeof s=="string"&&(s=[new Vn(s)]);let a=s.map(l=>{if(l instanceof yc)return{type:"tool_result",toolCallId:l.callId,value:Go(l.content.map(c=>c instanceof Vn?{type:"text",value:c.value,audience:c.audience}:c instanceof os?{type:"prompt_tsx",value:c.value}:c instanceof Vo?{type:"data",mimeType:c.mimeType,data:L.wrap(c.data),audience:c.audience}:void 0)),isError:l.isError};if(l instanceof Vo)return OH(l)?{type:"image_url",value:{mimeType:l.mimeType,data:L.wrap(l.data)}}:{type:"data",mimeType:l.mimeType,data:L.wrap(l.data),audience:l.audience};if(l instanceof Ic)return{type:"tool_use",toolCallId:l.callId,name:l.name,parameters:l.input};if(l instanceof Vn)return{type:"text",value:l.value};if(typeof l!="string")throw new Error("Unexpected chat message content type");return{type:"text",value:l}});return{role:o,name:i,content:a}}e.from=t})(jj||={});(e=>{function r(n){let o=n.content.map(a=>{if(a.type==="text")return new Vn(a.value,a.audience);if(a.type==="tool_result"){let l=a.value.map(c=>c.type==="text"?new Vn(c.value,c.audience):c.type==="data"?new Vo(c.data.buffer,c.mimeType):new os(c.value));return new yc(a.toolCallId,l,a.isError)}else return a.type==="image_url"?new Vo(a.value.data.buffer,a.value.mimeType):a.type==="data"?new Vo(a.data.buffer,a.mimeType):a.type==="thinking"?new ip(a.value,a.id,a.metadata):new Ic(a.toolCallId,a.name,a.parameters)}),i=Sh.to(n.role);return new nS(i,o,n.name)}e.to=r;function t(n){let o=Sh.from(n.role),i=n.name,s=n.content;typeof s=="string"&&(s=[new Vn(s)]);let a=s.map(l=>{if(l instanceof yc)return{type:"tool_result",toolCallId:l.callId,value:Go(l.content.map(c=>c instanceof Vn?{type:"text",value:c.value,audience:c.audience}:c instanceof os?{type:"prompt_tsx",value:c.value}:c instanceof Vo?{type:"data",mimeType:c.mimeType,data:L.wrap(c.data),audience:c.audience}:void 0)),isError:l.isError};if(l instanceof Vo)return OH(l)?{type:"image_url",value:{mimeType:l.mimeType,data:L.wrap(l.data)}}:{type:"data",mimeType:l.mimeType,data:L.wrap(l.data),audience:l.audience};if(l instanceof Ic)return{type:"tool_use",toolCallId:l.callId,name:l.name,parameters:l.input};if(l instanceof Vn)return{type:"text",value:l.value};if(l instanceof ip)return{type:"thinking",value:l.value,id:l.id,metadata:l.metadata};if(typeof l!="string")throw new Error("Unexpected chat message content type llm 2");return{type:"text",value:l}});return{role:o,name:i,content:a}}e.from=t})(Qj||={});(e=>{function r(n){return{kind:"markdownContent",content:ct.from(n.value)}}e.from=r;function t(n){return new af(ct.to(n.content))}e.to=t})(S_||={});(e=>{function r(n){return{kind:"codeblockUri",uri:n.value,isEdit:n.isEdit,undoStopId:n.undoStopId}}e.from=r;function t(n){return new bf(b.revive(n.uri),n.isEdit,n.undoStopId)}e.to=t})(UH||={});(e=>{function r(n){return{kind:"markdownVuln",content:ct.from(n.value),vulnerabilities:n.vulnerabilities}}e.from=r;function t(n){return new lf(ct.to(n.content),n.vulnerabilities)}e.to=t})(NH||={});(t=>{function r(e){return{kind:"confirmation",title:e.title,message:ct.from(e.message),data:e.data,buttons:e.buttons}}t.from=r})(FH||={});(o=>{function r(i){switch(i){case 1:return"text";case 2:return"singleSelect";case 3:return"multiSelect";default:return"text"}}function t(i){switch(i){case"text":return 1;case"singleSelect":return 2;case"multiSelect":return 3;default:return 1}}function e(i){return{kind:"questionCarousel",questions:i.questions.map(s=>({id:s.id,type:r(s.type),title:s.title,message:s.message?ct.from(s.message):void 0,options:s.options?.map(a=>({id:a.id,label:a.label,value:String(a.value)})),defaultValue:s.defaultValue,allowFreeformInput:s.allowFreeformInput})),allowSkip:i.allowSkip}}o.from=e;function n(i){let s=i.questions.map(a=>new Yb(a.id,t(a.type),a.title,{message:a.message?typeof a.message=="string"?new To(a.message):ct.to(a.message):void 0,options:a.options?.map(l=>({id:l.id,label:l.label,value:l.value})),defaultValue:a.defaultValue,allowFreeformInput:a.allowFreeformInput}));return new xf(s,i.allowSkip)}o.to=n})(VH||={});(e=>{function r(n){let{value:o,baseUri:i}=n;function s(a,l){return a.map(c=>{let u=b.joinPath(l,c.name);return{label:c.name,uri:u,children:c.children&&s(c.children,u)}})}return{kind:"treeData",treeData:{label:Ln(i),uri:i,children:s(o,i)}}}e.from=r;function t(n){let o=un(n.treeData);function i(l){return l.map(c=>({name:c.label,children:c.children&&i(c.children)}))}let s=o.uri,a=o.children?i(o.children):[];return new cf(a,s)}e.to=t})(x_||={});(e=>{function r(n){return{kind:"multiDiffData",multiDiffData:{title:n.title,resources:n.value.map(o=>({originalUri:o.originalUri,modifiedUri:o.modifiedUri,goToFileUri:o.goToFileUri,added:o.added,removed:o.removed}))},readOnly:n.readOnly}}e.from=r;function t(n){let o=n.multiDiffData.resources.map(i=>({originalUri:i.originalUri?b.revive(i.originalUri):void 0,modifiedUri:i.modifiedUri?b.revive(i.modifiedUri):void 0,goToFileUri:i.goToFileUri?b.revive(i.goToFileUri):void 0,added:i.added,removed:i.removed}));return new df(o,n.multiDiffData.title,n.readOnly)}e.to=t})(HH||={});(e=>{function r(n){let o=s=>b.isUri(s),i=s=>"name"in s;return{kind:"inlineReference",name:n.title,inlineReference:o(n.value)?n.value:i(n.value)?u_.from(n.value):ca.from(n.value)}}e.from=r;function t(n){let o=un(n);return new uf(b.isUri(o.inlineReference)?o.inlineReference:"location"in o.inlineReference?u_.to(o.inlineReference):ca.to(o.inlineReference),n.name)}e.to=t})(C_||={});(e=>{function r(n){return{kind:"progressMessage",content:ct.from(n.value)}}e.from=r;function t(n){return new pf(n.content.value)}e.to=t})(WH||={});(e=>{function r(n){return{kind:"thinking",value:n.value,id:n.id,metadata:n.metadata}}e.from=r;function t(n){return new mf(n.value??"",n.id,n.metadata)}e.to=t})(BH||={});(e=>{function r(n){return{kind:"hook",hookType:n.hookType,stopReason:n.stopReason,systemMessage:n.systemMessage,metadata:n.metadata}}e.from=r;function t(n){return new gf(n.hookType,n.stopReason,n.systemMessage,n.metadata)}e.to=t})($H||={});(t=>{function r(e){return{kind:"voiceProgress",id:e.id,value:e.value}}t.from=r})(qH||={});(n=>{let r=new Set(["needs_reasoning","no_reasoning","fallback"]);function t(o){let i=r.has(o.predictedLabel)?o.predictedLabel:"fallback";return{kind:"autoModeResolution",resolvedModel:o.resolvedModel,resolvedModelName:o.resolvedModelName,predictedLabel:i,confidence:Math.max(0,Math.min(1,o.confidence))}}n.from=t;function e(o){return new ff(o.resolvedModel,o.resolvedModelName,o.predictedLabel,o.confidence)}n.to=e})(zH||={});(e=>{function r(n){return{kind:"warning",content:ct.from(n.value)}}e.from=r;function t(n){return new hf(n.content.value)}e.to=t})(GH||={});(e=>{function r(n){return{kind:"info",content:ct.from(n.value)}}e.from=r;function t(n){return new vf(n.content.value)}e.to=t})(KH||={});(t=>{function r(e){return{kind:"extensions",extensions:e.extensions}}t.from=r})(jH||={});(t=>{function r(e,n,o){let i;if(e.command)i=n.toInternal(e.command,o);else{if(!e.uri)throw new Error("Pull request part must have a command if URI is provided");i={title:"Open Pull Request",id:"vscode.open",arguments:[e.uri]}}return{kind:"pullRequest",author:e.author,title:e.title,description:e.description,uri:e.uri,linkTag:e.linkTag,command:i}}t.from=r})(QH||={});(e=>{function r(n){return{kind:"move",uri:n.uri,range:ge.from(n.range)}}e.from=r;function t(n){return new Sf(b.revive(n.uri),ge.to(n.range))}e.to=t})(JH||={});(l=>{function r(c){let u,p;c.toolSpecificData&&t(c.toolSpecificData)?(u=e(c.toolSpecificData,c.isError),p=void 0):p=c.toolSpecificData?n(c.toolSpecificData):void 0;let m=c.presentation==="hidden"?"hidden":c.presentation==="hiddenAfterComplete"?"hiddenAfterComplete":void 0;return c.enablePartialUpdate?{kind:"externalToolInvocationUpdate",toolCallId:c.toolCallId,toolName:c.toolName,isComplete:!!c.isComplete,invocationMessage:c.invocationMessage?ct.from(c.invocationMessage):void 0,pastTenseMessage:c.pastTenseMessage?ct.from(c.pastTenseMessage):void 0,toolSpecificData:p,subagentInvocationId:c.subAgentInvocationId,resultDetails:u}:{kind:"toolInvocationSerialized",toolCallId:c.toolCallId,toolId:c.toolName,invocationMessage:c.invocationMessage?ct.from(c.invocationMessage):c.toolName,originMessage:c.originMessage?ct.from(c.originMessage):void 0,pastTenseMessage:c.pastTenseMessage?ct.from(c.pastTenseMessage):void 0,isConfirmed:c.isConfirmed,isComplete:!0,source:th.External,toolSpecificData:p,resultDetails:u,presentation:m,subAgentInvocationId:c.subAgentInvocationId}}l.from=r;function t(c){return c!==null&&typeof c=="object"&&"input"in c&&typeof c.input=="string"&&"output"in c&&Array.isArray(c.output)}function e(c,u){return{input:c.input,output:c.output.map(p=>{let m=p.mimeType.startsWith("text/");return{type:"embed",mimeType:p.mimeType,value:m?L.wrap(p.data).toString():bo(L.wrap(p.data)),isText:m}}),isError:u??!1}}function n(c){return"command"in c&&"language"in c?{kind:"terminal",command:c.command,language:c.language}:"commandLine"in c&&"language"in c?{kind:"terminal",presentationOverrides:c.presentationOverrides&&typeof c.presentationOverrides.commandLine=="string"?{commandLine:c.presentationOverrides.commandLine,language:c.presentationOverrides.language}:void 0,commandLine:c.commandLine,language:c.language,terminalCommandOutput:typeof c.output?.text=="string"?{text:c.output.text}:void 0,terminalCommandState:c.state?{exitCode:c.state.exitCode,duration:c.state.duration}:void 0}:"todoList"in c&&Array.isArray(c.todoList)?{kind:"todoList",todoList:c.todoList.map(u=>({id:String(u.id),title:u.title,status:o(u.status)}))}:"input"in c&&"output"in c&&!Array.isArray(c.output)?{kind:"simpleToolInvocation",input:typeof c.input=="string"?c.input:"",output:typeof c.output=="string"?c.output:""}:c&&"values"in c&&Array.isArray(c.values)?{kind:"resources",values:c.values.map(u=>u instanceof Ro?ca.from(u):b.revive(u))}:c instanceof Gb?{kind:"subagent",description:c.description,agentName:c.agentName,prompt:c.prompt,result:c.result,modelName:c.modelName}:c}function o(c){switch(c){case 1:return"not-started";case 2:return"in-progress";case 3:return"completed";default:return"not-started"}}function i(c){switch(c){case"not-started":return 1;case"in-progress":return 2;case"completed":return 3;default:return 1}}function s(c){let u=new Ef(c.toolId||c.toolName,c.toolCallId,c.errorMessage);return c.invocationMessage&&(u.invocationMessage=c.invocationMessage),c.originMessage&&(u.originMessage=c.originMessage),c.pastTenseMessage&&(u.pastTenseMessage=c.pastTenseMessage),c.isConfirmed!==void 0&&(u.isConfirmed=c.isConfirmed),c.isComplete!==void 0&&(u.isComplete=c.isComplete),c.toolSpecificData&&(u.toolSpecificData=a(c.toolSpecificData)),u.subAgentInvocationId=c.subAgentInvocationId,u.subAgentName=c.subAgentName,u}l.to=s;function a(c){if(c.kind==="terminal")if(c.commandLine){let u={commandLine:c.commandLine,language:c.language};return c.terminalCommandOutput&&(u.output={text:c.terminalCommandOutput.text,truncated:c.terminalCommandOutput.truncated,lineCount:c.terminalCommandOutput.lineCount}),c.terminalCommandState&&(u.state={exitCode:c.terminalCommandState.exitCode,duration:c.terminalCommandState.duration}),u}else return{command:c.command,language:c.language};else{if(c.kind==="terminal2")return{commandLine:c.commandLine,language:c.language};if(c.kind==="todoList")return{todoList:c.todoList.map((u,p)=>{let m=Number(u.id);return{id:Number.isFinite(m)?m:p,title:u.title,status:i(u.status)}})}}return c}})(YH||={});(t=>{function r(e){return{kind:"progressTask",content:ct.from(e.value)}}t.from=r})(Jj||={});(t=>{function r(e){return{kind:"progressTaskResult",content:typeof e=="string"?ct.from(e):void 0}}t.from=r})(Yj||={});(e=>{function r(n,o,i){return{kind:"command",command:o.toInternal(n.value,i)??{command:n.value.command,title:n.value.title}}}e.from=r;function t(n,o){return new yf(o.fromInternal(n.command)??{command:n.command.id,title:n.command.title})}e.to=t})(E_||={});(e=>{function r(n){return{kind:"textEdit",uri:n.uri,edits:n.edits.map(o=>us.from(o)),done:n.isDone}}e.from=r;function t(n){let o=new Cf(b.revive(n.uri),n.edits.map(i=>us.to(i)));return o.isDone=n.done,o}e.to=t})(XH||={});(t=>{function r(e){return e.newCellMetadata?{editType:3,index:e.range.start,metadata:e.newCellMetadata}:e.newNotebookMetadata?{editType:5,metadata:e.newNotebookMetadata}:{editType:1,index:e.range.start,count:e.range.end-e.range.start,cells:e.newCells.map(bh.from)}}t.from=r})(ZH||={});(t=>{function r(e){return{kind:"notebookEdit",uri:e.uri,edits:e.edits.map(ZH.from),done:e.isDone}}t.from=r})(eW||={});(t=>{function r(e){return{kind:"workspaceEdit",edits:e.edits.map(n=>({oldResource:n.oldResource,newResource:n.newResource}))}}t.from=r})(tW||={});(e=>{function r(n){let o=on.isThemeIcon(n.iconPath)?n.iconPath:b.isUri(n.iconPath)?{light:b.revive(n.iconPath)}:n.iconPath&&"light"in n.iconPath&&"dark"in n.iconPath&&b.isUri(n.iconPath.light)&&b.isUri(n.iconPath.dark)?{light:b.revive(n.iconPath.light),dark:b.revive(n.iconPath.dark)}:void 0;return typeof n.value=="object"&&"variableName"in n.value?{kind:"reference",reference:{variableName:n.value.variableName,value:b.isUri(n.value.value)||!n.value.value?n.value.value:ca.from(n.value.value)},iconPath:o,options:n.options}:{kind:"reference",reference:b.isUri(n.value)||typeof n.value=="string"?n.value:ca.from(n.value),iconPath:o,options:n.options}}e.from=r;function t(n){let o=un(n),i=s=>b.isUri(s)?s:ca.to(s);return new If(typeof o.reference=="string"?o.reference:"variableName"in o.reference?{variableName:o.reference.variableName,value:o.reference.value&&i(o.reference.value)}:i(o.reference))}e.to=t})(w_||={});(t=>{function r(e){return{kind:"codeCitation",value:e.value,license:e.license,snippet:e.snippet}}t.from=r})(nW||={});(n=>{function r(o,i,s){return o instanceof af?S_.from(o):o instanceof uf?C_.from(o):o instanceof If?w_.from(o):o instanceof pf?WH.from(o):o instanceof mf?BH.from(o):o instanceof gf?$H.from(o):o instanceof Kb?qH.from(o):o instanceof cf?x_.from(o):o instanceof df?HH.from(o):o instanceof yf?E_.from(o,i,s):o instanceof Cf?XH.from(o):o instanceof Xb?eW.from(o):o instanceof lf?NH.from(o):o instanceof bf?UH.from(o):o instanceof hf?GH.from(o):o instanceof vf?KH.from(o):o instanceof zb?FH.from(o):o instanceof xf?VH.from(o):o instanceof jb?nW.from(o):o instanceof Sf?JH.from(o):o instanceof Qb?jH.from(o):o instanceof Jb?QH.from(o,i,s):o instanceof Ef?YH.from(o):o instanceof Zb?tW.from(o):o instanceof ff?zH.from(o):{kind:"markdownContent",content:ct.from("")}}n.from=r;function t(o,i){switch(o.kind){case"reference":return w_.to(o);case"markdownContent":case"inlineReference":case"progressMessage":case"treeData":case"command":return e(o,i)}}n.to=t;function e(o,i){switch(o.kind){case"markdownContent":return S_.to(o);case"inlineReference":return C_.to(o);case"progressMessage":return;case"treeData":return x_.to(o);case"command":return E_.to(o,i)}}n.toContent=e})(Xj||={});(t=>{function r(e,n,o,i,s,a,l,c){let u=[],p=[];for(let h of e.variables.variables)h.kind==="tool"?u.push(h):h.kind==="toolset"?u.push(...h.value):p.push(h);let m=dl.parseLocalSessionId(e.sessionResource)??e.sessionResource.toString(),g={id:e.requestId,prompt:e.message,command:e.command,attempt:e.attempt??0,enableCommandDetection:e.enableCommandDetection??!0,isParticipantDetected:e.isParticipantDetected??!1,isVoiceModeInput:e.isVoiceModeInput,sessionId:m,sessionResource:e.sessionResource,references:p.flatMap(h=>rW.toReferences(h,s,c)),toolReferences:u.map(Nx.to),location:oW.to(e.location),acceptedConfirmationData:e.acceptedConfirmationData,rejectedConfirmationData:e.rejectedConfirmationData,location2:n,toolInvocationToken:Object.freeze({sessionResource:e.sessionResource,workingDirectory:b.revive(e.workingDirectory)}),tools:a,model:o,modelConfiguration:i,editedFileEvents:e.editedFileEvents,modeInstructions:e.modeInstructions?.content,modeInstructions2:iW.to(e.modeInstructions),permissionLevel:e.permissionLevel,subAgentInvocationId:e.subAgentInvocationId,subAgentName:e.subAgentName,parentRequestId:e.parentRequestId,hasHooksEnabled:e.hasHooksEnabled??!1,hooks:e.hooks?dW.to(e.hooks):void 0,isSystemInitiated:e.isSystemInitiated};return JS(l,"chatParticipantPrivate")||(delete g.id,delete g.attempt,delete g.enableCommandDetection,delete g.isParticipantDetected,delete g.isVoiceModeInput,delete g.location,delete g.location2,delete g.editedFileEvents,delete g.sessionId,delete g.subAgentInvocationId,delete g.subAgentName,delete g.parentRequestId,delete g.hasHooksEnabled,delete g.hooks),JS(l,"chatParticipantAdditions")||(delete g.acceptedConfirmationData,delete g.rejectedConfirmationData,delete g.tools),g}t.to=r})(Zj||={});(e=>{function r(n){switch(n){case"notebook":return 3;case"terminal":return 2;case"panel":return 1;case"editor":return 4}}e.to=r;function t(n){switch(n){case 3:return"notebook";case 2:return"terminal";case 1:return"panel";case 4:return"editor"}}e.from=t})(oW||={});(e=>{function r(n){return n.id}e.from=r;function t(n){switch(n){case"agent":return ns.Agent;case"skill":return ns.Skill;case"instructions":return ns.Instructions;case"prompt":return ns.Prompt;case"hook":return ns.Hook;case"plugins":return ns.Plugins;default:return new ns(n)}}e.to=t})(eQ||={});(e=>{function r(n,o,i){let s=t(n,o,i);if(!s)return[];let a=wS(n)?n:void 0;if(!a)return[s];let l=fV(a.imageData);return l?[s,{id:`${n.id}-screenshot`,name:`${n.name} screenshot`,value:new wf(a.imageMimeType??"image/png",()=>Promise.resolve(l))}]:[s]}e.toReferences=r;function t(n,o,i){let s=n.value;if(!s){let l;try{l=JSON.stringify(n)}catch{l=`kind=${n.kind}, id=${n.id}, name=${n.name}`}i.error(`[ChatPromptReference] Ignoring invalid reference in variable: ${l}`);return}if(Ml(s))s=b.revive(s);else if(s&&typeof s=="object"&&"uri"in s&&"range"in s&&Ml(s.uri))s=ca.to(un(s));else if(dk(n)){let l=n.references?.[0]?.reference;s=new wf(n.mimeType??"image/png",()=>Promise.resolve(new Uint8Array(Object.values(n.value))),l&&b.isUri(l)?l:void 0,n.isPasted,n.isURL)}else if(n.kind==="diagnostic"){let l=n.filterSeverity&&Ux.to(n.filterSeverity),c=n.filterUri&&b.revive(n.filterUri).toString();s=new eS(o.map(([u,p])=>n.filterUri&&u.toString()!==c?[u,[]]:[u,p.filter(m=>!(l&&m.severity>l||n.filterRange&&!bn.areIntersectingOrTouching(n.filterRange,ge.from(m.range))))]).filter(([,u])=>u.length>0))}let a;return(t2(n)||n2(n))&&n.toolReferences&&(a=M_.to(n.toolReferences)),{id:n.id,name:n.name,range:n.range&&[n.range.start,n.range.endExclusive],toolReferences:a,value:s,modelDescription:n.modelDescription}}e.to=t})(rW||={});(t=>{function r(e){if(e.value)throw new Error("Invalid tool reference");return{name:e.id,range:e.range&&[e.range.start,e.range.endExclusive]}}t.to=r})(Nx||={});(t=>{function r(e){let n=[];for(let o of e)if(o.kind==="tool")n.push(Nx.to(o));else if(o.kind==="toolset")n.push(...o.value.map(Nx.to));else throw new Error("Invalid tool reference in prompt variables");return n}t.to=r})(M_||={});(e=>{function r(n){if(n)return{uri:b.revive(n.uri),name:n.name,content:n.content,toolReferences:M_.to(un(n.toolReferences)),allowedSubagents:n.allowedSubagents,metadata:n.metadata,isBuiltin:n.isBuiltin}}e.to=r;function t(n){if(n)return{uri:n.uri,name:n.name,content:n.content,toolReferences:n.toolReferences?.map(o=>({kind:"tool",id:o.name,name:o.name,value:void 0,range:o.range?{start:o.range[0],endExclusive:o.range[1]}:void 0}))??[],allowedSubagents:n.allowedSubagents,metadata:n.metadata,isBuiltin:n.isBuiltin}}e.from=t})(iW||={});(t=>{function r(e,n,o){return{id:e.id,label:e.label,fullName:e.fullName,icon:e.icon?.id,value:e.values[0].value,insertText:e.insertText,detail:e.detail,documentation:e.documentation,command:n.toInternal(e.command,o)}}t.from=r})(tQ||={});(n=>{function r(o){return{errorDetails:o.errorDetails,metadata:e(o.metadata),nextQuestion:o.nextQuestion,details:o.details}}n.to=r;function t(o){return{errorDetails:o.errorDetails,metadata:o.metadata,nextQuestion:o.nextQuestion,details:o.details}}n.from=t;function e(o){return xo(o,i=>{if(i.$mid===20)return new Tf(xo(i.content,e));if(i.$mid===21)return new Vn(i.value);if(i.$mid===22)return new ip(i.value,i.id,i.metadata);if(i.$mid===23)return new os(i.value);if(i.$mid===24){let s;if(i.data&&typeof i.data=="object"&&i.data.type==="Buffer"&&Array.isArray(i.data.data))s=new Uint8Array(i.data.data);else if(typeof i.data=="string")try{s=dr(i.data).buffer}catch{s=new Uint8Array(0)}else s=new Uint8Array(0);return new Vo(s,i.mimeType,i.audience)}})}})(sW||={});(t=>{function r(e,n,o){if(n.action.kind==="vote")return;let i=sW.to(e);if(n.action.kind==="command"){let s=n.action.commandButton.command;return{action:{kind:"command",commandButton:{command:o.fromInternal(s)??{command:s.id,title:s.title}}},result:i}}else return n.action.kind==="followUp"?{action:{kind:"followUp",followup:LH.to(n.action.followup)},result:i}:n.action.kind==="inlineChat"?{action:{kind:"editor",accepted:n.action.action==="accepted"},result:i}:n.action.kind==="chatEditingSessionAction"?{action:{kind:"chatEditingSessionAction",outcome:new Map([["accepted",1],["rejected",2],["saved",3]]).get(n.action.outcome)??2,uri:b.revive(n.action.uri),hasRemainingEdits:n.action.hasRemainingEdits},result:i}:n.action.kind==="chatEditingHunkAction"?{action:{kind:"chatEditingHunkAction",outcome:new Map([["accepted",1],["rejected",2]]).get(n.action.outcome)??2,uri:b.revive(n.action.uri),hasRemainingEdits:n.action.hasRemainingEdits,lineCount:n.action.lineCount,linesAdded:n.action.linesAdded,linesRemoved:n.action.linesRemoved},result:i}:{action:n.action,result:i}}t.to=r})(nQ||={});(t=>{function r(e,n,o){return"terminalCommand"in e?{terminalCommand:e.terminalCommand,shouldExecute:e.shouldExecute}:"uri"in e?{uri:e.uri}:n.toInternal(e,o)}t.from=r})(oQ||={});(t=>{function r(e){return{...e,documentation:ct.fromStrict(e.documentation)}}t.from=r})(T_||={});(t=>{function r(e,n){return Array.isArray(e)?{items:e.map(o=>T_.from(o))}:{items:e.items.map(o=>T_.from(o)),resourceOptions:e.resourceOptions?aW.from(e.resourceOptions,n):void 0}}t.from=r})(rQ||={});(t=>{function r(e,n){return{...e,pathSeparator:n,cwd:e.cwd,globPattern:ds.from(e.globPattern)??void 0}}t.from=r})(aW||={});(t=>{function r(e){return{kind:lW.to(e.kind),acceptedLength:e.acceptedLength}}t.to=r})(iQ||={});(t=>{function r(e){switch(e){case 0:return 1;case 1:return 2;case 2:return 3;default:return 0}}t.to=r})(lW||={});(t=>{function r(e,n){if(e.kind===2){let o=e.supersededBy?n(e.supersededBy):void 0;return{kind:2,supersededBy:o,userTypingDisagreed:e.userTypingDisagreed}}else if(e.kind===0)return{kind:0};return{kind:1}}t.to=r})(sQ||={});(e=>{function r(n){return n===2?2:1}e.from=r;function t(n){return n===2?2:1}e.to=t})(aQ||={});(t=>{function r(e,n){return{id:n,label:e.label,description:e.description,canEdit:e.canEdit,collapsibleState:e.collapsibleState||0,contextValue:e.contextValue}}t.from=r})(lQ||={});(t=>{function r(e){return e.type==="mcp"?new rS(e.label,e.serverLabel||e.label,e.instructions):e.type==="extension"?new oS(e.extensionId.value,e.label):void 0}t.to=r})(cQ||={});(e=>{function r(n){let o=new Tf(n.content.map(i=>i.kind==="text"?new Vn(i.value,i.audience):i.kind==="data"?new Vo(i.value.data.buffer,i.value.mimeType,i.audience):new os(i.value)));return n.toolMetadata!==void 0&&(o.toolMetadata=n.toolMetadata),n.toolResultError&&(o.hasError=!!n.toolResultError),o}e.to=r;function t(n,o){n.toolResultMessage&&eD(o,"chatParticipantPrivate");let i=c=>{c.audience&&eD(o,"languageModelToolResultAudience")},s=!1,a;Array.isArray(n.toolResultDetails)?a=n.toolResultDetails?.map(c=>b.isUri(c)?c:ca.from(c)):n.toolResultDetails2&&(a={output:{type:"data",mimeType:n.toolResultDetails2.mime,value:L.wrap(n.toolResultDetails2.value)}},s=!0);let l={content:n.content.map(c=>{if(c instanceof Vn)return i(c),{kind:"text",value:c.value,audience:c.audience};if(c instanceof os)return{kind:"promptTsx",value:c.value};if(c instanceof Vo)return i(c),s=!0,{kind:"data",value:{mimeType:c.mimeType,data:L.wrap(c.data)},audience:c.audience};throw new Error("Unknown LanguageModelToolResult part type")}),toolResultMessage:ct.fromStrict(n.toolResultMessage),toolResultDetails:a,toolMetadata:n.toolMetadata,toolResultError:n.hasError};return s?new Mp(l):l}e.from=t})(dQ||={});(n=>{function r(o){return o}n.fromThemeIcon=r;function t(o){if(o){if(on.isThemeIcon(o))return o;if(b.isUri(o))return o;if(typeof o=="string")return b.file(o);if(typeof o=="object"&&o!==null&&"dark"in o){let i=typeof o.dark=="string"?b.file(o.dark):o.dark,s=typeof o.light=="string"?b.file(o.light):o.light;return i?{dark:i,light:s??i}:void 0}else return}else return}n.from=t;function e(o){if(o){if(on.isThemeIcon(o))return o;if(Ml(o))return b.revive(o);{let i=o;return{light:b.revive(i.light),dark:b.revive(i.dark)}}}else return}n.to=e})(cW||={});(e=>{function r(n){return{query:n.query,kind:t(n.kind),settings:n.settings}}e.fromSettingsSearchResult=r;function t(n){switch(n){case 1:return 1;case 2:return 2;case 3:return 3;default:throw new Error("Unknown AiSettingsSearchResultKind")}}})(uQ||={});(n=>{function r(o){return!!o.uri}function t(o){return fh.toSerialized(r(o)?{type:2,uri:o.uri,headers:Object.entries(o.headers),authentication:o.authentication?{providerId:o.authentication.providerId,scopes:o.authentication.scopes}:void 0}:{type:1,cwd:o.cwd?.fsPath,args:o.args,command:o.command,env:o.env,envFile:void 0,sandbox:void 0})}n.from=t;function e(o){let i=fh.fromSerialized(o.launch);if(i.type===2)return new sS(o.label,i.uri,Object.fromEntries(i.headers),o.cacheNonce==="$$NONE"?void 0:o.cacheNonce);{let s=new iS(o.label,i.command,[...i.args],Object.fromEntries(Object.entries(i.env).map(([a,l])=>[a,l===null?null:String(l)])),o.cacheNonce==="$$NONE"?void 0:o.cacheNonce);return i.cwd&&(s.cwd=b.file(i.cwd)),s}}n.to=e})(pQ||={});(t=>{function r(e){switch(e){case 0:return 0;case 1:return 1;case 2:return 2;default:throw new Error("Unknown SourceControlInputBoxValidationType")}}t.from=r})(mQ||={});(t=>{function r(e){let n={};for(let[o,i]of Object.entries(e)){if(!i||i.length===0)continue;let s=[];for(let a of i){let l=uW.to(a);l&&s.push(l)}s.length>0&&(n[o]=s)}return n}t.to=r})(dW||={});(t=>{function r(e){let n=JV(e,or);if(n)return{command:n,cwd:e.cwd,env:e.env,timeout:e.timeout}}t.to=r})(uW||={});(e=>{function r(n){if(n!==void 0)switch(n){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;default:return}}function t(n){let o=n.timing,i=o?.created??o?.startTime??0,s=o?.lastRequestStarted??o?.startTime,a=o?.lastRequestEnded??o?.endTime;return{resource:n.resource,label:n.label,description:n.description?ct.from(n.description):void 0,badge:n.badge?ct.from(n.badge):void 0,status:r(n.status),archived:n.archived,tooltip:ct.fromStrict(n.tooltip),timing:{created:i,lastRequestStarted:s,lastRequestEnded:a},changes:n.changes instanceof Array?n.changes:void 0,metadata:n.metadata,legacyResource:n.legacyResource}}e.from=t})(gQ||={})});var mW,L_,kZe,gW=y(()=>{Ax();mW=class r{static{this._n=0}static mixin(t){return t._id=r._n++,t}},L_={MainThreadAuthentication:A("MainThreadAuthentication"),MainThreadBulkEdits:A("MainThreadBulkEdits"),MainThreadLanguageModels:A("MainThreadLanguageModels"),MainThreadEmbeddings:A("MainThreadEmbeddings"),MainThreadChatAgents2:A("MainThreadChatAgents2"),MainThreadCodeMapper:A("MainThreadCodeMapper"),MainThreadLanguageModelTools:A("MainThreadChatSkills"),MainThreadGitExtension:A("MainThreadGitExtension"),MainThreadClipboard:A("MainThreadClipboard"),MainThreadCommands:A("MainThreadCommands"),MainThreadComments:A("MainThreadComments"),MainThreadConfiguration:A("MainThreadConfiguration"),MainThreadConsole:A("MainThreadConsole"),MainThreadDebugService:A("MainThreadDebugService"),MainThreadDecorations:A("MainThreadDecorations"),MainThreadDiagnostics:A("MainThreadDiagnostics"),MainThreadDialogs:A("MainThreadDiaglogs"),MainThreadDocuments:A("MainThreadDocuments"),MainThreadDocumentContentProviders:A("MainThreadDocumentContentProviders"),MainThreadTextEditors:A("MainThreadTextEditors"),MainThreadEditorInsets:A("MainThreadEditorInsets"),MainThreadEditorTabs:A("MainThreadEditorTabs"),MainThreadErrors:A("MainThreadErrors"),MainThreadTreeViews:A("MainThreadTreeViews"),MainThreadDownloadService:A("MainThreadDownloadService"),MainThreadLanguageFeatures:A("MainThreadLanguageFeatures"),MainThreadLanguages:A("MainThreadLanguages"),MainThreadLogger:A("MainThreadLogger"),MainThreadMessageService:A("MainThreadMessageService"),MainThreadOutputService:A("MainThreadOutputService"),MainThreadProgress:A("MainThreadProgress"),MainThreadQuickDiff:A("MainThreadQuickDiff"),MainThreadAgentEditorComments:A("MainThreadAgentEditorComments"),MainThreadDocumentDiff:A("MainThreadDocumentDiff"),MainThreadQuickOpen:A("MainThreadQuickOpen"),MainThreadStatusBar:A("MainThreadStatusBar"),MainThreadSecretState:A("MainThreadSecretState"),MainThreadStorage:A("MainThreadStorage"),MainThreadSpeech:A("MainThreadSpeechProvider"),MainThreadTelemetry:A("MainThreadTelemetry"),MainThreadMeteredConnection:A("MainThreadMeteredConnection"),MainThreadTerminalService:A("MainThreadTerminalService"),MainThreadTerminalShellIntegration:A("MainThreadTerminalShellIntegration"),MainThreadWebviews:A("MainThreadWebviews"),MainThreadWebviewPanels:A("MainThreadWebviewPanels"),MainThreadWebviewViews:A("MainThreadWebviewViews"),MainThreadCustomEditors:A("MainThreadCustomEditors"),MainThreadUrls:A("MainThreadUrls"),MainThreadUriOpeners:A("MainThreadUriOpeners"),MainThreadProfileContentHandlers:A("MainThreadProfileContentHandlers"),MainThreadWorkspace:A("MainThreadWorkspace"),MainThreadFileSystem:A("MainThreadFileSystem"),MainThreadFileSystemEventService:A("MainThreadFileSystemEventService"),MainThreadExtensionService:A("MainThreadExtensionService"),MainThreadSCM:A("MainThreadSCM"),MainThreadSearch:A("MainThreadSearch"),MainThreadShare:A("MainThreadShare"),MainThreadTask:A("MainThreadTask"),MainThreadWindow:A("MainThreadWindow"),MainThreadPower:A("MainThreadPower"),MainThreadLabelService:A("MainThreadLabelService"),MainThreadNotebook:A("MainThreadNotebook"),MainThreadNotebookDocuments:A("MainThreadNotebookDocumentsShape"),MainThreadNotebookEditors:A("MainThreadNotebookEditorsShape"),MainThreadNotebookKernels:A("MainThreadNotebookKernels"),MainThreadNotebookRenderers:A("MainThreadNotebookRenderers"),MainThreadInteractive:A("MainThreadInteractive"),MainThreadTheming:A("MainThreadTheming"),MainThreadTunnelService:A("MainThreadTunnelService"),MainThreadManagedSockets:A("MainThreadManagedSockets"),MainThreadBrowserTunnelProxy:A("MainThreadBrowserTunnelProxy"),MainThreadTimeline:A("MainThreadTimeline"),MainThreadTesting:A("MainThreadTesting"),MainThreadLocalization:A("MainThreadLocalizationShape"),MainThreadMcp:A("MainThreadMcpShape"),MainThreadAiRelatedInformation:A("MainThreadAiRelatedInformation"),MainThreadAiEmbeddingVector:A("MainThreadAiEmbeddingVector"),MainThreadChatStatus:A("MainThreadChatStatus"),MainThreadChatQuota:A("MainThreadChatQuota"),MainThreadChatInputNotification:A("MainThreadChatInputNotification"),MainThreadAiSettingsSearch:A("MainThreadAiSettingsSearch"),MainThreadDataChannels:A("MainThreadDataChannels"),MainThreadChatSessions:A("MainThreadChatSessions"),MainThreadChatOutputRenderer:A("MainThreadChatOutputRenderer"),MainThreadChatContext:A("MainThreadChatContext"),MainThreadChatDebug:A("MainThreadChatDebug"),MainThreadBrowsers:A("MainThreadBrowsers")},kZe={ExtHostCodeMapper:A("ExtHostCodeMapper"),ExtHostCommands:A("ExtHostCommands"),ExtHostConfiguration:A("ExtHostConfiguration"),ExtHostDiagnostics:A("ExtHostDiagnostics"),ExtHostDebugService:A("ExtHostDebugService"),ExtHostDecorations:A("ExtHostDecorations"),ExtHostDocumentsAndEditors:A("ExtHostDocumentsAndEditors"),ExtHostDocuments:A("ExtHostDocuments"),ExtHostDocumentContentProviders:A("ExtHostDocumentContentProviders"),ExtHostDocumentSaveParticipant:A("ExtHostDocumentSaveParticipant"),ExtHostEditors:A("ExtHostEditors"),ExtHostTreeViews:A("ExtHostTreeViews"),ExtHostFileSystem:A("ExtHostFileSystem"),ExtHostFileSystemInfo:A("ExtHostFileSystemInfo"),ExtHostFileSystemEventService:A("ExtHostFileSystemEventService"),ExtHostLanguages:A("ExtHostLanguages"),ExtHostLanguageFeatures:A("ExtHostLanguageFeatures"),ExtHostQuickOpen:A("ExtHostQuickOpen"),ExtHostQuickDiff:A("ExtHostQuickDiff"),ExtHostAgentEditorComments:A("ExtHostAgentEditorComments"),ExtHostStatusBar:A("ExtHostStatusBar"),ExtHostShare:A("ExtHostShare"),ExtHostExtensionService:A("ExtHostExtensionService"),ExtHostLogLevelServiceShape:A("ExtHostLogLevelServiceShape"),ExtHostTerminalService:A("ExtHostTerminalService"),ExtHostTerminalShellIntegration:A("ExtHostTerminalShellIntegration"),ExtHostSCM:A("ExtHostSCM"),ExtHostSearch:A("ExtHostSearch"),ExtHostTask:A("ExtHostTask"),ExtHostWorkspace:A("ExtHostWorkspace"),ExtHostWindow:A("ExtHostWindow"),ExtHostPower:A("ExtHostPower"),ExtHostWebviews:A("ExtHostWebviews"),ExtHostWebviewPanels:A("ExtHostWebviewPanels"),ExtHostCustomEditors:A("ExtHostCustomEditors"),ExtHostWebviewViews:A("ExtHostWebviewViews"),ExtHostEditorInsets:A("ExtHostEditorInsets"),ExtHostEditorTabs:A("ExtHostEditorTabs"),ExtHostProgress:A("ExtHostProgress"),ExtHostComments:A("ExtHostComments"),ExtHostSecretState:A("ExtHostSecretState"),ExtHostStorage:A("ExtHostStorage"),ExtHostUrls:A("ExtHostUrls"),ExtHostUriOpeners:A("ExtHostUriOpeners"),ExtHostChatOutputRenderer:A("ExtHostChatOutputRenderer"),ExtHostProfileContentHandlers:A("ExtHostProfileContentHandlers"),ExtHostOutputService:A("ExtHostOutputService"),ExtHostLabelService:A("ExtHostLabelService"),ExtHostNotebook:A("ExtHostNotebook"),ExtHostNotebookDocuments:A("ExtHostNotebookDocuments"),ExtHostNotebookEditors:A("ExtHostNotebookEditors"),ExtHostNotebookKernels:A("ExtHostNotebookKernels"),ExtHostNotebookRenderers:A("ExtHostNotebookRenderers"),ExtHostNotebookDocumentSaveParticipant:A("ExtHostNotebookDocumentSaveParticipant"),ExtHostInteractive:A("ExtHostInteractive"),ExtHostChatAgents2:A("ExtHostChatAgents"),ExtHostLanguageModelTools:A("ExtHostChatSkills"),ExtHostChatProvider:A("ExtHostChatProvider"),ExtHostChatContext:A("ExtHostChatContext"),ExtHostChatDebug:A("ExtHostChatDebug"),ExtHostSpeech:A("ExtHostSpeech"),ExtHostEmbeddings:A("ExtHostEmbeddings"),ExtHostAiRelatedInformation:A("ExtHostAiRelatedInformation"),ExtHostAiEmbeddingVector:A("ExtHostAiEmbeddingVector"),ExtHostAiSettingsSearch:A("ExtHostAiSettingsSearch"),ExtHostTheming:A("ExtHostTheming"),ExtHostTunnelService:A("ExtHostTunnelService"),ExtHostManagedSockets:A("ExtHostManagedSockets"),ExtHostBrowserTunnelProxy:A("ExtHostBrowserTunnelProxy"),ExtHostAuthentication:A("ExtHostAuthentication"),ExtHostTimeline:A("ExtHostTimeline"),ExtHostTesting:A("ExtHostTesting"),ExtHostTelemetry:A("ExtHostTelemetry"),ExtHostMeteredConnection:A("ExtHostMeteredConnection"),ExtHostLocalization:A("ExtHostLocalization"),ExtHostMcp:A("ExtHostMcp"),ExtHostDataChannels:A("ExtHostDataChannels"),ExtHostChatSessions:A("ExtHostChatSessions"),ExtHostChatQuota:A("ExtHostChatQuota"),ExtHostGitExtension:A("ExtHostGitExtension"),ExtHostBrowsers:A("ExtHostBrowsers")}});var fW,hW=y(()=>{X();fW=D("IExtHostRpcService")});var Nc,Lp,yl,Op,fQ,Eh,O_,vW=y(()=>{ie();Zs();hh();s_();Mx();a_();A_();Nc=(r,t,e,n)=>{let o=t;return{enumerable:!0,configurable:!1,get(){return o},set(i){if(!e(o,i)){let s=o;o=i,r.listener?.(n(i,s))}}}},Lp=(r,t)=>r===t,yl={range:(r,t)=>r===t?!0:!r||!t?!1:r.isEqual(t),label:Lp,description:Lp,sortText:Lp,busy:Lp,error:Lp,canResolveChildren:Lp,tags:(r,t)=>!(r.length!==t.length||r.some(e=>!t.find(n=>e.id===n.id)))},Op=r=>t=>({op:4,update:r(t)}),fQ=(r,t)=>({range:(()=>{let e,n=Op(o=>({range:bn.lift(ge.from(o))}));return{enumerable:!0,configurable:!1,get(){return e},set(o){r.listener?.({op:6}),yl.range(e,o)||(e=o,r.listener?.(n(o)))}}})(),label:Nc(r,t,yl.label,Op(e=>({label:e}))),description:Nc(r,void 0,yl.description,Op(e=>({description:e}))),sortText:Nc(r,void 0,yl.sortText,Op(e=>({sortText:e}))),canResolveChildren:Nc(r,!1,yl.canResolveChildren,e=>({op:2,state:e})),busy:Nc(r,!1,yl.busy,Op(e=>({busy:e}))),error:Nc(r,void 0,yl.error,Op(e=>({error:ct.fromStrict(e)||null}))),tags:Nc(r,[],yl.tags,(e,n)=>({op:1,new:e.map(vl.from),old:n.map(vl.from)}))}),Eh=class r{constructor(t,e,n,o){if(e.includes("\0"))throw new Error(`Test IDs may not include the ${JSON.stringify(e)} symbol`);let i=EH(this,t);Object.defineProperties(this,{id:{value:e,enumerable:!0,writable:!1},uri:{value:o,enumerable:!0,writable:!1},parent:{enumerable:!1,get(){return i.parent instanceof O_?void 0:i.parent}},children:{value:xH(i,Lx,r),enumerable:!0,writable:!1},...fQ(i,n)})}},O_=class extends Eh{constructor(e,n){super(e,e,n,void 0);this._isRoot=!0}}});var yW,IW=y(()=>{X();yW=D("IExtHostInitDataService")});var bW=y(()=>{ze()});function hQ(r){let t=Date.now()-new Date(r).getTime();return isNaN(t)?!1:t<1e3*60*60*24}var Fx,U_,SW,xW=y(()=>{X();de();Rn();Pe();IW();bW();Zr();en();Q();le();Fx=class extends _{constructor(e,n,o){super();this.initData=n;this._onDidChangeTelemetryEnabled=this._register(new w);this.onDidChangeTelemetryEnabled=this._onDidChangeTelemetryEnabled.event;this._onDidChangeTelemetryConfiguration=this._register(new w);this.onDidChangeTelemetryConfiguration=this._onDidChangeTelemetryConfiguration.event;this._productConfig={usage:!0,error:!0};this._level=0;this._inLoggingOnlyMode=!1;this._telemetryLoggers=new Map;this._inLoggingOnlyMode=this.initData.environment.isExtensionTelemetryLoggingOnly;let i=n.remote.isRemote?"remoteExtHostTelemetry":e?"workerExtHostTelemetry":"extHostTelemetry";this._outputLogger=this._register(o.createLogger(i,{name:d(3807,null,this._inLoggingOnlyMode?" (Not Sent)":""),hidden:!0,group:uy}))}getTelemetryConfiguration(){return this._level===3}getTelemetryDetails(){return{isCrashEnabled:this._level>=1,isErrorsEnabled:this._productConfig.error?this._level>=2:!1,isUsageEnabled:this._productConfig.usage?this._level>=3:!1}}instantiateLogger(e,n,o){let i=this.getTelemetryDetails(),s=new U_(n,o,e,this._outputLogger,this._inLoggingOnlyMode,this.getBuiltInCommonProperties(e),{isUsageEnabled:i.isUsageEnabled,isErrorsEnabled:i.isErrorsEnabled}),a=this._telemetryLoggers.get(e.identifier.value)??[];return this._telemetryLoggers.set(e.identifier.value,[...a,s]),s.apiTelemetryLogger}$initializeTelemetryLevel(e,n,o){this._level=e,this._productConfig=o??{usage:!0,error:!0}}getBuiltInCommonProperties(e){let n=Object.create(null);switch(n["common.extname"]=`${e.publisher}.${e.name}`,n["common.extversion"]=e.version,n["common.vscodemachineid"]=this.initData.telemetryInfo.machineId,n["common.vscodesessionid"]=this.initData.telemetryInfo.sessionId,n["common.vscodecommithash"]=this.initData.commit,n["common.sqmid"]=this.initData.telemetryInfo.sqmId,n["common.devDeviceId"]=this.initData.telemetryInfo.devDeviceId??this.initData.telemetryInfo.machineId,n["common.vscodeversion"]=this.initData.version,n["common.vscodereleasedate"]=this.initData.date,n["common.isnewappinstall"]=hQ(this.initData.telemetryInfo.firstSessionDate),n["common.product"]=this.initData.environment.appHost,this.initData.uiKind){case 2:n["common.uikind"]="web";break;case 1:n["common.uikind"]="desktop";break;default:n["common.uikind"]="unknown"}return n["common.remotename"]=dL(this.initData.remote.authority,this.initData),this.initData.environment.isSessionsWindow&&(n["common.isAgentsWindow"]=!0),n}$onDidChangeTelemetryLevel(e){this._oldTelemetryEnablement=this.getTelemetryConfiguration(),this._level=e;let n=this.getTelemetryDetails();this._telemetryLoggers.forEach((o,i)=>{let s=o.filter(a=>!a.isDisposed);s.length===0?this._telemetryLoggers.delete(i):this._telemetryLoggers.set(i,s)}),this._telemetryLoggers.forEach(o=>{for(let i of o)i.updateTelemetryEnablements(n.isUsageEnabled,n.isErrorsEnabled)}),this._oldTelemetryEnablement!==this.getTelemetryConfiguration()&&this._onDidChangeTelemetryEnabled.fire(this.getTelemetryConfiguration()),this._onDidChangeTelemetryConfiguration.fire(this.getTelemetryDetails())}onExtensionError(e,n){let i=this._telemetryLoggers.get(e.value)?.filter(a=>!a.isDisposed);if(!i)return this._telemetryLoggers.delete(e.value),!1;let s=!1;for(let a of i)a.ignoreUnhandledExtHostErrors||(a.logError(n),s=!0);return s}};Fx=C([I(1,yW),I(2,Oo)],Fx);U_=class{constructor(t,e,n,o,i,s,a){this._extension=n;this._logger=o;this._inLoggingOnlyMode=i;this._commonProperties=s;this._onDidChangeEnableStates=new w;this.ignoreUnhandledExtHostErrors=e?.ignoreUnhandledErrors??!1,this._ignoreBuiltinCommonProperties=e?.ignoreBuiltInCommonProperties??!1,this._additionalCommonProperties=e?.additionalCommonProperties,this._sender=t,this._telemetryEnablements={isUsageEnabled:a.isUsageEnabled,isErrorsEnabled:a.isErrorsEnabled}}static validateSender(t){if(typeof t!="object")throw new TypeError("TelemetrySender argument is invalid");if(typeof t.sendEventData!="function")throw new TypeError("TelemetrySender.sendEventData must be a function");if(typeof t.sendErrorData!="function")throw new TypeError("TelemetrySender.sendErrorData must be a function");if(typeof t.flush<"u"&&typeof t.flush!="function")throw new TypeError("TelemetrySender.flush must be a function or undefined")}updateTelemetryEnablements(t,e){this._apiObject&&(this._telemetryEnablements={isUsageEnabled:t,isErrorsEnabled:e},this._onDidChangeEnableStates.fire(this._apiObject))}mixInCommonPropsAndCleanData(t){let e=t.properties?t.properties??{}:t;return e=tg(e,[]),this._additionalCommonProperties&&(e=Rs(e,this._additionalCommonProperties)),this._ignoreBuiltinCommonProperties||(e=Rs(e,this._commonProperties)),t.properties?t.properties=e:t=e,t}logEvent(t,e){this._sender&&(this._extension.publisher==="vscode"?t=this._extension.name+"/"+t:t=this._extension.identifier.value+"/"+t,e=this.mixInCommonPropsAndCleanData(e||{}),this._inLoggingOnlyMode||this._sender?.sendEventData(t,e),this._logger.trace(t,e))}logUsage(t,e){this._telemetryEnablements.isUsageEnabled&&this.logEvent(t,e)}logError(t,e){if(!(!this._telemetryEnablements.isErrorsEnabled||!this._sender))if(typeof t=="string")this.logEvent(t,e);else{let n={name:t.name,message:t.message,stack:t.stack,cause:t.cause},o=tg(n,[]),i=new Error(typeof o.message=="string"?o.message:void 0,{cause:o.cause});i.stack=typeof o.stack=="string"?o.stack:void 0,i.name=typeof o.name=="string"?o.name:"unknown",e=this.mixInCommonPropsAndCleanData(e||{}),this._inLoggingOnlyMode||this._sender.sendErrorData(i,e),this._logger.trace("exception",e)}}get apiTelemetryLogger(){if(!this._apiObject){let t=this,e={logUsage:t.logUsage.bind(t),get isUsageEnabled(){return t._telemetryEnablements.isUsageEnabled},get isErrorsEnabled(){return t._telemetryEnablements.isErrorsEnabled},logError:t.logError.bind(t),dispose:t.dispose.bind(t),onDidChangeEnableStates:t._onDidChangeEnableStates.event.bind(t)};this._apiObject=Object.freeze(e)}return this._apiObject}get isDisposed(){return!this._sender}dispose(){if(this._sender?.flush){let t=this._sender;this._sender=void 0,Promise.resolve(t.flush()).then(t=void 0),this._apiObject=void 0}else this._sender=void 0;this._onDidChangeEnableStates.dispose()}};SW=D("IExtHostTelemetry")});var Vx,EW,N_,CW,F_,wW=y(()=>{Ee();aS();A_();en();gW();Lt();Pe();Os();Zs();fS();ie();Q();X();hW();vW();ze();Ax();Ol();ya();Zr();xW();Jt();Se();Vx=class{constructor(t,e,n){this._commands=new Map;this._apiCommands=new Map;this.$d=t.getProxy(L_.MainThreadCommands),this._logService=e,this.$f=n,this.$e=t.getProxy(L_.MainThreadTelemetry),this.converter=new N_(this,o=>{let i=this._apiCommands.get(o);return i?.result===F_.Void?i:void 0},e),this._argumentProcessors=[{processArgument(o){return un(o)}},{processArgument(o){return xo(o,function(i){if(bn.isIRange(i))return ge.to(i);if(Ri.isIPosition(i))return da.to(i);if(bn.isIRange(i.range)&&b.isUri(i.uri))return hl.to(i);if(i instanceof L)return i.buffer.buffer.slice(i.buffer.byteOffset,i.buffer.byteOffset+i.buffer.byteLength);if(!Array.isArray(i))return i})}}]}$d;$e;$f;registerArgumentProcessor(t){this._argumentProcessors.push(t)}registerApiCommand(t){let e=this.registerCommand(!1,t.id,async(...n)=>{let o=t.args.map((s,a)=>{if(!s.validate(n[a]))throw new Error(`Invalid argument '${s.name}' when running '${t.id}', received: ${typeof n[a]=="object"?JSON.stringify(n[a],null,"	"):n[a]} `);return s.convert(n[a])}),i=await this.executeCommand(t.internalId,...o);return t.result.convert(i,n,this.converter)},void 0,{description:t.description,args:t.args,returns:t.result.description});return this._apiCommands.set(t.id,t),new js(()=>{e.dispose(),this._apiCommands.delete(t.id)})}registerCommand(t,e,n,o,i,s){if(this._logService.trace("ExtHostCommands#registerCommand",e),!e.trim().length)throw new Error("invalid id");if(this._commands.has(e))throw new Error(`command '${e}' already exists`);return this._commands.set(e,{callback:n,thisArg:o,metadata:i,extension:s}),t&&this.$d.$registerCommand(e),new js(()=>{this._commands.delete(e)&&t&&this.$d.$unregisterCommand(e)})}executeCommand(t,...e){return this._logService.trace("ExtHostCommands#executeCommand",t),this._doExecuteCommand(t,e,!0)}async _doExecuteCommand(t,e,n){if(this._commands.has(t))return this.$d.$fireCommandActivationEvent(t),this._executeContributedCommand(t,e,!1);{let o=!1,i=xo(e,function(s){if(s instanceof Fe)return da.from(s);if(s instanceof $e)return ge.from(s);if(s instanceof Ro)return hl.from(s);if(Ci.isNotebookRange(s))return k_.from(s);if(s instanceof ArrayBuffer)return o=!0,L.wrap(new Uint8Array(s));if(s instanceof Uint8Array)return o=!0,L.wrap(s);if(s instanceof L)return o=!0,s;if(!Array.isArray(s))return s});try{let s=await this.$d.$executeCommand(t,o?new Mp(i):i,n);return un(s)}catch(s){if(s instanceof Error&&s.message==="$executeCommand:retry")return this._doExecuteCommand(t,e,!1);throw s}}}async _executeContributedCommand(t,e,n){let o=this._commands.get(t);if(!o)throw new Error("Unknown command");let{callback:i,thisArg:s,metadata:a}=o;if(a?.args)for(let c=0;c<a.args.length;c++)try{OM(e[c],a.args[c].constraint)}catch{throw new Error(`Running the contributed command: '${t}' failed. Illegal argument '${a.args[c].name}' - ${a.args[c].description}`)}let l=ho.create();try{return await i.apply(s,e)}catch(c){if(t===this.converter.delegatingCommandId){let u=this.converter.getActualCommand(...e);u&&(t=u.command)}if(mn(c)||this._logService.error(c,t,o.extension?.identifier),!n)throw c;if(o.extension?.identifier){let u=this.$f.onExtensionError(o.extension.identifier,c);this._logService.trace("forwarded error to extension?",u,o.extension?.identifier)}throw new class extends Error{constructor(){super(jr(c));this.id=t;this.source=o.extension?.displayName??o.extension?.name}}}finally{this._reportTelemetry(o,t,l.elapsed())}}_reportTelemetry(t,e,n){t.extension&&(e.startsWith("code.copilot.logStructured")||this.$e.$publicLog2("Extension:ActionExecuted",{extensionId:t.extension.identifier.value,id:new Xr(e),duration:n}))}$executeContributedCommand(t,...e){this._logService.trace("ExtHostCommands#$executeContributedCommand",t);let n=this._commands.get(t);return n?(e=e.map(o=>this._argumentProcessors.reduce((i,s)=>s.processArgument(i,n.extension),o)),this._executeContributedCommand(t,e,!0)):Promise.reject(new Error(`Contributed command '${t}' does not exist.`))}getCommands(t=!1){return this._logService.trace("ExtHostCommands#getCommands",t),this.$d.$getCommands().then(e=>(t&&(e=e.filter(n=>n[0]!=="_")),e))}$getContributedCommandMetadata(){let t=Object.create(null);for(let[e,n]of this._commands){let{metadata:o}=n;o&&(t[e]=o)}return Promise.resolve(t)}};Vx=C([I(0,fW),I(1,K),I(2,SW)],Vx);EW=D("IExtHostCommands"),N_=class{constructor(t,e,n){this._commands=t;this._lookupApiCommand=e;this._logService=n;this.delegatingCommandId=`__vsc${ye()}`;this._cache=new Map;this._cachIdPool=0;this._commands.registerCommand(!0,this.delegatingCommandId,this._executeConvertedCommand,this)}toInternal(t,e){if(!t)return;let n={$ident:void 0,id:t.command,title:t.title,tooltip:t.tooltip};if(!t.command)return n;let o=this._lookupApiCommand(t.command);if(o)n.id=o.internalId,n.arguments=o.args.map((i,s)=>i.convert(t.arguments&&t.arguments[s]));else if(wl(t.arguments)){let i=`${t.command} /${++this._cachIdPool}`;this._cache.set(i,t),e.add(oe(()=>{this._cache.delete(i),this._logService.trace("CommandsConverter#DISPOSE",i)})),n.$ident=i,n.id=this.delegatingCommandId,n.arguments=[i],this._logService.trace("CommandsConverter#CREATE",t.command,i)}return n}fromInternal(t){return typeof t.$ident=="string"?this._cache.get(t.$ident):{command:t.id,title:t.title,arguments:t.arguments}}getActualCommand(...t){return this._cache.get(t[0])}_executeConvertedCommand(...t){let e=this.getActualCommand(...t);return this._logService.trace("CommandsConverter#EXECUTE",t[0],e?e.command:"MISSING"),e?this._commands.executeCommand(e.command,...e.arguments||[]):Promise.reject(`Actual command not found, wanted to execute ${t[0]}`)}},CW=class r{constructor(t,e,n,o){this.name=t;this.description=e;this.validate=n;this.convert=o}static{this.Uri=new r("uri","Uri of a text document",t=>b.isUri(t),t=>t)}static{this.Position=new r("position","A position in a text document",t=>Fe.isPosition(t),da.from)}static{this.Range=new r("range","A range in a text document",t=>$e.isRange(t),ge.from)}static{this.Selection=new r("selection","A selection in a text document",t=>Ei.isSelection(t),R_.from)}static{this.Number=new r("number","",t=>typeof t=="number",t=>t)}static{this.String=new r("string","",t=>typeof t=="string",t=>t)}static Arr(t){return new r(`${t.name}_array`,`Array of ${t.name}, ${t.description}`,e=>Array.isArray(e)&&e.every(n=>t.validate(n)),e=>e.map(n=>t.convert(n)))}static{this.CallHierarchyItem=new r("item","A call hierarchy item",t=>t instanceof np,xh.from)}static{this.TypeHierarchyItem=new r("item","A type hierarchy item",t=>t instanceof rp,__.from)}static{this.TestItem=new r("testItem","A VS Code TestItem",t=>t instanceof Eh,Ch.from)}static{this.TestProfile=new r("testProfile","A VS Code test profile",t=>t instanceof Hb,D_.from)}optional(){return new r(this.name,`(optional) ${this.description}`,t=>t==null||this.validate(t),t=>t===void 0?void 0:t===null?null:this.convert(t))}with(t,e){return new r(t??this.name,e??this.description,this.validate,this.convert)}},F_=class r{constructor(t,e){this.description=t;this.convert=e}static{this.Void=new r("no result",t=>t)}}});import*as Wx from"fs";var wh,Hx,TW=y(()=>{Cu();wW();ie();Pe();zd();wh=class{constructor(t,e,n){this._commands=t;this.logService=e;this._ipcHandlePath=n;this._server=void 0;this._disposed=!1;this.setup()}get ipcHandlePath(){return this._ipcHandlePath}async setup(){try{let t=await import("http");if(this._disposed)return;this._server=t.createServer((e,n)=>this.onRequest(e,n));try{this._server.listen(this.ipcHandlePath),this._server.on("error",e=>this.logService.error(e))}catch{this.logService.error("Could not start open from terminal server.")}}catch(t){this.logService.error("Error setting up CLI server",t)}}onRequest(t,e){let n=(i,s)=>{e.writeHead(i,{"content-type":"application/json"}),e.end(JSON.stringify(s||null),a=>a&&this.logService.error(a))},o=[];t.setEncoding("utf8"),t.on("data",i=>o.push(i)),t.on("end",async()=>{try{let i=JSON.parse(o.join("")),s;switch(i.type){case"open":s=await this.open(i);break;case"openExternal":s=await this.openExternal(i);break;case"status":s=await this.getStatus(i);break;case"extensionManagement":s=await this.manageExtensions(i);break;case"clipboard":s=await this.clipboard(i);break;default:n(404,`Unknown message type: ${i.type}`);break}n(200,s)}catch(i){let s=i instanceof Error?i.message:JSON.stringify(i);n(500,s),this.logService.error("Error while processing pipe request",i)}})}async open(t){let{fileURIs:e,folderURIs:n,forceNewWindow:o,diffMode:i,mergeMode:s,addMode:a,removeMode:l,forceReuseWindow:c,gotoLineMode:u,waitMarkerFilePath:p,remoteAuthority:m}=t,g=[];if(Array.isArray(n))for(let T of n)try{g.push({folderUri:b.parse(T)})}catch{}if(Array.isArray(e))for(let T of e)try{BL(T)?g.push({workspaceUri:b.parse(T)}):g.push({fileUri:b.parse(T)})}catch{}let h=p?b.file(p):void 0,S={forceNewWindow:o,diffMode:i,mergeMode:s,addMode:a,removeMode:l,gotoLineMode:u,forceReuseWindow:c,preferNewWindow:!c&&!h&&!a&&!l,waitMarkerFileURI:h,remoteAuthority:m};this._commands.executeCommand("_remoteCLI.windowOpen",g,S)}async openExternal(t){for(let e of t.uris)b.parse(e).scheme!=="file"&&await this._commands.executeCommand("_remoteCLI.openExternal",e)}async manageExtensions(t){let e=o=>o?.map(i=>/\.vsix$/i.test(i)?b.parse(i):i),n={list:t.list,install:e(t.install),uninstall:e(t.uninstall),force:t.force};return await this._commands.executeCommand("_remoteCLI.manageExtensions",n)}async getStatus(t){return await this._commands.executeCommand("_remoteCLI.getSystemStatus")}async clipboard(t){return await this._commands.executeCommand("_remoteCLI.setClipboard",t.content)}dispose(){this._disposed=!0,this._server?.close(),this._ipcHandlePath&&process.platform!=="win32"&&Wx.existsSync(this._ipcHandlePath)&&Wx.unlinkSync(this._ipcHandlePath)}},Hx=class extends wh{constructor(t,e){super(t,e,tl())}};Hx=C([I(0,EW),I(1,K)],Hx)});var RW=y(()=>{});function PW(r,t,e=!1){return r.scope?!!(r.scope.workspaceFolder&&t?.workspaceFolder&&r.scope.workspaceFolder.index===t.workspaceFolder.index):e?t===r.scope:!0}function kW(r,t){if(!t)return r;let e=new Set;t.forEach(o=>e.add(o.extensionIdentifier));let n=[];return r.forEach(o=>{e.has(o.extensionIdentifier)||n.push(o)}),n.length===0?void 0:n}function bQ(r,t){if(!t)return;let e=new Map;t.forEach(o=>e.set(o.extensionIdentifier,o));let n=[];return r.forEach(o=>{let i=e.get(o.extensionIdentifier);i&&(o.type!==i.type||o.value!==i.value||o.scope?.workspaceFolder?.index!==i.scope?.workspaceFolder?.index)&&n.push(i)}),n.length===0?void 0:n}var vQ,yQ,IQ,Bx,DW=y(()=>{me();RW();vQ=new Map([[2,"APPEND"],[3,"PREPEND"],[1,"REPLACE"]]),yQ=/^VSCODE_PYTHON_(PWSH|ZSH|BASH|FISH)_ACTIVATE/,IQ="ms-python.vscode-python-envs",Bx=class{constructor(t){this.collections=t;this.map=new Map;this.descriptionMap=new Map;t.forEach((e,n)=>{this.populateDescriptionMap(e,n);let o=e.map.entries(),i=o.next();for(;!i.done;){let s=i.value[1],a=i.value[0];if(this.blockPythonActivationVar(a,n)){i=o.next();continue}let l=this.map.get(a);if(l||(l=[],this.map.set(a,l)),l.length>0&&l[0].type===1){i=o.next();continue}let c={extensionIdentifier:n,value:s.value,type:s.type,scope:s.scope,variable:s.variable,options:s.options};c.scope||delete c.scope,l.unshift(c),i=o.next()}})}async applyToProcessEnvironment(t,e,n){let o;te&&(o={},Object.keys(t).forEach(i=>o[i.toLowerCase()]=i));for(let[i,s]of this.getVariableMap(e)){let a=te&&o[i.toLowerCase()]||i;for(let l of s){let c=n?await n(l.value):l.value;if(!this.blockPythonActivationVar(l.variable,l.extensionIdentifier)){if(l.options?.applyAtProcessCreation??!0)switch(l.type){case 2:t[a]=(t[a]||"")+c;break;case 3:t[a]=c+(t[a]||"");break;case 1:t[a]=c;break}if(l.options?.applyAtShellIntegration??!1){let u=`VSCODE_ENV_${vQ.get(l.type)}`;t[u]=(t[u]?t[u]+":":"")+i+"="+this._encodeColons(c)}}}}}_encodeColons(t){return t.replaceAll(":","\\x3a")}blockPythonActivationVar(t,e){return!!(yQ.test(t)&&IQ!==e)}diff(t,e){let n=new Map,o=new Map,i=new Map;if(t.getVariableMap(e).forEach((s,a)=>{let l=this.getVariableMap(e).get(a),c=kW(s,l);c&&n.set(a,c)}),this.getVariableMap(e).forEach((s,a)=>{let l=t.getVariableMap(e).get(a),c=kW(s,l);c&&i.set(a,c)}),this.getVariableMap(e).forEach((s,a)=>{let l=t.getVariableMap(e).get(a),c=bQ(s,l);c&&o.set(a,c)}),!(n.size===0&&o.size===0&&i.size===0))return{added:n,changed:o,removed:i}}getVariableMap(t){let e=new Map;for(let n of this.map.values()){let o=n.filter(i=>PW(i,t));o.length>0&&e.set(o[0].variable,o)}return e}getDescriptionMap(t){let e=new Map;for(let n of this.descriptionMap.values()){let o=n.filter(i=>PW(i,t,!0));for(let i of o)e.set(i.extensionIdentifier,i.description)}return e}populateDescriptionMap(t,e){if(!t.descriptionMap)return;let n=t.descriptionMap.entries(),o=n.next();for(;!o.done;){let i=o.value[1],s=o.value[0],a=this.descriptionMap.get(s);a||(a=[],this.descriptionMap.set(s,a));let l={extensionIdentifier:e,scope:i.scope,description:i.description};l.scope||delete l.scope,a.push(l),o=n.next()}}}});function _W(r){return[...r.entries()]}function MW(r){return r?[...r.entries()]:[]}function AW(r){return new Map(r)}function LW(r){return new Map(r??[])}var V_=y(()=>{});var H_=y(()=>{});function W_(r){return r.match(/^['"].*['"]$/)&&(r=r.substring(1,r.length-1)),or===1&&r&&r[1]===":"?r[0].toUpperCase()+r.substring(1):r}function OW(r){return!r.strictEnv}var B_=y(()=>{me();ol()});function UW(r,t){if(t)if(te)for(let e in t){let n=e;for(let i in r)if(e.toLowerCase()===i.toLowerCase()){n=i;break}let o=t[e];o!==void 0&&NW(r,n,o)}else Object.keys(t).forEach(e=>{let n=t[e];n!==void 0&&NW(r,e,n)})}function NW(r,t,e){Z(e)?r[t]=e:delete r[t]}function xQ(r,t,e,n){r.TERM_PROGRAM="vscode",t&&(r.TERM_PROGRAM_VERSION=t),CQ(r,n)&&(r.LANG=EQ(e)),r.COLORTERM="truecolor"}function FW(r,t){if(t)for(let e of Object.keys(t)){let n=t[e];n!=null&&(r[e]=n)}}async function VW(r,t){return await Promise.all(Object.entries(t).map(async([e,n])=>{if(Z(n))try{t[e]=await r(n)}catch{t[e]=n}})),t}function CQ(r,t){if(t==="on")return!0;if(t==="auto"){let e=r.LANG;return!e||e.search(/\.UTF\-8$/)===-1&&e.search(/\.utf8$/)===-1&&e.search(/\.euc.+/)===-1}return!1}function EQ(r){let t=r?r.split("-"):[],e=t.length;if(e===0)return"en_US.UTF-8";if(e===1){let n={af:"ZA",am:"ET",be:"BY",bg:"BG",ca:"ES",cs:"CZ",da:"DK",de:"DE",el:"GR",en:"US",es:"ES",et:"EE",eu:"ES",fi:"FI",fr:"FR",he:"IL",hr:"HR",hu:"HU",hy:"AM",is:"IS",it:"IT",ja:"JP",kk:"KZ",ko:"KR",lt:"LT",nl:"NL",no:"NO",pl:"PL",pt:"BR",ro:"RO",ru:"RU",sk:"SK",sl:"SI",sr:"YU",sv:"SE",tr:"TR",uk:"UA",zh:"CN"};Object.prototype.hasOwnProperty.call(n,t[0])&&t.push(n[t[0]])}else t[1]=t[1].toUpperCase();return t.join("_")+".UTF-8"}async function WW(r,t,e,n,o,i){if(r.cwd){let a=typeof r.cwd=="object"?r.cwd.fsPath:r.cwd,l=await HW(a,e);return W_(l||a)}let s;return!r.ignoreConfigurationCwd&&o&&(e&&(o=await HW(o,e,i)),o&&(zo(o)?s=o:n&&(s=G(n.fsPath,o)))),s||(s=n?n.fsPath:t||""),W_(s)}async function HW(r,t,e){if(t)try{return await t(r)}catch(n){e?.error("Could not resolve terminal cwd",n);return}return r}function BW(r,t,e){if(e)return n=>e.resolveWithEnvironment(t,r,n)}async function $W(r,t,e,n,o,i){let s={};if(r.strictEnv)FW(s,r.env);else{FW(s,i);let a={...t};e&&(a&&await VW(e,a),r.env&&await VW(e,r.env)),ut&&(s.VSCODE_NODE_OPTIONS&&(s.NODE_OPTIONS=s.VSCODE_NODE_OPTIONS,delete s.VSCODE_NODE_OPTIONS),s.VSCODE_NODE_REPL_EXTERNAL_MODULE&&(s.NODE_REPL_EXTERNAL_MODULE=s.VSCODE_NODE_REPL_EXTERNAL_MODULE,delete s.VSCODE_NODE_REPL_EXTERNAL_MODULE)),WA(s,"VSCODE_IPC_HOOK_CLI","VSCODE_PROXY_URI"),UW(s,a),UW(s,r.env),xQ(s,n,Gn,o)}return s}var qW=y(()=>{Ue();ie();Nd();ol();me();B_();Ee()});var zW,$_,GW,mo,q_=y(()=>{Se();X();zW=D("configurationResolverService"),$_=(Ce=>(Ce.Unknown="unknown",Ce.Env="env",Ce.Config="config",Ce.Command="command",Ce.Input="input",Ce.ExtensionInstallFolder="extensionInstallFolder",Ce.TaskVar="taskVar",Ce.WorkspaceFolder="workspaceFolder",Ce.Cwd="cwd",Ce.WorkspaceFolderBasename="workspaceFolderBasename",Ce.UserHome="userHome",Ce.LineNumber="lineNumber",Ce.ColumnNumber="columnNumber",Ce.SelectedText="selectedText",Ce.File="file",Ce.FileWorkspaceFolder="fileWorkspaceFolder",Ce.FileWorkspaceFolderBasename="fileWorkspaceFolderBasename",Ce.RelativeFile="relativeFile",Ce.RelativeFileDirname="relativeFileDirname",Ce.FileDirname="fileDirname",Ce.FileExtname="fileExtname",Ce.FileBasename="fileBasename",Ce.FileBasenameNoExtension="fileBasenameNoExtension",Ce.FileDirnameBasename="fileDirnameBasename",Ce.ExecPath="execPath",Ce.ExecInstallFolder="execInstallFolder",Ce.PathSeparator="pathSeparator",Ce.PathSeparatorAlias="/",Ce))($_||{}),GW=Object.values($_).filter(r=>typeof r=="string"),mo=class extends Kn{constructor(e,n){super(n);this.variable=e}}});var Fc,z_=y(()=>{Gr();me();Fc=class r{constructor(t){this.locations=new Map;this.newReplacementNotifiers=new Set;typeof t=="string"?(this.stringRoot=!0,this.root={value:t}):(this.stringRoot=!1,this.root=structuredClone(t))}static{this.VARIABLE_LHS="${"}static parse(t){if(t instanceof r)return t;let e=new r(t);return e.applyPlatformSpecificKeys(),e.parseObject(e.root),e}applyPlatformSpecificKeys(){let t=this.root,e=te?"windows":ut?"osx":qe?"linux":void 0;e&&t&&typeof t=="object"&&t.hasOwnProperty(e)&&Object.keys(t[e]).forEach(n=>t[n]=t[e][n]),delete t.windows,delete t.osx,delete t.linux}parseVariable(t,e){if(t[e]!=="$"||t[e+1]!=="{")return;let n=e+2,o=1;for(;n<t.length;){if(t[n]==="{")o++;else if(t[n]==="}"&&(o--,o===0))break;n++}if(o!==0)return;let i=t.slice(e,n+1),s=t.substring(e+2,n),a=s.indexOf(":");return a===-1?{replacement:{id:i,name:s,inner:s},end:n}:{replacement:{id:i,inner:s,name:s.slice(0,a),arg:s.slice(a+1)},end:n}}parseObject(t){if(!(typeof t!="object"||t===null)){if(Array.isArray(t)){for(let e=0;e<t.length;e++){let n=t[e];typeof n=="string"?this.parseString(t,e,n):this.parseObject(n)}return}for(let[e,n]of Object.entries(t))this.parseString(t,e,e,!0),typeof n=="string"?this.parseString(t,e,n):this.parseObject(n)}}parseString(t,e,n,o,i){let s=0;for(;s<n.length;){let a=n.indexOf("${",s);if(a===-1)break;let l=this.parseVariable(n,a);if(l){if(s=l.end+1,i?.includes(l.replacement.id))continue;let c=this.locations.get(l.replacement.id)||{locations:[],replacement:l.replacement},u={object:t,propertyName:e,replaceKeyName:o};c.locations.push(u),this.locations.set(l.replacement.id,c),c.resolved?this._resolveAtLocation(l.replacement,u,c.resolved,i):this.newReplacementNotifiers.forEach(p=>p(l.replacement))}else s=a+2}}*unresolved(){let t=new Map,e=n=>{t.set(n.id,n)};for(let n of this.locations.values())n.resolved===void 0&&t.set(n.replacement.id,n.replacement);for(this.newReplacementNotifiers.add(e);;){let n=Gt.first(t);if(!n)break;let[o,i]=n;yield i,t.delete(o)}this.newReplacementNotifiers.delete(e)}resolved(){return Gt.map(Gt.filter(this.locations.values(),t=>!!t.resolved),t=>[t.replacement,t.resolved])}resolve(t,e){typeof e!="object"&&(e={value:String(e)});let n=this.locations.get(t.id);if(n&&(n.resolved=e,e.value!==void 0))for(let o of n.locations||Gt.empty())this._resolveAtLocation(t,o,e)}_resolveAtLocation(t,{replaceKeyName:e,propertyName:n,object:o},i,s=[]){if(i.value!==void 0){if(s.push(t.id),e&&typeof n=="string"){let a=o[n],l=n.replaceAll(t.id,i.value);delete o[n],o[l]=a,this._renameKeyInLocations(o,n,l),this.parseString(o,l,i.value,!0,s)}else o[n]=o[n].replaceAll(t.id,i.value),this.parseString(o,n,i.value,!1,s);s.pop()}}_renameKeyInLocations(t,e,n){for(let o of this.locations.values())for(let i of o.locations)i.object===t&&i.propertyName===e&&(i.propertyName=n)}toObject(){return this.stringRoot?this.root.value:this.root}}});var $x,KW=y(()=>{xD();Ue();me();Sr();Ee();le();q_();z_();$x=class{constructor(t,e,n,o){this._contributedVariables=new Map;this.resolvableVariables=new Set(GW);this._context=t,this._labelService=e,this._userHomePromise=n,o&&(this._envVariablesPromise=o.then(i=>this.prepareEnv(i)))}prepareEnv(t){if(te){let e=Object.create(null);return Object.keys(t).forEach(n=>{e[n.toLowerCase()]=t[n]}),e}return t}async resolveWithEnvironment(t,e,n){let o=Fc.parse(n);for(let i of o.unresolved()){let s=await this.evaluateSingleVariable(i,e?.uri,t);s!==void 0&&o.resolve(i,String(s))}return o.toObject()}async resolveAsync(t,e){let n=Fc.parse(e);for(let o of n.unresolved()){let i=await this.evaluateSingleVariable(o,t?.uri);i!==void 0&&n.resolve(o,String(i))}return n.toObject()}resolveWithInteractionReplace(t,e){throw new Error("resolveWithInteractionReplace not implemented.")}resolveWithInteraction(t,e){throw new Error("resolveWithInteraction not implemented.")}contributeVariable(t,e){if(this._contributedVariables.has(t))throw new Error("Variable "+t+" is contributed twice.");this.resolvableVariables.add(t),this._contributedVariables.set(t,e)}fsPath(t){return this._labelService?this._labelService.getUriLabel(t,{noPrefix:!0}):t.fsPath}async evaluateSingleVariable(t,e,n,o){let i={env:n!==void 0?this.prepareEnv(n):await this._envVariablesPromise,userHome:n!==void 0?void 0:await this._userHomePromise},{name:s,arg:a}=t,l=p=>{let m=this._context.getFilePath();if(m)return wp(m);throw new mo(p,d(19666,null,t.id))},c=p=>{let m=l(p);if(this._context.getWorkspaceFolderPathForFile){let g=this._context.getWorkspaceFolderPathForFile();if(g)return wp(g)}throw new mo(p,d(19667,null,t.id,vt(m)))},u=p=>{if(a){let m=this._context.getFolderUri(a);if(m)return m;throw new mo(p,d(19664,null,p,a))}if(e)return e;throw this._context.getWorkspaceFolderCount()>1?new mo(p,d(19672,null,p)):new mo(p,d(19671,null,p))};switch(s){case"env":if(a){if(i.env){let p=i.env[te?a.toLowerCase():a];if(Z(p))return p}return""}throw new mo("env",d(19677,null,t.id));case"config":if(a){let p=this._context.getConfigurationValue(e,a);if(Wt(p))throw new mo("config",d(19674,null,t.id,a));if(Ae(p))throw new mo("config",d(19673,null,t.id,a));return p}throw new mo("config",d(19676,null,t.id));case"command":return this.resolveFromMap("command",t.id,a,o,"command");case"input":return this.resolveFromMap("input",t.id,a,o,"input");case"extensionInstallFolder":if(a){let p=await this._context.getExtension(a);if(!p)throw new mo("extensionInstallFolder",d(19675,null,t.id,a));return this.fsPath(p.extensionLocation)}throw new mo("extensionInstallFolder",d(19678,null,t.id));default:switch(s){case"workspaceRoot":case"workspaceFolder":{let p=u("workspaceFolder");return p?wp(this.fsPath(p)):void 0}case"cwd":{if(!e&&!a)return br();let p=u("cwd");return p?wp(this.fsPath(p)):void 0}case"workspaceRootFolderName":case"workspaceFolderBasename":{let p=u("workspaceFolderBasename");return p?wp(vt(this.fsPath(p))):void 0}case"userHome":if(i.userHome)return i.userHome;throw new mo("userHome",d(19670,null,t.id));case"lineNumber":{let p=this._context.getLineNumber();if(p)return p;throw new mo("lineNumber",d(19668,null,t.id))}case"columnNumber":{let p=this._context.getColumnNumber();if(p)return p;throw new Error(d(19665,null,t.id))}case"selectedText":{let p=this._context.getSelectedText();if(p)return p;throw new mo("selectedText",d(19669,null,t.id))}case"file":return l("file");case"fileWorkspaceFolder":return c("fileWorkspaceFolder");case"fileWorkspaceFolderBasename":return vt(c("fileWorkspaceFolderBasename"));case"relativeFile":return e||a?bs(this.fsPath(u("relativeFile")),l("relativeFile")):l("relativeFile");case"relativeFileDirname":{let p=At(l("relativeFileDirname"));if(e||a){let m=bs(this.fsPath(u("relativeFileDirname")),p);return m.length===0?".":m}return p}case"fileDirname":return At(l("fileDirname"));case"fileExtname":return ui(l("fileExtname"));case"fileBasename":return vt(l("fileBasename"));case"fileBasenameNoExtension":{let p=vt(l("fileBasenameNoExtension"));return p.slice(0,p.length-ui(p).length)}case"fileDirnameBasename":return vt(At(l("fileDirnameBasename")));case"execPath":{let p=this._context.getExecPath();return p||t.id}case"execInstallFolder":{let p=this._context.getAppRoot();return p||t.id}case"pathSeparator":case"/":return hn;default:try{return this.resolveFromMap("unknown",t.id,a,o,void 0)}catch{return t.id}}}}resolveFromMap(t,e,n,o,i){if(n&&o){let s=i===void 0?o[n]:o[i+":"+n];if(typeof s=="string")return s;throw new mo(t,d(19679,null,e))}return e}}});import*as K_ from"os";var G_,qx,jW=y(()=>{de();en();Q();Ue();me();Nd();ie();Cu();Gg();TW();DW();V_();H_();qW();KW();aR();Me();B_();G_=class extends $x{constructor(t,e,n,o,i){super({getFolderUri:s=>{let a=e.filter(l=>l.name===s);if(a&&a.length>0)return a[0].uri},getWorkspaceFolderCount:()=>e.length,getConfigurationValue:(s,a)=>o[`config:${a}`],getExecPath:()=>t.VSCODE_EXEC_PATH,getAppRoot:()=>t.VSCODE_CWD,getFilePath:()=>{if(n)return wn(n.fsPath)},getSelectedText:()=>o.selectedText,getLineNumber:()=>o.lineNumber,getColumnNumber:()=>o.columnNumber,getExtension:async s=>{let l=(await i.getInstalled()).find(c=>c.identifier.id===s);return l&&{extensionLocation:l.location}}},void 0,Promise.resolve(K_.homedir()),Promise.resolve(t))}},qx=class extends _{constructor(e,n,o,i,s,a){super();this._environmentService=e;this._logService=n;this._ptyHostService=o;this._productService=i;this._extensionManagementService=s;this._configurationService=a;this._lastReqId=0;this._pendingCommands=new Map;this._onExecuteCommand=this._register(new w);this.onExecuteCommand=this._onExecuteCommand.event}async call(e,n,o){switch(n){case"$restartPtyHost":return this._ptyHostService.restartPtyHost.apply(this._ptyHostService,o);case"$createProcess":{let i=zs(e.remoteAuthority);return this._createProcess(i,o)}case"$attachToProcess":return this._ptyHostService.attachToProcess.apply(this._ptyHostService,o);case"$detachFromProcess":return this._ptyHostService.detachFromProcess.apply(this._ptyHostService,o);case"$listProcesses":return this._ptyHostService.listProcesses.apply(this._ptyHostService,o);case"$getLatency":return this._ptyHostService.getLatency.apply(this._ptyHostService,o);case"$getPerformanceMarks":return this._ptyHostService.getPerformanceMarks.apply(this._ptyHostService,o);case"$orphanQuestionReply":return this._ptyHostService.orphanQuestionReply.apply(this._ptyHostService,o);case"$acceptPtyHostResolvedVariables":return this._ptyHostService.acceptPtyHostResolvedVariables.apply(this._ptyHostService,o);case"$start":return this._ptyHostService.start.apply(this._ptyHostService,o);case"$input":return this._ptyHostService.input.apply(this._ptyHostService,o);case"$sendSignal":return this._ptyHostService.sendSignal.apply(this._ptyHostService,o);case"$acknowledgeDataEvent":return this._ptyHostService.acknowledgeDataEvent.apply(this._ptyHostService,o);case"$shutdown":return this._ptyHostService.shutdown.apply(this._ptyHostService,o);case"$resize":return this._ptyHostService.resize.apply(this._ptyHostService,o);case"$clearBuffer":return this._ptyHostService.clearBuffer.apply(this._ptyHostService,o);case"$getInitialCwd":return this._ptyHostService.getInitialCwd.apply(this._ptyHostService,o);case"$getCwd":return this._ptyHostService.getCwd.apply(this._ptyHostService,o);case"$processBinary":return this._ptyHostService.processBinary.apply(this._ptyHostService,o);case"$sendCommandResult":return this._sendCommandResult(o[0],o[1],o[2]);case"$installAutoReply":return this._ptyHostService.installAutoReply.apply(this._ptyHostService,o);case"$uninstallAllAutoReplies":return this._ptyHostService.uninstallAllAutoReplies.apply(this._ptyHostService,o);case"$getDefaultSystemShell":return this._getDefaultSystemShell.apply(this,o);case"$getProfiles":return this._getProfiles.apply(this,o);case"$getEnvironment":return this._getEnvironment();case"$getWslPath":return this._getWslPath(o[0],o[1]);case"$getTerminalLayoutInfo":return this._ptyHostService.getTerminalLayoutInfo(o);case"$setTerminalLayoutInfo":return this._ptyHostService.setTerminalLayoutInfo(o);case"$serializeTerminalState":return this._ptyHostService.serializeTerminalState.apply(this._ptyHostService,o);case"$reviveTerminalProcesses":return this._ptyHostService.reviveTerminalProcesses.apply(this._ptyHostService,o);case"$getRevivedPtyNewId":return this._ptyHostService.getRevivedPtyNewId.apply(this._ptyHostService,o);case"$setUnicodeVersion":return this._ptyHostService.setUnicodeVersion.apply(this._ptyHostService,o);case"$setNextCommandId":return this._ptyHostService.setNextCommandId.apply(this._ptyHostService,o);case"$reduceConnectionGraceTime":return this._reduceConnectionGraceTime();case"$updateIcon":return this._ptyHostService.updateIcon.apply(this._ptyHostService,o);case"$updateTitle":return this._ptyHostService.updateTitle.apply(this._ptyHostService,o);case"$updateProperty":return this._ptyHostService.updateProperty.apply(this._ptyHostService,o);case"$refreshProperty":return this._ptyHostService.refreshProperty.apply(this._ptyHostService,o);case"$requestDetachInstance":return this._ptyHostService.requestDetachInstance(o[0],o[1]);case"$acceptDetachedInstance":return this._ptyHostService.acceptDetachInstanceReply(o[0],o[1]);case"$freePortKillProcess":return this._ptyHostService.freePortKillProcess.apply(this._ptyHostService,o);case"$acceptDetachInstanceReply":return this._ptyHostService.acceptDetachInstanceReply.apply(this._ptyHostService,o)}throw new Error(`IPC Command ${n} not found`)}listen(e,n,o){switch(n){case"$onPtyHostExitEvent":return this._ptyHostService.onPtyHostExit||W.None;case"$onPtyHostStartEvent":return this._ptyHostService.onPtyHostStart||W.None;case"$onPtyHostUnresponsiveEvent":return this._ptyHostService.onPtyHostUnresponsive||W.None;case"$onPtyHostResponsiveEvent":return this._ptyHostService.onPtyHostResponsive||W.None;case"$onPtyHostRequestResolveVariablesEvent":return this._ptyHostService.onPtyHostRequestResolveVariables||W.None;case"$onProcessDataEvent":return this._ptyHostService.onProcessData;case"$onProcessReadyEvent":return this._ptyHostService.onProcessReady;case"$onProcessExitEvent":return this._ptyHostService.onProcessExit;case"$onProcessReplayEvent":return this._ptyHostService.onProcessReplay;case"$onProcessOrphanQuestion":return this._ptyHostService.onProcessOrphanQuestion;case"$onExecuteCommand":return this.onExecuteCommand;case"$onDidRequestDetach":return this._ptyHostService.onDidRequestDetach||W.None;case"$onDidChangeProperty":return this._ptyHostService.onDidChangeProperty}throw new Error(`IPC Command ${n} not found`)}async _createProcess(e,n){let o={name:n.shellLaunchConfig.name,executable:n.shellLaunchConfig.executable,args:n.shellLaunchConfig.args,cwd:typeof n.shellLaunchConfig.cwd=="string"||typeof n.shellLaunchConfig.cwd>"u"?n.shellLaunchConfig.cwd:b.revive(e.transformIncoming(n.shellLaunchConfig.cwd)),env:n.shellLaunchConfig.env,useShellEnvironment:n.shellLaunchConfig.useShellEnvironment,reconnectionProperties:n.shellLaunchConfig.reconnectionProperties,type:n.shellLaunchConfig.type,isFeatureTerminal:n.shellLaunchConfig.isFeatureTerminal,forceShellIntegration:n.shellLaunchConfig.forceShellIntegration,tabActions:n.shellLaunchConfig.tabActions,shellIntegrationEnvironmentReporting:n.shellLaunchConfig.shellIntegrationEnvironmentReporting},i={...n.resolverEnv};Ud(i);let s=await sR(i,!!n.shellLaunchConfig.useShellEnvironment,Gn,this._environmentService,this._logService,this._configurationService);this._logService.trace("baseEnv",s);let a=U=>({uri:b.revive(e.transformIncoming(U.uri)),name:U.name,index:U.index,toResource:()=>{throw new Error("Not implemented")}}),l=n.workspaceFolders.map(a),c=n.activeWorkspaceFolder?a(n.activeWorkspaceFolder):void 0,u=n.activeFileResource?b.revive(e.transformIncoming(n.activeFileResource)):void 0,p=new G_(s,l,u,n.resolvedVariables,this._extensionManagementService),m=BW(c,s,p),g=await WW(o,K_.homedir(),m,c?.uri,n.configuration["terminal.integrated.cwd"],this._logService);o.cwd=g;let h=te?"terminal.integrated.env.windows":ut?"terminal.integrated.env.osx":"terminal.integrated.env.linux",v=n.configuration[h],S=await $W(o,v,m,this._productService.version,n.configuration["terminal.integrated.detectLocale"],s);if(OW(o)){let U=[];for(let[j,z,ee]of n.envVariableCollections)U.push([j,{map:AW(z),descriptionMap:LW(ee)}]);let xe=new Map(U),V=new Bx(xe),ae=c?c??void 0:void 0;await V.applyToProcessEnvironment(S,{workspaceFolder:ae},m)}this._logService.debug("Terminal process launching on remote agent",{shellLaunchConfig:o,initialCwd:g,cols:n.cols,rows:n.rows,env:S});let T=tl();S.VSCODE_IPC_HOOK_CLI=T;let E=await this._ptyHostService.createProcess(o,g,n.cols,n.rows,n.unicodeVersion,S,s,n.options,n.shouldPersistTerminal,n.workspaceId,n.workspaceName),k={executeCommand:(U,...xe)=>this._executeCommand(E,U,xe,e)},P=new wh(k,this._logService,T);return this._ptyHostService.onProcessExit(U=>U.id===E&&P.dispose()),{persistentTerminalId:E,resolvedShellLaunchConfig:o}}_executeCommand(e,n,o,i){let{resolve:s,reject:a,promise:l}=bE(),c=++this._lastReqId;this._pendingCommands.set(c,{resolve:s,reject:a,uriTransformer:i});let u=xo(o,p=>{if(p&&p.$mid===1)return i.transformOutgoing(p);if(p&&p instanceof b)return i.transformOutgoingURI(p)});return this._onExecuteCommand.fire({reqId:c,persistentProcessId:e,commandId:n,commandArgs:u}),l}_sendCommandResult(e,n,o){let i=this._pendingCommands.get(e);if(!i)return;this._pendingCommands.delete(e);let s=xo(o,a=>{if(a&&a.$mid===1)return i.uriTransformer.transformIncoming(a)});n?i.reject(s):i.resolve(s)}_getDefaultSystemShell(e){return this._ptyHostService.getDefaultSystemShell(e)}async _getProfiles(e,n,o,i){return this._ptyHostService.getProfiles(e,n,o,i)||[]}_getEnvironment(){return{...process.env}}_getWslPath(e,n){return this._ptyHostService.getWslPath(e,n)}_reduceConnectionGraceTime(){return this._ptyHostService.reduceConnectionGraceTime()}}});var QW,JW=y(()=>{X();QW=D("labelService")});var YW,XW=y(()=>{X();YW=D("environmentVariableService")});var ZW,zx,e5=y(()=>{MD();NI();$S();zd();V_();q_();Nf();n_();Ne();JW();XW();ol();H_();z_();ZW="remoteterminal",zx=class{constructor(t,e,n,o,i,s,a,l,c,u,p){this._remoteAuthority=t;this._channel=e;this._configurationService=n;this._workspaceContextService=o;this._resolverService=i;this._environmentVariableService=s;this._remoteAuthorityResolverService=a;this._logService=l;this._editorService=c;this._labelService=u;this._environmentService=p}get onPtyHostExit(){return this._channel.listen("$onPtyHostExitEvent")}get onPtyHostStart(){return this._channel.listen("$onPtyHostStartEvent")}get onPtyHostUnresponsive(){return this._channel.listen("$onPtyHostUnresponsiveEvent")}get onPtyHostResponsive(){return this._channel.listen("$onPtyHostResponsiveEvent")}get onPtyHostRequestResolveVariables(){return this._channel.listen("$onPtyHostRequestResolveVariablesEvent")}get onProcessData(){return this._channel.listen("$onProcessDataEvent")}get onProcessExit(){return this._channel.listen("$onProcessExitEvent")}get onProcessReady(){return this._channel.listen("$onProcessReadyEvent")}get onProcessReplay(){return this._channel.listen("$onProcessReplayEvent")}get onProcessOrphanQuestion(){return this._channel.listen("$onProcessOrphanQuestion")}get onExecuteCommand(){return this._channel.listen("$onExecuteCommand")}get onDidRequestDetach(){return this._channel.listen("$onDidRequestDetach")}get onDidChangeProperty(){return this._channel.listen("$onDidChangeProperty")}restartPtyHost(){return this._channel.call("$restartPtyHost",[])}async createProcess(t,e,n,o,i,s,a,l){await this._configurationService.whenRemoteConfigurationLoaded();let c=Object.create(null),u=n?this._workspaceContextService.getWorkspaceFolder(n)??void 0:void 0,p=Fc.parse({shellLaunchConfig:t,configuration:e});try{await this._resolverService.resolveAsync(u,p)}catch(P){this._logService.error(P)}for(let[{inner:P},U]of p.resolved())(/^config:/.test(P)||P==="selectedText"||P==="lineNumber")&&(c[P]=U.value);let m=[];for(let[P,U]of this._environmentVariableService.collections.entries())m.push([P,_W(U.map),MW(U.descriptionMap)]);let g=await this._remoteAuthorityResolverService.resolveAuthority(this._remoteAuthority),h={...this._environmentService.debugExtensionHost.env??{},...g.options?.extensionHostEnv},v=this._workspaceContextService.getWorkspace(),S=v.folders,T=n?this._workspaceContextService.getWorkspaceFolder(n):null,E=Uf.getOriginalUri(this._editorService.activeEditor,{supportSideBySide:1,filterByScheme:[$.file,$.vscodeUserData,$.vscodeRemote]}),k={configuration:e,resolvedVariables:c,envVariableCollections:m,shellLaunchConfig:t,workspaceId:v.id,workspaceName:this._labelService.getWorkspaceLabel(v),workspaceFolders:S,activeWorkspaceFolder:T,activeFileResource:E,shouldPersistTerminal:i,options:o,cols:s,rows:a,unicodeVersion:l,resolverEnv:h};return await this._channel.call("$createProcess",k)}requestDetachInstance(t,e){return this._channel.call("$requestDetachInstance",[t,e])}acceptDetachInstanceReply(t,e){return this._channel.call("$acceptDetachInstanceReply",[t,e])}attachToProcess(t){return this._channel.call("$attachToProcess",[t])}detachFromProcess(t,e){return this._channel.call("$detachFromProcess",[t,e])}listProcesses(){return this._channel.call("$listProcesses")}getLatency(){return this._channel.call("$getLatency")}getPerformanceMarks(){return this._channel.call("$getPerformanceMarks")}reduceConnectionGraceTime(){return this._channel.call("$reduceConnectionGraceTime")}processBinary(t,e){return this._channel.call("$processBinary",[t,e])}start(t){return this._channel.call("$start",[t])}input(t,e){return this._channel.call("$input",[t,e])}sendSignal(t,e){return this._channel.call("$sendSignal",[t,e])}acknowledgeDataEvent(t,e){return this._channel.call("$acknowledgeDataEvent",[t,e])}setUnicodeVersion(t,e){return this._channel.call("$setUnicodeVersion",[t,e])}setNextCommandId(t,e,n){return this._channel.call("$setNextCommandId",[t,e,n])}shutdown(t,e){return this._channel.call("$shutdown",[t,e])}resize(t,e,n,o,i){return this._channel.call("$resize",[t,e,n,o,i])}clearBuffer(t){return this._channel.call("$clearBuffer",[t])}getInitialCwd(t){return this._channel.call("$getInitialCwd",[t])}getCwd(t){return this._channel.call("$getCwd",[t])}orphanQuestionReply(t){return this._channel.call("$orphanQuestionReply",[t])}sendCommandResult(t,e,n){return this._channel.call("$sendCommandResult",[t,e,n])}freePortKillProcess(t){return this._channel.call("$freePortKillProcess",[t])}getDefaultSystemShell(t){return this._channel.call("$getDefaultSystemShell",[t])}getProfiles(t,e,n){return this._channel.call("$getProfiles",[this._workspaceContextService.getWorkspace().id,t,e,n])}acceptPtyHostResolvedVariables(t,e){return this._channel.call("$acceptPtyHostResolvedVariables",[t,e])}getEnvironment(){return this._channel.call("$getEnvironment")}getWslPath(t,e){return this._channel.call("$getWslPath",[t,e])}setTerminalLayoutInfo(t){let n={workspaceId:this._workspaceContextService.getWorkspace().id,tabs:t?t.tabs:[],background:t?t.background:null};return this._channel.call("$setTerminalLayoutInfo",n)}updateTitle(t,e,n){return this._channel.call("$updateTitle",[t,e,n])}updateIcon(t,e,n,o){return this._channel.call("$updateIcon",[t,e,n,o])}refreshProperty(t,e){return this._channel.call("$refreshProperty",[t,e])}updateProperty(t,e,n){return this._channel.call("$updateProperty",[t,e,n])}getTerminalLayoutInfo(){let e={workspaceId:this._workspaceContextService.getWorkspace().id};return this._channel.call("$getTerminalLayoutInfo",e)}reviveTerminalProcesses(t,e,n){return this._channel.call("$reviveTerminalProcesses",[t,e,n])}getRevivedPtyNewId(t){return this._channel.call("$getRevivedPtyNewId",[t])}serializeTerminalState(t){return this._channel.call("$serializeTerminalState",[t])}installAutoReply(t,e){return this._channel.call("$installAutoReply",[t,e])}uninstallAllAutoReplies(){return this._channel.call("$uninstallAllAutoReplies",[])}};zx=C([I(2,iH),I(3,qd),I(4,zW),I(5,YW),I(6,KU),I(7,vN),I(8,IH),I(9,QW),I(10,vp)],zx)});var t5=y(()=>{ze();Ol();Se();de();Q();md();Jt();it();ic()});var n5,o5=y(()=>{Se();Q();Ne();me();t5();n5="remoteFilesystem"});import{AppInsightsCore as PQ}from"@microsoft/1ds-core-js";import*as kQ from"https";import*as DQ from"http";import*as ai from"os";var Gx,r5=y(()=>{Gx=class extends PQ{constructor(e,n,o){super();this.endpoint=e;this.systemInfo={measurements:{},properties:{}};try{let i=ai.cpus();this.systemInfo.measurements.cores=i.length,this.systemInfo.properties["common.cpuModel"]=i[0].model}catch{}try{this.systemInfo.properties["common.shell"]=ai.userInfo().shell,this.systemInfo.properties["common.release"]=ai.release(),this.systemInfo.properties["common.arch"]=ai.arch()}catch{}this.systemInfo.properties["common.remoteMachineId"]=n,this.systemInfo.properties["common.isContainer"]=o}track(e){let n=e.baseData||{};n.measurements={...n.measurements||{},...this.systemInfo.measurements},n.properties={...n.properties||{},...this.systemInfo.properties};try{n.measurements.memoryFree=ai.freemem(),n.measurements.memoryTotal=ai.totalmem()}catch{}try{let o=(/^http:/.test(this.endpoint)?DQ:kQ).request(this.endpoint,{method:"POST",headers:{"Content-Type":"application/json"}});o.on("error",()=>{}),o.write(JSON.stringify(n)),o.end()}catch{}}}});async function Y_(r,t,e){e===void 0&&(e=!!(globalThis._VSCODE_PRODUCT_JSON??globalThis.vscode?.context?.configuration()?.product)?.commit);let n=t?`${r}/${t}`:r;if(j_.has(n))return j_.get(n);let o;if(/^\w[\w\d+.-]*:\/\//.test(n))o=n;else{let l=`${e&&(sM||UC&&mM)?f0:g0}/${n}`;o=Tt.asBrowserUri(l).toString(!0)}let i=J_.INSTANCE.load(o);return j_.set(n,i),i}var Q_,J_,j_,i5=y(()=>{Ne();me();ie();Jt();Q_=class{constructor(t,e,n){this.id=t;this.dependencies=e;this.callback=n}},J_=class r{constructor(){this._isWebWorker=typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope";this._isRenderer=typeof document=="object";this._defineCalls=[];this._state=1}static{this.INSTANCE=new r}_initialize(){if(this._state===1){if(globalThis.define){this._state=3;return}}else return;this._state=2,globalThis.define=(t,e,n)=>{typeof t!="string"&&(n=e,e=t,t=null),(typeof e!="object"||!Array.isArray(e))&&(n=e,e=null),this._defineCalls.push(new Q_(t,e,n))},globalThis.define.amd=!0,this._isRenderer?this._amdPolicy=globalThis._VSCODE_WEB_PACKAGE_TTP??window.trustedTypes?.createPolicy("amdLoader",{createScriptURL(t){if(t.startsWith(window.location.origin)||t.startsWith(`${$.vscodeFileResource}://${mE}`))return t;throw new Error(`[trusted_script_src] Invalid script url: ${t}`)}}):this._isWebWorker&&(this._amdPolicy=globalThis._VSCODE_WEB_PACKAGE_TTP??globalThis.trustedTypes?.createPolicy("amdLoader",{createScriptURL(t){return t}}))}async load(t){if(this._initialize(),this._state===3)return new Promise(s=>{let a=ye();globalThis.define(a,[t],function(l){s(l)})});let e=await(this._isWebWorker?this._workerLoadScript(t):this._isRenderer?this._rendererLoadScript(t):this._nodeJSLoadScript(t));if(!e){console.warn(`Did not receive a define call from script ${t}`);return}let n={},o=[],i=[];if(Array.isArray(e.dependencies))for(let s of e.dependencies)s==="exports"?o.push(n):i.push(s);if(i.length>0)throw new Error(`Cannot resolve dependencies for script ${t}. The dependencies are: ${i.join(", ")}`);return typeof e.callback=="function"?e.callback(...o)??n:e.callback}_rendererLoadScript(t){return new Promise((e,n)=>{let o=document.createElement("script");o.setAttribute("async","async"),o.setAttribute("type","text/javascript");let i=()=>{o.removeEventListener("load",s),o.removeEventListener("error",a)},s=l=>{i(),e(this._defineCalls.pop())},a=l=>{i(),n(l)};o.addEventListener("load",s),o.addEventListener("error",a),this._amdPolicy&&(t=this._amdPolicy.createScriptURL(t)),o.setAttribute("src",t),window.document.getElementsByTagName("head")[0].appendChild(o)})}async _workerLoadScript(t){return this._amdPolicy&&(t=this._amdPolicy.createScriptURL(t)),await import(t),this._defineCalls.pop()}async _nodeJSLoadScript(t){try{let e=(await import("module")).default,n=e.createRequire(import.meta.url),o=n("fs"),i=n("vm"),s=b.parse(t).fsPath,a=o.readFileSync(s).toString(),l=e.wrap(a.replace(/^#!.*/,""));return new i.Script(l).runInThisContext().apply(),this._defineCalls.pop()}catch(e){throw e}}},j_=new Map});async function MQ(r,t,e){let n=pn?await Y_("@microsoft/1ds-core-js","bundle/ms.core.min.js"):await import("@microsoft/1ds-core-js"),o=pn?await Y_("@microsoft/1ds-post-js","bundle/ms.post.min.js"):await import("@microsoft/1ds-post-js"),i=new n.AppInsightsCore,s=new o.PostChannel,a={instrumentationKey:r,endpointUrl:s5,loggingLevelTelemetry:0,loggingLevelConsole:0,disableCookiesUsage:!0,disableDbgExt:!0,disableInstrumentationKeyValidation:!0,channels:[[s]]};if(e){a.extensionConfig={};let l={alwaysUseXhrOverride:!0,ignoreMc1Ms0CookieProcessing:!0,httpXHROverride:e};a.extensionConfig[s.identifier]=l}return i.initialize(a,[]),i.addTelemetryInitializer(l=>{l.ext=l.ext??{},l.ext.web=l.ext.web??{},l.ext.web.consentDetails='{"GPC_DataSharingOptIn":false}',t&&(l.ext.utc=l.ext.utc??{},l.ext.utc.flags=8462029)}),i}var s5,_Q,Kx,a5=y(()=>{i5();Se();en();me();Zr();s5="https://mobile.events.data.microsoft.com/OneCollector/1.0",_Q="https://mobile.events.data.microsoft.com/ping";Kx=class{constructor(t,e,n,o,i){this._isInternalTelemetry=t;this._eventPrefix=e;this._defaultData=n;this._xhrOverride=i;this.endPointUrl=s5;this.endPointHealthUrl=_Q;this._defaultData||(this._defaultData={}),typeof o=="function"?this._aiCoreOrKey=o():this._aiCoreOrKey=o,this._asyncAiCore=null}_withAIClient(t){if(this._aiCoreOrKey){if(typeof this._aiCoreOrKey!="string"){t(this._aiCoreOrKey);return}this._asyncAiCore||(this._asyncAiCore=MQ(this._aiCoreOrKey,this._isInternalTelemetry,this._xhrOverride)),this._asyncAiCore.then(e=>{t(e)},e=>{tt(e),console.error(e)})}}log(t,e){if(!this._aiCoreOrKey)return;e=Rs(e,this._defaultData);let n=gy(e),o=this._eventPrefix+"/"+t;try{this._withAIClient(i=>{i.pluginVersionString=n?.properties.version??"Unknown",i.track({name:o,baseData:{name:o,properties:n?.properties,measurements:n?.measurements}})})}catch{}}flush(){return this._aiCoreOrKey?new Promise(t=>{this._withAIClient(e=>{e.unload(!0,()=>{this._aiCoreOrKey=void 0,t(void 0)})})}):Promise.resolve(void 0)}}});async function AQ(r,t){let e=await t.request(r,we.None),n=(await cr(e.stream)).toString(),o=e.res.statusCode??200;return{headers:e.res.headers,statusCode:o,responseData:n}}async function LQ(r){let t=await import("https"),e={method:r.type,headers:r.headers};return new Promise((o,i)=>{let s=t.request(r.url??"",e,a=>{a.on("data",function(l){o({headers:a.headers,statusCode:a.statusCode??200,responseData:l.toString()})}),a.on("error",function(l){i(l)})});s.write(r.data,a=>{a&&i(a)}),s.end()})}async function OQ(r,t,e){let n=typeof t.data=="string"?t.data:new TextDecoder().decode(t.data),o={type:"POST",headers:{...t.headers,"Content-Type":"application/json","Content-Length":Buffer.byteLength(t.data).toString()},url:t.urlString,data:n,callSite:AA};try{let i=r?await AQ(o,r):await LQ(o);e(i.statusCode,i.headers,i.responseData)}catch{e(0,{})}}var jx,l5=y(()=>{ze();jt();yi();a5();jx=class extends Kx{constructor(t,e,n,o,i){let s={sendPOST:(a,l)=>{OQ(t,a,l)}};super(e,n,o,i,s)}}});function c5(r,t,e,n,o){let i=new jl;return r.forEach(s=>{let a=i.get(s.identifier);a&&o.warn(d(19957,null,a.extensionLocation.fsPath,s.extensionLocation.fsPath)),i.set(s.identifier,s)}),t.forEach(s=>{let a=i.get(s.identifier);if(a)if(a.isBuiltin){if(wL(a.version,s.version)){o.warn(`Skipping extension ${s.extensionLocation.path} in favour of the builtin extension ${a.extensionLocation.path}.`);return}s.isBuiltin=!0}else o.warn(d(19957,null,a.extensionLocation.fsPath,s.extensionLocation.fsPath));else if(s.isBuiltin){o.warn(`Skipping obsolete builtin extension ${s.extensionLocation.path}`);return}i.set(s.identifier,s)}),e.forEach(s=>{let a=i.get(s.identifier);a&&o.warn(d(19958,null,a.extensionLocation.fsPath,s.extensionLocation.fsPath)),i.set(s.identifier,s)}),n.forEach(s=>{o.info(d(19956,null,s.extensionLocation.fsPath));let a=i.get(s.identifier);a&&a.isBuiltin&&(s.isBuiltin=!0),i.set(s.identifier,s)}),Array.from(i.values())}var d5=y(()=>{Bn();le();Ua()});var Qx,Jx,u5=y(()=>{Ue();me();Sr();ie();Wr();nl();lo();ru();Bn();d5();Ne();ei();Qx=class{constructor(t,e,n,o,i,s,a,l){this._extensionManagementCLI=t;this._userDataProfilesService=n;this._extensionsScannerService=o;this._logService=i;this._extensionGalleryService=s;this._languagePackService=a;this._extensionManagementService=l;this._whenBuiltinExtensionsReady=Promise.resolve({failed:[]});this._whenExtensionsReady=Promise.resolve({failed:[]});let c=e.args["install-builtin-extension"];if(c){i.trace("Installing builtin extensions passed via args...");let p={isMachineScoped:!!e.args["do-not-sync"],installPreReleaseVersion:!!e.args["pre-release"]};Vt("code/server/willInstallBuiltinExtensions"),this._whenExtensionsReady=this._whenBuiltinExtensionsReady=t.installExtensions([],this._asExtensionIdOrVSIX(c),p,!!e.args.force).then(()=>(Vt("code/server/didInstallBuiltinExtensions"),i.trace("Finished installing builtin extensions"),{failed:[]}),m=>(i.error(m),{failed:[]}))}let u=e.args["install-extension"];if(u){i.trace("Installing extensions passed via args...");let p={isMachineScoped:!!e.args["do-not-sync"],installPreReleaseVersion:!!e.args["pre-release"],isApplicationScoped:!0};this._whenExtensionsReady=this._whenBuiltinExtensionsReady.then(()=>t.installExtensions(this._asExtensionIdOrVSIX(u),[],p,!!e.args.force)).then(async()=>(i.trace("Finished installing extensions"),{failed:[]}),async m=>{i.error(m);let g=[],h=await this._extensionManagementService.getInstalled(1);for(let v of this._asExtensionIdOrVSIX(u))typeof v=="string"&&(h.some(S=>Te(S.identifier,{id:v}))||g.push({id:v,installOptions:p}));return g.length?(i.info(`Relaying the following extensions to install later: ${g.map(v=>v.id).join(", ")}`),{failed:g}):(i.trace("No extensions to report as failed"),{failed:[]})})}}_asExtensionIdOrVSIX(t){return t.map(e=>/\.vsix$/i.test(e)?b.file(zo(e)?e:G(br(),e)):e)}whenExtensionsReady(){return this._whenExtensionsReady}async scanExtensions(t,e,n,o,i){Vt("code/server/willScanExtensions"),this._logService.trace(`Scanning extensions using UI language: ${t}`),await this._whenBuiltinExtensionsReady;let s=o?o.filter(l=>l.scheme===$.file).map(l=>l.fsPath):void 0;e=e??this._userDataProfilesService.defaultProfile.extensionsResource;let a=await this._scanExtensions(e,t??Gn,n,s,i);return this._logService.trace("Scanned Extensions",a),this._massageWhenConditions(a),Vt("code/server/didScanExtensions"),a}async _scanExtensions(t,e,n,o,i){await this._ensureLanguagePackIsInstalled(e,i);let[s,a,l,c]=await Promise.all([this._scanBuiltinExtensions(e),this._scanInstalledExtensions(t,e),this._scanWorkspaceInstalledExtensions(e,n),this._scanDevelopedExtensions(e,o)]);return c5(s,a,l,c,this._logService)}async _scanDevelopedExtensions(t,e){return e?(await Promise.all(e.map(n=>this._extensionsScannerService.scanOneOrMultipleExtensions(b.file(io(n)),1,{language:t})))).flat().map(n=>vg(n,!0)):[]}async _scanWorkspaceInstalledExtensions(t,e){let n=[];if(e?.length){let o=await Promise.all(e.map(i=>this._extensionsScannerService.scanExistingExtension(i,1,{language:t})));for(let i of o)i&&n.push(vg(i,!1))}return n}async _scanBuiltinExtensions(t){return(await this._extensionsScannerService.scanSystemExtensions({language:t})).map(n=>vg(n,!1))}async _scanInstalledExtensions(t,e){return(await this._extensionsScannerService.scanUserExtensions({profileLocation:t,language:e,useCache:!0})).map(o=>vg(o,!1))}async _ensureLanguagePackIsInstalled(t,e){if(!(t===hs||!this._extensionGalleryService.isEnabled())){try{if((await this._languagePackService.getInstalledLanguages()).find(o=>o.id===t)){this._logService.trace(`Language Pack ${t} is already installed. Skipping language pack installation.`);return}}catch(n){this._logService.error(n)}if(!e){this._logService.trace(`No language pack id provided for language ${t}. Skipping language pack installation.`);return}this._logService.trace(`Language Pack ${e} for language ${t} is not installed. It will be installed now.`);try{await this._extensionManagementCLI.installExtensions([e],[],{isMachineScoped:!0},!0)}catch(n){this._logService.error(n)}}}_massageWhenConditions(t){let e=(l,c)=>l.replace(/file/g,"vscode-remote"),n=l=>{let c="";return c+=l.global?"g":"",c+=l.ignoreCase?"i":"",c+=l.multiline?"m":"",new RegExp(e(l.source,!0),c)},o=new class{mapDefined(l){return ws.create(l)}mapNot(l){return Ts.create(l)}mapEquals(l,c){return l==="resourceScheme"&&typeof c=="string"?Ta.create(l,e(c,!1)):Ta.create(l,c)}mapNotEquals(l,c){return l==="resourceScheme"&&typeof c=="string"?Ra.create(l,e(c,!1)):Ra.create(l,c)}mapGreater(l,c){return Pa.create(l,c)}mapGreaterEquals(l,c){return Nl.create(l,c)}mapSmaller(l,c){return Fl.create(l,c)}mapSmallerEquals(l,c){return Vl.create(l,c)}mapRegex(l,c){return l==="resourceScheme"&&c?ka.create(l,n(c)):ka.create(l,c)}mapIn(l,c){return gd.create(l,c)}mapNotIn(l,c){return fd.create(l,c)}},i=l=>{if(!l||!l.when||!/resourceScheme/.test(l.when))return;let c=Ge.deserialize(l.when);if(!c)return;let u=c.map(o);l.when=u.serialize()},s=l=>{if(Array.isArray(l))for(let c of l)i(c);else i(l)},a=l=>{for(let c in l)s(l[c])};t.forEach(l=>{l.contributes&&(l.contributes.menus&&a(l.contributes.menus),l.contributes.keybindings&&s(l.contributes.keybindings),l.contributes.views&&a(l.contributes.views))})}},Jx=class{constructor(t,e){this.service=t;this.getUriTransformer=e}listen(t,e){throw new Error("Invalid listen")}async call(t,e,n){let o=this.getUriTransformer(t);switch(e){case"whenExtensionsReady":return await this.service.whenExtensionsReady();case"scanExtensions":{let i=n[0],s=n[1]?b.revive(o.transformIncoming(n[1])):void 0,a=Array.isArray(n[2])?n[2].map(p=>b.revive(o.transformIncoming(p))):void 0,l=Array.isArray(n[3])?n[3].map(p=>b.revive(o.transformIncoming(p))):void 0,c=n[4];return(await this.service.scanExtensions(i,s,a,l,c)).map(p=>Mr(p,o))}}throw new Error("Invalid call")}}});var Art,p5,m5=y(()=>{X();Art=D("IRemoteExtensionsScannerService"),p5="remoteExtensionsScanner"});var Up,g5=y(()=>{Q();Ne();uI();Nn();II();Up=class extends _{constructor(e,n){super();this._reconnectConstants=e;this._environmentService=n}start(){let e={serverName:"Pty Host",args:["--type=ptyHost","--logsPath",this._environmentService.logsHome.with({scheme:$.file}).fsPath],env:{VSCODE_ESM_ENTRYPOINT:"vs/platform/terminal/node/ptyHostMain",VSCODE_PIPE_LOGGING:"true",VSCODE_VERBOSE_LOGGING:"true",VSCODE_RECONNECT_GRACE_TIME:this._reconnectConstants.graceTime,VSCODE_RECONNECT_SHORT_GRACE_TIME:this._reconnectConstants.shortGraceTime,VSCODE_RECONNECT_SCROLLBACK:this._reconnectConstants.scrollback}},n=fU(this._environmentService.args,this._environmentService.isBuilt);n&&(n.break&&n.port?e.debugBrk=n.port:!n.break&&n.port&&(e.debug=n.port));let o=new $a(Tt.asFileUri("bootstrap-fork").fsPath,e),i=new re;return i.add(o),{client:o,store:i,onDidProcessExit:o.onDidProcessExit}}};Up=C([I(1,Pt)],Up)});var f5,h5,v5=y(()=>{f5="AI_AGENT",h5="github_copilot_vscode_agent"});function X_(r){switch(r){case 0:return"off";case 1:return"crash";case 2:return"error";case 3:return"all";default:return"off"}}var y5,Yx=y(()=>{Rn();y5="VSCODE_AGENT_HOST_LAUNCH_KIND"});var I5=y(()=>{});function b5(r,t){let e=r?.trim();return e?YM(e,UQ):t?.trim()||"Subagent"}var UQ,S5,x5,Z_=y(()=>{Ot();Rt();ie();TD();UQ=60;(t=>{function r(e){if(e.kind!=="subagent_started")return;let n;try{n=BV(e.chat)}catch{return}return{session:b.parse(n),chat:b.parse(WV(n,e.toolCallId)),parent:{chat:e.chat,toolCallId:e.toolCallId},title:b5(e.taskDescription,e.agentDisplayName)}}t.toSpawnEvent=r})(S5||={});(n=>{function r(o,i){return b.from({scheme:o,path:`/${i}`})}n.uri=r;function t(o){return(typeof o=="string"?b.parse(o):o).path.substring(1)}n.id=t;function e(o){return(typeof o=="string"?b.parse(o):o).scheme||void 0}n.provider=e})(x5||={})});function C5(r){if(!r)return;let t=Object.entries(r).filter(([e,n])=>e!==""&&typeof n=="string").map(([e,n])=>`${e}=${n}`);return t.length>0?t.join(","):void 0}function A5(r,t,e={}){let n={},o=(a,l)=>{l===void 0||l===""||t[a]!==void 0||(n[a]=l)},i=(a,l)=>{l!==void 0&&(n[a]=l)};r.enabled&&o(Sn.Enabled,"true"),o(Sn.ExporterType,r.exporterType),o(Sn.OtlpEndpoint,r.otlpEndpoint),o(Sn.ServiceName,r.serviceName),o(Sn.ResourceAttributes,C5(r.resourceAttributes)),o(Sn.FilePath,r.outfile),r.captureContent!==void 0&&o(Sn.CaptureContent,r.captureContent?"true":"false"),r.dbSpanExporterEnabled&&o(Sn.DbSpanExporterEnabled,"true"),e.enabled!==void 0&&(i(Sn.Enabled,e.enabled?"true":"false"),e.enabled||(i(Sn.OtlpEndpoint,""),i(Sn.OtlpEndpointAlt,""),i(Sn.FilePath,""))),e.exporterType!==void 0&&(i(Sn.ExporterType,e.exporterType),i(Sn.FilePath,"")),e.otlpProtocol!==void 0&&e.otlpProtocol!==""&&(i(Sn.OtlpProtocol,e.otlpProtocol),i(Sn.OtlpTracesProtocol,e.otlpProtocol),i(Sn.OtlpMetricsProtocol,e.otlpProtocol)),e.otlpEndpoint!==void 0&&(i(Sn.OtlpEndpoint,e.otlpEndpoint),i(Sn.FilePath,"")),e.outfile!==void 0&&i(Sn.FilePath,e.outfile),e.captureContent!==void 0&&i(Sn.CaptureContent,e.captureContent?"true":"false"),e.serviceName!==void 0&&e.serviceName!==""&&i(Sn.ServiceName,e.serviceName);let s=C5(e.resourceAttributes);return s!==void 0&&i(Sn.ResourceAttributes,s),n}function L5(r,t){let e={},n=(o,i)=>{i===void 0||i===""||t[o]!==void 0||(e[o]=i)};return n(WQ,r.codexSdkRoot),n(BQ,r.codexHome),Array.isArray(r.codexBinaryArgs)&&r.codexBinaryArgs.length>0&&n($Q,JSON.stringify(r.codexBinaryArgs)),r.claudeAgentEnabled!==void 0&&n(VQ,r.claudeAgentEnabled?"true":"false"),r.codexAgentEnabled!==void 0&&n(HQ,r.codexAgentEnabled?"true":"false"),e}var mit,E5,w5,T5,R5,P5,k5,D5,_5,Xx,Zx,M5,VQ,HQ,eC,tC,nC,WQ,BQ,$Q,Th,Rh,oC,Ph,kh,Dh,rC,iC,sC,Sn,git,fit,_h=y(()=>{me();X();I5();Z_();Z_();mit=1024*1024,E5="chat.agentHost.systemProxy.enabled",w5="chat.agentHost.githubMcpServer.enabled",T5="chat.agentHost.experimental.activeAgentTitleGeneration",R5="chat.agentHost.experimental.markdownPlanRichLinks",P5="chat.artifactTools.enabled",k5="chat.agentHost.copilotAgent.multiRootEnabled",D5="chat.agentHost.claudeAgent.multiRootEnabled",_5="chat.agentHost.codexAgent.multiRootEnabled",Xx="chat.agentHost.claudeAgent.enabled",Zx="chat.agentHost.codexAgent.enabled",M5="chat.agentHost.byokModels.enabled",VQ="VSCODE_AGENT_HOST_CLAUDE_AGENT_ENABLED",HQ="VSCODE_AGENT_HOST_CODEX_AGENT_ENABLED",eC="chat.agentHost.codexAgent.sdkRoot",tC="chat.agentHost.codexAgent.codexHome",nC="chat.agentHost.codexAgent.binaryArgs",WQ="VSCODE_AGENT_HOST_CODEX_SDK_ROOT",BQ="CODEX_HOME",$Q="VSCODE_AGENT_HOST_CODEX_APP_SERVER_ARGS",Th="chat.agentHost.otel.enabled",Rh="chat.agentHost.otel.exporterType",oC="chat.agentHost.otel.otlpProtocol",Ph="chat.agentHost.otel.otlpEndpoint",kh="chat.agentHost.otel.captureContent",Dh="chat.agentHost.otel.outfile",rC="chat.agentHost.otel.serviceName",iC="chat.agentHost.otel.resourceAttributes",sC="chat.agentHost.otel.dbSpanExporter.enabled",Sn=Object.freeze({Enabled:"COPILOT_OTEL_ENABLED",ExporterType:"COPILOT_OTEL_EXPORTER_TYPE",OtlpEndpoint:"OTEL_EXPORTER_OTLP_ENDPOINT",OtlpEndpointAlt:"COPILOT_OTEL_ENDPOINT",OtlpProtocol:"OTEL_EXPORTER_OTLP_PROTOCOL",OtlpTracesProtocol:"OTEL_EXPORTER_OTLP_TRACES_PROTOCOL",OtlpMetricsProtocol:"OTEL_EXPORTER_OTLP_METRICS_PROTOCOL",OtlpHeaders:"OTEL_EXPORTER_OTLP_HEADERS",CaptureContent:"OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT",FilePath:"COPILOT_OTEL_FILE_EXPORTER_PATH",SourceName:"COPILOT_OTEL_SOURCE_NAME",ServiceName:"OTEL_SERVICE_NAME",ResourceAttributes:"OTEL_RESOURCE_ATTRIBUTES",DbSpanExporterEnabled:"COPILOT_OTEL_DB_SPAN_EXPORTER_ENABLED"});git=D("agentService"),fit=D("agentHostService")});var e1=y(()=>{});var Np,O5=y(()=>{Np={ParseError:-32700,InvalidRequest:-32600,MethodNotFound:-32601,InvalidParams:-32602,InternalError:-32603}});var U5=y(()=>{O5()});var Vc,N5=y(()=>{ED();CD();U5();Vc=class extends Error{constructor(e,n,o){super(n);this.code=e;this.data=o}}});function ft(r){let t=n1(r);return{protocol:r,validate:o=>{try{return t(o,""),!0}catch{return!1}},assertValid:(o,i="")=>t(o,i)}}function Mh(r){return{definition:r,toProtocol(){let t={};for(let e of Object.keys(r))t[e]=r[e].protocol;return{type:"object",properties:t}},values(t){let e=t;for(let n of Object.keys(r)){let o=e[n];if(o===void 0)continue;r[n].assertValid(o,n)}return{...e}},validate(t,e){let n=r[t];return n?n.validate(e):!1},assertValid(t,e){let n=r[t];if(!n)throw new Vc(Np.InvalidParams,`Unknown schema key '${t}'`);n.assertValid(e,t)},validateOrDefault(t,e){let n={},o=t??{};for(let i of Object.keys(r)){let s=r[i],a=o[i];a!==void 0&&s.validate(a)?n[i]=a:Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i])}return n}}}function n1(r){if(r.type==="object"&&r.properties){let t={};for(let n of Object.keys(r.properties))t[n]=n1(r.properties[n]);let e=new Set(r.required??[]);return(n,o)=>{if(typeof n!="object"||n===null||Array.isArray(n))throw Hc(o,"object",n);let i=n;for(let s of Object.keys(t)){let a=GQ(o,s);if(i[s]===void 0){if(e.has(s))throw new Vc(Np.InvalidParams,`Missing required property at '${a}'`);continue}t[s](i[s],a)}}}if(r.type==="array"&&r.items){let t=n1(r.items);return(e,n)=>{if(!Array.isArray(e))throw Hc(n,"array",e);for(let o=0;o<e.length;o++)t(e[o],`${n}[${o}]`)}}return zQ(r)}function zQ(r){let t=r.enumDynamic===!0;return(e,n)=>{switch(r.type){case"string":if(typeof e!="string")throw Hc(n,"string",e);break;case"number":if(typeof e!="number")throw Hc(n,"number",e);break;case"boolean":if(typeof e!="boolean")throw Hc(n,"boolean",e);break;case"array":if(!Array.isArray(e))throw Hc(n,"array",e);break;case"object":if(typeof e!="object"||e===null||Array.isArray(e))throw Hc(n,"object",e);break}if(r.enum&&!t&&!r.enum.includes(e))throw new Vc(Np.InvalidParams,`Invalid value at '${n||"<root>"}': ${F5(e)} is not one of [${r.enum.map(o=>JSON.stringify(o)).join(", ")}]`)}}function Hc(r,t,e){return new Vc(Np.InvalidParams,`Invalid value at '${r||"<root>"}': expected ${t}, got ${F5(e)}`)}function GQ(r,t){return r?`${r}.${t}`:t}function F5(r){try{return JSON.stringify(r)}catch{return String(r)}}var V5,Wit,KQ,jQ,QQ,JQ,o1,r1,H5,W5,B5,$5,q5,i1,s1,t1,z5,Bit,a1,l1,c1,YQ,XQ,d1,u1,p1,G5,ZQ,eJ,tJ,$it,qit,m1=y(()=>{le();TS();tn();WS();Rn();Yx();e1();N5();V5=ft({type:"object",title:d(1956,null),description:d(1960,null),properties:{allow:{type:"array",title:d(1957,null),items:{type:"string",title:d(1959,null)}},deny:{type:"array",title:d(1958,null),items:{type:"string",title:d(1959,null)}}},default:{allow:[],deny:[]},sessionMutable:!0}),Wit=Mh({autoApprove:ft({type:"string",title:d(1940,null),description:d(1947,null),enum:["default","assisted","autoApprove"],enumLabels:[d(1945,null),d(1941,null),d(1943,null)],enumDescriptions:[d(1946,null),d(1942,null),d(1944,null)],default:"default",sessionMutable:!0}),permissions:V5,mode:ft({type:"string",title:d(1948,null),description:d(1955,null),enum:["interactive","plan","autopilot"],enumLabels:[d(1951,null),d(1953,null),d(1949,null)],enumDescriptions:[d(1952,null),d(1954,null),d(1950,null)],default:"interactive",sessionMutable:!0})}),KQ="telemetryLevel",jQ="editTelemetryEnabled",QQ="disableRepoInfoTelemetry",JQ="sessionSyncEnabled",o1="byokModelsEnabled",r1="codexAgentEnabled",H5="editAutoApprovePatterns",W5="terminalAutoApproveEnabled",B5="globalAutoApproveEnabled",$5="autoApprovePolicyRestricted",q5="autoReplyEnabled",i1="systemProxyEnabled",s1="githubMcpServerEnabled",t1={Proxy:"http.proxy",ProxyKerberosServicePrincipal:"http.proxyKerberosServicePrincipal",NoProxy:"http.noProxy"},z5={[t1.Proxy]:ft({type:"string",title:d(1902,null),description:d(1901,null)}),[t1.ProxyKerberosServicePrincipal]:ft({type:"string",title:d(1904,null),description:d(1903,null)}),[t1.NoProxy]:ft({type:"array",title:d(1900,null),description:d(1898,null),items:{type:"string",title:d(1899,null)},default:[]})},Bit=Mh(z5),a1="activeAgentTitleGeneration",l1="markdownPlanRichLinksEnabled",c1="artifactTools",YQ="migrateLegacyCopilotCliEnabled",XQ="showExternalSessions",d1="copilotMultiRootEnabled",u1="claudeMultiRootEnabled",p1="codexMultiRootEnabled",G5="terminalAutoApproveRules",ZQ="mcpServers",eJ={type:{type:"string",title:d(1923,null),description:d(1922,null),enum:["stdio","http"]},command:{type:"string",title:d(1911,null),description:d(1910,null)},args:{type:"array",title:d(1909,null),description:d(1908,null),items:{type:"string",title:d(1907,null)}},env:{type:"object",title:d(1918,null),description:d(1917,null)},cwd:{type:"string",title:d(1913,null),description:d(1912,null)},url:{type:"string",title:d(1925,null),description:d(1924,null)},headers:{type:"object",title:d(1920,null),description:d(1919,null)}},tJ={"<serverName>":{type:"object",title:d(1916,null),description:d(1915,null),properties:eJ}},$it=Mh({...z5,permissions:V5,[QQ]:ft({type:"boolean",title:d(1889,null),description:d(1888,null),default:!1}),[KQ]:ft({type:"string",title:d(1935,null),description:d(1934,null),enum:["all","error","crash","off"],default:"all"}),[jQ]:ft({type:"boolean",title:d(1893,null),description:d(1892,null),default:!0}),[JQ]:ft({type:"boolean",title:d(1929,null),description:d(1928,null),default:!1}),[o1]:ft({type:"boolean",title:d(1879,null),description:d(1878,null),default:!1}),[r1]:ft({type:"boolean",title:d(1883,null),description:d(1882,null),default:!1}),[W5]:ft({type:"boolean",title:d(1937,null),description:d(1936,null),default:!0}),[B5]:ft({type:"boolean",title:d(1897,null),description:d(1896,null),default:!1}),[$5]:ft({type:"boolean",title:d(1875,null),default:!1,readOnly:!0}),[q5]:ft({type:"boolean",title:d(1877,null),description:d(1876,null),default:!1}),[i1]:ft({type:"boolean",title:d(1933,null),description:d(1932,null),default:!0}),[s1]:ft({type:"boolean",title:d(1895,null),description:d(1894,null),default:!0}),[a1]:ft({type:"boolean",title:d(1872,null),description:d(1871,null),default:!1}),[l1]:ft({type:"boolean",title:d(1906,null),description:d(1905,null),default:!1}),[c1]:ft({type:"boolean",title:d(1874,null),description:d(1873,null),default:!1}),[YQ]:ft({type:"boolean",title:d(1927,null),description:d(1926,null),default:!1}),[XQ]:ft({type:"string",title:d(1931,null),description:d(1930,null),enum:["none","recent","last24Hours","last7Days","last30Days"],default:"none"}),[d1]:ft({type:"boolean",title:d(1887,null),description:d(1886,null),default:!1}),[u1]:ft({type:"boolean",title:d(1881,null),description:d(1880,null),default:!1}),[p1]:ft({type:"boolean",title:d(1885,null),description:d(1884,null),default:!1}),[H5]:ft({type:"object",title:d(1891,null),description:d(1890,null),default:X2}),[G5]:ft({type:"object",title:d(1939,null),description:d(1938,null),default:{}}),[ZQ]:ft({type:"object",title:d(1921,null),description:d(1914,null),properties:tJ,default:{}})}),qit=new Set(["permissions",B5,$5,W5,G5,H5,q5])});var er,Il,Qit,nJ,oJ,Jit,K5=y(()=>{le();m1();e1();er={Enabled:"agentMerge.enabled",AddressReviews:"agentMerge.addressReviews",FixCI:"agentMerge.fixCI",ResolveConflicts:"agentMerge.resolveConflicts",MergePullRequest:"agentMerge.mergePullRequest",MergeMethod:"agentMerge.mergeMethod",ReplyAttribution:"agentMerge.replyAttribution"},Il={Enabled:"chat.agentMerge.enabled",AddressReviews:"chat.agentMerge.addressReviews",FixCI:"chat.agentMerge.fixCI",ResolveConflicts:"chat.agentMerge.resolveConflicts",MergePullRequest:"chat.agentMerge.mergePullRequest",MergeMethod:"chat.agentMerge.mergeMethod",ReplyAttribution:"chat.agentMerge.replyAttribution"},Qit=Mh({[er.Enabled]:ft({type:"boolean",title:d(2013,null),default:!1}),[er.AddressReviews]:ft({type:"boolean",title:d(2012,null),default:!0}),[er.FixCI]:ft({type:"boolean",title:d(2014,null),default:!0}),[er.ResolveConflicts]:ft({type:"boolean",title:d(2018,null),default:!0}),[er.MergePullRequest]:ft({type:"boolean",title:d(2016,null),default:!1}),[er.MergeMethod]:ft({type:"string",title:d(2015,null),enum:["auto","squash","merge","rebase"],default:"auto"}),[er.ReplyAttribution]:ft({type:"boolean",title:d(2017,null),default:!0})}),nJ=["topLevelComments","submittedReviews","reviewThreads"],oJ=["checks","mergeability"],Jit=["core",...nJ,...oJ]});function iJ(r){let t=r.managedSettings?.[Rc];if(t==="grpc")return"otlp-grpc";if(t==="http/protobuf"||t==="http/json")return"otlp-http"}function sJ(r){let t=r.managedSettings?.[Bk];return typeof t=="boolean"?t:r.managedSettings?.[$k]===!0?!1:void 0}function aJ(r){let t=r.managedSettings;if(t?.[jf]!==void 0||t?.[Rc]!==void 0)return""}var rJ,j5=y(()=>{le();ng();gi();GS();ks();Uo();_h();m1();K5();rJ=lt.as(On.Configuration);rJ.registerConfiguration({id:"chatAgentHostStarter",title:d(2011,null),type:"object",properties:{[Il.Enabled]:{type:"boolean",description:d(2000,null),default:rt.quality!=="stable",scope:1,tags:["experimental"],agentHost:{key:er.Enabled}},[Il.AddressReviews]:{type:"boolean",description:d(1999,null),default:!0,scope:1,tags:["experimental"],agentHost:{key:er.AddressReviews}},[Il.FixCI]:{type:"boolean",description:d(2001,null),default:!0,scope:1,tags:["experimental"],agentHost:{key:er.FixCI}},[Il.ResolveConflicts]:{type:"boolean",description:d(2009,null),default:!0,scope:1,tags:["experimental"],agentHost:{key:er.ResolveConflicts}},[Il.MergePullRequest]:{type:"boolean",description:d(2007,null),default:!1,scope:1,tags:["experimental"],agentHost:{key:er.MergePullRequest}},[Il.MergeMethod]:{type:"string",enum:["auto","squash","merge","rebase"],enumDescriptions:[d(2003,null),d(2006,null),d(2004,null),d(2005,null)],description:d(2002,null),default:"auto",scope:1,tags:["experimental"],agentHost:{key:er.MergeMethod}},[Il.ReplyAttribution]:{type:"boolean",description:d(2008,null),default:!0,scope:1,tags:["experimental"],agentHost:{key:er.ReplyAttribution}},[T5]:{type:"boolean",description:d(1972,null),default:rt.quality!=="stable",scope:1,tags:["experimental","advanced"],experiment:{mode:"auto"},agentHost:{key:a1}},[P5]:{type:"boolean",description:d(2010,null),default:rt.quality!=="stable",scope:1,tags:["experimental","advanced"],experiment:{mode:"auto"},agentHost:{key:c1}},[R5]:{type:"boolean",description:d(1973,null),default:!1,scope:1,tags:["experimental","advanced"],experiment:{mode:"auto"},agentHost:{key:l1}},[E5]:{type:"boolean",description:d(1998,null),default:!0,tags:["experimental","advanced"],experiment:{mode:"startup"},agentHost:{key:i1}},[w5]:{type:"boolean",description:d(1974,null),default:!0,tags:["experimental","advanced"],experiment:{mode:"startup"},agentHost:{key:s1}},[k5]:{type:"boolean",description:d(1971,null),default:!1,included:!1,agentHost:{key:d1}},[D5]:{type:"boolean",description:d(1964,null),default:!1,included:!1,agentHost:{key:u1}},[_5]:{type:"boolean",description:d(1969,null),default:!1,included:!1,agentHost:{key:p1}},[Xx]:{type:"boolean",description:d(1962,null),default:!0,tags:["experimental","advanced"],policy:{name:"Claude3PIntegration",category:"InteractiveSession",minimumVersion:"1.113",value:Kk,localization:{description:{key:"chat.agentHost.claudeAgent.enabled.policy",value:d(1963,null)}}}},[M5]:{type:"boolean",description:d(1961,null),default:!1,tags:["experimental","advanced"],experiment:{mode:"startup"},agentHost:{key:o1,scope:"local"}},[Zx]:{type:"boolean",description:d(1967,null),default:!1,tags:["experimental","advanced"],experiment:{mode:"startup"},agentHost:{key:r1},policy:{name:"Codex3PIntegration",category:"InteractiveSession",minimumVersion:"1.126",value:Kk,localization:{description:{key:"chat.agentHost.codexAgent.enabled.policy",value:d(1968,null)}}}},[eC]:{type:"string",description:d(1970,null),default:"",tags:["experimental","advanced"],included:rt.quality!=="stable"},[tC]:{type:"string",description:d(1966,null),default:"",tags:["experimental","advanced"],included:rt.quality!=="stable"},[nC]:{type:"array",items:{type:"string"},description:d(1965,null),default:[],tags:["experimental","advanced"],included:rt.quality!=="stable"},[Th]:{type:"boolean",markdownDescription:d(1978,null),default:!1,scope:1,tags:["experimental","advanced"],policy:{name:"CopilotOtelEnabled",category:"InteractiveSession",minimumVersion:"1.127",value:Pc(Wk),managedSettings:{[Wk]:{type:"boolean"}},localization:{description:{key:"chat.agentHost.otel.enabled.policy",value:d(1979,null)}}}},[Rh]:{type:"string",enum:["otlp-http","otlp-grpc","console","file"],markdownDescription:d(1980,null),default:"otlp-http",scope:1,tags:["experimental","advanced"],policy:{name:"CopilotOtelProtocol",category:"InteractiveSession",minimumVersion:"1.127",value:iJ,managedSettings:{[Rc]:{type:"string"}},localization:{description:{key:"chat.agentHost.otel.protocol.policy",value:d(1989,null)},enumDescriptions:[{key:"chat.agentHost.otel.protocol.policy.otlpHttp",value:d(1993,null)},{key:"chat.agentHost.otel.protocol.policy.otlpGrpc",value:d(1992,null)},{key:"chat.agentHost.otel.protocol.policy.console",value:d(1990,null)},{key:"chat.agentHost.otel.protocol.policy.file",value:d(1991,null)}]}}},[oC]:{type:"string",markdownDescription:d(1985,null),default:"",scope:1,included:!1,tags:["experimental","advanced"],policy:{name:"CopilotOtelOtlpProtocol",category:"InteractiveSession",minimumVersion:"1.127",value:Pc(Rc),managedSettings:{[Rc]:{type:"string"}},localization:{description:{key:"chat.agentHost.otel.otlpProtocol.policy",value:d(1986,null)}}}},[Ph]:{type:"string",markdownDescription:d(1983,null),default:"",scope:1,tags:["experimental","advanced"],policy:{name:"CopilotOtelEndpoint",category:"InteractiveSession",minimumVersion:"1.127",value:Pc(jf),managedSettings:{[jf]:{type:"string"}},localization:{description:{key:"chat.agentHost.otel.otlpEndpoint.policy",value:d(1984,null)}}}},[kh]:{type:"boolean",markdownDescription:d(1975,null),default:!1,scope:1,tags:["experimental","advanced"],policy:{name:"CopilotOtelCaptureContent",category:"InteractiveSession",minimumVersion:"1.127",value:sJ,managedSettings:{[Bk]:{type:"boolean"},[$k]:{type:"boolean"}},localization:{description:{key:"chat.agentHost.otel.captureContent.policy",value:d(1976,null)}}}},[Dh]:{type:"string",markdownDescription:d(1987,null),default:"",scope:1,tags:["experimental","advanced"],policy:{name:"CopilotOtelOutfile",category:"InteractiveSession",minimumVersion:"1.127",value:aJ,managedSettings:{[jf]:{type:"string"},[Rc]:{type:"string"}},localization:{description:{key:"chat.agentHost.otel.outfile.policy",value:d(1988,null)}}}},[sC]:{type:"boolean",markdownDescription:d(1977,null),default:!1,scope:1,tags:["experimental","advanced"]},[rC]:{type:"string",markdownDescription:d(1996,null),default:"",scope:1,included:!1,tags:["experimental","advanced"],policy:{name:"CopilotOtelServiceName",category:"InteractiveSession",minimumVersion:"1.127",value:Pc(qk),managedSettings:{[qk]:{type:"string"}},localization:{description:{key:"chat.agentHost.otel.serviceName.policy",value:d(1997,null)}}}},[iC]:{type:"object",additionalProperties:{type:["string"]},default:{},scope:1,included:!1,tags:["experimental","advanced"],markdownDescription:d(1994,null),policy:{name:"CopilotOtelResourceAttributes",category:"InteractiveSession",minimumVersion:"1.127",value:Pc(zk),managedSettings:{[zk]:{type:"string"}},localization:{description:{key:"chat.agentHost.otel.resourceAttributes.policy",value:d(1995,null)}}}},"chat.agentHost.otel.headers":{type:"object",additionalProperties:{type:["string"]},default:{},scope:1,included:!1,tags:["experimental","advanced"],markdownDescription:d(1981,null),policy:{name:"CopilotOtelHeaders",category:"InteractiveSession",minimumVersion:"1.127",value:Pc(Gk),managedSettings:{[Gk]:{type:"string"}},localization:{description:{key:"chat.agentHost.otel.headers.policy",value:d(1982,null)}}}}}})});import*as J5 from"fs";var Wc,Y5=y(()=>{Q();Ne();Hs();uI();v5();tn();Nn();II();Pe();Ym();Rn();Yx();_h();j5();Wc=class extends _{constructor(e,n,o,i){super();this._configurationService=e;this._environmentService=n;this._logService=o;this._telemetryService=i}setWebSocketConfig(e){this._wsConfig=e}async start(){let n={...await this._resolveShellEnv(),[f5]:h5,VSCODE_ESM_ENTRYPOINT:"vs/platform/agentHost/node/agentHostMain",VSCODE_PIPE_LOGGING:"true",VSCODE_VERBOSE_LOGGING:"true",[y5]:"vscode_cli"},o=L5({codexSdkRoot:this._configurationService.getValue(eC),codexHome:this._configurationService.getValue(tC),codexBinaryArgs:this._configurationService.getValue(nC),claudeAgentEnabled:this._configurationService.getValue(Xx),codexAgentEnabled:this._configurationService.getValue(Zx)},process.env);Object.assign(n,o);let i=m=>this._configurationService.inspect(m).policyValue,s=A5({enabled:this._configurationService.getValue(Th),exporterType:this._configurationService.getValue(Rh),otlpEndpoint:this._configurationService.getValue(Ph),captureContent:this._configurationService.getValue(kh),outfile:this._configurationService.getValue(Dh),dbSpanExporterEnabled:this._configurationService.getValue(sC)},process.env,{enabled:i(Th),exporterType:i(Rh),otlpProtocol:i(oC),otlpEndpoint:i(Ph),captureContent:i(kh),outfile:i(Dh),serviceName:i(rC),resourceAttributes:i(iC)});Object.assign(n,s),this._wsConfig&&(this._wsConfig.port&&(n.VSCODE_AGENT_HOST_PORT=this._wsConfig.port),this._wsConfig.socketPath&&(n.VSCODE_AGENT_HOST_SOCKET_PATH=this._wsConfig.socketPath),this._wsConfig.host&&(n.VSCODE_AGENT_HOST_HOST=this._wsConfig.host),this._wsConfig.connectionToken&&(n.VSCODE_AGENT_HOST_CONNECTION_TOKEN=this._wsConfig.connectionToken));let l={serverName:"Agent Host",args:["--type=agentHost","--logsPath",this._environmentService.logsHome.with({scheme:$.file}).fsPath,"--user-data-dir",this._environmentService.userDataPath,"--telemetry-level",X_(this._telemetryService.telemetryLevel)],env:n},c=hU(this._environmentService.args,this._environmentService.isBuilt);c&&(c.break&&c.port?l.debugBrk=c.port:!c.break&&c.port&&(l.debug=c.port)),await this._removeStaleSocket();let u=new $a(Tt.asFileUri("bootstrap-fork").fsPath,l),p=new re;return p.add(u),{client:u,store:p,onDidProcessExit:u.onDidProcessExit,shutdown:()=>_r.toService(u.getChannel("agentHostManagement")).shutdown()}}async _removeStaleSocket(){let e=this._wsConfig?.socketPath;if(!(!e||process.platform==="win32"))try{await J5.promises.unlink(e)}catch(n){n?.code!=="ENOENT"&&this._logService.warn(`AgentHostStarter could not remove stale socket at ${e}`,n)}}async _resolveShellEnv(){try{return await La(this._configurationService,this._logService,this._environmentService.args,process.env)}catch(e){return this._logService.error("AgentHostStarter was unable to resolve shell environment",e),{}}}};Wc=C([I(0,mt),I(1,Pt),I(2,K),I(3,Ct)],Wc)});function g1(r,t,e){let n=e===void 0?void 0:fR(e);r.publicLogError2("agentHost.processError",{...t,isError:!0,...n?{callstack:n.callstack,msg:n.msg}:{}})}var X5=y(()=>{hR()});var Bst,Bc,Z5=y(()=>{Me();Q();Hs();X5();Yx();_h();X();Pe();XI();Rn();GI();Bst=D("serverAgentHostManager"),Bc=class extends _{constructor(e,n={},o,i,s,a){super();this._starter=e;this._logService=o;this._loggerService=i;this._serverLifetimeService=s;this._telemetryService=a;this._restartCount=0;this._shuttingDown=!1;this._connectionStore=this._register(new so);this._lifetimeToken=this._register(new so);this._hasActiveSessions=!1;this._connectionCount=0;this._startMode=n.startMode??"eager",this._register(this._starter),this._register(this._serverLifetimeService.onWillShutdown(l=>{this._shuttingDown=!0,l.join(this._shutdown())})),this._register(this._serverLifetimeService.onDidAbortShutdown(()=>{this._startMode==="eager"&&this.ensureStarted().catch(l=>this._logService.error("ServerAgentHostManager: failed to restart after aborted server shutdown",l))})),this._startMode==="eager"&&this.ensureStarted().catch(()=>{})}ensureStarted(){if(this._shuttingDown||this._store.isDisposed)return Promise.reject(new Error("Server Agent Host manager is shutting down."));if(!this._startPromise){let e=this._start();this._startPromise=e,e.catch(()=>{this._startPromise===e&&(this._startPromise=void 0)})}return this._startPromise}async _start(){for(;;)try{await this._startOnce();return}catch(e){if(this._store.isDisposed)return;let n=this._restartCount<5;if(g1(this._telemetryService,{hostLaunchKind:"vscode_cli",kind:"startFailed",restartCount:this._restartCount,willRestart:n},e),!n)throw this._logService.error("ServerAgentHostManager: agent host failed to start, giving up after 5 restarts",e),this._restartCount=0,e;this._logService.error("ServerAgentHostManager: agent host failed to start",e),this._restartCount++}}async _startOnce(){let e=await this._starter.start();if(this._store.isDisposed||this._shuttingDown){e.store.dispose();return}this._trackActiveSessions(e);try{await this._trackClientConnections(e)}catch(n){throw e.store.dispose(),n}if(this._store.isDisposed||e.store.isDisposed){e.store.dispose();return}this._logService.info("ServerAgentHostManager: agent host started"),e.store.add(new _u(this._loggerService,e.client.getChannel("agentHostLogger"))),e.store.add(e.onDidProcessExit(n=>this._handleUnexpectedExit(e,n))),this._connection=e,this._connectionStore.value=e.store}_handleUnexpectedExit(e,n){if(this._store.isDisposed||this._connection!==e)return;this._hasActiveSessions=!1,this._connectionCount=0,this._lifetimeToken.clear();let o=this._restartCount<5;g1(this._telemetryService,{hostLaunchKind:"vscode_cli",kind:"unexpectedExit",code:n.code,restartCount:this._restartCount,willRestart:o}),this._connection=void 0,this._connectionStore.clear(),this._startPromise=void 0,o?(this._logService.error(`ServerAgentHostManager: agent host terminated unexpectedly with code ${n.code}`),this._restartCount++,this.ensureStarted().catch(()=>{})):(this._logService.error(`ServerAgentHostManager: agent host terminated with code ${n.code}, giving up after 5 restarts`),this._restartCount=0)}async _shutdown(){try{await IE(this._shutdownGracefully(),6e3,()=>{this._logService.warn("ServerAgentHostManager: agent host did not shut down within 6000ms; terminating it")})}catch(e){this._logService.error("ServerAgentHostManager: failed to shut down agent host gracefully",e)}finally{let e=this._connection;this._startPromise=void 0,this._shuttingDown=!1,e&&(this._connection===e?(this._connection=void 0,this._connectionStore.clear()):e.store.dispose())}}async _shutdownGracefully(){try{await this._startPromise}catch{return}await this._connection?.shutdown()}_trackActiveSessions(e){let n=_r.toService(e.client.getChannel("agentHost"));e.store.add(n.onDidAction(o=>{o.action.type==="root/activeSessionsChanged"&&(this._hasActiveSessions=o.action.activeSessions>0,this._updateLifetimeToken())}))}async _trackClientConnections(e){let n=_r.toService(e.client.getChannel("agentHostConnectionTracker"));e.store.add(n.onDidChangeConnectionCount(o=>{this._connectionCount=o,this._updateLifetimeToken()})),await n.waitForConfiguredWebSocketServer()}_updateLifetimeToken(){this._hasActiveSessions||this._connectionCount>0?this._lifetimeToken.value??=this._serverLifetimeService.active("AgentHost"):this._lifetimeToken.clear()}};Bc=C([I(2,K),I(3,Oo),I(4,Ru),I(5,Ct)],Bc)});async function uJ(){return dJ??=await import("ws")}async function mJ(){return pJ??=await import("net")}var cJ,dJ,pJ,Fp,gJ,f1,h1,Vp,e7=y(()=>{de();Q();Ne();cJ="Agent host proxy is not available because no upstream agent host endpoint was configured.";Fp=class{listen(t,e){switch(e){case"frame":case"close":return W.None}throw new Error(`Invalid listen: ${e}`)}call(t,e){switch(e){case"connect":return Promise.reject(new Error(cJ));case"send":case"close":return Promise.resolve(void 0)}return Promise.reject(new Error(`Invalid call: ${e}`))}},gJ=r=>t=>new h1(t,r),f1=class extends _{constructor(e,n,o){super();this._resolveEndpoint=e;this._upstreamFactory=n;this._logService=o;this._onFrame=this._register(new w);this.onFrame=this._onFrame.event;this._onClose=this._register(new w);this.onClose=this._onClose.event;this._closeFired=!1}async connect(){if(this._store.isDisposed)throw new Error("UpstreamConnection is disposed");let e=this._connectPromise??=this._connect();try{await e}catch(n){throw this._connectPromise===e&&(this._connectPromise=void 0),n}}send(e){let n=this._connection;if(!n){this._logService.warn("[AgentHostChannel] Drop send: upstream not open"),this._fireClose();return}n.send(e)}async _connect(){let e=await this._resolveEndpoint();if(this._store.isDisposed)throw new Error("UpstreamConnection is disposed");let n=this._upstreamFactory(e);this._connection=n,this._register(n),this._register(n.onFrame(o=>this._onFrame.fire(o))),this._register(n.onClose(()=>this._fireClose()));try{await n.connect()}catch(o){throw this._connection=void 0,n.dispose(),o}}dispose(){this._fireClose(),super.dispose()}_fireClose(){this._closeFired||(this._closeFired=!0,this._onClose.fire())}},h1=class extends _{constructor(e,n){super();this._endpoint=e;this._logService=n;this._onFrame=this._register(new w);this.onFrame=this._onFrame.event;this._onClose=this._register(new w);this.onClose=this._onClose.event;this._closeFired=!1}connect(){return this._store.isDisposed?Promise.reject(new Error("UpstreamConnection is disposed")):this._connectPromise??=this._doConnect()}async _doConnect(){let e=await uJ(),n=this._buildUrl(),o=await this._buildWsOptions();this._logService.info(`[AgentHostChannel] Opening upstream to ${this._endpoint.socketPath??n}`);let i=new e.WebSocket(n,o);return this._ws=i,new Promise((s,a)=>{let l=()=>{p(),this._logService.trace("[AgentHostChannel] Upstream open"),i.on("message",m=>{let g=typeof m=="string"?m:m.toString("utf-8");this._onFrame.fire(g)}),i.on("close",()=>this._fireClose()),i.on("error",m=>{this._logService.warn("[AgentHostChannel] Upstream error",m),this._fireClose()}),s()},c=m=>{p(),this._logService.warn("[AgentHostChannel] Upstream connection failed",m),this._fireClose(),a(m)},u=()=>{p(),this._fireClose(),a(new Error("Upstream closed before connect"))},p=()=>{i.removeListener("open",l),i.removeListener("error",c),i.removeListener("close",u)};i.on("open",l),i.on("error",c),i.on("close",u)})}send(e){let n=this._ws;if(!n||n.readyState!==n.OPEN){this._logService.warn("[AgentHostChannel] Drop send: upstream not open"),this._fireClose();return}n.send(e)}dispose(){this._ws?.close(),this._fireClose(),super.dispose()}_fireClose(){this._closeFired||(this._closeFired=!0,this._onClose.fire())}_buildUrl(){let e=this._endpoint.host??"localhost",n=this._endpoint.port??"0",o=`ws://${e}:${n}`;return this._endpoint.connectionToken&&(o+=`?${Fi}=${encodeURIComponent(this._endpoint.connectionToken)}`),o}async _buildWsOptions(){if(!this._endpoint.socketPath)return;let e=await mJ(),n=this._endpoint.socketPath;return{createConnection:(()=>e.createConnection(n))}}},Vp=class extends _{constructor(e,n,o,i){super();this._endpoint=n;this._logService=o;this._perCtx=new Map;this._upstreamFactory=i??gJ(o),this._register(e.onDidRemoveConnection(s=>this._disposeCtx(s.ctx)))}listen(e,n){let o=this._getOrCreate(e);switch(n){case"frame":return o.onFrame;case"close":return o.onClose}throw new Error(`Invalid listen: ${n}`)}async call(e,n,o){let i=this._getOrCreate(e);switch(n){case"connect":this._logService.info(`[AgentHostChannel] Renderer ctx=${String(e)} requested connect to upstream`),await i.connect();return;case"send":if(typeof o!="string")throw new Error("send: arg must be a string frame");i.send(o);return;case"close":this._disposeCtx(e);return}throw new Error(`Invalid call: ${n}`)}dispose(){for(let e of this._perCtx.values())e.dispose();this._perCtx.clear(),super.dispose()}_getOrCreate(e){let n=this._perCtx.get(e);if(!n){n=typeof this._endpoint=="function"?new f1(()=>this._resolveEndpoint(),this._upstreamFactory,this._logService):this._upstreamFactory(this._endpoint),this._perCtx.set(e,n);let o=n.onClose(()=>{o.dispose(),this._perCtx.get(e)===n&&this._perCtx.delete(e)})}return n}async _resolveEndpoint(){let e=this._endpoint;if(typeof e!="function")return e;let n=this._endpointPromise??=Promise.resolve().then(()=>e());try{return await n}finally{this._endpointPromise===n&&(this._endpointPromise=void 0)}}_disposeCtx(e){let n=this._perCtx.get(e);n&&(this._perCtx.delete(e),n.dispose())}}});function t7(){return fJ.value}var fJ,n7=y(()=>{Oi();fJ=new yn(async()=>(await import("@vscode/ripgrep-universal")).rgPath.replace(/\bnode_modules\.asar\b/,"node_modules.asar.unpacked"))});import{spawn as hJ}from"child_process";var aC,Hp,v1=y(()=>{Ue();Ne();n7();ya();Nn();X();Pe();aC=D("ICSSDevelopmentService"),Hp=class{constructor(t,e){this.envService=t;this.logService=e}get isEnabled(){return!this.envService.isBuilt}getCssModules(){return this._cssModules??=this.computeCssModules(),this._cssModules}async computeCssModules(){if(!this.isEnabled)return[];let t=await t7();return await new Promise(e=>{let n=ho.create(),o=[],i=Tt.asFileUri("").fsPath,s=hJ(t,["-g","**/*.css","--files","--no-ignore",i],{});s.stdout.on("data",a=>{o.push(a)}),s.on("error",a=>{this.logService.error("[CSS_DEV] FAILED to compute CSS data",a),e([])}),s.on("close",()=>{let a=Buffer.concat(o).toString("utf8"),l=a.split(`
`).filter(Boolean).map(c=>bs(i,c).replace(/\\/g,"/")).filter(Boolean).sort();l.some(c=>c.indexOf("vs/")!==0)&&this.logService.error(`[CSS_DEV] Detected invalid paths in css modules, raw output: ${a}`),e(l),this.logService.info(`[CSS_DEV] DONE, ${l.length} css modules (${Math.round(n.elapsed())}ms)`)})})}};Hp=C([I(0,Pt),I(1,K)],Hp)});var Wp,o7=y(()=>{Q();le();Nn();Pe();Fn();Zr();Wp=class extends _{constructor(e,n,o,i,s){super();this.prefix=e;let a=n?"remoteTelemetry":Cw,l=o.getLogger(a);if(l)this.logger=this._register(l);else{let u=my(s,i)?" (Not Sent)":"";this.logger=this._register(o.createLogger(a,{name:d(3044,null,u),group:uy,hidden:!0}))}}flush(){return Promise.resolve()}log(e,n){this.logger.trace(`${this.prefix}telemetry/${e}`,gy(n))}};Wp=C([I(2,Oo),I(3,Pt),I(4,Be)],Wp)});var lC,r7,y1=y(()=>{X();lC=D("INativeMcpDiscoveryHelperService"),r7="NativeMcpDiscoveryHelper"});var Bp,i7=y(()=>{nl();y1();Bp=class{constructor(t,e){this.getUriTransformer=t;this.nativeMcpDiscoveryHelperService=e}listen(t,e){throw new Error("Invalid listen")}async call(t,e,n){let o=this.getUriTransformer?.(t);if(e==="load"){let i=await this.nativeMcpDiscoveryHelperService.load();return o?Mr(i,o):i}throw new Error("Invalid call")}};Bp=C([I(1,lC)],Bp)});import{homedir as vJ}from"os";var cC,s7=y(()=>{me();ie();cC=class{constructor(){}load(){return Promise.resolve({platform:di,homedir:b.file(vJ()),winAppData:this.uriFromEnvVariable("APPDATA"),xdgHome:this.uriFromEnvVariable("XDG_CONFIG_HOME")})}uriFromEnvVariable(t){let e=process.env[t];if(e)return b.file(e)}}});var dC,a7,l7,I1=y(()=>{X();dC=D("IMcpGatewayService"),a7="mcpGateway",l7="mcpGatewayToolBroker"});function yJ(r){return"method"in r&&"id"in r&&(typeof r.id=="string"||typeof r.id=="number")}function b1(r){return An(r,{id:!0,result:!0})||An(r,{id:!0,error:!0})}function S1(r){return An(r,{method:!0})&&!An(r,{id:!0})}function IJ(r){return typeof r=="object"&&r!==null&&"then"in r&&typeof r.then=="function"}var li,$p,x1=y(()=>{Me();jt();Se();Q();Ee();li=class extends Error{constructor(e,n,o){super(n);this.code=e;this.data=o}},$p=class r extends _{constructor(e,n){super();this._send=e;this._handlers=n;this._nextRequestId=1;this._pendingRequests=new Map}static{this.ParseError=-32700}static{this.MethodNotFound=-32601}static{this.InternalError=-32603}sendNotification(e){this._send({jsonrpc:"2.0",...e})}sendRequest(e,n=we.None,o){if(this._store.isDisposed)return Promise.reject(new et);let i=this._nextRequestId++,s=new ao,a=new xt;this._pendingRequests.set(i,{promise:s,cts:a});let l=n.onCancellationRequested(()=>{s.isSettled||(this._pendingRequests.delete(i),a.cancel(),o?.(i),s.cancel()),l.dispose()});return this._send({jsonrpc:"2.0",id:i,...e}),s.p.finally(()=>{l.dispose(),this._pendingRequests.delete(i),a.dispose(!0)})}async handleMessage(e){if(Array.isArray(e)){let o=[];for(let i of e){let s=await this._handleMessage(i);s&&o.push(s)}return o}let n=await this._handleMessage(e);return n?[n]:[]}cancelPendingRequest(e){let n=this._pendingRequests.get(e);n&&(this._pendingRequests.delete(e),n.cts.cancel(),n.promise.cancel(),n.cts.dispose(!0))}cancelAllRequests(){for(let[e,n]of this._pendingRequests)this._pendingRequests.delete(e),n.cts.cancel(),n.promise.cancel(),n.cts.dispose(!0)}async _handleMessage(e){if(b1(e)){An(e,{result:!0})?this._handleResult(e):this._handleError(e);return}if(yJ(e))return this._handleRequest(e);S1(e)&&this._handlers.handleNotification?.(e)}_handleResult(e){let n=this._pendingRequests.get(e.id);n&&(this._pendingRequests.delete(e.id),n.promise.complete(e.result),n.cts.dispose(!0))}_handleError(e){if(e.id===void 0)return;let n=this._pendingRequests.get(e.id);n&&(this._pendingRequests.delete(e.id),n.promise.error(new li(e.error.code,e.error.message,e.error.data)),n.cts.dispose(!0))}async _handleRequest(e){if(!this._handlers.handleRequest){let o={jsonrpc:"2.0",id:e.id,error:{code:r.MethodNotFound,message:`Method not found: ${e.method}`}};return this._send(o),o}let n=new xt;this._register(oe(()=>n.dispose(!0)));try{let o=this._handlers.handleRequest(e,n.token),i=IJ(o)?await o:o,s={jsonrpc:"2.0",id:e.id,result:i};return this._send(s),s}catch(o){let i;return o instanceof li?i={jsonrpc:"2.0",id:e.id,error:{code:o.code,message:o.message,data:o.data}}:i={jsonrpc:"2.0",id:e.id,error:{code:r.InternalError,message:o instanceof Error?o.message:"Internal error"}},this._send(i),i}finally{n.dispose(!0)}}dispose(){this.cancelAllRequests(),super.dispose()}static createParseError(e,n){return{jsonrpc:"2.0",error:{code:r.ParseError,message:e,data:n}}}}});function c7(r){let t=Array.isArray(r)?r[0]:r;return!t||!An(t,{method:!0})?!1:t.method==="initialize"}var bJ,SJ,xJ,CJ,Ah,uC,d7=y(()=>{x1();Q();Ee();bJ="2025-11-25",SJ=["2025-11-25","2025-06-18","2025-03-26","2024-11-05","2024-10-07"],xJ=-32600,CJ=-32601,Ah=-32602,uC=class extends _{constructor(e,n,o,i){super();this.id=e;this._logService=n;this._onDidDispose=o;this._serverInvoker=i;this._sseClients=new Set;this._lastEventId=0;this._isInitialized=!1;this._rpc=this._register(new $p(s=>this._handleOutgoingMessage(s),{handleRequest:s=>this._handleRequest(s),handleNotification:s=>this._handleNotification(s)})),this._register(this._serverInvoker.onDidChangeTools(()=>{this._isInitialized&&(this._logService.info(`[McpGateway][session ${this.id}] Tools changed, notifying client`),this._rpc.sendNotification({method:"notifications/tools/list_changed"}))})),this._register(this._serverInvoker.onDidChangeResources(()=>{this._isInitialized&&(this._logService.info(`[McpGateway][session ${this.id}] Resources changed, notifying client`),this._rpc.sendNotification({method:"notifications/resources/list_changed"}))}))}attachSseClient(e,n){n.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive"}),n.write(`: connected

`),this._sseClients.add(n),this._logService.info(`[McpGateway][session ${this.id}] SSE client attached (total: ${this._sseClients.size})`),n.on("close",()=>{this._sseClients.delete(n),this._logService.info(`[McpGateway][session ${this.id}] SSE client detached (total: ${this._sseClients.size})`)})}async handleIncoming(e){return this._rpc.handleMessage(e)}dispose(){this._logService.info(`[McpGateway][session ${this.id}] Disposing session (SSE clients: ${this._sseClients.size})`);for(let e of this._sseClients)e.destroyed||e.end();this._sseClients.clear(),this._onDidDispose(),super.dispose()}_handleOutgoingMessage(e){if(b1(e)){this._logService.debug(`[McpGateway][session ${this.id}] --> response: ${JSON.stringify(e)}`);return}if(S1(e)){this._logService.debug(`[McpGateway][session ${this.id}] --> notification: ${e.method}`),this._broadcastSse(e);return}this._logService.warn("[McpGatewayService] Ignored unsupported outgoing gateway message")}_broadcastSse(e){if(this._sseClients.size===0){this._logService.debug(`[McpGateway][session ${this.id}] No SSE clients to broadcast to, dropping message`);return}let n=JSON.stringify(e),o=String(++this._lastEventId);this._logService.debug(`[McpGateway][session ${this.id}] Broadcasting SSE event id=${o} to ${this._sseClients.size}`);let i=n.split(/\r?\n/g),s=[`id: ${o}`,"event: message",...i.map(a=>`data: ${a}`),"",""].join(`
`);for(let a of[...this._sseClients]){if(a.destroyed||a.writableEnded){this._sseClients.delete(a);continue}a.write(s)}}async _handleRequest(e){if(this._logService.debug(`[McpGateway][session ${this.id}] <-- request: ${e.method} (id=${String(e.id)})`),e.method==="initialize")return this._handleInitialize(e);if(!this._isInitialized)throw this._logService.warn(`[McpGateway][session ${this.id}] Rejected request '${e.method}': session not initialized`),new li(xJ,"Session is not initialized");switch(e.method){case"ping":return{};case"tools/list":return this._handleListTools();case"tools/call":return this._handleCallTool(e);case"resources/list":return this._handleListResources();case"resources/read":return this._handleReadResource(e);case"resources/templates/list":return this._handleListResourceTemplates();default:throw this._logService.warn(`[McpGateway][session ${this.id}] Unknown method: ${e.method}`),new li(CJ,`Method not found: ${e.method}`)}}_handleNotification(e){this._logService.debug(`[McpGateway][session ${this.id}] <-- notification: ${e.method}`),e.method==="notifications/initialized"&&(this._isInitialized=!0,this._logService.info(`[McpGateway][session ${this.id}] Session initialized`),this._rpc.sendNotification({method:"notifications/tools/list_changed"}),this._rpc.sendNotification({method:"notifications/resources/list_changed"}))}_handleInitialize(e){let n=typeof e.params=="object"&&e.params?e.params:void 0,o=typeof n?.protocolVersion=="string"?n.protocolVersion:void 0,i=n?.clientInfo,s=o&&SJ.includes(o)?o:bJ;return this._logService.info(`[McpGateway] Initialize: client=${i?.name??"unknown"}/${i?.version??"?"}, clientProtocol=${o??"(none)"}, negotiated=${s}`),o&&o!==s&&this._logService.warn(`[McpGateway] Client requested unsupported protocol version '${o}', falling back to '${s}'`),{protocolVersion:s,capabilities:{tools:{listChanged:!0},resources:{listChanged:!0}},serverInfo:{name:"VS Code MCP Gateway",version:"1.0.0"}}}async _handleCallTool(e){let n=typeof e.params=="object"&&e.params?e.params:void 0;if(!n||typeof n.name!="string")throw new li(Ah,"Missing tool call params");if(n.arguments&&typeof n.arguments!="object")throw new li(Ah,"Invalid tool call arguments");let o=n.arguments&&typeof n.arguments=="object"?n.arguments:{};this._logService.debug(`[McpGateway][session ${this.id}] Calling tool '${n.name}' with args: ${JSON.stringify(o)}`);try{let i=await this._serverInvoker.callTool(n.name,o);return this._logService.debug(`[McpGateway][session ${this.id}] Tool '${n.name}' completed (isError=${i.isError??!1}, content blocks=${i.content.length})`),i}catch(i){throw this._logService.error(`[McpGateway][session ${this.id}] Tool '${n.name}' invocation failed`,i),new li(Ah,String(i))}}async _handleListTools(){let e=await this._serverInvoker.listTools();return this._logService.debug(`[McpGateway][session ${this.id}] Listed ${e.length} tool(s): [${e.map(n=>n.name).join(", ")}]`),{tools:e}}async _handleListResources(){let e=await this._serverInvoker.listResources();return this._logService.debug(`[McpGateway][session ${this.id}] Listed ${e.length} resource(s)`),{resources:e}}async _handleReadResource(e){let n=typeof e.params=="object"&&e.params?e.params:void 0;if(!n||typeof n.uri!="string")throw new li(Ah,"Missing resource URI");this._logService.debug(`[McpGateway][session ${this.id}] Reading resource '${n.uri}'`);try{let o=await this._serverInvoker.readResource(n.uri);return this._logService.debug(`[McpGateway][session ${this.id}] Resource read returned ${o.contents.length} content(s)`),o}catch(o){throw this._logService.error(`[McpGateway][session ${this.id}] Resource read failed for '${n.uri}'`,o),new li(Ah,String(o))}}async _handleListResourceTemplates(){let e=await this._serverInvoker.listResourceTemplates();return this._logService.debug(`[McpGateway][session ${this.id}] Listed ${e.length} resource template(s)`),{resourceTemplates:e}}}});var qp,C1,u7=y(()=>{Me();de();x1();Q();ie();Jt();Pe();d7();qp=class extends _{constructor(e){super();this._routes=new Map;this._gatewayRoutes=new Map;this._gatewayServerRoutes=new Map;this._gatewayToClient=new Map;this._gatewayDisposables=new Map;this._logger=this._register(e.createLogger("mcpGateway",{name:"MCP Gateway",logLevel:"always"})),this._logger.info("[McpGatewayService] Initialized")}async createGateway(e,n){if(await this._ensureServer(),this._port===void 0)throw new Error("[McpGatewayService] Server failed to start, port is undefined");if(!n)throw new Error("[McpGatewayService] Tool invoker is required to create gateway");let o=ye(),i=new Set,s=new Map;this._gatewayRoutes.set(o,i),this._gatewayServerRoutes.set(o,s);let a=new re;this._gatewayDisposables.set(o,a);try{let l=n.listServers(),c=[];for(let p of l){let m=this._createRouteForServer(o,p.id,p.label,n,i,s);c.push(m)}e?(this._gatewayToClient.set(o,e),this._logger.info(`[McpGatewayService] Created gateway ${o} with ${c.length} server(s) for client ${e}`)):this._logger.warn(`[McpGatewayService] Created gateway ${o} with ${c.length} server(s) without client tracking`);let u=a.add(new w);return a.add(n.onDidChangeServers(p=>{this._refreshGatewayServers(o,p,n,i,s,u)})),{servers:c,onDidChangeServers:u.event,gatewayId:o}}catch(l){throw this._cleanupGateway(o),l}}_refreshGatewayServers(e,n,o,i,s,a){if(!this._gatewayRoutes.has(e))return;let l=new Set(n.map(p=>p.id)),c=new Set(s.keys());for(let p of c)if(!l.has(p)){let m=s.get(p);m&&(this._disposeRoute(m),i.delete(m),s.delete(p))}for(let p of n){if(!c.has(p.id)){this._createRouteForServer(e,p.id,p.label,o,i,s);continue}let m=s.get(p.id),g=m?this._routes.get(m):void 0;g&&g.label!==p.label&&(g.label=p.label)}let u=this._getGatewayServers(e);this._logger.info(`[McpGatewayService] Gateway ${e} servers changed: ${u.length} server(s)`),a.fire(u)}_cleanupGateway(e){let n=this._gatewayRoutes.get(e);if(n)for(let o of n)this._disposeRoute(o);this._gatewayRoutes.delete(e),this._gatewayServerRoutes.delete(e),this._gatewayToClient.delete(e),this._gatewayDisposables.get(e)?.dispose(),this._gatewayDisposables.delete(e)}_createRouteForServer(e,n,o,i,s,a){let l=ye(),c={onDidChangeTools:i.onDidChangeTools,onDidChangeResources:i.onDidChangeResources,listTools:()=>i.listToolsForServer(n),callTool:(m,g)=>i.callToolForServer(n,m,g),listResources:()=>i.listResourcesForServer(n),readResource:m=>i.readResourceForServer(n,m),listResourceTemplates:()=>i.listResourceTemplatesForServer(n)},u=new C1(l,this._logger,c,o);this._routes.set(l,u),s.add(l),a.set(n,l);let p=b.parse(`http://127.0.0.1:${this._port}/gateway/${l}`);return this._logger.info(`[McpGatewayService] Created route ${l} for server '${o}' (${n}) at ${p}`),{label:o,address:p}}_getGatewayServers(e){let n=this._gatewayServerRoutes.get(e);if(!n)return[];let o=[];for(let[i,s]of n){let a=this._routes.get(s);a&&o.push({label:a.label,address:b.parse(`http://127.0.0.1:${this._port}/gateway/${s}`)})}return o}_disposeRoute(e){let n=this._routes.get(e);n&&(n.dispose(),this._routes.delete(e),this._logger.info(`[McpGatewayService] Disposed route: ${e}`))}async disposeGateway(e){if(!this._gatewayRoutes.has(e)){this._logger.warn(`[McpGatewayService] Attempted to dispose unknown gateway: ${e}`);return}this._cleanupGateway(e),this._logger.info(`[McpGatewayService] Disposed gateway: ${e} (remaining routes: ${this._routes.size})`),this._routes.size===0&&this._stopServer()}disposeGatewaysForClient(e){let n=[];for(let[o,i]of this._gatewayToClient)i===e&&n.push(o);if(n.length>0){this._logger.info(`[McpGatewayService] Disposing ${n.length} gateway(s) for disconnected client ${e}`);for(let o of n)this._cleanupGateway(o);this._routes.size===0&&this._stopServer()}}async _ensureServer(){if(!this._server?.listening){if(this._serverStartPromise)return this._serverStartPromise;this._serverStartPromise=this._startServer();try{await this._serverStartPromise}finally{this._serverStartPromise=void 0}}}async _startServer(){let{createServer:e}=await import("http"),n=new ao;this._server=e((i,s)=>{this._handleRequest(i,s)});let o=setTimeout(()=>{n.error(new Error("[McpGatewayService] Timeout waiting for server to start"))},5e3);return this._server.on("listening",()=>{let i=this._server.address();if(typeof i=="string")this._port=parseInt(i);else if(i instanceof Object)this._port=i.port;else{clearTimeout(o),n.error(new Error("[McpGatewayService] Unable to determine port"));return}clearTimeout(o),this._logger.info(`[McpGatewayService] Server started on port ${this._port}`),n.complete()}),this._server.on("error",i=>{if(i.code==="EADDRINUSE"){this._logger.warn("[McpGatewayService] Port in use, retrying with random port..."),this._server.listen(0,"127.0.0.1");return}clearTimeout(o),this._logger.error(`[McpGatewayService] Server error: ${i}`),n.error(i)}),this._server.listen(0,"127.0.0.1"),n.p}_stopServer(){this._server&&(this._logger.info("[McpGatewayService] Stopping server (no more routes)"),this._server.close(e=>{e?this._logger.error(`[McpGatewayService] Error closing server: ${e}`):this._logger.info("[McpGatewayService] Server stopped")}),this._server=void 0,this._port=void 0)}_handleRequest(e,n){let o=new URL(e.url,`http://${e.headers.host}`),i=o.pathname.split("/").filter(Boolean);if(this._logger.debug(`[McpGatewayService] ${e.method} ${o.pathname} (active routes: ${this._routes.size})`),i.length>=2&&i[0]==="gateway"){let s=i[1],a=this._routes.get(s);if(a){a.handleRequest(e,n);return}}this._logger.warn(`[McpGatewayService] ${e.method} ${o.pathname}: route not found`),n.writeHead(404,{"Content-Type":"application/json"}),n.end(JSON.stringify({error:"Gateway not found"}))}dispose(){this._logger.info(`[McpGatewayService] Disposing service (routes: ${this._routes.size})`),this._stopServer();for(let e of this._routes.values())e.dispose();this._routes.clear(),this._gatewayRoutes.clear(),this._gatewayServerRoutes.clear(),this._gatewayToClient.clear();for(let e of this._gatewayDisposables.values())e.dispose();this._gatewayDisposables.clear(),super.dispose()}};qp=C([I(0,Oo)],qp);C1=class r extends _{constructor(e,n,o,i=""){super();this.routeId=e;this._logger=n;this._serverInvoker=o;this.label=i;this._sessions=new Map}static{this.SessionHeaderName="mcp-session-id"}handleRequest(e,n){if(this._logger.debug(`[McpGateway][route ${this.routeId}] ${e.method} request (sessions: ${this._sessions.size})`),e.method==="POST"){this._handlePost(e,n);return}if(e.method==="GET"){this._handleGet(e,n);return}if(e.method==="DELETE"){this._handleDelete(e,n);return}this._respondHttpError(n,405,"Method not allowed")}dispose(){this._logger.info(`[McpGateway][route ${this.routeId}] Disposing route (sessions: ${this._sessions.size})`);for(let e of this._sessions.values())e.dispose();this._sessions.clear(),super.dispose()}_handleDelete(e,n){let o=this._getSessionId(e);if(!o){this._respondHttpError(n,400,"Missing Mcp-Session-Id header");return}let i=this._sessions.get(o);if(!i){this._respondHttpError(n,404,"Session not found");return}this._logger.info(`[McpGateway][route ${this.routeId}] Deleting session ${o}`),i.dispose(),this._sessions.delete(o),n.writeHead(204),n.end()}_handleGet(e,n){let o=this._getSessionId(e);if(!o){this._respondHttpError(n,400,"Missing Mcp-Session-Id header");return}let i=this._sessions.get(o);if(!i){this._respondHttpError(n,404,"Session not found");return}this._logger.info(`[McpGateway][route ${this.routeId}] SSE connection requested for session ${o}`),i.attachSseClient(e,n)}async _handlePost(e,n){let o=await this._readRequestBody(e);if(o===void 0){this._respondHttpError(n,413,"Payload too large");return}this._logger.debug(`[McpGateway][route ${this.routeId}] Handling POST`);let i;try{i=JSON.parse(o)}catch(l){this._logger.warn(`[McpGateway][route ${this.routeId}] JSON parse error: ${l instanceof Error?l.message:String(l)}`),n.writeHead(400,{"Content-Type":"application/json"}),n.end(JSON.stringify($p.createParseError("Parse error",l instanceof Error?l.message:String(l))));return}let s=this._getSessionId(e),a=this._resolveSessionForPost(s,i,n);if(a)try{let l=await a.handleIncoming(i),c={"Content-Type":"application/json","Mcp-Session-Id":a.id};if(l.length===0){this._logger.debug(`[McpGateway][route ${this.routeId}] POST response: 202 (no content)`),n.writeHead(202,c),n.end();return}let u=JSON.stringify(Array.isArray(i)?l:l[0]);this._logger.debug(`[McpGateway][route ${this.routeId}] POST response: 200, body: ${u}`),n.writeHead(200,c),n.end(u)}catch(l){this._logger.error("[McpGatewayService] Failed handling gateway request",l),this._respondHttpError(n,500,"Internal server error")}}_resolveSessionForPost(e,n,o){if(e){let a=this._sessions.get(e);if(!a){this._logger.warn(`[McpGateway][route ${this.routeId}] Session not found: ${e}`),this._respondHttpError(o,404,"Session not found");return}return a}if(!c7(n)){this._respondHttpError(o,400,"Missing Mcp-Session-Id header");return}let i=ye();this._logger.info(`[McpGateway][route ${this.routeId}] Creating new session ${i}`);let s=new uC(i,this._logger,()=>{this._sessions.delete(i)},this._serverInvoker);return this._sessions.set(i,s),s}_respondHttpError(e,n,o){this._logger.debug(`[McpGateway][route ${this.routeId}] HTTP error response: ${n} ${o}`),e.writeHead(n,{"Content-Type":"application/json"}),e.end(JSON.stringify({jsonrpc:"2.0",error:{code:n,message:o}}))}_getSessionId(e){let n=e.headers[r.SessionHeaderName];return Array.isArray(n)?n[0]:n}async _readRequestBody(e){let n=[],o=0,i=1024*1024;for await(let s of e){let a=Buffer.isBuffer(s)?s:Buffer.from(s);if(o+=a.byteLength,o>i)return;n.push(a)}return Buffer.concat(n).toString("utf8")}}});function EJ(r,t){return r.getChannel(l7,e=>e.ctx===t)}var zp,p7=y(()=>{de();Q();Pe();I1();zp=class extends _{constructor(e,n,o){super();this._ipcServer=e;this.mcpGatewayService=n;this._loggerService=o;this._onDidChangeGatewayServers=this._register(new w);this._gatewayDisposables=this._register(new ar);this._clientGateways=new Map;this._register(e.onDidRemoveConnection(i=>{this._loggerService.getLogger("mcpGateway")?.info(`[McpGateway][Channel] Client disconnected: ${i.ctx}, cleaning up gateways`),n.disposeGatewaysForClient(i.ctx);let s=this._clientGateways.get(i.ctx);if(s){for(let a of s)this._gatewayDisposables.deleteAndDispose(a);this._clientGateways.delete(i.ctx)}}))}listen(e,n){if(n==="onDidChangeGatewayServers")return this._onDidChangeGatewayServers.event;throw new Error(`Invalid listen: ${n}`)}async call(e,n,o){let i=this._loggerService.getLogger("mcpGateway");switch(i?.debug(`[McpGateway][Channel] IPC call: ${n} from client ${e}`),n){case"createGateway":{let{chatSessionResource:s}=o??{},a=EJ(this._ipcServer,e),l=await a.call("listServers"),c=a.listen("onDidChangeServers"),u=await this.mcpGatewayService.createGateway(e,{onDidChangeServers:W.map(c,g=>(l=g,g)),onDidChangeTools:a.listen("onDidChangeTools"),onDidChangeResources:a.listen("onDidChangeResources"),listServers:()=>l,listToolsForServer:g=>a.call("listToolsForServer",{serverId:g}),callToolForServer:(g,h,v)=>a.call("callToolForServer",{serverId:g,name:h,args:v,chatSessionResource:s}),listResourcesForServer:g=>a.call("listResourcesForServer",{serverId:g}),readResourceForServer:(g,h)=>a.call("readResourceForServer",{serverId:g,uri:h}),listResourceTemplatesForServer:g=>a.call("listResourceTemplatesForServer",{serverId:g})}),p=new re;p.add(u.onDidChangeServers(g=>{this._onDidChangeGatewayServers.fire({gatewayId:u.gatewayId,servers:g})})),this._gatewayDisposables.set(u.gatewayId,p);let m=this._clientGateways.get(e);return m||(m=new Set,this._clientGateways.set(e,m)),m.add(u.gatewayId),i?.info(`[McpGateway][Channel] Gateway created: ${u.gatewayId} with ${u.servers.length} server(s) for client ${e}`),{gatewayId:u.gatewayId,servers:u.servers}}case"disposeGateway":{let s=o;i?.info(`[McpGateway][Channel] Disposing gateway: ${s} for client ${e}`),this._gatewayDisposables.deleteAndDispose(s);let a=this._clientGateways.get(e);a&&(a.delete(s),a.size===0&&this._clientGateways.delete(e)),await this.mcpGatewayService.disposeGateway(s);return}}throw new Error(`Invalid call: ${n}`)}};zp=C([I(1,dC),I(2,Oo)],zp)});var Gp,m7=y(()=>{Me();de();Pe();Fn();Yl();$T();Gp=class extends el{constructor(e,n,o){super(o);this.logService=n;this._onDidChangeExtensionGalleryManifest=this._register(new w);this.onDidChangeExtensionGalleryManifest=this._onDidChangeExtensionGalleryManifest.event;this._onDidChangeExtensionGalleryManifestStatus=this._register(new w);this.onDidChangeExtensionGalleryManifestStatus=this._onDidChangeExtensionGalleryManifestStatus.event;this.barrier=new wr;e.registerChannel("extensionGalleryManifest",{listen:()=>W.None,call:async(i,s,a)=>{if(s==="setExtensionGalleryManifest")return Promise.resolve(this.setExtensionGalleryManifest(a[0]));throw new Error("Invalid call")}})}get extensionGalleryManifestStatus(){return this._extensionGalleryManifest?"available":"unavailable"}async getExtensionGalleryManifest(){return await this.barrier.wait(),this._extensionGalleryManifest??null}setExtensionGalleryManifest(e){this.logService.trace(`[Marketplace] Setting manifest ${e?"available":"unavailable"}`),this._extensionGalleryManifest=e,this._onDidChangeExtensionGalleryManifest.fire(e),this._onDidChangeExtensionGalleryManifestStatus.fire(this.extensionGalleryManifestStatus),this.barrier.open()}};Gp=C([I(1,K),I(2,Be)],Gp)});var Lh,pC,g7=y(()=>{Nn();it();Pe();wo();gl();wx();dh();Lh=class extends Lc{constructor(t,e,n,o,i,s,a,l){super(t,e,n,o,i,s,a,l)}async installFromGallery(t,e){this.logService.trace("MCP Management Service: installGallery",t.name,t.galleryUrl),this._onInstallMcpServer.fire({name:t.name,mcpResource:this.mcpResource});try{let n=await this.updateMetadataFromGallery(t),o=e?.packageType??(n.remotes?.length?"remote":n.packages?.[0]?.registryType??"remote"),{mcpServerConfiguration:i,notices:s}=this.getMcpServerConfigurationFromManifest(n,o);s.length>0&&this.logService.warn(`MCP Management Service: Warnings while installing ${t.name}`,s);let a={name:t.name,config:{...i.config,gallery:t.galleryUrl??!0,version:t.version},inputs:i.inputs};this.ensureServerAllowed(a),await this.mcpResourceScannerService.addMcpServers([a],this.mcpResource,this.target),await this.updateLocal(t);let l=(await this.getInstalled()).find(c=>c.name===t.name);if(!l)throw new Error(`Failed to install MCP server: ${t.name}`);return l}catch(n){throw this._onDidInstallMcpServers.fire([{name:t.name,source:t,error:n,mcpResource:this.mcpResource}]),n}}};Lh=C([I(1,aa),I(2,Oe),I(3,Je),I(4,K),I(5,as),I(6,Zo),I(7,Pt)],Lh);pC=class extends kp{createMcpResourceManagementService(t){return this.instantiationService.createInstance(Lh,t)}}});var f7,mC,E1,wJ,TJ,w1,Kp,h7=y(()=>{jt();Ns();Q();Ne();Ot();ie();le();it();Pe();yi();gl();ah();Se();Ee();(o=>{o.VERSION="v0-2025-07-09",o.SCHEMA="https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json";class e{toRawGalleryMcpServerResult(s){if(!s||typeof s!="object"||!Array.isArray(s.servers))return;let a=s,l=[];for(let c of a.servers){let u=this.toRawGalleryMcpServer(c);if(!u)return;l.push(u)}return{metadata:{count:a.metadata.count??0,nextCursor:a.metadata?.next_cursor},servers:l}}toRawGalleryMcpServer(s){if(!s||typeof s!="object")return;let a=s;if(!a.name||!Z(a.name)||!a.description||!Z(a.description)||!a.version||!Z(a.version)||a.$schema&&a.$schema!==o.SCHEMA)return;let l=a._meta?.["io.modelcontextprotocol.registry/official"];function c(S){return{...S,isRequired:S.is_required,isSecret:S.is_secret}}function u(S){let T={};for(let[E,k]of Object.entries(S))T[E]=c(k);return T}function p(S){return S.type==="positional"?{...S,valueHint:S.value_hint,isRepeated:S.is_repeated,isRequired:S.is_required,isSecret:S.is_secret,variables:S.variables?u(S.variables):void 0}:{...S,isRepeated:S.is_repeated,isRequired:S.is_required,isSecret:S.is_secret,variables:S.variables?u(S.variables):void 0}}function m(S){return{...S,isRequired:S.is_required,isSecret:S.is_secret,variables:S.variables?u(S.variables):void 0}}function g(S){switch(S.type){case"stdio":return{type:"stdio"};case"streamable-http":return{type:"streamable-http",url:S.url,headers:S.headers?.map(m)};case"sse":return{type:"sse",url:S.url,headers:S.headers?.map(m)};default:return{type:"stdio"}}}function h(S){switch(S){case"npm":return"npm";case"docker":case"docker-hub":case"oci":return"oci";case"pypi":return"pypi";case"nuget":return"nuget";case"mcpb":return"mcpb";default:return"npm"}}let v=a._meta["io.modelcontextprotocol.registry/publisher-provided"]?.github;return{id:l.id,name:a.name,description:a.description,repository:a.repository?{url:a.repository.url,source:a.repository.source,id:a.repository.id}:void 0,readme:a.repository?.readme,version:a.version,createdAt:a.created_at,updatedAt:a.updated_at,packages:a.packages?.map(S=>({identifier:S.identifier??S.name,registryType:h(S.registry_type??S.registry_name),version:S.version,fileSha256:S.file_sha256,registryBaseUrl:S.registry_base_url,transport:S.transport?g(S.transport):{type:"stdio"},packageArguments:S.package_arguments?.map(p),runtimeHint:S.runtime_hint,runtimeArguments:S.runtime_arguments?.map(p),environmentVariables:S.environment_variables?.map(m)})),remotes:a.remotes?.map(S=>({type:(S.type??S.transport_type??S.transport)==="sse"?"sse":"streamable-http",url:S.url,headers:S.headers?.map(m)})),registryInfo:{isLatest:l.is_latest,publishedAt:l.published_at,updatedAt:l.updated_at},githubInfo:v?{name:v.name,nameWithOwner:v.name_with_owner,displayName:v.display_name,isInOrganization:v.is_in_organization,license:v.license,opengraphImageUrl:v.opengraph_image_url,ownerAvatarUrl:v.owner_avatar_url,primaryLanguage:v.primary_language,primaryLanguageColor:v.primary_language_color,pushedAt:v.pushed_at,stargazerCount:v.stargazer_count,topics:v.topics,usesCustomOpengraphImage:v.uses_custom_opengraph_image}:void 0}}}o.SERIALIZER=new e})(f7||={});(n=>{n.VERSION="v0.1";class t{toRawGalleryMcpServerResult(i){if(!i||typeof i!="object"||!Array.isArray(i.servers))return;let s=i,a=[];for(let l of s.servers){let c=this.toRawGalleryMcpServer(l);if(!c){if(a.length===0)return;continue}a.push(c)}return{metadata:s.metadata,servers:a}}toRawGalleryMcpServer(i){if(!i||typeof i!="object")return;let s=i;if(!s.server||!Ae(s.server)||!s.server.name||!Z(s.server.name)||!s.server.description||!Z(s.server.description)||!s.server.version||!Z(s.server.version))return;let{"io.modelcontextprotocol.registry/official":a,...l}=s._meta,c=s.server._meta?.["io.modelcontextprotocol.registry/publisher-provided"]?.github;return{name:s.server.name,description:s.server.description,version:s.server.version,title:s.server.title,repository:s.server.repository?{url:s.server.repository.url,source:s.server.repository.source,id:s.server.repository.id}:void 0,readme:c?.readme,icons:s.server.icons,websiteUrl:s.server.websiteUrl,packages:s.server.packages,remotes:s.server.remotes,status:a?.status,registryInfo:a,githubInfo:c,apicInfo:l}}}n.SERIALIZER=new t})(mC||={});(n=>{n.VERSION="v0";class t{constructor(){this.galleryMcpServerDataSerializers=[];this.galleryMcpServerDataSerializers.push(mC.SERIALIZER),this.galleryMcpServerDataSerializers.push(f7.SERIALIZER)}toRawGalleryMcpServerResult(i){for(let s of this.galleryMcpServerDataSerializers){let a=s.toRawGalleryMcpServerResult(i);if(a)return a}}toRawGalleryMcpServer(i){for(let s of this.galleryMcpServerDataSerializers){let a=s.toRawGalleryMcpServer(i);if(a)return a}}}n.SERIALIZER=new t})(E1||={});wJ=50,TJ={pageSize:wJ},w1=class r{constructor(t=TJ){this.state=t}get pageSize(){return this.state.pageSize}get searchText(){return this.state.searchText}get cursor(){return this.state.cursor}withPage(t,e=this.pageSize){return new r({...this.state,pageSize:e,cursor:t})}withSearchText(t){return new r({...this.state,searchText:t})}},Kp=class extends _{constructor(e,n,o,i){super();this.requestService=e;this.fileService=n;this.logService=o;this.mcpGalleryManifestService=i;this.galleryMcpServerDataSerializers=new Map,this.galleryMcpServerDataSerializers.set(E1.VERSION,E1.SERIALIZER),this.galleryMcpServerDataSerializers.set(mC.VERSION,mC.SERIALIZER)}isEnabled(){return this.mcpGalleryManifestService.mcpGalleryManifestStatus==="available"}async query(e,n=we.None){let o=await this.mcpGalleryManifestService.getMcpGalleryManifest();if(!o)return{firstPage:{items:[],hasMore:!1},getNextPage:async()=>({items:[],hasMore:!1})};let i=new w1;e?.text&&(i=i.withSearchText(e.text.trim()));let{servers:s,metadata:a}=await this.queryGalleryMcpServers(i,o,n),l=a.nextCursor;return{firstPage:{items:s,hasMore:!!a.nextCursor},getNextPage:async c=>{if(c.isCancellationRequested)throw new et;if(!l)return{items:[],hasMore:!1};let{servers:u,metadata:p}=await this.queryGalleryMcpServers(i.withPage(l).withSearchText(void 0),o,c);return l=p.nextCursor,{items:u,hasMore:!!p.nextCursor}}}}async getMcpServersFromGallery(e){let n=await this.resolveMcpServersFromGallery(e),o=[];for(let i of n.values())i.status===0&&o.push(i.server);return o}async resolveMcpServersFromGallery(e){let n=new Map,o=await this.mcpGalleryManifestService.getMcpGalleryManifest();if(!o){for(let i of e)n.set(i.name,{status:2});return n}return await Promise.all(e.map(async i=>{try{let s=await this.getMcpServerByName(i,o);n.set(i.name,s?{status:0,server:s}:{status:1})}catch(s){this.logService.warn(`Failed to resolve MCP server '${i.name}' from gallery: ${s}`),n.set(i.name,{status:2})}})),n}async getMcpServerByName({name:e,id:n},o){let i=[this.getLatestServerVersionUrl(e,o),this.getNamedServerUrl(e,o),n?this.getServerIdUrl(n,o):void 0],s=!1,a;for(let l of i)if(l){s=!0;try{let c=await this.getMcpServer(l);if(c){if(c.name===e)return c;a=new Error(`MCP server lookup for '${e}' returned '${c.name}'`)}}catch(c){a=c}}if(!s)throw new Error(`Cannot resolve MCP server '${e}': registry manifest has no server lookup endpoint`);if(a!==void 0)throw a}async getReadme(e,n){let o=e.readmeUrl;if(!o)return Promise.resolve(d(2973,null));let i=b.parse(o);if(i.scheme===$.file)try{return(await this.fileService.readFile(i)).value.toString()}catch(l){this.logService.error(`Failed to read file from ${i}: ${l}`)}if(i.authority!=="raw.githubusercontent.com")return new Nt(d(2974,null,o)).value;let s=await this.requestService.request({type:"GET",url:o,callSite:"mcpGalleryService.getReadme"},n),a=await Ad(s);if(!a)throw new Error(`Failed to fetch README from ${o}`);return a}toGalleryMcpServer(e,n){let o="",i=e.title;if(e.githubInfo?.name)i||(i=e.githubInfo.name.split("-").map(c=>c.toLowerCase()==="mcp"?"MCP":c.toLowerCase()==="github"?"GitHub":iE(c)).join(" ")),o=e.githubInfo.nameWithOwner.split("/")[0];else{let c=e.name.split("/");if(c.length>0){let u=c[0].split(".");u.length>0&&(o=u[u.length-1])}i||(i=c[c.length-1].split("-").map(u=>iE(u)).join(" "))}e.githubInfo?.displayName&&(i=e.githubInfo.displayName);let s;if(e.githubInfo?.preferredImage)s={light:e.githubInfo.preferredImage,dark:e.githubInfo.preferredImage};else if(e.githubInfo?.ownerAvatarUrl)s={light:e.githubInfo.ownerAvatarUrl,dark:e.githubInfo.ownerAvatarUrl};else if(e.apicInfo?.["x-ms-icon"])s={light:e.apicInfo["x-ms-icon"],dark:e.apicInfo["x-ms-icon"]};else if(e.icons&&e.icons.length>0){let c=e.icons.find(p=>p.theme==="light")??e.icons[0],u=e.icons.find(p=>p.theme==="dark")??c;s={light:c.src,dark:u.src}}let a=n?this.getWebUrl(e.name,n):void 0,l=n?this.getPublisherUrl(o,n):void 0;return{id:e.id,name:e.name,displayName:i,galleryUrl:n?.url,webUrl:a,description:e.description,status:e.status??"active",version:e.version,isLatest:e.registryInfo?.isLatest??!0,publishDate:e.registryInfo?.publishedAt?Date.parse(e.registryInfo.publishedAt):void 0,lastUpdated:e.githubInfo?.pushedAt?Date.parse(e.githubInfo.pushedAt):e.registryInfo?.updatedAt?Date.parse(e.registryInfo.updatedAt):void 0,repositoryUrl:e.repository?.url,readme:e.readme,icon:s,publisher:o,publisherUrl:l,license:e.githubInfo?.license,starsCount:e.githubInfo?.stargazerCount,topics:e.githubInfo?.topics,configuration:{packages:e.packages,remotes:e.remotes}}}async queryGalleryMcpServers(e,n,o){let{servers:i,metadata:s}=await this.queryRawGalleryMcpServers(e,n,o);return{servers:i.map(a=>this.toGalleryMcpServer(a,n)),metadata:s}}async queryRawGalleryMcpServers(e,n,o){let i=this.getMcpGalleryUrl(n);if(!i)return{servers:[],metadata:{count:0}};let s=b.parse(i);if(s.scheme===$.file)try{let m=(await this.fileService.readFile(s)).value.toString();return JSON.parse(m)}catch(p){this.logService.error(`Failed to read file from ${s}: ${p}`)}let a=`${i}?limit=${e.pageSize}&version=latest`;if(e.cursor&&(a+=`&cursor=${e.cursor}`),e.searchText){let p=encodeURIComponent(e.searchText);a+=`&search=${p}`}let l;try{l=await this.requestService.request({type:"GET",url:a,callSite:"mcpGalleryService.queryMcpServers"},o)}catch(p){if(mn(p))throw p;return this.logService.error(`Failed to query MCP gallery: ${p}`),{servers:[],metadata:{count:0}}}if(!Md(l))return this.logService.error(`Failed to query MCP gallery: Server returned ${l.res.statusCode}`),{servers:[],metadata:{count:0}};let c=await $i(l);if(!c)return{servers:[],metadata:{count:0}};let u=this.serializeMcpServersResult(c,n);if(!u)throw new Error(`Failed to serialize MCP servers result from ${i}`,c);return u}async getMcpServer(e,n){let o=await this.requestService.request({type:"GET",url:e,callSite:"mcpGalleryService.getMcpServer"},we.None);if(o.res.statusCode===404)return;if(o.res.statusCode&&o.res.statusCode>=400)throw new Error(`Failed to fetch MCP server from ${e}: server responded with ${o.res.statusCode}`);let i=await $i(o);if(!i)throw new Error(`Failed to fetch MCP server from ${e}: empty response`);n||(n=await this.mcpGalleryManifestService.getMcpGalleryManifest()),n=n&&e.startsWith(n.url)?n:null;let s=this.serializeMcpServer(i,n);if(!s)throw new Error(`Failed to serialize MCP server from ${e}`,i);return this.toGalleryMcpServer(s,n)}serializeMcpServer(e,n){return this.getSerializer(n)?.toRawGalleryMcpServer(e)}serializeMcpServersResult(e,n){return this.getSerializer(n)?.toRawGalleryMcpServerResult(e)}getSerializer(e){let n=e?.version??"v0";return this.galleryMcpServerDataSerializers.get(n)}getNamedServerUrl(e,n){let o=_c(n,"McpServerNamedResourceUriTemplate");if(o)return Cr(o,{name:e})}getServerIdUrl(e,n){let o=_c(n,"McpServerIdUriTemplate");if(o)return Cr(o,{id:e})}getLatestServerVersionUrl(e,n){let o=_c(n,"McpServerLatestVersionUriTemplate");if(o)return Cr(o,{name:encodeURIComponent(e)})}getWebUrl(e,n){let o=_c(n,"McpServerWebUriTemplate");if(o)return Cr(o,{name:e})}getPublisherUrl(e,n){let o=_c(n,"PublisherUriTemplate");if(o)return Cr(o,{name:e})}getMcpGalleryUrl(e){return _c(e,"McpServersQueryService")}};Kp=C([I(0,Yn),I(1,Oe),I(2,K),I(3,vx)],Kp)});function Oh(r){if(Array.isArray(r))return r.filter(RJ)}function RJ(r){if(!Ae(r))return!1;let{serverName:t,serverUrl:e,serverCommand:n}=r,o=Z(t)&&t.length>0,i=Z(e)&&e.length>0,s=Array.isArray(n)&&n.length>0&&n.every(Z);return(o?1:0)+(i?1:0)+(s?1:0)==1}function v7(r,t){return!!r&&r.some(e=>PJ(e,t))}function y7(r,t,e){return v7(t,e)?1:r!==void 0&&!v7(r,e)?2:0}function PJ(r,t){return Z(r.serverName)?r.serverName===t.name:Z(r.serverUrl)?t.url!==void 0&&kJ(r.serverUrl,t.url):Array.isArray(r.serverCommand)?t.command!==void 0&&vn(r.serverCommand,t.command):!1}function kJ(r,t){let e=DJ(r);try{return new RegExp(e,"i").test(t)}catch{return!1}}function DJ(r){let t=r.indexOf("://"),e=t>=0?t+3:0,n=r.indexOf("/",e),o=n>=0?n:r.length,i="^";for(let s=0;s<r.length;s++){let a=r[s];a==="*"?i+=s<o?"[^/]*":".*":i+=Mo(a)}return i+"$"}var I7=y(()=>{Lt();Ot();Ee()});var jp,b7=y(()=>{Q();le();Ns();tn();de();Ee();I7();gl();ih();GS();jp=class extends _{constructor(e){super();this.configurationService=e;this._onDidChangeAllowedMcpServers=this._register(new w);this.onDidChangeAllowedMcpServers=this._onDidChangeAllowedMcpServers.event;this._register(this.configurationService.onDidChangeConfiguration(n=>{(n.affectsConfiguration(yx)||n.affectsConfiguration(Ix)||n.affectsConfiguration(bx)||n.affectsConfiguration(Hk))&&this._onDidChangeAllowedMcpServers.fire()}))}isAllowed(e){return this.isServerAllowed(this.toIdentity(e))}isServerAllowed(e){if(this.configurationService.getValue(yx)==="none"){let s=By("workbench.action.openSettings",{query:`@id:${yx}`}).toString();return new Nt(d(2972,null,s))}let n=this.configurationService.getValue(Hk)===!0,o=n?Oh(this.configurationService.inspect(Ix).policyValue)??[]:Oh(this.configurationService.getValue(Ix)),i=n?this.getAllConfiguredMatchers(bx):Oh(this.configurationService.getValue(bx));switch(y7(o,i,e)){case 1:return new Nt(d(2970,null));case 2:return new Nt(d(2971,null))}return!0}getAllConfiguredMatchers(e){let n=this.configurationService.inspect(e);return[n.applicationValue,n.userValue,n.userLocalValue,n.userRemoteValue,n.workspaceValue,n.workspaceFolderValue,n.memoryValue,n.policyValue].flatMap(o=>Oh(o)??[])}toIdentity(e){if(An(e,{config:!0})){let n=e.config;return n.type==="http"?{name:e.name,url:n.url}:{name:e.name,command:[n.command,...n.args??[]]}}return{name:e.name,url:e.configuration.remotes?.[0]?.url}}};jp=C([I(0,mt)],jp)});var gC,S7=y(()=>{Me();de();Q();ah();gC=class extends _{constructor(e){super();this._onDidChangeMcpGalleryManifest=this._register(new w);this.onDidChangeMcpGalleryManifest=this._onDidChangeMcpGalleryManifest.event;this._onDidChangeMcpGalleryManifestStatus=this._register(new w);this.onDidChangeMcpGalleryManifestStatus=this._onDidChangeMcpGalleryManifestStatus.event;this.barrier=new wr;e.registerChannel("mcpGalleryManifest",{listen:()=>W.None,call:async(n,o,i)=>{if(o==="setMcpGalleryManifest"){let s=Array.isArray(i)?i[0]:null;return Promise.resolve(this.setMcpGalleryManifest(s))}throw new Error("Invalid call")}})}get mcpGalleryManifestStatus(){return this._mcpGalleryManifest?"available":"unavailable"}async getMcpGalleryManifest(){return await this.barrier.wait(),this._mcpGalleryManifest??null}setMcpGalleryManifest(e){this._mcpGalleryManifest=e,this._onDidChangeMcpGalleryManifest.fire(e),this._onDidChangeMcpGalleryManifestStatus.fire(this.mcpGalleryManifestStatus),this.barrier.open()}}});var x7,fC,C7=y(()=>{x7="sandboxHelper",fC=class{constructor(t){this.service=t}listen(t,e){throw new Error("Invalid listen")}call(t,e,n,o){switch(e){case"checkSandboxDependencies":return this.service.checkSandboxDependencies();case"getWindowsMxcFilesystemPolicy":return this.service.getWindowsMxcFilesystemPolicy();case"getWindowsMxcEnvironment":return this.service.getWindowsMxcEnvironment();case"buildWindowsMxcSandboxPayload":{let{commandLine:i,policy:s,workingDirectory:a,containerName:l,containment:c}=n;return this.service.buildWindowsMxcSandboxPayload(i,s,a,l,c)}}throw new Error("Invalid call")}}});import{execFile as _J}from"child_process";import{readFile as MJ}from"fs/promises";var AJ,hC,E7=y(()=>{en();Ue();me();zT();Qm();AJ=[{distributionIds:["debian","ubuntu","linuxmint","pop","elementary","kali","raspbian"],commands:[["apt-get","apt-get update && apt-get install -y"],["apt","apt update && apt install -y"]]},{distributionIds:["fedora","rhel","centos","rocky","almalinux"],commands:[["dnf","dnf install -y"],["yum","yum install -y"]]},{distributionIds:["arch","manjaro","endeavouros"],commands:[["pacman","pacman -S --needed --noconfirm"]]},{distributionIds:["suse","opensuse","opensuse-leap","opensuse-tumbleweed"],commands:[["zypper","zypper --non-interactive install"]]},{distributionIds:["alpine"],commands:[["apk","apk add"]]}],hC=class r{static async checkSandboxDependenciesWith(t,e=qe,n=s=>r._probeBubblewrap(s),o=()=>r._resolveLinuxInstallEnvironment(),i=()=>r._resolveAppArmorRestriction()){if(!e)return;let[s,a]=await Promise.all([t("bwrap"),t("socat")]),l=s?await n(s):{usable:!1},[c,u]=await Promise.all([!s||!a?r._findDependencyInstallCommand(t,o):void 0,s&&!l.usable?i():void 0]);return{bubblewrapInstalled:!!s,bubblewrapUsable:l.usable,bubblewrapError:l.error,socatInstalled:!!a,dependencyInstallCommand:c,...u===void 0?void 0:{apparmorRestrictsUnprivilegedUserNamespaces:u}}}static async _resolveAppArmorRestriction(){let t=await MJ("/proc/sys/kernel/apparmor_restrict_unprivileged_userns","utf8").catch(()=>{});return t===void 0?void 0:t.trim()==="1"}static async _findDependencyInstallCommand(t,e){let n=await e(),o=AJ.find(s=>s.distributionIds.some(a=>n.distributionIds.includes(a)));if(!o)return;let i=n.isRoot?"":await t("sudo")?"sudo ":void 0;if(i!==void 0){for(let[s,a]of o.commands)if(await t(s))return a.split(" && ").map(l=>`${i}${l}`).join(" && ")}}static async _resolveLinuxInstallEnvironment(){let t=await _I(()=>{});return{distributionIds:[t?.id,...t?.id_like?.split(/\s+/)??[]].filter(e=>!!e),isRoot:process.getuid?.()===0}}checkSandboxDependencies(){return r.checkSandboxDependenciesWith(Kl)}static _probeBubblewrap(t){return new Promise(e=>{_J(t,["--unshare-net","--dev-bind","/","/","echo","ok"],{encoding:"utf8",timeout:5e3},(n,o,i)=>{if(!n&&o.trim()==="ok"){e({usable:!0});return}let s=i.trim()||n?.message||`Unexpected output: ${o.trim()}`;e({usable:!1,error:s.slice(0,1e3)})})})}async getWindowsMxcFilesystemPolicy(){if(!te)return;let{getAvailableToolsPolicy:t,getUserProfilePolicy:e,getTemporaryFilesPolicy:n}=await import("@microsoft/mxc-sdk"),o=t(process.env,{containerType:"processcontainer"}),i=e(),s=n(process.env),a=await this._getPSHome();return{readonlyPaths:[...new Set([...o.readonlyPaths,...i.readonlyPaths,...s.readonlyPaths,...a?[a]:[]])],readwritePaths:[...new Set([...o.readwritePaths,...i.readwritePaths,...s.readwritePaths])]}}async getWindowsMxcEnvironment(){if(!te)return;let t=[];for(let s of["SystemRoot","PATH","ComSpec","PATHEXT","PSModulePath"]){let a=Ps(process.env,s);typeof a=="string"&&a&&t.push(`${s}=${a}`)}let e=Ps(process.env,"USERPROFILE");typeof e=="string"&&e&&t.push(`USERPROFILE=${e}`);let n=Ps(process.env,"APPDATA");typeof n=="string"&&n&&t.push(`APPDATA=${n}`);let o=this._getLocalAppData();typeof o=="string"&&o&&t.push(`LOCALAPPDATA=${o}`);let i=await this._getPSHome();return i&&t.push(`PSHOME=${i}`),t}async buildWindowsMxcSandboxPayload(t,e,n,o,i="process"){if(!te)return;let{buildSandboxPayload:s}=await import("@microsoft/mxc-sdk");return s(t,e,n,o,i)}async _getPSHome(){let t=Ps(process.env,"PSHOME");if(typeof t=="string"&&t)return t;let e=await Kl("pwsh")??await Kl("powershell");return e?cn.dirname(e):void 0}_getLocalAppData(){let t=Ps(process.env,"LOCALAPPDATA");return typeof t=="string"&&t?t:void 0}}});import*as vC from"fs";import{hostname as LJ,release as OJ}from"os";async function w7(r,t,e,n){let o=new xa,i=new P1,s={_serviceBrand:void 0,...rt};o.set(Be,s);let a=new Yi(t,s);o.set(Pt,a),o.set(Xn,a);let l=new Su(Fm(a),a.logsHome);o.set(Oo,l),i.registerChannel("logger",new YI(l,N=>$c(N.remoteAuthority)));let c=l.createLogger("remoteagent",{name:d(3518,null)}),u=n.add(new bu(c,[new k1(Fm(a))]));o.set(K,u),setTimeout(()=>NJ(a.logsHome.with({scheme:$.file}).fsPath).then(null,N=>u.error(N)),1e4),n.add(u.onDidChangeLogLevel(N=>Z0(u,N,`Log level changed to ${UE(u.getLevel())}`))),u.trace(`Remote configuration data at ${e}`),u.trace("process arguments:",a.args),Array.isArray(s.serverGreeting)&&u.info(`

${s.serverGreeting.join(`
`)}

`),i.registerChannel(Fg.ChannelName,new Fg);let p=new dI(N=>N.clientId==="renderer"),m=n.add(new ji(u));o.set(Oe,m),m.registerProvider($.file,n.add(new Ji(u)));let g=new Ws(m);o.set(Je,g);let h=new _d(a.machineSettingsResource,m,new Aa,u);o.set(mt,h);let v=new Ya(g,a,m,u);o.set(Yt,v),i.registerChannel("userDataProfiles",new Rx(v,N=>$c(N.remoteAuthority))),o.set(aC,new at(Hp,void 0,!0));let[,,S,T,E]=await Promise.all([h.initialize(),v.init(),iN(u.error.bind(u)),sN(u.error.bind(u)),aN(u.error.bind(u))]),k=new HI;o.set(WI,k);let P=new Oa("remote",h,a,u);o.set(Yn,P);let U;try{await vC.promises.stat("/run/.containerenv"),U=!0}catch{}if(!U)try{U=(await vC.promises.readFile("/proc/self/cgroup","utf8")).includes("docker")}catch{}let xe=cL,V=pL(s,h);if(py(s,a)){!my(s,a)&&s.telemetryEndpoint&&(xe=new jx(P,V,UJ,null,()=>new Gx(s.telemetryEndpoint,S,U)),n.add(oe(()=>xe?.flush())));let N={appenders:[xe,new Wp("",!0,l,a,s)],commonProperties:rL(OJ(),LJ(),process.arch,s.commit,s.version+"-remote",S,T,E,V,s.date,"remoteAgent"),piiPaths:mL(a)},H=a.args["telemetry-level"],B=3;H==="all"?B=3:H==="error"?B=2:H==="crash"?B=1:H!==void 0&&(B=0),o.set(cb,new at(Nu,[N,B]))}else o.set(cb,$N);o.set(Gi,new Gp(i,u,s)),o.set(vx,new gC(i)),o.set(co,new at(Fa));let ae=i.getChannel("download",p);o.set(Jd,new KI(ae,()=>$c("renderer"))),o.set(pr,new at(Xa)),o.set(Fs,new at(Qa)),o.set(iu,new at(Ha)),o.set(Dr,new at(Za)),o.set(Sg,new at(Wa)),o.set(lC,new at(cC)),o.set(dC,new at(qp));let j=new au(o);o.set(vu,j.createInstance(ja));let z=j.createInstance(Up,{graceTime:a.reconnectionGraceTime,shortGraceTime:a.reconnectionGraceTime>0?Math.min(3e5,a.reconnectionGraceTime):0,scrollback:h.getValue("terminal.integrated.persistentSessionScrollback")??100}),ee=j.createInstance(Ou,z);o.set(hN,ee);let Ce=j.createInstance(Tu,{enableAutoShutdown:!!t["enable-remote-auto-shutdown"],shutdownWithoutDelay:!!t["remote-auto-shutdown-without-delay"]},process.exit);o.set(Ru,Ce);let Bt=t["agent-host-port"],Xt=t["agent-host-path"];if(!!(Bt||Xt)){let N=j.createInstance(Wc);N.setWebSocketConfig({port:Bt,socketPath:Xt,host:t.host||"localhost",connectionToken:r.type===2?r.value:void 0}),n.add(j.createInstance(Bc,N,{}));let H=Bt?parseInt(Bt,10):NaN,B=Number.isFinite(H)&&H>0,Y=t["agent-host-bridge-port"]??(B?Bt:void 0),ue=t["agent-host-bridge-path"]??Xt,Ie=t["agent-host-bridge-host"]??t.host??"localhost",ht=t["agent-host-bridge-connection-token"]??((Y||ue)&&r.type===2?r.value:void 0);if(Y||ue){let je=n.add(new Vp(i,{host:Ie,port:Y,socketPath:ue,connectionToken:ht},u));i.registerChannel("agentHostProxy",je),u.info(`[AgentHostChannel] Registered IPC channel 'agentHostProxy' (upstream: ${ue??`${Ie}:${Y}`})`)}else i.registerChannel("agentHostProxy",new Fp),u.info("[AgentHostChannel] Registered unavailable IPC channel 'agentHostProxy': no --agent-host-bridge-port / --agent-host-bridge-path set.")}else if(t["agent-host-bridge-port"]||t["agent-host-bridge-path"]||t["agent-host-bridge-host"]||t["agent-host-bridge-connection-token"]){let N=t["agent-host-bridge-port"],H=t["agent-host-bridge-path"],B=t["agent-host-bridge-host"]??t.host??"localhost",Y=t["agent-host-bridge-connection-token"];if(N||H){let ue=n.add(new Vp(i,{host:B,port:N,socketPath:H,connectionToken:Y},u));i.registerChannel("agentHostProxy",ue),u.info(`[AgentHostChannel] Registered IPC channel 'agentHostProxy' (upstream: ${H??`${B}:${N}`})`)}else i.registerChannel("agentHostProxy",new Fp),u.info("[AgentHostChannel] Registered unavailable IPC channel 'agentHostProxy': no --agent-host-bridge-port / --agent-host-bridge-path set.")}else try{let N=tl(),H=ye();n.add(oe(()=>{process.platform!=="win32"&&vC.promises.unlink(N).catch(()=>{})}));let B=j.createInstance(Wc);B.setWebSocketConfig({socketPath:N,connectionToken:H});let Y=n.add(j.createInstance(Bc,B,{startMode:"lazy"})),ue=n.add(new Vp(i,async()=>(await Y.ensureStarted(),{socketPath:N,connectionToken:H}),u));i.registerChannel("agentHostProxy",ue),u.info(`[AgentHostChannel] Registered lazy IPC channel 'agentHostProxy' (upstream: ${N})`)}catch(N){i.registerChannel("agentHostProxy",new Fp),u.error("[AgentHostChannel] Failed to register IPC channel 'agentHostProxy'",N)}return o.set(Zo,new at(jp)),o.set(as,new at(Mc)),o.set(aa,new at(Kp)),o.set(lh,new at(pC)),j.invokeFunction(N=>{let H=N.get(lh),B=N.get(Sg),Y=N.get(Fs),ue=N.get(co),Ie=N.get(vu),ht=new rb(r,a,v,k,u);i.registerChannel("remoteextensionsenvironment",ht);let je=new lb(N.get(cb),xe);i.registerChannel("telemetry",je),i.registerChannel(x7,new fC(new hC)),i.registerChannel(ZW,new qx(a,u,ee,s,B,h));let dt=new Qx(j.createInstance(Ka,s.extensionsForceVersionByQuality??[],u),a,v,Y,u,ue,Ie,B);i.registerChannel(p5,new Jx(dt,Dn=>$c(Dn.remoteAuthority))),i.registerChannel(r7,j.createInstance(Bp,Dn=>$c(Dn.remoteAuthority))),i.registerChannel(a7,j.createInstance(zp,i));let kt=n.add(new ab(u,a,h));i.registerChannel(n5,kt),i.registerChannel("request",new JI(N.get(Yn)));let Mt=new QI(B,Dn=>$c(Dn.remoteAuthority));i.registerChannel("extensions",Mt),i.registerChannel("mcpManagement",new Tx(H,Dn=>$c(Dn.remoteAuthority)));let kn=_r.fromService(N.get(vu),n);return i.registerChannel("languagePacks",kn),dt.whenExtensionsReady().then(()=>B.cleanUp()),n.add(new $g(N.get(Ct))),{telemetryService:N.get(Ct)}}),{socketServer:i,instantiationService:j}}function $c(r){return T1[r]||(T1[r]=zs(r)),T1[r]}function ps(){let r=new Date;return`${R1(r.getHours())}:${R1(r.getMinutes())}:${R1(r.getSeconds())}`}function R1(r){return r<10?`0${r}`:String(r)}async function NJ(r){let t=vt(r),e=At(r);if(!await ke.exists(e))return;let i=(await ke.readdir(e)).filter(a=>/^\d{8}T\d{6}$/.test(a)).sort().filter(a=>a!==t),s=i.slice(0,Math.max(0,i.length-9));await Promise.all(s.map(a=>ke.rm(G(e,a))))}var UJ,T1,P1,k1,T7=y(()=>{de();Q();Ne();Ue();Jt();pR();Ao();Hs();za();Cu();tn();iw();lN();Fy();cN();Nn();$w();Co();qy();_T();pN();cT();it();fT();Rg();Vm();uT();Pv();xI();MT();Pe();ks();Fn();yi();mN();vw();Sw();Rn();Zr();fN();ol();AN();wo();AT();FN();HN();WN();qN();jW();Gg();Ng();cc();e5();o5();oR();ru();OT();tc();No();r5();kd();l5();HT();NT();FT();VT();XI();le();u5();m5();FD();g5();Y5();Z5();e7();_h();GI();v1();BT();o7();y1();i7();s7();I1();u7();p7();Yl();m7();gl();g7();h7();dh();ND();b7();ah();S7();C7();E7();UJ="monacoworkbench";T1=Object.create(null);P1=class extends Tg{constructor(){let t=new w;super(t.event),this._onDidConnectEmitter=t}acceptConnection(t,e){this._onDidConnectEmitter.fire({protocol:t,onDidClientDisconnect:e})}},k1=class extends Wl{constructor(t=Nm){super(),this.setLevel(t),this.useColors=!!process.stdout.isTTY}trace(t,...e){this.canLog(1)&&(this.useColors?console.log(`\x1B[90m[${ps()}]\x1B[0m`,t,...e):console.log(`[${ps()}]`,t,...e))}debug(t,...e){this.canLog(2)&&(this.useColors?console.log(`\x1B[90m[${ps()}]\x1B[0m`,t,...e):console.log(`[${ps()}]`,t,...e))}info(t,...e){this.canLog(3)&&(this.useColors?console.log(`\x1B[90m[${ps()}]\x1B[0m`,t,...e):console.log(`[${ps()}]`,t,...e))}warn(t,...e){this.canLog(4)&&(this.useColors?console.warn(`\x1B[93m[${ps()}]\x1B[0m`,t,...e):console.warn(`[${ps()}]`,t,...e))}error(t,...e){this.canLog(5)&&(this.useColors?console.error(`\x1B[91m[${ps()}]\x1B[0m`,t,...e):console.error(`[${ps()}]`,t,...e))}flush(){}}});import{createReadStream as FJ,promises as Uh}from"fs";import*as Nh from"cookie";import*as k7 from"crypto";async function tr(r,t,e,n){t.writeHead(e,{"Content-Type":"text/plain"}),t.end(n)}async function M1(r,t,e,n,o,i){try{let s=await Uh.stat(r);if(t===1){let l=`W/"${[s.ino,s.size,s.mtime.getTime()].join("-")}"`;if(i.Etag=l,n.headers["if-none-match"]===l)return o.writeHead(304,i),void o.end()}else t===2?i["Cache-Control"]="public, max-age=31536000":t===0&&(i["Cache-Control"]="no-store");i["Content-Type"]=VJ[ui(r)]||PR(r)||"text/plain";let a=FJ(r);await new Promise((l,c)=>{a.on("error",c),a.on("open",()=>{o.writeHead(200,i),a.pipe(o),o.once("close",()=>a.destroy()),a.on("end",l),a.removeAllListeners("error"),a.on("error",u=>{e.error(u),console.error(u.toString()),o.destroy()})})})}catch(s){return s.code!=="ENOENT"?(e.error(s),console.error(s.toString())):console.error(`File not found: ${r}`),o.writeHead(404,{"Content-Type":"text/plain"}),void o.end("Not found")}}var VJ,D1,yC,R7,_1,Qp,D7,HJ,WJ,P7,_7=y(()=>{Ni();dc();me();Pe();cc();Ue();Ne();Jt();Fn();Ng();yi();jt();ie();ze();Ee();RI();Kr();v1();VJ={".html":"text/html",".js":"text/javascript",".json":"application/json",".css":"text/css",".svg":"image/svg+xml"};D1=At(Tt.asFileUri("").fsPath),yC="/static",R7="/callback",_1="/web-extension-resource",Qp=class{constructor(t,e,n,o,i,s,a,l){this._connectionToken=t;this._basePath=e;this._productPath=n;this._environmentService=o;this._logService=i;this._requestService=s;this._productService=a;this._cssDevService=l;this._webExtensionResourceUrlTemplate=this._productService.extensionsGallery?.resourceUrlTemplate?b.parse(this._productService.extensionsGallery.resourceUrlTemplate):void 0}async handle(t,e,n,o){try{return o.startsWith(yC)&&o.charCodeAt(yC.length)===47?this._handleStatic(t,e,o.substring(yC.length)):o==="/"?this._handleRoot(t,e,n):o===R7?this._handleCallback(e):o.startsWith(_1)&&o.charCodeAt(_1.length)===47?this._handleWebExtensionResource(t,e,o.substring(_1.length)):tr(t,e,404,"Not found.")}catch(i){return this._logService.error(i),console.error(i.toString()),tr(t,e,500,"Internal Server Error.")}}async _handleStatic(t,e,n){let o=Object.create(null),i=decodeURIComponent(n),s=G(D1,i);return lr(s,D1,!qe)?M1(s,this._environmentService.isBuilt?2:1,this._logService,t,e,o):tr(t,e,400,"Bad request.")}_getResourceURLTemplateAuthority(t){let e=t.authority.indexOf(".");return e!==-1?t.authority.substring(e+1):void 0}async _handleWebExtensionResource(t,e,n){if(!this._webExtensionResourceUrlTemplate)return tr(t,e,500,"No extension gallery service configured.");let o=decodeURIComponent(n),i=wn(o),s=b.parse(i).with({scheme:this._webExtensionResourceUrlTemplate.scheme,authority:i.substring(0,i.indexOf("/")),path:i.substring(i.indexOf("/")+1)});if(this._getResourceURLTemplateAuthority(this._webExtensionResourceUrlTemplate)!==this._getResourceURLTemplateAuthority(s))return tr(t,e,403,"Request Forbidden");let a={},l=h=>{let v=t.headers[h];v&&(Z(v)||v[0])?a[h]=Z(v)?v:v[0]:h!==h.toLowerCase()&&l(h.toLowerCase())};l("X-Client-Name"),l("X-Client-Version"),l("X-Machine-Id"),l("X-Client-Commit");let c=await this._requestService.request({type:"GET",url:s.toString(!0),headers:a,callSite:"webClientServer.fetchAndWriteFile"},we.None),u=c.res.statusCode||500;if(u!==200){let h=null;try{h=await Bi(c)}catch{}return tr(t,e,u,h||`Request failed with status ${u}`)}let p=Object.create(null),m=h=>{let v=c.res.headers[h];v?p[h]=v:h!==h.toLowerCase()&&m(h.toLowerCase())};m("Cache-Control"),m("Content-Type"),e.writeHead(200,p);let g=await cr(c.stream);e.end(g.buffer)}async _handleRoot(t,e,n){let o=H=>{let B=t.headers[H];return Array.isArray(B)?B[0]:B},i=HJ(P7(t)),s=WJ(P7(t)),a=s||o("x-forwarded-prefix")||this._basePath,l=n.searchParams.getAll(Fi);if(l.length===1){let H=l[0],B=Object.create(null);B["Set-Cookie"]=Nh.serialize(ym,H,{sameSite:"lax",maxAge:3600*24*7});let Y=new URLSearchParams(n.searchParams);Y.delete(Fi);let ue=Y.toString(),Ie=ue?`${a}?${ue}`:a;return B.Location=Ie,e.writeHead(302,B),void e.end()}let c=(H,B)=>{let Y=H?.indexOf(":");return Y!==-1&&(H=H?.substring(0,Y)),H+=`:${B}`,H},u=!this._environmentService.isBuilt&&this._environmentService.args["use-test-resolver"],p=u?"test+test":"remote";if(!p)return tr(t,e,400,"Bad request.");let m=o("x-forwarded-port");m&&(p=c(p,m));function g(H){return JSON.stringify(H).replace(/"/g,"&quot;")}let h;this._environmentService.args["enable-smoke-test-driver"]&&(h=!1),this._logService.getLevel()===1&&(["x-original-host","x-forwarded-host","x-forwarded-port","host"].forEach(H=>{let B=o(H);B&&this._logService.trace(`[WebClientServer] ${H}: ${B}`)}),this._logService.trace(`[WebClientServer] Request URL: ${t.url}, basePath: ${a}, remoteAuthority: ${p}`));let v=He.join(a,this._productPath,yC),S=He.join(a,this._productPath,R7),T=H=>H&&b.file(io(H)).with({scheme:$.vscodeRemote,authority:p}),E=Tt.asFileUri(`vs/code/browser/workbench/workbench${this._environmentService.isBuilt?"":"-dev"}.html`).fsPath,k=!this._environmentService.isBuilt&&this._environmentService.args["github-auth"]?{id:ye(),providerId:"github",accessToken:this._environmentService.args["github-auth"],scopes:[["user:email"],["repo"]]}:void 0,P=[];this._environmentService.args["link-protection-trusted-domains"]&&P.push(...this._environmentService.args["link-protection-trusted-domains"]),this._productService.linkProtectionTrustedDomains&&P.push(...this._productService.linkProtectionTrustedDomains);let U=this._environmentService.args["app-name"],xe={codeServerVersion:this._productService.codeServerVersion,nameShort:U,nameLong:U,rootEndpoint:i,updateEndpoint:this._environmentService.args["disable-update-check"]?void 0:i+"/update/check",logoutEndpoint:this._environmentService.args.auth&&this._environmentService.args.auth!=="none"?i+"/logout":void 0,proxyEndpointTemplate:process.env.VSCODE_PROXY_URI??i+"/proxy/{{port}}/",serviceWorker:{scope:s+"/",path:i+"/_static/out/browser/serviceWorker.js"},enableTelemetry:this._productService.enableTelemetry,telemetryEndpoint:this._productService.telemetryEndpoint,embedderIdentifier:"server-distro",voiceWsUrl:this._productService.voiceWsUrl,extensionsGallery:this._productService.extensionsGallery,linkProtectionTrustedDomains:P};if(!this._environmentService.isBuilt)try{let H=JSON.parse((await Uh.readFile(G(D1,"product.overrides.json"))).toString());Object.assign(xe,H)}catch{}let V={remoteAuthority:p,serverBasePath:a,webviewEndpoint:v+"/out/vs/workbench/contrib/webview/browser/pre",userDataPath:this._environmentService.userDataPath,isEnabledFileDownloads:!this._environmentService.args["disable-file-downloads"],isEnabledFileUploads:!this._environmentService.args["disable-file-uploads"],isEnabledCoderGettingStarted:!this._environmentService.args["disable-getting-started-override"],_wrapWebWorkerExtHostInIframe:h,developmentOptions:{enableSmokeTestDriver:this._environmentService.args["enable-smoke-test-driver"]?!0:void 0,logLevel:this._logService.getLevel()},settingsSyncOptions:!this._environmentService.isBuilt&&this._environmentService.args["enable-sync"]?{enabled:!0}:void 0,enableWorkspaceTrust:!this._environmentService.args["disable-workspace-trust"],enabledExtensionProposedApi:this._environmentService.args["enable-proposed-api"],folderUri:T(this._environmentService.args["default-folder"]),workspaceUri:T(this._environmentService.args["default-workspace"]),productConfiguration:xe,callbackRoute:S},ae=Nh.parse(t.headers.cookie||""),j=this._environmentService.args.locale||await CU(this._environmentService.argvResource.fsPath)||ae["vscode.nls.locale"]||t.headers["accept-language"]?.split(",")[0]?.toLowerCase()||"en",z,ee;if(!j.startsWith("en")&&this._productService.nlsCoreBaseUrl)z=this._productService.nlsCoreBaseUrl,ee=`${z}${this._productService.commit}/${this._productService.version}/${j}/nls.messages.js`;else try{let H=await EU(j,this._environmentService.userDataPath);ee=H?`${s}/vscode-remote-resource?path=${encodeURIComponent(H)}`:""}catch(H){console.error("Failed to generate translations",H),ee=""}let Ce={WORKBENCH_WEB_CONFIGURATION:g(V),WORKBENCH_AUTH_SESSION:k?g(k):"",WORKBENCH_WEB_BASE_URL:v,WORKBENCH_NLS_URL:ee,WORKBENCH_NLS_FALLBACK_URL:`${v}/out/nls.messages.js`,BASE:i,VS_BASE:a};if(this._cssDevService.isEnabled){let H=await this._cssDevService.getCssModules();Ce.WORKBENCH_DEV_CSS_MODULES=JSON.stringify(H)}if(u){let H=[];for(let B of["vscode-test-resolver","github-authentication"]){let Y=JSON.parse((await Uh.readFile(Tt.asFileUri(`${m0}/${B}/package.json`).fsPath)).toString());H.push({extensionPath:B,packageJSON:Y})}Ce.WORKBENCH_BUILTIN_EXTENSIONS=g(H)}let Bt;try{Bt=(await Uh.readFile(E)).toString().replace(/\{\{([^}]+)\}\}/g,(B,Y)=>Ce[Y]??"undefined")}catch{return e.writeHead(404,{"Content-Type":"text/plain"}),void e.end("Not found")}let N={"Content-Type":"text/html","Content-Security-Policy":["default-src 'self';","img-src 'self' https: data: blob:;","media-src 'self';",`script-src 'self' 'unsafe-eval' ${z??""} blob: 'nonce-1nline-m4p' ${this._getScriptCspHashes(Bt).join(" ")} 'sha256-daEgfo2VIXpx2Np71KqCCbkeQwv+68vPrx54XRcbdcs=' 'sha256-/r7rqQ+yrxt57sxLuQ6AMYcy/lUpvAIzHjIJt/OeLWU=' ;`,"child-src 'self';","frame-src 'self' https://*.vscode-cdn.net data:;","worker-src 'self' data: blob:;","style-src 'self' 'unsafe-inline';","connect-src 'self' ws: wss: https:;","font-src 'self' blob:;","manifest-src 'self';"].join(" ")};return this._connectionToken.type!==0&&(N["Set-Cookie"]=Nh.serialize(ym,this._connectionToken.value,{sameSite:"lax",maxAge:3600*24*7})),e.writeHead(200,N),void e.end(Bt)}_getScriptCspHashes(t){let e=/<script>([\s\S]+?)<\/script>/img,n=[],o;for(;o=e.exec(t);){let i=k7.createHash("sha256"),s=o[1].replace(/\r\n/g,`
`),a=i.update(Buffer.from(s)).digest().toString("base64");n.push(`'sha256-${a}'`)}return n}async _handleCallback(t){let e=Tt.asFileUri("vs/code/browser/workbench/callback.html").fsPath,n=(await Uh.readFile(e)).toString(),o=["default-src 'self';","img-src 'self' https: data: blob:;","media-src 'none';",`script-src 'self' ${this._getScriptCspHashes(n).join(" ")};`,"style-src 'self' 'unsafe-inline';","font-src 'self' blob:;"].join(" ");return t.writeHead(200,{"Content-Type":"text/html","Content-Security-Policy":o}),void t.end(n)}};Qp=C([I(3,Ga),I(4,K),I(5,Yn),I(6,Be),I(7,aC)],Qp);D7=(r,t=!1)=>r.replace(/\/\/+/g,"/").replace(/\/+$/,t?"/":""),HJ=r=>{let t=(r.split("?",1)[0].match(/\//g)||[]).length;return D7("./"+(t>1?"../".repeat(t-1):""))},WJ=r=>{let t=r.split("?",1)[0].split("/");return D7("./"+t[t.length-1])},P7=r=>r.originalUrl||r.url});import*as Fh from"fs";import*as A7 from"net";import{createRequire as BJ}from"node:module";import{performance as $J}from"perf_hooks";function M7(r){try{return r.startsWith("/")?new URL(`http://localhost${r}`):new URL(r)}catch{return}}function zJ(){return{"Content-Security-Policy":"default-src 'none'; sandbox","X-Content-Type-Options":"nosniff"}}async function L7(r,t,e){let n=await tN(t);n instanceof qs&&(console.warn(n.message),process.exit(1));function o(E){rv(k=>{iv(k)&&k.stack&&/unexpectedErrorHandler/.test(k.stack)||E(k)})}let i=[];o(E=>{i.push(E),console.error(E)});let s=!1;process.on("SIGPIPE",()=>{s||(s=!0,tt(new Error("Unexpected SIGPIPE")))});let a=new re,{socketServer:l,instantiationService:c}=await w7(n,t,e,a);c.invokeFunction(E=>{let k=E.get(K);i.forEach(P=>k.error(P)),i.length=0,o(P=>k.error(P))}),c.invokeFunction(E=>{let k=E.get(mt);te&&(k.getValue("security.restrictUNCAccess")===!1?DI():Ag(k.getValue("security.allowedUNCHosts")))}),c.invokeFunction(E=>{let k=E.get(K);if(te&&process.env.HOMEDRIVE&&process.env.HOMEPATH){let P=G(process.env.HOMEDRIVE,"node_modules"),U=At(G(process.env.HOMEDRIVE,process.env.HOMEPATH)),xe=G(U,"node_modules");if(Fh.existsSync(P)||Fh.existsSync(xe)){let V=`

*
* !!!! Server terminated due to presence of CVE-2020-1416 !!!!
*
* Please remove the following directories and re-try
* ${P}
* ${xe}
*
* For more information on the vulnerability https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-1416
*

`;k.warn(V),console.warn(V),process.exit(0)}}});let u=c.invokeFunction(E=>{let k=E.get(K);if(Fh.existsSync(G(Tt.asFileUri("").fsPath,"../node_modules/vsda")))try{return qJ("vsda")}catch(U){k.error(U)}return null}),p=t["server-base-path"];p&&!p.startsWith("/")&&(p=`/${p}`);let m=Fh.existsSync(Tt.asFileUri("vs/code/browser/workbench/workbench.html").fsPath);if(m&&r&&typeof r!="string"){let E=n.type!==0?`?${Fi}=${n.value}`:"";console.log(`Web UI available at http://localhost${r.port===80?"":`:${r.port}`}${p??""}${E}`)}let g=c.createInstance(Vh,l,n,u,m,p);Vt("code/server/ready");let h=$J.now(),v=global.vscodeServerStartTime,S=global.vscodeServerListenTime,T=global.vscodeServerCodeLoadedTime;if(c.invokeFunction(async E=>{let k=E.get(Ct);if(k.publicLog2("serverStart",{startTime:v,startedTime:S,codeLoadedTime:T,readyTime:h}),qe){let P=E.get(K),U=await _I(P.error.bind(P));U&&k.publicLog2("serverPlatformInfo",{platformId:U.id,platformVersionId:U.version_id,platformIdLike:U.id_like})}}),t["print-startup-performance"]){let E="";E+=`Start-up time: ${S-v}
`,E+=`Code loading time: ${T-v}
`,E+=`Initialized time: ${h-v}
`,E+=`
`,console.log(E)}return g}var qJ,Vh,A1,O7=y(()=>{ze();Kr();Se();Ni();Q();Ne();Ue();Wr();me();Ot();ie();Jt();zT();NU();WT();za();Cu();tn();X();Pe();Fn();QU();Rn();aR();ZU();Ng();cc();GI();T7();_7();qJ=BJ(import.meta.url);Vh=class extends _{constructor(e,n,o,i,s,a,l,c,u,p){super();this._socketServer=e;this._connectionToken=n;this._vsdaMod=o;this._environmentService=a;this._productService=l;this._logService=c;this._instantiationService=u;this._serverLifetimeService=p;this._extHostLifetimeTokens=this._register(new ar);this._webEndpointOriginChecker=A1.create(this._productService),s!==void 0&&s.charCodeAt(s.length-1)===47&&(s=s.substring(0,s.length-1)),this._serverBasePath=s,this._serverProductPath=`/${pE(l)}`,this._extHostConnections=Object.create(null),this._managementConnections=Object.create(null),this._allReconnectionTokens=new Set,this._webClientServer=i?this._instantiationService.createInstance(Qp,this._connectionToken,s??"/",this._serverProductPath):null,this._logService.info("Extension host agent started."),this._reconnectionGraceTime=this._environmentService.reconnectionGraceTime}async handleRequest(e,n){if(e.method!=="GET")return tr(e,n,405,`Unsupported method ${e.method}`);if(!e.url)return tr(e,n,400,"Bad request.");let o=M7(e.url);if(!o)return tr(e,n,400,"Bad request.");let i=o.pathname;if(!i)return tr(e,n,400,"Bad request.");if(this._serverBasePath!==void 0&&i.startsWith(this._serverBasePath)&&(i=i.substring(this._serverBasePath.length)||"/"),i.startsWith(this._serverProductPath)&&i.charCodeAt(this._serverProductPath.length)===47&&(i=i.substring(this._serverProductPath.length)),i==="/version")return n.writeHead(200,{"Content-Type":"text/plain"}),void n.end(this._productService.commit||"");if(i==="/delay-shutdown")return this._serverLifetimeService.delay(),n.writeHead(200),void n.end("OK");if(!nN(this._connectionToken,e,o.searchParams))return tr(e,n,403,"Forbidden.");if(i==="/vscode-remote-resource"){let s=o.searchParams.getAll("path");if(s.length!==1)return tr(e,n,400,"Bad request.");let a=s[0],l;try{l=b.from({scheme:$.file,path:a}).fsPath}catch{return tr(e,n,400,"Bad request.")}let c=zJ();this._environmentService.isBuilt&&(lr(l,this._environmentService.builtinExtensionsPath,!qe)||lr(l,this._environmentService.extensionsPath,!qe))&&(c["Cache-Control"]="public, max-age=31536000"),c.Vary="Origin";let u=e.headers.origin;return u&&this._webEndpointOriginChecker.matches(u)&&(c["Access-Control-Allow-Origin"]=u),M1(l,1,this._logService,e,n,c)}if(this._webClientServer){this._webClientServer.handle(e,n,o,i);return}return n.writeHead(404,{"Content-Type":"text/plain"}),void n.end("Not found")}handleUpgrade(e,n){let o=ye(),i=!1,s=!1;if(e.url){let l=M7(e.url);if(!l){this._logService.warn("WebSocket connection rejected: invalid request URL"),n.end(`HTTP/1.1 400 Bad Request\r
Connection: close\r
\r
`);return}let c=l.searchParams,u=c.getAll("reconnectionToken");u.length===1&&(o=u[0]),c.getAll("reconnection").length===1&&c.get("reconnection")==="true"&&(i=!0),c.getAll("skipWebSocketFrames").length===1&&c.get("skipWebSocketFrames")==="true"&&(s=!0)}let a=GU(e,n,{debugLabel:`server-connection-${o}`,skipWebSocketFrames:s,disableWebSocketCompression:this._environmentService.args["disable-websocket-compression"]});a&&this._handleWebSocketConnection(a,i,o)}handleServerError(e){this._logService.error("Error occurred in server"),this._logService.error(e)}_getRemoteAddress(e){let n;return e instanceof Bs?n=e.socket:n=e.socket.socket,n.remoteAddress||"<unknown>"}async _rejectWebSocketConnection(e,n,o){let i=n.getSocket();this._logService.error(`${e} ${o}.`);let s={type:"error",reason:o};n.sendControl(L.fromString(JSON.stringify(s))),n.dispose(),await i.drain(),i.dispose()}_handleWebSocketConnection(e,n,o){let i=this._getRemoteAddress(e),s=`[${i}][${o.substr(0,8)}]`,a=new kg({socket:e}),l=this._vsdaMod?new this._vsdaMod.validator:null,c=this._vsdaMod?new this._vsdaMod.signer:null,u;(E=>(E[E.WaitingForAuth=0]="WaitingForAuth",E[E.WaitingForConnectionType=1]="WaitingForConnectionType",E[E.Done=2]="Done",E[E.Error=3]="Error"))(u||={});let p=0,m=h=>{p=3,g.dispose(),this._rejectWebSocketConnection(s,a,h)},g=a.onControlMessage(h=>{if(p===0){let v;try{v=JSON.parse(h.toString())}catch{return m("Malformed first message")}if(v.type!=="auth")return m("Invalid first message");if(this._connectionToken.type===2&&!this._connectionToken.validate(v.auth))return m("Unauthorized client refused: auth mismatch");let S=ye();if(c)try{S=c.sign(v.data)}catch{}let T=ye();if(l)try{T=l.createNewMessage(T)}catch{}let E={type:"sign",data:T,signedData:S};a.sendControl(L.fromString(JSON.stringify(E))),p=1}else if(p===1){let v;try{v=JSON.parse(h.toString())}catch{return m("Malformed second message")}if(v.type!=="connectionType")return m("Invalid second message");if(typeof v.signedData!="string")return m("Invalid second message field type");let S=v.commit,T=this._productService.commit;if(S&&T&&S!==T)return m("Client refused: version mismatch");let E=!1;if(!l)E=!0;else if(this._connectionToken.validate(v.signedData))E=!0;else try{E=l.validate(v.signedData)==="ok"}catch{}if(!E){if(this._environmentService.isBuilt)return m("Unauthorized client refused");this._logService.error(`${s} Unauthorized client handshake failed but we proceed because of dev mode.`)}for(let k in this._managementConnections)this._managementConnections[k].shortenReconnectionGraceTimeIfNecessary();for(let k in this._extHostConnections)this._extHostConnections[k].shortenReconnectionGraceTimeIfNecessary();p=2,g.dispose(),this._handleConnectionType(i,s,a,e,n,o,v)}})}async _handleConnectionType(e,n,o,i,s,a,l){let c=l.desiredConnectionType===1?`${n}[ManagementConnection]`:l.desiredConnectionType===2?`${n}[ExtensionHostConnection]`:n;if(l.desiredConnectionType===1)if(i instanceof $s&&i.setRecordInflateBytes(!1),s){if(!this._managementConnections[a])return this._allReconnectionTokens.has(a)?this._rejectWebSocketConnection(c,o,"Unknown reconnection token (seen before)"):this._rejectWebSocketConnection(c,o,"Unknown reconnection token (never seen)");o.sendControl(L.fromString(JSON.stringify({type:"ok"})));let u=o.readEntireBuffer();o.dispose(),this._managementConnections[a].acceptReconnection(e,i,u)}else{if(this._managementConnections[a])return this._rejectWebSocketConnection(c,o,"Duplicate reconnection token");o.sendControl(L.fromString(JSON.stringify({type:"ok"})));let u=new qI(this._logService,a,e,o,this._reconnectionGraceTime);this._socketServer.acceptConnection(u.protocol,u.onClose),this._managementConnections[a]=u,this._allReconnectionTokens.add(a),u.onClose(()=>{delete this._managementConnections[a]})}else if(l.desiredConnectionType===2){let u=l.args||{language:"en"},p=await this._updateWithFreeDebugPort(u);if(p.port&&this._logService.trace(`${c} - startParams debug port ${p.port}`),this._logService.trace(`${c} - startParams language: ${p.language}`),this._logService.trace(`${c} - startParams env: ${JSON.stringify(p.env)}`),s){if(!this._extHostConnections[a])return this._allReconnectionTokens.has(a)?this._rejectWebSocketConnection(c,o,"Unknown reconnection token (seen before)"):this._rejectWebSocketConnection(c,o,"Unknown reconnection token (never seen)");o.sendPause(),o.sendControl(L.fromString(JSON.stringify(p.port?{debugPort:p.port}:{})));let m=o.readEntireBuffer();o.dispose(),this._extHostConnections[a].acceptReconnection(e,i,m)}else{if(this._extHostConnections[a])return this._rejectWebSocketConnection(c,o,"Duplicate reconnection token");o.sendPause(),o.sendControl(L.fromString(JSON.stringify(p.port?{debugPort:p.port}:{})));let m=o.readEntireBuffer();o.dispose();let g=this._instantiationService.createInstance(wu,a,e,i,m);this._extHostConnections[a]=g,this._allReconnectionTokens.add(a),this._extHostLifetimeTokens.set(a,this._serverLifetimeService.active(`ExtensionHost:${a.substring(0,8)}`)),g.onClose(()=>{g.dispose(),delete this._extHostConnections[a],this._extHostLifetimeTokens.deleteAndDispose(a)}),g.start(p).catch(h=>{this._logService.error(`${c} Failed to start extension host connection:`,h)})}}else if(l.desiredConnectionType===3){i instanceof $s&&i.setRecordInflateBytes(!1);let u=l.args;this._createTunnel(o,u)}else return this._rejectWebSocketConnection(c,o,"Unknown initial data received")}async _createTunnel(e,n){let o;try{o=await this._connectTunnelSocket(n.host,n.port)}catch(c){this._logService.error(`[remote-connection] Failed to connect tunnel to ${n.host}:${n.port}:`,c);let p={type:"error",reason:c instanceof Error?c.message:String(c)};e.sendControl(L.fromString(JSON.stringify(p)));let m=e.getSocket();e.dispose(),await m.drain(),m.dispose();return}let i={type:"ok"};e.sendControl(L.fromString(JSON.stringify(i)));let s=e.getSocket(),a=s.socket,l=e.readEntireBuffer();e.dispose(),s.dispose(!1),l.byteLength>0&&o.write(l.buffer),o.on("end",()=>a.end()),o.on("close",()=>a.end()),o.on("error",()=>a.destroy()),a.on("end",()=>o.end()),a.on("close",()=>o.end()),a.on("error",()=>o.destroy()),o.pipe(a),a.pipe(o)}_connectTunnelSocket(e,n){return new Promise((o,i)=>{let s=A7.createConnection({host:e,port:n,autoSelectFamily:!0},()=>{s.removeListener("error",i),s.pause(),o(s)});s.once("error",i)})}_updateWithFreeDebugPort(e){return typeof e.port=="number"?UU(e.port,10,5e3).then(n=>(e.port=n,e)):(e.debugId=void 0,e.port=void 0,e.break=void 0,Promise.resolve(e))}};Vh=C([I(5,Ga),I(6,Be),I(7,K),I(8,Tn),I(9,Ru)],Vh);A1=class r{constructor(t){this._originRegExp=t}static create(t){let e=t.webEndpointUrlTemplate,n=t.commit,o=t.quality;if(!e||!n||!o)return new r(null);let i=ye(),a=new URL(e.replace("{{uuid}}",i).replace("{{commit}}",n).replace("{{quality}}",o)).origin,l=Mo(a).replace(i,"[a-zA-Z0-9\\-]+");try{let c=XM(`^${l}$`,!0,{matchCase:!1});return new r(c)}catch{return new r(null)}}matches(t){return this._originRegExp?this._originRegExp.test(t):!1}}});var V7={};J7(V7,{createServer:()=>QJ,spawnCli:()=>jJ});import*as U7 from"os";import*as IC from"fs";import{performance as GJ}from"perf_hooks";function N7(){return cy(process.argv.slice(2),DT,KJ)}function F7(r){let t=r["server-data-dir"]||r["user-data-dir"]||process.env.VSCODE_AGENT_FOLDER||G(U7.homedir(),rt.serverDataFolderName||".vscode-remote"),e=r["user-data-dir"]||G(t,"data"),n=G(e,"User"),o=G(n,"globalStorage"),i=G(n,"History"),s=G(e,"Machine");r["user-data-dir"]=e;let a=At(Tt.asFileUri("").fsPath),l=r["builtin-extensions-dir"]||G(a,"extensions");return r["builtin-extensions-dir"]=l,r["extensions-dir"]=r["extensions-dir"]||G(t,"extensions"),[t,r["extensions-dir"],e,n,s,o,i].forEach(c=>{try{IC.existsSync(c)||IC.mkdirSync(c,{mode:448,recursive:!0})}catch(u){console.error(u)}}),t}function jJ(r=N7()){return AU(r,F7(r),DT)}function QJ(r,t=N7()){return L7(r,t,F7(t))}var KJ,H7=y(()=>{Ne();LU();O7();Jm();Ue();cc();ks();Wr();Vt("code/server/codeLoaded");global.vscodeServerCodeLoadedTime=GJ.now();KJ={onMultipleValues:(r,t)=>{console.error(`Option '${r}' can only be defined once. Using value ${t}.`)},onEmptyValue:r=>{console.error(`Ignoring option '${r}': Value must not be empty.`)},onUnknownOption:r=>{console.error(`Ignoring option '${r}': not supported for server.`)},onDeprecatedOption:(r,t)=>{console.warn(`Option '${r}' is deprecated: ${t}`)}}});delete process.env.ELECTRON_RUN_AS_NODE;var $7=W1(TC(),1);import*as O1 from"node:path";import*as SC from"node:fs";import*as U1 from"node:http";import*as Jp from"node:os";import*as W7 from"node:readline";import{performance as B7}from"node:perf_hooks";import*as Ai from"node:path";import{Buffer as Z7}from"node:buffer";import{createRequire as e9}from"node:module";var RC=e9(import.meta.url),z1=process.platform==="win32";process.platform==="linux"&&(Z7.poolSize=8*1024);Error.stackTraceLimit=100;if(!process.env.VSCODE_HANDLES_SIGPIPE){let r=!1;process.on("SIGPIPE",()=>{r||(r=!0,console.error(new Error("Unexpected SIGPIPE")))})}function t9(){try{typeof process.env.VSCODE_CWD!="string"&&(process.env.VSCODE_CWD=process.cwd()),process.platform==="win32"&&process.chdir(Ai.dirname(process.execPath))}catch(r){console.error(r)}}t9();function n9(){if(!process.env.ELECTRON_RUN_AS_NODE&&!process.versions.electron||process.env.VSCODE_DEV)return;let r=o=>{if(z1&&o.length>=2&&o.charCodeAt(1)===58){let i=o.charCodeAt(0);if(i>=65&&i<=90||i>=97&&i<=122)return o[0].toLowerCase()+o.slice(1)}return o},t=r(Ai.join(import.meta.dirname,"../node_modules")),e=RC("node:module"),n=e._resolveLookupPaths;e._resolveLookupPaths=function(o,i){let s=n(o,i);if(Array.isArray(s)){for(let a=0,l=s.length;a<l;a++)if(r(s[a])===t){s.splice(a,0,`${s[a]}.asar`);break}}return s}}n9();function G1(r){if(!process.env.VSCODE_DEV)return;if(!r)throw new Error("Missing injectPath");RC("node:module").register("./bootstrap-import.js",{parentURL:import.meta.url,data:r})}function K1(){if(typeof process?.versions?.electron=="string")return;let r=RC("module"),t=r.globalPaths,e=r._resolveLookupPaths;r._resolveLookupPaths=function(o,i){let s=e(o,i);if(Array.isArray(s)){let a=0;for(;a<s.length&&s[s.length-1-a]===t[t.length-1-a];)a++;return s.slice(0,s.length-a)}return s};let n=r._nodeModulePaths;r._nodeModulePaths=function(o){let i=n(o);if(!z1)return i;let s=a=>a.length>=3&&a.endsWith(":\\");if(s(o)||(i=i.filter(a=>!s(Ai.dirname(a)))),process.env.HOMEDRIVE&&process.env.HOMEPATH){let a=Ai.dirname(Ai.join(process.env.HOMEDRIVE,process.env.HOMEPATH)),l=c=>Ai.relative(c,a).length===0;l(o)||(i=i.filter(c=>!l(Ai.dirname(c))))}return i}}import*as zh from"node:fs";import{register as a9}from"node:module";import{dirname as l9,join as c9}from"node:path";import{createRequire as o9}from"node:module";var kC=o9(import.meta.url),om={BUILD_INSERT_PRODUCT_CONFIGURATION:"BUILD_INSERT_PRODUCT_CONFIGURATION"};om.BUILD_INSERT_PRODUCT_CONFIGURATION&&(om=kC("../product.json"));var PC={"name":"code-server","version":"1.135.0","private":true,"overrides":{"node-gyp-build":"4.8.1","kerberos@2.1.1":{"node-addon-api":"7.1.0"},"yauzl":"^3.3.1"},"allowScripts":{"kerberos@2.1.1":true,"koffi@3.1.2":false,"node-pty@1.2.0-beta.15":true,"@parcel/watcher@2.5.6":true,"@vscode/deviceid@0.1.5":true,"@vscode/fs-copyfile@2.0.0":true,"@vscode/native-watchdog@1.4.6":true,"@vscode/spdlog@0.15.8":true,"@vscode/windows-registry@1.2.0":true,"ssh2":false,"@vscode/sqlite3@5.1.12-vscode":true,"cpu-features":false,"@vscode/windows-ca-certs@0.3.4":true,"@vscode/windows-process-tree@0.8.0":true},"type":"module"};PC.BUILD_INSERT_PACKAGE_CONFIGURATION&&(PC=kC("../package.json"));var j1={};if(process.env.VSCODE_DEV)try{j1=kC("../product.overrides.json"),om=Object.assign(om,j1)}catch{}var Ir=om,Q1=PC;Wr();globalThis._VSCODE_PRODUCT_JSON={...Ir};globalThis._VSCODE_PACKAGE_JSON={...Q1};globalThis._VSCODE_FILE_ROOT=import.meta.dirname;function d9(){if(!process.env.ELECTRON_RUN_AS_NODE&&!process.versions.electron)return;let r=`
	import { createRequire, isBuiltin } from 'node:module';
	import { pathToFileURL, fileURLToPath } from 'node:url';
	import { appendFileSync } from 'node:fs';

	let asarRequire;
	let resourcesPath;
	let trace;

	function setupTrace(sink) {
		if (!sink) { return; }
		const prefix = '[asar-resolve] ';
		if (sink === '1' || sink === 'true' || sink === 'on' || sink === 'stderr') {
			trace = msg => { try { process.stderr.write(prefix + msg + '\\n'); } catch { /* ignore */ } };
		} else {
			// Any other value is treated as a log file path to append to.
			trace = msg => { try { appendFileSync(sink, prefix + msg + '\\n'); } catch { /* ignore */ } };
		}
		trace('tracing enabled (node ' + process.versions.node + '); resourcesPath=' + resourcesPath);
	}

	// True only for *bare package specifiers* \u2014 the exact inputs Node routes to
	// its PACKAGE_RESOLVE (node_modules walk / self-reference / 'exports'/'main').
	//  - relative ('./', '../') and absolute ('/') paths -> new URL(specifier, base)
	//  - '#name' subpath imports                         -> PACKAGE_IMPORTS_RESOLVE
	//  - URL-scheme specifiers ('file:', 'data:', 'node:', 'electron:', ...) -> used verbatim
	function isBarePackageSpecifier(specifier) {
		if (specifier === '') { return false; }
		const c = specifier[0];
		if (c === '.' || c === '/' || c === '#') { return false; }
		return !URL.canParse(specifier);
	}

	// Electron injects a synthetic 'electron' module (also reachable via the
	// 'electron/main', 'electron/common' and 'electron/renderer' aliases) that
	// the loader resolves to the 'electron:' URL scheme rather than a real file.
	// 'node:module#isBuiltin' does not recognize it, so we detect it explicitly
	// and treat it like a Node built-in: it lives in the runtime, never in
	// 'node_modules', and must never be redirected into the archive.
	function isElectronBuiltin(specifier) {
		return specifier === 'electron' || specifier.startsWith('electron/');
	}

	function normalizeDriveLetter(path) {
		if (process.platform === 'win32'
			&& path.length >= 2
			&& (path.charCodeAt(0) >= 65 && path.charCodeAt(0) <= 90 || path.charCodeAt(0) >= 97 && path.charCodeAt(0) <= 122)
			&& path.charCodeAt(1) === 58) {
			return path[0].toLowerCase() + path.slice(1);
		}
		return path;
	}

	// Extract the package name from a bare specifier, e.g.
	// 'foo/lib/x.js' -> 'foo', '@scope/bar/baz' -> '@scope/bar'.
	function packageNameOf(specifier) {
		if (specifier[0] === '@') {
			const firstSlash = specifier.indexOf('/');
			if (firstSlash === -1) { return specifier; }
			const secondSlash = specifier.indexOf('/', firstSlash + 1);
			return secondSlash === -1 ? specifier : specifier.slice(0, secondSlash);
		}
		const slash = specifier.indexOf('/');
		return slash === -1 ? specifier : specifier.slice(0, slash);
	}

	export async function initialize({ resourcesPath: resPath, asarPath, traceSink }) {
		if (asarPath) {
			resourcesPath = normalizeDriveLetter(resPath);
			// A require rooted at the archive: 'require.resolve("./<module>")'
			// resolves into '<asarPath>/<module>' (top-level layout). The leading
			// './' is required so resolution is relative to the archive root rather
			// than a bare-specifier node_modules walk (the archive directory is
			// named node_modules.asar, so a bare walk would never find it).
			asarRequire = createRequire(asarPath + '/x.js');
		}
		setupTrace(traceSink);
	}

	export async function resolve(specifier, context, nextResolve) {
		if (specifier === 'fs') {
			if (trace) { trace('map "fs" -> node:original-fs (from ' + context.parentURL + ')'); }
			return {
				format: 'builtin',
				shortCircuit: true,
				url: 'node:original-fs'
			};
		}

		if (asarRequire && context.parentURL && isBarePackageSpecifier(specifier) && !isBuiltin(specifier) && !isElectronBuiltin(specifier)) {
			let parentPath;
			try { parentPath = normalizeDriveLetter(fileURLToPath(context.parentURL)); } catch { parentPath = undefined; }
			if (parentPath && parentPath.startsWith(resourcesPath)) {
				if (trace) { trace('resolve "' + specifier + '" from "' + context.parentURL + '"'); }
				// Try the default resolution first so an importer that ships its own
				// dependencies (e.g. a built-in extension that bundles a different copy
				// of a package) resolves against its own, closer 'node_modules' instead
				// of being redirected into the app archive. The archive stands in for
				// the application's own (farthest) 'node_modules', so it must only be
				// consulted once the default walk has found nothing.
				let defaultResult;
				let defaultError;
				try {
					defaultResult = await nextResolve(specifier, context);
				} catch (err) {
					defaultError = err;
				}

				// Only accept a default resolution that lands INSIDE the application
				// tree (a closer copy under 'resources/app', e.g. one bundled by a
				// built-in extension). A resolution ABOVE the app root must not win
				// over the archive: when the app is nested inside a larger tree (e.g.
				// '@vscode/test-electron' downloads the packaged app under the repo's
				// own 'node_modules'), the default node_modules walk can escape the app
				// and find a stale / ABI-mismatched copy. The archive stands in for the
				// application's own 'node_modules' and must take precedence over
				// anything outside 'resources/app'.
				if (defaultResult) {
					let resolvedPath;
					try { resolvedPath = normalizeDriveLetter(fileURLToPath(defaultResult.url)); } catch { resolvedPath = undefined; }
					if (!resolvedPath || resolvedPath.startsWith(resourcesPath)) {
						if (trace) { trace('  default -> ' + defaultResult.url + ' (in app, ACCEPT)'); }
						return defaultResult;
					}
					if (trace) { trace('  default -> ' + defaultResult.url + ' (outside app, reject)'); }
				} else if (trace) {
					trace('  default -> <none> (' + (defaultError && (defaultError.code || defaultError.message)) + ')');
				}

				// Locate the package inside the archive via its package.json (this is
				// resolution-condition independent), so we can re-root resolution
				// inside it below.
				let packageJsonPath;
				try {
					packageJsonPath = asarRequire.resolve('./' + packageNameOf(specifier) + '/package.json');
				} catch {
					// The package is part of neither 'resources/app' (the default
					// resolution above did not land inside the app) nor the archive.
					// Do NOT fall back to a copy from an outer 'node_modules' (e.g. a
					// parent checkout the app is nested under): the application must
					// resolve its own dependencies exclusively from its own resources.
					// Surface the original resolution error so a missing/misplaced
					// dependency fails loudly instead of silently loading a foreign copy.
					if (trace) { trace('  archive: package "' + packageNameOf(specifier) + '" NOT in archive -> throw'); }
					throw defaultError ?? new Error("Cannot find package '" + specifier + "' within the application resources");
				}
				if (trace) { trace('  archive pkg.json -> ' + packageJsonPath); }
				// Re-run the default ESM resolution rooted *inside* the archived
				// package (via its package.json) so Node resolves the request as a
				// package self-reference, applying the real 'exports'/'main' fields and
				// ESM conditions ('import' over 'require').
				try {
					const selfRef = await nextResolve(specifier, { ...context, parentURL: pathToFileURL(packageJsonPath).href });
					// A package without an 'exports' field does not self-reference: Node
					// falls back to a 'node_modules' walk from the package dir that can
					// climb *out* of the archive into an outer 'node_modules' (e.g. the
					// checkout the app is nested under). Only accept a result that stays
					// inside the app resources; otherwise fall back to the direct,
					// escape-proof archive resolution below.
					let selfRefPath;
					try { selfRefPath = normalizeDriveLetter(fileURLToPath(selfRef.url)); } catch { selfRefPath = undefined; }
					if (selfRefPath && selfRefPath.startsWith(resourcesPath)) {
						if (trace) { trace('  self-ref -> ' + selfRef.url + ' (in app, ACCEPT)'); }
						return selfRef;
					}
					if (trace) { trace('  self-ref -> ' + selfRef.url + ' (escaped app, reject)'); }
				} catch (err) {
					// Fall through to direct resolution below.
					if (trace) { trace('  self-ref -> <throw> (' + (err && (err.code || err.message)) + ')'); }
				}
				const resolved = asarRequire.resolve('./' + specifier);
				const url = pathToFileURL(resolved).href;
				if (trace) { trace('  direct -> ' + url + ' (ACCEPT)'); }
				return { url, shortCircuit: true };
			} else if (trace) {
				trace('defer "' + specifier + '" (parent outside app resources: ' + context.parentURL + ')');
			}
		}

		// Defer to the next hook in the chain, which would be the
		// Node.js default resolve if this is the last user-specified loader.
		return nextResolve(specifier, context);
	}`,t=process.env.VSCODE_ASAR_TRACE||void 0,e=l9(import.meta.dirname);a9(`data:text/javascript;base64,${Buffer.from(r).toString("base64")}`,import.meta.url,{data:process.env.VSCODE_DEV?{}:{resourcesPath:e,asarPath:c9(e,"node_modules.asar"),traceSink:t}})}d9();var MC;function u9(){return MC||(MC=p9()),MC}async function p9(){Vt("code/willLoadNls");let r,t;if(process.env.VSCODE_NLS_CONFIG)try{r=JSON.parse(process.env.VSCODE_NLS_CONFIG),r?.languagePack?.messagesFile?t=r.languagePack.messagesFile:r?.defaultMessagesFile&&(t=r.defaultMessagesFile),globalThis._VSCODE_NLS_LANGUAGE=r?.resolvedLanguage}catch(e){console.error(`Error reading VSCODE_NLS_CONFIG from environment: ${e}`)}if(!(process.env.VSCODE_DEV||!t)){try{globalThis._VSCODE_NLS_MESSAGES=JSON.parse((await zh.promises.readFile(t)).toString())}catch(e){if(console.error(`Error reading NLS messages file ${t}: ${e}`),r?.languagePack?.corruptMarkerFile)try{await zh.promises.writeFile(r.languagePack.corruptMarkerFile,"corrupted")}catch(n){console.error(`Error writing corrupted NLS marker file: ${n}`)}if(r?.defaultMessagesFile&&r.defaultMessagesFile!==t)try{globalThis._VSCODE_NLS_MESSAGES=JSON.parse((await zh.promises.readFile(r.defaultMessagesFile)).toString())}catch(n){console.error(`Error reading default NLS messages file ${r.defaultMessagesFile}: ${n}`)}}return Vt("code/didLoadNls"),r}}async function Y1(){await u9()}CE();Wr();Vt("code/server/start");globalThis.vscodeServerStartTime=B7.now();async function JJ(){let r=(0,$7.default)(process.argv.slice(2),{boolean:["start-server","list-extensions","print-ip-address","help","version","accept-server-license-terms","update-extensions"],string:["install-extension","install-builtin-extension","uninstall-extension","locate-extension","socket-path","host","port","compatibility","agent-host-port","agent-host-path"],alias:{help:"h",version:"v"}});["host","port","accept-server-license-terms"].forEach(i=>{if(!r[i]){let s=process.env[`VSCODE_SERVER_${i.toUpperCase().replace("-","_")}`];s&&(r[i]=s)}});let t=["list-extensions","locate-extension"],e=["install-extension","install-builtin-extension","uninstall-extension","update-extensions"],n=r.help||r.version||t.some(i=>!!r[i])||e.some(i=>!!r[i])&&!r["start-server"],o=await Pm({userLocale:"en",osLocale:"en",commit:Ir.commit,userDataPath:"",nlsMetadataPath:import.meta.dirname});if(n)L1(o).then(i=>{i.spawnCli()});else{YJ(r);let i=null,s=null,a=()=>(s||(s=L1(o).then(async h=>{let v=await h.createServer(u);return i=v,v})),s);if(Array.isArray(Ir.serverLicense)&&Ir.serverLicense.length&&(console.log(Ir.serverLicense.join(`
`)),Ir.serverLicensePrompt&&r["accept-server-license-terms"]!==!0)){tY()&&(console.log("To accept the license terms, start the server with --accept-server-license-terms"),process.exit(1));try{await q7(Ir.serverLicensePrompt)||process.exit(1)}catch(h){console.log(h),process.exit(1)}}let l=!0,c=!0,u=null,p=U1.createServer(async(h,v)=>(l&&(l=!1,Vt("code/server/firstRequest")),(await a()).handleRequest(h,v)));p.on("upgrade",async(h,v)=>(c&&(c=!1,Vt("code/server/firstWebSocket")),(await a()).handleUpgrade(h,v))),p.on("error",async h=>(await a()).handleServerError(h));let m=bC(r.host)||(r.compatibility!=="1.63"?"localhost":void 0),g=r["socket-path"]?{path:bC(r["socket-path"])}:{host:m,port:await XJ(m,bC(r.port))};p.listen(g,async()=>{let h=Array.isArray(Ir.serverGreeting)&&Ir.serverGreeting.length?`

${Ir.serverGreeting.join(`
`)}

`:"";if(typeof g.port=="number"&&r["print-ip-address"]){let v=Jp.networkInterfaces();Object.keys(v).forEach(function(S){v[S]?.forEach(function(T){!T.internal&&T.family==="IPv4"&&(h+=`IP Address: ${T.address}
`)})})}if(u=p.address(),u===null)throw new Error("Unexpected server address");h+=`Server bound to ${typeof u=="string"?u:`${u.address}:${u.port} (${u.family})`}
`,h+=`Extension host agent listening on ${typeof u=="string"?u:u.port}
`,console.log(h),Vt("code/server/started"),globalThis.vscodeServerListenTime=B7.now(),await a()}),process.on("exit",()=>{p.close(),i&&i.dispose()})}}function bC(r){return Array.isArray(r)&&(r=r.pop()),typeof r=="string"?r:void 0}function YJ(r){if(!process.env.VSCODE_SERVER_EXIT_DIAGNOSTICS)return;let t=Date.now(),e=bC(r.logsPath)||Jp.tmpdir(),n=O1.join(e,"server-exit-diagnostics.log");try{SC.mkdirSync(e,{recursive:!0})}catch{}let o=!0;try{process.stderr.on("error",()=>{o=!1})}catch{o=!1}let i=c=>{let u=`[server-exit-diagnostics][${new Date().toISOString()}][pid:${process.pid}][+${Date.now()-t}ms] ${c}`;try{SC.appendFileSync(n,`${u}
`)}catch{}if(o)try{process.stderr.write(`${u}
`)}catch{o=!1}},s=()=>{try{let u=process.getActiveResourcesInfo?.()??[],p=process.memoryUsage();return`uptime=${process.uptime().toFixed(3)}s rss=${Math.round(p.rss/1024/1024)}MB activeResources=[${u.join(", ")}]`}catch(c){return`(failed to collect process state: ${c})`}};i(`installed. ppid=${process.ppid} platform=${process.platform} node=${process.version} argv=${JSON.stringify(process.argv.slice(2))}`),process.on("beforeExit",c=>i(`'beforeExit' (code: ${c}) \u2014 event loop drained, process will exit on its own. ${s()}`)),process.on("exit",c=>i(`'exit' (code: ${c}). ${s()}`));let a=!1;process.on("uncaughtExceptionMonitor",(c,u)=>{if(!a){a=!0;try{i(`'uncaughtExceptionMonitor' (origin: ${u}): ${c?.stack||c}`)}finally{a=!1}}});let l=["SIGTERM","SIGINT","SIGHUP","SIGBREAK","SIGQUIT"];for(let c of l)try{process.on(c,()=>{i(`received signal '${c}' \u2014 terminating. ${s()}`);let u=Jp.constants.signals[c];process.exit(typeof u=="number"?128+u:1)})}catch{}}async function XJ(r,t){if(t){let e;if(t.match(/^\d+$/))return parseInt(t,10);if(e=ZJ(t)){let n=await eY(r,e.start,e.end);if(n!==void 0)return n;console.warn(`--port: Could not find free port in range: ${e.start} - ${e.end} (inclusive).`),process.exit(1)}else console.warn(`--port "${t}" is not a valid number or range. Ranges must be in the form 'from-to' with 'from' an integer larger than 0 and not larger than 'end'.`),process.exit(1)}return 8e3}function ZJ(r){let t=r.match(/^(\d+)-(\d+)$/);if(t){let e=parseInt(t[1],10),n=parseInt(t[2],10);if(e>0&&e<=n&&n<=65535)return{start:e,end:n}}}async function eY(r,t,e){let n=o=>new Promise(i=>{let s=U1.createServer();s.listen(o,r,()=>{s.close(),i(!0)}).on("error",()=>{i(!1)})});for(let o=t;o<=e;o++)if(await n(o))return o}async function L1(r){return process.env.VSCODE_NLS_CONFIG=JSON.stringify(r),process.env.VSCODE_HANDLES_SIGPIPE="true",process.env.VSCODE_DEV?(process.env.VSCODE_DEV_INJECT_NODE_MODULE_LOOKUP_PATH=process.env.VSCODE_DEV_INJECT_NODE_MODULE_LOOKUP_PATH||O1.join(import.meta.dirname,"..","remote","node_modules"),G1(process.env.VSCODE_DEV_INJECT_NODE_MODULE_LOOKUP_PATH)):delete process.env.VSCODE_DEV_INJECT_NODE_MODULE_LOOKUP_PATH,K1(),await Y1(),Promise.resolve().then(()=>(H7(),V7))}function tY(){try{return!process.stdin.isTTY}catch{}return!1}function q7(r){let t=W7.createInterface({input:process.stdin,output:process.stdout});return new Promise((e,n)=>{t.question(r+" ",async function(o){t.close();let i=o.toString().trim().toLowerCase();i===""||i==="y"||i==="yes"?e(!0):i==="n"||i==="no"?e(!1):(process.stdout.write(`
Invalid Response. Answer either yes (y, yes) or no (n, no)
`),e(await q7(r)))})})}async function Rmt(){let r=await Pm({userLocale:"en",osLocale:"en",commit:Ir.commit,userDataPath:"",nlsMetadataPath:import.meta.dirname});return L1(r)}process.env.CODE_SERVER_PARENT_PID||JJ();export{Rmt as loadCodeWithNls};